一种业务流程控制处理方法及装置与流程

文档序号:14217437阅读:110来源:国知局

本发明实施例涉及计算机技术领域,尤其涉及一种业务流程控制处理方法及装置。



背景技术:

随着计算机技术的快速发展,通过计算机程序对业务流程进行控制已经在多种场景中广泛应用,业务流程的控制效率问题也越来越受到人们的关注。

现有技术条件下,当一个业务流程的控制逻辑比较复杂时,通常会将这个业务流程的控制逻辑分成很多个子控制逻辑,这样不但能够复用一些功能类似的子控制逻辑,还能缩小控制逻辑的粒度,降低每个控制逻辑的复杂度,在执行业务流程的控制逻辑时,通过管理调度模块协调和调用多个子控制逻辑,并行或者串行地执行所有的子控制逻辑,如果某个子控制逻辑出现异常或者不可恢复的错误,管理调度模块负责回滚已经执行的操作,让业务恢复到调用开始的状态,不至于对数据和流程造成影响。但是,现有技术条件下的业务流程控制处理方法,在一个业务流程的控制逻辑执行过程中,每个子控制逻辑都必须全部执行,并且在执行过程中如果某个子控制逻辑出错,则需要将已经执行的所有子控制逻辑全部回滚,大大影响业务流程的控制效率。

因此,提出一种业务流程控制处理方法来提高业务流程控制效率的问题是目前业界亟待解决的重要课题。



技术实现要素:

针对现有技术中的缺陷,本发明实施例提供一种业务流程控制处理方法及装置。

一方面,本发明实施例提供一种业务流程控制处理方法,包括:

将待控制业务流程划分为多个子流程;

根据所述各子流程以及预先建立的控制逻辑数据库,创建所述待控制业务流程对应的业务流程控制链,所述业务流程控制链包括逻辑执行链和/或结果收集链;

根据所述业务流程控制链对所述待控制业务流程进行控制处理。

另一方面,本发明实施例提供一种业务流程控制处理装置,包括划分单元、创建单元和处理单元,其中:

划分单元,用于将待控制业务流程划分为多个子流程;

创建单元,用于根据所述各子流程以及预先建立的控制逻辑数据库,创建所述待控制业务流程对应的业务流程控制链,所述业务流程控制链包括逻辑执行链和/或结果收集链;

处理单元,用于根据所述业务流程控制链对所述待控制业务流程进行控制处理。

又一方面,本发明实施例提供一种电子设备,包括处理器、存储器和总线,其中:

所述处理器,所述存储器通过总线完成相互间的通信;

所述处理器可以调用存储器中的计算机程序,以执行上述方法的步骤。

再一方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本发明实施例提供的业务流程控制处理方法及装置,将待控制业务流程划分为多个子流程,根据所述各子流程以及预先建立的控制逻辑数据库,建立所述待控制业务流程对应的、包括逻辑执行链和/或结果收集链的业务流程控制链,并根据所述业务流程控制链对所述待控制业务流程进行控制处理,提高了业务流程控制效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的业务流程控制处理方法的流程示意图;

图2为本发明实施例提供的业务流程控制处理方法的整体流程示意图;

图3为本发明实施例提供的业务流程控制处理装置的结构示意图;

图4为本发明实施例提供的电子设备实体装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的业务流程控制处理方法的流程示意图,如图1所示,本实施例提供一种业务流程控制处理方法,包括:

s101、将待控制业务流程划分为多个子流程;

具体地,业务流程控制处理装置将所述待控制业务流程的划分为多个子流程,所述待控制业务流程可以为多个应用场景下的业务流程,具体可以根据实际情况进行设置和调整,此处不做具体限定,所述多个子流程对应的控制逻辑不同,且各所述子流程按照先后顺序依次执行。

s102、根据所述各子流程以及预先建立的控制逻辑数据库,创建所述待控制业务流程对应的业务流程控制链,所述业务流程控制链包括逻辑执行链和/或结果收集链;

具体地,所述装置根据所述各子流程以及预先建立的控制逻辑数据库,创建所述待控制业务流程对应的业务流程控制链,所述业务流程控制链包括逻辑执行链和/或结果收集链。其中,所述控制逻辑数据库包括根据多个历史业务流程提取的控制逻辑;所述结果收集链对应的子流程均为必须执行子流程,所述逻辑执行链对应的子流程包括至少包括非必须执行子流程,还可以包括必须执行子流程,具体可以根据实际情况进行设置和调整,此处不做具体限定,所述必须执行子流程为无论前一子流程输出结果是否为空都必须执行的子流程,所述非必须执行子流程为根据前一子流程输出的结果判断是否执行的子流程。

s103、根据所述业务流程控制链对所述待控制业务流程进行控制处理。

具体地,所述装置在接收到所述待控制业务流程的启动信号之后,运行所述待控制业务流程对应的所述业务流程控制链,对所述进行控制处理。

本发明实施例提供的业务流程控制处理方法及装置,将待控制业务流程划分为多个子流程,根据所述各子流程以及预先建立的控制逻辑数据库,建立所述待控制业务流程对应的、包括逻辑执行链和/或结果收集链的业务流程控制链,并根据所述业务流程控制链对所述待控制业务流程进行控制处理,提高了业务流程控制效率。

在上述实施例的基础上,进一步地,所述根据所述各子流程以及预先建立的控制逻辑数据库,创建所述待控制业务流程对应的业务流程控制链,包括:

从预先建立的所述控制逻辑数据库中选取各所述子流程对应的控制逻辑;

根据所述各子流程的执行顺序和各所述子流程对应的所述控制逻辑,生成所述待控制业务流程对应的业务流程控制链。

具体地,所述装置从预先建立的所述控制逻辑数据库中选取各所述子流程对应的控制逻辑,并根据所述各子流程的执行顺序和各所述子流程对应的所述控制逻辑,生成所述待控制业务流程对应的业务流程控制链。

在上述实施例的基础上,进一步地,所述根据所述各子流程的执行顺序和各所述子流程对应的所述控制逻辑,生成所述待控制业务流程对应的业务流程控制链,包括:

根据所述各子流程的执行顺序,从后往前依次判断所述各子流程是否为必须执行的子流程;

若判断获知第n个子流程为非必须执行子流程,则根据所述各子流程及所述各子流程对应的控制逻辑生成所述待控制业务流程对应的所述逻辑执行链,将所述逻辑执行链作为所述待控制业务流程的业务流程控制链;

若判断获知第n个子流程到第n-i个子流程均为必须执行子流程,且第n-i-1个子流程为非必须执行子流程,则根据第n个子流程到第n-i个子流程及所述第n个子流程到第n-i个子流程对应的控制逻辑,生成所述待控制业务流程对应的所述结果收集链,并根据第1个至第n-i-1个子流程及第1个至第n-i-1个子流对应的控制逻辑生成所述待控制业务流程对应的所述逻辑执行链,将所述逻辑执行链和所述结果收集链作为所述待控制业务流程的业务流程控制链;其中,n为所述待控制业务流程包括的子流程的个数,0≤i≤n-1。

具体地,所述装置根据所述各子流程的执行顺序,从后往前依次判断所述各子流程是否为必须执行子流程;若判断获知第n个子流程为非必须执行子流程,则根据所述各子流程及所述各子流程对应的控制逻辑生成所述待控制业务流程对应的所述逻辑执行链,将所述逻辑执行链作为所述待控制业务流程的业务流程控制链;若判断获知第n个子流程到第n-i个子流程均为必须执行子流程,且第n-i-1个子流程为非必须执行子流程,则根据第n个子流程到第n-i个子流程及所述第n个子流程到第n-i个子流程对应的控制逻辑,生成所述待控制业务流程对应的所述结果收集链,并根据第1个至第n-i-1个子流程及第1个至第n-i-1个子流对应的控制逻辑生成所述待控制业务流程对应的所述逻辑执行链,将所述逻辑执行链和所述结果收集链作为所述待控制业务流程的业务流程控制链;其中,n为所述待控制业务流程包括的子流程的个数,0≤i≤n-1。

例如,若待控制业务流程a包括的子流程按照执行顺序依次为a1、a2、a3、a4、a5、a6,所述装置首先判断a6是否为必须执行子流程,若不是,则无论a1、a2、a3、a4、a5是否为必须执行子流程,都根据a1、a2、a3、a4、a5、a6及其分别对应的控制逻辑生成逻辑执行链a1→a2→a3→a4→a5→a6;若a6是必须执行子流程,则继续判断a5是否为必须执行子流程,若a5不是必须执行子流程,则将a6作为所述待控制业务流程a对应的结果收集链,将a1→a2→a3→a4→a5作为所述待控制业务流程a对应的逻辑执行链;若a5是必须执行子流程,则继续判断a4是否为必须执行子流程,若a4不是必须执行子流程,则将a5→a6作为所述待控制业务流程a对应的结果收集链,将a1→a2→a3→a4作为所述待控制业务流程a对应的逻辑执行链;若a4是必须执行子流程,则继续判断a3是否为必须执行子流程,依次类推,直到获得所述待控制业务流程a对应的逻辑执行链和/或结果收集链为止。

在上述实施例的基础上,进一步地,所述控制逻辑包括执行逻辑;相应地,所述根据所述业务流程控制链对所述待控制业务流程进行控制处理,包括:

接收到所述待控制业务流程的启动信号后,按照各所述子流程的执行顺序,依次启动所述待控制业务流程包括的所述各子流程对应的控制逻辑中的所述执行逻辑。

具体地,所述控制逻辑包括执行逻辑,所述装置在接收到所述待控制业务流程的启动信号后,按照各所述子流程的执行顺序,依次启动所述待控制业务流程包括的所述各子流程对应的控制逻辑中的所述执行逻辑,实现对所述待控制业务流程的控制处理。

例如,在上述实施例中所述待控制业务流程a包括的逻辑执行链为a1→a2→a3,结果收集链为a4→a5→a6;其中,a1、a2和a3均在其上一个子流程的输出结果为空时启动执行,否则直接由其上一个子流程输出结果并直接结束所述逻辑执行链,也就是若a1输出结果不为空,则直接输出该结果并结束所述逻辑执行链,然后依次执行结果收集链包括的a4、a5和a6;若a1输出结果为空,则执行a2,若a2执行结果不为空,则直接输出该结果并结束所述逻辑执行链,然后依次执行结果收集链包括的a4、a5和a6;若a2执行结果为空,则执行a3,在a3执行结束后,然后依次执行结果收集链包括的a4、a5和a6。

在上述实施例的基础上,进一步地,所述控制逻辑还包括回滚逻辑;相应地,所述根据所述业务流程控制链对所述待控制业务流程进行控制处理还包括:

若判断获知所述逻辑执行链的执行过程发生错误,则获取发生错误的控制逻辑,并根据所述发生错误的控制逻辑中包括的回滚逻辑进行回滚处理。

具体地,所述控制逻辑还包括回滚逻辑,所述回滚逻辑包括“是否需要回滚”以及“如何进行回滚操作”(回滚操作规则),还可以包括其他逻辑,具体可以根据实际情况进行设置和调整,此处不做具体限定;所述装置若判断获知所述逻辑执行链的执行过程发生错误,则定位发生错误的子流程,获取该子流对应的控制逻辑即为发生错误的控制逻辑,并根据所述发生错误的控制逻辑中包括的回滚逻辑判断是否进行回滚,若需要回滚,则按照所述回滚逻辑中包括的回滚操作规则进行回滚操作;若不需要回滚,则发送无需回滚提示信息。

例如,若所述逻辑执行链a1→a2→a3在执行过程中发生错误,则所述装置发生错误的子流程进行定位,获知发生错误的子流程为a2,则根据所述子流程a2对应的控制逻辑中包括的回滚逻辑判断是否需要回滚,若子流程a2不需要回滚,则继续根据子流程a1对应的控制逻辑中包括的回滚逻辑判断子流程a1是否需要回滚;若子流程a2需要回滚,则按照所述回滚逻辑中包括的回滚操作规则对子流程a2进行回滚操作之后,再继续根据子流程a1对应的控制逻辑中包括的回滚逻辑判断子流程a1是否需要回滚,若所述子流程a1需要回滚,则按照所述回滚逻辑中包括的回滚操作规则对子流程a1进行回滚操作之后,结束回滚流程,然后执行所述结果收集链a4→a5→a6;若所述子流程a1不需要回滚,则直接结束回滚流程,然后执行所述结果收集链a4→a5→a6。应当说明的是,定位发生错误的子流程的具体方法与现有技术的定位方法一致,此处不再赘述。

在上述实施例的基础上,进一步地,所述方法还包括:

从多个历史业务控制流程中提取多个控制逻辑,并根据所述多个控制逻辑建立所述控制逻辑数据库。

在上述实施例的基础上,进一步地,若判断获知所述控制逻辑数据库中不存在所述待控制业务流程的子流程对应的控制逻辑,则提取所述子流程的控制逻辑,并根据所述子流程的控制逻辑对所述控制逻辑数据库进行更新。

具体地,所述装置若判断获知所述控制逻辑数据库中不存在所述待控制业务流程的子流程对应的控制逻辑,则提取所述子流程的控制逻辑,将所述子流程的控制逻辑添加入所述控制逻辑数据库中,实现对所述控制逻辑数据库的更新。

本发明实施例提供的业务流程控制处理方法及装置,将待控制业务流程划分为多个子流程,根据所述各子流程以及预先建立的控制逻辑数据库,建立所述待控制业务流程对应的、包括逻辑执行链和/或结果收集链的业务流程控制链,并根据所述业务流程控制链对所述待控制业务流程进行控制处理,提高了业务流程控制效率。

下面以业务流程的控制过程对本发明实施例提供的业务流程控制处理方法进行进一步的说明,以待控制业务流程a为例,所述待控制业务流程a包括的子流程按照执行顺序依次为a1、a2、a3、a4、a5、a6,包括的逻辑执行链为a1→a2→a3,结果收集链为a4→a5→a6;图2为本发明实施例提供的业务流程控制处理方法的整体流程示意图,如图2所示,本发明实施例提供的业务流程控制处理方法具体包括以下步骤:

s201、执行逻辑执行链;所述装置接收到所述待控制业务流程a的启动信号之后,启动执行所述逻辑执行链,然后执行步骤s202;所述步骤s201具体包括步骤s2011-s2016;

s2011、执行子流程a1;所述装置执行所述子流程a1对应的控制逻辑中包括的执行逻辑,然后执行步骤s2012;

s2012、判断执行子流程a1输出结果是否为空,若是,则执行步骤s2013,否则,执行步骤s2016;

s2013、执行子流程a2;所述装置执行所述子流程a2对应的控制逻辑中包括的执行逻辑,然后执行步骤s2014;

s2014、判断执行子流程a2输出结果是否为空,若是,则执行步骤s2015,否则,执行步骤s2016;

s2015、执行子流程a3;所述装置执行所述子流程a3对应的控制逻辑中包括的执行逻辑,然后执行步骤s2016;

s2016、逻辑执行链结束;所述装置结束所述逻辑执行链,并输出结果;

s202、判断逻辑执行链是否发生错误;所述装置判断逻辑执行链执行过程中是否发生错误,若发生错误,则执行步骤s203,否则,执行步骤s204;

s203、执行回滚流程;所述装置执行回滚流程,所述回滚流程包括步骤s2031-s2036;

s2031、定位发生错误的子流程为a2;所述装置对发生错误的子流程进行定位,获得发生错误的子流程为a2,当然,发生错误的子流程还可以是其他子流程,此处以a2为例,具体的错误流程定位方法与现有技术一致,此处不再赘述;然后执行步骤s2032;

s2032、判断子流程a2是否需要回滚;所述装置根据所述子流程a2对应的控制逻辑中的回滚逻辑判断子流程a2是否需要回滚,若是,则执行步骤s2033,否则,执行步骤s2034;

s2033、执行子流程a2的回滚操作;所述装置根据所述子流程a2对应的控制逻辑中的回滚逻辑包括的回滚操作规则执行回滚操作;然后执行步骤s2034;

s2034、判断子流程a1是否需要回滚;所述装置根据所述子流程a1对应的控制逻辑中的回滚逻辑判断子流程a1是否需要回滚,若是,则执行步骤s2035,否则,执行步骤s2036;

s2035、执行子流程a1的回滚操作;所述装置根据所述子流程a1对应的控制逻辑中的回滚逻辑包括的回滚操作规则执行回滚操作;然后执行步骤s2036;

s2036、回滚流程结束;

s204、执行结果收集链;

s2041、执行子流程a4;所述装置执行所述子流程a4对应的控制逻辑中包括的执行逻辑,然后执行步骤s2042;

s2042、执行子流程a5;所述装置执行所述子流程a5对应的控制逻辑中包括的执行逻辑,然后执行步骤s2043;

s2043、执行子流程a6;所述装置执行所述子流程a6对应的控制逻辑中包括的执行逻辑,然后执行步骤s2044;

s2044、结果收集链结束。

图3为本发明实施例提供的业务流程控制处理装置的结构示意图,如图3所示,本发明实施例提供一种业务流程控制处理装置,包括:划分单元301、创建单元302和处理单元303,其中:

划分单元301用于将待控制业务流程划分为多个子流程;创建单元302用于根据所述各子流程以及预先建立的控制逻辑数据库,创建所述待控制业务流程对应的业务流程控制链,所述业务流程控制链包括逻辑执行链和/或结果收集链;处理单元303用于根据所述业务流程控制链对所述待控制业务流程进行控制处理。

可选地,创建单元302具体用于从预先建立的所述控制逻辑数据库中选取各所述子流程对应的控制逻辑;根据所述各子流程的执行顺序和各所述子流程对应的所述控制逻辑,生成所述待控制业务流程对应的业务流程控制链。

可选地,创建单元302具体用于根据所述各子流程的执行顺序,从后往前依次判断所述各子流程是否为必须执行的子流程;若判断获知第n个子流程为非必须执行子流程,则根据所述各子流程及所述各子流程对应的控制逻辑生成所述待控制业务流程对应的所述逻辑执行链,将所述逻辑执行链作为所述待控制业务流程的业务流程控制链;若判断获知第n个子流程到第n-i个子流程均为必须执行子流程,且第n-i-1个子流程为非必须执行子流程,则根据第n个子流程到第n-i个子流程及所述第n个子流程到第n-i个子流程对应的控制逻辑,生成所述待控制业务流程对应的所述结果收集链,并根据第1个至第n-i-1个子流程及第1个至第n-i-1个子流对应的控制逻辑生成所述待控制业务流程对应的所述逻辑执行链,将所述逻辑执行链和所述结果收集链作为所述待控制业务流程的业务流程控制链;其中,n为所述待控制业务流程包括的子流程的个数,0≤i≤n-1。

可选地,所述控制逻辑包括执行逻辑;相应地,处理单元303具体用于接收到所述待控制业务流程的启动信号后,按照各所述子流程的执行顺序,依次启动所述待控制业务流程包括的所述各子流程对应的控制逻辑中的所述执行逻辑。

可选地,所述各控制逻辑还包括回滚逻辑;相应地,处理单元303具体用于若判断获知所述逻辑执行链的执行过程发生错误,则获取发生错误的控制逻辑,并根据所述发生错误的控制逻辑中包括的回滚逻辑进行回滚处理。

可选地,创建单元302还用于从多个历史业务流程的控制流程中提取多个控制逻辑,并根据所述多个控制逻辑建立所述控制逻辑数据库。

可选地,创建单元302还用于若判断获知所述控制逻辑数据库中不存在所述待控制业务流程的子流程对应的控制逻辑,则提取所述子流程的控制逻辑,并根据所述子流程的控制逻辑对所述控制逻辑数据库进行更新。

本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

图4为本发明实施例提供的电子设备实体装置的结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、存储器(memory)402和总线403,其中,处理器401,存储器402通过总线403完成相互间的通信。处理器401可以调用存储器402中的计算机程序,以执行上述各方法实施例所提供的方法,例如包括:将待控制业务流程划分为多个子流程;根据所述各子流程以及预先建立的控制逻辑数据库,创建所述待控制业务流程对应的业务流程控制链,所述业务流程控制链包括逻辑执行链和/或结果收集链;根据所述业务流程控制链对所述待控制业务流程进行控制处理。

本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:将待控制业务流程划分为多个子流程;根据所述各子流程以及预先建立的控制逻辑数据库,创建所述待控制业务流程对应的业务流程控制链,所述业务流程控制链包括逻辑执行链和/或结果收集链;根据所述业务流程控制链对所述待控制业务流程进行控制处理。

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:将待控制业务流程划分为多个子流程;根据所述各子流程以及预先建立的控制逻辑数据库,创建所述待控制业务流程对应的业务流程控制链,所述业务流程控制链包括逻辑执行链和/或结果收集链;根据所述业务流程控制链对所述待控制业务流程进行控制处理。

此外,上述的存储器402中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1