一种支持规则演化的计算流引擎方法

文档序号:6524510阅读:195来源:国知局
一种支持规则演化的计算流引擎方法
【专利摘要】一种涉及信息技术应用领域,尤指在计算流引擎的演化和自适应的实现,为分布式网络环境下计算引擎的并行处理和动态计算提供一种有效解决方案的一种支持规则演化的计算流引擎方法;该方法通过规则定义、规则代理执行、计算流定义、计算流代理执行和适配器的计算引擎内部架构,实现分布式网络环境下的计算引擎,该计算流和规则定义方法包括:设计并定义计算流和设计并定义规则,主要解决如何设计引擎的五个组成部分的架构问题;要解决计算流和规则定义方法问题,要解决计算引擎的工作流程及具体计算方法等有关技术问题;本发明的有益效果是:解决了信息技术在商业领域中的广泛应用,企业能够灵活的定义计算规则,还能够在不同的具体实施之间使用,提供了企业的商业市场拓展效率,本方法具有灵活应用,使用效率高等优点。
【专利说明】一种支持规则演化的计算流引擎方法
【技术领域】
[0001]本发明涉及一种信息技术应用领域,尤指在计算流引擎的演化和自适应的实现,为分布式网络环境下计算引擎的并行处理和动态计算提供一种有效的解决方案。
【背景技术】
[0002]随着信息技术在商业领域中的广泛应用,越来越多的企业把账单的计算与生成也通过账单管理系统完成。随着规模的不断扩大和业务的不管更新,单一简单的账单计算规则已经日渐相形见绌,企业需要能够灵活的定义计算规则。当计算规则需求发生变化时,现有的大部分账单计算引擎的计算规则都需要修改,而应用的维护和升级都需要在停止服务的状态下才能完成,给企业的运营尤其是跨国公司的企业运营带来了诸多不变。
[0003]此发明主要是我们在与一家企业合作时,由于制定的政策只有条纹性的框架约束,而具体的执行策略只要在框架约束范围内都是允许,这就导致了每一个具体执行的计算规则都不相同,为每一个具体对象单独开发独立的计算引擎显然是不可能的,而且在商业应用成本上也是不能被接受的,故我们发明了此计算引擎,解决了该企业能够在不同的具体实施之间使用,用户只需要做简单的配置调整,提供了他们的商业市场拓展效率。

【发明内容】

[0004]为了克服上述不足之处,本发明的主要目的旨在提供一种能为分布式网络环境下计算引擎的并行处理和动态计算提供一种有效的解决方案,能在系统运行过程中,根据系统需要规则演化计算流程的执行;具有流的动态管理和自演化能力;实现演化策略库和演化代理实现计算流引擎的演化和自适应的一种支持规则演化的计算流引擎方法。
[0005]本发明要解决的技术问题是:主要解决如何设计引擎的五个组成部分的架构问题;要解决计算流和规则定义方法问题;要解决计算引擎的工作流程及具体计算方法等有关技术问题。
[0006]本发明解决其技术问题所采用的技术方案是:本发明提供了一种支持规则演化的计算流引擎,该引擎主要由五个部分组成:计算流定义,计算执行代理,规则定义,规则代理、适配器。该引擎整合了工作流、规则引擎,多代理、本体等技术,其主要特征包括:支持流的动态定义、配置、执行和监控;能在系统运行过程中,根据系统需要规则演化计算流程的执行;具有流的动态管理和自演化能力;提供了演化策略库和演化代理实现计算流引擎的演化和自适应。本发明能为分布式网络环境下计算引擎的并行处理和动态计算提供一种有效的解决方案。
[0007]—种支持规则演化的计算流引擎方法,该方法通过规则定义、规则代理执行、计算流定义、计算流代理执行和适配器的计算引擎内部架构,实现分布式网络环境下的计算引擎,该计算流和规则定义方法包括:设计并定义计算流和设计并定义规则,该计算引擎的具体计算流程的工作步骤是:
[0008]步骤1.开始计算指令[0009]系统对计算引擎发出开始计算指令;
[0010]步骤2.适配器加载数据
[0011]I)执行完开始计算指令模块后,则进入适配器加载数据模块;
[0012]2)适配器通过访问数据库获取基本数据;
[0013]3)通过访问计算流定义文件获取计算流定义;
[0014]4)通过访问计算规则定义文件获取计算规则定义;
[0015]步骤3.构建计算流
[0016]I)执行完适配器加载数据模块后,则进入构建计算流模块;
[0017]2)计算引擎按照定义的计算流和初始化并构建完整的计算流;
[0018]步骤4.单步计算流执行
[0019]I)执行完构建计算流模块后,则进入单步计算流执行模块;
[0020]2)计算流执行代理按照初始化完成的计算流开始进行流执行,按照之前所在步骤和数据决定当前计算流步骤;
[0021]步骤5.构建单步流规则
[0022]I)执行完单步计算流执行模块后,则进入构建单步流规则模块;
[0023]2)计算引擎按照计算规则初始化并构建当前流所对应的规则;
[0024]步骤6.单步流规则执行
[0025]I)执行完构建单步流规则模块后,则进入单步流规则执行模块;
[0026]2)计算规则执行代理开始按照规则定义,对当前步骤的规则进行执行调用,并返回结果;
[0027]步骤7.判断是否有后置计算流
[0028]I)执行完单步流规则执行模块后,则进入判断是否有后置计算流步骤模块;
[0029]2)计算计算执行代理根据当前所在步骤和数据决定该计算流步骤是否有后置计算流步骤,如果存在后置计算流,则计算流步骤进入下一步,反馈到步骤4单步计算流执行的操作,如果没有后置计算流步骤,则计算引擎完成当前调用;
[0030]步骤8.结束计算指令
[0031]I)执行步骤7中没有后置计算流步骤,则进入结束计算指令(S8)模块;
[0032]2)当所有的计算流步骤都完成之后,计算引擎完成结束,返回计算结果。
[0033]进一步的,所`述的一种支持规则演化的计算流引擎方法的计算流和规则定义方法中的设计并定义计算流和设计并定义规则的具体工作步骤是:
[0034]步骤1.设计并定义计算流
[0035]I)按照具体的计算业务设计计算流,把该账单计算业务设计成一个完整的计算流,一共分为η个步骤,分别对应编号为计算流编号#flowl, #flow2, #flc^\^..#Flow η ;
[0036]2)完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中;
[0037]步骤2.设计并定义规则
[0038]I)执行完设计并定义计算流模块后,则进入设计并定义规则模块;
[0039]2)按照具体的计算业务拆分设计计算规则,把该账单计算规则设计成具体的每一个小规则逻辑,分别对应编号为规则编号#rulel,#rule2, #rule3…,#rule η,并且把定义的计算规则和具体计算流的一单步关联对应;
[0040]3)把完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中。
[0041]当完成定义之后,系统就可以开始按照定义来计算此类账单了。
[0042]本发明的有益效果是:本发明解决了信息技术在商业领域中的广泛应用,企业把账单的计算与生成通过账单管理系统完成,并且能够灵活的定义计算规则,还能够在不同的具体实施之间使用,用户只需要做简单的配置调整,提供了企业的商业市场拓展效率,本方法具有灵活应用,使用效率高等优点。
【专利附图】

【附图说明】
[0043]下面结合附图和实施例对本发明进一步说明。
[0044]附图1是本发明计算引擎架构示意图;
[0045]附图2是本发明计算流和规则定义流程示意图;
[0046]附图3是本发明计算引擎工作流程示意图;
[0047]附图中标号说明:
[0048]I一规则定义;
[0049]2—规则代理执行;
[0050]3—计算流定义;
[0051]4 一计算流代理执行;
[0052]5—适配器;
[0053]Al一设计并定义计算流;
[0054]A2—设计并定义规则;
[0055]SI—开始计算指令;
[0056]S2—适配器加载数据;
[0057]S3—构建计算流;
[0058]S4一单步计算流执行;
[0059]S5一构建单步流规则;
[0060]S6—单步流规则执行;
[0061]S7一是否有后置计算流;
[0062]S8—结束计算指令;
【具体实施方式】
[0063]请参阅附图1、2、3所示,我们开发设计了一种支持用户自定义计算规则演化的计算流引擎,该引擎主要由五个部分组成:计算流定义,计算执行代理,规则定义,规则代理、适配器。该引擎整合了工作流、规则引擎,多代理、本体等技术,其主要特征包括:支持流的动态定义、配置、执行和监控;能在系统运行过程中,根据系统需要规则演化计算流程的执行;具有流的动态管理和自演化能力;提供了演化策略库和演化代理实现计算流引擎的演化和自适应。本发明能为分布式网络环境下计算引擎的并行处理和动态计算提供一种有效的解决方案。[0064]一种支持规则演化的计算流引擎方法通过规则定义1、规则代理执行2、计算流定义3、计算流代理执行4和适配器5的计算引擎内部架构,实现分布式网络环境下的计算引擎,该计算流和规则定义方法包括:设计并定义计算流Al和设计并定义规则A2,该计算引擎的具体计算流程的工作步骤是:
[0065]步骤1.开始计算指令SI
[0066]系统对计算引擎发出开始计算指令;
[0067]步骤2.适配器加载数据S2
[0068]I)执行完开始计算指令SI模块后,则进入适配器加载数据S2模块;
[0069]2)适配器通过访问数据库获取基本数据;
[0070]3)通过访问计算流定义文件获取计算流定义;
[0071]4)通过访问计算规则定义文件获取计算规则定义;
[0072]步骤3.构建计算流S3
[0073]I)执行完适配器加载数据S2模块后,则进入构建计算流S3模块;
[0074]2)计算引擎按照定义的计算流和初始化并构建完整的计算流;
[0075]步骤4.单步计 算流执行S4
[0076]I)执行完构建计算流S3模块后,则进入单步计算流执行S4模块;
[0077]2)计算流执行代理按照初始化完成的计算流开始进行流执行,按照之前所在步骤和数据决定当前计算流步骤;
[0078]步骤5.构建单步流规则S5
[0079]I)执行完单步计算流执行S4模块后,则进入构建单步流规则S5模块;
[0080]2)计算引擎按照计算规则初始化并构建当前流所对应的规则;
[0081]步骤6.单步流规则执行S6
[0082]I)执行完构建单步流规则S5模块后,则进入单步流规则执行S6模块;
[0083]2)计算规则执行代理开始按照规则定义,对当前步骤的规则进行执行调用,并返回结果;
[0084]步骤7.判断是否有后置计算流S7
[0085]I)执行完单步流规则执行S6模块后,则进入判断是否有后置计算流S7模块;
[0086]2)计算计算执行代理根据当前所在步骤和数据决定该计算流步骤是否有后置计算流步骤,如果存在后置计算流,则计算流步骤进入下一步,反馈到步骤4单步计算流执行S4的操作,如果没有后置计算流,则计算引擎完成当前调用;
[0087]步骤8.结束计算指令S8
[0088]I)执行步骤7中没有后置计算流,则进入结束计算指令S8模块;
[0089]2)当所有的计算流步骤都完成之后,计算引擎完成结束,返回计算结果。
[0090]请参阅附图2所示,进一步的,所述的一种支持规则演化的计算流引擎方法的计算流和规则定义方法中的设计并定义计算流Al和设计并定义规则A2的具体工作步骤是:
[0091]步骤1.设计并定义计算流Al
[0092]I)按照具体的计算业务设计计算流,把该账单计算业务设计成一个完整的计算流,一共分为η个步骤,分别对应编号为计算流编号#flowl, #flow2, #flc^\^..#Flow η ;
[0093]2)完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中;
[0094]步骤2.设计并定义规则A2
[0095]I)执行完设计并定义计算流Al模块后,则进入设计并定义规则A2模块;
[0096]2)按照具体的计算业务拆分设计计算规则,把该账单计算规则设计成具体的每一个小规则逻辑,分别对应编号为规则编号#rulel,#rule2, #rule3…,#rule η,并且把定义的计算规则和具体计算流的一单步关联对应; [0097]3)把完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中。
[0098]本发明的技术特征和方法步骤的具体描述如下:
[0099]本发明包括:
[0100]1.规则定义
[0101]对具体计算流程中某一步骤规则进行的定义。
[0102]2.规则代理
[0103]通过动态代理模式,依照当前的分布式环境来调用具体的实现对象,完成规则定义中具体规则业务逻辑的实现。
[0104]3.计算流定义
[0105]对计算引擎的计算流程进行的定义。系统允许同时定义多个并行且各自独立的计算流。在定义单个流步骤的时候,指定该流所对应的规则和其他一些进入,跳出条件。
[0106]4.计算流代理执行
[0107]通过动态代理模式,依照当前的分布式环境来调用具体的实现对象,完成计算流定义中每一步的的实现。如果系统中同时定义多个并行且各自独立的计算流,则计算执行会根据当前进入设定,进入相应流计算中。
[0108]5.适配器
[0109]对具体执行数据的I/O实现,负责计算流定义,规则定义的存储和读取,计算基础数据的读取,以及最终计算结果的储存。
[0110]针对不同的分布式环境可以有不同的实现方式,用以支持在不同的软硬件环境的部署实施。
[0111]实例:用户需要计算某类账单
[0112]请参阅附图2所示,需要先仔细分析此类账单的业务。对此业务拆分,然后设计成计算引擎可以识别的计算流和规则定义,
[0113]步骤Al:设计并定义计算流
[0114]按照具体的计算业务设计计算流,把该账单计算业务设计成一个完整的计算流,一共分为η个步骤,分别对应编号为计算流编号#flowl,#flow2, #flow3…#Flow n。把完成的设计以某种格式定义在具体的介质中,一般是按照XML格式定义在某XML文件系统中。
[0115]步骤A2:设计并定义规则
[0116]按照具体的计算业务拆分设计计算规则,把该账单计算规则设计成具体的每一个小规则逻辑,分别对应编号为规则编号#rulel,#rule2, #rule3…,#rule η。并且把定义的计算规则和具体计算流的某单步关联对应。把完成的设计以某种格式定义在具体的介质中,一般是按照XML格式定义在某XML文件系统中。[0117]请参阅附图3所示,当完成定义之后,系统就可以开始按照定义来计算此类账单了。
[0118]步骤S1:开始计算指令
[0119]系统对计算引擎发出开始计算指令。
[0120]步骤S2:适配器加载数据
[0121 ] 适配器通过访问数据库获取基本数据
[0122]通过访问计算流定义文件获取计算流定义
[0123]通过访问计算规则定义文件获取计算规则定义。
[0124]步骤S3:构建计算流
[0125]计算引擎按照定义的计算流和初始化并构建完整的计算流。
[0126]步骤S4:单步计算流执行
[0127]计算流执行代理按照初始化完成的计算流开始进行流执行,按照之前所在步骤和数据决定当前计算流步骤#flow n。
[0128]步骤S5:构建单步流规则
[0129]计算引擎按照计算规则初始化并构建当前流#flow n所对应的规则。
[0130]步骤S6:单步流规则执行
[0131]计算规则执行代理开始按照规则定义,对当前步骤n的规则进行执行调用,并返回结果。如果当前步骤#flow n对应有n个规则,则计算规则执行代理会按照规则定义顺序,依次完成当前步骤#flow n的每一个规则,最终返回结果。
[0132]步骤S7:决定是否需要计算执彳了结束
[0133]计算计算执行代理根据当前所在步骤和数据决定该计算流步骤是否有后置计算流步骤,如果存在,则计算流步骤进入下一步,返回步骤S4操作。如果没有后置计算流步骤,则计算引擎完成当前调用。
[0134]步骤S8:结束计算指令
[0135]当所有的计算流步骤都完成之后,计算引擎完成结束,返回计算结果。
[0136]当该类账单的计算业务逻辑发生改变的时候,则按照(图2)的流程重新设计并定义该计算业务即可,把设计完成的定义文件保存在文件中。而计算引擎无需有任何的改动。从而达到满足支持规则自演化的目的。
【权利要求】
1.一种支持规则演化的计算流引擎方法,其特征在于:该方法通过规则定义(I)、规则代理执行(2)、计算流定义(3)、计算流代理执行(4)和适配器(5)的计算引擎内部架构,实现分布式网络环境下的计算引擎,该计算流和规则定义方法包括:设计并定义计算流(Al)和设计并定义规则(A2),该计算引擎的具体计算流程的工作步骤是: 步骤1.开始计算指令(SI) 系统对计算引擎发出开始计算指令; 步骤2.适配器加载数据(S2) 1)执行完开始计算指令(SI)模块后,则进入适配器加载数据(S2)模块; 2)适配器通过访问数据库获取基本数据; 3)通过访问计算流定义文件获取计算流定义; 4)通过访问计算规则定义文件获取计算规则定义; 步骤3.构建计算流(S3) 1)执行完适配器加载数据(S2)模块后,则进入构建计算流(S3)模块; 2)计算引擎按照定义的计算流和初始化并构建完整的计算流; 步骤4.单步计算流执行(S4) O执行完构建计算流(S3)模块后,则进入单步计算流执行(S4)模块; 2)计算流执行代理按照初始化完成的计算流开始进行流执行,按照之前所在步骤和数据决定当前计算流步骤; 步骤5.构建单步流规则(S5) 1)执行完单步计算流执行(S4)模块后,则进入构建单步流规则(S5)模块; 2)计算引擎按照计算规则初始化并构建当前流所对应的规则; 步骤6.单步流规则执行(S6) 1)执行完构建单步流规则(S5)模块后,则进入单步流规则执行(S6)模块; 2)计算规则执行代理开始按照规则定义,对当前步骤的规则进行执行调用,并返回结果; 步骤7.判断是否有后置计算流(S7) 1)执行完单步流规则执行(S6)模块后,则进入判断是否有后置计算流(S7)模块; 2)计算计算执行代理根据当前所在步骤和数据决定该计算流步骤是否有后置计算流步骤,如果存在后置计算流,则计算流步骤进入下一步,反馈到步骤4单步计算流执行(S4)的操作,如果没有后置计算流,则计算引擎完成当前调用; 步骤8.结束计算指令(S8) 1)执行步骤7中没有后置计算流,则进入结束计算指令(S8)模块; 2)当所有的计算流步骤都完成之后,计算引擎完成结束,返回计算结果。
2.根据权利要求1所述的一种支持规则演化的计算流引擎方法,其特征在于:所述的计算流和规则定义方法中的设计并定义计算流(Al)和设计并定义规则(A2)的具体工作步骤是: 步骤1.设计并定义计算流(Al) I)按照具体的计算业务设计计算流,把该账单计算业务设计成一个完整的计算流,一共分为η个步骤,分别对应编号为计算流编号#f lowl, #flow2, #f low3…#Flow η ;2)完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一 XML文件系统中; 步骤2.设计并定义规则(A2) 1)执行完设计并定义计算流(Al)模块后,则进入设计并定义规则(A2)模块; 2)按照具体的计算业务拆分设计计算规则,把该账单计算规则设计成具体的每一个小规则逻辑,分别对应编号为规则编号ftrulel, #rule2, #rule3…,#rule η,并且把定义的计算规则和具体计算流的一单步关联对应; 3)把完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中。
【文档编号】G06Q10/06GK103617513SQ201310703373
【公开日】2014年3月5日 申请日期:2013年12月19日 优先权日:2013年12月19日
【发明者】佘东晓, 蒋利忠, 田继鑫, 王芳, 王彦浩 申请人:上海亚太计算机信息系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1