一种业务流程管理系统的制作方法

    专利2022-07-08  96


    本发明涉及流程管理技术领域,具体涉及一种业务流程管理系统。



    背景技术:

    随着科学技术和互联网技术的发展,经过对现有常用的业务需求调研分析,业务流程有以下几大需诉求:(1)流程规范化:由于业务不断的扩增,对业务流程及规则要求根据规范化;(2)业务需求多样化:由于运输国外、国内等业务渠道多样化和网络化,所需要业务流程也变得多样灵活化;(3)流程可视化:办单报关针对流程状态透明化和可视化提出了更高的要求,在线、实时、透明流程已经成为基本要求。

    然而,目前业务系统的现状显然落后于上诉要求,由于现有的业务规则变得越来越复杂,现有的业务系统中业务流程混乱、业务环节多、操作繁琐、流程不清晰的缺点就显得尤为突出。因而设计一个统一的业务系统,可以根据实际业务需要进行自定义调整,实现对各个业务流程的管理和维护是十分有必要的。



    技术实现要素:

    为此,需要提供一种业务流程管理系统,用以解决现有业务系统存在的流程操作复杂、不规范等问题。

    为实现上述目的,本发明提供了一种业务流程管理系统,所述系统包括前端模块和后端模块;

    前端模块,用于可视化显示后端模块;

    后端模块包括:

    基础数据模块,用于为所述流程设计模块进行流程设计时提供基础数据;

    流程设计模块,用于通过流程设计器设计业务流程,将收集到的业务需求转化为定义流程;

    流程部署模块,用于在流程设计模块将流程设计完成后,部署发布所述定义流程;

    流程执行模块,用于执行按照事先定义的流程处理线路执行所述定义流程。

    进一步地,所述后端模块还包括:

    流程版本模块,用于维护管理历史流程版本和回退版本信息。

    进一步地,所述后端模块还包括:

    流程日志模块,用于查询日志执行情况并分析执行定义流程的日志。

    进一步地,所述日志包括消息日志和/或错误日志,所述消息日志为根据定义流程执行某个流程步骤后输出的日志信息,所述错误日志为执行所述定义流程出错时的日志信息。

    进一步地,所述基础数据包括服务类型、服务变量、流程分类和校验规则中的任意一种或多种。

    进一步地,前端模块可视化显示后端模块包括:前端模块用以显示流程实例查询、流程设计、版本管理、基础管理、流程执行报表、日志查询中的一项或多项。

    进一步地,所述流程部署模块依据预先设定的时间发布所述定义流程。

    进一步地,流程设计模块生成的定义流程以xml格式文件进行存储;

    所述流程部署模块用于接收所述xml格式文件进行解析,并发布所述xml格式文件对应的定义流程。

    进一步地,所述流程执行模块用于通过流程执行启动接口调用执行所述定义流程所需的参数,并根据所述参数执行所述定义流程;当所述定义流程执行成功后,所述流程执行模块还用于定义流程执行过程生成相应的流程图表。

    进一步地,所述流程设计模块用于通过模型设计器来设计所述定义流程,具体包括:对所述定义流程进行导入导出、流程删除、流程修改、参数设定、条件分支设定、流程任务节点创建,以及表单元素设计、表单删除、表单修改、监听器配置、服务配置中的一项或多项。

    区别于现有技术,上述技术方案提供的一种业务流程管理系统,所述系统包括前端模块和后端模块;前端模块,用于可视化显示后端模块;后端模块包括:基础数据模块,用于为所述流程设计模块进行流程设计时提供基础数据;流程设计模块,用于通过流程设计器设计业务流程,将收集到的业务需求转化为定义流程;流程部署模块,用于在流程设计模块将流程设计完成后,部署发布所述定义流程;流程执行模块,用于执行按照事先定义的流程处理线路执行所述定义流程。本申请通过流程设计、流程部署、流程执行对业务流程进行优化,保证业务流程的规范化运转,提升工作效率。

    附图说明

    图1为本发明一实施例涉及的业务流程管理系统的示意图;

    图2为本发明一实施例涉及的业务流程管理的方法的流程图;

    图3为本发明另一实施例涉及的流程设计的流程图;

    图4为本发明另一实施例涉及的流程设计bpmn规范的示意图;

    图5为本发明另一实施例涉及的流程部署伪代码的示意图;

    图6为本发明一实施例涉及的流程设计模块的结构示意图;

    图7为本发明一实施例涉及的流程版本管理的示意图;

    图8为本发明一实施例涉及的业务流程可视化的示意图;

    图9为本发明一实施例涉及的业务流程服务共享的示意图。

    附图标记说明:

    1、业务流程管理系统;

    10、前端模块;

    20、后端模块;

    201、基础数据模块;202、流程设计模块;203、流程部署模块;204、流程执行模块;205、流程版本模块;206、流程日志模块;

    具体实施方式

    为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

    如图1所示,为本发明一实施例涉及的业务流程管理系统的示意图。本申请的业务流程管理系统1包括前端模块10和后端模块20;

    前端模块10,用于可视化显示后端模块。优选的,前端模块可视化显示后端模块包括:前端模块用以显示流程实例查询、流程设计、版本管理、基础管理、流程执行报表、日志查询中的一项或多项。

    后端模块20包括:

    基础数据模块201,用于为所述流程设计模块进行流程设计时提供基础数据;优选的,所述基础数据包括服务类型、服务变量、流程分类和校验规则中的任意一种或多种。

    流程设计模块202,用于通过流程设计器设计业务流程,将收集到的业务需求转化为定义流程。

    流程部署模块203,用于在流程设计模块将流程设计完成后,部署发布所述定义流程。优选的,所述流程部署模块依据预先设定的时间发布所述定义流程。

    流程执行模块204,用于执行按照事先定义的流程处理线路执行所述定义流程。

    本申请通过业务流程管理系统将原本散乱甚至混乱的业务梳理后制定成业务规范流程,进而约束业务的规范化处理和运转。通过流程设计、流程部署、流程执行对业务流程进行优化,保证业务流程的规范化运转,提升工作效率,降低运营和沟通成本。

    在某些实施例中,基础数据模块20用于对服务、变量、流程分类、规则管理。基础数据模块提供的基础数据在程序启动时会通过orange自定义注解自动加载到基础表,并在流程设计器(为流程设计模块的一部分)选择对应服务。这里的变量是指服务下的所属变量,服务启动时通过banana自定义注解自动加载到基础表,在流程设计时,提供流程参数以供下拉选择,防止填写错误,这两个自定义注解中,orange用于服务服务类,banana用于服务服务里的参数。流程分类是对各流程的一个基本分类定义,规则是针对某些内容的一个校验,主要用到了contains(包含)、notcontains(不包含)、startswith(以什么开头)、notstartswith(不以什么开头)、endwith(以什么结尾)、notendwith(不以什么结尾)、substring(截取字符串)、length(获取字符串长度)、filterstr(过滤字符串)、existnotvalue(判断某字符是否有值)等自定义函数。

    在某些实施例中,所述后端模块20还包括:流程版本模块205,用于维护管理历史流程版本和回退版本信息。流程版本模块205对历史版本查询维护管理,当检测到新发布的定义流程存在问题时可以进行回滚处理以选择历史流程版本。当待发布的流程需要指定在某个时间内执行发布时,则可以根据scheduled设定一个时间进行系统定时发布。scheduled是spring框架中的一个定时任务注解,注解中使用cron表达式,语法为:[秒][分][小时][日][月][周][年]。

    在某些实施例中,所述后端模块20还包括:流程日志模块206,用于查询日志执行情况并分析执行定义流程的日志。优选的,所述日志包括消息日志和/或错误日志,所述消息日志为根据定义流程执行某个流程步骤后输出的日志信息,所述错误日志为执行所述定义流程出错时的日志信息。

    所述日志信息采用logback管理输出,输出分为info(即消息日志)和error(即错误日志)两个日志级别,在页面采用读取文件流行数的方式将日志信息读取日志内容显示页面上。当流程执行异常时,使用者可在控制台查看流程输入或输出的接口及流程参数内容,无需去登录服务器查看服务输出的日志。info输出的信息为系统执行、与接口交互、进行一个方法或执行某个功能的日志信息输出,error为系统执行出错时出有问题的一个信息输出。

    在某些实施例中,流程设计模块生成的定义流程以xml格式文件进行存储;所述流程部署模块用于接收所述xml格式文件进行解析,并发布所述xml格式文件对应的定义流程。当然,在另一些实施例中,所述流程设计模块还可以以其他数据格式进行存储。

    如图4、5所示,当流程设计器完成后,用户通过点击下载bpmn.xml文件,并在流程部署模块中添加下载的bpmn.xml文件,选择所属位置的流程进行上传,上传后点击版本类型,选中最新版本点击启用,视为发布流程。在流程发布之后,之前流程中正在执行的业务不受影响,仍然按照之前开启的旧流程执行,后面新业务执行才会按照新发布的流程执行。通过上述方式,能够实现在线流程版本的发布和更新,而又不影响原有业务的执行。

    在某些实施例中,所述流程执行模块用于通过流程执行启动接口调用执行所述定义流程所需的参数,并根据所述参数执行所述定义流程;当所述定义流程执行成功后,所述流程执行模块还用于定义流程执行过程生成相应的流程图表。

    流程执行模块用于执行发布所述定义流程并查询执行的流程详情信息,具体包括:系统提供了rest流程执行启动接口,不同系统(这里是指流程中的某个环节系统)调用执行传入对应流程设计时所涉及需要的参数(参数传输是以json格式)来执行所述定义流程,当所述定义流程执行成功后,会生成对应的流程实例,可根据流程实例id查询对应流程执行的详细过程,流程节点、流程图由流程图表生成器生成。

    所述流程设计模块用于通过模型设计器来设计所述定义流程,具体包括:对所述定义流程进行导入导出、流程删除、流程修改、参数设定、条件分支设定、流程任务节点创建,以及表单元素设计、表单删除、表单修改、监听器配置、服务配置中的一项或多项。

    如图3所示,任务节点分为人工任务、服务任务、脚本任务、业务规则任务等。

    所述人工任务是需要人为处理完成。人工任务包括常用属性配置包括名称、是否为多实例、分配、到期时间、表单等。以一个部门投票为例,“是否为多实例”包括以下几种实例:1、所有的人都需要投票。2、部分人投票只要满足条件就算完成。3、一票否决权。4、不同人不同的权重,满足条件结束。5、串行执行,如a投票结束到b,b开始投票结束到c,最后一个人再统计结果,决定流程的运转。“分配”包括:分配每个环节节点的任务处理人或任务处理组。

    所述服务任务是面向外部而言的,通过服务类的方式实现,服务类用于执行外部的java类,可以通过以下3种方式实现:

    1、类:指定一个实现了javadelegate或activitybehavior接口的类(包含包名),可通过类字段配置额外需要传递的参数,类中必须包含该字段的声明;

    2、表达式:可以使用值表达式或者方法表达式,当使用的方法表达式有返回值时,可以指定一个结果变量名称来接收该值,后续流程节点中可直接使用该变量;

    3、委托表达式:指定一个实现了javadelegate的类,并且该类已在配置文件activitiengineconfiguration中注册为bean,可通过类字段配置额外需要传递的参数。

    所述脚本任务是一个自动任务,当流程执行脚本任务时会自动执行该任务上的配置的脚本,目前默认javascript脚本类型。

    所述业务规则任务是指可以同步执行一个或多个规则的任务,activiti使用drools引擎执行业务规则,*.drl的规则文件需和流程定义一起导入(同外置表单)。当有多个规则文件配置时,可使用逗号隔开;当有多个输入变量,也可使用逗号隔开;但输出变量只能有一个名称。

    任务节点设计完成后,可以开始各种事件的设计,包括定时器事件、信号事件、消息事件、错误事件。

    定时器事件由定义的定时器到点触发,可以被用作开始事件、中间事件、边界事件,并且定时器事件只有jobexecutoractivate或asyncexecutoractivate属性被设置为true的时候定时器才会执行。

    信号事件根据广播范围分为全局信号事件和流程实例信号事件,全局信号事件可用于流程间的通讯,一旦全局信号事件被抛出,所有订阅了该信号事件的流程实例都会接受到信号,并且捕获信号只能捕获信号流程发起之后的信号;流程实例信号事件用于流程内的通讯。

    消息事件也可以通过在流程设计模块上进行定义,可以通过消息开始事件、中间消息捕获事件和边界消息捕获事件进行捕获。不同于信号事件的是一个消息事件只能指向一个唯一接收人,应用不关注消息的抛出和接收,应用可以通过自定义接入jms、webservice、rest请求进行消息处理。

    bpmn中的错误事件不是指的程序异常,而是业务异常的一种方式,相关事件包括错误开始事件、错误结束事件、边界错误事件。错误开始事件可以用于触发一个事件子流程,但不能用于开启一个流程实例。错误结束事件,当前执行结束并有一个错误抛出,该错误可以被边界错误事件捕获,如果没有匹配的边界错误事件,则会抛出异常,可实现javadelegates接口抛出bpmnerror异常,可以被边界错误事件或子流程错误事件捕获。表达式:连接线都可以配置流转条件,如果一个节点有多个后续节点,并且其中有一个后续节点没有配置流转条件,则流程会默认流向该节点(即没配置默认该条件为true)。表达式可以使用值表达式(${myparam})和方法表达式(${mybean.methodname(params…)==true/false})两种,其中值表达式中的参数一定要在上一个任务中设值并且在调用completetask的时候传入,否则系统会通报找不到属性值的异常。方法表达式可通过自定义类实现,默认参数包含execution、task、authenticateduserid,方法表达式需要在config类文件中配置bean才会被识别。

    与现有技术相比,本发明的有益效果在于,本发明系统将原本散乱甚至混乱的业务梳理后制定成业务规范流程,进而约束业务的规范化处理和运转。通过流程定义设计、流程部署、流程发布、流程执行、流程监控可对业务流程进行优化,提高工作效率,降低运营和沟通成本。平台支持对接n个系统业务;另外,通过流程的设计器,可定义不同业务的流程,平台已实现流程在线部署发布,业务流程可视跟踪。

    如图2所示,为本发明一实施例涉及的业务流程管理的方法的流程图。所述方法依次包括:流程定义设计(在设计过程中基础数据模块提供基础信息)、流程部署发布、流程执行、流程实例查询、流程监控和流程优化。

    如图6所示,为本发明一实施例涉及的流程设计模块的结构示意图。所述流程设计模块包括流程服务定义、流程变量、流程定义和设计器,其中,流程服务用以流程设计时选择的节点服务组件,流程变量用以流程设计时流程分支条件判断的参数,流程定义是设计器(即流程设计器)需定义的流程key。所述流程设计模块用于开发人员在流程设计器中设计业务流程,收集业务需求转化为流程定义。一般由业务需求人员进行,然后交由开发人员加工转为计算机可以识别的流程定义文件(bpmn20.xml结尾)、自定义表单、任务监听类、自定义函数等。

    如图7所示,为本发明一实施例涉及的流程版本管理的示意图。对于流程版本的关联是以类似文件夹的管理方式进行管理的,具体包括定义树型分类和存储历史版本,当需要使用时可随时调用各个业务流程版本进行部署,具体可方便地实现各版本业务流程的实时发布、定时发布、历史版本回滚等操作。

    如图8所示,为本发明一实施例涉及的业务流程可视化的示意图。通过图8设计的可视化界面,可以与业务系统单证结合,生成可交互的业务流程走向图,在走向图中可以直观显示单证状态并驱动单证流转。

    如图9所示,为本发明一实施例涉及的业务流程服务共享的示意图。通过本发明的业务流程管理系统,还可以预定义微服务业务,具体是在服务列表中加入若干微服务供管理者选择,管理者在流程设计时按具体的业务需求选择相应的一项或多项微服务使用。所述微服务包括喷头校验服务、通关服务等。

    与现有技术相比,本发明的有益效果在于:对原本散乱甚至混乱的业务进行梳理后将其制定成业务规范流程,进而约束业务的规范化处理和运转。通过流程定义设计、流程部署、流程发布、流程执行、流程监控可对业务流程进行优化,提高工作效率,降低运营和沟通成本。所述业务流程管理系统支持对接n个系统业务。另外,本申请通过流程设计模块中的设计器,可定义不同业务的流程,管理平台(即管理系统)已实现流程在线部署发布,业务流程可视跟踪。

    需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。

    尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。


    技术特征:

    1.一种业务流程管理系统,其特征在于,包括前端模块和后端模块;

    前端模块,用于可视化显示后端模块;

    后端模块包括:

    基础数据模块,用于为所述流程设计模块进行流程设计时提供基础数据;

    流程设计模块,用于通过流程设计器设计业务流程,将收集到的业务需求转化为定义流程;

    流程部署模块,用于在流程设计模块将流程设计完成后,部署发布所述定义流程;

    流程执行模块,用于执行按照事先定义的流程处理线路执行所述定义流程。

    2.如权利要求1所述的业务流程管理系统,其特征在于,所述后端模块还包括:

    流程版本模块,用于维护管理历史流程版本和回退版本信息。

    3.如权利要求1所述的业务流程管理系统,其特征在于,所述后端模块还包括:

    流程日志模块,用于查询日志执行情况并分析执行定义流程的日志。

    4.如权利要求3所述的业务流程管理系统,其特征在于,所述日志包括消息日志和/或错误日志,所述消息日志为根据定义流程执行某个流程步骤后输出的日志信息,所述错误日志为执行所述定义流程出错时的日志信息。

    5.如权利要求1或3所述的业务流程管理系统,其特征在于,所述基础数据包括服务类型、服务变量、流程分类和校验规则中的任意一种或多种。

    6.如权利要求1所述的业务流程管理系统,其特征在于,前端模块可视化显示后端模块包括:前端模块用以显示流程实例查询、流程设计、版本管理、基础管理、流程执行报表、日志查询中的一项或多项。

    7.如权利要求1所述的业务流程管理系统,其特征在于,所述流程部署模块依据预先设定的时间发布所述定义流程。

    8.如权利要求1或7所述的业务流程管理系统,其特征在于,流程设计模块生成的定义流程以xml格式文件进行存储;

    所述流程部署模块用于接收所述xml格式文件进行解析,并发布所述xml格式文件对应的定义流程。

    9.如权利要求1所述的业务流程管理系统,其特征在于,所述流程执行模块用于通过流程执行启动接口调用执行所述定义流程所需的参数,并根据所述参数执行所述定义流程;当所述定义流程执行成功后,所述流程执行模块还用于定义流程执行过程生成相应的流程图表。

    10.如权利要求1所述的业务流程管理系统,其特征在于,所述流程设计模块用于通过模型设计器来设计所述定义流程,具体包括:对所述定义流程进行导入导出、流程删除、流程修改、参数设定、条件分支设定、流程任务节点创建,以及表单元素设计、表单删除、表单修改、监听器配置、服务配置中的一项或多项。

    技术总结
    本发明公开了一种业务流程管理系统,所述系统包括前端模块和后端模块;前端模块,用于可视化显示后端模块;后端模块包括:基础数据模块,用于为所述流程设计模块进行流程设计时提供基础数据;流程设计模块,用于通过流程设计器设计业务流程,将收集到的业务需求转化为定义流程;流程部署模块,用于在流程设计模块将流程设计完成后,部署发布所述定义流程;流程执行模块,用于执行按照事先定义的流程处理线路执行所述定义流程。本申请通过流程设计、流程部署、流程执行对业务流程进行优化,保证业务流程的规范化运转,提升工作效率。

    技术研发人员:张炳新;潘贤真;唐儒宪;李玲
    受保护的技术使用者:华南中外运供应链管理有限公司
    技术研发日:2020.11.25
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-18088.html

    最新回复(0)