流程引擎中进行数据存取的系统技术方案

技术编号:8215494 阅读:224 留言:0更新日期:2013-01-17 12:50
本发明专利技术公开了一种流程引擎中进行数据存取的系统,其特征在于所述系统包括数据初始化配置模块、瞬间变量处理模块、持久化变量处理模块和变量类型判断模块,所述瞬间变量处理模块用于发现瞬间变量数据,然后进行提供临时存储、获取瞬间变量数据,所述持久化变量处理模块用于发现持久化变量数据,然后进行提供临时存储、获取持久化变量数据;所述变量类型判断模块用于根据变量数据的数据特征进行判断该变量数据为瞬间变量数据还是持久化变量数据;所述数据初始化配置模块用于在流程引擎中初始化变量数据的值。该系统通过瞬态、持久化变量处理模块的分别处理,可以使开发人员在流程设计的时候很方便的存取变量数据(瞬态、持久化)。

【技术实现步骤摘要】

本专利技术属于流程引擎数据处理
,具体涉及一种流程引擎中进行数据存取的系统
技术介绍
现在流程产品在流程流转过程中过于需要保存过程数据用于后续线条、节点计算的时候往往采用调用java代码、执行数据库等繁琐的方式来存储变量,在后续线条、节点上又通过上述复杂方法获取回变量值,这样的做法会大大降低开发效率,加大出错机率,并且有些时候只是开发人员只是想临时记录下某个变量值,在后续的节点上使用,并不希望将这些数据持久化。现有技术需要保存流程变量需要在流程设计器里配置相应的java、sql代码把变 量存储到数据库中,这种方法只对于需要持久化的变量有效,但是只是临时保存在下面节点或者线条使用的时候就需要存放在数据库中使用完了再删除这样的实现方法对于开发人员要求太高很容易出错。大大流程引擎的使用简易度,同时加大了流程的设计开发时间。在流程的流转中常常需要用一些变量存放一些计算信息返回的信息供下面的节点或者线条使用,怎样才能很方便的记录流程的计算信息并且在后面的节点或者线条上方便的使用这就是本专利要解决的问题。本专利技术因此而来。
技术实现思路
本专利技术目的在于提供一种流程引擎中进行数据存取的系统,解决了现有技术中记录流程的计算信息难以在后面的节点或者线条上方便的使用等问题。为了解决现有技术中的这些问题,本专利技术提供的技术方案是—种流程引擎中进行数据存取的系统,其特征在于所述系统包括数据初始化配置模块、瞬间变量处理模块、持久化变量处理模块和变量类型判断模块,所述瞬间变量处理模块用于发现瞬间变量数据,然后进行提供临时存储、获取瞬间变量数据,所述持久化变量处理模块用于发现持久化变量数据,然后进行提供临时存储、获取持久化变量数据;所述变量类型判断模块用于根据变量数据的数据特征进行判断该变量数据为瞬间变量数据还是持久化变量数据;所述数据初始化配置模块用于在流程引擎中初始化变量数据的值。优选的,所述系统还包括持久化变量数据库,当变量类型判断模块判断变量数据为持久化变量数据时,流程引擎将持久化变量数据和对应的持久化变量名存入持久化变量数据库中。本专利技术大大简化了变量数据的存储和取出过程,流程设计人员可以使用很简单的语句完成对流程变量的保存和获取,非专业人员页可以参与其中设计流程,大大提高了流程设计的友好度。在本专利技术技术方案中,可以使用这样的简单语句存取变量,例如保存方法${瞬态变量}=”提交人”;而获取方法${瞬态变量},这样可以使开发人员在流程设计的时候很方便的存取变量数据(瞬态、持久化),比起现有产品在流程设计的时候配置大量语句去实现变量的记录,数据处理大大简化。本专利技术技术方案中变量数据用户需要在使用前配置变量的数据类型、是否持久化。相对于现有技术中的方案,本专利技术的优点是本专利技术通过在流程设计器中配置Sql来存储流程变量,通过在流程设计器中扩展java代码来保存数据变量,通过瞬态、持久化变量处理模块的分别处理,可以使开发人员在流程设计的时候很方便的存取变量数据(瞬态、持久化)。附图说明下面结合附图及实施例对本专利技术作进一步描述 图I为本专利技术流程引擎中进行数据存取的系统进行数据存取的流程原理图。具体实施例方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本专利技术而不限于限制本专利技术的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。实施例如图I所示,本实施例流程引擎中进行数据存取的系统,包括数据初始化配置模块、瞬间变量处理模块、持久化变量处理模块和变量类型判断模块,所述瞬间变量处理模块用于发现瞬间变量数据,然后进行提供临时存储、获取瞬间变量数据,所述持久化变量处理模块用于发现持久化变量数据,然后进行提供临时存储、获取持久化变量数据;所述变量类型判断模块用于根据变量数据的数据特征进行判断该变量数据为瞬间变量数据还是持久化变量数据;所述数据初始化配置模块用于在流程引擎中初始化变量数据的值。为了能够方便的使用流程变量,首先需要配置变量瞬态变量 <fixflow:DataVariable id=”瞬态变量” dataTy.pe=”java.iang,String” ><fix flow: exp res s ion xsi: type=" fixfiow: Expression " name="瞬态变量” >默认值 </fixflo w: expression〉<fixf Io>v: documentationxsi:type=”fixflow:Dociime!Uation”>^ 明文档 </11\[10、' :(10<11111611|3 0011> </fixflow:Data¥ariable>持久变量<fixfIow: Data Variable id="持久变量” dataType=”java.lang.String”is Persisten ce=" tr ii e"> <fixf!ow: express ion xsi: type=" fixflovv: Expression " name=” 持久变量”>默认值〈/fixflow: expression〉 <fi\flow: documentationxsi:type=,,fixflow:Documentation">i^ 明文档 </fixflow: documentation〉 </fi\flovv:DataVariable>以上是数据变量XML格式在定义数据变量的时候需要注明是否可以持久化。定义好名称之后就可以在流程引擎中使用变量了。瞬态变量实现过程 I.在流程中对数据变量做出更改执行表达式${瞬态变量}=12.这时变量引擎发现$ {瞬态变量}这个变量发生更改便将$ {瞬态变量}的值记录在变量引擎3.在后面的线条或者节点上通过$ {瞬态变量}表达式取值.4.变量引擎发现流程在通过${瞬态变量}取值的时候,发现是瞬态变量则直接到变量引擎的环境中去获取值,当发现变量引擎中如果没有注册过${瞬态变量}则会去从配置文件获取默认值配置的值。持久化变量实现过程在流程中对数据变量做出更改执行表达式${持久变量} =22.这时变量引擎发现$ {持久变量}这个变量发生更改便将$ {瞬态变量}的值记录在变量引擎3.瞬态变量和持久化变量在赋值的时候都是将值放在变量引擎中存储,并不是直接存储到数据库。4.在后面的线条或者节点上通过$ {持久变量}表达式取值.5.变量引擎发现流程在通过${持久变量}取值的时候,发现是持久变量则直接到变量引擎的环境中去获取值,如果没在变量引擎中获取到值的时候则直接去数据库查找,如果数据也没有则直接通过配置的默认值获取值。6.持久化变量在流程实例保存的时候才会最终保存到数据中,瞬态变量在这次操作结束后则直接释放不存储。本实施例中流程引擎容器其实是一个java中的线程副本,里边可以存储这一次请求中的数据,在线程副本中我们存放了变量的Map用来存取数据变量。当请求结束的时候持久化变量会从Map中被保存到数据库,瞬态的直接被系统清空掉。持久化变量通过JAV本文档来自技高网...

【技术保护点】
一种流程引擎中进行数据存取的系统,其特征在于所述系统包括数据初始化配置模块、瞬间变量处理模块、持久化变量处理模块和变量类型判断模块,所述瞬间变量处理模块用于发现瞬间变量数据,然后进行提供临时存储、获取瞬间变量数据,所述持久化变量处理模块用于发现持久化变量数据,然后进行提供临时存储、获取持久化变量数据;所述变量类型判断模块用于根据变量数据的数据特征进行判断该变量数据为瞬间变量数据还是持久化变量数据;所述数据初始化配置模块用于在流程引擎中初始化变量数据的值。

【技术特征摘要】

【专利技术属性】
技术研发人员:姜楠夏帮国
申请(专利权)人:方正国际软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1