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

一种工作流的数据处理方法、系统、存储介质及电子设备与流程

2022-12-07 11:20:05 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,更具体地说,涉及一种工作流的数据处理方法、系统、存储介质及电子设备。


背景技术:

2.工作流引擎(activiti)是由业务流程管理(business process management,bpm)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。
3.在activiti流程变化需要重新部署新版本时,由于旧版本有流程仍在流转或者历史数据需要长期保存,因此不能直接删除或覆盖旧版本,必须多版本共存。
4.在多activiti流程版本共存的环境下,activiti不对版本更新和版本升级进行区分,即使很小的流程变动也会增加版本号。在activiti流程更新使用增量部署时,为了迁就版本变化增加几乎完全重复的代码应对新版本,不仅造成了代码冗余,还会引起简单修改流程需要重新更改代码、重新编译部署的问题,增加维护成本。


技术实现要素:

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.经由上述技术方案可知,本技术公开了一种工作流的数据处理方法、系统、存储介质及电子设备,获取自定义版本号和工作流引擎原生版本号,工作流引擎原生版本号为工作流引擎自带的版本管理机制的版本号,在预先构建的流程版本对应表中,将自定义版本号与工作流引擎原生版本号进行映射,确保在工作流引擎流程的版本升级操作时,自定义版本号和工作流引擎原生版本号进行版本增加,并确保在工作流引擎流程的版本更新操作时,自定义版本号不发生变化,工作流引擎原生版本号进行版本增加,其中,版本升级操作表征结构性调整的版本升级操作,版本更新操作为非结构性调整的版本更新操作。通过上述,在多工作流引擎流程的版本共存的环境下,只需在结构性调整的版本升级操作时,自定义版本号和工作流引擎原生版本号进行版本增加,在非结构性调整的版本更新操作时,确保自定义版本号不发生变化,工作流引擎原生版本号进行版本增加,无需增加复杂代码逻辑,避免出现由于非结构性调整的版本更新操作而增加重复的代码应对新版本情况,降低维护成本。
附图说明
38.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
39.图1为本技术实施例公开的一种工作流的数据处理方法的流程示意图;
40.图2为本技术实施例公开的一种工作流的数据处理系统的结构示意图;
41.图3为本技术实施例公开的另一种工作流的数据处理系统的结构示意图;
42.图4为本技术实施例公开的又一种工作流的数据处理系统的结构示意图;
43.图5为本技术实施例公开的一种电子设备的结构示意图。
具体实施方式
44.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
46.由背景技术可知,在多activiti流程版本共存的环境下,activiti不对版本更新和版本升级进行区分,即使很小的流程变动也会增加版本号。在activiti流程更新使用增量部署时,为了迁就版本变化增加几乎完全重复的代码应对新版本,不仅造成了代码冗余,
还会引起简单修改流程需要重新更改代码、重新编译部署的问题,增加维护成本。
47.为了解决上述问题,本技术公开了一种工作流的数据处理方法、系统、存储介质及电子设备,获取自定义版本号和工作流引擎原生版本号,工作流引擎原生版本号为工作流引擎自带的版本管理机制的版本号,在预先构建的流程版本对应表中,将自定义版本号与工作流引擎原生版本号进行映射,确保在工作流引擎流程的版本升级操作时,自定义版本号和工作流引擎原生版本号进行版本增加,并确保在工作流引擎流程的版本更新操作时,自定义版本号不发生变化,工作流引擎原生版本号进行版本增加;其中,版本升级操作表征结构性调整的版本升级操作,版本更新操作为非结构性调整的版本更新操作。通过上述,在多工作流引擎流程的版本共存的环境下,只需在结构性调整的版本升级操作时,自定义版本号和工作流引擎原生版本号进行版本增加,在非结构性调整的版本更新操作时,确保自定义版本号不发生变化,工作流引擎原生版本号进行版本增加,无需增加复杂代码逻辑,避免出现由于非结构性调整的版本更新操作而增加重复的代码应对新版本情况,降低维护成本。具体实现方式通过下述实施例进行说明。
48.参考图1所示,为本技术实施例公开的一种工作流的数据处理方法的流程示意图,该工作流的数据处理方法主要包括如下步骤:
49.s101:获取自定义版本号和工作流引擎原生版本号;工作流引擎原生版本号为工作流引擎自带的版本管理机制的版本号。
50.其中,自定义版本号用于表征开发人员和管理人员在调整工作流引擎(activiti)流程时直接接触的版本号。
51.工作流引擎原生版本号是activiti自带的版本管理机制,同一流程共享一个processdefinitionkey属性,通过这个key值和工作流引擎原生版本号能确定唯一的某版本流程,比如,图书借阅流程,所有版本的图书借阅流程都有相同的processdefinitionkey值,再找到想要的版本号,就能确定想要使用的图书借阅流程。
52.s102:在预先构建的流程版本对应表中,将自定义版本号与工作流引擎原生版本号进行映射,确保在工作流引擎流程的版本升级操作时,自定义版本号和工作流引擎原生版本号进行版本增加,并确保在工作流引擎流程的版本更新操作时,自定义版本号不发生变化,工作流引擎原生版本号进行版本增加。
53.其中,工作流引擎流程的版本升级操作是指流程的结构性调整,如节点流向变化、节点增删等。版本升级操作表征结构性调整的版本升级操作。
54.工作流引擎流程的版本更新操作是指流程的细微调整,如节点名称、节点负责人变化等。版本更新操作为非结构性调整的版本更新操作。
55.为了方便理解在预先构建的流程版本对应表中,将自定义版本号与工作流引擎原生版本号进行映射的过程,这里举例进行说明:
56.例如,新建图书借阅流程,图书借阅流程的工作流引擎原生版本号是v1,自定义版本号是v’1;
57.当流程更新时,工作流引擎原生版本号增加变为v2,自定义版本号不变还是v’1;
58.当流程又升级时,工作流引擎原生版本号增加变为v3,自定义版本号增加变为v’2;
59.在上述过程中,工作流引擎原生版本号v1和v2对应的都是自定义版本号v’1,原生
版本号v3对应自定义版本号v’2,根据这种映射关系,将更新和升级的逻辑在流程版本对应表中保存下来,确保在工作流引擎流程的版本升级操作时,自定义版本号和工作流引擎原生版本号进行版本增加,并确保在工作流引擎流程的版本更新操作时,自定义版本号不发生变化,工作流引擎原生版本号进行版本增加。
60.结构性调整的版本升级操作,是指整个流程的结构性变化,比如,增删了很多节点等。
61.做结构性调整的版本升级操作的好处是,流程的改动可能需要持续几天到几周的时间来配置管理,这段时间可使用老版本发起流程,新版本做保存用,不对用户使用造成影响。
62.在activiti流程中,比如,调整了流程的审批人员、流转条件的变化、更改流程审批的顺序等,都可以认为是非结构性调整的版本更新操作。
63.改动activiti流程的耗费时间如果大于预设时段,并且这预设时段也有人在用,则进行结构性调整的版本升级操作,把旧版本保持有效状态,改动期间仍以旧版本发起流程,新版本切换为测试或者无效状态,不对用户使用造成影响。
64.预设时段可以是2天,也可以是5天等,具体预设时段的确定由技术人员根据实际情况进行设置,本技术不做具体限定。
65.在切换工作流引擎流程版本时,通过更改工作流引擎流程版本对应的流程版本对应表的流程标识位,完成切换工作流引擎流程版本的操作。
66.开发人员和管理人员在调整activti流程时,直接接触的是自定义版本号,一方面避免了如activti原生版本号的快速增加,版本过多问题;另一方面增加了版本管理的直观性和可读性,开发人员、管理人员、测试人员面对的是有效的工作流引擎流程版本、失效的工作流引擎流程版本和测试的工作流引擎流程版本,而非不直观的版本号数字序列;在切换版本时无需更改代码中版本号,而是更改数据库中的标识位。
67.由于版本号都是不直观的,本身就是如1、2、3、4等数字,用户看到了第一眼印象就是这个流程有几个版本,没有别的信息输入。
68.增加标识位type等信息作为额外输入,进一步方便对流程的管理和认识,不管是应对多个流程的管理或者工作的交接,都能提高对流程管理的效率。
69.流程标识位包括有效字段值、失效字段值和测试字段值。通过更改数据库中流程版本表的type标识位调整流程版本的有效类型,type字段包含3种可能值,即,有效字段值、失效字段值和测试字段值。在更改字段值的同时,仅允许有效版本和测试版本发起新实例。
70.当工作流引擎流程版本的流程标识位为有效字段值时,确定工作流引擎流程版本为有效的工作流引擎流程版本。
71.若当前环境为正式环境,则通过有效的工作流引擎流程版本发起新实例。
72.其中,同一activti流程有且仅有一个测试的工作流引擎流程版本和一个有效的工作流引擎流程版本。用户和质量保证qa人员可以在两个版本上分别同时进行流程的正常使用和测试,二者互不干扰。开发人员在新建的失效版本上进行开发,并转换为测试版本进行测试,测试完成后快速切换为有效版本上线提供给用户使用,用户的使用体验无缝衔接。
73.在发起新实例时,根据当前环境是测试环境还是正式环境,查询标识位type是测试的工作流引擎流程版本或者有效的工作流引擎流程版本,根据查询到的结果发起新实
例。
74.对于type标识位是失效的流程版本,虽然不能用于发起,但是这个版本的流程在不是失效状态时,已发起的流程能够继续走下去,历史记录能被查询和导出。
75.当工作流引擎流程版本的流程标识位为测试字段值时,确定工作流引擎流程版本为测试的工作流引擎流程版本。
76.若当前环境为测试环境,则通过测试的工作流引擎流程版本发起新实例。
77.当工作流引擎流程版本的流程标识位为失效字段值时,确定工作流引擎流程版本为失效的工作流引擎流程版本,通过失效的工作流引擎流程版本,执行流程流转操作和历史数据查询操作。
78.挂起失效activti流程,允许失效失效activti流程的现有发起流程继续流转和历史数据查询,禁止使用失效的工作流引擎流程版本发起新流程。
79.在流程版本对应表中,将获取到的自定义版本号与工作流引擎原生版本号进行映射之后,通过自定义版本号,对工作流引擎流程进行管理。
80.其中,工作流引擎原生版本号即为小版本,小版本多且不易管理,因此加入自定义版本号后为大版本,从而方便管理。
81.将多个原生版本号映射为同一个自定义版本管理,这些多个原生版本号只是一个大版本的多次更新。
82.本方案提供更灵活的版本控制方案,轻松应对生产环境、测试环境的变化,且无需增加复杂代码逻辑,避免出现由于非结构性调整的版本更新操作而增加重复的代码应对新版本情况,降低维护成本。
83.本技术实施例中,获取自定义版本号和工作流引擎原生版本号,工作流引擎原生版本号为工作流引擎自带的版本管理机制的版本号,在预先构建的流程版本对应表中,将自定义版本号与工作流引擎原生版本号进行映射,确保在工作流引擎流程的版本升级操作时,自定义版本号和工作流引擎原生版本号进行版本增加,并确保在工作流引擎流程的版本更新操作时,自定义版本号不发生变化,工作流引擎原生版本号进行版本增加;其中,版本升级操作表征结构性调整的版本升级操作,版本更新操作为非结构性调整的版本更新操作。通过上述,在多工作流引擎流程的版本共存的环境下,只需在结构性调整的版本升级操作时,自定义版本号和工作流引擎原生版本号进行版本增加,在非结构性调整的版本更新操作时,确保自定义版本号不发生变化,工作流引擎原生版本号进行版本增加,无需增加复杂代码逻辑,避免出现由于非结构性调整的版本更新操作而增加重复的代码应对新版本情况,降低维护成本。
84.基于上述实施例图1公开的一种工作流的数据处理方法,本技术实施例还对应公开了一种工作流的数据处理系统,如图2所示,该工作流的数据处理系统包括获取单元201和映射单元202。
85.获取单元201,用于获取自定义版本号和工作流引擎原生版本号;工作流引擎原生版本号为工作流引擎自带的版本管理机制的版本号。
86.映射单元202,用于在预先构建的流程版本对应表中,将自定义版本号与工作流引擎原生版本号进行映射,确保在工作流引擎流程的版本升级操作时,自定义版本号和工作流引擎原生版本号进行版本增加,并确保在工作流引擎流程的版本更新操作时,自定义版
本号不发生变化,工作流引擎原生版本号进行版本增加;其中,版本升级操作表征结构性调整的版本升级操作;版本更新操作为非结构性调整的版本更新操作。
87.进一步的,在上述实施例图2的基础上,工作流的数据处理系统还包括更改单元301,具体如图3所示,图3示出了另一种工作流的数据处理系统的结构示意图。
88.更改单元301,用于在切换工作流引擎流程版本时,通过更改工作流引擎流程版本对应的流程版本对应表的流程标识位,完成切换工作流引擎流程版本的操作。
89.进一步的,工作流的数据处理系统还包括第一确定单元、第一发起单元、第二确定单元、第二发起单元、第三确定单元和执行单元。
90.第一确定单元,用于当工作流引擎流程版本的流程标识位为有效字段值时,确定工作流引擎流程版本为有效的工作流引擎流程版本。
91.第一发起单元,用于若当前环境为正式环境,则通过有效的工作流引擎流程版本发起新实例。
92.第二确定单元,用于当工作流引擎流程版本的流程标识位为测试字段值时,确定工作流引擎流程版本为测试的工作流引擎流程版本。
93.第二发起单元,用于若当前环境为测试环境,则通过测试的工作流引擎流程版本发起新实例。
94.第三确定单元,用于当工作流引擎流程版本的流程标识位为失效字段值时,确定工作流引擎流程版本为失效的工作流引擎流程版本。
95.执行单元,用于通过失效的工作流引擎流程版本,执行流程流转操作和历史数据查询操作。
96.进一步的,在上述实施例图2的基础上,工作流的数据处理系统还包括管理单元401,具体如图4所示,图4示出了又一种工作流的数据处理系统的结构示意图。
97.管理单元401,用于通过自定义版本号,对工作流引擎流程进行管理。
98.本技术实施例中,在多工作流引擎流程的版本共存的环境下,只需在结构性调整的版本升级操作时,自定义版本号和工作流引擎原生版本号进行版本增加,在非结构性调整的版本更新操作时,确保自定义版本号不发生变化,工作流引擎原生版本号进行版本增加,无需增加复杂代码逻辑,避免出现由于非结构性调整的版本更新操作而增加重复的代码应对新版本情况,降低维护成本。
99.本技术实施例还提供了一种存储介质,存储介质包括存储的指令,其中,在指令运行时控制存储介质所在的设备执行上述工作流的数据处理方法。
100.本技术实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502执行如下操作:
101.获取自定义版本号和工作流引擎原生版本号;工作流引擎原生版本号为工作流引擎自带的版本管理机制的版本号;
102.在预先构建的流程版本对应表中,将自定义版本号与所述工作流引擎原生版本号进行映射,确保在工作流引擎流程的版本升级操作时,自定义版本号和所述工作流引擎原生版本号进行版本增加,并确保在工作流引擎流程的版本更新操作时,自定义版本号不发
生变化,工作流引擎原生版本号进行版本增加;其中,版本升级操作表征结构性调整的版本升级操作;版本更新操作为非结构性调整的版本更新操作。
103.上述各个实施例的具体实施过程及其衍生方式,均在本技术的保护范围之内。
104.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
105.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
106.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
107.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献