CN109656585A - 流程实例的升级方法、装置、设备及存储介质 - Google Patents
流程实例的升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109656585A CN109656585A CN201811136935.7A CN201811136935A CN109656585A CN 109656585 A CN109656585 A CN 109656585A CN 201811136935 A CN201811136935 A CN 201811136935A CN 109656585 A CN109656585 A CN 109656585A
- Authority
- CN
- China
- Prior art keywords
- node
- flow
- technological process
- upgraded
- new technological
- 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
- 238000000034 method Methods 0.000 title claims abstract description 263
- 230000008569 process Effects 0.000 claims abstract description 198
- 238000001514 detection method Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种流程实例的升级方法、装置、设备及存储介质,该方法包括步骤:当服务器接收到新流程模板后,检测新流程模板的节点是否携带升级配置属性;若检测到新流程模板的节点携带升级配置属性,则根据升级配置属性获取原始流程模板中待升级节点对应的升级后的目标节点信息;若检测到服务器的流程数据库中存在待升级流程实例,则将待升级流程实例当前所在节点的原始节点信息修改为目标节点信息,以升级待升级流程实例。本发明实现了在更新流程模板过程中,如果存在正在执行的流程实例,可自动升级正在执行的流程实例,使该流程实例在新流程模板中继续执行,提高了更新流程模块的智能性,简化了更新流程模板过程中,升级流程实例的操作流程。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种流程实例的升级方法、装置、设备及存储介质。
背景技术
目前工作流升级的场景非常普遍。如某个审批单流程,有3个三个审批步骤:A审批→B审批→C审批→完成。若该审批单流程需要简化成两个审批步骤:A审批→C审批→完成,则原来在B审批节点的审批单需要C审批节点来审批。这个过程需要考虑两种情况数据,一种是变更审批单流程后发起的审批流程。另一种数据是在途的审批数据,即在变更审批单流程过程中正在执行的审批流程。现有的流程引擎只处理了第一钟情况,也就是保证了新发起的审批流程是按照变更后的审批单流程来执行,而在途的审批数据仍然是按照老流程来执行,在途的审批数据需要用户手动修改数据库中的流程数据,才能按照新审批单流程执行。由此可知,在变更流程模板过程中,升级正在执行的流程实例过程操作繁琐。
发明内容
本发明的主要目的在于提供一种流程实例的升级方法、装置、设备及存储介质,旨在解决现有的在变更流程模板过程中,升级正在执行的流程实例过程操作繁琐的技术问题。
为实现上述目的,本发明提供一种流程实例的升级方法,所述流程实例的升级方法包括步骤:
当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性;
若检测到所述新流程模板的节点携带所述升级配置属性,则根据所述升级配置属性获取所述原始流程模板中待升级节点对应的升级后的目标节点信息;
若检测到所述服务器的流程数据库中存在待升级流程实例,则将所述待升级流程实例当前所在节点的原始节点信息修改为所述目标节点信息,以升级所述待升级流程实例。
优选地,所述当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性的步骤之后,还包括:
若检测到所述新流程模板的节点未携带所述升级配置属性,则获取所述新流程模板对应的业务规则;
若检测到所述服务器的流程数据库中存在待升级流程实例,则根据所述业务规则确定是否更新所述待升级流程实例。
优选地,所述若检测到所述服务器的流程数据库中存在待升级流程实例,则根据所述业务规则确定是否更新所述待升级流程实例的步骤之前,还包括:
确定所述待升级流程实例在所述新流程模板中所停留的目标节点;
所述若检测到所述服务器的流程数据库中存在待升级流程实例,则根据所述业务规则确定是否更新所述待升级流程实例的步骤包括:
若检测到所述服务器的流程数据库中存在待升级流程实例,且根据所述业务规则确定所述新流程模板的所有节点为必要节点,则检测在所述新流程模板中,所述目标节点之前是否存在未执行节点;
当检测到所述目标节点之前存在所述未执行节点后,更新所述待升级流程实例;
当检测到所述目标节点之前未存在所述未执行节点后,不更新所述待升级流程实例。
优选地,所述若检测到所述新流程模板的节点携带所述升级配置属性,则根据所述升级配置属性获取所述原始流程模板中待升级节点对应的升级后的目标节点信息的步骤之后,还包括:
检测所述服务器的流程数据库中是否存在待升级流程实例;
若所述流程数据库中未存在待升级流程实例,则将所述新流程模板替换所述原始流程模板。
优选地,所述检测所述服务器的流程数据库中是否存在待升级流程实例的步骤包括:
获取所述流程数据库中各个流程实例在所述原始流程模板中所停留节点的停留节点信息,并判断所述停留节点信息是否与所述待升级节点对应的升级节点信息一致;
若所述停留节点信息与所述升级节点信息一致,则确定所述流程数据库中存在所述待升级流程实例;
若所述停留节点信息与所述升级节点信息不一致,则确定所述流程数据库中未存在所述待升级流程实例。
优选地,所述当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性的步骤包括:
当服务器接收到新流程模板后,将所述新流程模板中的节点与所述原始流程模板中的节点进行对比,得到对比结果;
若根据所述对比结果确定所述新流程模板相对于所述原始流程模板增加了节点或者减少了节点,则确定所述新流程模板的节点携带升级配置属性。
优选地,所述当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性的步骤包括:
当服务器接收到新流程模板后,获取所述新流程模板对应的可扩展标记语言XML文件;
检测所述XML文件中是否存在携带升级配置属性的数据结构;
当检测到所述XML文件中存在所述数据结构后,确定所述新流程模板的节点携带所述升级配置属性;
当检测到所述XML文件中未存在所述数据结构后,确定所述新流程模板的节点未携带所述升级配置属性。
此外,为实现上述目的,本发明还提供一种流程实例的升级装置,所述流程实例的升级装置包括:
检测模块,用于当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性;
获取模块,用于若检测到所述新流程模板的节点携带所述升级配置属性,则根据所述升级配置属性获取所述原始流程模板中待升级节点对应的升级后的目标节点信息;
修改模块,用于若检测到所述服务器的流程数据库中存在待升级流程实例,则将所述待升级流程实例当前所在节点的原始节点信息修改为所述目标节点信息,以升级所述待升级流程实例。
此外,为实现上述目的,本发明还提供一种流程实例的升级设备,所述流程实例的升级设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的流程实例的升级程序,所述流程实例的升级程序被所述处理器执行时实现如上所述的流程实例的升级方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有流程实例的升级程序,所述流程实例的升级程序被处理器执行时实现如上所述的流程实例的升级方法的步骤。
本发明通过在更新流程模板过程中,根据新流程模板节点携带的升级配置属性获取原始流程模板中待升级节点对应的目标节点信息,且当服务器的流程数据库中存在待升级流程实例时,将待升级流程实例当前所在节点的原始节点信息修改为目标节点信息,以升级待升级流程实例。实现了在更新流程模板过程中,如果存在正在执行的流程实例,不需要用户手动修改流程数据库中的流程数据,可自动升级正在执行的流程实例,使该流程实例在新流程模板中继续执行,提高了更新流程模块的智能性,简化了更新流程模板过程中,升级流程实例的操作流程。
附图说明
图1是本发明流程实例的升级方法第一实施例的流程示意图;
图2是本发明流程实例的升级方法第二实施例的流程示意图;
图3是本发明流程实例的升级方法第三实施例的流程示意图;
图4为本发明流程实例的升级装置较佳实施例的功能示意图模块图;
图5是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种流程实例的升级方法,参照图1,图1为本发明流程实例的升级方法第一实施例的流程示意图。
本发明实施例提供了流程实例的升级方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
流程实例的升级方法应用于服务器或者终端中,终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、等移动终端,以及诸如数字TV、台式计算机等固定终端。在流程实例的升级方法的各个实施例中,为了便于描述,以服务器为执行主体进行阐述各个实施例。流程实例的升级方法包括:
步骤S10,当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性。
当服务器接收到新流程模板后,服务器检测新流程模板的节点是否携带升级配置属性。其中,新流程模块可由用户根据需要输入到服务器中的,也可由后台系统根据用户触发的指令,自动发送给服务器的。流程模板是设计工作流的最终成果,流程引擎能够根据流程模板生成流程实例,流程实例可以流转到流程模板中的节点中执行。流程实例是依照流程模板和业务数据形成的数据记录,保存在流程数据库中,记录了当前流程模板正在执行的步骤,即记录了当前流程实例所在的节点。节点是流程模板的业务节点。不同的流程模板节点数量可能相同,也可能不相同,每个流程模板的数量可根据需要而设置。
进一步地,步骤S10包括:
步骤a,当服务器接收到新流程模板后,将所述新流程模板中的节点与所述原始流程模板中的节点进行对比,得到对比结果。
具体地,当服务器接收到新流程模板后,服务器将新流程模板中的节点与原始流程模板中的节点进行对比,得到对比结果。在本实施例中,存在两种对比结果:一种为新流程模板相对于原始流程模板增加了节点或者减少了节点,另一种为新流程模块与原始流程模板的节点数量一致,此时,可能是新流程模板中各个节点的先后顺序与原始流程模板的不一致。
步骤b,若根据所述对比结果确定所述新流程模板相对于所述原始流程模板增加了节点或者减少了节点,则确定所述新流程模板的节点携带升级配置属性。
若服务器根据对比结果确定新流程模板相对于原始流程模板增加了节点或者减少了节点,服务器则确定新流程模板的节点携带有升级配置属性;若服务器根据对比结果确定新流程模板与原始流程模板的节点数量一致,服务器则确定新流程模板的节点未携带升级配置属性。如原始流程模板为:A审批节点→B审批节点→C审批节点→完成,而携带升级配置属性对应的新流程模板可为:A审批节点→C审批节点→完成。
进一步地,步骤S10还包括:
步骤c,当服务器接收到新流程模板后,获取所述新流程模板对应的可扩展标记语言XML文件。
具体地,当服务器接收到新流程模板后,服务器获取新流程模板对应的XML(Extensible Markup Language,可扩展标记语言)文件。其中,在本实施例中,用XML文件格式保存流程模板。可以理解的是,也可以使用TXT(文本文档)方式保存流程模板。
步骤d,检测所述XML文件中是否存在携带升级配置属性的数据结构。
当获取到XML文件后,服务器检测XML文件中是否存在携带升级配置属性对应的数据结构。在XML文件中,update结构里的数据属性是新增的升级配置属性,即服务器检测XML文件中是否存在update结构。
步骤e,当检测到所述XML文件中存在所述数据结构后,确定所述新流程模板的节点携带所述升级配置属性。
当服务器检测到XML文件中存在与升级配置属性对应的数据结构,即检测到XML文件中存在update结构后,服务器确定新流程模板的节点携带升级配置属性。
步骤f,当检测到所述XML文件中未存在所述数据结构后,确定所述新流程模板的节点未携带所述升级配置属性。
当服务器检测到XML文件中未存在与升级配置属性对应的数据结构,即检测到XML文件中不存在update结构后,服务器确定新流程模板的节点未携带升级配置属性。
XML文件中update结构可如下所示:
通过update结构中的升级配置属性可知,升级后的审批流程是2.0版本,即在途的1.0版本的流程实例如果在升级过程中停留在B审批节点,则在1.0版本升级为2.0版本后,会刷新成C审批节点。
步骤S20,若检测到所述新流程模板的节点携带所述升级配置属性,则根据所述升级配置属性获取所述原始流程模板中待升级节点对应的升级后的目标节点信息。
若服务器检测到新流程模板的节点携带升级配置属性,服务器则根据升级配置属性获取原始流程模板中待升级节点对应的升级后的目标节点信息。其中,在升级配置属性中,已经说明了原始流程模板中那个节点为待升级节点。在新流程模板中,会存在与该待升级节点对应的升级后的节点,该升级后的节点信息为目标节点信息。目标节点信息包括节点的标识码,即节点ID和节点的版本号。需要说明的是,若新流程模板的节点携带有升级配置属性,则在新流程模板中执行流程实例过程中,会执行升级配置属性对应的代码逻辑,该代码逻辑用于读取升级配置属性,对应部分的逻辑代码举例如下:
List<UpdateInfo>updateList=getUpdateInfo();//从XML文件中读取原始流程模板中需要升级的节点
for(UpdateInfo info:updateList){
workflowId=info.getWorkflowId();//新流程模板的ID
fromTaskId=info.getTaskId();//需要升级的节点的ID(B审批节点ID)
fromTaskVersion=info.getVersion();//需要升级的节点的版本号(B审批节点的版本号)
toTaskId=info.getToTaskId();//升级后的节点的ID(C审批节点的ID)
在上述逻辑代码中,原始流程模板中的B审批节点为待升级节点,B审批节点升级后的节点为新流程模板中的C审批节点,目标节点信息为C审批节点的ID和版本号。
步骤S30,若检测到所述服务器的流程数据库中存在待升级流程实例,则将所述待升级流程实例当前所在节点的原始节点信息修改为所述目标节点信息,以升级所述待升级流程实例。
若服务器获取到目标节点信息,且检测到其流程数据库中存在待升级流程实例,服务器则确定待升级流程实例在原始模板中所停留的节点,将待升级流程实例在原始模板中所停留的节点记为原始节点,对应的节点信息记为原始节点信息,并将原始节点信息修改为目标节点信息,即将原始节点的ID修改为目标节点信息中的ID,将原始节点的版本号修改为目标节点信息的版本号,以升级待升级流程实例,即更新该待升级流程实例。需要说明的是,待升级流程实例为在将原始流程模板更新为新流程模板过程中,正在执行的流程实例。如将原始节点的ID修改为目标节点信息中的ID的过程可为:for(instance:instanceList){
instance.update(toTaskId);}
本实施通过在更新流程模板过程中,根据新流程模板节点携带的升级配置属性获取原始流程模板中待升级节点对应的目标节点信息,且当服务器的流程数据库中存在待升级流程实例时,将待升级流程实例当前所在节点的原始节点信息修改为目标节点信息,以升级待升级流程实例。实现了在更新流程模板过程中,如果存在正在执行的流程实例,不需要用户手动修改流程数据库中的流程数据,可自动升级正在执行的流程实例,使该流程实例在新流程模板中继续执行,提高了更新流程模块的智能性,简化了更新流程模板过程中,升级流程实例的操作流程。
进一步地,提出本发明流程实例的升级方法第二实施例。
所述流程实例的升级方法第二实施例与所述流程实例的升级方法第一实施例的区别在于,参照图2,流程实例的升级方法还包括:
步骤S40,若检测到所述新流程模板的节点未携带所述升级配置属性,则获取所述新流程模板对应的业务规则。
若服务器检测到新流程模板的节点未携带升级配置属性,服务器则获取新流程模板对应的业务规则,以及检测流程数据库中是否存在待升级流程实例。其中,新流程模板对应的业务规则是预先设置好的,在业务规则中,新流程模板中各个节点对应的类型也是根据业务规则预先设置好的。
可以理解的是,当新流程模板的节点未携带升级配置属性时,表明新流程模板中的节点数量与旧流程模板中的节点数量一致,只是改变了旧流程模板节点的执行顺序,即改变了旧流程模板中各个节点的先后顺序,如旧流程模块为:A审批节点→B审批节点→C审批节点→完成,新流程模板为:A审批节点→C审批节点→B审批节点→完成。
步骤S50,若检测到所述服务器的流程数据库中存在待升级流程实例,则根据所述业务规则确定是否更新所述待升级流程实例。
当服务器检测到流程数据库中存在待升级流程实例后,服务器根据业务规则确定是否更新待升级流程实例。
进一步地,流程实例的升级方法还包括:
步骤g,确定所述待升级流程实例在所述新流程模板中所停留的目标节点。
进一步地,服务器确定待升级流程实例在新流程模板中所停留的目标节点。具体地,服务器可通过新流程模板中各个节点的状态标识来确定待升级流程实例所停留的目标节点。其中,当确定新流程模板的某个节点携带运行标识时,即可确定携带运行标识的节点为目标节点。在本实施例中,不限制运行标识的表现形式。
进一步地,步骤S50包括:
步骤h,若检测到所述服务器的流程数据库中存在待升级流程实例,且根据所述业务规则确定所述新流程模板的所有节点为必要节点,则检测在所述新流程模板中,所述目标节点之前是否存在未执行节点。
服务器在获取新流程模板对应的业务规则,且检测到流程数据库中存在待升级流程后,根据业务规则确定新流程模板中的各个节点是否是必要节点,即确定新流程模板中的任一节点是否都需要执行,不可省略。若服务器根据业务规则确定新流程模板的任一节点都是需要执行,不可省略的,服务器则确定新流程模板的所有节点为必要节点,并检测在新流程模板中,模板节点之前是否还存在未执行节点。模板节点对应的类型标识,根据该类型标识确定新流程模板中各个节点是否是必要节点。
步骤j,当检测到所述目标节点之前存在所述未执行节点后,更新所述待升级流程实例。
当服务器检测到目标节点之前存在未执行节点后,服务器从目标节点跳转至新流程模板的未执行节点中继续执行待升级流程实例,以更新待升级流程实例。
步骤k,当检测到所述目标节点之前未存在所述未执行节点后,不更新所述待升级流程实例。
当服务器检测到目标节点之前未存在未执行节点后,服务器不更新待升级流程实例,即直接在新流程模板的目标节点中继续执行待升级流程实例。
进一步地,若服务器检测到目标节点为可重复执行的节点,即该目标节点为在一个流程实例中可多次执行的节点,服务器则不更新待升级流程实例,即直接在目标节点中执行待升级流程实例。具体地,服务器可根据目标节点对应的类型标识来确定目标节点是否为可重复执行的节点。
进一步地,为了提高待升级流程实例执行的准确率,当服务器检测到目标节点之后的节点存在已执行节点,目标节点之前未存在未执行节点后,服务器直接在目标节点中继续执行待升级流程实例。
进一步地,为了提高待升级流程实例执行的准确率,若服务器检测到目标节点之前的未执行节点为非必要节点,即该未执行节点可省略,服务器则在目标节点中继续执行待升级流程实例。
本实施例通过检测到新流程模板的节点未携带有升级配置属性后,服务器根据新流程模板对应的业务规则确定是否更新流程数据库中的待升级流程实例,智能地在新流程模板中执行待升级流程实例。
进一步地,提出本发明流程实例的升级方法第三实施例。
所述流程实例的升级方法第三实施例与所述流程实例的升级方法第一或第二实施例的区别在于,参照图3,流程实例的升级方法还包括:
步骤S60,检测所述服务器的流程数据库中是否存在待升级流程实例。
服务器检测其流程数据库中是否存在待升级流程实例。其中,在流程模板中执行流程实例过程中,会将对应的流程数据存储至流程数据库中。
进一步地,步骤S60包括:
步骤l,获取所述流程数据库中各个流程实例在所述原始流程模板中所停留节点的停留节点信息,并判断所述停留节点信息是否与所述待升级节点对应的升级节点信息一致。
具体地,服务器检测流程数据库中各个流程实例在原始流程模板中当前所停留节点的停留节点信息,并判断停留节点信息是否与待升级节点对应的升级节点信息一致,即判断停留节点信息中的ID与升级节点信息的ID是否一致,以及判断停留节点信息中的版本号与升级节点信息的版本号是否一致。可以理解的是,流程实例当前所停留节点为流程实例在原始流程模板中的节点。如某个原始流程模板为:A审批节点→B审批节点→C审批节点→D审批节点→完成,若流程实例当前所在节点为B审批节点,则B审批节点为停留节点。
步骤m,若所述停留节点信息与所述升级节点信息一致,则确定所述流程数据库中存在所述待升级流程实例。
若停留节点信息与升级节点信息一致,即停留节点信息的ID与升级节点信息的ID一致,且停留节点信息的版本号与升级节点信息的版本号一致,服务器则确定流程数据库中存在待升级流程实例。
步骤n,若所述停留节点信息与所述升级节点信息不一致,则确定所述流程数据库中未存在所述待升级流程实例。
若停留节点信息与升级节点信息不一致,即停留节点信息的ID与升级节点信息的ID不一致,和/或停留节点信息的版本号与升级节点信息的版本号不一致,服务器则确定流程数据库中不存在待升级流程实例。
步骤S70,若所述流程数据库中未存在待升级流程实例,则将所述新流程模板替换所述原始流程模板。
若服务器检测到流程数据库中未存在待升级流程实例,服务器则将新流程模板替换原始流程模板。进一步地,当服务器检测到流程数据库中未存在待升级流程实例时,服务器可将新流程模板作为主模板,将原始流程模板作为从模板,在执行流程实例过程中,优先在新流程模板中执行该流程实例。当新流程模板出现故障时,切换至原始流程模板中执行该流程实例。
本实施例通过在确定流程数据库中未存在待升级流程实例时,将新流程模板替换原始流程模板,以便于后续流程实例在新流程模板中执行。
此外,参照图4,本发明还提供一种流程实例的升级装置,所述流程实例的升级装置包括:
检测模块10,用于当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性;
获取模块20,用于若检测到所述新流程模板的节点携带所述升级配置属性,则根据所述升级配置属性获取所述原始流程模板中待升级节点对应的升级后的目标节点信息;
修改模块30,用于若检测到所述服务器的流程数据库中存在待升级流程实例,则将所述待升级流程实例当前所在节点的原始节点信息修改为所述目标节点信息,以升级所述待升级流程实例。
进一步地,所述获取模块20还用于若检测到所述新流程模板的节点未携带所述升级配置属性,则获取所述新流程模板对应的业务规则;
流程实例的升级装置还包括:
确定模块,用于若检测到所述服务器的流程数据库中存在待升级流程实例,则根据所述业务规则确定是否更新所述待升级流程实例。
进一步地,所述确定模块还用于确定所述待升级流程实例在所述新流程模板中所停留的目标节点;
所述确定模块包括:
第一检测单元,用于若检测到所述服务器的流程数据库中存在待升级流程实例,且根据所述业务规则确定所述新流程模板的所有节点为必要节点,则检测在所述新流程模板中,所述目标节点之前是否存在未执行节点;
更新单元,用于当检测到所述目标节点之前存在所述未执行节点后,更新所述待升级流程实例;
第一确定单元,用于当检测到所述目标节点之前未存在所述未执行节点后,不更新所述待升级流程实例。
进一步地,所述检测模块10还用于检测所述服务器的流程数据库中是否存在待升级流程实例;
所述流程实例的升级装置还包括:
替换模块,用于若所述流程数据库中未存在待升级流程实例,则将所述新流程模板替换所述原始流程模板。
进一步地,所述检测模块10包括:
第一获取单元,用于获取所述流程数据库中各个流程实例在所述原始流程模板中所停留节点的停留节点信息;
判断单元,用于判断所述停留节点信息是否与所述待升级节点对应的升级节点信息一致;
第二确定单元,用于若所述停留节点信息与所述升级节点信息一致,则确定所述流程数据库中存在所述待升级流程实例;若所述停留节点信息与所述升级节点信息不一致,则确定所述流程数据库中未存在所述待升级流程实例。
进一步地,所述检测模块10还包括:
对比单元,用于当服务器接收到新流程模板后,将所述新流程模板中的节点与所述原始流程模板中的节点进行对比,得到对比结果;
第三确定单元,用于若根据所述对比结果确定所述新流程模板相对于所述原始流程模板增加了节点或者减少了节点,则确定所述新流程模板的节点携带升级配置属性。
进一步地,所述检测模块10还包括:
第二获取单元,用于当服务器接收到新流程模板后,获取所述新流程模板对应的可扩展标记语言XML文件;
第二检测单元,用于检测所述XML文件中是否存在携带升级配置属性的数据结构;
第四确定单元,用于当检测到所述XML文件中存在所述数据结构后,确定所述新流程模板的节点携带所述升级配置属性;当检测到所述XML文件中未存在所述数据结构后,确定所述新流程模板的节点未携带所述升级配置属性。
需要说明的是,流程实例的升级装置的各个实施例与上述流程实例的升级方法的各实施例基本相同,在此不再详细赘述。
此外,本发明还提供一种流程实例的升级设备。如图5所示,图5是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图5即可为流程实例的升级设备的硬件运行环境的结构示意图。本发明实施例流程实例的升级设备可以是PC,便携计算机等终端设备。
如图5所示,该流程实例的升级设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,流程实例的升级设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图5中示出的流程实例的升级设备结构并不构成对流程实例的升级设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及流程实例的升级程序。其中,操作系统是管理和控制流程实例的升级设备硬件和软件资源的程序,支持流程实例的升级程序以及其它软件或程序的运行。
在图5所示的流程实例的升级设备中,用户接口1003可用于接收新流程模板;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的流程实例的升级程序,并执行如上所述的流程实例的升级方法的步骤。
本发明流程实例的升级设备具体实施方式与上述流程实例的升级方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有流程实例的升级程序,所述流程实例的升级程序被处理器执行时实现如上所述的流程实例的升级方法的步骤。
本发明计算机可读存储介质具体实施方式与上述流程实例的升级方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种流程实例的升级方法,其特征在于,所述流程实例的升级方法包括以下步骤:
当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性;
若检测到所述新流程模板的节点携带所述升级配置属性,则根据所述升级配置属性获取所述原始流程模板中待升级节点对应的升级后的目标节点信息;
若检测到所述服务器的流程数据库中存在待升级流程实例,则将所述待升级流程实例当前所在节点的原始节点信息修改为所述目标节点信息,以升级所述待升级流程实例。
2.如权利要求1所述的流程实例的升级方法,其特征在于,所述当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性的步骤之后,还包括:
若检测到所述新流程模板的节点未携带所述升级配置属性,则获取所述新流程模板对应的业务规则;
若检测到所述服务器的流程数据库中存在待升级流程实例,则根据所述业务规则确定是否更新所述待升级流程实例。
3.如权利要求2所述的流程实例的升级方法,其特征在于,所述若检测到所述服务器的流程数据库中存在待升级流程实例,则根据所述业务规则确定是否更新所述待升级流程实例的步骤之前,还包括:
确定所述待升级流程实例在所述新流程模板中所停留的目标节点;
所述若检测到所述服务器的流程数据库中存在待升级流程实例,则根据所述业务规则确定是否更新所述待升级流程实例的步骤包括:
若检测到所述服务器的流程数据库中存在待升级流程实例,且根据所述业务规则确定所述新流程模板的所有节点为必要节点,则检测在所述新流程模板中,所述目标节点之前是否存在未执行节点;
当检测到所述目标节点之前存在所述未执行节点后,更新所述待升级流程实例;
当检测到所述目标节点之前未存在所述未执行节点后,不更新所述待升级流程实例。
4.如权利要求1所述的流程实例的升级方法,其特征在于,所述若检测到所述新流程模板的节点携带所述升级配置属性,则根据所述升级配置属性获取所述原始流程模板中待升级节点对应的升级后的目标节点信息的步骤之后,还包括:
检测所述服务器的流程数据库中是否存在待升级流程实例;
若所述流程数据库中未存在待升级流程实例,则将所述新流程模板替换所述原始流程模板。
5.如权利要求4所述的流程实例的升级方法,其特征在于,所述检测所述服务器的流程数据库中是否存在待升级流程实例的步骤包括:
获取所述流程数据库中各个流程实例在所述原始流程模板中所停留节点的停留节点信息,并判断所述停留节点信息是否与所述待升级节点对应的升级节点信息一致;
若所述停留节点信息与所述升级节点信息一致,则确定所述流程数据库中存在所述待升级流程实例;
若所述停留节点信息与所述升级节点信息不一致,则确定所述流程数据库中未存在所述待升级流程实例。
6.如权利要求1至5任一项所述的流程实例的升级方法,其特征在于,所述当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性的步骤包括:
当服务器接收到新流程模板后,将所述新流程模板中的节点与所述原始流程模板中的节点进行对比,得到对比结果;
若根据所述对比结果确定所述新流程模板相对于所述原始流程模板增加了节点或者减少了节点,则确定所述新流程模板的节点携带升级配置属性。
7.如权利要求1至5任一项所述的流程实例的升级方法,其特征在于,所述当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性的步骤包括:
当服务器接收到新流程模板后,获取所述新流程模板对应的可扩展标记语言XML文件;
检测所述XML文件中是否存在携带升级配置属性的数据结构;
当检测到所述XML文件中存在所述数据结构后,确定所述新流程模板的节点携带所述升级配置属性;
当检测到所述XML文件中未存在所述数据结构后,确定所述新流程模板的节点未携带所述升级配置属性。
8.一种流程实例的升级装置,其特征在于,所述流程实例的升级装置包括:
检测模块,用于当服务器接收到新流程模板后,检测所述新流程模板的节点是否携带升级配置属性;
获取模块,用于若检测到所述新流程模板的节点携带所述升级配置属性,则根据所述升级配置属性获取所述原始流程模板中待升级节点对应的升级后的目标节点信息;
修改模块,用于若检测到所述服务器的流程数据库中存在待升级流程实例,则将所述待升级流程实例当前所在节点的原始节点信息修改为所述目标节点信息,以升级所述待升级流程实例。
9.一种流程实例的升级设备,其特征在于,所述流程实例的升级设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的流程实例的升级程序,所述流程实例的升级程序被所述处理器执行时实现如权利要求1至7中任一项所述的流程实例的升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有流程实例的升级程序,所述流程实例的升级程序被处理器执行时实现如权利要求1至7中任一项所述的流程实例的升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811136935.7A CN109656585A (zh) | 2018-09-27 | 2018-09-27 | 流程实例的升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811136935.7A CN109656585A (zh) | 2018-09-27 | 2018-09-27 | 流程实例的升级方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109656585A true CN109656585A (zh) | 2019-04-19 |
Family
ID=66110329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811136935.7A Pending CN109656585A (zh) | 2018-09-27 | 2018-09-27 | 流程实例的升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656585A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750267A (zh) * | 2019-09-26 | 2020-02-04 | 浙江大搜车软件技术有限公司 | 业务信息更新方法、装置、计算机设备和存储介质 |
CN111240715A (zh) * | 2019-12-31 | 2020-06-05 | 兰剑智能科技股份有限公司 | 设备升级方法、装置、电子设备和计算机可读介质 |
CN111859884A (zh) * | 2020-05-29 | 2020-10-30 | 大数金科网络技术有限公司 | 审批数据全历史栈统计方法 |
CN113835727A (zh) * | 2021-08-31 | 2021-12-24 | 贝壳技术有限公司 | 配置版本升级方法及装置 |
CN113885924A (zh) * | 2021-12-07 | 2022-01-04 | 深圳市明源云科技有限公司 | Xml配置文件升级方法、装置及可读存储介质 |
CN114371867A (zh) * | 2020-10-14 | 2022-04-19 | 腾讯科技(深圳)有限公司 | 关于业务规则的信息处理方法、设备和介质 |
CN117149311A (zh) * | 2023-08-17 | 2023-12-01 | 中电金信软件有限公司 | 业务执行方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193470A (ja) * | 2008-02-15 | 2009-08-27 | Panasonic Corp | 電子承認ワークフローシステム |
CN104331772A (zh) * | 2014-11-03 | 2015-02-04 | 浪潮(北京)电子信息产业有限公司 | 云数据中心实现资源审批的流程管理方法及系统 |
CN107230036A (zh) * | 2016-03-24 | 2017-10-03 | 北京京东尚科信息技术有限公司 | 一种动态产生和执行工作流流程的方法和装置 |
CN107423404A (zh) * | 2017-07-27 | 2017-12-01 | 东软集团股份有限公司 | 流程实例数据同步处理方法和装置 |
CN107886295A (zh) * | 2017-10-23 | 2018-04-06 | 东软集团股份有限公司 | 流程模板变更处理方法、装置、可读存储介质及电子设备 |
CN108363545A (zh) * | 2017-01-26 | 2018-08-03 | 华为技术有限公司 | 一种数据配置方法及数据配置装置 |
-
2018
- 2018-09-27 CN CN201811136935.7A patent/CN109656585A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193470A (ja) * | 2008-02-15 | 2009-08-27 | Panasonic Corp | 電子承認ワークフローシステム |
CN104331772A (zh) * | 2014-11-03 | 2015-02-04 | 浪潮(北京)电子信息产业有限公司 | 云数据中心实现资源审批的流程管理方法及系统 |
CN107230036A (zh) * | 2016-03-24 | 2017-10-03 | 北京京东尚科信息技术有限公司 | 一种动态产生和执行工作流流程的方法和装置 |
CN108363545A (zh) * | 2017-01-26 | 2018-08-03 | 华为技术有限公司 | 一种数据配置方法及数据配置装置 |
CN107423404A (zh) * | 2017-07-27 | 2017-12-01 | 东软集团股份有限公司 | 流程实例数据同步处理方法和装置 |
CN107886295A (zh) * | 2017-10-23 | 2018-04-06 | 东软集团股份有限公司 | 流程模板变更处理方法、装置、可读存储介质及电子设备 |
Non-Patent Citations (3)
Title |
---|
KUN-RU WU等: "Efficient and Consistent Flow Update for Software Defined Networks", 《 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS 》, 12 March 2018 (2018-03-12) * |
陈刚;羌铃铃;: "用VC++实现软件的自动升级", 计算机应用与软件, no. 10, 15 October 2010 (2010-10-15) * |
魏金太: "面向业务流程的数据操作服务自动生成方法的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, 15 April 2018 (2018-04-15) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750267A (zh) * | 2019-09-26 | 2020-02-04 | 浙江大搜车软件技术有限公司 | 业务信息更新方法、装置、计算机设备和存储介质 |
CN110750267B (zh) * | 2019-09-26 | 2023-09-01 | 浙江大搜车软件技术有限公司 | 业务信息更新方法、装置、计算机设备和存储介质 |
CN111240715A (zh) * | 2019-12-31 | 2020-06-05 | 兰剑智能科技股份有限公司 | 设备升级方法、装置、电子设备和计算机可读介质 |
CN111859884A (zh) * | 2020-05-29 | 2020-10-30 | 大数金科网络技术有限公司 | 审批数据全历史栈统计方法 |
CN114371867A (zh) * | 2020-10-14 | 2022-04-19 | 腾讯科技(深圳)有限公司 | 关于业务规则的信息处理方法、设备和介质 |
CN113835727A (zh) * | 2021-08-31 | 2021-12-24 | 贝壳技术有限公司 | 配置版本升级方法及装置 |
CN113885924A (zh) * | 2021-12-07 | 2022-01-04 | 深圳市明源云科技有限公司 | Xml配置文件升级方法、装置及可读存储介质 |
CN117149311A (zh) * | 2023-08-17 | 2023-12-01 | 中电金信软件有限公司 | 业务执行方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109656585A (zh) | 流程实例的升级方法、装置、设备及存储介质 | |
CN110413506B (zh) | 测试用例推荐方法、装置、设备及存储介质 | |
CN103853604B (zh) | 应用程序管理方法及应用程序推荐方法 | |
CN109840206B (zh) | 数据测试方法、装置、终端及存储介质 | |
CN108399072B (zh) | 应用页面更新方法和装置 | |
CN112270149B (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
CN105279278A (zh) | 文件的搜索方法及装置 | |
CN106502725A (zh) | 应用程序的升级方法、设备及电子设备 | |
CN111897740A (zh) | 用户界面的测试方法、装置、电子设备及计算机可读介质 | |
CN103324728A (zh) | 移动终端的应用程序查找方法和装置 | |
US9032346B2 (en) | Method and apparatus for creating and managing waiver descriptions for design verification | |
CN107391362A (zh) | 应用测试方法、移动终端及存储介质 | |
CN111782516A (zh) | 一种代码测试方法及装置、存储介质 | |
CN111563257A (zh) | 数据检测方法及装置、计算机可读介质及终端设备 | |
CN104765609A (zh) | 软件关联资源推荐方法、获取方法及相应的装置 | |
CN115576828A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN115145801A (zh) | A/b测试流量分配方法、装置、设备及存储介质 | |
CN111625291B (zh) | 数据处理模型自动迭代方法、装置及电子设备 | |
WO2024183805A1 (zh) | 标签确定方法、信息推荐方法、装置、设备及存储介质 | |
CN114168485A (zh) | 测试方法、装置、设备及介质 | |
CN109471916B (zh) | 天气预报生成方法及装置 | |
CN103309677A (zh) | 内置资源管理方法、装置及终端 | |
CN114996152A (zh) | 一种单元测试方法、装置、设备及介质 | |
CN115951916A (zh) | 一种组件的处理方法、装置、电子设备及存储介质 | |
CN116149978A (zh) | 服务接口测试方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |