一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种更新流程定义的方法及装置与流程

2022-06-01 15:38:59 来源:中国专利 TAG:


1.本公开涉及网络技术领域,尤其涉及一种更新流程定义的方法及装置。


背景技术:

2.现有业务中,一般流程实例都是按照流程定义的规则执行,然而会存在动态地修改流程实例的流程定义的需求,即:流程实例的运行中不再按照发起时的流程定义来执行,而是按照实时修改后的流程定义来执行。现有技术一般采用直接修改发起时流程定义,然后流程实例继续执行。由于发起时的流程定义一般同时定义多个流程实例,因此直接修改发起时的流程定义会影响所有发起流程定义发起的流程实例,从而容易引发全局性问题。


技术实现要素:

3.本公开提供一种更新流程定义的方法及装置,用以解决现有技术中流程定义修改引起所有定义的流程实例发生改变的缺陷,实现只改变目标流程实例的流程定义而不影响同一个流程定义发起的其他流程实例。
4.本公开提供一种更新流程定义的方法,包括:
5.获取目标流程实例的原始流程定义;
6.根据所述原始流程定义获取目标流程实例的节点标识信息;
7.建立目标流程实例的节点变更集合;
8.执行目标流程实例,将执行过程中节点的变化情况存入所述节点变更集合中;
9.获取所述原始流程定义的目标副本;
10.根据所述节点标识信息将所述节点变更集合更新至所述目标副本中,得到更新的对应目标流程实例的流程定义。
11.根据本公开提供的一种更新流程定义的方法,所述获取目标流程实例的原始流程定义,具体包括:获取定义流程实例集合的原始流程定义,其中,所述流程实例集合包括所述目标流程实例。
12.根据本公开提供的一种更新流程定义的方法,所述根据所述原始流程定义获取目标流程实例的节点标识信息,具体包括:根据所述原始流程定义获取对应目标流程实例中的各节点的标识及其配置项,并分别存入所述节点标识信息中。
13.根据本公开提供的一种更新流程定义的方法,所述建立目标流程实例的节点变更集合,具体包括:
14.建立用于描述目标流程实例的流程定义中删除的节点的信息的节点删除集合;
15.建立用于描述目标流程实例的流程定义中修改的节点的信息的节点修改集合;和/或
16.建立用于描述目标流程实例的流程定义中增加的节点的信息的节点新增集合。
17.根据本公开提供的一种更新流程定义的方法,所述执行目标流程实例,将执行过程中节点的变化情况存入所述节点变更集合中,具体包括:
18.在流程实例执行过程中,将相较于其原始流程定义中删除的节点的标识存入所述节点删除集合;
19.将相较于其原始流程定义中修改的节点的标识以及修改的配置项存入所述节点修改集合;和/或
20.将相较于其原始流程定义中新增的节点的标识及其配置项存入所述节点新增集合。
21.根据本公开提供的一种更新流程定义的方法,所述根据所述节点标识信息将所述节点变更集合更新至所述目标副本中,得到更新的对应目标流程实例的流程定义,具体包括:
22.将节点删除集合更新至所述目标副本中,根据节点删除集合中记录的各标识,在目标副本中将各标识对应的节点删除;
23.将节点修改集合更新至所述目标副本中,根据节点修改集合中记录的各标识及修改的配置项,在目标副本中将各标识对应的节点的配置项进行修改;和/或
24.将节点新增集合更新至所述目标副本中,根据节点新增集合中记录的各标识及其配置项,在目标副本中增加各标识对应的节点并增加对应的配置项。
25.根据本公开提供的一种更新流程定义的方法,所述根据所述节点标识信息将所述节点变更集合更新至所述目标副本中,得到更新的对应目标流程实例的流程定义,之后还包括:将所述节点变更集合持久化在所述目标副本中。
26.本公开还提供一种更新流程定义的装置,包括:
27.原始流程定义获取单元,用于获取目标流程实例的原始流程定义;
28.节点标识获取单元,用于根据所述原始流程定义获取目标流程实例的节点标识信息;
29.节点变更集合建立单元,用于建立目标流程实例的节点变更集合;
30.节点变更集合更新单元,用于执行目标流程实例,将执行过程中节点的变化情况存入所述节点变更集合中;
31.目标副本获取单元,用于获取所述原始流程定义的目标副本;
32.副本更新单元,用于根据所述节点标识信息将所述节点变更集合更新至所述目标副本中,得到更新的对应目标流程实例的流程定义。
33.本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述更新流程定义的方法的步骤。
34.本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述更新流程定义的方法的步骤。
35.本公开提供的更新流程定义的方法及装置,通过在目标流程实例执行中将其节点的更新变化信息存入节点变更集合,通过将节点变更集合更新至对应目标流程实例的原始流程定义的目标副本中,从而在所述目标副本中改变目标流程实例的节点的定义,实现动态修改对应目标流程实例的流程定义,而不会对原始流程定义对应的除目标流程实例外的其他流程实例的定义产生影响。
附图说明
36.为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1是本公开提供的更新流程定义的方法的流程示意图;
38.图2是本公开提供的对应图1中步骤130方法的具体流程示意图;
39.图3是本公开提供的对应图1中步骤160方法的具体流程示意图;
40.图4是本公开提供的流程实例及流程定义的数据结构示意图;
41.图5是本公开提供的更新流程定义的装置的结构示意图;
42.图6是本公开提供的电子设备的结构示意图;
具体实施方式
43.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
44.在对本公开实施例提供的工作流系统中动态修改流程实例定义的方法的实施例进行说明之前,先对相关技术进行简要介绍。
45.流程实例都是按照流程定义的规则执行,然而会存在需要动态修改流程定义的情况,即:流程实例在运行中不再按照发起时的原始流程定义来执行,而是按照实时修改后的流程定义来执行。为了实现流程实例的流程定义的动态修改,现有技术一般采用以下两种方法:
46.第一种方法:直接修改发起时的原始流程定义,然后流程实例继续执行;
47.第二种方法:每发起一个流程实例,同时复制一份流程定义,然后按照复制的流程定义(副本)执行,修改时直接修改这个副本,然后流程实例继续执行。
48.对于上述第一种方法而言,直接修改发起时的原始流程定义,会影响所有原始流程定义发起的流程实例,从而引发全局性问题,也就是说一个目标流程实例的定义的变更会使得原始流程定义对应的除目标流程实例外的其他流程实例的定义也都发生了变更,因此这种方法在大部分情况下是不可行的;
49.对于上述第二种方法而言,如果一个复杂的原始流程定义发起很多个流程实例,通过第二种方法对应每一流程实例相应保存一个对应的定义副本,因此会产生较多的副本,对于较低频率进行流程定义修改的流程实例而言,那么众多的定义副本就会占用巨大的重复的存储空间,从而产生较多不必要的资源浪费。
50.如图1所示,本公开实施例提供一种更新流程定义的方法,包括:
51.步骤110:获取目标流程实例的原始流程定义;
52.本公开实施例中,对应步骤110,所述获取目标流程实例的原始流程定义,具体包括:获取定义流程实例集合的原始流程定义,其中,所述流程实例集合包括所述目标流程实
例。具体地,一个原始流程定义通常会对应的发起多个流程实例,本公开实施例中的目标流程实例是指一个原始流程定义对应的多个流程实例中的一个且是一个要修改其定义的流程实例。
53.步骤120:根据所述原始流程定义获取目标流程实例的节点标识信息;
54.具体地,一个流程定义对应的多个流程实例中,各流程实例都是由很多个节点组成的,每个节点都是有其特有的配置项的,而且不止一个。
55.本公开实施例中,对应步骤120,所述根据所述原始流程定义获取节点标识信息,具体包括:根据所述原始流程定义获取对应目标流程实例中的各节点的标识及其配置项,并分别存入所述节点标识信息中。具体地,所述节点标识信息中保存了目标流程实例中各节点的标识及其配置项,节点标识为节点id号。由原始流程定义发起目标流程实例时,目标流程实例会保存一个发起本流程实例的流程定义的标识信息。本公开实施例中,节点标识信息中汇总了对应目标流程实例中各节点的信息,为后续步骤提供节点标识以及配置项的索引。
56.步骤130:建立目标流程实例的节点变更集合;
57.具体地,对应目标流程实例建立对应的节点变更集合,由于流程实例是由多个节点构成的,因此随着目标流程实例的执行过程中,会根据实际情况会出现执行的节点的情况与原始流程定义中定义的节点的执行情况不符的情况,因此为了描述目标流程实例执行中的各节点的真实变化将目标流程实例在执行过程中节点执行情况相较于原始流程定义中定义的节点执行动作有变化的节点的改变信息都存入所述节点变更集合中。
58.本公开实施例中,对应步骤130中的建立目标流程实例的节点变更集合,可以包括建立节点删除集合、节点修改集合和/或节点新增集合。在技术方案的实际执行过程中,节点变更集合可以包括上述三个集合,也可以仅包括上述其中一种集合。
59.图2示出了步骤130的一个具体实施例,具体包括:
60.步骤210:建立用于描述目标流程实例的流程定义中删除的节点的信息的节点删除集合;具体地,节点删除集合用来记录原始流程定义中存在而目标流程实例执行中不存在的节点的信息。
61.步骤220:建立用于描述目标流程实例的流程定义中修改的节点的信息的节点修改集合;具体地,节点修改集合用来记录原始流程定义中存在且目标流程实例执行中也存在的节点,但节点的实际执行情况与原始流程定义中定义的执行动作不同的节点的信息。
62.步骤230:建立用于描述目标流程实例的流程定义中增加的节点的信息的节点新增集合。具体地,节点新增集合用来记录原始流程定义中不存在而目标流程实例执行中存在的节点的信息。
63.通过步骤210~230,可以建立目标流程实例的节点变更集合,为后续步骤中的更新流程定义提供基础。
64.步骤140:执行目标流程实例,将目标流程实例执行过程中节点的变化情况存入所述节点变更集合中;
65.具体地,在目标流程实例执行过程中,收集其各节点的变化情况,并将执行过程中节点的执行情况与原始流程定义中对应节点的定义的执行动作不一致的节点的信息存入所述节点变更集合中。
66.本公开实施例中,对应于步骤130中的节点变更集合可以包括节点删除集合、节点修改集合和/或节点新增集合,步骤140中也可以分别针对删除的节点标识存入节点删除集合、将修改的节点标识存入节点修改集合和/或将新增的节点标识存入节点新增集合。
67.在一个具体实施例中,步骤140具体包括:
68.在流程实例执行过程中,将相较于其原始流程定义中删除的节点的标识存入所述节点删除集合;
69.将相较于其原始流程定义中修改的节点的标识以及修改的配置项存入所述节点修改集合;和/或
70.将相较于其原始流程定义中新增的节点的标识及其配置项存入所述节点新增集合。
71.具体地,为了对不同节点的实际情况进行细化管理,由步骤210-230可知,分别建立了三个集合。
72.因此在本步骤中将在目标流程实例执行过程中,将原始流程定义中存在但在实例实际执行中未响应的节点的标识信息存入节点删除集合中;将原始流程定义中存在且在目标流程实例实际执行中也存在但是其实际响应情况与原始流程定义中定义的该节点的响应执行动作不同的节点的标识信息以及更改的配置项信息存入节点修改集合中;将原始流程定义中未定义但在目标流程实例实际执行中响应执行了的节点的标识信息以及配置项信息存入节点新增集合中。
73.本公开实施例中,由于节点删除集合中存储的是目标流程实例实际执行中相较于原始流程定义未执行的节点的信息,因此将目标流程实例执行过程中相较于原始流程定义中未执行的节点视为删除的节点,对应删除的节点只需要在原始流程定义中寻找到相应的节点位置并将其删除即可,因此节点删除集合中只需要存储要删除的节点的标识即可;由于节点修改集合中存储的是目标流程实例实际执行中相较于原始流程定义执行情况不同的节点的信息,因此将目标流程实例执行过程中相较于原始流程定义中执行情况不同的节点视为修改的节点,对应修改的节点需要在原始流程定义中寻找到相应的节点位置并修改其配置项,因此节点修改集合中需要存储要修改的节点的标识以及该节点要修改的配置项;由于节点新增集合中存储的是目标流程实例实际执行中执行而原始流程定义中未定义的节点的信息,因此将目标流程实例执行过程中相较于原始流程定义中增加的节点执视为新增的节点,对应新增的节点需要在原始流程定义中根据节点标识信息中记录的节点的标识位置将新增节点添加至对应的节点位置,并将新增节点的配置项补充至该节点定义的信息中,因此节点新增集合中需要存储要新增的节点的标识以及该节点的配置项。
74.步骤150:获取所述原始流程定义的目标副本;
75.本步骤中,原始流程定义中定义了包括目标流程实例在内的多个实例,为了只对目标流程实例的流程定义进行动态修改,获取一个用于目标流程实例的定义修改的目标副本,对目标流程实例的修改是在目标副本的基础上进行修改的。复制所述原始流程定义,形成对应所述目标流程实例的流程定义的所述目标副本。具体地,在内存中复制一份原始流程定义作为目标流程实例的定义副本即为目标副本,在之后对目标流程实例修改流程定义的过程都是在目标副本上进行的。
76.步骤160:根据所述节点标识信息将所述节点变更集合更新至所述目标副本中,得
到更新的对应目标流程实例的流程定义。
77.具体地,把存储节点变更信息的节点变更集合实施到目标副本上,形成最新的属于该目标流程实例的流程定义,实现目标流程实例的流程定义的动态修改。
78.本公开实施例中,对应于步骤140中可以分别针对删除的节点标识存入节点删除集合、将修改的节点标识存入节点修改集合和/或将新增的节点标识存入节点新增集合,步骤160也可以分别在目标副本中将各标识对应的节点删除、在目标副本中将各标识对应的节点的配置项进行修改和/或在目标副本中增加各标识对应的节点并增加对应的配置项。
79.在一个具体实施例中,参见图3,步骤160具体包括:
80.步骤310:将节点删除集合更新至所述目标副本中,根据节点删除集合中记录的各标识,在目标副本中将各标识对应的节点删除。
81.具体地,在目标副本中将节点删除集合中存储的要删除的节点的标识按照节点标识信息中定义的对应节点标识所处位置的指引,将其在目标副本中删除。
82.步骤320:将节点修改集合更新至所述目标副本中,根据节点修改集合中记录的各标识及修改的配置项,在目标副本中将各标识对应的节点的配置项进行修改。
83.具体地,在目标副本中将节点修改集合中存储的要修改的节点的标识及其配置项按照节点标识信息中定义的对应节点标识所处位置的指引,在目标副本中找到要修改的节点的位置,再将其配置项进行修改。
84.步骤330:将节点新增集合更新至所述目标副本中,根据节点新增集合中记录的各标识及其配置项,在目标副本中增加各标识对应的节点并增加对应的配置项。
85.具体地,在目标副本中将节点新增集合中存储的要新增的节点的标识及其配置项按照节点标识信息中定义的相邻节点标识所处位置的指引,在目标副本中找到新增的节点的对应位置,并对新增节点的配置项进行配置。
86.本发明实施例中,对应步骤160所述根据所述节点标识信息将所述节点变更集合更新至所述目标副本中,得到更新的对应目标流程实例的流程定义,之后还包括:将所述节点变更集合持久化在所述目标副本中。具体地,将节点变更集合持久化的目的是保存在目标流程实例的流程定义的更新,下次对目标流程实例执行时按照更新后的流程定义进行。
87.如图4所示,根据流程定义中的节点标识的定义获得流程实例的获取的节点标识信息,对应流程实例分别建立节点新增集合、节点修改集合以及节点删除集合以分别存储流程实例执行中的变更节点的变化情况;再将包含有节点新增集合、节点修改集合以及节点删除集合的节点变更集合更新在流程定义的副本中即可实现对应流程实例的流程定义的修改。
88.本公开实施例提供的更新流程定义的方法,通过在要更改流程定义的流程实例保存一个原始流程定义的副本,也即目标副本;并建立用于存储目标流程实例中执行节点变更信息的节点变更集合,可在目标流程实例的流程定义需要修改时将存储实例节点变更信息的节点变更集合实施在目标副本上,在目标副本上根据节点变更集合的节点信息相应修改对应的节点信息,从而实现动态修改某一个目标流程实例的流程定义,从而不会修改原始流程定义对应的其他的流程实例的定义;而且大大减少了因动态修改流程定义而需要的存储空间,尤其是变更较少的情况下,效果更佳。
89.下面对本公开实施例提供的工作流系统中动态修改流程实例定义的装置进行描
述,下文描述的工作流系统中动态修改流程实例定义的装置与上文描述的工作流系统中动态修改流程实例定义的方法可相互对应参照。
90.如图5所示,本公开实施例提供一种工作流系统中动态修改流程实例定义的装置,包括:
91.原始流程定义获取单元510,用于获取目标流程实例的原始流程定义;
92.本公开实施例中,原始流程定义获取单元510获取定义流程实例集合的原始流程定义,其中,所述流程实例集合包括所述目标流程实例;具体地,一个原始流程定义通常对应多个流程实例,所述目标流程实例是原始流程定义对应的多个流程实例中的一个。
93.节点标识获取单元520,用于根据所述原始流程定义获取目标流程实例的节点标识信息;
94.具体地,一个流程定义是由很多个节点组成的,每个节点都是有其特有的配置项的,而且不止一个。
95.本公开实施例中,节点标识获取单元520根据所述原始流程定义获取对应目标流程实例中的各节点的标识及其配置项,并分别存入所述节点标识信息中。具体地,所述节点标识信息中保存了目标流程实例中各节点的标识及其配置项,节点标识为节点id号。由原始流程定义发起目标流程实例时,目标流程实例会保存一个发起本流程实例的流程定义的标识信息。
96.节点变更集合建立单元530,用于建立目标流程实例的节点变更集合;
97.具体地,节点变更集合建立单元530对应目标流程实例建立对应的节点变更集合,由于流程实例是由多个节点构成的,因此随着目标流程实例的执行过程中,会根据实际情况会出现执行的节点的情况与原始流程定义中定义的节点的执行情况不符的情况,因此为了描述目标流程实例执行中的各节点的真实变化将目标流程实例执行中节点的改变信息都存入所述节点变更集合中。
98.本公开实施例中,节点变更集合建立单元530具体包括:
99.节点删除集合建立子单元,用于建立用于描述目标流程实例的流程定义中删除的节点的信息的节点删除集合;具体地,节点删除集合用来记录原始流程定义中存在而目标流程实例执行中不存在的节点的信息;
100.节点修改集合建立子单元,用于建立用于描述目标流程实例的流程定义中修改的节点的信息的节点修改集合;具体地,节点修改集合用来记录原始流程定义中存在且目标流程实例执行中也存在的节点,但节点的实际执行情况与原始流程定义中定义的执行动作不同的节点的信息;和/或
101.节点新增集合建立子单元,用于建立用于描述目标流程实例的流程定义中增加的节点的信息的节点新增集合。具体地,节点新增集合用来记录原始流程定义中不存在而目标流程实例执行中存在的节点的信息。
102.节点变更集合更新单元540,用于执行目标流程实例,将目标流程实例执行过程中节点的变化情况存入所述节点变更集合中;
103.具体地,节点变更集合更新单元540在目标流程实例执行过程中,收集其各节点的变化情况,并将执行过程中节点的执行情况与原始流程定义中对应节点定义的执行过程不一致的节点的信息存入所述节点变更集合中。
104.本公开实施例中,为了对不同节点的实际情况进行细化管理,分别建立了上述的三个集合,因此节点变更集合更新单元540在流程实例执行过程中,将相较于其原始流程定义中删除的节点的标识存入所述节点删除集合,将相较于其原始流程定义中修改的节点的标识以及修改的配置项存入所述节点修改集合,和/或将相较于其原始流程定义中新增的节点的标识及其配置项存入所述节点新增集合。
105.因此本发明实施例中将在目标流程实例执行过程中,将原始流程定义中存在但在实例实际执行中未响应的节点的标识信息存入节点删除集合中;将原始流程定义中存在且在目标流程实例实际执行中也存在但是其实际响应情况与原始流程定义中定义的该节点的响应执行动作不同的节点的标识信息以及更改的配置项信息存入节点修改集合中;将原始流程定义中未定义但在目标流程实例实际执行中响应执行了的节点的标识信息以及配置项信息存入节点新增集合中。
106.本公开实施例中,节点变更集合更新单元540在流程实例执行过程中,将相较于其原始流程定义中删除的节点的标识存入所述节点删除集合,将相较于其原始流程定义中修改的节点的标识以及修改的配置项存入所述节点修改集合,将相较于其原始流程定义中新增的节点的标识及其配置项存入所述节点新增集合。
107.本公开实施例中,由于节点删除集合中存储的是目标流程实例实际执行中相较于原始流程定义未执行的节点的信息,因此将目标流程实例执行过程中相较于原始流程定义中未执行的节点视为删除的节点,对应删除的节点只需要在原始流程定义中寻找到相应的节点位置并将其删除即可,因此节点删除集合中只需要存储要删除的节点的标识即可;由于节点修改集合中存储的是目标流程实例实际执行中相较于原始流程定义执行情况不同的节点的信息,因此将目标流程实例执行过程中相较于原始流程定义中执行情况不同的节点视为修改的节点,对应修改的节点需要在原始流程定义中寻找到相应的节点位置并修改其配置项,因此节点修改集合中需要存储要修改的节点的标识以及该节点要修改的配置项;由于节点新增集合中存储的是目标流程实例实际执行中执行而原始流程定义中未定义的节点的信息,因此将目标流程实例执行过程中相较于原始流程定义中增加的节点执视为新增的节点,对应新增的节点需要在原始流程定义中根据节点标识信息中记录的节点的标识位置将新增节点添加至对应的节点位置,并将新增节点的配置项补充至该节点定义的信息中,因此节点新增集合中需要存储要新增的节点的标识以及该节点的配置项。
108.目标副本获取单元550,用于获取原始流程定义的目标副本。
109.具体地,目标副本获取单元550复制所述原始流程定义,形成对应所述目标流程实例的流程定义的所述目标副本。在内存中复制一份原始流程定义作为目标流程实例的定义副本即为目标副本,在之后对目标流程实例修改流程定义的过程都是在目标副本上进行的。
110.副本更新单元560,用于根据所述节点标识信息将所述节点变更集合更新至所述目标副本中,得到更新的对应目标流程实例的流程定义。
111.具体地,副本更新单元560把存储节点变更信息的节点变更集合实施到目标副本上,形成最新的属于该目标流程实例的流程定义,实现目标流程实例的流程定义的动态修改。
112.本公开实施例中,副本更新单元560具体包括:
113.删除节点更新子单元,用于将节点删除集合更新至所述目标副本中,根据节点删除集合中记录的各标识,在目标副本中将各标识对应的节点删除;具体地,在目标副本中将节点删除集合中存储的要删除的节点的标识按照节点标识信息中定义的对应节点标识所处位置的指引,将其在目标副本中删除。
114.修改节点更新子单元,用于将节点修改集合更新至所述目标副本中,根据节点修改集合中记录的各标识及修改的配置项,在目标副本中将各标识对应的节点的配置项进行修改;具体地,在目标副本中将节点修改集合中存储的要修改的节点的标识及其配置项按照节点标识信息中定义的对应节点标识所处位置的指引,在目标副本中找到要修改的节点的位置,再将其配置项进行修改。
115.和/或
116.新增节点更新子单元,用于将节点新增集合更新至所述目标副本中,根据节点新增集合中记录的各标识及其配置项,在目标副本中增加各标识对应的节点并增加对应的配置项。
117.本公开实施例中,所述装置还包括副本持久化单元,用于将所述节点变更集合持久化在所述目标副本中。
118.图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行更新流程定义的方法,该方法包括:获取目标流程实例的原始流程定义;根据所述原始流程定义获取目标流程实例的节点标识信息;建立目标流程实例的节点变更集合;执行目标流程实例,将执行过程中节点的变化情况存入所述节点变更集合中;获取所述原始流程定义的目标副本;根据所述节点标识信息将所述节点变更集合更新至所述目标副本中,得到更新的对应目标流程实例的流程定义。
119.此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
120.另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的更新流程定义的方法,该方法包括:获取目标流程实例的原始流程定义;根据所述原始流程定义获取目标流程实例的节点标识信息;建立目标流程实例的节点变更集合;执行目标流程实例,将执行过程中节点的变化情况存入所述节点变更集合中;获取所述原始流程定义的目标副本;根据所述节点标识信息将所述节点变更集合更新至所述目标副本中,得到更新的对应目标流程实例的流程
定义。
121.又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的更新流程定义的方法,该方法包括:获取目标流程实例的原始流程定义;根据所述原始流程定义获取目标流程实例的节点标识信息;建立目标流程实例的节点变更集合;执行目标流程实例,将执行过程中节点的变化情况存入所述节点变更集合中;获取所述原始流程定义的目标副本;根据所述节点标识信息将所述节点变更集合更新至所述目标副本中,得到更新的对应目标流程实例的流程定义。
122.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
123.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
124.最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献