一种民航领域可扩展图形化规则管理方法
2016-07-22赵耀帅吴建波
赵耀帅+吴建波
摘要:航空公司商务规则在IT系统中的逻辑有其通用性,比如航班、渠道、运价等。传统的规则逻辑设计往往是填空式的,主要存在录入方式复杂,交互性差,效率低下,规则配置方式不够灵活,规则管理不直观,修改维护不便等问题。为解决上述问题设计了基于MVC设计模式的可扩展图形化规则管理方法,实现图形化、拖拽式方式进行规则编辑、并且提供可配置规则管理方案扩展接口,不仅能够加快技术人员扩展其他类型编辑器的开发速度,更重要的是能够让业务人员或者商务人员在纷繁复杂的业务逻辑里找出规律,快速有序的实现从前没有考虑或者不能实现的商务规则,大大提高效率的同时,大幅度提高了相关系统的收益。
关键词:民航规则管理;可扩展;图形化
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)16-0137-03
Abstract: Airline business rule logic in the IT system has its generality, such as flight, channels, freight, etc. The rules of traditional logic design is often fill in the blanks, main existing entry complex, interactivity, inefficient and inflexible rule configuration mode, rule management is not intuitive, modify maintenance inconvenience, etc. In order to solve the above problems based on MVC design pattern can be extended graphical rule management methods, implementation in the form of graphical and drag-and-drop editing, and provides a configurable rules management scheme extension interface, not only can speed up the development of technical personnel to extend other type editor speed, more important is to be able to let business people or business people find out the rules in the complicated business logic, fast and orderly implementation does not take into account before or cannot implement business rules, and greatly improve efficiency at the same time, increase the income related systems..
Key words: The civil aviation rules management; Extensible; Graphical
1 概述
随着全球航空业的迅速扩张,航空公司产品服务的广度和深度都在逐渐扩大,相关的航空商务规则复杂度也越来越高。为了实现收益提升,航空公司在航班控制、渠道监控、运价设置等方面迫切需要对相关商务规则进行精细化配置管理。例如订座方面,需要进一步细分订座记录,对不同区域订座采取不同的处理措施。通常从各级销售渠道区域、航线航班区域等方面将订座记录分类,包括从GDS、国家、城市、起飞到达城市等划分。处理措施也是多种多样,如设置出票时限为订座记录生成某天后或者航班起飞前某天,时限可以具体到某天某时;设置系统自动清票时限;给不完整订座记录的发送提示短信息等。可见,各类航空商务规则和措施制定非常复杂,同时要求非常灵活的可配置性。然而,现有的规则设置基本是基于excel,网页录入等方式,效率很低;同时业务规则扩展和修改流程比较繁琐,难以迅速响应市场变化。
为了满足航空公司日益复杂的商务业务规则需求,本文提出了一种基于MVC模式的可扩展图形化规则管理方法[1-2]。设计一种应用于民航商务领域的,可扩展图形化规则控制管理系统。提供可视化的图形规则编辑界面,能够直观展示航空商务业务全貌和规则条目关联关系,有效提高了用户工作效率和操作体验;系统后端具有规则有效性校验功能,及早发现规则之间可能存在的逻辑错误[3-4]。同时,提供可扩展规则接口,技术人员能方便地开发新业务规则元素,实现规则变更和升级。
2 原有民航商务规则设置流程
2.1 原有规则设置流程
目前,航空公司收益管理员主要是在表格界面进行操作,通过在收益系统指定文件的固定列填写参数的方式,对订座记录进行分类控制。其操作流程如图1。
2.2 原有规则管理存在的问题
现有的操作方式存在着三个急待解决的问题:
1) 规则录入方式复杂,交互性差,效率低下。
目前向收益系统中输入订座记录来源和控制信息,采用是表格录入的方式。用户在指定模板文件的规定列填入数据,每一行相当于一条规则。包括记录来源国家、城市、航班起飞到达城市、班期、舱位、起飞日期范围、押金生成方式等信息,这些信息都是多人手工输入完成,涉及信息庞杂,非常容易出现规则重复、矛盾等逻辑冲突。
2) 规则扩展升级不灵活。
首先由于规则表文件中列的含义数目已经固定,在需要增加新的配置项时,需要修改规则模板和相应的系统程序,缺乏灵活性;其次,规则表中一整行表示一个子规则,包括订座记录限制信息和处理措施信息。如果要对相同订座配置不同的处理措施,用户需要配置多条订座信息重复的规则,重复劳动多,且冗余数据也带来维护的困难。
3) 规则存储碎片化,管理不直观,修改维护不便。
由于规则采用表格文件形式存储,规则是碎片化形态保存,不能展现各个规则条目隐含的关联关系,也不能将展示规则全貌,修改维护也十分不便。比如用户需要查看某个起飞机场使用的全部规则,只能使用文本搜索、修改替换的方式,效率很低而且容易出错。同样,修改规则时也存在同样的问题。
3问题解决的原则和思路
为解决航空公司的商务业务规则管理中存在的问题,本方法的设计建设遵循如下原则和思路:
1)通过一个统一的图形化界面平台,使用户能够方便编辑各种复杂业务规则。
2)自动进行规则检验,检查规则子条目之间关联关系,确保基础规则之间不出现冲突等逻辑错误情况。
3)实现业务规则的实时生效。
4)提供更便捷的业务规则管理、搜索方式。
5)能够更准确、完整地保存整套业务规则,展示规则全貌。
4 可扩展图形化民航商务规则管理方法
4.1 主要功能
根据上述实现思路,本方法主要设计了五个功能模块,包括图形编辑器、规则模板、规则校验、规则编译、规则扩展等。其系统结构如图2所示。
图形编辑器:用户录入规则界面,使用可拖拽式编辑的友好交互方式。界面提供航空商务规则相关的特定图元展示和编辑。
规则模板:存储一些常用的规则模式数据,方便用户快速建立规则。
规则校验:根据每一种可能的顺序路径,校验规则是否合法。如规则信息设置是否完整,是否出现重复、矛盾等。如果校验失败,将在给出错误提示。
规则编译: 将用户在界面录入的规则图,转换成能描述规则图所有数据信息和关系的数据文件。
规则扩展:采用了基于Eclipse RCP的插件扩展机制,开发人员可以根据不同的应用(子系统)扩展出相应的规则图元及模版。
4.2 操作流程
本方法主要分为前端和后端两个模块。规则编译器图形前端可嵌入普通网页中,运行于用户浏览器;后端逻辑控制部分部署在应用服务器Web应用容器中;规则数据存储于数据库服务器。前后端具体交互流程如下图所示
进行一次完整的规则配置,主要操作流程如下图所示:
步骤1:航空公司用户通过浏览器访问图形规则编辑器前端,输入规则名称,创建规则。创建规则进入规则编辑器时,默认只有“开始”和“结束”结点,可以选择模版实现进入编辑器时有模板设定的图元结点。
步骤2:进入规则编辑器后,用户通过拖拽图元的方式添加或删除规则节点,每个节点点击后可进入数据编辑页面,每个节点数据可以都设置多条。
步骤3:待规则编辑完成后,用户点击验证进行规则校验。后台规则图验证模块接收到请求后,按照一定原则执行规则校验,并将校验结果信息返回到前台。
步骤4:用户编辑完成后可以保存或修改规则。后台规则管理模块接收到请求后会访问后台数据库存储或修改规则。
步骤5:在规则管理页面,用户可选择需要的规则进行生效。后台接收到生效命令后会从数据库取出相关规则条目进行校验,校验成功后,规则图编译模块将规则信息编译为决策表[5-6]。
5 关键模块
5.1图形编辑器
采用图形化界面编辑,体验优秀,交互性强,灵活性和效率大幅提升。可以直接拖拽的基础图元到编辑区域。对于规则中基本图元的顺序关系,使用箭头联线方式表示。使用拷贝复制按钮或快捷键可以复制单个图元或者整个规则的信息;使用回退、前进按钮或快捷键能够回退到历史操作、进入到前一个操作。对规则中图元位置可以使用左右对齐等方式调整,界面尺寸也能够放大或者缩小。
5.2规则校验
用户提交校验请求后,首先将规则转换成json格式的字符串形式并传往后台。后台将收到数据进行字符串解析操作得到图形数据对象,从图形根部开始遍历每条路径,按照权利要求书中所述规则进行校验。如果校验失败,将记录失败原因和相关节点信息。最后将校验结果返回前台页面。规则校验原则:
1) 只能有一个开始和结束图元;
2) 至少有一个扩展图元;
3) 开始图元必须是第一个,结束图元必须为最后一个;
4) 连线校验,index大的图元不能指向index小于等于自己的图元,即按照左侧图元列表的先后顺序,排在后面的图元不能指向排在前面的图元,也不能指向和自己相同的图元;
5) 连线后不能有循环回路;
6) 不能有孤立结点;
7) 结点不能指向自身;
8) 名称为空的图元给出警告;
9) 扩展图元不允许为起始结点或终止结点。
5.3规则编译
首先将接收到的数据进行字符串解析,得到数据对象。接着根据应用配置信息生成决策表表头、根据图元列定义信息生成决策表列定义。最后也是最复杂的一步是数据生成,数据生成的前提是路径计算和规则条目计算。路径计算是寻找从开始图元到结束图元的所有通路。同时,每个图元上会有一条或多条数据规则条目,某条路径上的规则条目总数等于各图元上的规则条目数相乘。规则条目计算就是要计算出规则图中所有可能的完整条目。每一个规则条目中包含若干个列的数据,通过图元配置信息和列定义能够定位到决策表中的单元格,将列的值写入决策表中。遍历完成每个条目的数据写入后,也就完成了规则图编译、决策表的生成。
5.4规则扩展
本发明图形化规则应用系统后端采用了基于Eclipse RCP的插件扩展机制,开发人员可以根据不同的应用(子系统)扩展出相应的规则图元及模版。
具体扩展方法如下:
首先,定义决策表。基于规则编辑器开发规则的目标是生成子系统特定规格的Excel决策表文件,所以第一步首先是确定Excel决策表的表头、和列定义(Condition和Action定义)。其中表头对应子系统扩展配置,列定义对应图元配置。
然后,进行配置扩展。包括相关子系统配置文件,图元、模板目录的扩展。
最后,进行属性界面开发。需要开发扩展图元的显示网页。图元属性界面主要用于展示和存储规则条目数据,接收用户输入。属性界面主要用html语言编写,或者类似jsp、asp的动态网页亦可。本发明提供几个框架功能供属性界面开发者使用,包括界面数据初始化、图元数据获取、图元数据修改和存储等。
6 结束语
总体上,本系统具有如下优势:
1) 类似桌面应用程序交互性强、速度快。
2) 商务规则管理更直观灵活,可实现精细化规则配置。
3) 可在线修改生效规则,实现业务规则的实时更新。
4) 可扩展性强,技术人员能够迅速开发新的应用规则编辑器。业务人员能够根据市场变化,快速制定新的业务规则。
目前,本方法已经成功应用到中国航信的新一代系统建设中。新一代收益漏洞管理的图形化订座规则管理前端已顺利投产多家航空公司,并逐步配合国航用户将大约95%的订座收益相关规则从主机转移到了开放系统,实现了订座规则的开放管理、精细控制和实时更新,获得了用户的一致认可和赞许。
可扩展图形化民航商务规则管理方法改善了航空公司传统的规则配置流程和规则管理现状,对于降低航空公司的规则管控成本、优化规则、提升收益都具有非常重大的意义。
参考文献:
[1] 师艳辉. 基于JAVA的业务规则管理系统设计和开发[D].杭州:浙江大学,2006.
[2] 师艳辉,庄越挺,施坚强. 基于JAVA的业务规则管理系统设计和开发[J].计算机应用与软件,2006(1):15-16,19.
[3] 陈飞. 业务规则管理系统的研究与实现[D].西安:西北大学,2010.
[4] 张鼎辉. 管理信息系统交互设计方法研究[D].上海:同济大学,2008.
[5] 王国胤. 决策表核属性的计算方法[J].计算机学报,2003(5):611-615.
[6] 翟翠红. 决策表中基于对象的属性约简方法研究[D].成都:西南交通大学,2014.