本发明涉及计算机技术领域,特别涉及一种应用程序的策略管理方法及系统。
背景技术:
在信息系统实现中,经常遇到应用复杂策略逻辑的场景,如在SOA(面向服务的体系结构)架构系统中,多个策略作用到一个数据报文。且由于信息系统的复杂性,策略分类的多样性,应用策略的数量就非常多。现有技术中,这些策略根据不同的需求点加入,随着时间推移,会让系统逐渐变得越加复杂。
信息系统常常由多个工程师进行管理,由于不同工程师对已存在的策略功能没有足够的了解,会重复写入已存在的策略,从而会造成信息系统策略重复冗余,导致代码质量下降。另外,当信息系统出现异常时,在信息处理的策略链里,由于多策略的应用,很难定位问题产生的原因,造成后期维护的难度加大。
技术实现要素:
本发明要解决的技术问题是为了克服现有技术中没有对信息系统的策略进行管理,会使得系统中的策略重复冗余,且当信息系统出现异常时,难以定位问题产生的原因,造成后期维护困难的缺陷,提供一种应用程序的策略管理方法及系统。
本发明是通过下述技术方案来解决上述技术问题的:
一种应用程序的策略管理方法,其特点征在于,所述策略管理方法包括以下步骤:
S1、预先为每一策略分配策略标识和策略描述;
S2、建立策略管理表;
S3、在所述策略作用于报文之后,将所述策略的策略标识、策略描述和所述报文的变化状态信息记录于所述策略管理表中。
本方案中,预先为每个策略分配策略标识和策略描述,并通过记录、汇总作用于报文的策略标识、策略描述和报文的变化状态信息,使信息系统的应用策略的职责清晰,从而避免了策略重复冗余,提升了代码质量。通过查核策略管理表中应用策略后的报文的变化,即可定位问题产生的原因。
较佳地,步骤S3之后还包括:
S4、将所述策略管理表存储于数据库中。
本方案中,可实时从数据库中调用策略管理表,保证了数据的可追溯性,方便后期维护。
较佳地,所述策略标识包括策略名称和策略功能。
较佳地,所述策略功能包括:填充、过滤或合并。
较佳地,所述策略标识还包括策略分类。
较佳地,所述策略分类包括营销类策略、价格类策略或政策类策略。
本发明还提供一种应用程序的策略管理系统,其特点在于,所述策略管理系统包括分配模块、策略管理模块和监控模块;
所述分配模块用于预先为每一策略分配策略标识和策略描述;
所述策略管理模块用于建立策略管理表;
所述监控模块用于在所述策略作用于报文之后,将所述策略的策略标识、策略描述和所述报文的变化状态信息记录于所述策略管理表中。
较佳地,所述策略管理系统还包括数据库,所述策略管理模块还用于将所述策略管理表存储于所述数据库中。
较佳地,所述策略标识包括策略名称和策略功能。
较佳地,所述策略功能包括:填充、过滤或合并。
较佳地,所述策略标识还包括策略分类。
较佳地,所述策略分类包括营销类策略、价格类策略或政策类策略。
本发明的积极进步效果在于:本发明预先为每个策略分配策略标识和策略描述,并通过记录、汇总作用于报文的策略标识、策略描述和报文的变化状态信息,使信息系统的应用策略的职责清晰,从而避免了策略重复冗余,提升了代码质量。且通过记录对比应用策略后的报文的变化,保证了数据的可追溯性,方便后期维护。
附图说明
图1为本发明实施例1的应用程序的策略管理方法的第一流程图。
图2为本发明实施例1的应用程序的策略管理方法的第二流程图。
图3为本发明实施例2的应用程序的策略管理系统的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例的应用程序的策略管理方法包括以下步骤:
步骤101、预先为每一策略分配策略标识和策略描述;
步骤102、建立策略管理表;
步骤103、在所述策略作用于报文之后,将所述策略的策略标识、策略描述和所述报文的变化状态信息记录于所述策略管理表中;
步骤104、将所述策略管理表存储于数据库中。
本实施例中,策略标识包括策略名称、策略功能和策略分类。而策略功能包括:填充、过滤或合并。策略分类包括营销类策略、价格类策略或政策类策略。当然,策略功能和策略分类还可以是其他的功能和分类,其根据应用程序的实际需求而定。
下面结合机票查询引擎为例说明本实施的应用程序的策略管理方法:若航空公司为30个,查询引擎自身的策略数约为200个,根据报文的条件,应用到各航空公司的报文的策略约为50个。首先,对查询引擎的200个策略分配策略标识和策略描述。当多个策略作用于一个报文时,也即应用程序的策略链、管道模型是由多个策略作用于同一个报文,如图2所示,应用程序根据启动的配置参数进入跟踪模式,在应用程序的运行中,策略按时间的先后顺序依次作用于报文,每个策略作用于报文一次则记录策略的策略标识、策略描述和报文的变化状态信息,也即应用程序通过全局变量记录每个策略的策略标志、策略描述和报文的变化状态信息。参见图2,策略1作用在起始报文上后生成报文2,此时记录策略1的策略标识、描述及起始报文的变化状态信息,策略2作用在报文2上后生成报文3,此时记录策略2的策略标识、描述及报文2的变化状态信息,依次类推,直至策略链结束,生成最终报文,最后按策略的时间执行先后顺序汇总输出的策略标志、策略描述及策略执行的变化情况,从而给对策略应用的跟踪、对异常问题的定位及后期的维护带来了便利。
下面以FltFillPriceDirectAirLineStrategy策略作用于一个报文为一具体实例说明本实施例的策略管理方法,该策略的策略名称为‘Fill_Price_DirectAirLineStrategy’,策略功能为‘Fill’(填充),策略分类为‘Price’(价格类策略),策略描述为“配置填充A航空公司的特定航班数据”。该策略作用于报文后,报文的变化状态信息为“A航空公司航班组合MU123-MU2345,原价格数据为空,执行价格填充策略后,计算销售价格为1000RMB,低价为900RMB”,此信息的1000RMB及900RMB是策略根据报文上下文内容计算得到的动态值。则将‘Fill_Price_DirectAirLineStrategy’、“配置填充A航空公司的特定航班数据”和“A航空公司航班组合MU123-MU2345,原价格数据为空,执行价格填充策略后,计算销售价格为1000RMB,低价为900RMB”记录于策略管理表。其源程序参考如下:
本实施例的策略管理方法还将策略管理表存储于数据库中,工程师可随时通过数据库查核策略管理表,确保了其在对信息系统进行维护、修正时清晰地了解已存在的策略功能,避免重复写入已存在的策略造成的信息系统策略重复冗余。且当信息系统出现异常时,能够快速定位问题产生的原因,大大减小了后期维护的难度。
实施例2
如图3所示,本实施例的应用程序的策略管理系统包括分配模块1、策略管理模块2、监控模块3和数据库4;分配模块1用于预先为每一策略分配策略标识和策略描述;策略管理模块2用于建立策略管理表;监控模块3用于在策略作用于报文之后,将策略的策略标识、策略描述和报文的变化状态信息记录于策略管理表中。策略管理模块还用于将策略管理表存储于数据库4中。当然,本实施例的监控模块既可以跟踪一个策略作用于一个报文的情形,也可以记录多个策略应用于一个报文的情形。则监控模块通过记录报文经过策略后的数据的变化,尤其在多策略的情况下,给对策略应用的跟踪、对异常问题的定位及后期的维护带来了便利。
本实施中,策略标识包括策略名称、策略功能和策略分类。策略功能包括:填充、过滤或合并。策略分类包括营销类策略、价格类策略或政策类策略。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。