[发明专利]一种工作流引擎及其实现方法在审
申请号: | 201911378551.0 | 申请日: | 2019-12-27 |
公开(公告)号: | CN111199386A | 公开(公告)日: | 2020-05-26 |
发明(设计)人: | 黄继源;李新胜;李泉芳 | 申请(专利权)人: | 天阳宏业科技股份有限公司 |
主分类号: | G06Q10/10 | 分类号: | G06Q10/10;G06F16/242;G06F16/25;G06F16/27 |
代理公司: | 北京知呱呱知识产权代理有限公司 11577 | 代理人: | 康震 |
地址: | 100102 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 工作流 引擎 及其 实现 方法 | ||
本申请实施例公开了一种工作流引擎及其实现方法,所述方法包括:接收业务系统的访问请求消息;根据所述访问请求消息调用工作流,以获取和处理流程数据;根据不同的切分策略将所述流程数据水平切分为不同的分库数据;将所述不同的分库数据发送到数据库代理层,以使得所述数据库代理层将所述不同的分库数据转发到不同的数据库节点中执行。从而减小工作流引擎在高并发、大数据场景给数据库带来的压力。
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种工作流引擎及其实现方法。
背景技术
工作流就是按照某种预先设置的流程在多个参与者之间传递文档、信息或任务的过程。实现工作流的核心,就是工作流引擎,或称为流程引擎,它为流程的定义和解释、信息传递的方式和路径、角色的分工和条件等提供实现。工作流节点,是流程中的一个步骤或环节,一般与应用系统中的一项应用相对应,通过工作流引擎可以将一个或多个工作流节点连接起来形成工作流。
在现有技术中,商用的工作流引擎产品大部分采用独立式的应用模式,独立式是指工作流引擎独立地部署在进程或服务器上,需要通过远程调用的方式进行工作流节点和工作流引擎的交互。工作流引擎在Web应用的场景下,工作流引擎需要部署在Web服务器端,这种独立式工作流引擎的实现方式需要较大的网络通信开销,工作流的执行过程需要部署在Web服务器端的工作流引擎远程与运行在客户端上的工作流节点交互,带宽成本较高、网络延时较长,另外服务器负载压力较大。
发明内容
为此,本申请实施例提供一种工作流引擎及其实现方法,减小工作流引擎在高并发、大数据场景给数据库带来的压力。
为了实现上述目的,本申请实施例提供如下技术方案:
根据本申请实施例的第一方面,提供了一种工作流引擎实现方法,所述方法包括:
接收业务系统的访问请求消息;
根据所述访问请求消息调用工作流,以获取和处理流程数据;
根据不同的切分策略将所述流程数据水平切分为不同的分库数据;
将所述不同的分库数据发送到数据库代理层,以使得所述数据库代理层将所述不同的分库数据转发到不同的数据库节点中执行。
可选地,所述不同的切分策略包括按地区拆分、哈希拆分和时间拆分;
所述按地区拆分是将同一地区的数据归到同一个数据库节点中;
所述哈希拆分是对流程实例ID进行哈希运算并按数据库节点数N取模,将运算结果相同的流程实例ID归到同一个数据库节点中,N为大于1的整数;
所述时间拆分是对流程数据按照自然月进行拆分,将流程发起时间在相同自然月的数据归到同一个数据库节点中。
可选地,所述流程数据包括执行SQL语句;所述分库数据为分库SQL语句。
可选地,所述按地区拆分是在所述执行SQL语句的插入内容中添加地区编号字段,以及所述执行SQL语句过滤条件中增加地区编号;所述哈希拆分的所述执行SQL语句的过滤条件是取模后的值;所述时间拆分的所述执行SQL语句的过滤条件是自然月月份。
可选地,所述数据库代理层是基于MyCat开源中间件创建。
根据本申请实施例的第二方面,提供了一种工作流引擎,包括:
消息接收模块,用于接收业务系统的访问请求消息;
工作流调用模块,用于根据所述访问请求消息调用工作流,以获取和处理流程数据;
水平切分模块,用于根据不同的切分策略将所述流程数据水平切分为不同的分库数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天阳宏业科技股份有限公司,未经天阳宏业科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911378551.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:海绵城市的设计降雨量的测算方法及终端设备
- 下一篇:一种规则引擎及其实现方法
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理