业务流程调整方法及装置与流程

文档序号:24872300发布日期:2021-04-30 12:44阅读:259来源:国知局
业务流程调整方法及装置与流程

本发明涉及云计算技术领域,具体地,涉及一种业务流程调整方法及装置。



背景技术:

目前的工作流系统都是独立的一个系统,有自己的一套完整的用户权限体系和数据库体系,包括主流的activiti、osworkflow和apacheode等工作流引擎。目前业界在动态调整业务流程的通用办法包括:1、设计师先登录工作流引擎并事先编写好流程文件,通过脚本方式把工作流文件放在业务系统的指定目录下进行加载,然后将工作流的流程信息展示到业务系统页面上;2、通过修改工作流源码的方式将工作流嵌入业务系统中;3、通过同步工作流表和业务表方式进行数据同步。上述业界通用方法在动态调整业务流程上的支持度不够,效果不理想,仍需要手工到系统中对流程进行调整并重新启动新流程,这在大量需要动态调整流程的场景下是相当困难的,浪费了大量资源。



技术实现要素:

本发明实施例的主要目的在于提供一种业务流程调整方法及装置,以在业务系统中集成工作流时无感动态自动调整业务流程,降低资源损耗。

为了实现上述目的,本发明实施例提供一种业务流程调整方法,包括:

获取业务流程变动信息;

根据流程变动信息确定目标流程信息和当前运行节点;

根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点,以按照目标流程信息从目标运行节点执行业务。

本发明实施例还提供一种业务流程调整装置,包括:

变动信息获取模块,用于获取业务流程变动信息;

信息节点确定模块,用于根据流程变动信息确定目标流程信息和当前运行节点;

目标运行节点模块,用于根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点,以按照目标流程信息从目标运行节点执行业务。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,处理器执行计算机程序时实现所述的业务流程调整方法的步骤。

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

本发明实施例的业务流程调整方法及装置先根据流程变动信息确定目标流程信息和当前运行节点,然后根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点以按照目标流程信息从目标运行节点执行业务,在业务系统中集成工作流时可以无感动态自动调整业务流程,降低资源损耗。

附图说明

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

图1是本发明一实施例中业务流程调整方法的流程图;

图2是本发明实施例中确定目标流程信息的示意图;

图3是本发明实施例中业务流程调整装置的结构框图;

图4是本发明另一实施例中业务流程调整装置的示意图;

图5是本发明另一实施例中中间件装置的内部结构图;

图6是图4中业务流程调整装置的流程示意图;

图7是本发明实施例中计算机设备的结构框图。

具体实施方式

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

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

鉴于现有技术在动态调整业务流程上的支持度不够,浪费了大量资源,本发明实施例提供一种业务流程调整方法,可以在业务系统中集成工作流时无感动态自动调整业务流程,降低资源损耗。以下结合附图对本发明进行详细说明。

图1是本发明一实施例中业务流程调整方法的流程图。如图1所示,业务流程调整方法包括:

s101:获取业务流程变动信息。

具体实施时,中间件装置先实时监控业务流程内容的变动,如果检测到业务系统有操作,比如修改、提交等业务流程的情况变动,则会采集业务流程变动信息。

s102:根据流程变动信息确定目标流程信息和当前运行节点。

图2是本发明实施例中确定目标流程信息的示意图。如图2所示,确定目标流程信息包括:

s201:获取流程变动信息对应的原始流程信息。

一实施例中,s201包括:

根据流程变动信息确定流程实例id,根据流程实例id获取原始流程信息。

具体实施时,在执行s201之前工作流引擎先将流程实例id和对应的原始流程信息存入数据库,然后中间件装置根据流程实例id去数据库查询,如果数据库中存在该流程实例id,便根据流程实例id获取对应的原始流程信息。

s202:根据流程变动信息更新原始流程信息以确定目标流程信息。

具体实施时,比较流程变动信息与原始流程信息的json数据串内容,如果存在内容差异,说明流程变动过,此时将流程变动信息和原始流程信息传到修正函数中执行变动内容的修正,得到目标流程信息。

s103:根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点,以按照目标流程信息从目标运行节点执行业务。

一实施例中,s103包括:

1、当流程变动信息对应的变动节点在所述当前运行节点之前时,根据变动节点确定目标运行节点。

具体实施时,目标运行节点为变动节点的上一节点。

2、当变动节点等于当前运行节点或变动节点在当前运行节点之后时,根据当前运行节点确定目标运行节点。

一实施例中,还包括:判断是否采用checkpoint检查点机制,将当前运行节点恢复到当前运行节点的上一节点;当采用checkpoint检查点机制时,目标运行节点为当前运行节点的上一节点,否则目标运行节点为业务流程的初始节点,执行业务时会从头执行新流程。

具体实施时,采用checkpoint检查点机制将当前运行节点恢复到目标运行节点包括:

开源状态机phxpaxos的checkpoint实现机制会创建启动两个线程:cleaner和replayer,cleaner负责定期清理过时的log,replayer负责追赶记录流程状态数据并创建事件流。该事件流包含多个事件,即流程中任务节点快照,每个快照点包含着本身以及节点之间的关联信息,最后完成数据记录并存入checkpointfile(检查点文件)中,由于是懒加载方式,需要根据前面应用设置恢复操作,才会被读取并重新执行流程状态数据。

一实施例中,执行业务之前还包括:

确定执行业务的时间范围。当当前时间达到执行业务的时间时,按照目标流程信息从目标运行节点执行业务。

具体实施时,中间件装置将当前运行节点恢复到目标运行节点,将目标运行节点和目标流程信息更新到数据库。用户在页面修改业务流程内容后会导致页面重新刷新,此时会重新调用中间件装置的api功能模块从更新后的数据库中获取目标运行节点和目标流程信息,中间件装置将目标运行节点和目标流程信息发送至业务系统,业务系统按照目标流程信息从目标运行节点执行业务。

图1所示的业务流程调整方法的执行主体可以为计算机。由图1所示的流程可知,本发明实施例的业务流程调整方法先根据流程变动信息确定目标流程信息和当前运行节点,然后根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点以按照目标流程信息从目标运行节点执行业务,在业务系统中集成工作流时可以无感动态自动调整业务流程,降低资源损耗。

本发明实施例的具体流程如下:

1、获取业务流程变动信息。

2、根据流程变动信息确定流程实例id,根据流程实例id获取原始流程信息。

3、根据流程变动信息更新原始流程信息以确定目标流程信息。

4、根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点。

5、根据流程变动信息确定当前运行节点。

6、当流程变动信息对应的变动节点在所述当前运行节点之前时,根据变动节点确定目标运行节点;当变动节点等于当前运行节点或变动节点在当前运行节点之后时,根据当前运行节点确定目标运行节点。

7、确定执行业务的时间范围。当当前时间达到执行业务的时间时,按照目标流程信息从目标运行节点执行业务。

综上,为解决业务系统集成工作流时实现无感动态自动调整流程困难的问题,本发明提供了一种业务流程调整方法来提供无感自动调整流程的能力。其优点如下:

1、独立的中间件装置,减小对外部系统比如业务系统和工作流引擎的耦合,便于后续升级、横向扩展。

2、实时动态监控业务流程,对数据进行实时分析并自动执行合理的操作。

3、提供丰富的功能接口api,业务系统只需要远程调用即可获取并展示业务流程相关信息。

4、支持checkpoint方式恢复业务流程,并配置化。

图3是本发明实施例中业务流程调整装置的结构框图。图4是本发明另一实施例中业务流程调整装置的示意图。图5是本发明另一实施例中中间件装置的内部结构图。图6是图4中业务流程调整装置的流程示意图。如图3-图6所示,业务流程调整装置包括:

变动信息获取模块,用于获取业务流程变动信息;

信息节点确定模块,用于根据流程变动信息确定目标流程信息和当前运行节点;

目标运行节点模块,用于根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点,以按照所述目标流程信息从所述目标运行节点执行业务;

在其中一种实施例中,信息节点确定模块包括:

原始流程信息获取单元,用于获取流程变动信息对应的原始流程信息;

流程变动信息更新单元,用于根据流程变动信息更新原始流程信息以确定目标流程信息。

在其中一种实施例中,原始流程信息获取单元包括:

流程实例id子单元,用于根据流程变动信息确定流程实例id;

原始流程信息获取子单元,用于根据流程实例id获取原始流程信息。

在其中一种实施例中,目标运行节点模块包括:

第一目标运行节点确定单元,用于当流程变动信息对应的变动节点在当前运行节点之前时,根据变动节点确定目标运行节点。

在其中一种实施例中,目标运行节点模块还包括:

第二目标运行节点确定单元,用于当变动节点等于当前运行节点或变动节点在当前运行节点之后时,根据当前运行节点确定目标运行节点。

在其中一种实施例中,当采用检查点机制时,目标运行节点为所述当前运行节点的上一节点。

在其中一种实施例中,当不采用检查点机制时,目标运行节点为业务流程的初始节点。

如图4-图6所示,在实际应用中,业务流程调整装置包括:业务系统1、中间件装置2、数据库和工作流引擎3。业务系统与中间件装置连接,中间件装置与数据库连接,数据库与工作流引擎连接。

如图4所示,工作流引擎设计流程图并将流程图保存到数据库;数据库存储、读取并展示流程图;中间件装置监控数据库,读取、修改并存储数据,同时提供功能api,监控业务系统修改业务流程并自动重启流程,是实现无感自动动态调整业务流程的核心;业务系统调用中间件装置的api,实现展示、修改、启动等工作流功能。

业务系统是用户将工作流相关业务流程功能所实现的地方,包括目标运行节点模块,主要是通过远程调用中间件装置所提供的api的方式实现相关业务流程功能,包括执行业务、展示业务流程图和操作流程等。

中间件装置负责对业务流程数据进行清洗,更新和读取数据库数据,给业务系统提供业务流程功能api,并监控业务系统的变动,将变动内容自动做出对应的动作,比如修改流程数据并自动对流程重新启动,从而实现对用户透明、无感自动动态调整业务流程。

数据库:主要是提供业务流程数据的增删改查,流程设计人员设计好流程时会存入数据库,中间件装置操作流程并对数据库的数据进行对应的操作。

工作流引擎主要是提供页面设计工具给业务流程设计人员设计业务流程,并提供将业务流程保存到数据库的功能。

如图5所示,中间件装置包括:监控模块、数据处理模块和api功能模块。

监控模块包括变动信息获取模块,主要是监控业务系统流程变动情况,并进行对应的处理;数据模块包括信息节点确定模块和目标运行节点模块,是在监控模块之后触发的,目的是寻找到对应的业务流程数据,对其数据进行修改、清洗,并反向更新数据到数据库。api功能模块主要是封装常用的功能,比如启停流程、获取历史流程以及流程图等,并暴露出给业务系统调用。

如图6所示,业务流程调整装置的流程如下:

1、中间件装置开始启动,启动监控模块。

2、监控模块接触(attach)业务系统,实时监控业务流程内容的变动。如果检测到业务系统有操作,比如修改、提交等业务流程的情况变动,则会采集业务流程变动信息。

3、监控模块通知激活数据处理模块。

4、数据处理模块根据流程变动信息首先提取流程变动信息的流程实例id,并根据流程实例id去数据库查询,如果数据库中存在该流程实例id,便根据流程实例id获取对应的原始流程信息。比较流程变动信息与原始流程信息的json数据串内容,如果存在内容差异,说明流程变动过,此时将流程变动信息和原始流程信息传到修正函数中执行变动内容的修正,得到目标流程信息。

5、数据处理模块对目标流程信息进行识别,寻找到当前运行流程节点,并拿当前运行流程节点去目标流程信息的json数据串中查找对比,确认修改内容在运行业务节点之前或者之后,用于支持通过checkpoint方式记录该流程已执行的轨迹。

6、数据处理模块通知重新启动更新后的流程(目标流程信息),并在修改业务流程时确认两个内容,一个是目标流程信息开始投入使用的时间范围,有立即生效,以及未来具体时间点的选择;另一个是是否通过checkpoint检查点机制恢复到最近执行的一次流程中的任务点。处理模块会通过如上两点内容,决定是否需要通过checkpoint恢复到最近执行的流程节点。如果不通过检查点机制恢复状态会重新从头执行新流程,否则通过checkpoint恢复到最近的流程执行状态。checkpoint的恢复前提是修改的流程事件是当前流程尚未执行到流程事件,否则无需设置checkpoint恢复。如果出现应用修改的流程事件是当前流程尚未执行到流程事件又配置了checkpoint恢复,处理模块会在修正函数中对其处理。

7、数据模块通知数据库更新数据,用户在页面修改业务流程内容后会导致页面重新刷新,此时会重新调用中间件装置的api功能模块从更新后的数据库中获取目标运行节点和目标流程信息。

8、api功能模块重新被激活,重新查询更新后的数据库,获取数据。

9、业务系统调用api功能模块展示流程内容,按照目标流程信息从目标运行节点执行业务。

综上,本发明实施例的业务流程调整装置先根据流程变动信息确定目标流程信息和当前运行节点,然后根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点以按照目标流程信息从目标运行节点执行业务,在业务系统中集成工作流时可以无感动态自动调整业务流程,降低资源损耗。

本发明实施例还提供能够实现上述实施例中的业务流程调整方法中全部步骤的一种计算机设备的具体实施方式。图7是本发明实施例中计算机设备的结构框图,参见图7,所述计算机设备具体包括如下内容:

处理器(processor)701和存储器(memory)702。

所述处理器701用于调用所述存储器702中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的业务流程调整方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

获取业务流程变动信息;

根据流程变动信息确定目标流程信息和当前运行节点;

根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点,以按照目标流程信息从目标运行节点执行业务。

综上,本发明实施例的计算机设备先根据流程变动信息确定目标流程信息和当前运行节点,然后根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点以按照目标流程信息从目标运行节点执行业务,在业务系统中集成工作流时可以无感动态自动调整业务流程,降低资源损耗。

本发明实施例还提供能够实现上述实施例中的业务流程调整方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的业务流程调整方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

获取业务流程变动信息;

根据流程变动信息确定目标流程信息和当前运行节点;

根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点;

根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点,以按照目标流程信息从目标运行节点执行业务。

综上,本发明实施例的计算机可读存储介质先根据流程变动信息确定目标流程信息和当前运行节点,然后根据流程变动信息对应的变动节点和当前运行节点确定目标运行节点以按照目标流程信息从目标运行节点执行业务,在业务系统中集成工作流时可以无感动态自动调整业务流程,降低资源损耗。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogicalblock),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元,或装置都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

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