一种基于规则引擎的业务流程与业务数据处理的松耦合方法及系统的制作方法

文档序号:6443718阅读:290来源:国知局
专利名称:一种基于规则引擎的业务流程与业务数据处理的松耦合方法及系统的制作方法
技术领域
本发明涉及在企业业务管理系统中,业务流程与业务数据处理相互作用的技术领域,具体涉及一种基于规则引擎的业务流程与业务数据处理的松耦合方法及系统。
背景技术
随着计算机以及网络技术的广泛应用,越来越多的企业在经营管理方面,应用计算机及计算机网络进行业务数据处理、工作协同、企业管理等多方面的工作,以满足企业对工作质量、工作效率的越来越高的要求。即使在信息技术、互联网技术高速发展的今天,仍然有不少企业,特别是中小企业在日常业务工作中,存在着大量手动处理的情况。特别是主要业务数据的处理工作,往往牵涉到多个业务部门,需要多业务部门的协同工作、规范处理,而手动处理业务数据,存在着很多弊端
1工作效率低下;例如业务人员为了执行一份合同需要在各个部门之间奔波,并且经常因为负责人不在而导致工作的延误;
1 在业务数据的传送过程中,由于存在这数据的重复输入,经常出现业务数据前后不一致的情况,从而引起后面一系列工作失误,甚至造成重大损失;
1 各类业务数据不能有效统一管理;无法进行有效的风险监控和各个环节工作的跟踪、统计分析。目前,在企业信息化方面已经有一些解决方案,特别是涉及到多部门协同工作,往往需要遵循约定的业务流程来进行处理,因此,引入了工作流应用,具体存在3种解决方案
1、业务工作由一系列功能模块组成,业务工作的先后顺序直接硬编码在业务功能代码中,这样,业务流程直接被固化在业务功能模块中。例如销售部门使用销售管理模块,订单部门使用订单管理模块,仓储部使用仓库管理模块。销售人员在“销售管理”模块中起草合同订单,合同管理人员在“合同管理”模块中对合同订单进行审核以及相关事项安排,仓储部人员在“仓库管理”模块中对订单上的产品进行出库操作,并进行统计等。2、业务流程专门通过工作流系统来实现,业务的各项审批工作先通过工作流系统一步一步实现,业务流程顺利完成后,把流程中审核通过的最终业务数据再手动输入到各个业务功能模块中。例如针对客户的报价,销售人员首先把给客户的初步报价放到工作流系统中,发给各级业务主管审批,批复都同意后,销售人员再把报价数据输入到“销售管理” 模块和“合同管理”模块中保存。3、业务流程通过工作流系统来实现,业务流程通过专门的数据接口,与业务功能模块相结合,这样实现了业务流程与业务功能模块之间的数据交互,避免了数据的重复输入,保证了业务数据的前后一致。上述解决方案虽然在一定程度上解决了手工处理业务数据的不足,但都没有解决灵活、快速进行业务数据处理与业务流程应用的融合问题。第1种方案虽然把业务流程和业务数据处理结合在一起,但限制太死,一旦业务流程发生变化,必须要进行二次开发,重新进行编码。这在市场瞬息万变的今天,业务流程的调整是比较频繁的,会极大地影响了正常的业务工作。第2种方案由于引入了工作流系统,可以很好的解决业务流程调整的问题,但是工作流系统实际上是一个独立在业务功能模块之外的系统,这种情况下,两者之间的数据根本不可能进行共享、交互,那么导致数据重复输入,不仅降低了正常的业务工作效率,而且还是不能完全避免数据输入失误的存在。第3种方案能够比较好地解决上述2个方案不能解决的问题,但是企业的业务在发展过程中,会不断增加新的业务功能模块,例如生产管理、物料管理等,这些新的功能模块也需要与业务流程相结合,而已有开发完成的接口只能作用在原有的功能模块上,对于新的功能模块,仍然需要重新开发或修改接口代码。这仍然会影响到企业正常的业务管理工作。总之,如何对业务流程与业务数据处理进行方便、灵活的融合?在不修改代码的情况下,快速进行调整业务流程与业务功能模块的对应关系,是企业管理中一个迫切需要解决的问题。

发明内容
本发明的目的是提供一种基于规则引擎的业务流程与业务数据处理松耦合的方法及其系统,用以解决企业信息化中,业务流程不能与业务管理数据很好融合的问题,同时又要适应业务流程、业务功能不断变化调整的特点。为了解决上述问题,本发明提供如下技术方案
一种基于规则引擎的业务流程与业务数据处理松耦合的方法,包括 把企业的业务管理系统分成工作流子系统和业务数据处理子系统;两者分工不同,既相互独立,可以独立发挥作用,又相辅相成,可以根据需要进行数据交互。其中,工作流子系统主要用于处理业务流程;业务数据处理子系统主要包括业务功能模块,例如销售管理模块、合同管理模块、仓库管理模块等。通过工作流子系统来创建、管理企业的业务流程,设置业务流程中的每一个处理环节、设定每一个环节的办理人员以及相应的权限、设置某个业务流程各个环节的办理顺序,以及使业务工作按照设定好的规则和顺序进行网上流转。通过工作流子系统所建立的业务流程,由多个流程节点组成。流程节点分为流程同步器和业务活动节点单元。流程同步器的作用是根据中间过程数据决定业务流程的下一步骤。在所有的业务活动节点单元,都嵌入规则引擎(Rule Engine)组件,通过规则引擎组件,根据中间过程数据进行模式匹配(Pattern Match),从而决定调用哪个业务功能模块。规则主要由两部分组成条件和结论,条件部分也称为左端(记为LHS, left-handside),结论部分也称为右端(记为 RHS,right-handside)。
规则引擎组件装载数据对象(Working Memory),在本实施例中,数据对象包括记录id、所处的工作流环节、上一步骤输入的数据等。规则引擎组件检查规则库(Rule Base)存储器中第一个规则并对其条件过滤器求值,即对每一个规则r,判断当前的数据对象ο是否使LHS (r) =True,如果值为假,所有与此规则相关的动作皆被忽略并继续执行下一条规则。如果第一条规则的过滤器值为真,那么所有与此规则相关的动作RHS(r (ο))皆依定义顺序执行,执行完毕继续下一条规则。符合条件的结论就是与此规则相关的动作。当LHS (r) =True,要执行规则对应的动作时,系统控制权由工作流子系统转到业务数据处理子系统。对应的动作包括调用业务数据处理子系统中的相关业务功能模块,建立新的业务记录或打开待处理的业务记录,并把上一个步骤输入的业务数据直接引入到新记录中,省却了重复输入的工作,而且保证了数据传递的正确性、及时性。由于业务发展需要在企业管理系统中增加了新的业务功能模块时,企业管理人员制定新的业务规则,快速、方便纳入新的业务功能模块,通过规则引擎组件及时建立业务流程与新业务功能模块之间的调用关系。工作人员在业务功能模块中完成操作后,系统控制权又交给工作流子系统,由该子系统的流程同步器决定下一步的业务操作。企业相关工作人员制定相应的业务规则,保存在规则引擎组件的规则库存储器中,通过规则引擎组件进行匹配,保持工作流子系统和业务数据处理子系统两者松耦合的关系,两者既可以独立应用,又可以结合在一起应用,而且可以方便调整业务活动节点与业务功能模块的对应关系,使系统的灵活性更强,更加适应企业个性化的需要。同样道理,本发明还公开了一种业务流程与业务数据处理的松耦合系统,其特征在于,包括工作流子系统和业务数据处理子系统。所述工作流子系统主要用于业务流程的创建、设置业务流程中的每一个处理环节、设定每一个环节的办理人员以及相应的权限、设置某个业务流程各个环节的办理顺序, 以及使业务工作按照设定好的规则和顺序进行网上流转。所述业务数据处理子系统,主要用于对各类企业业务数据的输入、保存、汇总等。 在本实例中,包括与业务工作相关的一系列功能模块,例如,“销售管理”、“合同管理”、“仓库管理”、“发货管理”等业务功能模块。所述工作流子系统建立的业务流程中包含流程同步器和业务活动节点单元。所述流程同步器作用在于组织工作流子系统的计算活动,需要处理顺序、分支、汇聚、循环等所有工作流相关的计算,由它来决定路由。所述业务活动节点单元作用在于与业务数据处理子系统中的业务功能模块进行业务功能交互。所述业务活动节点单元包含有相应的业务逻辑,业务逻辑包含“执行条件”和“执行动作”两部分,由规则弓I擎组件来完成其业务逻辑。所述业务规则引擎组件,是一种根据规则中包含的指定过滤条件,判断其能否匹配运行时刻的实时条件来执行规则中所规定的动作的引擎。规则引擎组件用以管理和自动实现业务规则,其主要实现的功能是存储、分类和管理规则,验证规则的一致性,通过规则推断其它规则、联系规则和执行这些规则的应用程序,其中的规则主要是指企业或商务业务逻辑、法律条款、企业政策等。本发明的有益效果(1)本发明将业务流程逻辑与业务数据处理任务逻辑分别由 2个相互独立的子系统来完成,降低了业务流程与业务数据处理的耦合程度,消除了流程数据与业务数据的混乱,解决了企业由于业务流程变化、组织结构变化以及业务需求变化对业务管理系统的影响问题,通过工作流子系统,可以方便调整业务流程,通过采用规则引擎组件,可以灵活调整业务流程环节与业务功能模块的对应关系,使企业业务管理系统快速、 低成本支持了企业的业务发展。(2)本发明采用规则引擎组件,把业务规则的制定和业务应用编码分隔开,企业管理人员可以独立根据业务需要制定业务规则,不需要进行软件代码的重新修改,使新的业务功能模块方便与业务流程建立联系,以及快速调整现有业务功能模块与业务流程的对应关系,方便满足企业个性化的业务工作需要。(3)本发明通过规则引擎结合了业务流程应用和业务数据处理应用,保证了业务流程与功能模块之间业务数据的顺利交互,避免了业务数据的重复输入,保证了业务数据的前后一致,对提高企业的工作效率,提升工作准确性非常有帮助。(4)通过规则引擎组件,制定新的业务规则,可以把企业新的业务功能模块快速方便地与业务流程的结合,提高整个业务的敏捷性和扩展性。


图1为本发明实施例中的原理示意图。图2为本发明实施例中的技术方案结构图。图3为本发明实施例中的业务活动节点结构图。图4为本发明实施例流程图。图5为本发明实施例中业务规则引擎组件工作流程图。图6为本发明实施例中的规则引擎组件结构图。
具体实施例方式以下结合附图和具体实施例对本发明作进一步详细阐述。本发明提供了一种基于规则引擎的业务流程与业务数据处理的松耦合方法及系统。本发明实施例充分考虑到企业的业务发展变化快的情况,通过将工作流子系统与业务数据处理子系统相对独立,降低两者之间的耦合度,使企业的业务管理系统不仅能快速响应业务流程和组织结构的变化,而且能快速响应业务功能发展变化的需求。采用了业务规则引擎的方式,结合业务流程工作与业务数据处理工作,保证业务数据的前后一致,避免业务数据的重复输入,提高企业的工作效率和准确度。参阅图1所示,本发明实施例中的原理示意图包括工作流子系统10,业务数据处理子系统11。工作流子系统10,用于根据企业情况建立业务流程,并进行业务工作的传递,在传递过程中,根据需要来调用所述业务数据处理子系统11中的业务功能模块。工作流子系统10,包括“开始”节点101,“结束”节点105,以及“下一步”节点102、 103,104ο
“开始”节点101,用于启动某个业务流程的实例。“下一步”节点102、103、104,用于接收上一步骤中功能模块的相关业务数据,并根据数据决定下一步调用的业务数据处理子系统11中的功能模块。“结束”节点105,用于结束该业务流程实例,并把该业务流程实例的状态标识为
“社击”
纟口水 ο业务数据处理子系统11,是模拟一个企业在销售过程中使用的有关业务管理的功能模块。在图1所示的实例中,包括销售管理模块111、合同管理模块112、仓库管理模块 113、发货管理模块114。销售管理模块111,用于企业销售员记录客户购买的意向,以及预测客户购买的产品种类、数量、所报的价格等,而且销售员可以通过这些将要预测的信息直接生成合同订单草稿。合同管理模块112,用于企业合同管理人员对合同订单进行审核。仓库管理模块113,用于仓库管理人员根据审核通过的合同订单,按客户需要的产品和相应的数量,执行出库。发货管理模块114,用于企业相关人员按照审核通过的合同订单,给客户安排发货,并记录发货的产品、数量、时间等。参阅图2所示,本发明实施例中的技术方案结构包括使用者客户端20、业务管理服务器21、工作流服务器22、业务功能服务器23、规则引擎服务器M、制定业务规则客户端 25、数据库服务器26。使用者客户端20,主要用于企业工作人员访问企业管理服务器21,来进行日常的企业工作。企业管理服务器21,提供企业的各种日常工作的管理服务,以及相关业务服务等。 只涉及到业务流程的工作,企业管理服务器21将访问工作流服务器22 ;只涉及到业务数据处理工作,企业管理服务器21将访问业务功能服务器23。工作流服务器22,用于提供业务流程的管理和运行服务,在此过程中,将通过规则引擎服务器M进行规则匹配,决定是否调用业务功能服务器23中的相应功能模块。业务功能服务器23,主要用于提供业务功能服务,例如“客户管理”、“销售管理”、
“合同管理”等。规则引擎服务器M,用于保存业务规则,进行业务规则匹配,进行业务规则执行。制定业务规则客户端25,用于企业管理者按照规定的格式制定业务规则,并保存到规则引擎服务器M中。数据库服务器沈,用于保存业务功能模块中的输入数据以及业务流程数据,并给予相关访问者调用浏览。参阅图3所示,本发明实施例中的业务活动节点关系图包括业务活动节点单元 30、流程同步器31、流程同步器32、业务功能模块33。业务活动节点单元30,根据上一步骤的数据对象,决定调用哪个业务功能模块 33。它包括执行条件过滤器301、规则引擎组件302、执行器303。执行条件过滤器301,用于接收上一步骤传递过来的数据,作为规则引擎302的输入数据对象,以便进行规则匹配。
规则引擎302,通过规则库中的规则与执行条件301接收的数据对象进行匹配,当 LHS(r) =True时,通过执行器303来执行此规则对应的动作。执行器303,接收规则引擎302进行匹配后的结果命令,执行其业务规则所对应的动作,在本实例中即是调用业务功能模块33。流程同步器31,作用在于组织工作流引擎的计算活动,需要处理顺序、分支、汇聚、 循环等所有工作流相关的计算,由它来决定路由。流程同步器32,作用与流程同步器31相同。业务功能模块33,在本实例中指的是企业业务功能模块,例如“销售管理”模块、 “合同管理”模块、“仓库管理”模块、“发货管理”模块等。参阅图4所示,本发明实施例流程如下
步骤401 在工作流子系统中,启动“企业销售流程”实例;
步骤402 业务活动节点单元“草拟合同订单”,根据本节点单元的数据,包括节点单元名称和所处环节,由规则引擎组件进行匹配后,执行匹配规则所对应的动作调用业务数据处理子系统中的“销售管理”模块,同时系统控制权由工作流子系统转给业务数据处理子系统。销售部的工作人员在此新建“合同订单”草稿,并输入销售数据,保存。然后业务数据处理子系统再把系统控制权交给工作流子系统;
步骤403 流程同步器“下一步”接受系统控制权后,根据设置好的流程来决定下一步 “审核合同订单”;
步骤404 业务活动节点单元“审核合同订单”,根据本节点单元的数据,包括节点单元名称、所处环节、上一步骤输入的数据等,由规则引擎组件进行匹配后,执行匹配规则所对应的动作调用业务数据处理子系统中的“合同管理”模块,同时系统控制权由工作流子系统转给业务数据处理子系统。合同管理部的工作人员在此打开由销售人员提交的“合同订单”草稿,并进行审核,审核完成后,业务数据处理子系统再把系统控制权交给工作流子系统,同时把此记录的流程状态设置为“审核通过”; 例如,
(CONDITONDS
(state <S> BLOCK <B>)
(BLOCK <B>所处环节“审核合同订单”)
(BLOCK <B>业务功能模块“合同管理”)
(BLOCK <B>状态数据合同订单中的输入数据)
(ACTION)
OPEN “合同管理” 一 “待处理记录”; )
步骤405 流程同步器“下一步”接受系统控制权后,根据设置好的流程来决定下一步 “出库产品”;
步骤406 业务活动节点单元“出库产品”,根据本节点单元的数据,包括节点单元名称、所处环节、流程状态、上一步骤的数据等,由规则引擎组件进行匹配后,执行匹配规则所对应的动作调用业务数据处理子系统中的“仓库管理”模块,同时系统控制权由工作流子系统转给业务数据处理子系统。仓储部的工作人员在此打开由合同管理人员审核通过的 “合同订单”,并由此生成新的出库单后,新出库单上的产品数据继承对应合同订单中的产品数据,保证数据的一致。业务数据处理子系统再把系统控制权交给工作流子系统;
步骤407 流程同步器“下一步”接受系统控制权后,根据设置好的流程来决定下一步 “发货”·’
步骤408:业务活动节点单元“发货”,根据本节点单元的数据,包括节点单元名称、所处环节、流程状态、上一步骤输入的数据等,由规则引擎组件进行匹配后,执行匹配规则所对应的动作调用业务数据处理子系统中的“发货管理”模块,同时系统控制权由工作流子系统转给业务数据处理子系统。发货部门的工作人员在此打开由仓库管理人员生成的“产品出库”记录,并由此生成新的发货单后,新发货单上的产品数据继承对应出库单中的产品数据,保证数据的一致。业务数据处理子系统再把系统控制权交给工作流子系统;
步骤409 流程同步器“下一步”接受系统控制权后,根据设置好的流程来决定下一步 “客户确认”;
步骤410 业务活动节点单元“客户确认”,根据本节点单元的数据,包括节点单元名称、所处环节、流程状态、上一步骤输入的数据等,由规则引擎组件进行匹配后,执行匹配规则所对应的动作调用业务数据处理子系统中的“客户管理”模块,同时系统控制权由工作流子系统转给业务数据处理子系统。发货部门的工作人员确认这个客户是否已经收到购买的产品,并在“客户管理”中记录此客户收到的产品,然后业务数据处理子系统再把系统控制权交给工作流子系统;
步骤411 流程同步器“结束”接受系统控制权后,设置此流程实例为“完成”状态,并关闭此流程实例。参阅图5所示,本发明实施例中规则引擎组件工作流程如下
步骤501 数据对象进入工作空间装载器,其中数据对象包括节点单元名称、所处环节、流程状态、上一步骤输入的数据等;
步骤502 将规则库存储器中的规则与数据对象进行匹配;
步骤503 匹配成功后,通过处理装置执行对应规则的动作,其中的动作在本实施例中是调用业务管理中的业务功能模块,包括“客户管理”、“销售管理”、“合同合理”、“仓库管理”、“发货管理”、“客户管理”等。参阅图6所示,本发明实施例中的规则引擎组件包括数据对象601、工作空间装载器602、队列管理器603、规则库存储器604、规则模式匹配器605、过滤器606、处理装置 607。数据对象601,在本发明实施例中,包括业务活动节点的数据,例如节点名称、所处环节、流程状态、上一步骤输入的数据等。工作空间装载器602,用于装载众多数据对象,然后把这些数据对象作为规则引擎组件的输入。队列管理器603,用来管理不同数据对象的队列,以保证数据对象按照先后顺序与规则库中的规则进行模式匹配。规则库存储器604,用于管理、保存业务规则,企业相关人员根据业务发展需要制定的业务规则,保存在规则库存储器中,确保需要时被调用。
规则模式匹配器605,从规则库存储器604中调用每一个规则r,判断当前的数据对象ο是否使LHS (r) =True,如果是,就把规则r的实例r (ο)加到执行队列中,由处理装置 607来执行相应的动作。所谓规则r的实例就是用数据对象ο的值代替规则r的相应参数, 即绑定了数据对象ο的规则r。过滤器606,用于对所述规则模式匹配器605的结果进行判断,如果判断值为 “真”,将通过处理装置607顺序执行对应此规则的各种动作。否则,调用下一个数据对象进行匹配。处理装置607,用于执行满足条件的业务规则所对应的第一个动作,在本实例中是调用相应的业务功能模块,然后进行“新建”操作,或者是打开相应的业务工作记录。虽然本发明已以较佳实施例公开如上,但实施例和附图并不是用来限定本发明, 任何熟习此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,但同样在本发明的保护范围之内。因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。
权利要求
1.一种基于规则引擎的业务流程与业务数据处理松耦合的方法,其特征在于,包括把企业的业务管理系统分成工作流子系统和业务数据处理子系统,两者在应用上可以相互独立;通过规则引擎组件结合工作流子系统和业务数据处理子系统,避免的业务数据的重复输入,保证业务数据前后一致;通过企业来制定规则引擎组件中的业务规则,调整业务活动节点单元与业务功能模块的对应关系。
2.如权利要求1所述方法,其特征在于把企业的业务管理系统分成工作流子系统和业务数据处理子系统,两者相互独立,可以单独发挥其作用,其中,工作流子系统主要用于处理业务流程;业务数据处理子系统主要包括业务功能模块,例如销售管理模块、合同管理模块、仓库管理模块等,但不限于这些模块,它包括涉及到企业管理的所有模块。
3.如权利要求1所述方法,其特征在于所述工作流子系统的流程节点包括流程同步器和业务活动节点单元,且每个业务活动节点单元中都嵌入规则引擎组件。
4.如权利要求1所述方法,其特征在于通过规则引擎组件建立工作流子系统和业务数据处理子系统的联系,使两者可以进行业务数据交互,保证业务数据在业务流程与业务功能模块中的一致。
5.如权利要求1所述方法,其特征在于企业独立来制定规则引擎组件中的业务规则, 来调整业务活动节点单元与业务功能模块的对应关系,避免了修改代码。
6.如权利要求1所述方法,其特征在于当业务发展需要,在企业管理系统中增加了新的业务功能模块时,企业管理人员制定新的业务规则,快速、方便纳入新的业务功能模块, 通过规则引擎组件及时建立业务流程与新业务功能模块之间的调用关系。
7.如权利要求1所述方法,其特征在于避免业务流程数据侵入业务功能模块中的数据,保证了业务功能模块中数据的纯净。
8.一种基于规则引擎的业务流程与业务数据处理松耦合的系统,其特征在于,包括工作流子系统,主要用于处理业务流程;业务数据处理子系统,主要用于对各类企业业务数据的输入、保存、汇总等;工作流子系统的流程节点包括流程同步器和业务活动节点单元;流程同步器,集合代表工作流引擎的计算活动,需要处理顺序、分支、汇聚、循环等所有工作流相关的计算,由它来决定路由;业务活动节点单元,由相应的业务逻辑组成,业务逻辑包含“执行条件”和“执行体”两部分;规则引擎组件,通过业务规则的制定,建立工作流子系统与业务数据处理子系统的数据联系。
9.如权利要求8所述系统,其特征在于业务活动节点单元中嵌入规则引擎组件。
10.如权利要求8所述系统,其特征在于规则引擎组件中包含规则库存储器,用于管理、保存业务规则,这些业务规则由企业相关人员按照特定的规范格式制定,不需要程序员编码实现;业务活动节点单元根据规则的要求调用与之对应业务功能模块。
11.如权利要求8所述系统,其特征在于业务活动节点单元的动作与业务功能模块无关,则业务活动节点单元不需调用业务功能模块。
全文摘要
本发明提供了一种基于规则引擎的业务流程与业务数据处理的松耦合方法及系统,将业务流程逻辑与业务数据处理逻辑相互独立开来,通过规则引擎组件来建立两者的相互关系,保证了业务数据的前后一致,使业务工作更高效、准确;并且通过应用规则引擎技术,使两者的结合更加灵活,企业完全可以根据本企业的特点和发展情况制定业务规则,从而能够灵活调整业务数据处理与业务流程之间的对应关系,极大提高了企业适应市场变化、业务变化的能力。
文档编号G06Q10/06GK102542414SQ20111044750
公开日2012年7月4日 申请日期2011年12月28日 优先权日2011年12月28日
发明者周凤波, 翁强, 邹铁鹏 申请人:焦点科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1