一种生成流程的方法和装置与流程

文档序号:30222956发布日期:2022-05-31 23:11阅读:106来源:国知局
一种生成流程的方法和装置与流程

1.本发明涉及计算机技术领域,尤其涉及一种生成流程的方法和装置。


背景技术:

2.现有业务中,需要在流程运行过程中动态地实现会签与加签的嵌套组合,流程才能往下走。为了解决此类问题,现有技术一般采用以下两种方法:
3.1)使用activity等提供的多任务节点,一个节点对应多个任务,每个任务分给不同的人,当所有人的任务都结束后,该节点才算完成,然后流程实例进入下一个节点。当有加签的情况时,手动地维护节点之间的前后关系。
4.2)使用顺序流,即把并行关系串行化。即:a、b同时审批的情况变为,a先审批,然后b审批,b审批完成后,就算会签完成。当有加签的情况时,手动地维护节点之间的前后关系。
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.将由可扩展标记语言表示的连线映射为连线对象。
48.可选地,所述配置模块还用于:
49.根据所述流程定义依次配置并发分裂节点对象、单签审批节点对象和同步节点对象的属性;
50.根据所述流程定义配置所述连线对象的属性。
51.可选地,所述配置模块还用于:
52.在所述节点集合对象的集合中增加并发分裂节点对象,并根据所述流程定义配置所述并发分裂节点对象的标识;
53.对于所述流程定义中的会签审批节点中的每个元素,在所述节点集合对象的集合中增加单签审批节点对象,并根据所述流程定义配置所述单签审批节点对象的属性;其中,所述单签审批节点对象的属性包括审批方式和审批人;
54.在所述节点集合对象的集合中增加同步节点对象,并根据所述流程定义配置所述同步节点对象的标识及其对应的并发分裂节点对象的标识。
55.可选地,所述配置模块还用于:
56.对于所述流程定义中的会签审批节点中的每个元素,在所述连线集合对象的集合中增加连线对象,并配置所述连线对象的属性。
57.可选地,所述加签请求携带待加签节点和加签节点类型;其中,所述加签节点类型包括单签审批节点和会签审批节点。
58.可选地,所述加签模块还用于:
59.根据加签请求在所述节点集合对象的集合中增加节点对象,配置新增的节点对象的属性;
60.根据所述加签请求在所述连线集合对象的集合中增加连线对象,并配置新增的连线对象的属性;
61.从所述连线集合对象的集合中删除待加签节点对象与其相邻节点对象之间的连线对象,从而得到新的流程定义对象。
62.可选地,若所述加签节点类型为会签审批节点;
63.所述加签模块还用于:
64.根据加签请求在所述节点集合对象的集合中增加并发分裂节点对象,并配置所述并发分裂节点对象的标识;
65.对于所述加签请求中的所述会签审批节点中的每个元素,在所述节点集合对象的集合中增加单签审批节点对象,并配置所述单签审批节点对象的属性;
66.在所述节点集合对象的集合中增加同步节点对象,并配置所述同步节点对象的标识及其对应的并发分裂节点对象的标识。
67.根据本发明实施例的另一个方面,还提供了一种电子设备,包括:
68.一个或多个处理器;
69.存储装置,用于存储一个或多个程序,
70.当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现上述任一实施例所述的方法。
71.根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
72.上述发明中的一个实施例具有如下优点或有益效果:因为采用根据流程定义配置节点对象的属性和连线对象的属性,根据加签请求新增节点对象和连线对象,并配置新增的节点对象的属性和新增的连线对象的属性,从而得到新的流程定义对象的技术手段,所以克服了现有技术中手动加签操作繁琐的技术问题。本发明实施例能够根据业务流程的需要动态地指定会签人数,并提供前后加签功能,能够在不影响会签效率的情况下,实现动态的会签与加签互相嵌套,而且操作简单,通过调用流程生成接口即可实现。
73.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
74.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
75.图1是根据本发明实施例的生成流程的方法的主要流程的示意图;
76.图2是根据本发明实施例的java对象表示的流程定义的示意图;
77.图3是根据本发明实施例的xml格式表示的会签节点的示意图;
78.图4是根据本发明实施例的java对象表示的会签节点的示意图;
79.图5是根据本发明一个可参考实施例的生成流程的方法的主要流程的示意图;
80.图6是根据本发明实施例的生成流程的装置的主要模块的示意图;
81.图7是本发明实施例可以应用于其中的示例性系统架构图;
82.图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
83.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
84.图1是根据本发明实施例的生成流程的方法的主要流程的示意图。作为本发明的一个实施例,如图1所示,所述生成流程的方法可以包括:
85.步骤101,将由可扩展标记语言表示的流程定义映射为流程定义对象;其中,所述流程定义对象包括节点对象和连线对象。
86.可以先编写由可扩展标记语言表示的流程定义(比如由xml格式表示的流程定义),如下所示,其为由可扩展标记语言表示的流程定义的示例:
[0087][0088][0089]
其中,nodes表示所有的节点,node表示一个单一节点,由type属性来表示不同的节点,比如:approval为审批节点,start为开始节点,end为结束节点,fork为并发分裂节
点,join为同步节点。
[0090]
node中的config表示该节点的配置信息,不同的节点会有不同的配置信息的结构和配置项,对于审批节点来说会配置审批的方式,可以通过method来指定,比如:会签、或签、单签等审批方式。对于join节点来说,forkid表示同步哪一个并发分裂节点。connectors表示所有的连线,connector表示一个连线,由from节点开始,到to节点结束。
[0091]
可选地,步骤101可以包括:将由可扩展标记语言表示的节点集合映射为节点集合对象;将由可扩展标记语言表示的不同属性的节点映射为不同的节点对象;其中,所述不同的节点对象包括并发分裂节点对象、单签审批节点对象和同步节点对象;将由可扩展标记语言表示的连线集合映射为连线集合对象;将由可扩展标记语言表示的连线映射为连线对象。为了能够在内存中运行,首先将由可扩展标记语言(比如xml)表示的流程定义映射为流程定义对象,比如java对象,从而生成由java对象表示的流程定义对象,如图2所示。其中,xml格式表示的nodes节点会映射为nodes对象(即节点集合对象),不同的节点会映射为不同的node对象,取决于节点的type,比如:审批节点会映射为approval对象(即单签审批节点对象),并发分裂节点会映射为fork对象(即并发分裂节点对象),同步节点会映射为join对象(即同步节点对象),xml格式表示的connectors会映射为connectors对象(即连线集合对象),xml格式表示的connector会映射为connector对象(即连线对象)。
[0092]
步骤102,根据所述流程定义配置所述节点对象的属性和所述连线对象的属性。
[0093]
接着,根据xml格式表示的流程定义配置java对象的属性,也就是配置各个节点对象的属性和各个连线对象的属性。
[0094]
可选地,步骤102可以包括:根据所述流程定义依次配置并发分裂节点对象、单签审批节点对象和同步节点对象的属性;根据所述流程定义配置所述连线对象的属性。在本发明的实施例中,当需要配置会签节点时,首先配置并发分裂节点对象(fork对象)的属性,然后配置会签节点中各个元素对应的各个单签审批节点对象(approval对象)的属性,接着配置同步节点对象(join对象)的属性,最后将上述这些对象通过连线对象连接起来,并配置各个连线对象的属性。
[0095]
可选地,根据所述流程定义依次配置并发分裂节点对象、单签审批节点对象和同步节点对象的属性,包括:在所述节点集合对象的集合中增加并发分裂节点对象,并根据所述流程定义配置所述并发分裂节点对象的标识;对于所述流程定义中的会签审批节点中的每个元素,在所述节点集合对象的集合中增加单签审批节点对象,并根据所述流程定义配置所述单签审批节点对象的属性;其中,所述单签审批节点对象的属性包括审批方式和审批人;在所述节点集合对象的集合中增加同步节点对象,并根据所述流程定义配置所述同步节点对象的标识及其对应的并发分裂节点对象的标识。
[0096]
以图2为例,首先,生成并发分裂节点对象:在nodes对象的list集合中,增加一个fork对象,配置该对象的id为x;接着,生成单签审批节点对象:如图3所示,对于流程定义中的会签审批节点的elements中的每个元素(a、b、c),在nodes对象的list集合中,增加一个approval对象,配置该对象的method属性为“单签”,name属性为该元素对应的单个审批人;最后,生成同步节点对象:在nodes对象的list集合中,增加一个join对象,配置该对象的forkid为x,配置该对象的id为y,最终得到如图4所示的会签节点。
[0097]
可选地,根据所述流程定义配置所述连线对象的属性,包括:对于所述流程定义中
的会签审批节点中的每个元素,在所述连线集合对象的集合中增加连线对象,并配置所述连线对象的属性。配置完各个节点对象的属性之后,再继续配置各个连线对象的属性:对于流程定义中的会签审批节点的elements中的每个元素(a、b、c),在connectors对象的list集合中,增加两个connector对象,其中一个连线对象的from为x,to节点a的id(以节点a为例),另一个对象的from为节点a(以节点a为例)的id,to为y。节点b和节点的连线对象类似,不再赘述。
[0098]
步骤103,根据加签请求新增节点对象和连线对象,并配置新增的节点对象的属性和新增的连线对象的属性,从而得到新的流程定义对象。
[0099]
本发明实施例可以通过调用接口的方式自动地实现加签操作,当加签请求传入时,根据加签请求携带的加签信息在步骤102的基础上进一步增加新的节点对象和新的连线对象,然后配置新增的节点对象的属性和新增的连线对象的属性,从而得到新的流程定义对象。
[0100]
可选地,所述加签请求携带待加签节点和加签节点类型;其中,所述加签节点类型包括单签审批节点和会签审批节点。加签请求可以携带加签信息,比如代加签节点的标识、加签节点的类型(单签审批或者会签审批)、加签方式(前加签或者后加签)、审批人信息等,流程生成服务对外提供接口,当请求方调用该接口时,传入加签请求,流程生成服务根据该加签请求携带的加签信息新增节点对象和连线对象,并配置新增的节点对象的属性和新增的连线对象的属性,从而得到新的流程定义对象。
[0101]
可选地,步骤103可以包括:根据加签请求在所述节点集合对象的集合中增加节点对象,配置新增的节点对象的属性;根据所述加签请求在所述连线集合对象的集合中增加连线对象,并配置新增的连线对象的属性;从所述连线集合对象的集合中删除待加签节点对象与其相邻节点对象之间的连线对象,从而得到新的流程定义对象。在本发明实施例中,可以根据加签请求在待加签节点之前或者之后增加会签审批节点或者单签审批节点。
[0102]
以增加单签审批节点为例,根据加签请求在所述节点集合对象的集合中增加单签审批节点对象,配置新增的单签审批节点对象的属性,然后根据所述加签请求在所述连线集合对象的集合中增加连线对象,并配置新增的连线对象的属性,最后从所述连线集合对象的集合中删除待加签节点对象与其相邻节点对象之间的连线对象,从而得到新的流程定义对象。
[0103]
以增加会签审批节点为例,根据加签请求在所述节点集合对象的集合中增加并发分裂节点对象、单签审批节点对象和同步节点对象,配置新增的并发分裂节点对象、单签审批节点对象和同步节点对象的属性,然后根据所述加签请求在所述连线集合对象的集合中增加连线对象,并配置新增的连线对象的属性,最后从所述连线集合对象的集合中删除待加签节点对象与其相邻节点对象之间的连线对象,从而得到新的流程定义对象。
[0104]
例如,设待加签节点的id为n1,该节点的出边为c1,则新增和删除连接对象的具体步骤可以包括:在connectors对象的list集合中,增加一个connector对象,该对象的from为n1.id,to为新增节点的id,再增加一个connector对象,该对象的from为新增节点的id,to为c1.to,然后在connectors对象的list集合中,删除c1这个connector对象。
[0105]
可选地,若所述加签节点类型为会签审批节点,则步骤103可以包括:根据加签请求在所述节点集合对象的集合中增加并发分裂节点对象,并配置所述并发分裂节点对象的
标识;对于所述加签请求中的所述会签审批节点中的每个元素,在所述节点集合对象的集合中增加单签审批节点对象,并配置所述单签审批节点对象的属性;在所述节点集合对象的集合中增加同步节点对象,并配置所述同步节点对象的标识及其对应的并发分裂节点对象的标识。其中,所述单签审批节点对象的属性包括审批方式和审批人。
[0106]
与步骤102类似,如果需要增加的节点的类型为会签审批节点,则根据加签请求在nodes对象的list集合中,增加一个fork对象,配置该对象的id为s;接着,生成单签审批节点对象:对于加签请求中的会签审批节点的elements中的每个元素(d、e、f、g),在nodes对象的list集合中,增加一个approval对象,配置该对象的method属性为“单签”,name属性为该元素对应的单个审批人;最后,生成同步节点对象:在nodes对象的list集合中,增加一个join对象,配置该对象的forkid为s,配置该对象的id为t。
[0107]
步骤104,将所述新的流程定义对象映射为由可扩展标记语言表示的新的流程定义。
[0108]
在该步骤中,由内存中的java对象依据规范映射为以xml格式表示的流程定义,然后流程引擎依据新的流程定义继续往下执行。
[0109]
根据上面所述的各种实施例,可以看出本发明实施例通过根据流程定义配置节点对象的属性和连线对象的属性,根据加签请求新增节点对象和连线对象,并配置新增的节点对象的属性和新增的连线对象的属性,从而得到新的流程定义对象的技术手段,解决了现有技术中手动加签操作繁琐的技术问题。本发明实施例能够根据业务流程的需要动态地指定会签人数,并提供前后加签功能,能够在不影响会签效率的情况下,实现动态的会签与加签互相嵌套,而且操作简单,通过调用流程生成接口即可实现。
[0110]
图5是根据本发明一个可参考实施例的生成流程的方法的主要流程的示意图。作为本发明的又一个实施例,如图5所示,所述生成流程的方法可以包括:
[0111]
步骤501,将由xml格式表示的流程定义映射为由java对象表示的流程定义对象。
[0112]
其中,所述java对象包括节点对象和连线对象。具体地,xml格式表示的nodes节点会映射为nodes对象,不同的节点会映射为不同的node对象,取决于节点的type,比如:审批节点会映射为approval对象,并发分裂节点会映射为fork对象,同步节点会映射为join对象,xml格式表示的connectors会映射为connectors对象,xml格式表示的connector会映射为connector对象。
[0113]
步骤502,在所述节点集合对象的集合中增加并发分裂节点对象,并根据所述流程定义配置所述并发分裂节点对象的标识。
[0114]
在nodes对象的list集合中,增加一个fork对象,配置该对象的id为x。
[0115]
步骤503,对于所述流程定义中的会签审批节点中的每个元素,在所述节点集合对象的集合中增加单签审批节点对象,并根据所述流程定义配置所述单签审批节点对象的属性。其中,所述单签审批节点对象的属性包括审批方式和审批人。
[0116]
对于流程定义中的会签审批节点的elements中的每个元素(a、b、c),在nodes对象的list集合中,增加一个approval对象,配置该对象的method属性为“单签”,name属性为该元素对应的单个审批人。
[0117]
步骤504,在所述节点集合对象的集合中增加同步节点对象,并根据所述流程定义配置所述同步节点对象的标识及其对应的并发分裂节点对象的标识。
[0118]
在nodes对象的list集合中,增加一个join对象,配置该对象的forkid为x,配置该对象的id为y。
[0119]
步骤505,对于所述流程定义中的会签审批节点中的每个元素,在所述连线集合对象的集合中增加连线对象,并配置所述连线对象的属性。
[0120]
对于流程定义中的会签审批节点的elements中的每个元素(a、b、c),在connectors对象的list集合中,增加两个connector对象,其中一个连线对象的from为x,to节点a的id(以节点a为例),另一个对象的from为节点a(以节点a为例)的id,to为y。节点b和节点的连线对象类似,不再赘述。
[0121]
步骤506,根据加签请求在所述节点集合对象的集合中增加并发分裂节点对象,并配置所述并发分裂节点对象的标识。
[0122]
本发明实施例可以通过调用接口的方式自动地实现加签操作,当加签请求传入时,根据加签请求携带的加签信息在步骤505的基础上进一步增加新的节点对象和新的连线对象,然后配置新增的节点对象的属性和新增的连线对象的属性,从而得到新的流程定义对象。
[0123]
若所述加签节点类型为会签审批节点,采用步骤506-509的进行加签操作,与步骤502-505类似,不再赘述。
[0124]
步骤507,对于所述加签请求中的所述会签审批节点中的每个元素,在所述节点集合对象的集合中增加单签审批节点对象,并配置所述单签审批节点对象的属性。
[0125]
步骤508,在所述节点集合对象的集合中增加同步节点对象,并配置所述同步节点对象的标识及其对应的并发分裂节点对象的标识。
[0126]
步骤509,根据所述加签请求在所述连线集合对象的集合中增加连线对象,并配置新增的连线对象的属性。
[0127]
步骤510,从所述连线集合对象的集合中删除待加签节点对象与其相邻节点对象之间的连线对象,从而得到由java对象表示的新的流程定义对象。
[0128]
步骤511,将所述由java对象表示的新的流程定义对象映射为由xml格式表示的新的流程定义。
[0129]
由内存中的java对象依据规范映射为以xml格式表示的流程定义,然后流程引擎依据新的流程定义继续往下执行。
[0130]
另外,在本发明一个可参考实施例中生成流程的方法的具体实施内容,在上面所述生成流程的方法中已经详细说明了,故在此重复内容不再说明。
[0131]
图6是根据本发明实施例的生成流程的装置的主要模块的示意图。如图6所示,所述生成流程的装置600包括对象转换模块601、配置模块602、加签模块603和定义转换模块604;其中,对象转换模块601用于将由可扩展标记语言表示的流程定义映射为流程定义对象;其中,所述流程定义对象包括节点对象和连线对象;配置模块602用于根据所述流程定义配置所述节点对象的属性和所述连线对象的属性;加签模块603用于根据加签请求新增节点对象和连线对象,并配置新增的节点对象的属性和新增的连线对象的属性,从而得到新的流程定义对象;定义转换模块604用于将所述新的流程定义对象映射为由可扩展标记语言表示的新的流程定义。
[0132]
可选地,所述对象转换模块601还用于:
[0133]
将由可扩展标记语言表示的节点集合映射为节点集合对象;
[0134]
将由可扩展标记语言表示的不同属性的节点映射为不同的节点对象;其中,所述不同的节点对象包括并发分裂节点对象、单签审批节点对象和同步节点对象;
[0135]
将由可扩展标记语言表示的连线集合映射为连线集合对象;
[0136]
将由可扩展标记语言表示的连线映射为连线对象。
[0137]
可选地,所述配置模块602还用于:
[0138]
根据所述流程定义依次配置并发分裂节点对象、单签审批节点对象和同步节点对象的属性;
[0139]
根据所述流程定义配置所述连线对象的属性。
[0140]
可选地,所述配置模块602还用于:
[0141]
在所述节点集合对象的集合中增加并发分裂节点对象,并根据所述流程定义配置所述并发分裂节点对象的标识;
[0142]
对于所述流程定义中的会签审批节点中的每个元素,在所述节点集合对象的集合中增加单签审批节点对象,并根据所述流程定义配置所述单签审批节点对象的属性;其中,所述单签审批节点对象的属性包括审批方式和审批人;
[0143]
在所述节点集合对象的集合中增加同步节点对象,并根据所述流程定义配置所述同步节点对象的标识及其对应的并发分裂节点对象的标识。
[0144]
可选地,所述配置模块602还用于:
[0145]
对于所述流程定义中的会签审批节点中的每个元素,在所述连线集合对象的集合中增加连线对象,并配置所述连线对象的属性。
[0146]
可选地,所述加签请求携带待加签节点和加签节点类型;其中,所述加签节点类型包括单签审批节点和会签审批节点。
[0147]
可选地,所述加签模块603还用于:
[0148]
根据加签请求在所述节点集合对象的集合中增加节点对象,配置新增的节点对象的属性;
[0149]
根据所述加签请求在所述连线集合对象的集合中增加连线对象,并配置新增的连线对象的属性;
[0150]
从所述连线集合对象的集合中删除待加签节点对象与其相邻节点对象之间的连线对象,从而得到新的流程定义对象。
[0151]
可选地,若所述加签节点类型为会签审批节点;
[0152]
所述加签模块603还用于:
[0153]
根据加签请求在所述节点集合对象的集合中增加并发分裂节点对象,并配置所述并发分裂节点对象的标识;
[0154]
对于所述加签请求中的所述会签审批节点中的每个元素,在所述节点集合对象的集合中增加单签审批节点对象,并配置所述单签审批节点对象的属性;
[0155]
在所述节点集合对象的集合中增加同步节点对象,并配置所述同步节点对象的标识及其对应的并发分裂节点对象的标识。
[0156]
根据上面所述的各种实施例,可以看出本发明实施例通过根据流程定义配置节点对象的属性和连线对象的属性,根据加签请求新增节点对象和连线对象,并配置新增的节
点对象的属性和新增的连线对象的属性,从而得到新的流程定义对象的技术手段,解决了现有技术中手动加签操作繁琐的技术问题。本发明实施例能够根据业务流程的需要动态地指定会签人数,并提供前后加签功能,能够在不影响会签效率的情况下,实现动态的会签与加签互相嵌套,而且操作简单,通过调用流程生成接口即可实现。
[0157]
需要说明的是,在本发明所述生成流程的装置的具体实施内容,在上面所述生成流程的方法中已经详细说明了,故在此重复内容不再说明。
[0158]
图7示出了可以应用本发明实施例的生成流程的方法或生成流程的装置的示例性系统架构700。
[0159]
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0160]
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
[0161]
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0162]
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的物品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。
[0163]
需要说明的是,本发明实施例所提供的生成流程的方法一般由服务器705执行,相应地,所述生成流程的装置一般设置在服务器705中。本发明实施例所提供的生成流程的方法也可以由终端设备701、702、703执行,相应地,所述生成流程的装置可以设置在终端设备701、702、703中。
[0164]
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0165]
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0166]
如图8所示,计算机系统800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram 803中,还存储有系统800操作所需的各种程序和数据。cpu 801、rom 802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
[0167]
以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
[0168]
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本发明的系统中限定的上述功能。
[0169]
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0170]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0171]
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括对象转换模块、配置模块、加签模块和定义转换模块,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
[0172]
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,该设备实现如下方法:将由可扩展标记语言表示的流程定义映射为流程定义对象;其中,所述流程定义对象包括节点对象和连线对象;根据所述流程定义配置所述节点对象的属性和所
述连线对象的属性;根据加签请求新增节点对象和连线对象,并配置新增的节点对象的属性和新增的连线对象的属性,从而得到新的流程定义对象;将所述新的流程定义对象映射为由可扩展标记语言表示的新的流程定义。
[0173]
根据本发明实施例的技术方案,因为采用根据流程定义配置节点对象的属性和连线对象的属性,根据加签请求新增节点对象和连线对象,并配置新增的节点对象的属性和新增的连线对象的属性,从而得到新的流程定义对象的技术手段,所以克服了现有技术中手动加签操作繁琐的技术问题。本发明实施例能够根据业务流程的需要动态地指定会签人数,并提供前后加签功能,能够在不影响会签效率的情况下,实现动态的会签与加签互相嵌套,而且操作简单,通过调用流程生成接口即可实现。
[0174]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1