CN102592198B - 一种支持组合业务的工作流引擎 - Google Patents
一种支持组合业务的工作流引擎 Download PDFInfo
- Publication number
- CN102592198B CN102592198B CN201110457990.8A CN201110457990A CN102592198B CN 102592198 B CN102592198 B CN 102592198B CN 201110457990 A CN201110457990 A CN 201110457990A CN 102592198 B CN102592198 B CN 102592198B
- Authority
- CN
- China
- Prior art keywords
- flow
- link
- service
- flow instance
- composite service
- 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.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种支持组合业务的工作流引擎,包括:接口层、控制层、实体层、存储层;所述工作流引擎部署后,通过接口层接收电信业务系统或其他接口系统发送的业务信息,所述控制层接收到所述接口层传递的业务信息后,根据支持组合业务的流程路由控制方法,确定业务的流程实例是自动流转到下一个环节,还是需要原地等待;同时所述控制层调用所述实体层提供的操作流程引擎内部对象的方法记录流程实例的当前环节的完成情况以及流程路由控制方法确定的流转结果,流程结果通过接口层返回;所述存储层通过数据库持久性保存业务的流程实例。本发明的工作流引擎不但可以实现单个流程的流程实例控制,对电信组合业务中的多种流程同步问题也进行很好的支持。
Description
【技术领域】
本发明涉及计算机应用领域的工作流技术,尤其涉及一种支持组合业务的工作流引擎。
【背景技术】
随着3G牌照的发放,电信各企业纷纷推出全业务服务,导致了电信企业间竞争的加剧。为了挽留和发展更多的客户,电信企业推出的各种业务也越来越复杂,尤其是套餐的推出和多个业务的捆绑销售,导致了流程中和流程间存在大量的同步控制问题,这也对业务支撑系统中的工作流提出了更高要求。
工作流引擎是一个软件系统,是工作流系统中的重要组成部分,主要完成流程实例的路由控制,即流程中涉及到的任务的流转。当前主要采用的机制包括事件驱动、状态驱动,其中,属于状态驱动的Petri网是一种适合于描述异步并发现象的计算机系统模型,因此很多电信企业和工作流厂商采用Petri网做为流程建模语言,以便与解决电信业务中的流程同步问题。
但是传统Petri网有一些明显的缺点,如模型变得庞大而难以理解、只能表示单一的流程实例等。为此,专家们提出了染色Petri网,这是对Petri网的一种扩展,通过增加颜色集合以及对库所中的托肯token增加颜色的描述,达到简化模型、以及同时描述多个流程实例的目的。染色Petri网虽然能解决多个流程实例的流程同步问题,但是在基于染色Petri网理论进行工作流引擎的开发过程中,不可避免的出现了工作流引擎与业务环境的紧耦合关系,造成了工作流引擎的通用性降低。原因在于Petri网主要是一种控制模型,关注的是控制流,并不能表达流程控制过程中需要的数据,而由于电信系统中流程的复杂性,流程同步的控制往往与实际系统中的各种业务数据有很紧密的关系,例如,在业务种类不同和客户要求不同的情况下,需要同步的流程个数不同。为此,很多工作流引擎为了适应复杂的控制要求,对Petri网系统进行了改造,在模型中增加了具体业务数据的表示,例如一个订单包含的产品类型、产品个数、产品相关的资源条件等。这样做的好处在于不但能充分利用Petri网的严格形式定义和直观图形表示的优势,还能够实现复杂流程的同步控制。但这种改进方式同时也导致了业务过程与业务逻辑的耦合度增加,导致控制流与数据流的耦合度增强。当工作流产品面对不同使用客户时,都要进行大规模的改造,这在一定程度上也降低了工作流引擎的通用性和灵活性。
现有技术中提供了一解决电信组合业务中的多种流程同步问题,见公开号为CN101630388,公开日为2010.01.20的中国专利“基于多级染色托肯的复杂业务流程同步控制的方法”,该发明的特征在于:包括同步分解和同步合并两个阶段,在利用染色Petri网做为建模语言的过程中,不需要增加业务数据的描述,仅需要对染色托肯增加两个属性的描述:托肯级别、需要同步的托肯个数,通过不同级别上的颜色和同一级别上需要同步的托肯个数,来解决电信组合业务中的多种流程同步问题。其主要是基于多级染色托肯和对染色托肯增加两个属性的描述来实现的。
【发明内容】
本发明要解决的技术问题,在于提供一种支持组合业务的工作流引擎,该引擎基于Petri网理论,并在此基础上进行了改进,其不但可以实现单个流程的流程实例控制,对电信组合业务中的多种流程同步问题也进行很好的支持。
本发明是这样实现的:一种支持组合业务的工作流引擎,包括:接口层、控制层、实体层、存储层以及用于存储业务的流程实例的数据库;所述工作流引擎部署后,通过所述接口层接收电信业务系统或其他接口系统发送的业务信息,所述其他接口系统包括资源管理系统、服务开通管理系统、计费帐务系统,所述业务信息包括业务的流程实例、流程实例的当前环节完成情况;所述控制层接收到所述接口层传递的业务信息后,根据支持组合业务的流程路由控制方法,来控制业务的流程实例的生成、调度、分解、合并、结束;并确定业务的流程实例是自动流转到下一个环节,还是需要原地等待;同时所述控制层调用所述实体层提供的方法记录流程实例的当前环节的完成情况以及所述流程路由控制方法确定的流转结果,流程结果通过所述接口层返回;所述实体层提供的方法为:对工作流引擎内部所描述的管理对象的新增、修改、删除和查询的操作,所述管理对象包括:业务的流程实例对象、流程路由对象、流程实例的当前环节对象、流程任务对象;其中,所述流程任务对象描述每个流程实例的环节执行的具体任务;所述存储层通过所述数据库持久性的保存所述业务的流程实例信息。
进一步地,所述接口层提供了三种方式的接口,包括API接口、Corba接口、WebService接口,便于工作流引擎与电信业务系统的衔接。
进一步地,所述支持组合业务的流程路由控制方法具体包括如下步骤:
步骤1.首先所述控制层接收到所述接口层传递的业务信息,即业务的流程实例、该流程实例的当前环节完成情况后,判断所述业务的流程实例对应的业务类型:如果是组合业务类型,业务的流程实例采用SFI表示,该流程实例的当前环节采用FIS表示,调用所述实体层的方法修改FIS的状态为“完成”,并判断FIS是否属于流程的结束环节,如果是,返回接口层,并结束操作,否,执行步骤2;如果所述业务的流程实例对应的业务类型是独立的子业务类型,则业务的流程实例采用DSFI表示,该流程实例的当前环节采用DFIS表示,执行步骤5;
步骤2.根据预定义的路由规则,获取所述业务的流程实例SFI的下一个环节NEXT_FIS,根据组合业务规则,判断NEXT_FIS是否属于业务分解环节,如果不是,转而执行步骤3;是,则根据组合业务规则将SFI分解生成n个独立子业务的流程实例,分解生成的n个独立子业务的流程实例采用DSFIi表示,其i是1≤i≤n的整数,每个DSFIi对应一个独立的电信子业务;生成的独立子业务的流程实例DSFIi的起始环节根据组合业务规则生成;分解完成后,组合业务流程暂停,执行多个独立子业务的DSFIi的流程控制,把组合业务规则中定义的DSFIi的起始环节设定为DSFIi的当前环节FIS1;对每一个流程实例DSFIi(1≤i≤n),分别执行步骤4;
步骤3.判断所述NEXT_FIS对应的任务类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是SFI和NEXT_FIS;否则,调用实体层的方法修改下一环节NEXT_FIS的状态为“就绪”,把执行结果通知给所述接口层,并结束操作;
步骤4.判断FIS1环节需要执行的任务的类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是DSFIi和FIS1;否则,调用实体层的方法修改FIS1的状态为“就绪”,把执行结果通知给所述接口层,并结束操作;
步骤5.根据组合业务规则判断DFIS是否属于独立子业务结束环节,如果不是,直接执行步骤6;如果是,执行步骤7;
步骤6.调用实体层的方法修改DFIS的状态为“完成”,根据预定义的路由规则,获取DSFI下一个需要执行的环节NEXT_DFIS,判断NEXT_DFIS对应的任务类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是DSFI和NEXT_DFIS;否则,调用实体层的方法修改NEXT_DFIS的状态为“就绪”,把执行结果通知给所述接口层,并结束操作;
步骤7.根据DSFI查找所有关联的被分解生成的独立子业务的流程实例DSFIi(1≤i≤n)是否都已经到达当前环节DFIS,如果不是,调用实体层的方法修改当前环节DFIS的状态为“等待”,把执行结果通知给所述接口层,并结束操作;如果是,进行DSFI1到DSFIn的所有流程实例的合并,此时独立子业务流程实例的路由选择已结束,所述合并方法为:调用实体层的方法修改DSFI1到DSFIn的所有独立子业务流程实例的当前环节DFIS的状态为“结束”,然后根据组合业务规则找到对应的组合业务合并环节,该合并环节即为组合业务流程实例的当前环节FIS,DSFI对应的组合业务流程实例为SFI,判断FIS对应的任务类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是SFI和FIS;否则,调用实体层的方法修改FIS的状态为“就绪”,把执行结果通知给所述接口层,并结束操作。
进一步地,所述组合业务规则采用GSR表示:GSR={GS,SG,A,GSS,SS,SE,GSE},其中GS表示组合业务,SG是一个集合,其表示GS下属的独立子业务,A表示组合业务当前执行的操作,GSS表示组合业务的分解环节,SS表示独立子业务的起始环节,SE表示独立子业务的结束环节,GSE表示组合业务的合并环节。
进一步地,预定义的路由规则采用FDR表示:FDR={S,T,F,C,M},其中,T表示业务流程实例中每个步骤需要执行的任务,S表示每个步骤执行前或者执行后的流程实例的状态,F表示S与T之间的关联关系,C表示流程实例的属性,M表示流程实例的初始集合。
本发明具有如下优点:本发明包括接口层、控制层、实体层、存储层;其提供工作流引擎接口的接口层,用于接收业务信息和返回消息;控制层,控制流程实例的生成、调度、分解、合并、结束等;实体层,提供对流程实例信息的访问,包括提供新增、修改和查询方法;存储层,通过数据库的持久性保存流程实例信息。本发明的控制层的流程控制可针对组合业务进行分解操作,针对已分解的子业务进行业务合并操作。该引擎不但可以实现单个流程的流程实例控制,对电信组合业务中的多种流程同步问题也进行很好的支持。且本发明不增加业务数据的描述,仅仅通过流程实例的维度属性就可以对需要同步的流程实例进行控制,最大限度的把控制流与数据流进行分离,使得工作流引擎本身的通用性增强。
【附图说明】
图1为本发明工作流引擎的框架图。
图2为本发明的支持组合业务的流程路由控制方法的处理流程图。
图3为本发明第一实施例的组合业务的分解与合并过程。
【具体实施方式】
请参阅图1所示,本发明的一种支持组合业务的工作流引擎,包括:接口层、控制层、实体层、存储层以及用于存储业务的流程实例的数据库;所述工作流引擎部署后,通过所述接口层接收电信业务系统(电信业务系统一般为客户关系管理系统)或其他接口系统发送的业务信息,所述其他接口系统包括资源管理系统、服务开通管理系统、计费帐务系统;所述接口层提供了三种方式的接口,包括API接口、Corba接口、WebService接口,便于工作流引擎与电信业务系统的衔接;所述业务信息包括业务的流程实例、流程实例的当前环节完成情况;所述控制层接收到所述接口层传递的业务信息后,根据支持组合业务的流程路由控制方法,来控制业务的流程实例的生成、调度、分解、合并、结束;并确定业务的流程实例是自动流转到下一个环节,还是需要原地等待;同时所述控制层调用所述实体层提供的方法记录流程实例的当前环节的完成情况以及所述流程路由控制方法确定的流转结果,流程结果通过所述接口层返回;所述实体层提供的方法为:对工作流引擎内部所描述的管理对象的新增、修改、删除和查询的操作,所述管理对象包括:业务的流程实例对象、流程路由对象、流程实例的当前环节对象、流程任务对象;其中,所述流程任务对象描述每个流程实例的环节执行的具体任务;所述存储层通过所述数据库持久性的保存所述业务的流程实例信息。
如图2所示,其中所述支持组合业务的流程路由控制方法具体包括如下步骤:
步骤1.首先所述控制层接收到所述接口层传递的业务信息,即业务的流程实例、该流程实例的当前环节完成情况后,判断所述业务的流程实例对应的业务类型:如果是组合业务类型,业务的流程实例采用SFI表示,该流程实例的当前环节采用FIS表示,调用所述实体层的方法修改FIS的状态为“完成”,并判断FIS是否属于流程的结束环节,如果是,返回接口层,并结束操作,否,执行步骤2;如果所述业务的流程实例对应的业务类型是独立的子业务类型,则业务的流程实例采用DSFI表示,该流程实例的当前环节采用DFIS表示,执行步骤5;
步骤2.根据预定义的路由规则,获取所述业务的流程实例SFI的下一个环节NEXT_FIS,根据组合业务规则,判断NEXT_FIS是否属于业务分解环节,如果不是,转而执行步骤3;是,则根据组合业务规则将SFI分解生成n个独立子业务的流程实例,分解生成的n个独立子业务的流程实例采用DSFIi表示,其i是1≤i≤n的整数,每个DSFIi对应一个独立的电信子业务;生成的独立子业务的流程实例DSFIi的起始环节根据组合业务规则生成;分解完成后,组合业务流程暂停,执行多个独立子业务的DSFIi的流程控制,把组合业务规则中定义的DSFIi的起始环节设定为DSFIi的当前环节FIS1;对每一个流程实例DSFIi(1≤i≤n),分别执行步骤4;
步骤3.判断所述NEXT_FIS对应的任务类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是SFI和NEXT_FIS;否则,调用实体层的方法修改下一环节NEXT_FIS的状态为“就绪”,把执行结果通知给所述接口层,并结束操作;
步骤4.判断FIS1环节需要执行的任务的类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是DSFIi和FIS1;否则,调用实体层的方法修改FIS1的状态为“就绪”,把执行结果通知给所述接口层,并结束操作;
步骤5.根据组合业务规则判断DFIS是否属于独立子业务结束环节,如果不是,直接执行步骤6;如果是,执行步骤7;
步骤6.调用实体层的方法修改DFIS的状态为“完成”,根据预定义的路由规则,获取DSFI下一个需要执行的环节NEXT_DFIS,判断NEXT_DFIS对应的任务类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是DSFI和NEXT_DFIS;否则,调用实体层的方法修改NEXT_DFIS的状态为“就绪”,把执行结果通知给所述接口层,并结束操作;
步骤7.根据DSFI查找所有关联的被分解生成的独立子业务的流程实例DSFIi(1≤i≤n)是否都已经到达当前环节DFIS(即当前环节DFIS为独立子业务结束环节),如果不是,调用实体层的方法修改当前环节DFIS的状态为“等待”,把执行结果通知给所述接口层,并结束操作;如果是,进行DSFI1到DSFIn的所有流程实例的合并,此时独立子业务流程实例的路由选择已结束,所述合并方法为:调用实体层的方法修改DSFI1到DSFIn的所有独立子业务流程实例的当前环节DFIS的状态为“结束”,然后根据组合业务规则找到对应的组合业务合并环节,该合并环节即为组合业务流程实例的当前环节FIS,DSFI对应的组合业务流程实例为SFI,判断FIS对应的任务类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是SFI和FIS;否则,调用实体层的方法修改FIS的状态为“就绪”,把执行结果通知给所述接口层,并结束操作。
这里要说明的是:所述组合业务规则采用GSR表示:GSR={GS,SG,A,GSS,SS,SE,GSE},其中GS表示组合业务,SG是一个集合,其表示GS下属的独立子业务,A表示组合业务当前执行的操作,GSS表示组合业务的分解环节,SS表示独立子业务的起始环节,SE表示独立子业务的结束环节,GSE表示组合业务的合并环节。
预定义的路由规则采用FDR表示:FDR={S,T,F,C,M},其中,T表示业务流程实例中每个步骤需要执行的任务,S表示每个步骤执行前或者执行后的流程实例的状态,F表示S与T之间的关联关系,C表示流程实例的属性,M表示流程实例的初始集合。一个完整的路由规则包括多个步骤,流程实例当前被执行的步骤称之为当前环节。如果当前环节需要执行的任务不需要人工参与,则由流程引擎自动触发,即流程路由控制方法由流程引擎来调用;如果该步骤需要人工参与,则需要等待接口层接收信息,然后触发流程路由控制方法的调用。本发明中,不需要人工参与的任务包括:自动接口处理、定时等待、组合业务的分解、子业务的合并。
所述控制层接收到所述接口层传递的业务信息后,根据支持组合业务的流程路由控制方法来进行流程的流转,该方法基本思想是针对组合业务和独立子业务分别进行处理:
如果接收的业务的流程实例是组合业务,根据组合业务规则,判断是否需要分解,若需要分解,则在流程流转到分解环节时,进行业务的拆分;业务拆分完成后,组合业务流程实例暂停,被拆分的子业务流程实例开始流转。如果不需要分解,则按照预定义的路由规则依次执行流程中的每个环节。
如果接收的业务的流程实例是独立子业务,根据组合业务规则,判断是否需要合并,如果不需要,则按照预定义的路由规则依次执行流程中的每个环节;若需要合并,则在所有被拆分的独立子业务流程流转到合并环节时,进行业务合并;业务合并完成后,独立子业务流程实例结束,组合业务流程实例继续开始流转。
为使本发明的技术方案更加清楚明白,请参照图3并举实施例,对组合业务分解、组合业务合并做进一步详细说明。
实施例一:
组合业务规则GSR={G01,S01,ADD,T2,T3,T5,T6},其中G01表示一种组合业务,S01表示G01分解后的独立子业务,ADD表示组合业务当前执行的操作:新装,T2表示组合业务流程实例的分解环节,T3表示独立子业务流程实例的起始环节,T5表示独立子业务流程实例的结束环节,T6表示组合业务流程实例的合并环节。
如图3所示,为预定义的路由示意图,方框表示流程中需要执行的不同任务,圆圈表示任务执行前或执行后的状态,圆圈中的点表示业务的流程实例;电信组合业务G01由多个子业务S01组成,T0、T1、T4设为需要人工参与的任务环节,T2、T3、T5、T6设为自动执行的任务环节;S0、S1、S2........表示流程实例执行完不同任务后的状态;G01类型的流程实例用SFI表示;黑点表示组合业务流程实例,白点表示被分解的子业务流程实例。从图中可以看出,前一个环节结束后的状态,也就是下一个环节执行前的状态。执行过程如下:
1)当接口层接收到SFI和T0两个参数后,意味着组合业务流程实例SFI执行完了当前环节T0,流程路由控制方法首先把T0的状态S1置为“完成”,接着判断T1是否属于分解环节,否,再判断T1任务类型;由于T1需要人工参与,把S1置为“就绪”,并返回接口层。
2)当接口层接收到SFI和T1两个参数后,意味着组合业务流程实例SFI执行完了当前环节T1,流程路由控制方法首先把T1的状态S2置为“完成”,接着判断T2是否属于分解环节。由于组合业务规则中描述了T2,因此可根据组合业务规则和实际业务信息将SFI分解生成3个独立子业务的流程实例,分别采用DSFI1、DSFI2、DSFI3表示;分解完成后,组合业务流程暂停,SFI的状态置为S3=“暂停”;根据组合业务规则,3个独立子业务的起始环节为T3;首先针对DSFI1判断T3的类型,属于自动环节,因此可自动执行T3对应的任务,执行完成后,对于DSFI1可以递归调用流程控制方法,参数为DSFI1和T3;T3下一个环节是T4,由于T4属于人工环节,因此DSFI1不可能自动执行T4,只能停下来,返回接口层,并等待接口层的触发。DSFI1的流程执行停止后,再依次对DSFI2、DSFI3做类似处理。
3)当接口层接收到DSFI1和T4两个参数后,意味着子业务流程实例DSFI1执行完了当前环节T4,T4完成后的状态S14=“完成”;根据路由,找出T4下一个环节T5;T5的类型,属于自动环节,因此可自动执行T5对应的任务,执行完成后,对于DSFI1可以递归调用流程控制方法,参数为DSFI1和T5。
4)在递归调用后,根据组合业务规则,T5属于结束环节,此时,判断DSFI2、DSFI3是否都已执行完成T5;如果没有,把T5状态S15置为“等待”,返回接口层,等待其他流程实例的到达;如果DSFI2、DSFI3都已经到达,则由DSFI1来触发流程实例的合并。合并方法如下:修改DSFI1到DSFI3的所有独立子业务流程实例的T5状态为“结束”,子业务流程结束。然后根据组合业务规则找到对应的组合业务合并环节T6,该合并环节即为组合业务流程实例SFI的当前环节。判断T6类型为自动环节,则执行T6对应的任务,执行完成后,对于SFI可以递归调用流程控制方法,参数为SFI和T6。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (4)
1.一种支持组合业务的工作流引擎,其特征在于,包括:接口层、控制层、实体层、存储层以及用于存储业务的流程实例的数据库;所述工作流引擎部署后,通过所述接口层接收电信业务系统或其他接口系统发送的业务信息,所述其他接口系统包括资源管理系统、服务开通管理系统、计费帐务系统,所述业务信息包括业务的流程实例、流程实例的当前环节完成情况;所述控制层接收到所述接口层传递的业务信息后,根据支持组合业务的流程路由控制方法,来控制业务的流程实例的生成、调度、分解、合并、结束;并确定业务的流程实例是自动流转到下一个环节,还是需要原地等待;同时所述控制层调用所述实体层提供的方法记录流程实例的当前环节的完成情况以及所述流程路由控制方法确定的流转结果,流程结果通过所述接口层返回;所述实体层提供的方法为:对工作流引擎内部所描述的管理对象的新增、修改、删除和查询的操作,所述管理对象包括:业务的流程实例对象、流程路由对象、流程实例的当前环节对象、流程任务对象;其中,所述流程任务对象描述每个流程实例的环节执行的具体任务;所述存储层通过所述数据库持久性的保存所述业务的流程实例信息;所述支持组合业务的流程路由控制方法具体包括如下步骤:
步骤1.首先所述控制层接收到所述接口层传递的业务信息,即业务的流程实例、该流程实例的当前环节完成情况后,判断所述业务的流程实例对应的业务类型:如果是组合业务类型,业务的流程实例采用SFI表示,该流程实例的当前环节采用FIS表示,调用所述实体层的方法修改FIS的状态为“完成”,并判断FIS是否属于流程的结束环节,如果是,返回接口层,并结束操作,否,执行步骤2;如果所述业务的流程实例对应的业务类型是独立的子业务类型,则业务的流程实例采用DSFI表示,该流程实例的当前环节采用DFIS表示,执行步骤5;
步骤2.根据预定义的路由规则,获取所述业务的流程实例SFI的下一个环节NEXT_FIS,根据组合业务规则,判断NEXT_FIS是否属于业务分解环节,如果不是,转而执行步骤3;是,则根据组合业务规则将SFI分解生成n个独立子业务的流程实例,分解生成的n个独立子业务的流程实例采用DSFIi表示,其i是1≤i≤n的整数,每个DSFIi对应一个独立的电信子业务;生成的独立子业务的流程实例DSFIi的起始环节根据组合业务规则生成;分解完成后,组合业务流程暂停,执行多个独立子业务的DSFIi的流程控制,把组合业务规则中定义的DSFIi的起始环节设定为DSFIi的当前环节FIS1;对每一个流程实例DSFIi,1≤i≤n,分别执行步骤4;
步骤3.判断所述NEXT_FIS对应的任务类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是SFI和NEXT_FIS;否则,调用实体层的方法修改下一环节NEXT_FIS的状态为“就绪”,把执行结果通知给所述接口层,并结束操作;
步骤4.判断FIS1环节需要执行的任务的类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是DSFIi和FIS1;否则,调用实体层的方法修改FIS1的状态为“就绪”,把执行结果通知给所述接口层,并结束操作;
步骤5.根据组合业务规则判断DFIS是否属于独立子业务结束环节,如果不是,直接执行步骤6;如果是,执行步骤7;
步骤6.调用实体层的方法修改DFIS的状态为“完成”,根据预定义的路由规则,获取DSFI下一个需要执行的环节NEXT_DFIS,判断NEXT_DFIS对应的任务类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是DSFI和NEXT_DFIS;否则,调用实体层的方法修改NEXT_DFIS的状态为“就绪”,把执行结果通知给所述接口层,并结束操作;
步骤7.根据DSFI查找所有关联的被分解生成的独立子业务的流程实例DSFIi,1≤i≤n;是否都已经到达当前环节DFIS,如果不是,调用实体层的方法修改当前环节DFIS的状态为“等待”,把执行结果通知给所述接口层,并结束操作;如果是,进行DSFI1到DSFIn的所有流程实例的合并,此时独立子业务流程实例的路由选择已结束,所述合并方法为:调用实体层的方法修改DSFI1到DSFIn的所有独立子业务流程实例的当前环节DFIS的状态为“结束”,然后根据组合业务规则找到对应的组合业务合并环节,该合并环节即为组合业务流程实例的当前环节FIS,DSFI对应的组合业务流程实例为SFI,判断FIS对应的任务类型,如果任务类型属于自动环节,则根据流程任务对象中定义的自动环节与自动任务映射关系调用对应的任务服务执行,所述任务服务包括自动接口处理、定时等待;完成后,以递归的方法调用流程路由控制方法,该方法此时获得的所述业务信息分别是SFI和FIS;否则,调用实体层的方法修改FIS的状态为“就绪”,把执行结果通知给所述接口层,并结束操作。
2.根据权利要求1所述的一种支持组合业务的工作流引擎,其特征在于:所述接口层提供了三种方式的接口,包括API接口、Corba接口、WebService接口,便于工作流引擎与电信业务系统的衔接。
3.根据权利要求1所述的一种支持组合业务的工作流引擎,其特征在于:所述组合业务规则采用GSR表示:GSR={GS,SG,A,GSS,SS,SE,GSE},其中GS表示组合业务,SG是一个集合,其表示GS下属的独立子业务,A表示组合业务当前执行的操作,GSS表示组合业务的分解环节,SS表示独立子业务的起始环节,SE表示独立子业务的结束环节,GSE表示组合业务的合并环节。
4.根据权利要求1所述的一种支持组合业务的工作流引擎,其特征在于:预定义的路由规则采用FDR表示:FDR={S,T,F,C,M},其中,T表示业务流程实例中每个步骤需要执行的任务,S表示每个步骤执行前或者执行后的流程实例的状态,F表示S与T之间的关联关系,C表示流程实例的属性,M表示流程实例的初始集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110457990.8A CN102592198B (zh) | 2011-12-30 | 2011-12-30 | 一种支持组合业务的工作流引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110457990.8A CN102592198B (zh) | 2011-12-30 | 2011-12-30 | 一种支持组合业务的工作流引擎 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102592198A CN102592198A (zh) | 2012-07-18 |
CN102592198B true CN102592198B (zh) | 2015-09-30 |
Family
ID=46480802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110457990.8A Active CN102592198B (zh) | 2011-12-30 | 2011-12-30 | 一种支持组合业务的工作流引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102592198B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915482A (zh) * | 2012-09-25 | 2013-02-06 | 浙江图讯科技有限公司 | 一种用于面向工矿企业云服务平台安全生产过程控制与管理方法 |
CN102903010A (zh) * | 2012-09-25 | 2013-01-30 | 浙江图讯科技有限公司 | 一种用于面向工矿企业的安全生产云服务平台的基于支持向量机的异常判断方法 |
CN102903009B (zh) * | 2012-09-25 | 2017-03-22 | 浙江图讯科技有限公司 | 一种用于面向工矿企业的安全生产云服务平台的基于广义规则推理的异常诊断方法 |
CN103345664A (zh) * | 2013-05-31 | 2013-10-09 | 华为技术有限公司 | 工作流-任务调度适配方法及系统 |
CN104915246A (zh) * | 2014-03-12 | 2015-09-16 | 浙江浙大中控信息技术有限公司 | 一种基于工作流的高可配分布式实时计算引擎及控制方法 |
CN105323256B (zh) * | 2015-11-25 | 2019-01-22 | 北京荣之联科技股份有限公司 | 一种正反馈服务目录生成方法及系统 |
CN107545338B (zh) * | 2016-06-27 | 2021-06-04 | 百度在线网络技术(北京)有限公司 | 业务数据处理方法及业务数据处理系统 |
CN108206894B (zh) * | 2016-12-20 | 2020-05-12 | 中国移动通信有限公司研究院 | 一种业务处理系统、方法及装置 |
CN108305010B (zh) * | 2018-02-10 | 2021-07-20 | 西安精雕软件科技有限公司 | 一种工作流引擎系统及其跨平台、跨应用的流程推进方法 |
CN110334907A (zh) * | 2019-06-03 | 2019-10-15 | 武汉大学 | 一种基于工作流的灾害应急任务组合方法 |
CN110908812B (zh) * | 2019-11-11 | 2023-06-13 | 腾讯科技(深圳)有限公司 | 业务数据处理方法、装置、可读存储介质和计算机设备 |
CN110968408B (zh) * | 2019-11-13 | 2023-04-07 | 泰康保险集团股份有限公司 | 一种执行流移除方法、装置、电子设备及存储介质 |
CN113253982A (zh) * | 2021-05-11 | 2021-08-13 | 广州以大计算机科技有限公司 | 一种数据流定制管理系统 |
CN117078212B (zh) * | 2023-10-07 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 业务流程处理方法及装置、电子设备、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1805345A (zh) * | 2005-01-12 | 2006-07-19 | 北京航空航天大学 | Web服务工作流处理器 |
CN101105843A (zh) * | 2006-07-14 | 2008-01-16 | 上海移动通信有限责任公司 | 通信领域的电子化投诉处理系统及方法 |
CN101630388A (zh) * | 2009-07-31 | 2010-01-20 | 南京邮电大学 | 基于多级染色托肯的复杂业务流程同步控制的方法 |
-
2011
- 2011-12-30 CN CN201110457990.8A patent/CN102592198B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1805345A (zh) * | 2005-01-12 | 2006-07-19 | 北京航空航天大学 | Web服务工作流处理器 |
CN101105843A (zh) * | 2006-07-14 | 2008-01-16 | 上海移动通信有限责任公司 | 通信领域的电子化投诉处理系统及方法 |
CN101630388A (zh) * | 2009-07-31 | 2010-01-20 | 南京邮电大学 | 基于多级染色托肯的复杂业务流程同步控制的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102592198A (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102592198B (zh) | 一种支持组合业务的工作流引擎 | |
CN107943457B (zh) | 一种面向业务对象的工作流建模方法及系统 | |
CN103092698B (zh) | 云计算应用自动部署系统及方法 | |
CN106293950B (zh) | 一种面向集群系统的资源优化管理方法 | |
CN109901926A (zh) | 基于大数据行为调度应用任务的方法、服务器及存储介质 | |
CN102521056B (zh) | 任务分配装置和任务分配方法 | |
CN101873334B (zh) | 一种状态驱动的可执行业务流程执行方法 | |
CN103235835B (zh) | 用于数据库集群的查询实现方法和装置 | |
CN110377406A (zh) | 一种任务调度方法、装置、存储介质和服务器节点 | |
CN102662725B (zh) | 一种事件驱动的高并发流程虚拟机实现方法 | |
CN102004663B (zh) | 一种多任务并发调度的系统及方法 | |
CN108229779B (zh) | 一种面向产线的智能动态服务组合方法和系统 | |
CN103023980B (zh) | 一种云平台处理用户服务请求的方法和系统 | |
CN111240935B (zh) | 一种自动化智能运维系统及运维方法 | |
CN110704465B (zh) | 一种处理业务工单表的方法、装置及存储介质 | |
CN102855173A (zh) | 一种软件性能测试方法和装置 | |
CN102929929A (zh) | 一种数据汇总方法和装置 | |
CN105809302A (zh) | 一种基于cep推理引擎的产线调度方法和系统 | |
CN110134506A (zh) | 基于处理器内核动态的实时动态关键路径多核调度方法 | |
CN102214094B (zh) | 经由异步编程模型执行操作 | |
CN112365239A (zh) | 一种基于事件的云服务管理处置方法及系统 | |
CN113225269B (zh) | 基于容器的工作流调度方法、装置、系统及存储介质 | |
CN110162381A (zh) | 一种容器内代理执行方法 | |
CN109857965A (zh) | 基于soa的气象服务产品发布服务器控制系统及方法 | |
CN114443050A (zh) | 一种基于ci引擎流水线的新型日志展示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350000 No. 22 water head road Doumen, Jinan District, Fuzhou, Fujian Patentee after: China Electric fufu Mdt InfoTech Ltd Address before: 350000 No. 22 water head road Doumen, Jinan District, Fuzhou, Fujian Patentee before: Fujian Fushitong Information Software Co.,Ltd. |