事件流程编排方法、装置及应用制造方法及图纸

技术编号:32811864 阅读:12 留言:0更新日期:2022-03-26 20:06
本申请提出了一种事件流程编排方法、装置及应用,其中,所述方法采用对原始流程文件进行拆分,并重新组装成流程组件只存储当前流程节点的业务信息以及上一流程节点、下一流程节点的方式形成可以顺序执行的执行链,不仅减少了在数据流转中所需流转的数据量,而且在执行链的任意环节可以进行链路的重新拆分和组合,实现了流转流程节点动态扩展的效果。实现了流转流程节点动态扩展的效果。实现了流转流程节点动态扩展的效果。

【技术实现步骤摘要】
事件流程编排方法、装置及应用


[0001]本申请涉及计算机应用
,特别是涉及一种事件流程编排方法、装置及应用。

技术介绍

[0002]城市管理事件是在城市中非固定、且与人的活动行为密切相关的问题,类别可大致区分为两类,一类具有法律效力、另一类不具有法律效力但是影响人们的正常生活。比如占道经营、张贴小广告等属于不需要法律法规参与的事件。擅自在路灯设施上设置广告牌或者其他挂浮物等是需要执法机构参与进行的。这两类事件都需要不同部门的不同人员进行流程性质的审批操作,具有前后依赖的关系,只有上一步操作完成才能进行下一步的操作。此外,城市管理事件的数据量大,不同层面角度进行统计的结果是不同的,以一个地级市统计来计算,每月甚至可以达到几万的数量,逐月累积下来,数据量甚至有可能呈指数形式的增长。开源工作流引擎使用的都是MySQL数据库,如此庞大数据量的流程数据存储在MySQL数据库中,流程数据的数据量根据流程节点数量的不同,有可能是业务数据的几倍甚至几十倍,无论是对性能或者磁盘容量来说都是一个非常大的负担。
[0003]而目前多数政府信息化系统采用的流程引擎是开源的Activiti引擎或者Flowable引擎,长远发展角度考虑都会受到掣肘,比如遭受黑客攻击等。并且传统的流程引擎属于高度抽象的公用技术,不能完美贴合业务。并且由于流程引擎的先天限制性,只能根据已经定义好的流转路径进行流转,故在实现不同的业务方提出的需求的时候会受到相当大的限制。
[0004]综上,针对目前事件流程编排方法中流转的数据量大、已定义好的流转路径和流转流程节点无法动态扩展的问题,目前尚未得到能实现动态扩展流程编排以及轻量级的数据进行流转目的的有效解决方案。

技术实现思路

[0005]本申请实施例提供了一种事件流程编排方法、装置及应用,针对现有的事件流程编排方法流转的数据量大、已定义好的流转路径和流转流程节点无法动态扩展的问题,实现了高并发、动态流转的有益效果。
[0006]第一方面,本申请实施例提供了一种事件流程编排方法,所述方法包括:获取原始流程文件,从所述原始流程文件中拆分得到流程节点、流程连接线以及流程节点的业务信息;将每一所述流程节点以链表存储,得到每一所述流程节点对应的流程组件,将所有所述流程组件组合形成流程模板,其中,所述流程组件包括当前流程节点key,当前流程节点的业务信息、上一流程节点key、下一流程节点key以及指向下一流程节点的流程连接线;通过所述流程模板生成至少一实例对象,在每一所述实例对象中遍历任一未被处理的所述流程组件作为选定节点,根据所述选定节点中的所述上一流程节点key获取上一流程节点对应的上一业务结果;结合所述上一业务结果和所述选定节点的所述业务信息办理所述选定节
点的业务内容,得到当前业务结果;根据所述选定节点中的所述下一流程节点key以及所述流程连接线向所述下一流程节点流转以办理所述下一流程节点对应的业务内容。
[0007]在其中一些实施例中,所述业务信息包括业务参数,在每一所述当前流程节点中根据所述业务参数办理业务内容,得到办理结果。
[0008]在其中一些实施例中,每次获取所述办理结果后,记录办理时间,将所述当前流程节点的所述当前流程节点key、所述办理结果以及所述办理时间存储于数据库中,其中,任一所述流程组件根据所述当前流程节点key从所述数据库中获取所述办理结果以及所述办理时间。
[0009]在其中一些实施例中,业务信息还包括流程节点标签和/或监听器,其中,流程节点标签用于记录对应流程节点的执行内容,监听器包括执行监听器和任务监听器,任务监听器作用在流程节点上,执行监听器作用在流程节点或流程连接线上。
[0010]在其中一些实施例中,所述方法还包括:获取每一所述实例对象对应的开始流程节点,以所述开始流程节点向下流转,当流转至结束流程节点则调用结束标签对应的监听器向业务系统发送流程结束消息,将所述实例对象的状态设置为结束状态。
[0011]在其中一些实施例中,若所述当前流程节点向下流转的所述下一流程节点key的个数为多个,查询所述当前流程节点的流程节点标签,根据所述流程节点标签的标识在所述下一流程节点key中选择目标流程节点进行流转。
[0012]在其中一些实施例中,当任一所述当前流程节点指向的所述下一流程节点的个数为多个时,将多个所述下一流程节点key以数组存储。
[0013]在其中一些实施例中,所述方法还包括:在所述流程模板中新增、删除所述流程组件或者修改任意所述流程组件的流转顺序。
[0014]第二方面,本申请实施例提供了一种事件流程编排装置,包括:数据拆分模块,用于获取原始流程文件,从所述原始流程文件中拆分得到流程节点、流程连接线以及流程节点的业务信息;数据重组模块,用于将每一所述流程节点以链表存储,得到每一所述流程节点对应的流程组件,将所有所述流程组件组合形成流程模板,其中,所述流程组件包括当前流程节点key,当前流程节点的业务信息、上一流程节点key、下一流程节点key以及指向下一流程节点的流程连接线;上一结果获取模块,用于通过所述流程模板生成至少一实例对象,在每一所述实例对象中遍历任一未被处理的所述流程组件作为选定节点,根据所述选定节点中的所述上一流程节点key获取上一流程节点对应的上一业务结果;当前业务办理模块,用于结合所述上一业务结果和所述选定节点的所述业务信息办理所述选定节点的业务内容,得到当前业务结果;流转模块,用于根据所述选定节点中的所述下一流程节点key以及所述流程连接线向所述下一流程节点流转以办理所述下一流程节点对应的业务内容。
[0015]第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行第一方面任一项所述的事件流程编排方法。
[0016]第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括根据第一方面任一项所述的事件流程编排方法。
[0017]本申请实施例的主要贡献和创新点如下:
[0018]本申请实施例采用对原始流程文件进行拆分,并重新组装成流程组件只存储当前流程节点的业务信息以及上一流程节点、下一流程节点的方式形成可以顺序执行的执行链,不仅减少了在数据流转中所需流转的数据量,而且在执行链的任意环节可以进行链路的重新拆分和组合,实现了流转流程节点动态扩展的效果。
[0019]本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
[0020]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0021]图1是根据本申请第一实施例的事件流程编排方法的主要步骤流程图。
[0022]图2是根据本申请第一实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种事件流程编排方法,其特征在于,包括以下步骤:获取原始流程文件,从所述原始流程文件中拆分得到流程节点、流程连接线以及流程节点的业务信息;将每一所述流程节点以链表存储,得到每一所述流程节点对应的流程组件,将所有所述流程组件组合形成流程模板,其中,所述流程组件包括当前流程节点key,当前流程节点的业务信息、上一流程节点key、下一流程节点key以及指向下一流程节点的流程连接线;通过所述流程模板生成至少一实例对象,在每一所述实例对象中遍历任一未被处理的所述流程组件作为选定节点,根据所述选定节点中的所述上一流程节点key获取上一流程节点对应的上一业务结果;结合所述上一业务结果和所述选定节点的所述业务信息办理所述选定节点的业务内容,得到当前业务结果;根据所述选定节点中的所述下一流程节点key以及所述流程连接线向所述下一流程节点流转以办理所述下一流程节点对应的业务内容。2.根据权利要求1所述的事件流程编排方法,其特征在于,所述业务信息包括业务参数,在每一所述当前流程节点中根据所述业务参数办理业务内容,得到办理结果。3.根据权利要求2所述的事件流程编排方法,其特征在于,每次获取所述办理结果后,记录办理时间,将所述当前流程节点的所述当前流程节点key、所述办理结果以及所述办理时间存储于数据库中,其中,任一所述流程组件根据所述当前流程节点key从所述数据库中获取所述办理结果以及所述办理时间。4.根据权利要求2所述的事件流程编排方法,其特征在于,业务信息还包括流程节点标签和/或监听器,其中,流程节点标签用于记录对应流程节点的执行内容,监听器包括执行监听器和任务监听器,任务监听器作用在流程节点上,执行监听器作用在流程节点或流程连接线上。5.根据权利要求4所述的事件流程编排方法,其特征在于,所述方法还包括:获取每一所述实例对象对应的开始流程节点,以所述开始流程节点向下流转,当流转至结束流程节点则调用结束标签对应的监听器向业务系统发送流程结束消息,将所述实例对象的状态设置为结束状态。6.根据权利要求4所述的事件流程编排方...

【专利技术属性】
技术研发人员:刘仿孙伟东薛炜陶肖寅
申请(专利权)人:城云科技中国有限公司
类型:发明
国别省市:

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

1