CN112488649A - 基于流程引擎的流程关闭方法和装置 - Google Patents
基于流程引擎的流程关闭方法和装置 Download PDFInfo
- Publication number
- CN112488649A CN112488649A CN202011348998.6A CN202011348998A CN112488649A CN 112488649 A CN112488649 A CN 112488649A CN 202011348998 A CN202011348998 A CN 202011348998A CN 112488649 A CN112488649 A CN 112488649A
- Authority
- CN
- China
- Prior art keywords
- execution flow
- task
- flow
- execution
- closed
- 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.)
- Granted
Links
Images
Classifications
-
- 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
-
- 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于流程引擎的流程关闭方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收目标业务的流程关闭请求;查询所述目标业务对应流程实例的执行流信息;根据所述待关闭任务信息,判断所述执行流的任务节点是否为待关闭任务节点,若所述执行流的任务节点为待关闭任务节点,则删除所述执行流的任务信息,并将所述执行流绑定至所述执行流所在流程的结束节点。该实施方式解决流程引擎无法在业务流程流转中途关闭部分流程浪费业务流程执行的时间和资源,给业务流程的管理和维护带来不便的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于流程引擎的流程关闭的方法和装置。
背景技术
目前,各业务流程可以通过流程引擎实现,流程引擎可以根据业务逻辑构建实现业务流程的流程实例,流程实例中包括业务节点,流程引擎通过驱动流程实例中执行流按照业务逻辑依次执行至各业务节点,以实现业务流程的流转。并且业务流程的流转过程中,流程引擎通常仅支持业务流程沿业务逻辑正常流转至结束节点的方式。但是在一些场景中,业务流程在流转过程中的部分流程并不需要流转至结束节点,此时流程引擎无法实现业务流程流转中途关闭部分流程,仍需要将不需要流转的流程流转至结束节点,不仅浪费业务流程执行的时间和资源,还会生成多余的业务数据,给业务流程的管理和维护带来很大的不便。
发明内容
有鉴于此,本发明实施例提供一种基于流程引擎的流程关闭方法和装置,能够解决流程引擎无法在业务流程流转中途关闭部分流程浪费业务流程执行的时间和资源,给业务流程的管理和维护带来不便的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种基于流程引擎的流程关闭方法。
本发明实施例的一种基于流程引擎的流程关闭方法包括:接收目标业务的流程关闭请求,所述流程关闭请求包括待关闭任务信息;查询所述目标业务对应流程实例的执行流信息,所述执行流信息包括所述流程实例中执行流的任务节点和任务信息;根据所述待关闭任务信息,判断所述执行流的任务节点是否为待关闭任务节点,若所述执行流的任务节点为待关闭任务节点,则删除所述执行流的任务信息,并将所述执行流绑定至所述执行流所在流程的结束节点。
在一个实施例中,所述执行流信息还包括执行流的等级和关联关系;
所述根据所述待关闭任务信息,依次判断所述执行流的任务节点是否为需要关闭的任务节点,包括:
对所述执行流中每个等级最高的目标执行流,根据所述待关闭任务信息判断所述目标执行流的任务节点是否为待关闭任务节点;
若是,则停止判断;若否,将下一等级中与所述目标执行流关联的待定执行流更新为新的目标执行流,并根据所述待关闭任务信息判断所述新的目标执行流的任务节点是否为待关闭任务节点,若是、则停止判断,若否、则继续更新所述新的目标执行流、直到判定出待关闭任务节点或与所述新的目标执行流关联的执行流均完成判断。
在又一个实施例中,所述将下一等级中与所述目标执行流关联的待定执行流更新为新的目标执行流,并根据所述待关闭任务信息判断所述新的目标执行流的任务节点是否为待关闭任务节点,包括:
若所述下一等级中与所述目标执行流关联的待定执行流包括多个,则依次将各所述待定执行流更新为所述新的目标执行流,并根据所述待关闭任务信息判断所述新的目标执行流的任务节点是否为待关闭任务节点。
在又一个实施例中,若所述执行流的任务节点为待关闭任务节点,则删除所述执行流的任务信息,并将所述执行流绑定至所述执行流所在流程的结束节点,包括:
若所述执行流的任务节点为待关闭任务节点,则查询等级低于所述执行流,且与所述执行流关联的所有执行流,按照所述所有执行流中各执行流的等级由低到高的顺序,依次删除所述各执行流的任务信息,并将所述各执行流绑定至所在流程的结束节点;
删除所述执行流的任务信息,并将所述执行流绑定至所在流程的结束节点。
在又一个实施例中,所述执行流信息还包括所述执行流对应的事件;
若所述执行流的任务节点为待关闭任务节点,所述方法还包括:
删除所述执行流对应的事件;
以及在查询等级低于所述执行流、且与所述执行流关联的所有执行流时,并删除所述所有执行流中各执行流对应的事件。
在又一个实施例中,所述待关闭任务信息包括待关闭任务名称;
所述根据所述待关闭任务信息,判断所述执行流对应任务节点是否为需要关闭的任务节点,包括:
查询第一静态定义流程文件,得出所述待关闭任务名称对应的待关闭任务节点集合,所述第一静态定义流程文件包括所述流程实例中任务名称和任务节点之间的对应关系;
根据所述待关闭任务节点集合,判断所述执行流对应任务节点是否为需要关闭的任务节点。
在又一个实施例中,所述将所述执行流绑定至所述执行流所在流程的结束节点,包括:
查询第二静态定义流程文件,得出所述执行流的任务节点所对应的结束节点,所述第二静态定义流程文件包括各流程中任务节点和结束节点的对应关系;
将所述执行流绑定至所述执行流的任务节点所对应的结束节点。
为实现上述目的,根据本发明实施例的另一方面,提供了一种基于流程引擎的流程关闭装置。
本发明实施例的一种基于流程引擎的流程关闭装置包括:接收单元,用于接收目标业务的流程关闭请求,所述流程关闭请求包括待关闭任务信息;查询单元,用于查询所述目标业务对应流程实例的执行流信息,所述执行流信息包括所述流程实例中执行流的任务节点和任务信息;删除单元,用于根据所述待关闭任务信息,判断所述执行流的任务节点是否为待关闭任务节点,若所述执行流的任务节点为待关闭任务节点,则删除所述执行流的任务信息,并将所述执行流绑定至所述执行流所在流程的结束节点。
在一个实施例中,所述执行流信息还包括执行流的等级和关联关系;
所述删除单元,具体用于:
对所述执行流中每个等级最高的目标执行流,根据所述待关闭任务信息判断所述目标执行流的任务节点是否为待关闭任务节点;
若是,则停止判断;若否,将下一等级中与所述目标执行流关联的待定执行流更新为新的目标执行流,并根据所述待关闭任务信息判断所述新的目标执行流的任务节点是否为待关闭任务节点,若是、则停止判断,若否、则继续更新所述新的目标执行流、直到判定出待关闭任务节点或与所述新的目标执行流关联的执行流均完成判断。
在又一个实施例中,所述删除单元,具体用于:
若所述下一等级中与所述目标执行流关联的待定执行流包括多个,则依次将各所述待定执行流更新为所述新的目标执行流,并根据所述待关闭任务信息判断所述新的目标执行流的任务节点是否为待关闭任务节点。
在又一个实施例中,所述删除单元,具体用于:
若所述执行流的任务节点为待关闭任务节点,则查询等级低于所述执行流,且与所述执行流关联的所有执行流,按照所述所有执行流中各执行流的等级由低到高的顺序,依次删除所述各执行流的任务信息,并将所述各执行流绑定至所在流程的结束节点;
删除所述执行流的任务信息,并将所述执行流绑定至所在流程的结束节点。
在又一个实施例中,所述执行流信息还包括所述执行流对应的事件;
若所述执行流的任务节点为待关闭任务节点,则所述删除单元,具体用于:
删除所述执行流对应的事件;
以及在查询等级低于所述执行流、且与所述执行流关联的所有执行流时,并删除所述所有执行流中各执行流对应的事件。
在又一个实施例中,所述待关闭任务信息包括待关闭任务名称;
所述删除单元,具体用于:
查询第一静态定义流程文件,得出所述待关闭任务名称对应的待关闭任务节点集合,所述第一静态定义流程文件包括所述流程实例中任务名称和任务节点之间的对应关系;
根据所述待关闭任务节点集合,判断所述执行流对应任务节点是否为需要关闭的任务节点
在又一个实施例中,所述删除单元,具体用于:
查询第二静态定义流程文件,得出所述执行流的任务节点所对应的结束节点,所述第二静态定义流程文件包括各流程中任务节点和结束节点的对应关系;
将所述执行流绑定至所述执行流的任务节点所对应的结束节点。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的基于流程引擎的流程关闭方法。
为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例提供的基于流程引擎的流程关闭方法。
上述发明中的一个实施例具有如下优点或有益效果:本发明实施例中,在接收流程关闭请求后,可以查询出需要关闭流程的流程实例中执行流信息,由于流程关闭请求包括了待关闭任务信息,所以基于待关闭任务信息可以判断出执行流的任务节点是否为待关闭任务节点,即判断出待关闭任务对应的执行流,进而可以删除这些执行流的任务信息,同时将其绑定至流程的结束节点,以表示此流程已经完成。如此,本发明实施例中流程引擎在流程实例运行过程中接收到流程关闭请求后,可以确定出需要关闭任务对应的执行流,并及时删除该执行流的任务信息,同时将其绑定至流程的结束节点,而不需要执行流正常流转至结束节点,从而实现将流转中的流程关闭,避免浪费业务流程执行的时间和资源,且避免因正常流转关闭的流程而生成多余的数据,给业务流程的管理和维护带来不便。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的流程实例的一种示意图;
图2是根据本发明实施例的基于流程引擎的流程关闭方法的一种主要流程的示意图;
图3是根据本发明实施例的流程实例的又一种示意图;
图4是根据本发明实施例的基于流程引擎的流程关闭方法的又一种主要流程的示意图;
图5是根据本发明实施例的基于流程引擎的流程关闭装置的主要单元的示意图;
图6是本发明实施例可以应用于其中的又一种示例性系统架构图;
图7是适于用来实现本发明实施例的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以互相组合。
为了业务流程的正常标准化,流程引擎通常仅允许执行流在流程实例中沿构建的逻辑顺序执行直到流程结束。如图1所示,为一个流程实例的示意图。
在图1中流程实例的根节点为左侧圆圈表示的节点,然后从根节点分出三条支路,分别为A、B、C三条,每条支路的右侧远点为该支路的结束节点,子流程A1为A支路中第一个任务节点,任务A11为子流程A1包括的子任务,A1任务节点与A11的任务节点具有关联关系。在图1所示流程实例运行时,从左侧的根节点开始,然后同时激活A支路中子流程A1的任务节点、B支路中任务B1的任务节点和C支路中事件C1的任务节点,在各任务节点完成任务后,执行流继续执行,直到各支路的结束节点,流程执行完成。
现有技术中,流程引擎无法在流程实例执行过程中关闭其中的流程。例如图1所示流程实例,在A1任务节点、B1任务节点和C1任务节点被激活时,无法实现关闭A支路和B支路的流程而只执行C支路的流程,仅支持执行流沿流程正常流程执行至结束节点,不仅浪费业务流程执行的时间和资源,还会因执行A支路和B支路后续流程的任务,而生成多余的业务数据,给业务流程的管理和维护带来很大的不便。
本发明实施例提供一种流程引擎,该流程引擎可以用于实现流程实例执行过程中关闭流程的场景。
对一个业务需求(业务工单),通常会构建一个对应的流程实例。每一个流程实例通常基于预先存储的静态流程定义文件来生成的,一个静态流程定义文件可生成多个包括相同流程的流程实例,这些流程实例对应不同业务工单。静态流程定义文件中为各任务节点定义静态属性,可以称为静态任务节点,其可以包括各任务节点在流程实例中的位置、ID、节点类型、属性等等。
流程引擎接收一个业务需求后,基于对应的静态流程定义文件生成与业务需求对应的流程实例。业务需求对应的各参数可以存储于业务表单数据中,并可以建立该业务需求的业务标识与流程实例的标识之间的对应关系。流程实例包括各流程,每个流程还可以包括子流程。各流程、子流程均对各自的任务节点和结束节点,执行流执行至结束节点表示当前流程执行完成。
流程实例在执行时,执行流会沿流程实例中构建的流程执行,各任务节点会被依次激活,对流程实例的最外层主流程会对应主流程的执行流,然后各子流程被执行时会对应子流程的执行流,该子流程的执行流与该子流程的父流程关联,各分支被执行时也会对应分支执行流。
执行流在执行时会和任务节点绑定,一个执行流通常只绑定一个任务节点,任务节点具体可以为传统代办的任务节点(如图1所示的任务B1),也可以为事件(如图1所示的事件C1)。
任务节点可以包括单任务节点和多实例任务节点。单任务节点通常只对应一个任务(如图1所示的任务B1),不包括子任务;多实例任务节点通常会包多个子任务,在执行流执行至多实例任务节点时,指向该多实例任务节点的执行流为多实例任务节点的根执行流,多实例任务节点包括的每个子任务均会对应一个执行流。
本发明实施例提供了一种基于流程引擎的流程关闭方法,该方法可由流程引擎执行,如图2所示,该方法包括以下步骤。
S201:接收目标业务的流程关闭请求。
其中,流程关闭请求包括待关闭任务信息。
本步骤中接收流程关闭请求表示需要关闭该目标业务的流程实例中的流程。流程关闭请求中包括的待关闭任务信息,表示需要关闭哪些任务流程。流程关闭请求中还可以包括目标业务标识,以表示该流程关闭请求要关闭流程所属的业务需求。
流程实例在执行时,通常以任务名称表示各流程中任务节点,所以待关闭任务信息可以包括待关闭任务名称,以表示需要关闭的流程。流程引擎中预存储第一静态定义流程文件,第一静态定义流程文件中存储了流程实例中任务名称和任务节点之间的对应关系,所以本步骤中接收流程关闭请求后,可以根据第一静态定义流程文件,查询出待关闭任务名称对应的待关闭任务节点。具体的,第一静态定义流程文件可以以键值对的方式存储流程实例中任务名称和任务节点的标识之间的对应关系,所以本步骤中可以查询出待关闭任务节点的标识。
需要说明的是,流程实例在执行时,各执行流随着任务执行流转,各任务的任务节点被依次激活,任务节点被激活则与执行流绑定,任务节点的任务完成后,执行流流转至下一个任务节点,则与下一个任务节点绑定。所以通常在需要关闭流程时,只有当前正在执行任务的任务节点的流程会被关闭,所以待关闭任务信息通常为流程实例中当前被激活任务节点对应的任务信息。
S202:查询目标业务对应流程实例的执行流信息。
其中,执行流信息包括流程实例中执行流的任务节点和任务信息。
接收目标业务的流程关闭请求后,表示需要关闭该目标业务的流程实例中的流程,所以可以先查询出目标业务对应流程实例,进而查询出流程实例的各执行流信息。执行流通常会绑定任务节点,即执行流的任务节点,各执行流绑定的任务节点会对应需要执行的任务,即执行流的任务信息。
执行流在流程实例中执行过程中会绑定不同的任务节点、执行不同的任务,所以本步骤中流程实例的各执行流信息为当前状态下执行流的信息,即当前状态下执行流绑定的任务节点和任务信息。
需要说明的是,流程实例在执行时,通常执行流所在流程可以执行关闭的操作,执行流当前所绑定任务节点为执行关闭的任务节点,所以本步骤中查询目标业务对应流程实例的各执行流信息,也就是当前被激活执行的任务节点和该任务节点的任务信息。
流程实例为根据业务需求生成,与业务需求对应的业务表数据中存储业务需求和流程实例之间的对应关系,具体的为业务需求的业务标识和流程实例的标识之间的对应关系。所以在流程关闭请求包括目标业务标识时,可以根据目标业务标识从业务表数据中查询出对应的流程实例,进而根据存储的流程实例的信息可以查询出该流程实例的执行流信息。
以图1所示流程实例为目业务对应流程实例为例,在A支路中子流程的A1任务节点被激活,B支路中B1任务节点被激活,C支路中C1任务节点被激活时,流程引擎接收了流程关闭请求,流程关闭请求中包括B1任务节点的任务名称和A1任务节点的任务名称,即待关闭任务为B1任务节点对应的任务和A1任务节点对应的任务,也就是B1任务节点所在流程和A1任务节点所在流程,即A支路和B支路。在此状态下,流程引擎可以查询出流程实例的根执行流,进而沿流程逻辑可言查询出当前被激活执行的任务节点对应的执行流,包括A1任务节点对应的执行流、B1任务节点对应的执行流、C1任务节点对应的执行流、A11任务节点对应的执行流、以及A11内部包含子任务节点对应的执行流。其中,A1任务节点对应的执行流、B1任务节点对应的执行流、C1任务节点对应的执行流属于二级执行流,属于等级最高的执行流,A11任务节点的执行流属于三级执行流,等级低于二级执行流、且与A1任务节点对应的子流程执行流关联,A11内部包含任务节点对应的执行流,属于四级执行流,等级低于三级执行流、且与A11任务节点对应的子流程执行流关联,相当于与A1任务节点对应的执行流关联。
此时流程引擎查询流程实例的执行流信息中,执行流的任务节点包括A1任务节点、B1任务节点、C1任务节点、A11任务节点、以及A11包括子任务的任务节点,任务信息包括A1任务节点的任务信息、B1任务节点的任务信息、C1任务节点的任务信息、A11任务节点的任务信息、以及A11包括子任务的任务信息。另外,执行流信息还可以包括执行流的等级和关联关系,即A1任务节点对应的执行流、B1任务节点对应的执行流、C1任务节点对应的执行流属于二级执行流,等级最高的执行流,A11任务节点的执行流属于三级执行流,等级低于二级执行流、且与A1任务节点对应的执行流关联,A11包括子任务节点对应的执行流属于三级执行流,等级低于二级执行流、且与A1任务节点的执行流关联。
S203:根据待关闭任务信息,判断执行流的任务节点是否为待关闭任务节点,若执行流的任务节点为待关闭任务节点,则删除执行流的任务信息,并将执行流绑定至执行流所在流程的结束节点。
其中,在查询出执行流信息后,可以根据待关闭任务信息来判定哪些是需要关闭的任务,进而确定出哪些是需要关闭的流程。待关闭任务信息可以包括待关闭任务名称,而各执行流均绑定任务节点,任务节点与任务名称相对应,所以本步骤中可以根据第一静态流程定义文件查询出各任务名称对应的任务节点,从而得出待关闭任务节点集合,然后根据待关闭任务节点集合来判断执行流的任务节点是否为待关闭任务节点。具体可以为判断执行流的任务节点是否属于待关闭任务节点集合,如果属于,则可以确定执行流的任务节点为待关闭任务节点;如果不属于,则可以确定执行流的任务节点不为待关闭任务节。
在确定出待关闭任务节点后,说明此任务节点的任务需要关闭,即此任务节点的流程需要关闭,则可以删除此任务节点的任务信息,并将绑定该节点的执行流更新绑定至此流程的结束节点,以表示此流程已经执行结束。
需要说明的是,流程引擎中可以存储第二静态流程定义文件,用于存储各流程的任务节点和结束节点之间的对应关系,例如,如图1所示流程实例中B支路中B1任务节点、B2任务节点和B支路右侧圆圈属于同一流程,则第二静态流程定义文件可以存储B支路右侧圆圈作为结束节点与B1任务节点和B2任务节点的对应关系;图1所示流程实例中子流程A1包括任务A11,该任务A11属于一个流程,A11任务节点和A11任务节点右侧圆圈所表示的结束节点,所以第二静态流程定义文件可以存储A11任务节点和A11任务节点右侧圆圈之间的对应关系。所以本步骤中可以根据待关闭任务节点查询第二静态流程定义文件,从而得出待关闭任务节点绑定的执行流所在流程的结束节点。
本发明实施例中,流程实例中流程具有包含关系,通常情况下,根节点对应流程实例最外层的流程,是主流程,所以等级最高,包含流程实例中所有流程,而主流程下的子流程也可以包括分支,如图1所示流程实例中,A1为子流程,A11则为A1的分支,A11还可以报子任务。如此基于包含关系型可以确定各流程的等级,进而可以确定流程对应执行流的等级。如图1,根节点对应根执行流为最高等级,A、B、C三个支路为子流程,对应执行流为二级执行流,A11为子流程的分支,对应执行流为三级执行流,等级低于二级执行流,A11任务节点包括的子任务对应的执行流为四级执行流,等级低于三级执行流。根据包含关系可以确定出二级执行流有多个,二级执行流中A1任务节点对应执行流与A11任务节点对应执行流具有关联关系,A11包括子任务节点对应执行流与A1任务节点对应执行流、A11任务节点对应执行流具有关联关系。
由于任务在执行时,执行流均按照流程实例的中流程的逻辑执行,所以对每个任务节点,如果其包括子流程或分支,说明任务中包括子任务,需要子流程或分支的流程执行完成,该任务节点的任务才算执行完成,即高等级任务节点关联了低等级的任务节点,需要定等级任务节点的执行流执行至结束节点,高等级任务节点的执行流才可以向后流转。所以在任务信息删除时,如果任务节点包括子流程或分支,需要又最低等级任务节点开始按照等级由低到高的顺序依次删除任务信息,以避免因先删除高等级任务节点的任务信息而导致低等级任务信息出错而错删或漏删,并且对每个任务节点,在删除任务信息的同时将其对应执行流绑定至其对应的结束节点。
所以本步骤可以按照执行流的等级来判断各执行流的任务节点是否为待关闭任务节点,具体执行为:对执行流中每个等级最高的目标执行流,根据待关闭任务信息判断目标执行流的任务节点是否为待关闭任务节点;若是,则停止判断;若否,将下一等级中与目标执行流关联的待定执行流更新为新的目标执行流,并根据待关闭任务信息判断新的目标执行流的任务节点是否为待关闭任务节点,若是、则停止判断,若否、则继续更新新的目标执行流、直到判定出待关闭任务节点或与新的目标执行流关联的执行流均完成判断。
对步骤S202查询的执行流,可以根据执行流信息中的等级确定出等级最高的执行流(二级执行流),然后依次执行下述处理过程。
将等级最高的执行流确定为目标执行流,然后判断该目标执行流的任务节点是否为待关闭任务节点。如果该目标执行流的任务节点为待关闭任务节点,则说明该执行流为需要关闭的执行流,则可以不再判断而是执行删除操作。如果该目标执行流的任务节点不为待关闭任务节点,说明该执行流不为需要关闭的执行流,然后需要判断该执行流包括的子执行流是否为需要关闭的执行流,即查找出下一等级、且与目标执行流关联的执行流,即为待定执行流,然后将待定执行流更新为新的目标执行流,并判断该新的目标执行流的任务节点是否为待关闭任务节点。如果该新的目标执行流的任务节点为待关闭任务节点,则可以停止判断;如果该新的目标执行流的任务节点不为待关闭任务节点,则可以继续查找出下一等级、且与目标执行流关联的执行流来更新新的目标执行流,直到判定出待关闭任务节点或与新的目标执行流关联的执行流均完成判断。
如此执行上述判断的过程后,如果判定出待关闭任务节点,则可以确定出需要关闭的执行流;如果直到与新的目标执行流关联的执行流均,也没有判定出待关闭任务节点,则说明此等级最高的执行流和与其关联的所有执行流均不是要关闭的执行流,不需要执行后续删除的操作。
需要说明的是,在上述判断的过程中,如果在更新目标执行流时出现多个待定执行流,说明目标执行流包括多个子任务或分支,此时可以将每个待定执行流依次更新为新的目标执行流,并执行对应的判断过程,以避免遗漏。由于一个执行流的任务节点被判定为待关闭任务节点后,说明此执行流为需要关闭的执行流,则等级低于该执行流、且与其关联的所有执行流均为需要删除的执行流,所有可以不必再对等级低于该执行流、且与其关联的所有执行流的任务节点进行判断。
由于一个执行流的任务节点被判定为待关闭任务节点后,说明此执行流、以及等级低于该执行流、且与其关联的所有执行流均为需要删除的执行流,则此时可以查询出等级低于该执行流、且与其关联的所有执行流,然后按照等级由低到高的顺序,依次删除所有执行流中各执行流的任务信息,并在删除的同时将该执行流绑定对应的至结束节点。在等级低于该执行流、且与其关联的所有执行流均完成删除和绑定至对应的至结束节点的操作后,该执行流也删除其的任务信息,以及将执行流绑定至对应的结束节点,从而完成流程关闭的操作。
需要说明的是,每个执行流除了对应任务信息后,还有可能包括事件,本发明实施例中在判定出需要关闭的执行流后,也许将对应的事件。由于事件的删除可以不按照等级顺序执行,所以可以在判定执行流的任务节点为待关闭任务节点后直接删除该执行流对应的事件。
本发明实施例中流程引擎在流程实例运行过程中接收到流程关闭请求后,可以确定出需要关闭任务对应的执行流,并及时删除该执行流的任务信息,同时将其绑定至流程的结束节点,而不需要执行流正常流转至结束节点,从而实现将流转中的流程关闭,避免浪费业务流程执行的时间和资源,且避免因正常流转关闭的流程而生成多余的数据,给业务流程的管理和维护带来不便。
结合图2所示实施例,本发明实施例中,以图3所示流程实例为例,对本发明实施例进行说明。如图3所示,流程实例执行时,“新建”为根部任务节点,该任务节点执行完成后激活之后流程分为三个支路,即“SA评估中”、“直属领导评估”、“财企评估”三个任务节点被激活,并在执行完成后绑定对应的结束节点,完成任务。其中,“SA评估中”多任务节点,包括多个子任务。
本发明实施例以图3所示流程实例,“SA评估中”、“直属领导评估”、“财企评估”三个任务节点被激活时,流程引擎接收流程关闭请求,流程关闭请求包括“SA评估中”和“直属领导评估”两个待关闭任务名称为例对本发明实施例中流程关闭方法进行说明。如图4所示,该方法包括以下步骤。
S401:接收目标业务的流程关闭请求,并确定待关闭任务节点集合。
其中,流程关闭请求包括“SA评估中”和“直属领导评估”两个待关闭任务名称,说明需要关闭“SA评估中”和“直属领导评估”所在的流程。通过查询第一静态流程定义文件可以得出各任务名称对应的任务节点,进而得出待关闭任务节点集合,即包括“SA评估中”和“直属领导评估”两个待关闭任务节点的集合。
S402:查询目标业务对应流程实例的执行流信息。
根据预存储的业务表数据、静态流程定义文件,可以查询出执行流信息。本发明实施例中,可以先查询出流程实例的根执行流,然后沿路程逻辑查询出执行流信息。具体的,本步骤中可以查询出二级执行流,包括“SA评估中”、“直属领导评估”、“财企评估”三个任务节点对应的执行流,其中,“SA评估中”任务节点为多任务节点,包括多个子任务,所以“SA评估中”任务节点对应执行流还包括三级执行流。所以本步骤得出执行流的任务节点包括“SA评估中”任务节点、“直属领导评估”任务节点、“财企评估”任务节点、以及“SA评估中”包括子任务的任务节点。执行流的任务信息包括上述各任务节点分别对应的任务信息。
S403:将等级最高的根执行流确定为目标执行流。
由上述步骤中得出的执行流信息可知,等级最高的执行流为二级执行流,而本发明实施例中二级执行流包括三个,分别为“SA评估中”、“直属领导评估”、“财企评估”三个任务节点对应的执行流,所以需要依次将每个二级执行流确定为目标执行流,并执行后续的步骤。
S404:判断目标执行流的节点是否属于待关闭任务节点集合,若是,则执行步骤S408;若否,则执行步骤S405。
通过判断目标执行流的节点是否属于待关闭任务节点集合,可以确定目标执行流是否为待关闭任务节点。如果目标执行流的节点属于待关闭任务节点集合,则说明其为待关闭执行流,可以执行步骤S408中的操作;如果目标执行流的节点不属于待关闭任务节点集合,则说明其不为待关闭执行流,则执行步骤S405。
本步骤中由于“SA评估中”任务节点、“直属领导评估”任务节点属于待关闭任务节点的集合,则执行步骤S408,“财企评估”任务节点不属于待关闭任务节点的集合,则执行步骤S405。
S405:查询下一等级执行流中与目标执行流关联的待定执行流。
其中,目标执行流为“财企评估”任务节点对应执行流时,“SA评估中”任务节点对应执行流为二级执行流,则待定执行流为“财企评估”包括子任务节点对应的执行流,属于三级执行流。在图3所示流程实例中,“财企评估”不包括子任务,所以下一等级执行流中不包括与目标执行流关联的待定执行流,此时则可以直接结束流程。
本发明实施例以下一等级执行流中包括与目标执行流关联的待定执行流为例,例如,目标执行流为“SA评估中”任务节点对应执行流,若步骤S404中判定“SA评估中”任务节点不属于待关闭任务节点集合,则可以查询下一等级执行流中与目标执行流关联的待定执行流,“SA评估中”中包括子任务节点对应的执行流,属于三级执行流。
S406:依次将待定执行流更新为新的目标执行流,并判断新的目标执行流的任务节点是否属于待关闭任务节点集合,得出判定结果。
本发明实施例中,以待定执行流为“SA评估中”中包括子任务节点对应的执行流为例,待定执行流通常包括多个,所以需要依次判断每个待定执行流的任务节点是否属于待关闭任务节点集合,即依次将待定执行流更新为新的目标执行流,并判断新的目标执行流的任务节点是否属于待关闭任务节点集合,进而得出每个待定执行流的判定结果。
S407:判断判定结果中是否包括判定业务节点属于待关闭任务节点集合的目标执行流,若是,则执行步骤S408;若否,则结束流程。
如果各待定执行流的判定结果中包括判定业务节点属于待关闭任务节点集合的目标执行流,则说明此目标执行流为待关闭执行流,所以需要执行步骤S408;如果各待定执行流的判定结果中不包括判定业务节点属于待关闭任务节点集合的目标执行流,则说明执行流均不是待关闭执行流,所以不需要再执行操作。
需要说明的是,由于图3所示的流程实例中,如果“SA评估中”任务节点不属于待关闭任务节点集合,则可以查询下一等级执行流中与目标执行流关联的待定执行流,即三级执行流中与“SA评估中”任务节点对应执行流关联的执行流,并需要依次判断每个待定执行流的任务节点是否属于待关闭任务节点集合,直到判定出业务节点属于待关闭任务节点集合的目标执行流,或者判定出等级低于二级执行流、且与“SA评估中”任务节点对应执行流存在关联关系的执行流均不是需要关闭的执行流为止。
S408:对每个目标执行流,查询等级低于目标执行流、且与目标执行流关联的所有执行流,按照所有执行流中各执行流的等级由低到高的顺序,依次删除各执行流的任务信息,并将各执行流绑定至所在流程的结束节点,然后删除目标执行流的任务信息,并将目标执行流绑定至所在流程的结束节点。
由于在上述流程中,可能会判定出多个业务节点属于待关闭任务节点集合的目标执行流,例如“SA评估中”、“直属领导评估”两个业务节点,本步骤中对每个目标执行流均需要执行上述操作。操作具体为:查询等级低于目标执行流、且与目标执行流关联的所有执行流,按照所有执行流中各执行流的等级由低到高的顺序,依次删除各执行流的任务信息,并将各执行流绑定至所在流程的结束节点,然后删除目标执行流的任务信息,并将目标执行流绑定至所在流程的结束节点。
本发明实施例中,目标执行流为“直属领导评估”任务节点对应的执行流时,图3所示实例中“直属领导评估”两个任务节点对应的执行流不存在等级低于二级的执行流,所以等级低于目标执行流、且与目标执行流关联的所有执行流为空。此时可以直接执行删除目标执行流的任务信息,并将目标执行流绑定至所在流程的结束节点。
目标执行流为“SA评估中”任务节点对应的执行流时,图3所示实例中“SA评估中”任务节点对应的执行流包括三级执行流,所以需要从三级执行流开始删除各三级执行流的任务信息,并将三级执行流绑定至所在流程的结束节点,然后删除“SA评估中”任务节点对应执行流的任务信息,并将“SA评估中”任务节点对应执行流绑定至所在流程的结束节点。
如此可以实现关闭了“SA评估中”和“直属领导评估”所在的支路,最终使流程实例仅保留“财务评估”一条支路。
需要说明的是,执行流的结束节点可以基于任务节点查询第二静态流程定义文件得出。执行流还包括对应的事件,则可以在判定为需要关闭的执行流时将事件删除。
本发明实施例中流程引擎在流程实例运行过程中接收到流程关闭请求后,可以确定出需要关闭任务对应的执行流,并及时删除该执行流的任务信息,同时将其绑定至流程的结束节点,而不需要执行流正常流转至结束节点,从而实现将流转中的流程关闭,避免浪费业务流程执行的时间和资源,且避免因正常流转关闭的流程而生成多余的数据,给业务流程的管理和维护带来不便。
另外,本发明实施例在关闭部分流程时,不额外新建多余的任务完成信息,保留应有的已办信息,删除需要关闭的待办信息,具有极大的通用性、灵活性、广泛性、健壮性,可以支持各种需要对各种复杂的流程情况中途部分分支批量强制关闭的应用场景;在业务层面,可任意中途批量强制关闭任意情况下的流程支路,使用户能更清晰的查看自己的待办已办任务,净化系统数据避免显示无效数据,提升系统易用性,提升工作效率。
为了解决现有技术存在的问题,本发明实施例提供了一种基于流程引擎的流程关闭装置500,如图5所示,该装置500包括:
接收单元501,用于接收目标业务的流程关闭请求,所述流程关闭请求包括待关闭任务信息;
查询单元502,用于查询所述目标业务对应流程实例的执行流信息,所述执行流信息包括所述流程实例中执行流的任务节点和任务信息;
删除单元503,用于根据所述待关闭任务信息,判断所述执行流的任务节点是否为待关闭任务节点,若所述执行流的任务节点为待关闭任务节点,则删除所述执行流的任务信息,并将所述执行流绑定至所述执行流所在流程的结束节点。
应理解的是,实施本发明实施例的方式与实施图2所示实施例的方式相同,在此不再赘述。
本发明实施例的一种实现方式中,所述执行流信息还包括执行流的等级和关联关系;
所述删除单元603,具体用于:
对所述执行流中每个等级最高的目标执行流,根据所述待关闭任务信息判断所述目标执行流的任务节点是否为待关闭任务节点;
若是,则停止判断;若否,将下一等级中与所述目标执行流关联的待定执行流更新为新的目标执行流,并根据所述待关闭任务信息判断所述新的目标执行流的任务节点是否为待关闭任务节点,若是、则停止判断,若否、则继续更新所述新的目标执行流、直到判定出待关闭任务节点或与所述新的目标执行流关联的执行流均完成判断。
本发明实施例的又一种实现方式中,所述删除单元603,具体用于:
若所述下一等级中与所述目标执行流关联的待定执行流包括多个,则依次将各所述待定执行流更新为所述新的目标执行流,并根据所述待关闭任务信息判断所述新的目标执行流的任务节点是否为待关闭任务节点。
本发明实施例的又一种实现方式中,所述删除单元603,具体用于:
若所述执行流的任务节点为待关闭任务节点,则查询等级低于所述执行流,且与所述执行流关联的所有执行流,按照所述所有执行流中各执行流的等级由低到高的顺序,依次删除所述各执行流的任务信息,并将所述各执行流绑定至所在流程的结束节点;
删除所述执行流的任务信息,并将所述执行流绑定至所在流程的结束节点。
本发明实施例的又一种实现方式中,所述执行流信息还包括所述执行流对应的事件;
若所述执行流的任务节点为待关闭任务节点,则所述删除单元603,具体用于:
删除所述执行流对应的事件;
以及在查询等级低于所述执行流、且与所述执行流关联的所有执行流时,并删除所述所有执行流中各执行流对应的事件。
本发明实施例的又一种实现方式中,所述待关闭任务信息包括待关闭任务名称;
所述删除单元603,具体用于:
查询第一静态定义流程文件,得出所述待关闭任务名称对应的待关闭任务节点集合,所述第一静态定义流程文件包括所述流程实例中任务名称和任务节点之间的对应关系;
根据所述待关闭任务节点集合,判断所述执行流对应任务节点是否为需要关闭的任务节点
本发明实施例的又一种实现方式中,所述删除单元603,具体用于:
查询第二静态定义流程文件,得出所述执行流的任务节点所对应的结束节点,所述第二静态定义流程文件包括各流程中任务节点和结束节点的对应关系;
将所述执行流绑定至所述执行流的任务节点所对应的结束节点。
应理解的是,实施本发明实施例的方式与实施图2或图4所示实施例的方式相同,在此不再赘述。
本发明实施例中流程引擎在流程实例运行过程中接收到流程关闭请求后,可以确定出需要关闭任务对应的执行流,并及时删除该执行流的任务信息,同时将其绑定至流程的结束节点,而不需要执行流正常流转至结束节点,从而实现将流转中的流程关闭,避免浪费业务流程执行的时间和资源,且避免因正常流转关闭的流程而生成多余的数据,给业务流程的管理和维护带来不便。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
本发明的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明实施例所提供的基于流程引擎的流程关闭方法。
图6示出了可以应用本发明实施例的基于流程引擎的流程关闭方法或基于流程引擎的流程关闭装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种客户端应用。
终端设备601、602、603可以是不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。终端设备可以向流程引擎发送流程关闭请求。
服务器605可以是提供各种服务的服务器,服务器可以对接收到流程关闭请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的基于流程引擎的流程关闭方法一般由服务器605执行,相应地,基于流程引擎的流程关闭装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的计算机系统700的结构示意图。图7示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,上述单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、查询单元和删除单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收单元的功能的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行本发明所提供的基于流程引擎的流程关闭方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种基于流程引擎的流程关闭方法,其特征在于,包括:
接收目标业务的流程关闭请求,所述流程关闭请求包括待关闭任务信息;
查询所述目标业务对应流程实例的执行流信息,所述执行流信息包括所述流程实例中执行流的任务节点和任务信息;
根据所述待关闭任务信息,判断所述执行流的任务节点是否为待关闭任务节点,若所述执行流的任务节点为待关闭任务节点,则删除所述执行流的任务信息,并将所述执行流绑定至所述执行流所在流程的结束节点。
2.根据权利要求1所述的方法,其特征在于,所述执行流信息还包括执行流的等级和关联关系;
所述根据所述待关闭任务信息,依次判断所述执行流的任务节点是否为需要关闭的任务节点,包括:
对所述执行流中每个等级最高的目标执行流,根据所述待关闭任务信息判断所述目标执行流的任务节点是否为待关闭任务节点;
若是,则停止判断;若否,将下一等级中与所述目标执行流关联的待定执行流更新为新的目标执行流,并根据所述待关闭任务信息判断所述新的目标执行流的任务节点是否为待关闭任务节点,若是、则停止判断,若否、则继续更新所述新的目标执行流、直到判定出待关闭任务节点或与所述新的目标执行流关联的执行流均完成判断。
3.根据权利要求2所述的方法,其特征在于,所述将下一等级中与所述目标执行流关联的待定执行流更新为新的目标执行流,并根据所述待关闭任务信息判断所述新的目标执行流的任务节点是否为待关闭任务节点,包括:
若所述下一等级中与所述目标执行流关联的待定执行流包括多个,则依次将各所述待定执行流更新为所述新的目标执行流,并根据所述待关闭任务信息判断所述新的目标执行流的任务节点是否为待关闭任务节点。
4.根据权利要求2所述的方法,其特征在于,若所述执行流的任务节点为待关闭任务节点,则删除所述执行流的任务信息,并将所述执行流绑定至所述执行流所在流程的结束节点,包括:
若所述执行流的任务节点为待关闭任务节点,则查询等级低于所述执行流,且与所述执行流关联的所有执行流,按照所述所有执行流中各执行流的等级由低到高的顺序,依次删除所述各执行流的任务信息,并将所述各执行流绑定至所在流程的结束节点;
删除所述执行流的任务信息,并将所述执行流绑定至所在流程的结束节点。
5.根据权利要求2所述的方法,其特征在于,所述执行流信息还包括所述执行流对应的事件;
若所述执行流的任务节点为待关闭任务节点,所述方法还包括:
删除所述执行流对应的事件;
以及在查询等级低于所述执行流、且与所述执行流关联的所有执行流时,并删除所述所有执行流中各执行流对应的事件。
6.根据权利要求1所述的方法,其特征在于,所述待关闭任务信息包括待关闭任务名称;
所述根据所述待关闭任务信息,判断所述执行流对应任务节点是否为待关闭任务节点,包括:
查询第一静态定义流程文件,得出所述待关闭任务名称对应的待关闭任务节点集合,所述第一静态定义流程文件包括所述流程实例中任务名称和任务节点之间的对应关系;
根据所述待关闭任务节点集合,判断所述执行流对应任务节点是否为需要关闭的任务节点。
7.根据权利要求1所述的方法,其特征在于,所述将所述执行流绑定至所述执行流所在流程的结束节点,包括:
查询第二静态定义流程文件,得出所述执行流的任务节点所对应的结束节点,所述第二静态定义流程文件包括各流程中任务节点和结束节点的对应关系;
将所述执行流绑定至所述执行流的任务节点所对应的结束节点。
8.一种基于流程引擎的流程关闭装置,其特征在于,包括:
接收单元,用于接收目标业务的流程关闭请求,所述流程关闭请求包括待关闭任务信息;
查询单元,用于查询所述目标业务对应流程实例的执行流信息,所述执行流信息包括所述流程实例中执行流的任务节点和任务信息;
删除单元,用于根据所述待关闭任务信息,判断所述执行流的任务节点是否为待关闭任务节点,若所述执行流的任务节点为待关闭任务节点,则删除所述执行流的任务信息,并将所述执行流绑定至所述执行流所在流程的结束节点。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011348998.6A CN112488649B (zh) | 2020-11-26 | 2020-11-26 | 基于流程引擎的流程关闭方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011348998.6A CN112488649B (zh) | 2020-11-26 | 2020-11-26 | 基于流程引擎的流程关闭方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112488649A true CN112488649A (zh) | 2021-03-12 |
CN112488649B CN112488649B (zh) | 2023-05-26 |
Family
ID=74935235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011348998.6A Active CN112488649B (zh) | 2020-11-26 | 2020-11-26 | 基于流程引擎的流程关闭方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112488649B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345664A (zh) * | 2013-05-31 | 2013-10-09 | 华为技术有限公司 | 工作流-任务调度适配方法及系统 |
US20150095097A1 (en) * | 2013-09-27 | 2015-04-02 | At&T Intellectual Property I, L.P. | System and method for providing reconfigurable workflows |
CN109447411A (zh) * | 2018-09-26 | 2019-03-08 | 平安普惠企业管理有限公司 | 业务流程控制方法、装置、计算机设备和存储介质 |
CN110489086A (zh) * | 2019-07-25 | 2019-11-22 | 广东高云半导体科技股份有限公司 | 流程执行控制方法、装置、计算机设备及存储介质 |
CN110689232A (zh) * | 2019-09-03 | 2020-01-14 | 深圳壹账通智能科技有限公司 | 工作流配置的优化处理方法、装置和计算机设备 |
CN110968445A (zh) * | 2019-11-13 | 2020-04-07 | 泰康保险集团股份有限公司 | 一种基于流程引擎的节点跳转方法、装置及电子设备 |
CN110968408A (zh) * | 2019-11-13 | 2020-04-07 | 泰康保险集团股份有限公司 | 一种执行流移除方法、装置、电子设备及存储介质 |
CN111932150A (zh) * | 2020-09-17 | 2020-11-13 | 平安国际智慧城市科技股份有限公司 | 基于ai决策及引擎的流程执行方法、装置、设备及介质 |
-
2020
- 2020-11-26 CN CN202011348998.6A patent/CN112488649B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345664A (zh) * | 2013-05-31 | 2013-10-09 | 华为技术有限公司 | 工作流-任务调度适配方法及系统 |
US20150095097A1 (en) * | 2013-09-27 | 2015-04-02 | At&T Intellectual Property I, L.P. | System and method for providing reconfigurable workflows |
CN109447411A (zh) * | 2018-09-26 | 2019-03-08 | 平安普惠企业管理有限公司 | 业务流程控制方法、装置、计算机设备和存储介质 |
CN110489086A (zh) * | 2019-07-25 | 2019-11-22 | 广东高云半导体科技股份有限公司 | 流程执行控制方法、装置、计算机设备及存储介质 |
CN110689232A (zh) * | 2019-09-03 | 2020-01-14 | 深圳壹账通智能科技有限公司 | 工作流配置的优化处理方法、装置和计算机设备 |
CN110968445A (zh) * | 2019-11-13 | 2020-04-07 | 泰康保险集团股份有限公司 | 一种基于流程引擎的节点跳转方法、装置及电子设备 |
CN110968408A (zh) * | 2019-11-13 | 2020-04-07 | 泰康保险集团股份有限公司 | 一种执行流移除方法、装置、电子设备及存储介质 |
CN111932150A (zh) * | 2020-09-17 | 2020-11-13 | 平安国际智慧城市科技股份有限公司 | 基于ai决策及引擎的流程执行方法、装置、设备及介质 |
Non-Patent Citations (2)
Title |
---|
李毅 等: "支持优先级决策的工作流引擎模型", 《航空科学技术》 * |
郑小建 等: "ERP中动态可重构业务流系统的设计与实现", 《广西师范大学学报(自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112488649B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111738700B (zh) | 用于控制业务流程的方法、计算设备和存储介质 | |
CN111258565B (zh) | 小程序的生成方法、系统、服务器及存储介质 | |
US9912759B2 (en) | Dynamically generating solution stacks | |
WO2022083293A1 (en) | Managing task flow in edge computing environment | |
CN110795147A (zh) | 一种接口协议文件管理方法和装置 | |
CN110706093A (zh) | 一种账务处理方法和装置 | |
CN111127181A (zh) | 一种凭证记账方法和装置 | |
CN109743202B (zh) | 数据的管理方法、装置、设备及可读存储介质 | |
CN109828830B (zh) | 用于管理容器的方法和装置 | |
CN111831461A (zh) | 一种处理业务流程的方法和装置 | |
CN112579569A (zh) | 一种数据迁移方法和装置 | |
GB2604203A (en) | Managing failures in edge computing environments | |
CN112905273A (zh) | 一种服务调用方法和装置 | |
CN112416980A (zh) | 数据业务处理方法、装置及设备 | |
CN112488649B (zh) | 基于流程引擎的流程关闭方法和装置 | |
CN112860421A (zh) | 用于作业处理的方法、设备和计算机程序产品 | |
CN113778993A (zh) | 一种业务数据的处理方法和装置 | |
CN113760487B (zh) | 一种业务处理方法和装置 | |
US11010154B2 (en) | System and method for implementing complex patching micro service automation | |
CN113448960A (zh) | 一种导入表格文件的方法和装置 | |
CN113656295A (zh) | 测试数据的自动生成方法、装置、电子设备及存储介质 | |
CN113687882A (zh) | 基于activiti的流程回退方法、装置和存储介质 | |
CN112463616A (zh) | 一种面向Kubernetes容器平台的混沌测试方法和装置 | |
CN113535221A (zh) | 应用版本管理的方法和装置 | |
CN111158649A (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 |