一种业务的实现方法及装置的制作方法

文档序号:6562858阅读:175来源:国知局
专利名称:一种业务的实现方法及装置的制作方法
技术领域
本发明涉及工作流技术领域,尤其涉及一种业务的实现方法及装置。
背景技术
为实现整体业务目标或促进目标实现,工作流管理系统制订了一套规则,在参与者之间传递文件、信息或任务。简单地说,工作流管理系统是实现某一业务流程整体或部分的计算机化或自动化。
由于业务流程的执行可能涉及多个部门,因此业务流程可能会很复杂,而且,在不同的业务流程中,可能包括相同的处理过程,为了提高工作效率以及简化业务流程的复杂度,可以将业务流程分解为较小单位的业务流程,这里,将业务流程称为父流程,较小单位的业务流程称为“子流程”,每个子流程还可以进一步分解为更小的子流程。
在工作流管理联盟(WFMC,Workflow Management Coalition)制订的接口规范中,按照子流程的执行方式的不同,将子流程划分为同步子流程和异步子流程两种类型。
在执行父流程过程中,如果正在执行的子流程为同步子流程,则父流程需要等待该子流程执行完成后,才继续运行。
在执行父流程过程中,如果正在执行的子流程为异步子流程,则父流程不需要等待该子流程执行完成,即可继续运行。
目前,在设计工作流管理系统的过程中,较普遍的解决方案是分别定义子流程模板和父流程模板,父流程模板中包括多个子流程节点。每个子流程节点对应一个子流程。并且,配置每个子流程节点所对应的子流程模板名称和子流程的执行方式。
在父流程执行过程中,当执行到一子流程节点时,工作流引擎读取该子流程节点对应的子流程模板名称和执行方式,执行该子流程,并且父流程根据所述执行方式决定是否等待该子流程执行完成。
现有工作流管理系统中只能配置子流程的模板名称和类型,并默认在一个子流程节点中设置一个子流程。用户无法根据需要配置子流程个数,且子流程的模板名称和类型也必须在定义模板时就确定好,无法在运行期再动态的指定,缺乏灵活性。
由于在业务建模时,设计者可能不知道将要建立的子流程,其确切流程只有在流程实际运行时才知道;需要建立的子流程的数量不能在业务建模时确定,只能在运行时才能确定;而且,需要建立的子流程的执行方式也不能在建模时确定,只能在运行时才能确定。
例如在电信应用中,存在大量需要动态执行一些子流程的情况,如省局为了完成某项任务,会在某个环节上下派工单到各个子局点来处理,这里所述的省局点要完成的任务对应了一个父流程,子局点在处理完成后,回单给省局,省局再继续处理,这里所述的某个环节相当于子流程节点,工单相当于子流程,一个子局点对应了一个工单,也就是一个子流程。绝大多少情况下,具体下派子局点的个数是不定的,且各个子局点有可能执行不同的任务,也就是说在一个子流程节点可能需要执行不同的子流程,而对于这些任务,某些任务省局点需要等待子局点处理完成回调后才能继续往下处理,也就是子流程的执行方式为同步执行方式的情况,某些任务是可以并行处理的,无需等待子局点处理完成并回单,这种方式对应的是子流程的执行方式为异步执行方式。
综上所述,现有技术中,由于在业务建模期,在一个子流程节点中只能设置一个子流程,并且需要预先配置该子流程的执行方式,在业务流程运行过程中,直接执行配置的子流程,并且父流程按照该子流程的执行方式确定自身是否需要等待,而无法根据当前实际的业务实例确定子流程的数量、名称以及执行方式,因此,现有技术中的业务的实现方式不灵活。

发明内容
本发明实施例的主要目的是提供一种业务的实现方法及装置,使父流程运行过程中,可以根据运行期间实际情况灵活设置子流程。
本发明的另一个主要目的是,在父流程运行过程中,能根据运行期间的实际情况灵活创建子流程。
本发明实施例提供的一种业务的实现方法是这样实现的创建父流程,所述父流程包括至少一个动态子流程节点,该方法包括当运行到所述父流程中一动态子流程节点时,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建并运行子流程,并根据所述动态子流程信息中的子流程执行方式,继续运行所述父流程。
本发明实施例提供的一种业务的创建方法包括当运行父流程时,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建子流程。
本发明实施例提供的一种业务的实现装置包括子流程单元,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建并运行子流程;父流程单元,用于运行父流程,当运行到所述父流程中一动态子流程节点时,根据所述动态子流程信息中的子流程执行方式,继续运行所述父流程;其中,所述子流程单元在创建并运行子流程之前会接收所述父流程单元在运行到所述父流程中一动态子流程节点时所输出的触发信号。
本发明实施例提供的一种业务的创建装置包括存储单元,用于存储配置的动态子流程信息,其中包括子流程标识及该子流程标识对应的子流程执行方式;创建单元,用于根据所述子流程标识及该子流程标识对应的子流程执行方式,创建子流程。
本发明实施例,通过在父流程中设置至少一个动态子流程节点,并在父流程运行过程中根据实际需要配置动态子流程信息,当运行到所述父流程中一动态子流程节点时,根据配置的所述动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建并运行子流程,并根据所述每组动态子流程信息中子流程的执行方式,继续运行所述父流程的技术方案,使得如果需要在该动态子流程节点配置多个子流程,只需配置多个子流程标识及该子流程标识对应的子流程执行方式即可。本发明实施例可以实现在单一子流程节点创建多个子流程,并且可以动态创建不同类型的子流程,为相同业务创建不同数量的子流程,使用户可以根据实际的业务实例确定子流程的数量、名称以及执行方式,使业务的实现更加灵活便捷。


图1为本发明方法的流程示意图;图2为本发明方法实施例一的流程示意图;图3为本发明方法实施例二的流程示意图;图4为本发明一种业务的实现装置具体实施方式
的结构示意图;图5为本发明一种业务的创建装置具体实施方式
的结构示意图。
具体实施例方式
本发明中,在创建父流程时,定义至少一个动态子流程节点,在定义所述动态子流程节点时,无需定义子流程标识和该子流程标识对应的子流程执行方式,而是在运行所述父流程时,根据实际需要确定不同的子流程标识和该子流程标识对应的子流程执行方式,即本发明在运行所述父流程时,配置至少一组动态子流程信息,每组动态子流程信息包括子流程标识以及该子流程标识对应的子流程执行方式;当运行到所述父流程中一动态子流程节点时,根据每个子流程标识及该子流程的执行方式,创建并运行子流程,并根据所述每组动态子流程信息中子流程的执行方式,继续运行所述父流程,实现相应的业务,使实现业务的操作更加灵活便捷;其中,所述子流程的执行方式为同步执行方式,或异步执行方式;当至少有一个子流程标识对应的子流程执行方式为同步执行方式时,则所述运行子流程,并根据所述动态子流程信息中的子流程执行方式,继续执行所述父流程的步骤为运行子流程,所述父流程等待该动态子流程节点中所有同步执行方式的子流程运行完毕后,继续运行;当所有子流程标识对应的执行方式都为异步执行方式时,则所述运行子流程,并根据所述动态子流程信息中的子流程执行方式,继续执行所述父流程的步骤为运行子流程,并继续运行所述父流程。
本发明一种业务的创建方法包括当运行到父流程中一动态子流程节点时,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建子流程。那么,参见图1,本发明一种业务的实现方法包括S101、创建包括至少一个动态子流程节点的父流程;S102、当运行到所述父流程中一动态子流程节点时,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建并运行子流程,并根据所述动态子流程信息中的子流程执行方式,继续运行所述父流程。
实施例一参见图2,本发明一种业务的实现方法包括S201、在父流程中设置动态子流程节点,并为该动态子流程节点设置对象变量;所述的对象变量用于接收动态子流程信息,所述动态子流程信息包括子流程的标识和执行方式,也就是说在创建所述父流程的过程中,为该父流程设置了一个包含对象变量的动态子流程节点,在运行所述父流程时,根据实际需要对所述对象变量赋值,例如,在这个动态子流程节点实际需要三个子流程来完成业务,那么所述的对象变量就包括三组动态子流程信息,每组动态子流程信息包括子流程的名称和执行方式,那么在父流程执行到这一动态子流程节点时,就按照所述对象变量中的每组子流程的名称创建子流程,父流程根据每组子流程的执行方式决定是否等待;S202、在执行父流程的过程中,将所述对象变量的值设置为动态子流程信息的值,并根据所述对象变量的值创建并执行子流程;其中,所述将所述对象变量的值设置为动态子流程信息的值的步骤包括定义一种数据结构,所述的数据结构包括两种类型的数据对象,分别为具体数据对象和集合数据对象;所述的具体数据对象与一个具体的子流程相对应,存储了具体的子流程的标识和执行方式,即一组动态子流程信息;所述的集合数据对象为所述的具体数据对象的封装,是各具体的子流程的流程信息的集合,即包括至少一组动态子流程信息,如果是三组动态子流程信息,则该集合数据对象为所述三组动态子流程信息的集合;将所述集合数据对象的值作为所述对象变量的值,即如果集合数据对象为所述三组动态子流程信息的集合,则所述的对象变量的值包括所述三组动态子流程信息,也就是三组动态子流程的标识及执行方式;因此,在执行父流程的过程中,根据实际的业务实例,设置各子流程的具体数据对象,并将该具体数据对象设置到所述集合数据对象中,再将所述对象变量的值设置为所述集合数据对象的值,即将所述集合数据对象赋值给所述对象变量,那么根据该对象变量中的动态子流程信息,创建并运行子流程;S203、根据子流程的执行方式,运行父流程;当对象变量中的子流程的执行方式都为异步执行方式时,继续运行父流程;当对象变量中的子流程的执行方式包括同步执行方式时,父流程等待所有动态子流程节点中的所有同步执行方式的子流程执行完毕后,继续执行。
实施例二
参见图3,一个父流程中需要执行两个不同模板的子流程时,其中一个子流程的执行方式为同步执行方式,一个子流程的执行方式为异步执行方式,则本发明一种业务的实现方法具体包括S301、设置子流程模板,根据实际业务流程分别完成各子流程模板的建模;其中,所述的子流程模板名称分别为subflow1和subflow2;subflow1子流程所对应的执行方式为同步执行方式;subflow2子流程所对应的执行方式为异步执行方式;所述的流程模板为对实际业务流程的抽象定义,是流程的一个定义,是静态的;S302、设置父流程模板,并在父流程模板中定义对象变量;其中,所述的对象变量可以取名为subflowObj;这里所述的对象变量,也就是所述的用于接收动态子流程信息的对象变量,所述动态子流程信息包括子流程的标识和执行方式,也就是说在创建所述父流程的过程中,为该父流程设置了一个包含对象变量的动态子流程节点,在运行所述父流程时,根据实际需要对所述对象变量赋值,例如,在这个动态子流程节点实际需要两个子流程来完成业务,那么所述的对象变量就包括两组动态子流程信息,每组动态子流程信息包括子流程的名称和执行方式,那么在父流程执行到这一动态子流程节点时,就按照所述对象变量中的每组子流程的名称创建子流程,父流程根据每组子流程的执行方式决定是否等待;S303、在父流程模板设置动态子流程节点,并设置该动态子流程节点的名称;该动态子流程节点包含对象变量;所述的子流程节点所对应的子流程为动态子流程;设置完该动态子流程节点后,根据业务需要,再添加其他的节点到父流程中,完成父流程的建模;S304、在运行父流程的过程中,根据实际的业务实例,设置各个子流程的具体数据对象;本实施例中有两个业务实例需要执行,所以分别设置两个具体数据对象,所述的具体数据对象存储了具体业务实例的流程信息,一个具体数据对象对应了一个具体业务实例的流程信息;所述的流程的信息包括流程的名称和执行方式;本实施例中,两个业务实例的流程的名称分别为subflow1和subflow2,流程的执行方式分别为同步和异步的执行方式;S305、依次将各个子流程的具体数据对象添加到集合数据对象中;所述的具体数据对象和集合数据对象的数据结构是预先定义好的,这个具体数据对象的数据结构包括子流程模板的名称和子流程的执行方式;这里所述的集合数据对象,也就是所述的具体数据对象的封装,是各具体的子流程的流程信息的集合,即包括至少一组动态子流程信息,如果是两组动态子流程信息,则该集合数据对象为所述两组动态子流程信息的集合;可以在父流程执行到该子流程节点前,设置各个子流程的具体数据对象,并依次添加到集合数据对象中;S306、将所述集合数据对象赋值给所述对象变量;将所述集合数据对象的值作为所述对象变量的值,即如果集合数据对象为两组动态子流程信息的集合,则所述的对象变量的值包括所述两组动态子流程信息,也就是两组动态子流程的标识及执行方式,即一组动态子流程信息的标识为subflow1,其执行方式为同步的执行方式,另一组动态子流程信息的标识为subflow2,其执行方式为异步的执行方式;S307、根据所述对象变量的值执行所述动态子流程节点;所述对象变量的值为两个业务实例的流程的名称subflow1和subflow2,流程的执行方式同步和异步的执行方式;在父流程的执行过程中,从对象变量中依次获得业务实例的流程的名称和执行方式,创建并执行相应的业务实例,并判断业务流程的执行方式,如果有一个业务流程的执行方式为同步的执行方式,则父流程等待同步子流程执行完毕后继续执行;如果业务流程的执行方式都为异步的执行方式,则父流程不等待子流程执行完毕后再继续执行;所述的同步子流程的执行方式是同步的执行方式;本实施例的两个业务流程的执行方式分别为同步和异步的执行方式,因此,父流程要等待同步子流程subflow1执行完毕后继续执行,如果还有其他的同步子流程的话,父流程则要等待所有的同步子流程执行完毕后再继续执行。
应当理解,实现本发明方法的软件可以存储于一计算机可读取存储介质中,该软件的在执行时,包括如下步骤创建父流程,所述父流程包括至少一个动态子流程节点;当运行到所述父流程中一动态子流程节点时,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建并运行子流程,并根据所述动态子流程信息中的子流程执行方式,继续运行所述父流程;或者,包括如下步骤当运行父流程时,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建子流程;所述的存储介质,如ROM/RAM、磁碟、光盘等。
实施例三参见图4,本发明一种业务的实现装置具体包括父流程单元401和子流程单元402;所述父流程单元401,运行父流程,当运行到所述父流程中一动态子流程节点时,向所述子流程单元402发送触发信号,子流程单元402在接收到所述触发信号后,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建并运行子流程,所述父流程单元401,根据所述动态子流程信息中的子流程执行方式,继续运行所述父流程;所述子流程执行方式为同步执行方式,或异步执行方式;
所述动态子流程信息包括至少一个子流程标识及该子流程标识对应的子流程执行方式;所述父流程单元401为第一父流程单元,用于在运行到所述父流程中一动态子流程节点时,输出第一触发信号给第一子流程单元;所述子流程单元402为所述第一子流程单元,用于接收到所述第一触发信号后,在配置的动态子流程信息中至少有一个子流程执行方式为同步执行方式时,创建并运行子流程,并在运行完子流程后,输出第一通知信号给所述父流程单元401;所述父流程单元401接收到所述第一通知信号后,继续运行父流程;所述父流程单元401为第二父流程单元,用于在运行到所述父流程中一动态子流程节点时,输出第二触发信号给第二子流程单元;所述子流程单元402为所述第二子流程单元,用于接收到所述第二触发信号后,在配置的动态子流程信息中所有子流程执行方式都为异步执行方式时,创建并运行子流程,同时输出第二通知信号给所述父流程单元401;所述父流程单元401接收到所述第二通知信号后,继续运行父流程。
实施例四参见图5,本发明一种业务的创建装置具体包括存储单元501和创建单元502;所述存储单元501,用于存储配置的动态子流程信息,其中包括子流程标识及该子流程标识对应的子流程执行方式;所述创建单元502,用于根据所述子流程标识及该子流程标识对应的子流程执行方式,创建子流程。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种业务的实现方法,其特征在于,创建父流程,所述父流程包括至少一个动态子流程节点,该方法包括当运行到所述父流程中一动态子流程节点时,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建并运行子流程,并根据所述动态子流程信息中的子流程执行方式,继续运行所述父流程。
2.如权利要求1所述的方法,其特征在于,所述动态子流程信息包括至少一个子流程标识及该子流程标识对应的子流程执行方式。
3.如权利要求1所述的方法,其特征在于,当配置的所述动态子流程信息中至少有一个子流程标识对应的子流程执行方式为同步执行方式时,则所述运行子流程,并根据所述动态子流程信息中的子流程执行方式,继续运行所述父流程的步骤为运行子流程,等待该动态子流程节点中所有同步执行方式的子流程运行完毕后,继续运行所述父流程。
4.如权利要求1所述的方法,其特征在于,当配置的所述动态子流程信息中所有子流程标识对应的子流程执行方式都为异步执行方式时,则所述运行子流程,并根据所述动态子流程信息中的子流程执行方式,继续执行所述父流程的步骤为运行子流程的同时,继续运行所述父流程。
5.一种业务的创建方法,其特征在于,该方法包括当运行父流程时,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建子流程。
6.如权利要求5所述的方法,其特征在于,所述创建子流程的步骤,是在运行到父流程中一动态子流程节点时进行的。
7.一种业务实现装置,其特征在于,该装置包括子流程单元,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建并运行子流程;父流程单元,用于运行父流程,当运行到所述父流程中一动态子流程节点时,根据所述动态子流程信息中的子流程执行方式,继续运行所述父流程;其中,所述子流程单元在创建并运行子流程之前会接收所述父流程单元在运行到所述父流程中一动态子流程节点时所输出的触发信号。
8.如权利要求7所述的装置,其特征在于,所述动态子流程信息包括至少一个子流程标识及该子流程标识对应的子流程执行方式。
9.如权利要求7所述的装置,其特征在于,所述子流程单元为第一子流程单元,用于在配置的动态子流程信息中至少有一个子流程执行方式为同步执行方式时,创建并运行子流程,并在运行完子流程后,输出第一通知信号;所述父流程单元为第一父流程单元,用于在运行到所述父流程中一动态子流程节点时,输出第一触发信号,并在接收到所述第一通知信号后,继续运行父流程;其中,所述第一子流程单元在创建并运行子流程之前会接收所述第一父流程单元输出的第一触发信号。
10.如权利要求7所述的装置,其特征在于,所述子流程单元为第二子流程单元,用于在配置的动态子流程信息中所有子流程执行方式都为异步执行方式时,创建并运行子流程,同时输出第二通知信号;所述父流程单元为第二父流程单元,用于在运行到所述父流程中一动态子流程节点时,输出第二触发信号,并在接收到所述第二通知信号后,继续运行父流程;其中,所述第二子流程单元在创建并运行子流程之前会接收所述第二父流程单元输出的第二触发信号。
11.一种业务的创建装置,其特征在于,该装置包括存储单元,用于存储配置的动态子流程信息,其中包括子流程标识及该子流程标识对应的子流程执行方式;创建单元,用于根据所述子流程标识及该子流程标识对应的子流程执行方式,创建子流程。
全文摘要
本发明公开了一种业务的实现方法及装置,用以解决现有技术中业务的实现方式不灵活的问题。本发明一种业务的实现方法包括创建父流程,所述父流程包括至少一个动态子流程节点,当运行到所述父流程中一动态子流程节点时,根据配置的动态子流程信息中子流程标识及该子流程标识对应的子流程执行方式,创建并运行子流程,并根据所述动态子流程信息中的子流程执行方式,继续运行所述父流程。本发明还提供了一种业务的实现装置和一种业务的创建方法及装置。利用本发明,使父流程运行过程中,可以根据运行期间实际情况灵活设置子流程。
文档编号G06Q10/00GK1949257SQ200610145928
公开日2007年4月18日 申请日期2006年11月23日 优先权日2006年11月23日
发明者普芮尚斯, 苏巴斯 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1