本发明专利技术公开了一种工作流数据的持久化处理方法,包括:启动工作流事务;根据所述工作流事务中工作流数据的改变,记录所述工作流数据改变前后的内存快照;对比所述工作流数据的在当前工作流事务中的所有内存快照,获得特征内存快照;根据所述特征内存快照发出持久化请求。应用本发明专利技术,在工作流事务中,当需要修改工作流数据时,并不是直接向发出持久化请求,而是记录工作流数据在修改前后的内存快照,此时真正的数据持久化操作并未进行,而是被延迟到工作流事务提交时进行。在工作流事务提交时,通过对比内存快照得到特征内存快照后,才根据该特征内存快照发出持久化请求,因而可以有效提高工作流数据持久化的处理效率。
【技术实现步骤摘要】
本专利技术涉及计算机系统数据处理领域,特别涉及一种工作流数据的 持久化处理方法、 一种工作流数据的持久化处理装置以及一种工作流系 统。
技术介绍
持久化(Persistence),即把数据(如内存中的对象)保存到可永久 保存的存储设备中(如磁盘)。在实际中,持久化的主要应用是将内存中 的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML 数据文件中等等。持久化技术可以封装数据访问细节,为大部分业务逻 辑提供面向对象的API。因而,通过持久化技术可以减少访问数据库数据 次数,增加应用程序执行速度;并且,代码重用性高,能够完成大部分 数据库操作;以及,松散耦合,使持久化不依赖于底层数据库和上层业 务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。由于上 述特性,持久化技术被广泛应用在各种计算机系统中,如工作流系统等。计算机系统在运行过程中,通常会产生大量的数据,可以理解的是, 数据持久化的处理势必会对计算机系统带来较大的性能消耗,这种性能 消耗又会直接影响持久化的处理效率,尤其在数据量较大时,持久化处 理效率过低的问题更为严重。以工作流系统为例,由于工作流系统的运 行过程通常都会包括复杂的业务流程,所以在运行过程中会产生大量的 工作流数据持久化请求,如流程中多个活动、任务等内部对象的状态改 变等,这种工作流系统的数据持久化过程为普通的数据库持久化过程, 即工作流系统通过自身的数据持久化接口 ,根据相应工作流数据的持久 化请求,直接将该工作流数据关联加载至数据库中,显然,这种处理过 程将过度占用系统资源,从而引发持久化低效的问题。因此,本领域技术人员迫切需要发展出 一种可以有效提高数据持久 化处理效率的方法及装置。
技术实现思路
本专利技术所要解决的技术问题是提供一种工作流数据的持久化处理方 法,用以解决现有技术中数据持久化效率较低的问题。本专利技术还提供了 一种工作流数据的持久化处理装置和 一种工作流系 统,用以保证上述方法在实际中的实现及应用。为解决上述技术问题,本专利技术实施例公开了 一种工作流数据的持久化处理方法,包括 启动工作流事务;根据所述工作流事务中工作流数据的改变,记录所述工作流数据改 变前后的内存快照;对比所述工作流数据的在当前工作流事务中的所有内存快照,获得 特征内存快照;根据所述特征内存快照发出持久化请求。优选的是,通过以下步骤获得所述特征内存快照获取具有最小改变量的内存快照为特征内存快照。优选的是,所述特征内存快照包括所述工作流数据初始状态的内存 快照和最终状态的内存快照。优选的是,所述的方法,还包括按照所述持久化请求对所述工作流数据进行持久化处理。本专利技术实施例还公开了 一种工作流数据的持久化处理装置,包括启动单元,用于启动工作流事务;内存快照单元,用于根据所述工作流事务中工作流数据的改变,记 录所述工作流数据改变前后的内存快照;对比单元,用于对比所述工作流数据的在当前工作流事务中的所有 内存快照,获得特征内存快照;请求单元,用于根据所述特征内存快照发出持久化请求。优选的是,所述对比单元还包括获取子单元,用于获取具有最小改变量的内存快照为特征内存快照。 优选的是,所述特征内存快照包括所述工作流数据初始状态的内存快照和最终状态的内存快照。优选的是,所述的装置,还包括处理单元,用于按照所述持久化请求对所述工作流数据进行持久化 处理。本专利技术实施例还公开了一种工作流系统,包括 工作流执行器,用于接受业务请求,并通知工作流事务管理器的启 动单元;工作流事务管理器,包括启动单元、执行单元和请求单元;所述启 动单元用于启动工作流事务;所述执行单元用于执行当前工作流事务中 工作流数据的修改;所述请求单元用于根据特征内存快照发出持久化请 求;工作流持久化管理器,包括内存快照单元和对比单元;所述内存快 照单元用于根据所述工作流数据的改变,记录所述工作流数据改变前后 的内存快照;所述对比单元用于对比所述工作流数据的在当前工作流事 务中的所有内存快照,获得特征内存快照。优选的是,所述对比单元还包括获取子单元,用于获取具有最小改变量的内存快照为特征内存快照。 优选的是,所述特征内存快照包括所述工作流数据初始状态的内存 快照和最终状态的内存快照。优选的是,所述工作流持久化管理器还包括处理单元,用于按照所述持久化请求对所述工作流数据进行持久化 处理。与现有4支术相比,本专利技术实施例具有以下优点应用本专利技术,在工作流事务中,当需要修改工作流数据时,并不是 直接向发出持久化请求,而是记录工作流数据在》务改前后的内存快照, 此时真正的数据持久化操作并未进行,而是被延迟到工作流事务提交时 进行。在工作流事务提交时,通过对比内存快照得到特征内存快照后, 才根据该特征内存快照发出持久化请求,因而可以有效提高工作流数据 持久化的处理效率。附图说明图1是本专利技术的一种工作流数据的持久化处理方法实施例的流程图; 图2是本专利技术的一种工作流数据的持久化处理装置实施例的结构框图3是应用图2所示的优选实施例持久化处理工作流数据的流程图; 图4是本专利技术的一种工作流系统实施例的结构框图; 图5是一种应用图4所示的优选实施例在实际中进行工作流数据持 久化处理的流程图。具体实施例方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合 附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术实施例的核心构思之一在于,启动工作流事务后,对于在同 一个工作流事务内,工作流内部对象的任何持久化操作都通过内存快照的方式记录下来,但此时不进行真正的数据持久化操作,而是延迟到工 作流事务提交时进行。即在工作流事务提交时,通过对比工作流数据的 内存快照进行持久化请求合并与批量处理,从而有效提高了工作流数据 持久化的处理效率。参考图1,示出了本专利技术的一种工作流数据的持久化处理方法实施例 的流程图,具体可以包括以下步骤步骤IOI、启动工作流事务;步骤102、根据所述工作流事务中工作流数据的改变,记录所述工作 流数据改变前后的内存快照;步骤103、对比所述工作流数据的在当前工作流事务中的所有内存快 照,获得特征内存快照;步骤104、根据所述特征内存快照发出持久化请求。根据WfMC的定义,工作流(Work Flow)就是自动运作的业务过 程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动, 并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自 动进行的业务活动或任务。其中,工作流数据是指工作流系统内部对象的状态数据,而工作流系统内部对象是指工作流系统在执行流程时产生 的内部对象,包括流程对象、活动对象、任务对象等等。内存快照是记录某 一 时刻在系统内存中的对象状态信息的拷贝。而工作流事务是在数 据库事务基础上由工作流系统扩展出来的工作流处理事务。而事务是一个最小的工作单元,不论成功与否事务都作为一个整体进行工作。由于 事务通常是由几个任务组成的,因此如果一个事务作为一个整体是成功 的,则事务中的每个任务都必须是成功的。如果事务中有一部分失败, 则整个事务也必然是失败的。即事务具有原子性, 一致性,隔离性,持 久性的特点。从上可以得知,本专利技术实施例所述的工作流事务具体以下特征(1) 具有明确的事务边界对于工作流系统来说,事务的发起与结束本文档来自技高网...
【技术保护点】
一种工作流数据的持久化处理方法,其特征在于,包括:启动工作流事务;根据所述工作流事务中工作流数据的改变,记录所述工作流数据改变前后的内存快照;对比所述工作流数据的在当前工作流事务中的所有内存快照,获得特征内存快照; 根据所述特征内存快照发出持久化请求。
【技术特征摘要】
1、 一种工作流数据的持久化处理方法,其特征在于,包括 启动工作流事务;根据所述工作流事务中工作流数据的改变,记录所述工作流数据改 变前后的内存快照;对比所述工作流数据的在当前工作流事务中的所有内存快照,获得 特征内存快照;根据所述特征内存快照发出持久化请求。2、 如权利要求l所述的方法,其特征在于,通过以下步骤获得所述 特征内存快照获取具有最小改变量的内存快照为特征内存快照。3、 如权利要求2所述的方法,其特征在于,所述特征内存快照包括 所述工作流数据初始状态的内存快照和最终状态的内存快照。4、 如权利要求l、 2或3所述的方法,其特征在于,还包括 按照所述持久化请求对所述工作流数据进行持久化处理。5、 一种工作流数据的持久化处理装置,其特征在于,包括 启动单元,用于启动工作流事务;内存快照单元,用于根据所述工作流事务中工作流数据的改变,记 录所述工作流数据改变前后的内存快照;对比单元,用于对比所述工作流数据的在当前工作流事务中的所有 内存快照,获得特征内存快照;请求单元,用于根据所述特征内存快照发出持久化请求。6、 如权利要求5所述的装置,其特征在于,所述对比单元还包括 获取子单元,用于获取具有最小改变量的内存快照为特征内存快照。7、 如权利要求6所述的装置,其特征在于,所述特征内存快照...
【专利技术属性】
技术研发人员:宋凯,周刚,
申请(专利权)人:金蝶软件中国有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。