CN103617513A - 一种支持规则演化的计算流引擎方法 - Google Patents
一种支持规则演化的计算流引擎方法 Download PDFInfo
- Publication number
- CN103617513A CN103617513A CN201310703373.0A CN201310703373A CN103617513A CN 103617513 A CN103617513 A CN 103617513A CN 201310703373 A CN201310703373 A CN 201310703373A CN 103617513 A CN103617513 A CN 103617513A
- Authority
- CN
- China
- Prior art keywords
- stream
- rule
- definition
- calculating
- computation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种涉及信息技术应用领域,尤指在计算流引擎的演化和自适应的实现,为分布式网络环境下计算引擎的并行处理和动态计算提供一种有效解决方案的一种支持规则演化的计算流引擎方法;该方法通过规则定义、规则代理执行、计算流定义、计算流代理执行和适配器的计算引擎内部架构,实现分布式网络环境下的计算引擎,该计算流和规则定义方法包括:设计并定义计算流和设计并定义规则,主要解决如何设计引擎的五个组成部分的架构问题;要解决计算流和规则定义方法问题,要解决计算引擎的工作流程及具体计算方法等有关技术问题;本发明的有益效果是:解决了信息技术在商业领域中的广泛应用,企业能够灵活的定义计算规则,还能够在不同的具体实施之间使用,提供了企业的商业市场拓展效率,本方法具有灵活应用,使用效率高等优点。
Description
技术领域
本发明涉及一种信息技术应用领域,尤指在计算流引擎的演化和自适应的实现,为分布式网络环境下计算引擎的并行处理和动态计算提供一种有效的解决方案。
背景技术
随着信息技术在商业领域中的广泛应用,越来越多的企业把账单的计算与生成也通过账单管理系统完成。随着规模的不断扩大和业务的不管更新,单一简单的账单计算规则已经日渐相形见绌,企业需要能够灵活的定义计算规则。当计算规则需求发生变化时,现有的大部分账单计算引擎的计算规则都需要修改,而应用的维护和升级都需要在停止服务的状态下才能完成,给企业的运营尤其是跨国公司的企业运营带来了诸多不变。
此发明主要是我们在与一家企业合作时,由于制定的政策只有条纹性的框架约束,而具体的执行策略只要在框架约束范围内都是允许,这就导致了每一个具体执行的计算规则都不相同,为每一个具体对象单独开发独立的计算引擎显然是不可能的,而且在商业应用成本上也是不能被接受的,故我们发明了此计算引擎,解决了该企业能够在不同的具体实施之间使用,用户只需要做简单的配置调整,提供了他们的商业市场拓展效率。
发明内容
为了克服上述不足之处,本发明的主要目的旨在提供一种能为分布式网络环境下计算引擎的并行处理和动态计算提供一种有效的解决方案,能在系统运行过程中,根据系统需要规则演化计算流程的执行;具有流的动态管理和自演化能力;实现演化策略库和演化代理实现计算流引擎的演化和自适应的一种支持规则演化的计算流引擎方法。
本发明要解决的技术问题是:主要解决如何设计引擎的五个组成部分的架构问题;要解决计算流和规则定义方法问题;要解决计算引擎的工作流程及具体计算方法等有关技术问题。
本发明解决其技术问题所采用的技术方案是:本发明提供了一种支持规则演化的计算流引擎,该引擎主要由五个部分组成:计算流定义,计算执行代理,规则定义,规则代理、适配器。该引擎整合了工作流、规则引擎,多代理、本体等技术,其主要特征包括:支持流的动态定义、配置、执行和监控;能在系统运行过程中,根据系统需要规则演化计算流程的执行;具有流的动态管理和自演化能力;提供了演化策略库和演化代理实现计算流引擎的演化和自适应。本发明能为分布式网络环境下计算引擎的并行处理和动态计算提供一种有效的解决方案。
一种支持规则演化的计算流引擎方法,该方法通过规则定义、规则代理执行、计算流定义、计算流代理执行和适配器的计算引擎内部架构,实现分布式网络环境下的计算引擎,该计算流和规则定义方法包括:设计并定义计算流和设计并定义规则,该计算引擎的具体计算流程的工作步骤是:
步骤1.开始计算指令
系统对计算引擎发出开始计算指令;
步骤2.适配器加载数据
1)执行完开始计算指令模块后,则进入适配器加载数据模块;
2)适配器通过访问数据库获取基本数据;
3)通过访问计算流定义文件获取计算流定义;
4)通过访问计算规则定义文件获取计算规则定义;
步骤3.构建计算流
1)执行完适配器加载数据模块后,则进入构建计算流模块;
2)计算引擎按照定义的计算流和初始化并构建完整的计算流;
步骤4.单步计算流执行
1)执行完构建计算流模块后,则进入单步计算流执行模块;
2)计算流执行代理按照初始化完成的计算流开始进行流执行,按照之前所在步骤和数据决定当前计算流步骤;
步骤5.构建单步流规则
1)执行完单步计算流执行模块后,则进入构建单步流规则模块;
2)计算引擎按照计算规则初始化并构建当前流所对应的规则;
步骤6.单步流规则执行
1)执行完构建单步流规则模块后,则进入单步流规则执行模块;
2)计算规则执行代理开始按照规则定义,对当前步骤的规则进行执行调用,并返回结果;
步骤7.判断是否有后置计算流
1)执行完单步流规则执行模块后,则进入判断是否有后置计算流步骤模块;
2)计算计算执行代理根据当前所在步骤和数据决定该计算流步骤是否有后置计算流步骤,如果存在后置计算流,则计算流步骤进入下一步,反馈到步骤4单步计算流执行的操作,如果没有后置计算流步骤,则计算引擎完成当前调用;
步骤8.结束计算指令
1)执行步骤7中没有后置计算流步骤,则进入结束计算指令(S8)模块;
2)当所有的计算流步骤都完成之后,计算引擎完成结束,返回计算结果。
进一步的,所述的一种支持规则演化的计算流引擎方法的计算流和规则定义方法中的设计并定义计算流和设计并定义规则的具体工作步骤是:
步骤1.设计并定义计算流
1)按照具体的计算业务设计计算流,把该账单计算业务设计成一个完整的计算流,一共分为n个步骤,分别对应编号为计算流编号#flow1,#flow2,#flow3…#Flow n;
2)完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中;
步骤2.设计并定义规则
1)执行完设计并定义计算流模块后,则进入设计并定义规则模块;
2)按照具体的计算业务拆分设计计算规则,把该账单计算规则设计成具体的每一个小规则逻辑,分别对应编号为规则编号#rule1,#rule2,#rule3…,#rule n,并且把定义的计算规则和具体计算流的一单步关联对应;
3)把完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中。
当完成定义之后,系统就可以开始按照定义来计算此类账单了。
本发明的有益效果是:本发明解决了信息技术在商业领域中的广泛应用,企业把账单的计算与生成通过账单管理系统完成,并且能够灵活的定义计算规则,还能够在不同的具体实施之间使用,用户只需要做简单的配置调整,提供了企业的商业市场拓展效率,本方法具有灵活应用,使用效率高等优点。
附图说明
下面结合附图和实施例对本发明进一步说明。
附图1是本发明计算引擎架构示意图;
附图2是本发明计算流和规则定义流程示意图;
附图3是本发明计算引擎工作流程示意图;
附图中标号说明:
1—规则定义;
2—规则代理执行;
3—计算流定义;
4—计算流代理执行;
5—适配器;
A1—设计并定义计算流;
A2—设计并定义规则;
S1—开始计算指令;
S2—适配器加载数据;
S3—构建计算流;
S4—单步计算流执行;
S5—构建单步流规则;
S6—单步流规则执行;
S7—是否有后置计算流;
S8—结束计算指令;
具体实施方式
请参阅附图1、2、3所示,我们开发设计了一种支持用户自定义计算规则演化的计算流引擎,该引擎主要由五个部分组成:计算流定义,计算执行代理,规则定义,规则代理、适配器。该引擎整合了工作流、规则引擎,多代理、本体等技术,其主要特征包括:支持流的动态定义、配置、执行和监控;能在系统运行过程中,根据系统需要规则演化计算流程的执行;具有流的动态管理和自演化能力;提供了演化策略库和演化代理实现计算流引擎的演化和自适应。本发明能为分布式网络环境下计算引擎的并行处理和动态计算提供一种有效的解决方案。
一种支持规则演化的计算流引擎方法通过规则定义1、规则代理执行2、计算流定义3、计算流代理执行4和适配器5的计算引擎内部架构,实现分布式网络环境下的计算引擎,该计算流和规则定义方法包括:设计并定义计算流A1和设计并定义规则A2,该计算引擎的具体计算流程的工作步骤是:
步骤1.开始计算指令S1
系统对计算引擎发出开始计算指令;
步骤2.适配器加载数据S2
1)执行完开始计算指令S1模块后,则进入适配器加载数据S2模块;
2)适配器通过访问数据库获取基本数据;
3)通过访问计算流定义文件获取计算流定义;
4)通过访问计算规则定义文件获取计算规则定义;
步骤3.构建计算流S3
1)执行完适配器加载数据S2模块后,则进入构建计算流S3模块;
2)计算引擎按照定义的计算流和初始化并构建完整的计算流;
步骤4.单步计算流执行S4
1)执行完构建计算流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所示,进一步的,所述的一种支持规则演化的计算流引擎方法的计算流和规则定义方法中的设计并定义计算流A1和设计并定义规则A2的具体工作步骤是:
步骤1.设计并定义计算流A1
1)按照具体的计算业务设计计算流,把该账单计算业务设计成一个完整的计算流,一共分为n个步骤,分别对应编号为计算流编号#flow1,#flow2,#flow3…#Flow n;
2)完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中;
步骤2.设计并定义规则A2
1)执行完设计并定义计算流A1模块后,则进入设计并定义规则A2模块;
2)按照具体的计算业务拆分设计计算规则,把该账单计算规则设计成具体的每一个小规则逻辑,分别对应编号为规则编号#rule1,#rule2,#rule3…,#rule n,并且把定义的计算规则和具体计算流的一单步关联对应;
3)把完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中。
本发明的技术特征和方法步骤的具体描述如下:
本发明包括:
1.规则定义
对具体计算流程中某一步骤规则进行的定义。
2.规则代理
通过动态代理模式,依照当前的分布式环境来调用具体的实现对象,完成规则定义中具体规则业务逻辑的实现。
3.计算流定义
对计算引擎的计算流程进行的定义。系统允许同时定义多个并行且各自独立的计算流。在定义单个流步骤的时候,指定该流所对应的规则和其他一些进入,跳出条件。
4.计算流代理执行
通过动态代理模式,依照当前的分布式环境来调用具体的实现对象,完成计算流定义中每一步的的实现。如果系统中同时定义多个并行且各自独立的计算流,则计算执行会根据当前进入设定,进入相应流计算中。
5.适配器
对具体执行数据的I/O实现,负责计算流定义,规则定义的存储和读取,计算基础数据的读取,以及最终计算结果的储存。
针对不同的分布式环境可以有不同的实现方式,用以支持在不同的软硬件环境的部署实施。
实例:用户需要计算某类账单
请参阅附图2所示,需要先仔细分析此类账单的业务。对此业务拆分,然后设计成计算引擎可以识别的计算流和规则定义,
步骤A1:设计并定义计算流
按照具体的计算业务设计计算流,把该账单计算业务设计成一个完整的计算流,一共分为n个步骤,分别对应编号为计算流编号#flow1,#flow2,#flow3…#Flow n。把完成的设计以某种格式定义在具体的介质中,一般是按照XML格式定义在某XML文件系统中。
步骤A2:设计并定义规则
按照具体的计算业务拆分设计计算规则,把该账单计算规则设计成具体的每一个小规则逻辑,分别对应编号为规则编号#rule1,#rule2,#rule3…,#rule n。并且把定义的计算规则和具体计算流的某单步关联对应。把完成的设计以某种格式定义在具体的介质中,一般是按照XML格式定义在某XML文件系统中。
请参阅附图3所示,当完成定义之后,系统就可以开始按照定义来计算此类账单了。
步骤S1:开始计算指令
系统对计算引擎发出开始计算指令。
步骤S2:适配器加载数据
适配器通过访问数据库获取基本数据
通过访问计算流定义文件获取计算流定义
通过访问计算规则定义文件获取计算规则定义。
步骤S3:构建计算流
计算引擎按照定义的计算流和初始化并构建完整的计算流。
步骤S4:单步计算流执行
计算流执行代理按照初始化完成的计算流开始进行流执行,按照之前所在步骤和数据决定当前计算流步骤#flow n。
步骤S5:构建单步流规则
计算引擎按照计算规则初始化并构建当前流#flow n所对应的规则。
步骤S6:单步流规则执行
计算规则执行代理开始按照规则定义,对当前步骤#flow n的规则进行执行调用,并返回结果。如果当前步骤#flow n对应有n个规则,则计算规则执行代理会按照规则定义顺序,依次完成当前步骤#flow n的每一个规则,最终返回结果。
步骤S7:决定是否需要计算执行结束
计算计算执行代理根据当前所在步骤和数据决定该计算流步骤是否有后置计算流步骤,如果存在,则计算流步骤进入下一步,返回步骤S4操作。如果没有后置计算流步骤,则计算引擎完成当前调用。
步骤S8:结束计算指令
当所有的计算流步骤都完成之后,计算引擎完成结束,返回计算结果。
当该类账单的计算业务逻辑发生改变的时候,则按照(图2)的流程重新设计并定义该计算业务即可,把设计完成的定义文件保存在文件中。而计算引擎无需有任何的改动。从而达到满足支持规则自演化的目的。
Claims (2)
1.一种支持规则演化的计算流引擎方法,其特征在于:该方法通过规则定义(1)、规则代理执行(2)、计算流定义(3)、计算流代理执行(4)和适配器(5)的计算引擎内部架构,实现分布式网络环境下的计算引擎,该计算流和规则定义方法包括:设计并定义计算流(A1)和设计并定义规则(A2),该计算引擎的具体计算流程的工作步骤是:
步骤1.开始计算指令(S1)
系统对计算引擎发出开始计算指令;
步骤2.适配器加载数据(S2)
1)执行完开始计算指令(S1)模块后,则进入适配器加载数据(S2)模块;
2)适配器通过访问数据库获取基本数据;
3)通过访问计算流定义文件获取计算流定义;
4)通过访问计算规则定义文件获取计算规则定义;
步骤3.构建计算流(S3)
1)执行完适配器加载数据(S2)模块后,则进入构建计算流(S3)模块;
2)计算引擎按照定义的计算流和初始化并构建完整的计算流;
步骤4.单步计算流执行(S4)
1)执行完构建计算流(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所述的一种支持规则演化的计算流引擎方法,其特征在于:所述的计算流和规则定义方法中的设计并定义计算流(A1)和设计并定义规则(A2)的具体工作步骤是:
步骤1.设计并定义计算流(A1)
1)按照具体的计算业务设计计算流,把该账单计算业务设计成一个完整的计算流,一共分为n个步骤,分别对应编号为计算流编号#flow1,#flow2,#flow3…#Flow n;
2)完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中;
步骤2.设计并定义规则(A2)
1)执行完设计并定义计算流(A1)模块后,则进入设计并定义规则(A2)模块;
2)按照具体的计算业务拆分设计计算规则,把该账单计算规则设计成具体的每一个小规则逻辑,分别对应编号为规则编号#rule1,#rule2,#rule3…,#rule n,并且把定义的计算规则和具体计算流的一单步关联对应;
3)把完成的设计以一种格式定义在具体的介质中,一般是按照XML格式定义在一XML文件系统中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310703373.0A CN103617513A (zh) | 2013-12-19 | 2013-12-19 | 一种支持规则演化的计算流引擎方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310703373.0A CN103617513A (zh) | 2013-12-19 | 2013-12-19 | 一种支持规则演化的计算流引擎方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103617513A true CN103617513A (zh) | 2014-03-05 |
Family
ID=50168217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310703373.0A Pending CN103617513A (zh) | 2013-12-19 | 2013-12-19 | 一种支持规则演化的计算流引擎方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103617513A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630589A (zh) * | 2014-11-24 | 2016-06-01 | 航天恒星科技有限公司 | 分布式流程调度系统及流程调度、执行方法 |
CN105739956A (zh) * | 2014-12-09 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 计算机系统的构建智能规则模型的方法及系统 |
CN107993046A (zh) * | 2017-11-01 | 2018-05-04 | 深圳市赢众通金融信息服务有限责任公司 | 一种并行流转引擎方法 |
CN109087007A (zh) * | 2018-08-06 | 2018-12-25 | 上海海洋大学 | 一种水产养殖流程的自动化管理方法和自动化管理系统 |
CN110532025A (zh) * | 2019-08-30 | 2019-12-03 | 上海复深蓝软件股份有限公司 | 基于微服务架构的数据处理方法、装置、设备及存储介质 |
-
2013
- 2013-12-19 CN CN201310703373.0A patent/CN103617513A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630589A (zh) * | 2014-11-24 | 2016-06-01 | 航天恒星科技有限公司 | 分布式流程调度系统及流程调度、执行方法 |
CN105739956A (zh) * | 2014-12-09 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 计算机系统的构建智能规则模型的方法及系统 |
CN105739956B (zh) * | 2014-12-09 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 计算机系统的构建智能规则模型的方法及系统 |
CN107993046A (zh) * | 2017-11-01 | 2018-05-04 | 深圳市赢众通金融信息服务有限责任公司 | 一种并行流转引擎方法 |
CN109087007A (zh) * | 2018-08-06 | 2018-12-25 | 上海海洋大学 | 一种水产养殖流程的自动化管理方法和自动化管理系统 |
CN110532025A (zh) * | 2019-08-30 | 2019-12-03 | 上海复深蓝软件股份有限公司 | 基于微服务架构的数据处理方法、装置、设备及存储介质 |
CN110532025B (zh) * | 2019-08-30 | 2021-01-05 | 上海复深蓝软件股份有限公司 | 基于微服务架构的数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103617513A (zh) | 一种支持规则演化的计算流引擎方法 | |
CN106055316A (zh) | 一种供应链金融引擎系统、系统建立方法以及服务器 | |
CN105991737A (zh) | 分布式任务调度方法及系统 | |
Singh et al. | MX/G/1 unreliable retrial queue with option of additional service and Bernoulli vacation | |
CN102222285B (zh) | 多维度数据联动计算装置和多维度数据联动计算方法 | |
CN103257852A (zh) | 一种分布式应用系统的开发环境搭建的方法和装置 | |
CN102411757B (zh) | 一种大型主机cpu容量预测方法及系统 | |
CN113342631B (zh) | 分发管理优化方法、装置和电子设备 | |
CN106682978A (zh) | 清分结算规则生成方法及清分结算规则生成装置 | |
JP2023548985A (ja) | ロボティックプロセスオートメーション関連リソースの使用量の数値化 | |
CN103235847A (zh) | 基于矩阵转换的模型动态调配方法 | |
CN202395816U (zh) | 网络税控器集群系统 | |
Romauch et al. | Product mix optimization for a semiconductor fab: modeling approaches and decomposition techniques | |
KR20210103834A (ko) | 머신러닝 기반의 수요량 예측 방법 및 장치 | |
KR102375880B1 (ko) | 인공지능 모델 기반의 제조 공정에서의 견적 및 설계도 산출 시스템 | |
CN206421382U (zh) | 一种数据处理系统 | |
US20040172318A1 (en) | System and method for capital depreciation simulation | |
Guabtni et al. | Multiple instantiation in a dynamic workflow environment | |
CN114462859A (zh) | 工作流处理方法、装置、计算机设备和存储介质 | |
CN109409843B (zh) | 一种科目核算方法及科目核算设备 | |
CN102063308A (zh) | 一种用于地震勘探资料处理流程控制的方法 | |
CN112328597A (zh) | 一种基于表的流计算方法和装置 | |
CN111353766A (zh) | 分布式业务系统的业务流程处理系统及方法 | |
CN107402752B (zh) | 应用的定时触发方法和装置 | |
CN109800148A (zh) | 一种页面调试方法、装置、可读存储介质及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140305 |