本发明涉及办公自动化,尤其涉及一种流程数据同步方法及系统。
背景技术:
1、工作流是办公自动化过程中衍生出来的概念,代表的是线下业务流程的部分或全部抽象为计算机信息数据后在不同的计算机网络节点间以特定规则进行流转以实现关联业务角色间的协同工作目标的过程。工作流的出现,在很大程度上解决了不同业务角色间为了实现同一个业务目的的业务流程混乱、沟通协调困难、决策依据缺失等问题。然而现有的大多数流程引擎均趋于采用同一设计思路,即将各个业务无限细化为极小粒度的业务模块,为每一个业务模块各自建立一套独立且固化的业务流程,如果需要在不同业务模块间产生业务关联,则根据关联需求另行设计独立的跨业务模块流程,导致流程引擎臃肿、决策效率低下。一些灵活性较强的工作流程引擎解决方案提供了流程并发、流程分化以及流程合并的功能,为多个关联业务提供了高效的工作流流转机制,但其缺点也是显而易见的,当多个关联工作流在不同的业务角色间异步并行流转时,由于不同工作流之间的信息隔离导致关联信息到达关联业务角色时相对滞后,容易造成业务逻辑混乱甚至产生不同工作流互为前提的矛盾。
技术实现思路
1、鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种流程数据同步方法及系统。
2、根据本发明的一个方面,提供了一种流程数据同步方法,包括:
3、响应于第一工作流程中第一流程节点的操作提交建立第二流程节点与第三流程节点的依赖关系请求,其中所述第二流程节点为所述第一流程节点或者所述第一工作流程中所述第一流程节点之后的任一流程节点,所述第三流程节点为所述第一工作流程以外的第二工作流程的流程节点;
4、确定所述第二流程节点与所述第三流程节点的依赖关系是否成立;
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、流转程序执行模块,用于根据所述第一工作流程和所述第二工作流程的流转状态以及流转参数执行所述第一工作流程和所述第二工作流程的流转程序;
40、节点状态确定模块,用于确定所述依赖节点进入处理状态时所述被依赖节点的状态;
41、时效优先级获取模块,用于当所述依赖节点进入处理状态时所述被依赖节点仍然处于等待状态,获取所述依赖节点所属的工作流程的时效优先级;
42、依赖关系解除模块,用于当所述依赖节点所属的工作流程的时效优先级高于所述被依赖节点所属的工作流程的时效优先级时,解除所述第二流程节点与所述第三流程节点的依赖关系。
43、可选的,还包括:
44、从属关系确定模块,用于确定所述被依赖节点所属的工作流程是否为所述依赖节点所属的工作流程的子流程;
45、工作流程结束模块,用于当所述被依赖节点所属的工作流程为所述依赖节点所属的工作流程的子流程时,结束所述被依赖节点所属的工作流程。
46、本发明提供的一种流程数据同步方法及系统,通过响应于第一工作流程中第一流程节点的操作提交建立第二流程节点与第三流程节点的依赖关系请求,确定所述第二流程节点与所述第三流程节点的依赖关系是否成立,当所述依赖关系成立时,建立所述第二流程节点与所述第三流程节点的依赖关系使所述述第二流程节点与所述第三流程节点之中的一个被配置为依赖节点,另一个被配置为被依赖节点,根据所述依赖关系修改所述第一工作流程和所述第二工作流程的流转状态以及流转参数,当所述被依赖节点的状态符合依赖条件时,将所述被依赖节点的流程数据同步至所述依赖节点,使得工作流程引擎具有灵活、高效、稳定以及可靠的特点。
47、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种流程数据同步方法,其特征在于,包括:
2.根据权利要求1所述的流程数据同步方法,其特征在于,确定所述第二流程节点与所述第三流程节点的依赖关系是否成立的步骤具体包括:
3.根据权利要求1或2所述的流程数据同步方法,其特征在于,在根据所述依赖关系修改所述第一工作流程和所述第二工作流程的流转状态以及流转参数的步骤之后还包括:
4.根据权利要求1或2所述的流程数据同步方法,其特征在于,在根据所述依赖关系修改所述第一工作流程和所述第二工作流程的流转状态以及流转参数的步骤之后还包括:
5.根据权利要求4所述的流程数据同步方法,其特征在于,在解除所述第二流程节点与所述第三流程节点的依赖关系的步骤之后还包括:
6.一种流程数据同步系统,其特征在于,系统包括:
7.根据权利要求6所述的流程数据同步系统,其特征在于,所述依赖关系确定模块具体包括:
8.根据权利要求6或7所述的流程数据同步系统,其特征在于,还包括:
9.根据权利要求6或7所述的流程数据同步系统,其特征在于,还包括:
10.根据权利要求9所述的流程数据同步系统,其特征在于,还包括:
