一种流程运行方法、装置、电子设备及存储介质与流程

文档序号:33640243发布日期:2023-03-29 01:51阅读:31来源:国知局
一种流程运行方法、装置、电子设备及存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种流程运行方法、装置、电子设备及存储介质。


背景技术:

2.工作流程是指工作事项的活动流向顺序,包括实际工作过程中的工作环节、步骤和程序。在业务流程的传统实现方式中,许多公司采用纸张表单、手工传递的方式,一级一级审批签字,工作效率非常低下。
3.随着信息技术的发展,已经出现了工作流系统。在工作流系统所生成的流程图中,流程图结构与节点配置绑定在一起。针对每个任务可生成对应的流程图,用于处理该任务。
4.目前,工作流程均为工作人员根据需求预先创建的,不能对多个离散的措施手段在不经过网关判断而同时执行,从而导致使用工作流程处理任务时的效率较低的问题。


技术实现要素:

5.本技术实施例的目的在于提供一种流程运行方法、装置、电子设备及存储介质,用以提高运行工作流程处理任务的效率。
6.第一方面,本技术实施例提供一种流程运行方法,包括:
7.获取待运行流程的工作流程实例标识;
8.根据工作流程实例标识获取对应的工作流程实例;其中,工作流程实例包括阶段流程,阶段流程包括多个措施手段,多个措施手段在相应阶段流程被调用时,能够不经过网关判断而同时执行;
9.运行工作流程实例,以执行多个措施手段。
10.本技术实施例通过在工作流程实例中引入能够不经过网关判断而同时执行的阶段流程,由于减少了网关判断这个节点,所以提高了对工作流程运行的效率。
11.在任一实施例中,工作流程实例还包括子预案流程,该子预案流程通过引用第三方编排的流程方案生成。
12.本技术实施例通过引用第三方编排的流程方案,所以在流程编排阶段不需要再次编排子预案流程,提高了工作流程实例生成的效率。
13.在任一实施例中,运行工作流程实例,包括:
14.获取工作流程实例对应的任务列表,任务列表包括多个任务,多个任务通过调用所述阶段流程对应的措施手段进行处理;
15.根据任务列表中各个任务生成对应任务的handle对象,获得任务列表对应的handle对象集合;
16.运行工作流程实例中的多个措施手段,对handle对象集合中的handle对象进行处理。
17.本技术实施例通过将工作流程实例对应的任务列表中各个任务生成handle对象,
在运行工作流程实例时,按照handle对象集合中的handle对象的顺序执行便可,从而提高了运行工作流程的效率。
18.在任一实施例中,根据任务列表中各个任务对应的任务类型生成对应任务的handle对象,包括:
19.针对阶段流程对应的阶段任务,部署并启用阶段任务对应的阶段流程;
20.查询阶段流程对应的阶段任务列表,其中,阶段任务列表包括所述阶段流程包含的阶段任务信息;
21.根据阶段任务列表中每一阶段任务信息生成对应的handle对象。
22.本技术实施例通过针对阶段类型的阶段任务进行部署、查询阶段任务列表、并生成对应的handle对象,最后将生成的handle对象融合到整体流程中,实现了在不使用网关判断便可同时执行阶段中的各个阶段任务,由于少了网关节点,因此,在流程运行过程中,减少了所运行的流程节点数,提高了流程运行的效率。
23.在任一实施例中,工作流程实例还包括子预案流程,子预案流程为通过引用第三方编排的流程方案生成的;任务列表包括子预案任务;根据任务列表中各个任务对应的任务类型生成对应任务的handle对象,包括:
24.针对任务类型为子预案类型的子预案任务,复制子预案任务对应的子预案流程模板信息,并实例化子预案流程;
25.将实例化后的子预案流程对应的业务流程图信息进行部署并启用;
26.查询子预案流程对应的子预案任务列表;其中,子预案任务列表包括子预案流程包含的子预案任务信息;
27.根据子预案任务列表中每一子预案任务信息生成对应的handle对象。
28.本技术实施例通过引用第三方已经编排好的子预案,可以在创建流程时,不再需要重新对子预案进行编排,提高了流程创建的效率。
29.在任一实施例中,对handle对象集合中的handle对象进行处理,包括:
30.依次调用handle对象集合中的handle对象,根据handle对象对应的任务标识和流程实例标识确定handle对象的运行状态;
31.获取运行状态为正在运行的任务节点的措施手段实例信息,并根据措施手段实例信息对任务节点进行处理。
32.本技术实施例通过将阶段中所包含的任务和子预案中包含的任务对应的handle对象均融入整体流程中,从而依次调用整体流程对应的handle对象集合,从而使得流程能够引用第三方已经编排好的流程,并且可以在不经过网关判断的前提下同时执行多个离散的任务。
33.在任一实施例中,该方法还包括:
34.接收工作流程变更请求,工作流程变更请求包括待变更的任务节点标识以及变更类型;
35.若待变更的任务节点标识对应的待变更任务节点在工作流程实例中为未开始执行,则根据变更类型对工作流程实例中的待变更任务进行变更处理。
36.本技术实施例允许对工作流程中未开始执行的任务进行变更,从而在不影响流程正常运行的前提下,满足用户的更改需求。
37.在任一实施例中,该方法还包括:
38.在工作流程实例运行期间,若接收到异常信息,则展示异常处理选项,以供用户选择对发生异常的任务的处理方式;异常处理选项包括重启任务、跳过任务和结束工作流程。
39.本技术实施例提供异常处理选项,当工作流程在运行过程中,若出现异常,可供用户选择对应的异常处理方式。
40.在任一实施例中,该方法还包括:
41.获取已完成编排的工作方案流程模板,并根据工作方案流程模板生成模板bpmn文件信息和流程节点信息;
42.将模板bpmn文件信息和流程节点信息进行存储。
43.本技术实施例在准备阶段预先创建工作方案流程模板,供引用阶段复用该模板,提高了任务对应的流程创建的效率。
44.在任一实施例中,该方法还包括:
45.复制目标任务所需的工作方案流程模板信息,工作方案流程模板信息包括工作流程基本信息、模板bpmn信息和措施手段;且所述工作方案流程模板信息为预先配置好的;
46.将工作流程基本信息添加到工作流程实例化表中,以实现对工作方案流程模板的实例化,并生成工作方案实例标识;
47.将实例化的模板bpmn信息部署在camunda工作流引擎工具上,生成部署标识,并将部署标识更新到工作流程实例化表中;
48.将工作方案实例标识与目标任务对应的任务标识进行绑定。
49.本技术实施例通过复制工作方案流程模板信息的方式引用工作方案流程模板,从而在后续对工作方案流程模板进行更改时,不会影响引用了相同模板的其他任务的执行。
50.在任一实施例中,该方法还包括:
51.接收目标任务的启动请求,启动请求包括目标任务对应的任务标识;
52.根据任务标识获取与任务标识具有绑定关系的工作方案实例标识;
53.根据工作方案实例标识从对应的工作方案实例表中获取部署标识;
54.根据部署标识调用获取流程定义的方法获取流程定义标识;
55.根据流程定义标识运行对应的实例化的模板bpmn,以实例化工作流程,生成工作流程实例标识,以及工作流程实例对应的各任务的任务标识;
56.将工作流程实例标识与工作方案实例标识进行绑定。
57.本技术实施例中,在运行流程前,对创建的工作流程进行实例化,并将工作流程实例标识与工作方案实例标识进行绑定,便于通过与工作方案实例标识同样具备绑定关系的任务标识确定对应的工作流程实例标识。
58.第二方面,本技术实施例提供一种流程运行装置,包括:
59.标识获取模块,用于获取待运行流程的工作流程实例标识;
60.实例获取模块,用于根据工作流程实例标识获取对应的工作流程实例;其中,工作流程实例包括阶段流程,阶段流程包括多个措施手段,多个措施手段在相应阶段流程被调用时,能够不经过网关判断而同时执行;
61.流程运行模块,用于运行工作流程实例,以执行多个措施手段。
62.第三方面,本技术实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
63.所述处理器和所述存储器通过所述总线完成相互间的通信;
64.所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法。
65.第四方面,本技术实施例提供一种非暂态计算机可读存储介质,包括:
66.所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法。
67.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
68.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
69.图1为现有技术提供的一种工作流程图;
70.图2为本技术实施例提供的一种包含阶段的流程图;
71.图3为本技术实施例提供的一种流程运行方法流程示意图;
72.图4为本技术实施例提供的一种工作方案流程模板示意图;
73.图5为本技术实施例提供的引用阶段流程示意图;
74.图6为本技术实施例提供的一种预处理阶段流程示意图;
75.图7为本技术实施例提供的一种handle对象集合生成方法流程示意图;
76.图8为本技术实施例提供的处理handle对象的方法流程示意图;
77.图9为本技术实施例提供的一种流程运行装置结构示意图;
78.图10为本技术实施例提供的电子设备实体结构示意图。
具体实施方式
79.下面将结合附图对本技术技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本技术的技术方案,因此只作为示例,而不能以此来限制本技术的保护范围。
80.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
81.在本技术实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本技术实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
82.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同
的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
83.在本技术实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
84.在本技术实施例的描述中,术语“多个”指的是两个以上(包括两个),同理,“多组”指的是两组以上(包括两组),“多片”指的是两片以上(包括两片)。
85.在本技术实施例的描述中,技术术语“中心”“纵向”“横向”“长度”“宽度”“厚度”“上”“下”“前”“后”“左”“右”“竖直”“水平”“顶”“底”“内”“外”“顺时针”“逆时针”“轴向”“径向”“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术实施例的限制。
86.在本技术实施例的描述中,除非另有明确的规定和限定,技术术语“安装”“相连”“连接”“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;也可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术实施例中的具体含义。
87.首先,对本技术实施例中涉及的到概念进行解释:
88.camunda工作流引擎是目前主流的工作流程引擎之一。
89.camunda modeler是camunda官方提供的一个流程设计器,用于编辑流程图以及其他模型【表单】,也就是一个流程图的绘图工具。
90.camunda bpm是camunda官方提供的一个业务流程管理平台,用来管理,部署的流程定义、执行任务,策略等。下载安装一个camunda平台,成功解压camunda平台的发行版后,执行名为start.bat(对于windows用户)或start.sh(对于unix用户)的脚本。
91.业务流程建模标注(business process modeling notation,简称bpmn)是一套规范标准,包括这些图元如何组合成一个业务流程图(business process diagram)。bpmn的主要目标是提供被所有业务用户理解的一套标记语言,包括业务分析者、软件开发者以及业务管理者与监察者。bpmn还将支持生成可执行的bpel4ws语言。所以,bpmn在业务流程设计与流程实现之间搭建了一条标准化的桥梁。bpmn定义了业务流程图,其基于流程图技术,同时为创建业务流程操作的图形化模型进行了裁减。业务流程的模型就是图形化对象的网图,包括活动(也可以说工作)和定义操作顺序的流控制。
92.措施手段实例:预案编排时,从措施手段库里选取措施手段进入编排流程中后对该措施手段进行实例化,措施手段实例化后只属于该编排流程,等同于流程的节点。
93.预案/工作方案:一个个措施手段实例编排在一起,形成一个整体的流程的方案,称为预案或工作方案。等同于一个流程的库,在被指挥调度之前,要先准备好流程库,等待被调用。
94.措施手段实现:手段实现是措施手段实例配置数据信息后的定义,这些数据信息内容是措施手段的实现,即节点配置完信息后的定义。
95.流程定义:processdefinition是对业务过程的完整描述。
96.阶段:一批措施手段实例的集合。
97.子预案:引用第三方已经编排好的工作方案流程。
98.api手段:底层通过httpclient技术发送http协议来请求别的接口获取数据。
99.本技术发明人经过长期研究发现,现有的工作流程中,对多个并列的措施手段来讲,其均通过上一层的网关进行判断,图1为现有技术提供的一种工作流程图,该流程图中名称为指令的措施手段和名称为消息的措施手段属于两个并列的措施手段,其上一流程节点为分支(即网关),通过分支节点的判断确定执行指令措施手段还是消息措施手段。并且该流程图为引用存储在流程库中的工作方案流程模板。因此,现有的工作流程存在以下技术问题:
100.(1)无法引用和使用第三方已经编排好的工作流程;
101.(2)对离散的措施手段不能进行编排,即在某一过程中,要对多个措施手段不经过网关判断而同时执行或加入独立的流程编排是不允许。图2为本技术实施例提供的一种包含阶段的流程图,如图2所示,名称为指令的措施手段、名称为通用api的措施手段和名称为消息的措施手段为并列的三个措施手段,并且其上一层流程节点并没有网关。
102.为解决上述技术问题,本技术实施例提供一种流程运行方法,该方法在运行时,将整个流程图中各个任务节点生成整体的handle集合,在对handle集合中的各个handle对象进行处理,可运行第三方已经编排好的工作流程,也可以运行阶段任务(即多个离散的措施手段的集合)。
103.可以理解的是,本技术实施例提供的流程运行方法可以应用于电子设备,该电子设备包括终端以及服务器;其中终端具体可以为智能手机、平板电脑、计算机、个人数字助理(personal digital assitant,pda)等;服务器具体可以为应用服务器,也可以为web服务器。
104.图3为本技术实施例提供的一种流程运行方法流程示意图,如图3所示,该方法包括:
105.步骤301:获取待运行流程的工作流程实例标识。
106.其中,用户可根据自己的实际需求在电子设备上创建一个或多个任务,目标任务即为用户创建的任务中的其中一个。可以理解的是,任务可以为重大风险预警、报销等,本技术实施例对此不作具体限定。电子设备会为每个任务生成唯一的任务标识。在启动任务时,电子设备可根据目标任务对应的任务标识获取对应的工作流程实例标识。
107.工作流程实例标识用于表征工作流程的唯一性。每个任务对应一个工作流程,并且该工作流程是通过运行实例化后的bpmn生成的,并获得工作流程实例标识。
108.步骤302:根据工作流程实例标识获取对应的工作流程实例;其中,工作流程实例包括阶段流程,阶段流程包括多个措施手段,多个措施手段在相应阶段流程被调用时,能够不经过网关判断而同时执行。
109.在具体的实施过程中,每个工作流程实例都有其唯一的工作流程实例标识,因此,电子设备在获取到工作流程实例标识后,可根据该工作流程实例标识获取对应的工作流程实例。
110.可以理解的是,工作流程实例为通过多个措施手段构成,多个措施手段中,可能全部或部分属于阶段流程,即,阶段流程包括多个离散的措施手段,这些离散的措施手段能够
不经过网关判断而同时执行,如图2所示。
111.步骤303:运行工作流程实例,以执行多个措施手段。
112.在工作流程实例运行时,当运行到阶段流程时,可同时执行阶段流程所包含的多个措施手段,仍以图2为例,同时执行通用api措施手段、指令措施手段和消息措施手段。
113.本技术实施例通过在工作流程实例中引入能够不经过网关判断而同时执行的阶段流程,由于减少了网关判断这个节点,所以提高了对工作流程运行的效率。
114.在上述实施例的基础上,工作流程实例还包括子预案流程,子预案流程通过引用第三方编排的流程方案生成。
115.在具体的实施过程中,工作流程实例中除了包含阶段流程外,还可以包含子预案流程。子预案流程是指第三方已经编排好的流程,将子预案流程引入工作流程实例中,工作人员在流程编排阶段可不需要对子预案流程进行编排,直接引用即可。可以理解的是,子预案流程也包括至少一个措施手段。
116.另外,工作流程实例中还可以包含普通措施手段,普通措施手段是指工作流程实例中除了阶段流程和子预案流程所包含的措施手段之外的措施手段。工作流程实例中还可以只包含子预案流程,或包含子预案流程和普通措施手段,或包含阶段流程和普通措施手段等。
117.在上述实施例的基础上,运行所述工作流程实例,包括:
118.获取所述工作流程实例对应的任务列表,任务列表包括多个任务,多个任务通过调用阶段流程对应的措施手段进行处理;
119.根据任务列表中各个任务生成对应任务的handle对象,获得任务列表对应的handle对象集合;
120.运行工作流程实例中的多个措施手段,对handle对象集合中的handle对象进行处理。在具体的实施过程中,工作流程实例标识用于指代一个工作流程,而工作流程是由多个具备逻辑关系的任务构成的。当工作流程被实例化后,获取到的流程实例的任务集合就是任务列表,因此,电子设备通过工作流程实例标识可获取到对应的工作流程的任务列表。该任务列表中包含多个任务,并且每个任务对应一个任务标识。可以理解的是,任务标识用于表征对应任务的唯一性。另外,任务列表中的任务可按照工作流程在运行时的逻辑进行排序。
121.任务列表中的任务的任务类型可以包含普通类型、阶段类型和子预案类型中的至少一项。其中,阶段类型是指属于阶段的任务的类型,属于同一个阶段的多个任务可不经过网关判断而同时执行;子预案类型是指属于子预案的任务的类型,是在工作流程中引入了第三方已经编排好的流程所包含的任务的类型;普通类型是指工作流程中除了阶段和子预案之外的任务的类型。
122.应当说明的是,工作流程中,可以包含多个阶段,也可以包含多个子预案,本技术实施例不对工作流程中具体包含的任务的类型进行限定。
123.handle对象集合中的handle对象是将工作流程中的每个任务进行处理后获得的。因此,每个任务与对应的handle强绑定,对外提供操作的是handle对象。
124.在流程运行的过程中,按照handle对象集合中handle对象的排序依次对handle对象进行处理,以完成对目标任务的处理。
125.本技术实施例通过将工作流程实例中的任务转换成handle对象,从而获得的handle对象集合对应完整的流程,从而,通过依次对handle对象集合中的handle对象的处理,对多个离散的不经过网关便同时执行。
126.为了便于理解,本技术从准备阶段、引用阶段、启动阶段和补偿阶段对本技术实施例的整体方案进行描述。
127.一、准备阶段
128.在准备阶段,用户可根据实际需求预先创建多个工作方案流程模板,例如:创建一个方案类型为“重大风险预警”的工作方案流程模板,将重大风险预警相关的措施手段进行编排到该方案流程下。可以理解的是,电子设备可提供可视化交互界面,在该界面上提供多种措施手段组件,用户在编排流程时,可通过拖动工具栏中对应类型的措施手段组件到编排区进行编排。完成编排后,可将工作方案流程模板生成bpmn文件信息和流程节点信息,并存储入库。
129.其中,bpmn文件信息,即带bpmn标签(即《bpmn:xxx》《/bpmn》)的xml文件数据,包括的流程的开始位置节点,结束位置节点,新增加的节点(措施手段),还有bpmn必带的参数配置,还要有节点的坐标位置,其中节点的信息包含:id,名称,该节点的下一个节点即输出是谁(id),上一个节点即输入是谁。流程节点信息,就是措施手段的一些信息:名称,描述,节点id,上级节点id,描述,节点类型,是普通节点,还是阶段或子流程节点。
130.图4为本技术实施例提供的一种工作方案流程模板示意图,如图4所示。该风险预警方案对应的工作方案流程模板中包括两个阶段,即阶段1和阶段2,其中阶段1中包括风险预警报告整编任务节点、风险预警指令任务节点和风险预警解除报告任务节点。阶段2包括应急处理任务节点。在风险预警指令任务节点中还可以进行参数配置,即配置指令内容和接收指令人。
131.二、引用阶段
132.电子设备通过指挥调度平台创建一个新任务,引用在准备阶段已经编排好的相关工作方案流程模板,其具体流程参见图5:
133.步骤501:创建任务;通过指挥调度平台创建任务,可以理解的是,指挥调度平台为前端,提供用户可视化的创建任务的界面。
134.步骤502:复制工作方案流程模板;由于准备阶段创建的工作方案流程模板可以被多个任务所引用,需要让各任务之间都具有独立性,不然修改了一处工作流程的措施手段会影响到所有引用该流程的任务,因此,可通过复制工作方案流程模板的方式,实现将该任务对应的工作方案流程模板与准备阶段存储的工作方案流程模板和其他任务引用的工作方案流程模板隔离开。在复制工作方案流程模板时,可复制工作方案基本信息、工作方案编排的bpmn信息和工作方案措施手段。若方案中的措施手段已经匹配值信息,还可复制措施手段配置信息。其中,工作方案基本信息包括工作方案名称、版本号、状态、创建人、审核人、审核状态、标签、描述和类型等信息。工作方案措施手段是指准备阶段存储的流程节点信息。
135.步骤503:创建实例化的方案;创建工作流程实例化表,将工作方案基本信息添加到该工作流程实例化表中,以实现对工作方案流程模板的实例化。
136.步骤504:部署工作流程;将实例化的方案的bpmn信息(业务流程图信息)以.bpmn
或者.bpmn20.xml结尾形式的文件通过camunda工作流引擎工具部署。camunda工作流引擎工具生成对应的部署标识。
137.步骤505:更新实例化的方案信息;将部署标识更新到工作流程实例化表中,并生成工作方案实例标识。
138.步骤506:将任务标识与工作方案实例标识绑定。
139.本技术实施例通过复制工作方案流程模板信息的方式引用工作方案流程模板,从而在后续对工作方案流程模板进行更改时,不会影响引用了相同模板的其他任务的执行。
140.三、启用阶段
141.启用阶段分为两个子阶段,具体为预处理阶段和运行阶段。
142.图6为本技术实施例提供的一种预处理阶段流程示意图,如图6所示,包括:
143.步骤601:接收目标任务的启动请求,启动请求包括目标任务对应的任务标识;
144.步骤602:根据任务标识获取与任务标识具有绑定关系的工作方案实例标识;由于任务标识与工作方案实例标识具备绑定关系,因此,可根据任务标识获取工作方案实例标识。
145.步骤603:根据工作方案实例标识从对应的工作方案实例表中获取部署标识;在引用阶段,将部署标识更新到了工作方案实例表中,因此,可通过工作方案实例标识获取对应的工作方案实例表,进而,从工作方案实例表中获取部署标识。
146.步骤604:根据部署标识调用获取流程定义的方法获取流程定义标识;根据部署标识调用camunda流程引擎工具获取流程定义的方法,通过流程定义的方法获取流程定义标识。
147.步骤605:根据流程定义标识运行对应的实例化的模板bpmn,以实例化工作流程,生成工作流程实例标识,以及工作流程实例对应的各任务的任务标识;
148.步骤606:将工作流程实例标识与工作方案实例标识进行绑定。
149.图7为本技术实施例提供的一种handle对象集合生成方法流程示意图,如图7所示,该方法包括:
150.步骤701:查询任务列表;根据工作流程实例标识通过camunda工作流引擎查询对应的工作流程实例对应的任务列表。其中,工作流程中一个阶段流程对应一个任务,若阶段流程中包括多个措施手段,则阶段流程也有其对应的阶段任务列表。一个子预案流程也对应一个任务,并且子预案流程也有其对应的子预案任务列表。若工作流程包括任务a、任务b和任务c,其中,任务b为阶段任务,其包含任务b1和任务b2;任务c为子预案任务,其包含任务c1、任务c2和任务c3。那么该任务列表包括任务a、任务b和任务c。
151.步骤702:判断任务类型;在将任务列表中每个任务转换成handle对象时,判断任务的任务类型是否为普通类型、阶段类型和子预案类型;若是普通类型,则执行步骤703;若是阶段类型,则执行步骤704;若是子预案类型,则执行步骤705。
152.步骤703:创建handle对象集合;将普通类型的任务转换成对应的handle对象,将所有普通类型的任务对应的handle对象构成handle对象集合,即handlea。
153.步骤704:部署阶段流程;对于任务类型为阶段类型的任务,部署阶段流程,具体地,通过camunda工作流引擎运行阶段对应的bpmn,以实现对阶段流程的部署。
154.步骤705:启用流程实例;根据预案实例中存储的部署流程的唯一标识查询流程定
义表,获取流程定义的唯一标识,然后根据定义的唯一标识调用camunda运行方法启动流程,生成流程实例。
155.步骤706:查询阶段任务列表;该阶段任务列表包括任务b1和任务b2。
156.步骤707:创建handle对象集合;分别将任务b1和任务b2转换成对应的handle对象,进而构成handle对象集合。handle对象集合包括handle b1和handle b2。
157.步骤708:复制子预案编排信息;针对任务类型为子预案类型的任务,复制子预案流程的编排信息,以引用该子预案流程。
158.步骤709:实例化子预案流程;将该子预案流程的基本信息填入子预案流程实例化表中,以实现对子预案流程的实例化。
159.步骤710:部署子预案流程;将实例化的子预案流程对应的bpmn信息部署在camunda工作流引擎工具上。
160.步骤711:启用流程实例;完成子预案流程的部署后,启动该子预案流程实例。
161.步骤712:查询子预案任务列表;子预案任务列表包括任务c1和任务c2。
162.步骤713:创建handle对象集合;分别将任务c1和任务c2转换成对应的handle对象,进而构成handle对象集合。handle对象集合包括handle c1和handle c2。
163.步骤714:合并handle对象集合,并存储;将步骤703、步骤707和步骤713合并,获得总的handle对象集合,可以理解的是,生成的handle对象集合为handle a、handle b1、handle b2、handle c1和handle c2。
164.图8为本技术实施例提供的处理handle对象的方法流程示意图,如图8所示,包括:
165.步骤801:循环处理handle对象集合;获取handle对象集合中的一个handle对象。
166.步骤802:判断是否是运行中的节点;根据任务标识和流程实例标识调用camunda工作流引擎判断该handle对象对应的任务是否为正在运行的流程节点,若是,则执行步骤803,否则执行步骤801。
167.步骤803:获取措施手段实例;根据该handle对象对应的措施手段实例id和任务id查询治理资源模块接口,通过该接口获取措施手段实例信息。可以理解的是,将措施手段实例化后称为任务,也可以理解为工作流程中的流程节点。
168.步骤804:判断是否是自动执行;在获取到措施手段实例信息后,判断该措施手段是否是自动执行的类型,若是,则执行步骤805,如果不是,则可结束对该handle对象的处理,即需要在业务处理的时候,处理结束后在调用完成接口,期间该handle对象一直处理已就绪的状态,调用完成接口后状态修改为已结束。若handle对象集合中的handle对象未处理完,则重新执行步骤801。可以理解的是,自动执行的措施手段可以包括api类型的措施手段。
169.步骤805:根据全局变量和api配置信息调用手段实现进行业务处理;将全局配置参数和措施手段配置好的参数请求手段实现模块进行业务处理,成功就调用该措施手段的完成接口。
170.步骤806:消息通知;在完成对handle对象集合中所有handle对象的处理后,使用kafka消息队列异步通知调度平台任务已启动。
171.本技术实施例通过针对阶段类型的阶段任务进行部署、查询阶段任务列表、并生成对应的handle对象,最后将生成的handle对象融合到整体流程中,实现了在不使用网关
判断便可同时执行阶段中的各个阶段任务,由于少了网关节点,因此,在流程运行过程中,减少了所运行的流程节点数,提高了流程运行的效率。
172.在上述实施例的基础上,该方法还包括:
173.接收工作流程变更请求,工作流程变更请求包括待变更的任务节点标识以及变更类型;
174.若待变更的任务节点标识对应的待变更任务节点在工作流程实例中为未开始执行,则根据变更类型对所述工作流程实例中的待变更任务进行变更处理。
175.在具体的实施过程中,用户可根据实际情况对工作流程进行变更,在需要变更时,通过电子设备发送工作流程变更请求,该工作流程变更请求包括待变更的任务节点标识和变更类型。其中,变更类型用于表示对待变更的任务节点标识的变更方法,例如:在待变更的任务节点标识后增加一个新的流程节点,或删除待变更的任务节点标识对应的流程节点。
176.需要注意的是,本技术实施例在对任务节点进行变更时,需要待变更的任务节点未开始处理,即任务节点的状态为未开始执行。对于任务节点为已就绪或已完成,其是不允许修改配置和增删节点的。
177.若对工作流程进行了变更,那么需要重新配置的工作流程的任务节点处重新执行启用阶段,但是之前已经运行的handle对象不再重新运行。
178.本技术实施例允许对工作流程中未开始执行的任务进行变更,从而在不影响流程正常运行的前提下,满足用户的更改需求。
179.在上述实施例的基础上,该方法还包括:
180.在工作流程实例运行期间,若接收到异常信息,则展示异常处理选项,以供用户选择对发生异常的任务的处理方式;异常处理选项包括重启任务、跳过任务和结束工作流程。
181.在具体的实施过程中,本技术实施例还提供有异常补偿机制,以便于5在工作流程运行过程中,若发生了异常,有方法使流程继续运行或跳出。
182.具体方法为:
183.工作流程运行的时候,如果某一节点配置信息错误或者网络原因,导致的异常,让工作流程不能正常运转下去,工作流程图上会有一个异常处理功能,可选择3种类型:
184.01、重启当前节点:重新运行当前的措施手段实例节点。
185.2、跳过当前节点:直接将当前节点设置为已完成,并启动下一个措施节点。
186.3、结束当前流程:直接将当前的工作方案流程结束。
187.可以理解的是,该异常处理功能可以在发生异常时自动弹出选择框,5以供用户选择异常处理的方式。
188.在另一实施例中,也可以预先为每一个任务节点配置一个默认的异常处理方式,当触发异常时,自动执行该异常处理方式。
189.本技术实施例提供异常处理选项,当工作流程在运行过程中,若出现异常,可供用户选择对应的异常处理方式。
190.0图9为本技术实施例提供的一种流程运行装置结构示意图,该装置可
191.以是电子设备上的模块、程序段或代码。应理解,该装置与上述图3方法实施例对应,能够执行图3方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,
为避免重复,此处适当省略详细描述。所述装
192.置包括:标识获取模块901、实例获取模块902和流程运行模块903,其中:5标识获取模块901用于获取待运行流程的工作流程实例标识;
193.实例获取模块902用于根据所述工作流程实例标识获取对应的工作流程实例;其中,所述工作流程实例包括阶段流程,所述阶段流程包括多个措施手段,所述多个措施手段在相应阶段流程被调用时,能够不经过网关判断而同时执行;
194.流程运行模块903用于运行所述工作流程实例,以执行所述多个措施手段。
195.在上述实施例的基础上,所述工作流程实例还包括子预案流程,所述子预案流程通过引用第三方编排的流程方案生成。
196.在上述实施例的基础上,流程运行模块903具体用于:
197.获取所述工作流程实例对应的任务列表,所述任务列表包括多个任务,所述多个任务通过调用所述阶段流程对应的措施手段进行处理;
198.根据所述任务列表中各个任务生成对应任务的handle对象,获得所述任务列表对应的handle对象集合;
199.运行所述工作流程实例中的多个措施手段,对所述handle对象集合中的handle对象进行处理。
200.在上述实施例的基础上,流程运行模块903具体用于:
201.针对阶段流程对应的阶段任务,部署并启用所述阶段任务对应的阶段流程;
202.查询所述阶段流程对应的阶段任务列表,其中,所述阶段任务列表包括所述阶段流程包含的阶段任务信息;
203.根据所述阶段任务列表中每一阶段任务信息生成对应的handle对象。
204.在上述实施例的基础上,所述工作流程实例还包括子预案流程,所述子预案流程为通过引用第三方编排的流程方案生成的;所述任务列表包括子预案任务;流程运行模块903具体用于:
205.针对所述任务类型为子预案类型的子预案任务,复制所述子预案任务对应的子预案流程模板信息,并实例化子预案流程;
206.将实例化后的子预案流程对应的业务流程图信息进行部署并启用;
207.查询所述子预案流程对应的子预案任务列表;其中,所述子预案任务列表包括所述子预案流程包含的子预案任务信息;
208.将所述子预案任务列表中每一子预案任务信息生成对应的handle对象。
209.在上述实施例的基础上,流程运行模块903具体用于:
210.依次调用所述handle对象集合中的handle对象,根据所述handle对象对应的任务标识和所述流程实例标识确定所述handle对象的运行状态;
211.获取所述运行状态为正在运行的任务节点的措施手段实例信息,并根据所述措施手段实例信息对所述任务节点进行处理。
212.在上述实施例的基础上,该装置还包括变更模块,用于:
213.接收工作流程变更请求,所述工作流程变更请求包括待变更的任务节点标识以及变更类型;
214.若所述待变更的任务节点标识对应的待变更任务节点在所述工作流程实例中为
未开始执行,则根据所述变更类型对所述工作流程实例中的待变更任务进行变更处理。
215.在上述实施例的基础上,该装置还包括异常处理模块,用于:
216.在所述工作流程实例运行期间,若接收到异常信息,则展示异常处理选项,以供用户选择对发生异常的任务的处理方式;所述异常处理选项包括重启任务、跳过任务和结束工作流程。
217.在上述实施例的基础上,该装置还包括编排模块,用于:
218.获取已完成编排的工作方案流程模板,并根据所述工作方案流程模板生成模板bpmn文件信息和流程节点信息;
219.将所述模板bpmn文件信息和所述流程节点信息进行存储。
220.在上述实施例的基础上,该装置还包括引用模块,用于:
221.复制所述目标任务所需的工作方案流程模板信息,所述工作方案流程模板信息包括工作流程基本信息、模板bpmn信息和措施手段;且所述工作方案流程模板信息为预先配置好的;
222.将所述工作流程基本信息添加到工作流程实例化表中,以实现对所述工作方案流程模板的实例化,并生成所述工作方案实例标识;
223.将实例化的模板bpmn信息部署在camunda工作流引擎工具上,生成部署标识,并将所述部署标识更新到所述工作流程实例化表中;
224.将所述工作方案实例标识与所述目标任务对应的任务标识进行绑定。
225.在上述实施例的基础上,该装置还包括预处理模块,用于:
226.接收所述目标任务的启动请求,所述启动请求包括所述目标任务对应的任务标识;
227.根据所述任务标识获取与所述任务标识具有绑定关系的所述工作方案实例标识;
228.根据所述工作方案实例标识从对应的工作方案实例表中获取所述部署标识;
229.根据所述部署标识调用获取流程定义的方法获取流程定义标识;
230.根据所述流程定义标识运行对应的实例化的模板bpmn,以实例化工作流程,生成工作流程实例标识,以及所述工作流程实例对应的各任务的任务标识;
231.将所述工作流程实例标识与所述工作方案实例标识进行绑定。
232.图10为本技术实施例提供的电子设备实体结构示意图,如图10所示,所述电子设备,包括:处理器(processor)1001、存储器(memory)1002和总线1003;其中,
233.所述处理器1001和存储器1002通过所述总线1003完成相互间的通信;
234.所述处理器1001用于调用所述存储器1002中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取待运行流程的工作流程实例标识;根据所述工作流程实例标识获取对应的工作流程实例;其中,所述工作流程实例包括阶段流程,所述阶段流程包括多个措施手段,所述多个措施手段在相应阶段流程被调用时,能够不经过网关判断而同时执行;运行所述工作流程实例,以执行所述多个措施手段。
235.处理器1001可以是一种集成电路芯片,具有信号处理能力。上述处理器1001可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实
现或者执行本技术实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
236.存储器1002可以包括但不限于随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electrically erasable programmable read-only memory,eeprom)等。
237.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
238.获取待运行流程的工作流程实例标识;根据所述工作流程实例标识获取对应的工作流程实例;其中,所述工作流程实例包括阶段流程,所述阶段流程包括多个措施手段,所述多个措施手段在相应阶段流程被调用时,能够不经过网关判断而同时执行;运行所述工作流程实例,以执行所述多个措施手段。
239.本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:
240.获取待运行流程的工作流程实例标识;根据所述工作流程实例标识获取对应的工作流程实例;其中,所述工作流程实例包括阶段流程,所述阶段流程包括多个措施手段,所述多个措施手段在相应阶段流程被调用时,能够不经过网关判断而同时执行;运行所述工作流程实例,以执行所述多个措施手段。
241.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
242.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
243.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
244.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
245.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1