CN116860344A - 一种流程管理方法、系统、设备及介质 - Google Patents
一种流程管理方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN116860344A CN116860344A CN202310890629.7A CN202310890629A CN116860344A CN 116860344 A CN116860344 A CN 116860344A CN 202310890629 A CN202310890629 A CN 202310890629A CN 116860344 A CN116860344 A CN 116860344A
- Authority
- CN
- China
- Prior art keywords
- flow instance
- state
- flow
- instance
- termination request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 130
- 230000008569 process Effects 0.000 claims abstract description 83
- 238000012545 processing Methods 0.000 claims description 29
- 230000002159 abnormal effect Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 description 11
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/442—Shutdown
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种流程管理方法、系统、设备及介质,该方法包括:获取流程实例,其中,流程实例包括待执行的目标任务节点;查询流程实例的状态,获得状态查询结果;当状态查询结果表征接收到针对所述流程实例的终止请求,拒绝目标任务节点,以终止流程实例。在该方法中,通过在执行任务节点前查询流程实例的状态,可以根据状态查询结果判断是否拒绝目标任务节点,尤其对于分布式部署的流程管理系统,能够在无需提前确定用于执行当前任务节点的服务器的基础上,实现流程实例的终止,适用性较强。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种流程管理方法、系统、电子设备以及计算机可读存储介质。
背景技术
随着计算机技术的快速发展,将计算机技术和现代化办公结合的办公自动化(office automation,OA)系统应运而生。OA系统可以实现办公事务的自动化处理,从而提升办公效率。例如,OA系统支持对于任务流程(也称作工作流)的编排和管理,可以实现任务流程的自动推进。
具体地,任务流程编排有多个任务节点,任务流程触发后即生成流程实例,任务处理人员可以按照任务流程的执行顺序执行任务节点,从而完成流程实例的处理。
在生成流程实例后,用户可能存在需要终止流程实例的需求。例如,当用户发现任务流程存在编排错误时,需要及时终止流程实例。通常情况下,终止流程实例的逻辑与终止计算机进程的逻辑相似,即通过kill命令中的信号传递终止流程实例。
上述方法可以在单台服务器中实现流程实例的终止,然而,用于编排与管理任务流程、处理流程实例的系统可以分布式地部署在多台服务器中,上述方法的适用性较差。
发明内容
本申请提供了一种流程管理方法。该方法能够实现流程实例的终止,适用于不同架构的流程管理系统。本申请还提供了上述方法对应的系统、电子设备以及计算机可读存储介质。
第一方面,本申请提供了一种流程管理方法。所述方法包括:
获取流程实例,所述流程实例包括待执行的目标任务节点;
查询所述流程实例的状态,获得状态查询结果;
当所述状态查询结果表征接收到针对所述流程实例的终止请求,拒绝所述目标任务节点,以终止所述流程实例。
在一些可能的实现方式中,所述方法还包括:
当所述状态查询结果表征所述流程实例的状态正常,执行所述目标任务节点。
在一些可能的实现方式中,所述方法还包括:
响应于针对所述流程实例的终止请求,将所述流程实例的状态修改为目标状态,所述目标状态表征接收到针对所述流程实例的终止请求。
在一些可能的实现方式中,所述终止请求包括流程实例标识,所述响应于针对所述流程实例的终止请求,将所述流程实例的状态修改为目标状态,包括:
响应于针对所述流程实例的终止请求,根据所述流程实例标识,获得所述流程实例的状态;
将所述流程实例的状态修改为目标状态。
在一些可能的实现方式中,所述响应于针对所述流程实例的终止请求,将所述流程实例的状态修改为目标状态,包括:
响应于用户针对所述流程实例的终止操作,生成针对所述流程实例的终止请求;
将所述流程实例的状态修改为目标状态。
在一些可能的实现方式中,所述响应于针对所述流程实例的终止请求,将所述流程实例的状态修改为目标状态,包括:
当所述流程实例的执行发生异常,生成针对所述流程实例的终止请求;
将所述流程实例的状态修改为目标状态。
在一些可能的实现方式中,所述当所述流程实例的执行发生异常,生成针对所述流程实例的终止请求,包括:
当所述流程实例的执行发生异常,确定所述流程实例的异常标识;
若所述流程实例的异常标识满足预设的异常标识集合,生成针对所述流程实例的终止请求。
在一些可能的实现方式中,所述终止请求包括触发终止操作的用户标识,在所述当所述状态查询结果表征接收到针对所述流程实例的终止请求,拒绝所述目标任务节点之后,所述方法还包括:
根据所述触发终止操作的用户标识,返回所述流程实例的状态。
在一些可能的实现方式中,所述当所述状态查询结果表征接收到针对所述流程实例的终止请求,拒绝所述目标任务节点,包括:
当所述状态查询结果表征接收到针对所述流程实例的终止请求,将所述流程实例中所述目标任务节点的状态修改为终止状态,以拒绝所述目标任务节点。
在一些可能的实现方式中,所述方法还包括:
响应于针对任务流程的触发请求,生成流程实例。
第二方面,本申请提供了一种流程管理系统,所述系统包括:
获取单元,用于获取流程实例,所述流程实例包括待执行的目标任务节点;
查询单元,用于查询所述流程实例的状态,获得状态查询结果;
执行单元,用于当所述状态查询结果表征接收到针对所述流程实例的终止请求,拒绝所述目标任务节点,以终止所述流程实例。
在一些可能的实现方式中,所述执行单元还用于:
当所述状态查询结果表征所述流程实例的状态正常,执行所述目标任务节点。
在一些可能的实现方式中,所述系统还包括:
修改单元,用于响应于针对所述流程实例的终止请求,将所述流程实例的状态修改为目标状态,所述目标状态表征接收到针对所述流程实例的终止请求。
在一些可能的实现方式中,所述终止请求包括流程实例标识,所述修改单元具体用于:
响应于针对所述流程实例的终止请求,根据所述流程实例标识,获得所述流程实例的状态;
将所述流程实例的状态修改为目标状态。
在一些可能的实现方式中,所述修改单元具体用于:
响应于用户针对所述流程实例的终止操作,生成针对所述流程实例的终止请求;
将所述流程实例的状态修改为目标状态。
在一些可能的实现方式中,所述修改单元具体用于:
当所述流程实例的执行发生异常,生成针对所述流程实例的终止请求;
将所述流程实例的状态修改为目标状态。
在一些可能的实现方式中,所述修改单元具体用于:
当所述流程实例的执行发生异常,确定所述流程实例的异常标识;
若所述流程实例的异常标识满足预设的异常标识集合,生成针对所述流程实例的终止请求。
在一些可能的实现方式中,所述终止请求包括触发终止操作的用户标识,所述系统还包括:
交互单元,用于根据所述触发终止操作的用户标识,返回所述流程实例的状态。
在一些可能的实现方式中,所述执行单元具体用于:
当所述状态查询结果表征接收到针对所述流程实例的终止请求,将所述流程实例中所述目标任务节点的状态修改为终止状态,以拒绝所述目标任务节点。
在一些可能的实现方式中,所述系统还包括:
生成单元,用于响应于针对任务流程的触发请求,生成流程实例。
第三方面,本申请提供了一种电子设备,所述电子设备包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得电子设备执行如第一方面或第一方面的任一种实现方式中的流程管理方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示电子设备执行上述第一方面或第一方面的任一种实现方式所述的流程管理方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在电子设备上运行时,使得电子设备执行上述第一方面或第一方面的任一种实现方式所述的流程管理方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
从以上技术方案可以看出,本申请具有以下优点:
本申请提供了一种流程管理方法。该方法首先获取流程实例,其中,流程实例包括待执行的目标任务节点,然后查询流程实例的状态,获得状态查询结果,当状态查询结果表征接收到针对所述流程实例的终止请求,拒绝该目标任务节点,以终止该流程实例。
在该方法中,针对流程实例的处理过程,通过在执行任务节点前查询流程实例的状态,当流程实例的状态表征接收到针对流程实例的终止请求,则拒绝执行任务节点,尤其对于分布式部署的流程管理系统,能够在无需提前确定用于执行当前任务节点的服务器的基础上,实现流程实例的终止,适用性较强。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1为本申请实施例提供的一种流程管理方法的流程图;
图2为本申请实施例提供的一种流程管理系统的架构图;
图3为本申请实施例提供的另一种流程管理方法的流程图;
图4为本申请实施例提供的一种修改流程实例状态的流程图;
图5为本申请实施例提供的一种流程管理系统的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
首先对本申请实施例中所涉及到的一些技术术语进行介绍。
任务节点,是指通过执行任务以实现特定功能或者提供特定能力的模块。在不同的场景下,任务节点所要执行的任务可以不同。例如,在员工管理场景下,任务节点所要执行的任务可以为收集员工信息、整合员工信息。又例如,在考勤管理场景下,任务节点所要执行的任务可以为上传休假申请、审批休假申请。
任务流程,也可以称作工作流,是指由一系列任务节点组成的执行序列。其中,任务节点之间的依赖关系用于表示任务节点的执行顺序。任务节点可以设置任务处理人员,不同的任务节点的任务处理人员可以不同。例如,针对上传休假申请的任务节点,任务处理人员可以为普通员工,针对审批休假申请的任务节点,任务处理人员可以为主管人员。
为了高效、便捷地编排任务流程,任务流程编排工具(例如是编排引擎)应运而生。任务流程编排工具支持可视化操作,用户(例如是编排人员)可以通过编排界面进行任务流程的编排,例如,用户可以在编排界面通过选择操作、拖拽操作、连接操作等进行任务流程的编排。
具体地,用户可以设置触发器和多个任务节点,以实现任务流程的编排。其中,触发器用于触发任务流程。根据触发方式的不同,触发器可以有不同的类型。例如,当触发方式为用户点击控件触发任务流程时,触发器可以为按钮类型的触发器。又例如,当触发方式为到达特定时刻触发任务流程时,触发器可以为定时类型的触发器。
流程实例,是指任务流程的实例化表现,任务流程触发后即生成流程实例。一个任务流程可以生成多个流程实例,例如,针对由上传休假申请对应的任务节点、审批休假申请对应的任务节点组成的任务流程,用户A触发该任务流程可以生成流程实例A,用户B触发该任务流程可以生成流程实例B。
流程实例终止,是指在生成流程实例后,终止该流程实例的处理,即终止该流程实例中任务节点的执行。例如,当用户(如编排人员)发现任务流程存在编排错误时,可以终止流程实例。又例如,当用户(如任务处理人员)在执行任务节点的过程中出现错误时,可以终止流程实例。
通常情况下,终止流程实例的逻辑与终止计算机进程的逻辑相似。其中,计算机进程是指在计算机中运行程序的执行过程。具体地,终止计算机进程可以使用kill命令中的信号传递实现,kill命令可以表示为kill-s signalName PID,signalName指信号名称,PID指待终止的计算机进程标识。常见的信号包括SIGINT和SIGKILL,若使用SIGINT信号,计算机进程会在完成资源释放后再被终止,若使用SIGKILL信号,计算机进程会被直接终止。
上述方法可以在单台服务器中实现流程实例的终止。然而,用于编排与管理任务流程、处理流程实例的系统(也可以称作流程管理系统)可以分布式地部署在多台服务器中,即流程管理系统可以由多台服务器组成,多台服务器分别用于实现编排任务流程、管理任务流程、处理流程实例等不同的功能。
具体地,参见图1所示的一种流程管理方法的流程图,用于编排与管理任务流程、处理流程实例的系统分布式地部署在编排服务器(也称作builder)、管理服务器(也称作workflow)和执行服务器中。编排服务器可以接收第一用户(也称作编排人员)针对任务流程的编排请求,并向第一用户返回编排成功的任务流程。当第二用户触发任务流程时,管理服务器可以接收第二用户针对任务流程的触发请求,生成流程实例,并将流程实例的相关数据存储在数据库中,响应于数据库返回的流程实例生成成功的响应,管理服务器可以指示执行服务器执行流程实例中的任务节点,执行服务器可以根据任务节点的执行顺序执行任务节点,当全部任务节点的状态均为已完成后,向管理服务器返回流程实例处理成功的结果,管理服务器可以在数据库中更新流程实例的状态,响应于流程实例状态更新成功的响应,向第二用户返回任务流程的处理结果,如此,实现流程管理。
然而,为了提升流程管理的效率,执行服务器通常包括多台服务器,若第一用户或第二用户发起针对流程实例的终止请求,管理服务器无法从多台执行服务器中确定出用于处理当前流程实例的执行服务器,因此,无法准确地向用于处理当前流程实例的执行服务器发送kill命令,也就无法实现流程实例的终止。换言之,上述采用kill命令终止流程实例的方式难以适用于分布式部署的流程管理系统。
有鉴于此,本申请提供了一种流程管理方法。该方法首先获取流程实例,其中,流程实例包括待执行的目标任务节点,然后查询流程实例的状态,获得状态查询结果,当状态查询结果表征接收到针对所述流程实例的终止请求,拒绝该目标任务节点,以终止流程实例。
在该方法中,针对流程实例的处理过程,通过在执行任务节点前查询流程实例的状态,当流程实例的状态表征接收到针对流程实例的终止请求,则拒绝执行任务节点,尤其对于分布式部署的流程管理系统,能够在无需提前确定用于执行当前任务节点的服务器的基础上,实现流程实例的终止,适用性较强。
为了使得本申请的技术方案更加清楚、易于理解,下面结合附图对本申请实施例提供的流程管理方法的系统架构进行介绍。
参见图2所示的流程管理系统的架构示意图,流程管理系统20采用分布式部署的架构,流程管理系统20包括第一服务器21、第二服务器22、多个第三服务器23和数据库24。其中,第一服务器21、第二服务器22和多个第三服务器23可以是云服务器,例如是中心云计算集群中的中心服务器,或者是边缘云计算集群中的边缘服务器。当然,第一服务器21、第二服务器22和多个第三服务器23也可以是本地数据中心中的服务器。本地数据中心是指用户直接控制的数据中心。
下面,将进行具体介绍。第一服务器21用于编排任务流程,例如,第一服务器21可以用于设置触发器和任务节点。第二服务器22用于管理任务流程,例如,第二服务器22可以用于生成流程实例、控制流程实例中任务节点的执行。多个第三服务器23可以包括第三服务器231、第三服务器232、……第三服务器23N,多个第三服务器23用于处理流程实例,例如,当流程管理系统20为单体架构时,第三服务器231可以用于处理第一个流程实例中的任务节点,第三服务器232可以用于处理第二个流程实例中的任务节点,……,第三服务器23N可以用于处理第N个流程实例中的任务节点,又例如,当流程管理系统20为非单体架构时,第三服务器231可以用于处理流程实例中的第一个任务节点,第三服务器232可以用于处理流程实例中的第二个任务节点,……,第三服务器23N可以用于处理流程实例中的第N个任务节点。数据库24用于存储与任务流程相关的数据,例如,数据库24可以用于存储任务流程、处理流程实例产生的数据。
在本申请提供的流程管理方法中,第二服务器22可以获取流程实例,其中,流程实例包括待执行的目标任务节点,第三服务器23可以在数据库24中查询流程实例的状态,获得状态查询结果,当状态查询结果表征接收到针对所述流程实例的终止请求,拒绝目标任务节点,以终止流程实例。
需要说明的是,在一些可能的实现方式中,编排任务流程和管理任务流程也可以在一台服务器实现,即流程管理系统20可以包括用于编排任务流程和管理任务流程的服务器、多个第三服务器23和数据库24。
以上对执行流程管理方法的流程管理系统20进行介绍,基于上述流程管理系统20,本申请还提供一种流程管理方法。接下来,将结合一实施例对本申请提供的流程管理方法进行详细说明。
参见图3所示流程管理方法的流程图,该方法可以由流程管理系统20执行,该方法具体包括如下步骤:
S301:获取流程实例。
流程实例是指任务流程的执行实例,流程管理系统20可以响应于针对任务流程的触发请求,生成流程实例。具体地,任务流程可以有不同的触发方式。例如,当任务流程需要人工触发时,用户可以通过点击控件的方式,生成针对任务流程的触发请求。又例如,当任务流程为定时触发时,若触发器判断当前时刻到达设定的触发时刻,则生成针对任务流程的触发请求。再例如,当任务流程支持自动触发时,若满足设定的触发事件,则生成针对任务流程的触发请求。
流程实例由多个任务节点组成,多个任务节点之间的依赖关系可以表示任务节点的执行顺序,流程管理系统20可以根据任务节点的执行顺序执行任务节点,从而完成流程实例的处理。其中,流程实例可以包括待执行的目标任务节点。例如,针对还未执行任务节点的流程实例,目标任务节点可以为流程实例的第一个任务节点。又例如,针对已执行任务节点的流程实例,目标任务节点可以为流程实例中执行顺序位于已执行的最后一个任务节点之后的任务节点。再例如,针对树状结构的流程实例,即已执行的任务节点后存在多个并列的待执行的任务节点,目标任务节点可以为多个并列的待执行的任务节点。
S302:查询流程实例的状态,获得状态查询结果。
针对待执行的目标任务节点,流程管理系统20可以在执行目标任务节点之前,先执行查询流程实例状态的步骤。上述方式也可以称作前置钩子(before hook),其中,钩子(也称作挂钩)是指在核心代码逻辑之前或之后增加执行特定操作的代码,如此,在不对核心代码进行较大更改的情况下,实现特定功能,例如是排除故障、扩展功能。在本申请实施例中,可以利用前置钩子,在执行目标任务节点之前实现流程实例状态的查询。
在一些实施例中,在生成流程实例后,与流程实例相关的数据可以存储在流程管理系统20的数据库中。例如,可以将流程实例标识、流程实例的状态、流程实例中任务节点的状态、流程实例中任务节点的处理结果等数据存储在数据库中。其中,流程实例标识可以唯一标识流程实例,流程实例的状态可以表征流程实例的处理状态,流程实例中任务节点的状态可以表征任务节点的执行状态,流程实例中任务节点的处理结果可以包括执行任务节点后生成的处理结果。
基于此,流程管理系统20可以根据流程实例标识,查询流程实例的状态,获得状态查询结果。流程管理系统20可以根据状态查询结果,针对目标任务节点执行不同的操作,从而实现流程管理。
S303:当状态查询结果表征接收到针对所述流程实例的终止请求,拒绝目标任务节点,以终止流程实例。
其中,状态查询结果表征接收到针对所述流程实例的终止请求表示存在流程实例终止的需求。换言之,若存在流程实例终止需求,流程管理系统20可以修改流程实例的状态。
具体地,参见图4所示的一种修改流程实例状态的流程图,响应于针对流程实例的终止请求,流程管理系统20中的第二服务器22可以将数据库24中存储的流程实例的状态修改为目标状态,该目标状态表征接收到针对所述流程实例的终止请求。
在一些可能的实现方式中,流程管理系统20中可以包括多台第二服务器22,此时,响应于针对流程实例的终止请求,任意一台第二服务器22可以将数据库24中存储的流程实例的状态修改为目标状态。例如,可以根据多台第二服务器22的负载情况,从多台第二服务器22中选择负载满足设定条件的第二服务器22,如负载最小的第二服务器22,将数据库24中存储的流程实例的状态修改为目标状态。
具体实现时,针对流程实例的终止请求可以包括流程实例标识,流程管理系统20可以响应于针对流程实例的终止请求,根据流程实例标识,获得流程实例的状态,从而将流程实例的状态修改为目标状态,从而提升流程实例状态修改的效率。
在一些实施例中,终止请求可以由用户发起,流程管理系统20可以响应于用户针对流程实例的终止操作,生成针对流程实例的终止请求,从而将流程实例的状态修改为目标状态。其中,用户可以是触发任务流程的用户,也可以是管理任务流程的用户。换言之,触发任务流程的用户在流程实例的处理过程中,可以主动终止流程实例,例如,触发任务流程的用户可以通过触发任务处理界面中的终止控件,生成针对流程实例的终止请求。管理任务流程的用户也可以终止流程实例,例如,若管理任务流程的用户发现任务流程配置存在错误,可以通过任务流程管理界面中的终止控件,生成针对流程实例的终止请求。当任务流程生成多个流程实例时,管理任务流程的用户可以终止多个流程实例,生成针对多个流程实例的终止请求。
在另一些实施例中,终止请求可以自动生成,当流程实例的执行发生异常,流程管理系统20可以生成针对流程实例的终止请求,从而将流程实例的状态修改为目标状态。如此,当流程实例的执行发生异常,流程管理系统20可以自动终止流程实例,避免流程实例执行异常占用服务器资源。
在一些可能的实现方式中,流程管理系统20可以确定流程实例的异常标识,若流程实例的异常标识满足预设的异常标识集合,生成针对流程实例的终止请求。换言之,用户(例如是编排人员)可以针对流程实例的执行过程中可能产生的异常进行预先设置,从而确定异常标识集合。例如,异常标识集合可以包括需要人工处理的流程实例异常、重要级别较高的流程实例异常等。
如此,流程实例的状态修改为目标状态,在执行目标任务节点前查询流程实例的状态,当状态查询结果表征接收到针对所述流程实例的终止请求(即状态查询结果为目标状态),表明该流程实例存在终止的需求,流程管理系统20可以将流程实例中目标任务节点的状态修改为终止状态,以拒绝目标任务节点,实现流程实例的终止。
进一步地,当状态查询结果表征流程实例的状态正常(即状态查询结果为非目标状态),流程管理系统20可以执行目标任务节点,从而推进流程实例的执行。
可以理解的是,流程管理系统20中的数据库中可以存储流程实例中任务节点的执行状态,当任务节点执行成功,该任务节点的状态可以更新为已执行状态,如此,及时记录流程实例的执行进度。在本申请实施例中,通过将目标任务节点的状态修改为终止状态,可以实现拒绝执行目标任务节点,进一步实现流程实例的终止。
进一步地,在一些实施例中,针对流程实例的终止请求由用户发起,终止请求中还可以包括触发终止操作的用户标识。在拒绝目标任务节点后,流程管理系统20还可以根据触发终止操作的用户标识,返回流程实例的状态,如此,及时告知触发终止操作的用户流程实例已终止。例如,流程管理系统20可以生成流程实例状态通知,将流程实例状态通知发送至触发终止操作的用户的客户端。
基于上述内容描述,本申请实施例提供一种流程管理方法。该方法首先获取流程实例,其中,流程实例包括待执行的目标任务节点,然后查询流程实例的状态,获得状态查询结果,当状态查询结果表征接收到针对流程实例的终止请求,拒绝该目标任务节点,以终止该流程实例。
在该方法中,针对流程实例的处理过程,通过在执行任务节点前查询流程实例的状态,当流程实例的状态表征接收到针对流程实例的终止请求,则拒绝执行任务节点,尤其对于分布式部署的流程管理系统,能够在无需提前确定用于执行当前任务节点的服务器的基础上,实现流程实例的终止,适用性较强。
上文结合图1至图4对本申请实施例提供的流程管理方法进行了详细介绍,下面将结合附图对本申请实施例提供的系统、设备进行介绍。
参见图5所示的流程管理系统的结构示意图,该系统20包括:
获取单元201,用于获取流程实例,所述流程实例包括待执行的目标任务节点;
查询单元202,用于查询所述流程实例的状态,获得状态查询结果;
执行单元203,用于当所述状态查询结果表征接收到针对所述流程实例的终止请求,拒绝所述目标任务节点,以终止所述流程实例。
其中,获取单元201和查询单元202可以是部署在第二服务器22中,执行单元203可以部署在第三服务器23中。在本申请实施例的一些其他可能的实现方式中,获取单元201、查询单元202和执行单元203也可以有其他的部署方式,本申请实施例对此不作限制。
在一些可能的实现方式中,所述执行单元203还用于:
当所述状态查询结果表征所述流程实例的状态正常,执行所述目标任务节点。
在一些可能的实现方式中,所述系统20还包括:
修改单元,用于响应于针对所述流程实例的终止请求,将所述流程实例的状态修改为目标状态,所述目标状态表征接收到针对所述流程实例的终止请求。
在一些可能的实现方式中,所述终止请求包括流程实例标识,所述修改单元具体用于:
响应于针对所述流程实例的终止请求,根据所述流程实例标识,获得所述流程实例的状态;
将所述流程实例的状态修改为目标状态。
在一些可能的实现方式中,所述修改单元具体用于:
响应于用户针对所述流程实例的终止操作,生成针对所述流程实例的终止请求;
将所述流程实例的状态修改为目标状态。
在一些可能的实现方式中,所述修改单元具体用于:
当所述流程实例的执行发生异常,生成针对所述流程实例的终止请求;
将所述流程实例的状态修改为目标状态。
在一些可能的实现方式中,所述修改单元具体用于:
当所述流程实例的执行发生异常,确定所述流程实例的异常标识;
若所述流程实例的异常标识满足预设的异常标识集合,生成针对所述流程实例的终止请求。
在一些可能的实现方式中,所述终止请求包括触发终止操作的用户标识,所述系统还包括:
交互单元,用于根据所述触发终止操作的用户标识,返回所述流程实例的状态。
在一些可能的实现方式中,所述执行单元203具体用于:
当所述状态查询结果表征接收到针对所述流程实例的终止请求,将所述流程实例中所述目标任务节点的状态修改为终止状态,以拒绝所述目标任务节点。
在一些可能的实现方式中,所述系统还包括:
生成单元,用于响应于针对任务流程的触发请求,生成流程实例。
根据本申请实施例的流程管理系统20可对应于执行本申请实施例中描述的方法,并且流程管理系统20的各个模块/单元的上述和其它操作和/或功能分别为了实现图3所示实施例中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种电子设备。该电子设备具体用于实现如图5所示实施例中流程管理系统20的功能。
图6提供了一种电子设备600的结构示意图,如图6所示,电子设备600包括总线601、处理器602、通信接口603和存储器604。处理器602、存储器604和通信接口603之间通过总线601通信。
总线601可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器602可以为中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
通信接口603用于和外部通信。例如,通信接口603可以用于和终端通信。
存储器604可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器604还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,硬盘驱动器(hard diskdrive,HDD)或固态驱动器(solid state drive,SSD)。
存储器604中存储有可执行代码,处理器602执行该可执行代码以执行前述流程管理方法。
具体地,在实现图5所示实施例的情况下,且图5实施例中所描述的流程管理系统20的各模块或单元为通过软件实现的情况下,执行图5中的各模块/单元功能所需的软件或程序代码可以部分或全部存储在存储器604中。处理器602执行存储器604中存储的各单元对应的程序代码,执行前述流程管理方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述应用于流程管理系统20的流程管理方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品被计算机执行时,所述计算机执行前述流程管理方法的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述流程管理方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
附图中的流程图和框图,图示了按照本申请各个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请实施例的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种流程管理方法,其特征在于,所述方法包括:
获取流程实例,所述流程实例包括待执行的目标任务节点;
查询所述流程实例的状态,获得状态查询结果;
当所述状态查询结果表征接收到针对所述流程实例的终止请求,拒绝所述目标任务节点,以终止所述流程实例。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述状态查询结果表征所述流程实例的状态正常,执行所述目标任务节点。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于针对所述流程实例的终止请求,将所述流程实例的状态修改为目标状态,所述目标状态表征接收到针对所述流程实例的终止请求。
4.根据权利要求3所述的方法,其特征在于,所述终止请求包括流程实例标识,所述响应于针对所述流程实例的终止请求,将所述流程实例的状态修改为目标状态,包括:
响应于针对所述流程实例的终止请求,根据所述流程实例标识,获得所述流程实例的状态;
将所述流程实例的状态修改为目标状态。
5.根据权利要求3所述的方法,其特征在于,所述响应于针对所述流程实例的终止请求,将所述流程实例的状态修改为目标状态,包括:
响应于用户针对所述流程实例的终止操作,生成针对所述流程实例的终止请求;
将所述流程实例的状态修改为目标状态。
6.根据权利要求3所述的方法,其特征在于,所述响应于针对所述流程实例的终止请求,将所述流程实例的状态修改为目标状态,包括:
当所述流程实例的执行发生异常,生成针对所述流程实例的终止请求;
将所述流程实例的状态修改为目标状态。
7.根据权利要求6所述的方法,其特征在于,所述当所述流程实例的执行发生异常,生成针对所述流程实例的终止请求,包括:
当所述流程实例的执行发生异常,确定所述流程实例的异常标识;
若所述流程实例的异常标识满足预设的异常标识集合,生成针对所述流程实例的终止请求。
8.根据权利要求1所述的方法,其特征在于,所述终止请求包括触发终止操作的用户标识,在所述当所述状态查询结果表征接收到针对所述流程实例的终止请求,拒绝所述目标任务节点之后,所述方法还包括:
根据所述触发终止操作的用户标识,返回所述流程实例的状态。
9.根据权利要求1所述的方法,其特征在于,所述当所述状态查询结果表征接收到针对所述流程实例的终止请求,拒绝所述目标任务节点,包括:
当所述状态查询结果表征接收到针对所述流程实例的终止请求,将所述流程实例中所述目标任务节点的状态修改为终止状态,以拒绝所述目标任务节点。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
响应于针对任务流程的触发请求,生成流程实例。
11.一种流程管理系统,其特征在于,所述系统包括:
获取单元,用于获取流程实例,所述流程实例包括待执行的目标任务节点;
查询单元,用于查询所述流程实例的状态,获得状态查询结果;
执行单元,用于当所述状态查询结果表征接收到针对所述流程实例的终止请求,拒绝所述目标任务节点,以终止所述流程实例。
12.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,使得所述电子设备执行如权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,包括指令,所述指令指示电子设备执行如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310890629.7A CN116860344A (zh) | 2023-07-19 | 2023-07-19 | 一种流程管理方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310890629.7A CN116860344A (zh) | 2023-07-19 | 2023-07-19 | 一种流程管理方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116860344A true CN116860344A (zh) | 2023-10-10 |
Family
ID=88230281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310890629.7A Pending CN116860344A (zh) | 2023-07-19 | 2023-07-19 | 一种流程管理方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860344A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539451A (zh) * | 2024-01-10 | 2024-02-09 | 杭州新中大科技股份有限公司 | 流程执行方法、装置、电子设备及存储介质 |
-
2023
- 2023-07-19 CN CN202310890629.7A patent/CN116860344A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539451A (zh) * | 2024-01-10 | 2024-02-09 | 杭州新中大科技股份有限公司 | 流程执行方法、装置、电子设备及存储介质 |
CN117539451B (zh) * | 2024-01-10 | 2024-04-12 | 杭州新中大科技股份有限公司 | 流程执行方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108153670B (zh) | 一种接口测试方法、装置及电子设备 | |
US10585698B2 (en) | Template-driven multi-tenant workflow processing | |
US8881113B2 (en) | Contextual exception management in multi-tenant systems | |
CN113052696B (zh) | 金融业务任务处理方法、装置、计算机设备和存储介质 | |
CN110247977B (zh) | 一种基于边缘计算的数据融合的方法和系统 | |
CN110728491B (zh) | 工单的处理方法、装置、计算机设备和存储介质 | |
CN116860344A (zh) | 一种流程管理方法、系统、设备及介质 | |
CN108536356A (zh) | 坐席信息处理方法、装置及计算机可读存储介质 | |
CN108667872B (zh) | 用于调度服务器的存档方法和装置 | |
CN111580948A (zh) | 任务调度方法、装置及计算机设备 | |
CN113407973A (zh) | 软件功能权限管理方法、系统、服务器及存储介质 | |
CN112181443B (zh) | 服务的自动化部署方法、装置及电子设备 | |
CN117151669A (zh) | 基于工作流引擎执行时间的提醒方法及装置、电子设备 | |
CN117149378A (zh) | 智能汽车操作系统的任务调度方法、装置、设备及介质 | |
CN116319758A (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
EP4109366A1 (en) | Method and device for managing project by using data merging | |
CN110764911A (zh) | 基于订单的资源调度方法、装置和控制系统 | |
US20150242786A1 (en) | Integrating process context from heterogeneous workflow containers to optimize workflow performance | |
CN113986495A (zh) | 一种任务执行方法、装置、设备及存储介质 | |
US10635568B2 (en) | Method and a system for monitoring batch processing of applications executed in IT infrastructure | |
CN107577546B (zh) | 一种信息处理方法、装置及电子设备 | |
CN112395081A (zh) | 一种资源在线自动回收方法、系统、服务器以及存储介质 | |
EP4109364B1 (en) | Method and device for managing project by using data pointer | |
CN117290113B (zh) | 一种任务处理方法、装置、系统和存储介质 | |
EP4109367A1 (en) | Method and device for managing project by using data filtering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |