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

一种工作流数据恢复方法及数据恢复系统与流程

2022-05-31 11:11:46 来源:中国专利 TAG:


1.本发明实施例涉及计算机应用技术领域,具体涉及一种工作流数据恢复方法及数据恢复系统。


背景技术:

2.在工作流引擎中,工作流的全部任务已经流转完成,处于办结状态,该状态下工作流的数据不可修改,之后可进行预归档或者归档。但是,在日常应用过程中,往往因为人为失误、政策要求、监督审查、不可抗力等原因,需要将一个办结的工作流恢复到待办或者在办的状态,甚至需要将已经归档的数据进行解除归档操作,再反向恢复到待办或者在办的状态。
3.在现有工作流引擎中,工作流的状态由一个字段就可进行标识,随着数据量、任务量的增大,为了节省数据存储压力,提高工作效率,工作流引擎发展为滚动式任务方式,即每前进一个流程节点,就删除上一个流程节点的数据,以保证业务库的轻装前进,但滚动式任务模式具有一个严重缺陷,由于工作流进行办结后会删除工作流中各个节点的数据,则该数据是无法恢复的,之后无法再次启动已办结的工作流,这就要求工作流在进行中必须正确,造成工作流无法满足现实世界中的事态多变,降低了工作流的适应性。如任何流程都会出现版本迭代的问题,例如报销流程v1版本,更新后为报销流程v2版本,当报销流程升级到v2版本后,v1版本会被覆盖或删除,之前使用v1版本的报销流程不具备v2版本的特性,因此就会报错,使报销工作流无法完结,因此需要一种能够实时可恢复工作流的技术。


技术实现要素:

4.为此,本发明实施例提供一种工作流数据恢复方法及数据恢复系统,以解决现有技术中由于在工作流模板变化后而导致的被已存储的工作流数据无法恢复的问题。
5.为了实现上述目的,本发明实施例提供如下技术方案:一种工作流数据恢复方法,包括以下步骤:步骤s1、根据工作流模板id调取对应的工作流模板与其包含的全部节点模板,将模板数据汇总生成数据集;步骤s2、为数据集设置唯一的恢复id,得到恢复数据集,然后将恢复id与工作流模板id关联,并存入恢复数据库中;步骤s3、当需要数据恢复时,根据工作流模板id确定对应的恢复id,根据恢复id从恢复数据库中调取对应的恢复数据集,根据工作流模板id与节点id对恢复数据集进行数据拆分,得到工作流模板与节点模板;步骤s4、根据工作流模板id从实例数据库中调取实例数据,根据节点id将实例数据进行拆分,分配到对应节点,再根据实例数据的属性类目将实例数据填入对应属性类目的模板位置内。
6.进一步,所属恢复数据集以恢复id作为键,将数据以json文本的方式存在值字段
里。
7.进一步,当工作流模板发生改变,将改变后的新工作流模板及其全部的新节点模板进行数据汇总,得到新恢复数据集,并将工作流模板id作为恢复id,在所述老恢复数据集内设置第一时间区间,所述第一时间区间的起始点为老恢复数据集的建立时点,终点为新恢复数据集的建立时点;在所述新恢复数据集内设置第二时间区间,所述第二时间区间的起始点为新恢复数据集的建立时点,直到工作流结束归档或再次发生改变时的时间点作为终点。
8.进一步,为恢复数据集增加恢复验证码,将工作流模板的流程信息按流程顺序拼成字符串,再利用哈希算法计算得到的哈希值作为恢复验证码;当需要数据恢复时,先将工作流模板的流程信息按流程顺序拼成字符串,再利用哈希算法计算得到的哈希值与数据验证码进行比对,若二者不同,则进行数据恢复。
9.进一步,当工作流办结并进行归档处理后,将节点实例数据发送给归档数据库进行储存,并配置唯一的归档id,将所述归档id与工作流模板id进行关联,此处优选于将工作流模板id设置为归档id。
10.一种使用工作流数据恢复方法的数据恢复系统包括模板数据库、实例数据库、工作流管理模块、恢复数据库及数据恢复管理模块;所述工作流管理模块用于创建工作流模板与节点模板并配置工作流id,将配置后的工作流模板与节点模板存入模板数据库,以及向工作流模板与节点模板内填入实例数据,并将实例数据存入实例数据库。
11.所述数据恢复管理模块用于根据工作流id将对应的工作流模板与节点模板汇总得到恢复数据集,为恢复数据集配置恢复id,将恢复id与工作流id关联后储存到恢复数据库内,或者根据工作流id调取对应的恢复id的恢复数据集。
12.进一步,所述数据恢复管理模块连接工作流监控子模块,用于在工作流模板id新建后将工作流模板id发送给数据恢复管理模块。
13.进一步,所述工作流管理模块连接归档管理模块,所述归档管理模块连接归档数据库,所述归档管理模块用于将实例数据汇总得到归档数据集,并配置归档id,将归档id与工作流模板id关联后存入归档数据库,或者接收解除归档指令,根据工作流模板id调取对应归档id的归档数据集。
14.本发明实施例具有如下优点:本发明实施例所述的工作流数据恢复方法及数据恢复系统在工作流办结后归档之前创建用于恢复数据的工作流,将需要恢复的数据进行压缩储存,并归档处理,当需要恢复数据时,压缩数据根据归档时的储存路径进行数据恢复,并对数据恢复情况进行检验,实现了在保证轻型业务库的前提下,可以将已办结的工作流恢复到待办或在办状态,而且在逆向规复后,保证系统不因操作产生错误或者状态不一致等问题,增强稳定性。
附图说明
15.为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
16.本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
17.图1为本发明实施例提供的一种工作流数据恢复方法的方法流程图;图2为本发明实施例提供的一种工作流数据恢复方法的数据恢复流程图;图3为本发明实施例提供的一种工作流数据恢复方法在工作流改变情况下的方法流程图;图4为本发明实施例提供的一种工作流数据恢复方法在工作流改变情况下的数据恢复流程图;图5为本发明实施例提供的一种工作流数据恢复方法对数据归档处理的方法流程图;图6为本发明实施例提供的一种工作流数据恢复系统的系统结构图;图7为本发明另一个实施例提供的一种工作流数据恢复系统的系统结构图;图8为本发明另一个实施例提供的一种工作流数据恢复系统的系统结构图。
18.图中:1、模板数据库;2、实例数据库;3、工作流管理模块;4、恢复数据库;5、数据恢复管理模块;6、工作流监控子模块;7、归档管理模块;8、归档数据库。
具体实施方式
19.以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.为方便理解,下面对本技术实施例所述一种工作流数据恢复方法进行阐述,该方法中对于工作流及其相关相关系统的配置包括:工作流引擎,用于工作流模板定制、数据集单设计、节点任务管理,包括模板数据库1、实例数据库2及接口层。
21.所述模板数据库1用于存储工作流模板与节点模板,所述工作流模板包括但不限于工作流模板id、起止点、工作流节点、流程链接线等与业务无关的工作流属性数据,其定义了工作流属性数据的格式、类别、整个工作流的流程走向及各个节点的位置关系。所述节点模板包括工作流模板id、节点id、动作、对象、执行角色等与业务有关的节点属性数据,其定义了节点属性数据的格式与类别,以及与工作流模板之间的关联关系。
22.所述实例数据库2用于存储节点实例数据,所述节点实例数据包括工作流节点中对应实例的内容数据,如节点中与动作、对象、执行角色等节点属性数据对应的实例数据,节点实例数据与节点模板之间通过节点id关联,还可增加节点实例数据直接和工作流模板id关联,所述节点模板数据可复制到节点实例数据中。
23.如图1所示,基于上述工作流引擎,本发明实施例所述的工作流数据恢复方法包括:
步骤s1、根据工作流模板id调取对应的工作流模板与其包含的全部节点模板,将模板数据汇总生成恢复数据集;具体的,根据工作流模板id调取对应的工作流模板,及全部关联该工作流模板id的节点模板,所述节点模板根据工作流的流程顺序进行排列,排列方式为节点id的顺序排列;或者,根据节点id确定其关联的工作流模板id,再根据工作流模板id调取关联的工作流模板与其包含的全部节点模板,其中所述工作流模板与节点模板均关联工作流模板id,所述节点模板还关联节点id,或者工作流模板中包含全部的节点id。最后将工作流模板与全部节点模板的模板数据汇总,得到一个数据集,所述数据集中以工作流模板id为键,其余的模板数据以json文本的方式存在值(value)字段里。
24.步骤s2、为数据集设置唯一的恢复id,得到恢复数据集,将恢复id与工作流模板id关联,将关联后的恢复数据集存入恢复数据库4中。
25.为数据集建立唯一的恢复id,得到恢复数据集。由于恢复数据集包含工作流模板与节点模板,需要恢复数据集中的每个数据均与恢复id关联,因此为了降低程序的复杂,恢复id优选于工作流结构中的高层级标识,而工作流模板与节点模板均包含工作流模板id,即将工作流模板id作为恢复id,使恢复数据集、工作流模板及节点模板均具有相同的识别信息,无须单独创建并储存额外的恢复id,可降低程序结构,提高系统的工作效率,降低系统的复杂程度。然后将恢复id与工作流模板id关联,并存入恢复数据库4中,其用于将恢复数据集与实例数据之间通过工作流模板id进行关联,便于后续数据恢复的匹配。
26.由于传统工作流数据存储方式中,将多个工作流模板与节点模板所包含的数据均以属性类型储存在不同的数据集中,如模板id表、节点id表、挂载系统表、配置表等,然后数据通过识别信息关联对应的实例。本技术中将工作流模板或节点模板中的部分属性项单独储存为一个恢复数据集,该恢复数据集中的数据均通过恢复id关联工作流模板id,提高了数据之间的关联性、后期的查询速度及数据恢复性能。具体的,生成唯一的恢复id作为键(key),将汇总的数据罗列以json文本的方式存在值(value)字段里,数据罗列无固定顺序要求,可根据数据被固定下来的时间前后罗列,最终得到恢复数据集。恢复数据集中的数据可制作索引,用于提升检索速度。
27.步骤s3、当需要对数据进行恢复时,根据工作流模板id确定对应的恢复id,根据恢复id从恢复数据库4中调取对应的恢复数据集,根据工作流模板id与节点id对恢复数据集进行数据拆分,得到工作流模板与节点模板。具体的,如图2所示,确定恢复请求中的工作流模板id,根据工作流模板id找到与其对应的恢复id,从恢复数据库4中调取与该恢复id的恢复数据集,恢复数据集中的各项数据均具有工作流id,若该项数据同时关联节点id,则划分到对应节点id的节点模板内,若该项数据没有关联节点id,则分配到工作流模板内,实现根据每项数据的关联标识进行拆分、分组。
28.步骤s4、根据工作流模板id从实例数据库2中调取实例数据集,根据节点id将实例数据进行拆分,分配到对应节点,再根据实例数据的属性类目将实例数据填入对应属性类目的模板位置内。具体的,根据工作流模板id从实例数据库2中调取实例数据集,实例数据集中的各项数据均关联工作流模板id与属性类目标识,若实例数据关联节点id,则分配给与节点id关联的节点模板内,再根据属性类目标识填入节点模板的对应位置;若实现数据不关联节点id,则分配给工作流模板,再根据属性类目标识填入工作流模板的对应位置。实
现根据每项数据的关联标识进行拆分、分组,再根据属性类目标识填入模板的对应位置内。如属性信息为执行角色,则将执行角色的内容填入到该节点模板中的执行角色栏内,如上当全部数据填入后,工作流数据恢复完成。
29.如图3所示,当工作流模板发生改变,如进行加签或减签操作时,根据工作流模板id调取改变后的新工作流模板及其全部的新节点模板,将新模板进行数据汇总,设立新恢复数据集,并为新恢复数据集配置未发生改变前的老恢复数据集的恢复id,所述老恢复数据集内设置第一时间区间,所述第一时间区间的起始点为老恢复数据集的建立时点,终点为新恢复数据集的建立时点;所述新恢复数据集内设置第二时间区间,所述第二时间区间的起始点为新恢复数据集的建立时点,直到工作流归档结束或发生改变的时间点作为终点。如图4所示,当需要恢复数据时,根据工作流模板id确定对应的恢复id,根据恢复id从恢复数据库4中调取全部对应的恢复数据集,此时调取的恢复数据集的数量为两个,即老恢复数据集与新恢复数据集,选择工作流的恢复时间点,所述恢复时间点默认为工作流中断的时间点,或者选择工作流中的某个阶段时间点,若恢复时间点位于第一时间区间内,则调取老恢复数据集,或恢复时间点位于第二时间区间内,调取新恢复数据集,若不选择恢复时间点,则默认调取时间区间排列在最后的恢复数据集进行恢复,这样能够保留老工作流模板,可将工作流恢复到任意时间点,可根据恢复时间点选择新老恢复数据集,以恢复不同阶段的工作流模板,保证了工作流的数据恢复稳定性。
30.为恢复数据集增加恢复验证码,将工作流模板的流程信息按流程顺序拼成字符串,再利用哈希算法计算得到的哈希值作为恢复验证码。当需要数据恢复时,先将工作流模板的流程信息按流程顺序拼成字符串,再利用哈希算法计算得到的哈希值与数据验证码进行比对,若二者相同,则无需调取恢复数据库4的数据,若二者不同,则进行数据恢复。在恢复数据集中配置一个验证节点,该验证节点内存储恢复验证码及验证程序,恢复验证码与恢复id关联储存。由于该恢复验证码由工作流模板的流程信息处理得到,因此能够实现对工作流模板的变化进行验证。
31.如图5所示,当工作流办结并进行归档处理后,将节点实例数据发送给归档数据库8进行储存,并配置唯一的归档id,将所述归档id与工作流模板id进行关联,此处优选于将工作流模板id设置为归档id,无须单独创建并储存额外的归档id,可降低程序结构,提高系统的工作效率,降低系统的复杂程度。由于工作流模板id与恢复id为关联关系,因此归档id间接的与恢复id之间形成关联关系。
32.将已归档工作流恢复到流转状态:接收到工作流恢复请求后,开启解除归档,根据工作流模板id确定对应的归档id,从归档数据库8中调取与归档id对应的节点实例数据。根据工作流模板id确定恢复id,从恢复数据库4中调取与恢复id对应的恢复数据集,对恢复数据集进行解析,得到工作流模板与节点模板,将节点实例数据填充到节点模板中,数据填充完毕归档数据库8删除节点实例数据,恢复数据库4删除恢复数据集,用户可选择将新生成的工作流由自己办理或者他人办理,实现对已归档的工作流进行数据恢复。
33.如图6所示,一种工作流数据恢复系统,包括模板数据库1、实例数据库2、工作流管理模块3、恢复数据库4及数据恢复管理模块5,所述工作流管理模块3用于创建工作流模板与节点模板并配置工作流模板id,将配置后的工作流模板与节点模板存入模板数据库1,以及向工作流模板与节点模板内填入实例数据,并将实例数据存入实例数据库2;所述数据恢
复管理模块5用于根据工作流模板id将对应的工作流模板与节点模板汇总得到恢复数据集,为恢复数据集配置恢复id,将恢复id与工作流模板id关联后储存到恢复数据库4内,或者根据工作流模板id调取对应的恢复id的恢复数据集。
34.如图7所示,所述数据恢复管理模块5连接工作流监控子模块6,用于在工作流模板id新建后将工作流模板id发送给数据恢复管理模块5,数据恢复管理模块5在恢复数据库4中进行工作流模板id的检索工作,若未检索到相同的工作流模板id,则在恢复数据库4中建立与所述工作流模板id相关联的恢复数据集。
35.所述工作流监控模块用于在节点结束时根据所述节点的节点id,调取与节点id对应的工作流模板与节点模板,汇总形成模板数据集,再根据模板数据集的工作流模板id调取对应恢复id的恢复数据集,将恢复数据集与模板数据集进行比对,若二者比对存在差异,则为模板数据集建立相同的恢复id,为恢复数据集标记第一时间区间,为模板数据集标记第二时间区间,并存入恢复数据库4。所述第一时间区间以老恢复数据集建立为起始点,新恢复数据集建立为终点;所述第二时间区间以新恢复数据集建立为起始点,直到工作流结束或发生改变的时间点作为终点。
36.如图8所示,所述工作流管理模块3连接归档管理模块7,所述归档管理模块7连接归档数据库8,所述归档管理模块7用于将实例数据汇总得到归档数据集,并配置归档id,将归档id与工作流模板id关联后存入归档数据库8,或者接收解除归档指令,根据工作流模板id调取对应归档id的归档数据集。
37.虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
再多了解一些

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

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

相关文献