工作流的节点流转控制方法、节点流转控制装置及介质与流程
未命名
10-25
阅读:64
评论:0
1.本发明涉及计算机通信技术领域,尤其涉及工作流的节点流转控制方法、节点流转控制装置及介质。
背景技术:
2.工作流(workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流引擎是指将工作流作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。
3.现有的工作流引擎通常是根据工作流中配置的角色信息,去查询相应的用户作为任务处理人(也即审批人)。例如在当前角色为主管时,能够查询到担任主管一职的所有人员信息,进而从该人员信息中选择相应的任务处理人。然而在实际场景中,当工作流的某个节点所需的审批人员为a区主管,工作流引擎基于主管信息进行查询并选择后,会出现将b区主管作为工作流的任务处理人的现象,导致工作流的各个节点无法正常流转。
4.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现要素:
5.本发明的主要目的在于提供一种工作流的节点流转控制方法、节点流转控制装置及介质,解决现有技术中基于角色信息查询角色导致工作流各节点无法正常流转的问题。
6.为实现上述目的,本发明提供一种工作流的节点流转控制方法,所述方法包括以下步骤:
7.接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型;
8.根据所述属地信息以及所述流转类型,确定所述工作流的各个审批节点对应的待审批角色的角色类别和角色权限;
9.若所述工作流处于流转状态,确定下一所述审批节点中符合所述角色类别的候选审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人;
10.在所述目标审批人信息存在时,将所述工作流流转至所述目标审批人。
11.可选地,所述若所述工作流处于流转状态,确定下一所述审批节点中符合所述角色类别的候选审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人的步骤之后,还包括:
12.在所述目标审批人信息不存在时,确定所述下一审批节点的属性信息;
13.在所述属性信息为非关键节点时,跳过所述下一审批节点的审批;
14.若所述工作流未处于归档状态,执行所述确定下一所述审批节点中符合所述角色类别的候选审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人的步骤。
15.可选地,所述在所述目标审批人信息不存在时,确定所述下一审批节点的属性信息的步骤之后,还包括:
16.在所述属性信息为关键节点时,输出节点流转失败的提示信息;或者
17.所述在所述属性信息为非关键节点时,跳过所述下一审批节点的审批的步骤之后,还包括:
18.若所述工作流处于归档状态,则输出所述工作流的流转成功信息。
19.可选地,所述基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人的步骤包括:
20.确定所述候选审批人关联的机构信息,以及各个所述候选审批人在所述机构信息中,关联的上级机构、子机构或平级机构;
21.在所述角色权限为当前机构及其上级机构、当前机构及其平级机构或当前机构及其子机构时,将满足所述当前机构及其上级机构、当前机构及其平级机构或当前机构及其子机构的,所述候选审批人作为所述目标审批人。
22.可选地,所述接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型的步骤之前,还包括:
23.接收到所述工作流的生成指令时,基于rabbitmq将所述工作流推送至流程中心。
24.可选地,所述接收到所述工作流的生成指令时,基于rabbitmq将所述工作流推送至流程中心的步骤之后,还包括:
25.确定所述工作流中流程数据的处理关系;
26.在所述流程数据中流程与任务、所述任务与处理人均为一对多的所述处理关系时,将所述工作流以嵌套文档的结构,存储到所述流程中心的mongodb数据库中。
27.可选地,所述在所述流程数据中流程与任务、所述任务与处理人均为一对多的所述处理关系时,将所述工作流以嵌套文档的结构,存储到所述流程中心的mongodb数据库中的步骤之后,还包括:
28.接收到所述工作流的查询指令时,根据所述查询指令关联的查询信息在所述mongodb数据库中匹配目标工作流;
29.接收到所述目标工作流中,触发所述流转指令的控制指令时,执行所述接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型的步骤。
30.可选地,所述接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型的步骤包括:
31.接收到所述工作流的流转指令时,获取所述工作流的网络地址信息以及所述工作流的编码信息;
32.根据所述网络地址信息确定所述工作流的属地信息,以及根据所述编码信息确定所述工作流的流转类型。
33.此外,为实现上述目的,本发明还提供一种节点流转控制装置,所述节点流转控制装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的节点流转控制程序,所述节点流转控制程序被所述处理器执行时实现如上所述的工作流的节点流转控制方法的步骤。
34.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有节点流转控制程序,所述节点流转控制程序被处理器执行时实现如上所述的工作流的节点流转控制方法的步骤。
35.本发明实施例提供了工作流的节点流转控制方法、节点流转控制装置及介质,在接收到工作流的流转指令时,确定工作流的属地信息和流转类型,进而根据该属地信息和流转类型,确定各个审批节点对应的待审批角色的角色类别和角色权限,并在工作流处于流转状态时,确定下一审批节点中符合角色类别的候选审批人,并基于角色权限对候选审批人进行筛选或校验处理,得到目标审批人,随后在目标审批人信息存在时,将工作流流转至目标审批人中。可以看出,通过确定各个审批节点对应的角色类别和角色权限后,能够基于角色权限进行查询筛选或校验处理,进而得到目标审批人,并将节点流转至目标审批人中,避免当前仅通过角色信息确定审批人而导致节点流转错误或无法流转的问题,使得工作流当前的各个节点能够正常流转,提高了工作流节点流转的通用性。
附图说明
36.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
37.图1为本发明工作流的节点流转控制方法的第一实施例的流程示意图;
38.图2是本发明工作流的节点流转控制方法的角色权限范围的示意图;
39.图3为本发明工作流的节点流转控制方法的关键节点的流转判断示意图;
40.图4为本发明工作流的节点流转控制方法的第二实施例的流程示意图;
41.图5是本发明工作流的节点流转控制方法的各个实施例的终端硬件结构示意图。
42.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
43.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
44.现有的工作流引擎通常是根据工作流中配置的角色信息,去查询相应的用户作为任务处理人(也即审批人)。例如在当前角色为主管时,能够查询到担任主管一职的所有人员信息,进而从该人员信息中选择相应的任务处理人。然而在实际场景中,当工作流的某个节点所需的审批人员为a区主管,工作流引擎基于主管信息进行查询并选择后,会出现将b区主管作为工作流的任务处理人的现象,导致工作流的各个节点无法正常流转。
45.为解决上述缺陷,本发明实施例提出一种工作流的节点流转控制方法,其主要解决方案包括以下步骤:
46.接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型;
47.根据所述属地信息以及所述流转类型,确定所述工作流的各个审批节点对应的待审批角色的角色类别和角色权限;
48.若所述工作流处于流转状态,确定下一所述审批节点中符合所述角色类别的候选
审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人;
49.在所述目标审批人信息存在时,将所述工作流流转至所述目标审批人。
50.本发明通过确定各个审批节点对应的角色类别和角色权限后,能够基于角色权限进行查询筛选或校验处理,进而得到目标审批人,并将节点流转至目标审批人中,避免当前仅通过角色信息确定审批人而导致节点流转错误或无法流转的问题,使得工作流当前的各个节点能够正常流转,提高了工作流节点流转的通用性。
51.为了更好地理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
52.第一实施例
53.请参照图1,本发明的工作流的节点流转控制方法的步骤包括:
54.步骤s10,接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型;
55.在本实施例中,工作流发起者点击提交工作流后,系统接收到所述工作流的流转指令,需要确定工作流的属地信息以及流转指令对应的流转类型,进而确保系统能够根据属地信息和流转类型确定各个节点对应的角色信息及角色权限。
56.可选地,可以通过工作流对应的ip(internet protocol address)地址以及编码信息确定属地信息和流转类型。也即在接收到所述工作流的流转指令时,获取所述工作流的网络地址信息以及所述工作流的编码信息,并根据所述网络地址信息确定所述工作流的属地信息,以及根据所述编码信息确定所述工作流的流转类型。其中,编码信息指的是不同对应的唯一编码,例如请假流程对应的唯一编码可以是zs-0001,出差申请流程的唯一编码可以是zs-0003,出差报销流程的唯一编码为zs-0016等,系统在读取到对应的编码信息后,根据编码对照表确定该工作流的流转类型。
57.可选地,还可直接基于编码信息确定所述工作流的属地信息,也即接收到所述工作流的流转指令后,获取所述工作流的编码信息,并根据所述编码信息确定所述工作流的属地信息以及所述工作流的流转类型,例如编码信息为zs-a0001时,可以确定该编码信息对应的工作流为a区域的请假流程。
58.步骤s20,根据所述属地信息以及所述流转类型,确定所述工作流的各个审批节点对应的待审批角色的角色类别和角色权限;
59.在本实施例中,系统获取到属地信息和工作流的流转类型后,可以基于此确定所述工作流对应的待审批角色的角色类别及其角色权限。例如,接收到的属地信息为b省b1市,流转类型为财务报销流程,基于此,可以得到流转节点有3个,包括负责b1市的财务主管,b1市的财务经理以及负责b1市所有业务的总经理。其中,需要说明的,各个流转节点是预先配置好的,而流转节点的数量并不等同于当前工作流需要执行的审批数量,例如当前工作流的发起者为b1市的财务主管时,其对应的审批节点数量为2个。可选地,还可将自身节点作为非关键节点,也即b1市的财务主管发起财务报销流程后,相应的审批节点有3个,而第一个审批节点(b1市的财务主管自身审批的节点)可以作为非关键节点,此时可以跳过非关键节点的审批,也即默认该节点自动完成。
60.步骤s30,若所述工作流处于流转状态,确定下一所述审批节点中符合所述角色类别的候选审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人;
61.在本实施例中,在获取到各个审批节点对应的角色类别以及该角色类别对应的权限信息后,工作流进入流转状态,此时需要确定当前的下一审批节点中符合所述角色类别的候选审批人。可以理解的是,工作流的当前节点指的是初始节点或已经流转到相应处理人的节点,此时工作流需要流转的话,需要将其流转至下一节点,因而需要确定下一审批节点中符合所述角色类别的候选审批人。需要说明的是,候选审批人可以是一个,也可以是多个,不论候选审批人的数量为一个还是多个,都需要基于权限信息对候选审批人进行筛选或校验处理,进而得到目标审批人。也即在候选审批人的数量为多个时,可以通过权限信息对其进行筛选处理,得到目标审批人,而在候选审批人的数量为一个时,可以直接基于权限信息对该候选审批人进行校验处理,进而得到目标审批人。其中,经过角色权限信息筛选或校验处理后的目标审批人的数量为1个(保障工作流某个节点审批的唯一性)或0个(也即候选审批人中不存在符合角色权限信息的目标审批人)。
62.示例性的,当前发起的工作流为财务报销流程,需要审批的节点为3个,3个节点均为非关键节点。因而可以基于角色类别确定下一审批节点(也即相对于当前的第一审批节点)为财务主管,而对应的角色类别为财务主管的角色有4个,基于此,可以根据各个角色关联的角色权限信息进行筛选处理。也即四个财务主管中,其对应的角色权限分别为b1市、b2市、b3市以及b4市对应的子公司的管理权限,而当前财务报销流程对应的属地为b2市,此时可以将角色权限信息为b2市的财务主管作为筛选处理后的目标审批人。可选地,若当前审批节点以及执行过一次,也即节点由初始节点流转到第一审批节点后,同样地,下一审批节点为财务经理,此时基于角色信息查询到财务经理后,根据各财务经理所属的权限以及当前工作流的属地进行筛选或校验处理并得到目标审批人。
63.可选地,在得到候选审批人后,可以确定候选审批人关联的机构信息,以及各个所述候选审批人在所述机构信息中关联的上级机构、子机构或平级机构,并在所述角色权限为当前机构及其上级机构、当前机构及其平级机构或当前机构及其子机构时,将满足所述当前机构及其上级机构、当前机构及其平级机构或当前机构及其子机构的,所述候选审批人作为所述目标审批人。具体地,请参照图2,在本实施例中,候选审批人的角色权限信息可以如图2所示,也即角色权限信息的权限范围包括当前指定机构、当前指定机构及其上级机构、当前指定机构及其子机构、当前指定机构及其平级机构。在确定候选审批人后,可以根据候选审批人对应的权限范围确定第二审判人。也即在审批节点对应的目标审批人所需的权限为当前指定机构及其子机构时,需要将满足当前指定机构及其子机构的候选审批人作为第二审判人。需要说明的是,在候选审批人的角色权限为当前指定及其子机构时,该角色能够审批当前指定机构及其子机构提交的工作流。因此,基于角色权限信息(权限范围)选定目标审批人,能够灵活应对多变的应用场景。
64.需要说明的是,各个审批人员对应的角色类别以及权限信息(权限范围)是由权限系统预先设定好的。
65.步骤s40,在所述目标审批人信息存在时,将所述工作流流转至所述目标审批人。
66.在本实施例中,目标审批人信息有两种状况,分别是存在跟不存在,目标审批人信
息存在说明当前工作流能够流转到下一个节点,此时系统将工作流流转到目标审批人对应的处理系统中。需要说明的是,在将工作流流转至第二审判人后,目标审批人对其进行处理时,同样继续判断目标审批人所处的节点对应的下一个节点对应的下一目标审批人,直到下一个节点为归档节点时,完成工作流的流转。
67.可选地,在目标审批人信息不存在时,说明当前节点出现无法流转的状况,此时可以输出“节点流转失败”或者“未查询到审批人,该工作流无法流转”的提示信息。
68.可选地,在目标审批人信息不存在时,还可以基于当前工作流中各节点的属性信息进行节点流转的控制。具体地,请参照图3,在查找不到目标审批人时,可以确定下一个节点的属性信息是否为关键节点,在所述属性信息为非关键节点时,跳过所述下一审批节点的审批,若所述工作流未处于归档状态,则继续执行本实施例中s30的步骤,在跳过下一个节点的审批后,若所述工作流处于归档状态,则可以输出工作流的流转成功信息。在所述属性信息为关键节点时,也即下一节点需要审批人进行审批时,则可以输出节点流转失败的提示信息。需要说明的是,通过在工作流中设置关键节点及非关键节点的节点属性,能够在特定情况下针对非关键节点执行跳过动作,进而提高工作流的通用性。
69.可选地,在所述属性信息为关键节点时,确定所述候选审批人的权限优先级,随后基于所述候选审批人的权限优先级确定辅助审批人,并将所述工作流流转至所述辅助审批人。具体地,在所述属性信息为关键节点,且目标审批人的信息为空时,为避免下一审批节点无法流转,可以对多个候选审批人选定辅助审批人,进而基于辅助审批人进行下一审批节点的审批。其中,权限优先级可以根据候选审批人对应的权限与目标审批人所需的权限之间的相似度进行判定。例如目标审批人所需的权限信息范围包括a市、b市和c市,而候选审批人中,只存在权限信息范围包括a市b市、b市或c市等权限,此时,可以将具备a市b市的权限信息的候选审批人的优先级设置为最高。也即对候选审批人的权限信息进行优先级排序。可选地,还可根据b市、c市以及a市之间的距离信息做相应的优先级加权处理,例如b市处于a市和c市之间的中间位置,则b市权限对应的优先级要高于a市和c市,也即当三个候选审批人的权限范围分别为a市、b市和c市时,b市对应的候选审批人的权限优先级较高。在候选审批人的人数为多个时,可以选定优先级最高的前三分之一或前二分之一的候选审批人作为所述辅助审批人,在候选审批人的人数为1个时,可以直接将所述候选审批人作为所述辅助审批人。在候选审批人为多个时,可以将辅助审批人外的其他候选审批人作为审批结果确认人,进而将相应的审批信息抄送指审批结果确认人(审批结果确认人无权限进行审批)。需要说明的是,在将工作流流转至辅助审批人后,还需要根据辅助审批人对应的审批结果确定是否需要继续将当前工作流进行流转,例如在辅助审批人的人数为奇数时,可以基于审批结果中通过或不通过的比值进行下一审批节点的流转,在所述辅助审批人的人数为偶数时,且审批结果中通过和不通过的结果数相同时,可以根据各个辅助审批人的权限优先级作加权处理。
70.示例性的,对多个候选审批人的权限信息进行优先级排序后,选定优先级最高的前三分之一或前二分之一的候选审批人进行辅助审批,其余候选审批人则可以作为审批结果确认人,也即进行辅助审批的人在审批通过后能够将流程抄送至审批结果确认人对应的系统中。具体地,在确定前三分之一或前二分之一的辅助审批人后,若辅助审批人的人数为奇数,则可以基于少数服从多数的原则进行该审批节点是否通过的判定。若辅助审批人的
人数为偶数,则可以基于各个辅助审批人的权限优先级做加权处理,例如在6个审批人中,存在优先级最高的两人以及优先级最低的一人的审批结果为通过,其余三人的审批结果为不通过时,可以基于权限优先级,得到下一节点的审批通过的内容,随后若工作流仍处于流转状态,则继续进行下一审批节点的审批人信息的获取。基于此,能够避免目标审批人不存在,且下一节点的节点属性为关键节点时,直接结束该工作流导致工作流流转失败的问题,保障当前工作流的正常流转。
71.需要说明的是,第一实施例中所有参数仅用于解释说明,并非是对本发明的限定。
72.在本实施例公开的技术方案中,接收到工作流流转指令后,根据工作流的ip地址信息确定工作流的属地信息,并基于工作流的编码信息确定流转类型,随后根据属地信息和流转类型确定各个审批节点对应的角色类别和角色权限,随后工作流进入流转状态并确定下一审批节点中符合角色类别的候选审批人,并根据候选审批人关联的机构信息中对应的权限范围确定目标审批人,在目标审批人信息存在时,将工作流流转至目标审批人。基于此,根据角色类别和角色权限范围进行筛选或校验处理并得到目标审批人,可以避免因选择错误审批人而导致工作流节点无法正常流转的状况,保障各个节点能够正常流转。
73.第二实施例
74.请参照图4,在第二实施例中,工作流的节点流转控制方法的步骤s10之前,还包括:
75.步骤s50,接收到所述工作流的生成指令时,基于rabbitmq将所述工作流推送至流程中心;
76.在本实施例中,各应用服务默认将工作流数据存储在本地mysql/db2等关系型数据库中,在进行工作流数据的查询时(例如查找当前工作流的流转状态以及各个流转阶段),由于各个数据库表的耦合性较高,关联有很多的数据库表,因此查询效率较低。为了提高工作流的查询效率,在接收到工作流生成指令后,本实施例通过rabbitmq(一种消息中间件)将工作流数据推送至流程中心,进而使得流程中心能够将其统一存储到mongodb数据库中。需要说明的是,mongodb数据库能够提供更高的查询效率以及更多维度的查询能力。因而将工作流数据存储到mongodb数据库中能够提高工作流的查询效率。
77.步骤s60,确定所述工作流中流程数据的处理关系;
78.步骤s70,在所述流程数据中流程与任务、所述任务与处理人均为一对多的所述处理关系时,将所述工作流以嵌套文档的结构,存储到所述流程中心的mongodb数据库中;
79.在本实施例中,基于mongodb的嵌入式文档特征,在工作流中流程数据的处理关系为流程与任务、任务与处理人等均为一对多的处理关系时,能够将“多”的一方数据以自文档的形式存储“一”方的父文档当中,也即使得原先在本地数据库中需要分布在多张例如三张表的数据,在mongodb中值存入一个文档即可,这样在读取操作时能够大大降低数据查询的开销,并提高查询性能(也即提高查询效率)。
80.可选地,接收到所述工作流的查询指令时,根据所述查询指令关联的查询信息在所述mongodb数据库中匹配目标工作流,接收到所述目标工作流中,触发所述流转指令的控制指令时,执行所述接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型的步骤。需要说明的是,将新建的工作流数据存储到当前的数据库后,接收到该新建工作流对应的控制指令,说明当前工作流已被查询并使用,此时可以跳转
执行第一实施例中步骤s10的步骤。
81.在本实施例公开的技术方案中,通过引入rbaaitmq消息队列,将工作流数据最新变动消息推送到流程中心,并在流程中心接收到工作流数据后,将工作流数据以嵌套文档的机构进行存储,进而降低了工作流存储的开销,并通过提高统一的工作流查询服务进而提高工作流的查询效率。
82.参照图5,图5为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
83.如图5所示,该终端可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、网络接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1004可以是高速的ram存储器(random access memory,ram),也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
84.本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
85.如图5所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、数据存储模块、网络通信模块以及节点流转控制程序。
86.在图5所示的终端中,网络接口1003主要用于连接后台服务器,与后台服务器进行数据通信;处理器1001可以调用存储器1004中存储的节点流转控制程序,并执行以下操作:
87.接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型;
88.根据所述属地信息以及所述流转类型,确定所述工作流的各个审批节点对应的待审批角色的角色类别和角色权限;
89.若所述工作流处于流转状态,确定下一所述审批节点中符合所述角色类别的候选审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人;
90.在所述目标审批人信息存在时,将所述工作流流转至所述目标审批人。
91.进一步地,处理器1001可以调用存储器1004中存储的节点流转控制程序,还执行以下操作:
92.在所述目标审批人信息不存在时,确定所述下一审批节点的属性信息;
93.在所述属性信息为非关键节点时,跳过所述下一审批节点的审批;
94.若所述工作流未处于归档状态,执行所述确定下一所述审批节点中符合所述角色类别的候选审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人的步骤。
95.进一步地,处理器1001可以调用存储器1004中存储的节点流转控制程序,还执行以下操作:
96.在所述属性信息为关键节点时,输出节点流转失败的提示信息;或者
97.所述在所述属性信息为非关键节点时,跳过所述下一审批节点的审批的步骤之后,还包括:
98.若所述工作流处于归档状态,则输出所述工作流的流转成功信息。
99.进一步地,处理器1001可以调用存储器1004中存储的节点流转控制程序,还执行
以下操作:
100.确定所述候选审批人关联的机构信息,以及各个所述候选审批人在所述机构信息中,关联的上级机构、子机构或平级机构;
101.在所述角色权限为当前机构及其上级机构、当前机构及其平级机构或当前机构及其子机构时,将满足所述当前机构及其上级机构、当前机构及其平级机构或当前机构及其子机构的,所述候选审批人作为所述目标审批人。
102.进一步地,处理器1001可以调用存储器1004中存储的节点流转控制程序,还执行以下操作:
103.接收到所述工作流的生成指令时,基于rabbitmq将所述工作流推送至流程中心。
104.进一步地,处理器1001可以调用存储器1004中存储的节点流转控制程序,还执行以下操作:
105.确定所述工作流中流程数据的处理关系;
106.在所述流程数据中流程与任务、所述任务与处理人均为一对多的所述处理关系时,将所述工作流以嵌套文档的结构,存储到所述流程中心的mongodb数据库中。
107.进一步地,处理器1001可以调用存储器1004中存储的节点流转控制程序,还执行以下操作:
108.接收到所述工作流的查询指令时,根据所述查询指令关联的查询信息在所述mongodb数据库中匹配目标工作流;
109.接收到所述目标工作流中,触发所述流转指令的控制指令时,执行所述接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型的步骤。
110.进一步地,处理器1001可以调用存储器1004中存储的节点流转控制程序,还执行以下操作:
111.接收到所述工作流的流转指令时,获取所述工作流的网络地址信息以及所述工作流的编码信息;
112.根据所述网络地址信息确定所述工作流的属地信息,以及根据所述编码信息确定所述工作流的流转类型。
113.此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可以存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被控制终端中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
114.因此,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有节点流转控制程序,所述节点流转控制程序被处理器执行时实现如上各个实施例所述的工作流的节点流转控制方法的各个步骤。
115.需要说明的是,由于本技术实施例提供的存储介质,为实施本技术实施例的方法所采用的存储介质,故而基于本技术实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本技术实施例的方法所采用的存储介质都属于本技术所欲保护的范围。
116.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序
产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
117.本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框,以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
118.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
119.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
120.应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二,以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
121.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
122.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
123.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所做的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种工作流的节点流转控制方法,其特征在于,所述工作流的节点流转控制方法包括:接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型;根据所述属地信息以及所述流转类型,确定所述工作流的各个审批节点对应的待审批角色的角色类别和角色权限;若所述工作流处于流转状态,确定下一所述审批节点中符合所述角色类别的候选审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人;在所述目标审批人信息存在时,将所述工作流流转至所述目标审批人。2.如权利要求1所述的工作流的节点流转控制方法,其特征在于,所述若所述工作流处于流转状态,确定下一所述审批节点中符合所述角色类别的候选审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人的步骤之后,还包括:在所述目标审批人信息不存在时,确定所述下一审批节点的属性信息;在所述属性信息为非关键节点时,跳过所述下一审批节点的审批;若所述工作流未处于归档状态,执行所述确定下一所述审批节点中符合所述角色类别的候选审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人的步骤。3.如权利要求2所述的工作流的节点流转控制方法,其特征在于,所述在所述目标审批人信息不存在时,确定所述下一审批节点的属性信息的步骤之后,还包括:在所述属性信息为关键节点时,输出节点流转失败的提示信息;或者所述在所述属性信息为非关键节点时,跳过所述下一审批节点的审批的步骤之后,还包括:若所述工作流处于归档状态,则输出所述工作流的流转成功信息。4.如权利要求1所述的工作流的节点流转控制方法,其特征在于,所述基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人的步骤包括:确定所述候选审批人关联的机构信息,以及各个所述候选审批人在所述机构信息中,关联的上级机构、子机构或平级机构;在所述角色权限为当前机构及其上级机构、当前机构及其平级机构或当前机构及其子机构时,将满足所述当前机构及其上级机构、当前机构及其平级机构或当前机构及其子机构的,所述候选审批人作为所述目标审批人。5.如权利要求1所述的工作流的节点流转控制方法,其特征在于,所述接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型的步骤之前,还包括:接收到所述工作流的生成指令时,基于rabbitmq将所述工作流推送至流程中心。6.如权利要求5所述的工作流的节点流转控制方法,其特征在于,所述接收到所述工作流的生成指令时,基于rabbitmq将所述工作流推送至流程中心的步骤之后,还包括:确定所述工作流中流程数据的处理关系;在所述流程数据中流程与任务、所述任务与处理人均为一对多的所述处理关系时,将所述工作流以嵌套文档的结构,存储到所述流程中心的mongodb数据库中。
7.如权利要求6所述的工作流的节点流转控制方法,其特征在于,所述在所述流程数据中流程与任务、所述任务与处理人均为一对多的所述处理关系时,将所述工作流以嵌套文档的结构,存储到所述流程中心的mongodb数据库中的步骤之后,还包括:接收到所述工作流的查询指令时,根据所述查询指令关联的查询信息在所述mongodb数据库中匹配目标工作流;接收到所述目标工作流中,触发所述流转指令的控制指令时,执行所述接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型的步骤。8.如权利要求1所述的工作流的节点流转控制方法,其特征在于,所述接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型的步骤包括:接收到所述工作流的流转指令时,获取所述工作流的网络地址信息以及所述工作流的编码信息;根据所述网络地址信息确定所述工作流的属地信息,以及根据所述编码信息确定所述工作流的流转类型。9.一种节点流转控制装置,其特征在于,所述节点流转控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的节点流转控制程序,所述节点流转控制程序被所述处理器执行时实现如权利要求1至8中任一项所述的工作流的节点流转控制方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有节点流转控制程序,所述节点流转控制程序被处理器执行时实现如权利要求1至8中任一项所述的工作流的节点流转控制方法的步骤。
技术总结
本发明公开了工作流的节点流转控制方法、节点流转控制装置及介质,其中,所述方法包括步骤:接收到工作流的流转指令时,确定所述工作流的属地信息以及所述流转指令对应的流转类型;根据所述属地信息以及所述流转类型,确定所述工作流的各个审批节点对应的待审批角色的角色类别和角色权限;若所述工作流处于流转状态,确定下一所述审批节点中符合所述角色类别的候选审批人,并基于所述角色权限对所述候选审批人进行筛选或校验处理,得到目标审批人;在所述目标审批人信息存在时,将所述工作流流转至所述目标审批人。本发明通过工作流的属地信息及其流转类型确定符合各个节点审批权限的审批人信息,并基于审批人权限信息完成工作流的节点流转。工作流的节点流转。工作流的节点流转。
技术研发人员:范嘉文 潘生浩
受保护的技术使用者:招商银行股份有限公司
技术研发日:2023.07.20
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/