CN110968408B - 一种执行流移除方法、装置、电子设备及存储介质 - Google Patents
一种执行流移除方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110968408B CN110968408B CN201911109345.XA CN201911109345A CN110968408B CN 110968408 B CN110968408 B CN 110968408B CN 201911109345 A CN201911109345 A CN 201911109345A CN 110968408 B CN110968408 B CN 110968408B
- Authority
- CN
- China
- Prior art keywords
- task
- execution
- deleted
- instance
- execution stream
- 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.)
- Active
Links
Images
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种执行流移除方法、装置、电子设备及存储介质,所述方法应用于流程引擎,包括:获得待删除任务的名称;查询各个任务的名称与执行流编号之间的对应关系,确定所述待删除任务对应的执行流编号;根据所述待删除任务对应的执行流编号,调用支路执行流移除命令或多实例任务内部执行流移除命令;删除所述待删除任务对应的执行流的变量集合中的各个变量;删除所述待删除任务对应的执行流本身。本申请提供的执行流移除方法,可灵活地应对各种需要对流程实例中的支路执行流或多实例任务内部执行流做删除操作的场景,在任何时刻都可根据实际业务需求调用执行流移除命令,实现对相关变量的完整妥善的处理,防止相关执行流的执行结果对后续其他操作的影响。
Description
技术领域
本发明涉及信息处理技术领域,特别是涉及一种执行流移除方法、装置、电子设备及存储介质。
背景技术
流程引擎可根据一定的原则和过程来实施项目运行过程中的各项复杂的任务并加以监控,能更好地对项目的运行过程进行控制,提升对项目的业务流程的管理效率,因此被广泛地应用于各种需要支持复杂业务流程的软件系统。然而在相关技术中,流程引擎(例如:Flowable)并不具有移除支路执行流和多实例任务内部已完成状态执行流的功能。
发明内容
本申请实施例提供了一种执行流移除方法、装置、电子设备及存储介质,旨在实现流程引擎中移除支路执行流和多实例任务内部执行流的功能。
本申请实施例第一方面提供了一种执行流移除方法,应用于流程引擎,所述方法包括:
获得待删除任务的名称;
查询各个任务的名称与执行流编号之间的对应关系,确定所述待删除任务对应的执行流编号;
根据所述待删除任务对应的执行流编号,调用支路执行流移除命令或多实例任务内部执行流移除命令;
删除所述待删除任务对应的执行流的变量集合中的各个变量;
删除所述待删除任务对应的执行流本身。
可选地,根据所述待删除任务对应的执行流编号,调用支路执行流移除命令或多实例任务内部执行流移除命令,包括:
在所述待删除任务为单实例任务的情况下,根据所述待删除任务对应的执行流编号,调用支路执行流移除命令;
在所述待删除任务为多实例任务的情况下,根据所述待删除任务对应的执行流编号和多实例任务静态定义编号,调用多实例任务内部执行流移除命令。
可选地,在删除所述待删除任务对应的执行流的变量集合中的各个变量之前,所述方法还包括:
判断所述待删除任务处于已完成状态还是未完成状态;
删除所述待删除任务对应的执行流的变量集合中的各个变量,包括:
在所述待删除任务处于已完成状态的情况下,删除所述待删除任务对应的执行流的变量集合中的各个变量。
可选地,在判断所述待删除任务处于已完成状态还是未完成状态之后,所述方法还包括:
在所述待删除任务处于未完成状态的情况下,删除所述待删除任务对应的执行流的处理人集合中的各个处理人的信息,并删除所述待删除任务。
可选地,在删除所述待删除任务对应的执行流的变量集合中的各个变量之前,所述方法还包括:
判断所述待删除任务为单实例任务还是多实例任务;
删除所述待删除任务对应的执行流的变量集合中的各个变量,包括:
在所述待删除任务为单实例任务的情况下,删除所述待删除任务对应的执行流的变量集合中的各个变量。
可选地,在判断所述待删除任务为单实例任务还是多实例任务之后,所述方法还包括:
在所述待删除任务为多实例任务的情况下,删除所述待删除任务对应的执行流的所有子执行流。
可选地,根据所述待删除任务对应的执行流编号和多实例任务静态定义编号,调用多实例任务内部执行流移除命令,包括:
查询所述待删除任务对应的根执行流,获取执行流总数、未完成数、已完成数;
在所述待删除任务处于未完成状态的情况下,对所述执行流总数和所述未完成数进行更新,保持所述已完成数不变;
在所述待删除任务处于已完成状态的情况下,对所述执行流总数和所述已完成数更新,保持所述未完成数不变,删除所述待删除任务对应的执行结果。
本申请实施例第二方面提供一种执行流移除装置,应用于流程引擎,所述装置包括:
获得模块,用于获得待删除任务的名称;
确定模块,用于查询各个任务的名称与执行流编号之间的对应关系,确定所述待删除任务对应的执行流编号;
调用模块,用于根据所述待删除任务对应的执行流编号,调用支路执行流移除命令或多实例任务内部执行流移除命令;
第一删除模块,用于删除所述待删除任务对应的执行流的变量集合中的各个变量;
第二删除模块,用于删除所述待删除任务对应的执行流本身。
可选地,所述调用模块包括:
第一调用子模块,用于在所述待删除任务为单实例任务的情况下,根据所述待删除任务对应的执行流编号,调用支路执行流移除命令;
第二调用子模块,用于在所述待删除任务为多实例任务的情况下,根据所述待删除任务对应的执行流编号和多实例任务静态定义编号,调用多实例任务内部执行流移除命令。
可选地,所述装置还包括:
第一判断模块,用于判断所述待删除任务处于已完成状态还是未完成状态;
第一执行模块,用于在所述待删除任务处于已完成状态的情况下,执行步骤:删除所述待删除任务对应的执行流的变量集合中的各个变量;
第二执行模块,用于在所述待删除任务处于未完成状态的情况下,删除所述待删除任务对应的执行流的处理人集合中的各个处理人的信息,并删除所述待删除任务。
可选地,所述装置还包括:
第二判断模块,用于判断所述待删除任务为单实例任务还是多实例任务;
第三执行模块,用于在所述待删除任务为单实例任务的情况下,执行步骤:删除所述待删除任务对应的执行流的变量集合中的各个变量;
第四执行模块,用于在所述待删除任务为多实例任务的情况下,删除所述待删除任务对应的执行流的所有子执行流。
可选地,所述第二调用子模块包括:
获取模块,用于查询所述待删除任务对应的根执行流,获取执行流总数、未完成数、已完成数;
第一更新模块,用于在所述待删除任务处于未完成状态的情况下,对所述执行流总数和所述未完成数进行更新,保持所述已完成数不变;
第二更新模块,用于在所述待删除任务处于已完成状态的情况下,对所述执行流总数和所述已完成数更新,保持所述未完成数不变,删除所述待删除任务对应的执行结果。
本申请实施例第三方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面所述的方法的步骤。
本申请实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面所述的方法中的步骤。
本申请实施例提供了一种执行流移除方法,应用于流程引擎,该方法具体包括:首先获得待删除任务的名称,然后查询各个任务的名称与执行流编号之间的对应关系,确定待删除任务对应的执行流编号,接着针对该执行流编号对应的执行流,调用支路执行流移除命令或多实例任务内部执行流移除命令,在执行支路执行流移除命令或多实例任务内部执行流移除命令时,首先将待删除任务对应的执行流的变量集合中的各个变量删除,再将待删除任务对应的执行流实体删除,从而实现对待删除任务对应的执行流的安全删除。本申请提供的执行流移除方法,可灵活地应对各种需要对流程实例中的支路执行流或多实例任务内部执行流做删除操作的场景,在任何时刻都可根据实际业务需求调用执行流移除命令,实现对相关变量的完整妥善的处理,防止相关执行流的执行结果对后续其他操作的影响。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例示出的一种执行流移除方法的流程示意图;
图2是本申请一实施例示出的一种流程实例的示意图;
图3是本申请一实施例示出的一种支路执行流的结构示意图;
图4是本申请一实施例示出的调用执行流移除命令的流程图;
图5是本申请一实施例示出的一种多实例任务的结构示意图;
图6是本申请一实施例示出的第一种对待删除任务进行处理的流程图;
图7是本申请一实施例示出的第二种对待删除任务进行处理的流程图;
图8是本申请一实施例示出的一种对多实例任务内部执行流进行删除操作的流程图;
图9是本申请一实施例示出的执行流移除装置的结构示意图;
图10是本申请一实施例示出的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请一实施例示出的一种执行流移除方法的流程示意图。参照图1,本申请提出的执行流移除方法包括以下步骤:
步骤S11:获得待删除任务的名称。
在本申请实施例中,一个业务工单启动后会同时启动一个流程实例,业务工单与流程实例是相对应的,该流程实例具体可通过流程引擎(例如:Flowable)启动。为便于各个实施例的陈述,本申请中的流程引擎采用的是Flowable,本申请中的任务具体指的是流程实例中所显示的任务。在流程实例中所显示的所有的任务中,任意一个任务均可以被确定为待删除任务。
图2是本申请一实施例示出的一种流程实例的示意图。参照图2,示例地,一项业务工单的流程实例中具有多个任务,其任务名称可以是:阻碍、开发评估、测试评估、运维评估、待排优先级等。
步骤S12:查询各个任务的名称与执行流编号之间的对应关系,确定所述待删除任务对应的执行流编号。
在本申请实施例中,流程实例中的执行流可以理解为流程实例所展示的流程图中的路径,根据路径的起点和终点的不同设置,路径的数量可以有多条。每一条路径表示一条执行流,为区分不同的执行流,本申请各个实施例为每一条执行流设置有执行流编号。
在本申请实施例中,一条执行流编号对应一条执行流,也对应一条执行流实体。示例地,如果一条执行流编号相当于门牌号,那么执行流编号对应的执行流实体相当于门牌号对应的房间。每一条执行流实体上可以设置有至少一个实例任务(本申请所提到的任务即示例任务)。一条执行流包括执行流实体和其上的数据信息(例如:实例任务、定义的变量等)。
图3是本申请一实施例示出的一种支路执行流的结构示意图。参照图3,示例地,执行流编号为1的执行流实体对应的路径起点为A,路径终点为A’;执行流编号为2的执行流实体对应的路径起点为B,路径终点为B’;执行流编号为3的执行流实体对应的路径起点为C,路径终点为C’;执行流编号为4的执行流实体对应的路径起点为D,路径终点为D’。
在本申请实施例中,执行流、执行流编号、执行流实体以及任务的名称两两之间具有对应关系。因此,根据待删除任务的名称,便可确定待删除任务对应的执行流编号,进而确定对应的执行流或执行流实体。待删除任务可以属于多个不同层级的执行流实体,本申请中的待删除任务对应的执行流编号是指待删除任务所属的最低层级的执行流实体的执行流编号。示例地,如图3所示,由于执行流编号为2的执行流实体也属于执行流编号为1的执行流实体,任务1既可以属于执行流编号为2的执行流实体,也可以属于执行流编号为1的执行流实体,由于执行流编号为2的执行流实体是任务1所属的最低层级的执行流实体,因此,任务A1所对应的执行流编号应当为2。
步骤S13:根据所述待删除任务对应的执行流编号,调用支路执行流移除命令或多实例任务内部执行流移除命令。
在本申请实施例中,支路执行流移除命令用于移除流程实例中某一条执行流,多实例任务内部执行流移除命令用于移除多实例任务内部的某一个实例任务对应的执行流。
示例地,参照图3,针对执行流编号为2的执行流,如果调用支路执行流移除命令,那么流程引擎将移除执行流编号为2的执行流。又示例地,当执行流编号为2的执行流内部具有多个实例任务(任务1下还包括多个实例任务)时,针对执行流编号为2的执行流,如果调用多实例任务内部执行流移除命令,那么流程引擎将移除执行流编号为2的执行流内部的多个实例任务中的任意一个实例任务对应的执行流;此外,图3中,执行流2对应的任务节点为多实例任务节点,内部有多个实例任务,可执行多实例任务内部执行流移除命令。
步骤S14:删除所述待删除任务对应的执行流的变量集合中的各个变量。
在本申请实施例中,每一条执行流均对应一个变量集合,该变量集合用于存储流程实例所表示的流程图中每一个流程(即:每一条执行流)的走向、下一个任务节点的激活参数等相关的变量。示例地,图3中的在执行流编号分别为2、3、4三条执行流各自设置一个执行结果变量,用于存储任务1-任务3的执行结果。
以图3中的任务1为待删除任务为例,任务1对应的执行流编号为2,那么在调用执行流移除命令后,执行流编号为2的执行流所对应的变量集合中的各个变量将被删除。
步骤S15:删除所述待删除任务对应的执行流本身。
在本申请实施例中,执行流本身是指:执行流编号对应的执行流实体。仍以图3中的任务1为待删除任务为例,在经过步骤S14删除变量集合后,在步骤S15中,将进一步移除执行流编号为2的执行流实体。
在本申请实施例中,流程引擎在执行本申请提供的执行流移除方法时,首先获得待删除任务的名称,然后查询各个任务的名称与执行流编号之间的对应关系,确定待删除任务对应的执行流编号,接着针对该执行流编号对应的执行流,调用执行流移除命令(包括:支路执行流移除命令和多实例任务内部执行流移除命令,具体调用何种类型的移除命令,可根据实际需求确定),在执行执行流移除命令时,首先将待删除任务对应的执行流的变量集合中的各个变量删除,再将待删除任务对应的执行流实体删除,从而实现对待删除任务对应的执行流的安全删除。本申请提供的执行流移除方法,可灵活地应对各种需要对流程实例中的支路执行流(通过支路执行流移除命令)或多实例任务内部执行流(通过实例任务内部执行流移除命令)做删除操作的场景,在任何时刻都可根据实际业务需求调用执行流移除命令,实现对相关变量的完整妥善的处理,防止相关执行流的执行结果对后续其他操作的影响。
结合以上实施例,在一种实施方式中,可以根据待删除任务的类型调用执行流移除命令。图4是本申请一实施例示出的调用执行流移除命令的流程图。参照图4,上述步骤S13具体可以包括:
步骤S131:在所述待删除任务为单实例任务的情况下,根据所述待删除任务对应的执行流编号,调用支路执行流移除命令;
步骤S132:在所述待删除任务为多实例任务的情况下,根据所述待删除任务对应的执行流编号和多实例任务静态定义编号,调用多实例任务内部执行流移除命令。
在本申请实施例中,待删除任务的类型包括:单实例任务和多实例任务。示例地,在图3中,任务1-任务3分别为单实例任务。图5是本申请一实施例示出的一种多实例任务的结构示意图。参照图5,示例地,多实例任务中包括任务1-任务3。
在本申请实施例中,当需要对多实例任务内部的执行流进行移除处理时,可以调用多实例任务内部执行流移除命令;当需要对某条支路执行流进行移除处理时,可以调用支路执行流移除命令。
在步骤S131中,当待删除任务为单实例任务时,首先根据该待删除任务的任务名称确定该待删除任务对应的执行流编号,进而确定该待删除任务对应的执行流,再调用支路执行流移除命令移除该执行流。
在本申请实施例中,每一个流程实例都是基于其静态流程定义来生成的,一个静态流程定义可生成多个同样流程的不同工单对应的不同流程实例。静态流程定义在还未生成工单之前便已预先部署在工程中。静态任务节点是静态流程定义文件中具体的某个任务节点的静态属性定义,包括其在流程图中的位置、ID、节点类型、属性、监听器等等。
在步骤S132中,当待删除任务为多实例任务时,首先根据待删除任务的任务名称确定该待删除任务对应的执行流编号和多实例任务静态定义编号,进而确定该待删除任务对应的执行流,再调用多实例任务内部执行流移除命令移除该执行流。在本实施例中,流程引擎通过传入的参数的不同判断待删除任务的类型,当传入的参数为执行流编号时,确定待删除任务的类型为单实例任务,当传入的参数为执行流编号和多实例任务静态定义编号时,确定待删除任务的类型为多实例任务。
在本申请实施例中,根据待删除任务的不同类型,设置了不同类型的执行流移除命令,包括:支路执行流移除命令和多实例任务内部执行流移除命令。针对单实例任务,可以调用支路执行流移除命令,针对多实例任务,可以调用多实例任务内部执行流移除命令。可灵活地应对各种需要对流程实例中的支路执行流或多实例任务内部执行流做删除操作的场景,在任何时刻都可根据实际业务需求调用执行流移除命令,有效地满足了用户的需求。
结合以上实施例,在一种实施方式中,还可以根据待删除任务的状态的不同,对待删除任务做不同的处理。图6是本申请一实施例示出的第一种对待删除任务进行处理的流程图。参照图6,在步骤S14之前,还可以执行以下步骤:
步骤S21:判断所述待删除任务处于已完成状态还是未完成状态。
在步骤S21中,实例任务的状态可以分为已完成状态和未完成状态。当一项实例任务执行完成时,其状态由未完成状态变更为已完成状态,处于未完成状态的实例任务,与其对应的执行流存在关联关系,处于已完成状态的实例任务,与其对应的执行流不存在关联关系,换言之,当实例任务被执行完成后,流程引擎会自动解除其与对应的执行流的关联。
步骤S22:在所述待删除任务处于已完成状态的情况下,删除所述待删除任务对应的执行流的变量集合中的各个变量。
在步骤S22中,由于处于已完成状态下的待删除任务与其对应的执行流之间不存在关联,仅待删除任务的执行结果还保存在变量集合中,因此,具体在执行执行流移除命令时,只需依次删除该待删除任务对应的执行流的变量集合中的各个变量,再删除该待删除任务对应的执行流实体。
步骤S23:在所述待删除任务处于未完成状态的情况下,删除所述待删除任务对应的执行流的处理人集合中的各个处理人的信息,并删除所述待删除任务。
在步骤S23中,由于处于已完成状态下的待删除任务与其对应的执行流之间存在关联,因此,待删除任务对应的执行流不仅包括变量集合,还包括处理人集合和实例任务集合。其中,实例任务集合中包含了至少一个实例任务,处理人集合中包含执行实例任务集合中的各个实例任务的处理人的信息。因此,在移除待删除任务对应的执行流时,应当依次删除处理人集合中的各个处理人的信息,删除待删除任务(即:实例任务集合中的各个实例任务),删除变量集合中的各个变量,最后删除待删除任务对应的执行流实体,进而实现从下到上的安全删除。
本申请实施例中,根据被删除任务的不同状态,对待删除任务做不同的处理。当被删除任务处于已完成状态时,直接删除变量集合中的各个变量,当被删除任务处于未完成状态时,需要依次删除处理人集合中的各个处理人的信息,实例任务集合中的各个实例任务,然后再删除变量集合中的各个变量。本申请针对未完成和已完成的实例任务均可以调用执行流移除命令,能更好地满足用户的需求,灵活地应对各种需要对流程实例中的支路执行流或多实例任务内部执行流做删除操作的场景。
结合上述实施例,在一种实施方式中,还可以根据待删除任务的类型的不同,对待删除任务做不同的处理。图7是本申请一实施例示出的第二种对待删除任务进行处理的流程图。参照图7,在步骤S14之前,还可以执行以下步骤:
步骤S31:判断所述待删除任务为单实例任务还是多实例任务;
步骤S32:在所述待删除任务为单实例任务的情况下,删除所述待删除任务对应的执行流的变量集合中的各个变量;
步骤S33:在所述待删除任务为多实例任务的情况下,删除所述待删除任务对应的执行流的所有子执行流。
在此特别说明,在本实施例中待删除任务为单实例任务是指:待删除任务对应的执行流的实例任务集合中仅有一项实例任务。而在本实施例外的其它实施例中,待删除任务为单实例任务是指:待删除任务对应的执行流的实例任务集合中有至少一项实例任务。
在步骤S32中,如果待删除任务为单实例任务,那么在执行执行流移除命令时,应当删除变量集合中的各个变量。在此基础上,如果考虑到前述步骤S21-S23中的待删除任务的不同状态,那么在执行执行流移除命令时,如果待删除任务处于已完成状态,直接删除变量集合中的各个变量,如果待删除任务处于未完成状态,首先删除处理人集合中的处理人的信息,删除实例任务集合中的唯一的实例任务,再删除变量集合中的各个变量,最后删除待删除任务对应的执行流实体。
在步骤S33中,如果待删除任务为多实例任务,那么在执行本申请实施例中的执行流移除命令时,在删除变量集合中的各个变量之后,还应当删除待删除任务对应的执行流的所有子执行流。在此基础上,如果考虑到前述步骤S21-S23中的待删除任务的不同状态,那么在执行本申请实施例中的执行流移除命令时,如果待删除任务处于已完成状态,直接删除变量集合中的各个变量,删除待删除任务对应的执行流的所有子执行流;如果待删除任务处于未完成状态,首先删除处理人集合中的处理人的信息,删除实例任务集合中的唯一的实例任务,再删除变量集合中的各个变量,在删除待删除任务对应的执行流的所有子执行流,最后删除待删除任务对应的执行流实体。
在本申请实施例中,可以根据待删除任务的类型的不同,对待删除任务做不同的处理。当待删除任务为单实例任务时,直接删除待删除任务对应的执行流的变量集合中的各个变量,当待删除任务为多实例任务时,在删除变量集合中的各个变量之后,还需要删除待删除任务对应的执行流的所有子执行流。并且在根据待删除任务的类型的不同对待删除任务进行处理时,还可以考虑待删除任务的状态(包括:已完成状态和未完成状态)的不同,因此,本申请实施例可灵活地应对各种需要对流程实例中的支路执行流或多实例任务内部执行流做删除操作的场景,在任何时刻都可根据实际业务需求调用执行流移除命令,较好地满足了用户的需求,改善了用户的使用体验。
本申请实施例针对多实例任务内部执行流的删除操作提供了一种具体的方法。图8是本申请一实施例示出的一种对多实例任务内部执行流进行删除操作的流程图。参照图8,在具体执行多实例任务内部的执行流的删除时(即:步骤S132),可以执行以下步骤:
步骤S41:查询所述待删除任务对应的根执行流,获取执行流总数、未完成数、已完成数。
在本申请实施例中,待删除任务对应的根执行流是指:待删除任务对应的执行流的上一层级的执行流。示例地,在图5中,若待删除任务为任务1,那么任务1对应的执行流为执行流编号为2的执行流,而执行流编号为2的执行流的上一层级的执行流为执行流编号为1的执行流,因此,任务1对应的根执行流为执行流编号为1的执行流。
其中,执行流总数为执行流未完成数和执行流已完成数之和。示例地,在图5中,如果执行流编号为1的执行流为根执行流,那么在对于该根执行流,执行流总数为3(包括:执行流编号分别为2、3、4的三个执行流,或者包括:任务1-任务3对应的执行流)。如果任务1和任务2处于已完成状态,任务3处于未完成状态,那么对于该根执行流,执行流未完成数为1(任务3对应的执行流),执行流未完成数为2(任务1和任务2对应的执行流)。
步骤S42:在所述待删除任务处于未完成状态的情况下,对所述执行流总数和所述未完成数进行更新,保持所述已完成数不变。
步骤S43:在所述待删除任务处于已完成状态的情况下,对所述执行流总数和所述已完成数更新,保持所述未完成数不变,删除所述待删除任务对应的执行结果。
在本申请实施例中,流程引擎在执行多实例任务内部执行流移除命令时,针对其中的一项待删除任务,该待删除任务对应的执行流被移除后,待删除任务所在的根执行流下的执行流总数、执行流未完成数以及执行流已完成数所对应的部分或者全部变量将发生变化,因此还需对执行流总数、执行流未完成数以及执行流已完成数对应的变量进行更新。
示例地,以图5中的多实例任务为例,如果任务1和任务2处于已完成状态,任务3处于未完成状态。根据步骤S42,如果待删除任务为任务3,那么待删除任务处于未完成状态,此时调用支路执行流移除命令,对任务3对应的执行流进行移除处理(具体移除过程可参照前文实施例所述),同时,保持执行流已完成数不变,将执行流总数减1,将执行流未完成数减1,从而实现对执行流总数、执行流未完成数以及执行流已完成数的更新。
同理,根据步骤S43,如果待删除任务为任务1,那么待删除任务处于已完成状态,此时调用支路执行流移除命令,对任务1对应的执行流进行移除处理,同时,保持执行流未完成数不变,将执行流总数减1,将执行流已完成数减1,从而实现对执行流总数、执行流未完成数以及执行流已完成数的更新。
在本申请实施例中,针对多实例任务内部执行流的删除操作提供了一种具体的方法,具体地:如果待删除任务处于未完成状态,则在调用支路执行流移除命令后,保持执行流已完成数不变,对执行流总数和执行流未完成数进行更新;如果待删除任务处于已完成状态,则在调用支路执行流移除命令后,保持执行流未完成数不变,对执行流总数和执行流已完成数进行更新。本申请实施例在前述实施例提供的对支路执行流进行删除处理的方法的支持下,给出了一种对多实例任务内部执行流进行删除处理的方法,可灵活地应对各种需要对流程实例中的支路执行流或多实例任务内部执行流做删除操作的场景,在任何时刻都可根据实际业务需求调用执行流移除命令,较好地满足了用户的需求,改善了用户的使用体验。
下面将结合图3对本申请的对支路执行流进行移除处理的过程做一个整体说明。
参照图3,流程引擎在启动图3所示的流程实例时,将由左侧开始节点经并行网关,分别激活任务1-任务3三个节点的待办任务,然后建立MAP类型变量RELATED_MAP,以记录各项任务与执行流之间的对应关系(对应关系通过key-value的方式进行存储,其中,任务为关键字key,执行流编号为关键字value)。
在本申请实施例中,由于每条支路执行流执行完实例任务之后都将指向其后的并行网关,因此,在多条支路执行流完成各自对应的实例任务后,若不预先记录各条支路执行流与其上的实例任务之间的关系,便无法再区分各项实例任务与各条支路执行流的关系,因此需设置MAP类型变量RELATED_MAP以记录各项实例任务与执行流之间的对应关系。示例地,在图3中,任务1和任务2处于未处理状态时,其各自对应的支路执行流(例如:任务1对应的支路执行流为执行流编号为2的执行流,任务2对应的支路执行流为执行流编号为3的执行流)都会关联其任务本身,即任务1与执行流编号为2的执行流关联,任务2与执行流编号为3的执行流关联,当任务1和任务2均执行完成后,其各自对应的执行流将全部指向其后的并行网关,导致无法再区分各项实例任务与各条支路执行流的关系,因此,需要预先设置MAP类型变量RELATED_MAP,以记录任务1-任务3与执行流编号为1-3的各条支路执行流的对应关系。
假设在图3中,任务1和任务2处于已完成状态,任务3处于未完成状态。当需要移除任务1所在的支路执行流,消除任务1的执行结果或其对应的执行流之上的其余变量造成的影响,则首先通过预先设置的MAP类型变量RELATED_MAP查找到任务1对应的执行流的执行流编号,将该执行流编号作为传入参数,调用支路执行流移除命令,流程引擎执行支路执行流移除命令的具体步骤为:
步骤1:根据传入的执行流编号获取任务1对应的执行流实体,以及对应的实例任务集合。
实例任务可以是单个,也可以是多个,由于任务1处于已完成状态,任务1已经解除与该执行流的关联,因此,实例任务集合为空集。
步骤2:获取任务1对应的执行流实体的处理人集合,遍历步骤1中的实例任务集合,删除处理人集合中的处理人信息,在删除处理人集合中的处理人信息后,删除实例任务集合中的各个实例任务。
每个实例任务由至少一个处理人执行,由于任务1对应的实例任务集合为空集,此处实际上无需删除处理人信息和各个实例任务。
步骤3:删除任务1对应的执行流实体的下层的所有的子执行流。
如果任务1对应的执行流实体内部还包括多条子执行流,那么删除所有的子执行流。
步骤4:删除任务1对应的执行流的变量集合(关于变量集合的描述请参照前文所述)。
步骤5:删除任务1对应的执行流实体。
通过上述步骤1-步骤5,即可从下至上安全删除任务1对应的执行流。
下面将结合图5对本申请的对多实例任务内部执行流进行移除处理的过程做一个整体说明。
参照图5,流程引擎在启动图5所示的流程实例时,根据动态设定的多实例任务的处理人集合生成同样数量的多实例任务的内部实例任务(图5中为任务1-任务3共3个)。然后建立MAP类型变量RELATED_MAP,以记录各项任务与执行流之间的对应关系,同时建立的MAP类型变量RESULT_MAP,以记录多实例任务的结果集合,避免此处删除执行流导致的多实例任务结束条件判断异常等问题。
假设在图5中,任务1和任务2处于已完成状态,任务3处于未完成状态。当需要删除任务3所在的支路执行流以消除其对多实例任务结果的影响,仅保留任务2的执行结果,则首先通过预先设置的MAP类型变量RELATED_MAP查找到任务3对应的执行流的执行流编号,将该执行流编号和多实例任务静态定义编号作为传入参数,调用多实例任务内部执行流移除命令,流程引擎执行多实例任务内部执行流移除命令的具体步骤为:
步骤1’:根据传入的执行流编号获取任务3对应的执行流实体,以及对应的实例任务集合。
实例任务可以是单个,也可以是多个,由于任务3处于未完成状态,任务3与该执行流存在关联,因此,实例任务集合中至少有一个实例任务。
步骤2’:判断是否传入了多实例任务静态定义编号这一参数,如果传入,确定当前命令应当执行多实例任务内部执行流的删除操作。
步骤3’:根据当前的流程实例ID和多实例任务静态定义编号,查找未完成任务ID对应的多实例任务根执行流。
即:查找任务3对应的根执行流。
查找过程为:首先获取第一层所有子执行流集合,若其中某一条子执行流包含传入的未完成任务ID,且该子执行流为多实例任务的根执行流,则确定该子执行流为所查找的多实例任务根执行流。若在第一层的所有子执行流中未查找到多实例任务的根执行流,则递归查找第一层子执行流中每个子执行流所对应的下一层子执行流,以此类推,遍历完流程实例中所有的子执行流。在本实施例中,不在刚查找到多实例任务的根执行流的时候跳出递归循环的原因是:防止其它符合条件的子执行流存在的时候出现异常。
步骤4’:从步骤3获取到的多实例任务根执行流的执行流实体中自由变量,包括:执行流总数、执行流未完成数以及执行流已完成数。
由于任务1和任务2处于已完成状态,任务3处于未完成状态,因此,执行流总数为3,执行流未完成数为1,执行流已完成数为2。
步骤5’:判断传入的执行流编号对应的执行流的实例任务是否执行完毕;
由于任务3处于未完成状态,即任务3对应的执行流未执行。
步骤6’:在传入的执行流编号对应的执行流的实例任务处于未完成状态时,保持执行流已完成数不变,将执行流总数减1,将执行流未完成数减1,将自由变量的更新结果重新设置到步骤3的多实例任务根执行流中。
由于任务3处于未完成状态,因此保持执行流已完成数2不变,将执行流总数3减1,将执行流未完成数1减1。
步骤7’:在传入的执行流编号对应的执行流的实例任务处于已完成状态时,保持执行流未完成数不变,将执行流总数减1,将执行流已完成数减1,将RESULT_MAP中任务的及其结果的对应关系(例如:通过或不通过等)移除,将自由变量的更新结果重新设置到步骤3的多实例任务根执行流中。
由于任务3处于未完成状态,因此此处跳过该步骤。
步骤8’:调用支路执行流移除命令,对传入的执行流编号对应的执行流进行移除操作。
具体参照前述步骤2-步骤5,本申请在此不作过多说明。
下面将结合图2对本申请提供的执行流移除方法做一个整体的梳理。
针对图2,首先对支路执行流的移除做说明:
当创建了排期工单后,流程引擎启动图2所示的流程实例,开启开发评估、测试评估、运维评估以及待排优先级等多个评估任务,将每种类型的评估任务与其执行流的对应关系记录在RELATED_MAP中。
此时,某开发负责人完成了他的开发评估任务,这时由于无需运维人员进行评估,需要临时取消掉运维评估任务,那么首先应当从RELATED_MAP中查找到运维评估任务对应的执行流编号,作为传入参数调用支路执行流移除命令,流程引擎执行支路执行流移除命令的过程为:
根据传入的执行流编号,获取运维评估任务对应的执行流,和该执行流的实例任务集合,该集合中仅有运维评估这一项实例任务;
删除运维评估的处理人信息,删除运维评估这一项实例任务,删除运维评估任务对应的执行流的所有子执行流(由于实例任务集合中仅有运维评估这一项实例任务,因此不存在子执行流),最后删除运维评估任务对应的执行流本身(即:执行流编号对应的执行流实体)。
如果需要继续删除已完成的开发评估任务,则与上述过程基本相同,区别仅在于实际执行时由于开发评估任务不存在相关联的处理人及实例任务,因此无需删除处理人信息和开发评估这一项实例任务,因为开发评估任务已执行完毕。
针对图2,接着对多实例任务内部执行流的移除做说明:
创建了排期工单后,如果某时刻发起了阻碍任务的信号,图2中左下角外圆内三角的信号监听器监听到此信号后,激活了任务名称为阻碍的多实例任务,并根据信号中携带的人员变量,设置执行该多实例任务的处理人,例如:设处理人A、B、C来执行此多实例任务。接着定义MAP类型变量RELATED_MAP记录多实例任务内部的处理人与执行流的关系,以及定义RESULT_MAP记录多实例任务中各个示例任务的执行结果。
此时,处理人A执行了他自己的阻碍任务,并将处理结果(通过或不通过)记录在RESULT_MAP中。此时如果需要删除处理人C的任务,那么首先从RELATED_MAP中找到处理人C对应的任务的执行流编号,将该执行流编号和“阻碍”任务的多实例任务静态定义编号作为传入参数调用多实例任务内部执行流移除命令,流程引擎多实例任务内部执行流移除命令的过程为:
查找“阻碍”这一多实例任务对应的根执行流,获取执行流总数、执行流未完成数以及执行流已完成数三个变量;由于处理人C对应的任务处于未完成状态,因此将执行流总数减1,将执行流未完成数减1,保持执行流已完成数不变;再调用支路执行流移除命令对处理人C对应的任务进行移除操作,具体可参照前文所述。
如果需要继续删除处理人A对应的任务,则与上述过程基本相同,区别仅在于对执行流总数、执行流未完成数、执行流已完成数、RESULT_MAP等变量的更新过程,由于处理人A对应的任务处于已完成状态,因此,实际执行时,将执行流总数减1,将执行流已完成数减1,保持执行流未完成数不变,并将RESULT_MAP变量中处理人A对应的结果删除。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本申请还提供了一种执行流移除装置900。图9是本申请一实施例示出的执行流移除装置的结构示意图。参照图9,装置900包括:
获得模块901,用于获得待删除任务的名称;
确定模块902,用于查询各个任务的名称与执行流编号之间的对应关系,确定所述待删除任务对应的执行流编号;
调用模块903,用于根据所述待删除任务对应的执行流编号,调用支路执行流移除命令或多实例任务内部执行流移除命令;
第一删除模块904,用于删除所述待删除任务对应的执行流的变量集合中的各个变量;
第二删除模块905,用于删除所述待删除任务对应的执行流本身。
可选地,所述调用模块903包括:
第一调用子模块,用于在所述待删除任务为单实例任务的情况下,根据所述待删除任务对应的执行流编号,调用支路执行流移除命令;
第二调用子模块,用于在所述待删除任务为多实例任务的情况下,根据所述待删除任务对应的执行流编号和多实例任务静态定义编号,调用多实例任务内部执行流移除命令。
可选地,所述装置900还包括:
第一判断模块,用于判断所述待删除任务处于已完成状态还是未完成状态;
第一执行模块,用于在所述待删除任务处于已完成状态的情况下,执行步骤:删除所述待删除任务对应的执行流的变量集合中的各个变量;
第二执行模块,用于在所述待删除任务处于未完成状态的情况下,删除所述待删除任务对应的执行流的处理人集合中的各个处理人的信息,并删除所述待删除任务。
可选地,所述装置900还包括:
第二判断模块,用于判断所述待删除任务为单实例任务还是多实例任务;
第三执行模块,用于在所述待删除任务为单实例任务的情况下,执行步骤:删除所述待删除任务对应的执行流的变量集合中的各个变量;
第四执行模块,用于在所述待删除任务为多实例任务的情况下,删除所述待删除任务对应的执行流的所有子执行流。
可选地,所述第二调用子模块包括:
获取模块,用于查询所述待删除任务对应的根执行流,获取执行流总数、未完成数、已完成数;
第一更新模块,用于在所述待删除任务处于未完成状态的情况下,对所述执行流总数和所述未完成数进行更新,保持所述已完成数不变;
第二更新模块,用于在所述待删除任务处于已完成状态的情况下,对所述执行流总数和所述已完成数更新,保持所述未完成数不变,删除所述待删除任务对应的执行结果。
基于同一发明构思,本申请另一实施例提供一种电子设备1000,如图10所示。图10是本申请一实施例示出的一种电子设备的示意图。该电子设备包括存储器1002、处理器1001及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的方法中的步骤。
基于同一发明构思,本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种执行流移除方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种执行流移除方法,其特征在于,应用于流程引擎,所述方法包括:
获得待删除任务的名称;
查询各个任务的名称与执行流编号之间的对应关系,确定所述待删除任务对应的执行流编号;
根据所述待删除任务对应的执行流编号,调用支路执行流移除命令或多实例任务内部执行流移除命令;
删除所述待删除任务对应的执行流的变量集合中的各个变量;
删除所述待删除任务对应的执行流本身;
根据所述待删除任务对应的执行流编号,调用支路执行流移除命令或多实例任务内部执行流移除命令,包括:
在所述待删除任务为单实例任务的情况下,根据所述待删除任务对应的执行流编号,调用支路执行流移除命令;
在所述待删除任务为多实例任务的情况下,根据所述待删除任务对应的执行流编号和多实例任务静态定义编号,调用多实例任务内部执行流移除命令;
在执行所述多实例任务内部执行流移除命令时,针对所述待删除任务,所述待删除任务对应的执行流被移除后,对所述待删除任务所在的根执行流下的执行流总数、执行流未完成数以及执行流已完成数所对应的部分或者全部变量进行更新;
其中,待删除任务的类型是通过传入的参数确定的;多实例任务内部执行流移除命令用于移除多实例任务内部的某一个实例任务对应的执行流。
2.根据权利要求1所述的方法,其特征在于,在删除所述待删除任务对应的执行流的变量集合中的各个变量之前,所述方法还包括:
判断所述待删除任务处于已完成状态还是未完成状态;
删除所述待删除任务对应的执行流的变量集合中的各个变量,包括:
在所述待删除任务处于已完成状态的情况下,删除所述待删除任务对应的执行流的变量集合中的各个变量。
3.根据权利要求2所述的方法,其特征在于,在判断所述待删除任务处于已完成状态还是未完成状态之后,所述方法还包括:
在所述待删除任务处于未完成状态的情况下,删除所述待删除任务对应的执行流的处理人集合中的各个处理人的信息,并删除所述待删除任务。
4.根据权利要求1或2所述的方法,其特征在于,在删除所述待删除任务对应的执行流的变量集合中的各个变量之前,所述方法还包括:
判断所述待删除任务为单实例任务还是多实例任务;
删除所述待删除任务对应的执行流的变量集合中的各个变量,包括:
在所述待删除任务为单实例任务的情况下,删除所述待删除任务对应的执行流的变量集合中的各个变量。
5.根据权利要求4所述的方法,其特征在于,在判断所述待删除任务为单实例任务还是多实例任务之后,所述方法还包括:
在所述待删除任务为多实例任务的情况下,删除所述待删除任务对应的执行流的所有子执行流。
6.根据权利要求1所述的方法,其特征在于,根据所述待删除任务对应的执行流编号和多实例任务静态定义编号,调用多实例任务内部执行流移除命令,包括:
查询所述待删除任务对应的根执行流,获取执行流总数、未完成数、已完成数;
在所述待删除任务处于未完成状态的情况下,对所述执行流总数和所述未完成数进行更新,保持所述已完成数不变;
在所述待删除任务处于已完成状态的情况下,对所述执行流总数和所述已完成数更新,保持所述未完成数不变,删除所述待删除任务对应的执行结果。
7.一种执行流移除装置,其特征在于,应用于流程引擎,所述装置包括:
获得模块,用于获得待删除任务的名称;
确定模块,用于查询各个任务的名称与执行流编号之间的对应关系,确定所述待删除任务对应的执行流编号;
调用模块,用于根据所述待删除任务对应的执行流编号,调用支路执行流移除命令或多实例任务内部执行流移除命令;
第一删除模块,用于删除所述待删除任务对应的执行流的变量集合中的各个变量;
第二删除模块,用于删除所述待删除任务对应的执行流本身;
所述调用模块包括:
第一调用子模块,用于在所述待删除任务为单实例任务的情况下,根据所述待删除任务对应的执行流编号,调用支路执行流移除命令;
第二调用子模块,用于在所述待删除任务为多实例任务的情况下,根据所述待删除任务对应的执行流编号和多实例任务静态定义编号,调用多实例任务内部执行流移除命令;
更新模块,用于在执行所述多实例任务内部执行流移除命令时,针对所述待删除任务,所述待删除任务对应的执行流被移除后,对所述待删除任务所在的根执行流下的执行流总数、执行流未完成数以及执行流已完成数所对应的部分或者全部变量进行更新;
其中,待删除任务的类型是通过传入的参数确定的;多实例任务内部执行流移除命令用于移除多实例任务内部的某一个实例任务对应的执行流。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求1-6任一所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911109345.XA CN110968408B (zh) | 2019-11-13 | 2019-11-13 | 一种执行流移除方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911109345.XA CN110968408B (zh) | 2019-11-13 | 2019-11-13 | 一种执行流移除方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968408A CN110968408A (zh) | 2020-04-07 |
CN110968408B true CN110968408B (zh) | 2023-04-07 |
Family
ID=70030580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911109345.XA Active CN110968408B (zh) | 2019-11-13 | 2019-11-13 | 一种执行流移除方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968408B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112488649B (zh) * | 2020-11-26 | 2023-05-26 | 泰康保险集团股份有限公司 | 基于流程引擎的流程关闭方法和装置 |
CN116737670B (zh) * | 2023-08-11 | 2023-11-17 | 英诺达(成都)电子科技有限公司 | Upf文件的删除方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043669A (zh) * | 2010-12-22 | 2011-05-04 | 中国农业银行股份有限公司 | 一种工作流并发模式的控制方法及装置 |
CN109684057A (zh) * | 2018-12-11 | 2019-04-26 | 咪咕文化科技有限公司 | 任务处理方法、装置和存储介质 |
CN109886656A (zh) * | 2019-02-27 | 2019-06-14 | 成都高投盈创动力投资发展有限公司 | 一种支持多系统的工作流引擎系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10078674B2 (en) * | 2010-06-04 | 2018-09-18 | Mcl Systems Limited | Integrated workflow and database transactions |
CN102566998B (zh) * | 2010-12-30 | 2016-08-17 | 盛乐信息技术(上海)有限公司 | 基于数据来源的流程引擎设计方法 |
CN102592198B (zh) * | 2011-12-30 | 2015-09-30 | 福建富士通信息软件有限公司 | 一种支持组合业务的工作流引擎 |
-
2019
- 2019-11-13 CN CN201911109345.XA patent/CN110968408B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043669A (zh) * | 2010-12-22 | 2011-05-04 | 中国农业银行股份有限公司 | 一种工作流并发模式的控制方法及装置 |
CN109684057A (zh) * | 2018-12-11 | 2019-04-26 | 咪咕文化科技有限公司 | 任务处理方法、装置和存储介质 |
CN109886656A (zh) * | 2019-02-27 | 2019-06-14 | 成都高投盈创动力投资发展有限公司 | 一种支持多系统的工作流引擎系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110968408A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107688500B (zh) | 一种分布式任务处理方法、装置、系统及设备 | |
CN110968408B (zh) | 一种执行流移除方法、装置、电子设备及存储介质 | |
CN109725989B (zh) | 一种任务执行的方法及装置 | |
CN109639818B (zh) | 一种云环境下的服务发现方法、装置、服务器和存储介质 | |
CN111835790B (zh) | 一种风险识别方法、装置及系统 | |
EP1906308A1 (en) | Method and system for managing by a controller a generic data lock to a data object | |
CN112748993A (zh) | 任务执行方法、装置、存储介质及电子设备 | |
CN107577527A (zh) | 任务生成、调度方法及装置 | |
CN115238247A (zh) | 基于零信任数据访问控制系统的数据处理方法 | |
CN110968445A (zh) | 一种基于流程引擎的节点跳转方法、装置及电子设备 | |
CN112712125B (zh) | 事件流的模式匹配方法、装置、存储介质及处理器 | |
CN107818167B (zh) | MySQL分区自动管理方法、系统、设备、存储介质 | |
CN111552608B (zh) | 一种驱动内存监控方法及系统 | |
CN112559118A (zh) | 应用数据迁移方法、装置、电子设备及存储介质 | |
CN115904785A (zh) | 一种异常定位方法、装置、设备及可读存储介质 | |
CN112418796B (zh) | 子流程任务节点激活方法、装置、电子设备及存储介质 | |
CN112328481B (zh) | 多任务场景的自动化测试方法、装置、设备及存储介质 | |
CN114201284A (zh) | 定时任务管理方法及系统 | |
CN114968422A (zh) | 基于变量状态自动执行合约的方法和装置 | |
JP2005190212A (ja) | データベースシステム、データ処理方法及びプログラム | |
CN109711838B (zh) | 一种区块链中的系统功能治理方法、系统及设备 | |
US20080163224A1 (en) | Modeling interrupts in a business process | |
JP2008135054A (ja) | ワークフロー管理方法及びその実施システム | |
CN110968742A (zh) | 数据过滤方法和装置 | |
CN116701410B (zh) | 数联网数据语用内存状态数据的存储方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |