一种业务流程控制方法、装置、系统及相关设备制造方法及图纸

技术编号:33042500 阅读:16 留言:0更新日期:2022-04-15 09:24
本申请公开了一种业务流程控制方法、装置、系统及相关设备,该方法包括:判断数据库是否存在发生变动的第一业务流程;若是,利用变动后的第一业务流程更新内存中已存在的变动前的第一业务流程;当需要执行第二业务流程时,根据第二业务流程的流程编号,从内存中确定相应的第二业务流程,并将第二业务流程加载至流程引擎;其中,各业务流程由流程节点及流程节点间的连接关系构成,所述流程节点为经过预编译的流程节点。各业务流程由流程节点及流程节点间的连接关系构成,所述流程节点为经过预编译的流程节点,由所述流程节点构成的业务流程也无需重新编译即可被流程引擎执行,简化了业务流程的开发及部署过程,并增强了业务流程的可维护性。程的可维护性。程的可维护性。

【技术实现步骤摘要】
一种业务流程控制方法、装置、系统及相关设备


[0001]本申请涉及流程控制
,更具体地说,是涉及一种业务流程控制方法、装置、系统及相关设备。

技术介绍

[0002]Activiti是一种业务流程管理(Business Process Management,BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti可以用于开发工作流(Workflow)应用,旨在提供业务过程的部分或整体在计算机应用环境下的自动化的解决方案,通过在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标。
[0003]基于Activiti框架进行二次开发时,一般地可以采用XML的形式配置整个执行流程。其中,XML文件不仅用来描述流程执行步骤,还描述每个节点具体由哪个java类执行。具体地,这些节点包括开始、结束节点(start、end),并行节点(fork、join),分流节点(split)等。当需要修改流程执行特定逻辑的时候,每次都需要修改XML文件的配置,然后对项目重新部署,步骤繁琐并且缺乏灵活性。
[0004]因此,如何简化业务流程的开发及部署,成为亟待解决的问题。

技术实现思路

[0005]有鉴于此,本申请提供了一种业务流程控制方法、装置、系统及相关设备,以简化业务流程的开发及部署。
[0006]为实现上述目的,本申请第一方面提供了一种业务流程控制方法,包括:
[0007]判断数据库是否存在发生变动的第一业务流程,所述数据库存储有至少一个业务流程;
[0008]若是,利用变动后的第一业务流程更新内存中已存在的变动前的第一业务流程,所述内存中预先从所述数据库中加载有各业务流程;
[0009]当需要执行第二业务流程时,根据第二业务流程的流程编号,从内存中确定相应的第二业务流程,并将第二业务流程加载至流程引擎;
[0010]其中,各业务流程由流程节点及流程节点间的连接关系构成,所述流程节点为经过预编译的流程节点。
[0011]优选地,所述流程节点为继承于Activiti框架的类的实例化对象,所述流程节点包括:开始节点、结束节点、分流节点、数据节点、并行节点、聚合节点和策略节点。
[0012]优选地,所述业务流程构建的过程,包括:
[0013]基于被选定的节点模板,以及对应于所述节点模板的配置信息,生成至少一个流程节点;
[0014]基于各流程节点的连接关系,生成业务流程。
[0015]优选地,基于被选定的节点模板,以及对应于所述节点模板的配置信息,生成至少
一个流程节点的过程,包括:
[0016]针对每一个被选定的节点模板:
[0017]根据所述节点模板的配置信息,实例化所述节点模板,得到流程节点;
[0018]其中,所述节点模板为继承于Activiti框架的类;所述节点模板的配置信息包含了待生成的流程节点的基本属性和字段属性,所述基本属性包括节点描述、类名和同步属性,所述字段属性包括所涉及的字段的属性。
[0019]优选地,基于各流程节点的连接关系,生成业务流程的过程,包括:
[0020]根据用户输入的各流程节点的连线信息,确定各流程节点的逻辑关系;
[0021]根据各流程节点以及各流程节点的逻辑关系,生成业务流程。
[0022]优选地,所述判断数据库是否存在发生变动的第一业务流程的过程,包括:
[0023]对Zookeeper节点进行监听,其中,所述Zookeeper节点存储有各流程节点的状态信息,当所述数据库中发生新增业务流程或修改业务流程操作时,所述新增的业务流程或修改的业务流程的状态会被同步到所述Zookeeper节点。
[0024]本申请第二方面提供了一种业务流程控制装置,包括:
[0025]判断单元,用于判断数据库是否存在发生变动的第一业务流程,所述数据库存储有至少一个业务流程;
[0026]更新单元,用于当所述判断单元判断出数据库存在发生变动的第一业务流程时,利用变动后的第一业务流程更新内存中已存在的变动前的第一业务流程,所述内存中预先从所述数据库中加载有各业务流程;
[0027]加载单元,用于当需要执行第二业务流程时,根据第二业务流程的流程编号,从内存中确定相应的第二业务流程,并将第二业务流程加载至流程引擎;
[0028]其中,各业务流程由流程节点及流程节点间的连接关系构成,所述流程节点为经过预编译的流程节点。
[0029]本申请第三方面提供了一种业务流程控制设备,包括:存储器和处理器;
[0030]所述存储器,用于存储程序;
[0031]所述处理器,用于执行所述程序,实现如上述的业务流程控制方法的各个步骤。
[0032]本申请第四方面提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述的业务流程控制方法的各个步骤。
[0033]本申请第五方面提供了一种业务流程控制系统,包括:
[0034]流程编辑器,用于通过可视化操作界面对业务流程进行新建、删除或编辑,并将经过新建或编辑的业务流程存储到数据库中;
[0035]业务流程控制装置,用于实现如上述的业务流程控制方法的各个步骤;
[0036]流程引擎,用于执行业务流程。
[0037]经由上述的技术方案可知,本申请首先通过对数据库进行监听,以判断是否存在发生变动的第一业务流程。其中,所述数据库存储有至少一个业务流程。当判断出存在发生变动的第一业务流程时,将第一业务流程更新至内存。其中,所述内存中预先从所述数据库中加载有各业务流程。通过将发生变动的业务流程准实时地从数据库加载到内存中,使得内存中的各业务流程保持为最新的版本。当需要执行第二业务流程时,根据第二业务流程的流程编号,从内存中确定相应的目标业务流程,并将所述目标业务流程加载至流程引擎。
其中,各业务流程由流程节点及流程节点间的连接关系构成,所述流程节点为经过预编译的流程节点,由所述流程节点构成的业务流程也无需重新编译即可被流程引擎执行,简化了业务流程的开发及部署过程,并增强了业务流程的可维护性。
附图说明
[0038]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0039]图1为本申请实施例公开的业务流程控制方法的示意图;
[0040]图2为本申请实施例公开的业务流程控制系统的示意图;
[0041]图3示例了本申请实施例公开的可视化操作界面的示意图;
[0042]图4示例了本申请实施例公开的可视化操作界面的另一示意图;
[0043]图5为本申请实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务流程控制方法,其特征在于,包括:判断数据库是否存在发生变动的第一业务流程,所述数据库存储有至少一个业务流程;若是,利用变动后的第一业务流程更新内存中已存在的变动前的第一业务流程,所述内存中预先从所述数据库中加载有各业务流程;当需要执行第二业务流程时,根据第二业务流程的流程编号,从内存中确定相应的第二业务流程,并将第二业务流程加载至流程引擎;其中,各业务流程由流程节点及流程节点间的连接关系构成,所述流程节点为经过预编译的流程节点。2.根据权利要求1所述的方法,其特征在于,所述流程节点为继承于Activiti框架的类的实例化对象,所述流程节点包括:开始节点、结束节点、分流节点、数据节点、并行节点、聚合节点和策略节点。3.根据权利要求1所述的方法,其特征在于,所述业务流程构建的过程,包括:基于被选定的节点模板,以及对应于所述节点模板的配置信息,生成至少一个流程节点;基于各流程节点的连接关系,生成业务流程。4.根据权利要求3所述的方法,其特征在于,基于被选定的节点模板,以及对应于所述节点模板的配置信息,生成至少一个流程节点的过程,包括:针对每一个被选定的节点模板:根据所述节点模板的配置信息,实例化所述节点模板,得到流程节点;其中,所述节点模板为继承于Activiti框架的类;所述节点模板的配置信息包含了待生成的流程节点的基本属性和字段属性,所述基本属性包括节点描述、类名和同步属性,所述字段属性包括所涉及的字段的属性。5.根据权利要求3所述的方法,其特征在于,基于各流程节点的连接关系,生成业务流程的过程,包括:根据用户输入的各流程节点的连线信息,确定各流程节点的逻辑关系;根据各流程节点以及各流程节点的逻辑关系,生成业务流程。6.根据权利要求1...

【专利技术属性】
技术研发人员:谢怀威
申请(专利权)人:上海品顺信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1