工作流引擎系统和工作流处理方法.pdf

上传人:t**** 文档编号:4639233 上传时间:2018-10-23 格式:PDF 页数:9 大小:511.66KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110284316.4

申请日:

2011.09.23

公开号:

CN102419833A

公开日:

2012.04.18

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06Q 10/06申请公布日:20120418|||实质审查的生效IPC(主分类):G06Q 10/06申请日:20110923|||公开

IPC分类号:

G06Q10/06(2012.01)I

主分类号:

G06Q10/06

申请人:

方欣科技有限公司

发明人:

林大海; 陶宇; 陈振宇

地址:

510530 广东省广州市高新区科学大道182号创新大厦C1区5层501单元

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

一种工作流引擎系统,包括系统接口、请求受理模块和工作流处理模块,请求受理模块用于从所述系统接口处接收工作流请求,并根据所述工作流请求生成对应的工作流处理消息以及请求处理完成消息;将请求处理完成消息返回请求用户;工作流处理模块,用于根据所述请求受理模块生成的工作流处理消息,运行相应的工作流处理流程。本发明还提供一种工作流处理方法。通过本发明将请求处理完成消息及时返回请求用户,能够有效缓解引擎系统的调度拥塞;而且最终用户能够及时得到系统的反馈,从而能够提高系统使用上的性能体验。

权利要求书

1: 一种工作流引擎系统, 包括系统接口, 其特征在于, 所述工作流引擎系统还包括 : 请求受理模块, 用于从所述系统接口处接收工作流请求, 并根据所述工作流请求生成 对应的工作流处理消息以及请求处理完成消息 ; 将请求处理完成消息返回请求用户 ; 工作流处理模块, 用于根据所述请求受理模块生成的工作流处理消息, 运行相应的工 作流处理流程。
2: 根据权利要求 1 所述的工作流引擎系统, 其特征在于, 所述工作流引擎系统还包括 : 消息队列处理模块, 用于将所述请求受理模块所生成的工作流处理消息, 入消息队列 等候处理, 当处理时间到达时, 弹出此工作流处理消息队列, 并根据所述工作流处理消息中 的参数触发相应的工作流处理模块运行。
3: 一种工作流处理方法, 其特征在于, 所述工作流处理方法包括 : 接收工作流请求, 并根据所述工作流请求生成对应的工作流处理消息以及请求处理完 成消息 ; 将请求处理完成消息返回请求用户 ; 并根据所述工作流处理消息, 运行相应的工作流 处理流程。
4: 根据权利要求 1 所述的工作流处理方法, 其特征在于, 所述工作流处理方法还包括 : 将所述工作流处理消息, 入消息队列等候处理, 当处理时间到达时, 弹出此工作流处理 消息队列, 并根据所述工作流处理消息中的参数触发相应的工作流处理流程。

说明书


工作流引擎系统和工作流处理方法

    【技术领域】
     本发明涉及通信和计算机领域, 尤其涉及一种工作流处理技术。背景技术 随着计算机技术、 通信技术以及互联网技术的飞速发展, 越来越要求企业对应用 数据进行信息化管理。目前, 在企业信息化管理应用数据时, 离不开工作流引擎系统。
     随着信息化的不断深入, 电信业务的不断扩大, 信息系统用户数激增, 对基于工作 流的应用系统的性能提出更高的要求, 同时也就对工作流引擎提出更高的要求。要求工作 流引擎能够在上层应用系统被大量并发用户访问时, 能够并发的、 准确的、 高效的响应应用 系统的对象调用。 也就是说, 应用系统的压力最终转化为对工作流引擎对象调用的压力。 因 此, 工作流引擎的稳定性和时效性就成了决定工作流产品性能的关键因素。
     传统工作流引擎系统的逻辑结构示意图如图 1 所示, 其主要包括 : 核心控制器 10( 有些也称为路由器 )、 流程模块 20、 表单模块 30、 接口业务服务实现模块 40 和公共模块 50。
     下面以工作流引擎系统从服务接口 ( 图中同步接口 ) 接收到一个流转请求为例, 对工作流引擎系统的工作原理进行描述 :
     核心控制器 10 接收到流转请求后, 先通过流程模块 20 中的流程定义管理构件查 询该流程的完整定义, 以确定其流转环节、 关联表单和相关配置规则 ;
     根据确定的关联表单, 核心控制器 10 调用表单模块 30 中的各类构件完成表单的 计算和数据保存 ; 当涉及到对后端业务系统服务调用时, 核心控制器 10 根据业务数据规 则, 调用接口业务服务实现模块 40 的外部接口业务服务构件, 来完成业务数据的计算 ; 核 心控制器 10 调用流程模块 20 中的逻辑计算构件和路由判断构件, 针对最终业务数据进行 路由判定并得到下一环节活动项 ; 核心控制器 10 调用流程模块 20 中的参与者管理构件和 活动项管理构件, 组合计算生成待办事项 ; 核心控制器 10 调用流程模块 20 中的待办事项管 理构件, 写入待办事项 ;
     上述事项完成后, 核心控制器 10 将处理完成的消息反馈给同步接口的调用者, 整 个服务过程完成。
     由上可以看出, 传统工作流引擎系统主要是基于构件的工作流引擎, 其根据职能 划分将整个工作流引擎系统最终划分为各种不同的构件, 并通过核心控制器 10 根据接口 的业务服务实现来实现各流程流转等的执行过程, 并以同步接口的方式将流转功能暴露供 应用系统进行调用, 从而完成整个流程流转的执行。
     这种工作流引擎, 比较有利于工作流引擎的快速开发和目前各种工作流产品的整 合集成, 并在一定程度上能够提高工作流中间构件的复用程度, 然而随着信息化用户的迅 猛发展, 在 SaaS(Software-as-a-service, 软件即服务。SaaS 是基于互联网提供软件服务 的软件应用模式。) 环境下, 当海量用户群大量并发访问时, 其访问压力将集中在内核构件 的流程调度与执行模块上, 这种情况下, 往往容易引起引擎系统的调度拥塞。
     另外, 传统的工作流引擎在被应用系统调用后, 即需要协同引擎各模块的构件进 行一系列计算, 应用系统在工作流引擎完成计算之前一直处于等待状态, 最终用户同样也 得不到系统的反馈, 因此严重影响了系统使用上的性能体验。 发明内容
     本发明的目的是提供一种工作流引擎系统, 通过本发明, 能够有效缓解引擎系统 的调度拥塞 ; 而且最终用户能够及时得到系统的反馈, 从而能够提高系统使用上的性能体 验。
     本发明的目的是通过以下技术方案实现的 :
     本发明提供一种工作流引擎系统, 包括系统接口, 其还包括 :
     请求受理模块, 用于从所述系统接口处接收工作流请求, 并根据所述工作流请求 生成对应的工作流处理消息以及请求处理完成消息 ; 将请求处理完成消息返回请求用户 ;
     工作流处理模块, 用于根据所述请求受理模块生成的工作流处理消息, 运行相应 的工作流处理流程。
     其中, 所述工作流引擎系统还包括 : 消息队列处理模块, 用于将所述请求受理模块所生成的工作流处理消息, 入消息 队列等候处理, 当处理时间到达时, 弹出此工作流处理消息队列, 并根据所述工作流处理消 息中的参数触发相应的工作流处理模块运行。
     本发明还提供一种工作流处理方法, 所述工作流处理方法包括 :
     接收工作流请求, 并根据所述工作流请求生成对应的工作流处理消息以及请求处 理完成消息 ;
     将请求处理完成消息返回请求用户 ; 并根据所述工作流处理消息, 运行相应的工 作流处理流程。
     其中, 所述工作流处理方法还包括 :
     将所述工作流处理消息, 入消息队列等候处理, 当处理时间到达时, 弹出此工作流 处理消息队列, 并根据所述工作流处理消息中的参数触发相应的工作流处理流程。
     由上述本发明提供的技术方案可以看出, 本发明请求受理模块, 接收工作流请求, 并根据该工作流请求生成对应的工作流处理消息以及请求处理完成消息 ; 将请求处理完成 消息返回请求用户 ; 工作流处理模块根据所述请求受理模块生成的工作流处理消息, 运行 相应的工作流处理流程。通过本发明将请求处理完成消息及时返回请求用户, 能够有效缓 解引擎系统的调度拥塞 ; 而且最终用户能够及时得到系统的反馈, 从而能够提高系统使用 上的性能体验。
     附图说明
     图 1 是现有技术的逻辑结构原理图 ;
     图 2 是本发明第一实施例的逻辑结构原理图 ;
     图 3 是本发明第一实施例的流转处理工作原理图 ;
     图 4 是本发明第二实施例的流程图。具体实施方式
     结合大量工作流成功应用案例, 从用户对于流程处理过程中的使用意图入手进行 认真分析, 可以发现用户在完成当前流程的审核后, 其实并不愿意等待工作流引擎系统去 完成这一系列的计算、 判断、 路由等工作后才给出成功的提示, 因为这一系列工作中大部分 内容不依赖于用户的直接操作或主观判断。用户本质上只要确定完成了本环节工作后 ( 表 单中必须填写的内容 ), 就应该可以直接提交本环节, 后续的处理工作可以由工作流引擎独 立完成, 处理过程即便发生意外失败实际上也与上一环节的提交用户没有任何关系。
     考虑到以上因素, 工作人员从对工作流各处理模块之间的直接调用进行解耦入 手, 研发了本发明的技术方案。
     为使本发明的目的、 技术方案和优点更加清楚, 下面结合附图对本发明作进一步 的详细描述。
     本发明第一实施例提供一种工作流引擎系统, 该第一实施例在传统基于构件的工 作流引擎基础上, 引入了消息队列, 通过消息队列将工作流各处理模块之间的直接调用进 行解耦, 并引入生产者消费者模型, 使各个模块高内聚低耦合, 消除模块间潜在的竞争资源 引用, 实现系统可服务化部署模式, 为系统横向扩展消除技术障碍。 该工作流引擎系统的结 构原理图如图 1 所示, 包括 :
     请求受理模块 100、 消息队列处理模块 200、 工作流处理模块 300、 同步接口 400。 其 中, 工作流处理模块 300 可以是流转处理模块, 也可以是其它工作流处理模块。
     请求受理模块 100, 用于从同步接口 400 处接收工作流请求, 所述工作流请求中携 带有 : 请求用户的身份信息、 请求的工作流参数, 以及期望返回的结果信息等 ; 请求受理模 块 100 读取请求中携带的工作流参数, 并调用一些与该工作流参数对应的规则和 / 或定义, 对这些参数进行解析, 将解析后的数据进行保存后, 生成与这些数据对应的工作流处理消 息以及请求处理完成消息, 并将此工作流处理消息提交到消息队列处理模块 200, 将请求处 理完成消息返回请求用户。
     消息队列处理模块 200 将此工作流处理消息以生产者的身份入消息队列等候处 理, 当处理时间到达时, 弹出此工作流处理消息队列, 并根据该工作流处理消息中携带的参 数, 触发相应的以消费者身份注册的工作流处理模块 300, 如消息中的数据参数若是流转处 理参数, 则触发流转处理模块。
     工作流处理模块 300 依据工作流处理消息中的数据参数执行相应的工作流处理, 后续的具体处理过程与现有技术中的相应描述相同, 这里就不再详细描述了。
     上述第一实施例中, 需要工作流处理模块 300 事先在消息队列中注册为消费者。 当消息被弹出后, 会触发以消费者身份注册的工作流模块 300 启动, 从而执行后续的工作 流程, 后续的工作流处理流程与现有技术中的相关描述类似, 这里不再详细描述。
     下面以工作流引擎系统接收到流转请求为例, 对本发明第一实施例进行详细说 明, 该实例的工作原理如图 3 所示, 包括 : 请求受理模块 100、 消息队列处理模块 200、 流转处 理模块 500。
     下面以工作流引擎系统从服务接口 ( 图中同步接口 400) 接收到一个流转请求为 例来描述该第一实施例的工作原理 :
     工作流引擎系统通过请求受理模块 100 从同步接口 400, 接收到一个流转请求 ; 该流转请求包括 : 请求者的身份标识, 流转请求数据参数等 ;
     请求受理模块 100 根据流转请求中携带的工作流信息, 通过其内设置的一组表单 构件, 完成表单的处理, 并最终生成一个处理完成消息和一个流转处理消息, 请求受理模块 100 根据请求者的身份标识将处理完成消息给反馈给请求者, 将流转处理消息提交给消息 队列处理模块 200 中的生产者, 该流转处理消息中携带有流转请求数据参数 ;
     消息队列处理模块 200 中的生产者将流转处理消息入消息队列等待处理, 待该消 息队列的流转处理消息到达处理时间时, 触发流转处理模块 300 以消息消费者身份从消息 队列中获取一个流转处理消息, 并根据该消息中携带的流转请求数据参数进行后续的处 理, 如调用逻辑计算构件和路由判断构件, 针对最终业务数据进行路由判定并得到下一环 节活动项 ; 调用参与者管理构件和活动项管理构件, 组合计算生成待办事项 ; 调用待办事 项管理构件, 写入待办事项等, 该后续处理与传统工作流引擎的处理模式相同, 这里就不再 详细描述。
     上述实例是以流转处理环节解耦为例对本发明说明的, 但本发明适用并不局限于 流转处理环节解耦, 还可以是其它的工作流处理环节。任何熟悉本技术领域的技术人员在 本发明揭露的技术范围内, 都可轻易联想到的更多模块之间的解耦均可延用本发明, 比如 : 流转处理和待办事项解耦、 流转环节计算和参与者计算解耦等。 上述第一实施例中, 以消息生产者的身份投放一个工作流处理的消息, 将处理完 成消息反馈给同步接口的请求者, 服务快速完成, 请求者能够很快获得反馈消息, 无需长时 间等待, 从而增强了用户使用该引擎系统的性能体验。
     另外, 本发明在传统基于构件的工作流引擎基础上, 利用消息队列将工作流各处 理模块之间的直接调用进行解耦, 并引入生产者消费者模型, 使各个模块高内聚低耦合, 消 除模块间潜在的竞争资源引用, 实现系统可服务化部署模式, 为系统横向扩展消除技术障 碍。 应用系统在调用工作流引擎后, 工作流引擎只需要对表单内的数据进行解析、 校验和保 存, 即可结束此次工作流请求的处理 ; 大量后续关于工作流请求的实际处理过程则可由工 作流处理模块以异步的方式进行处理, 无需阻塞发出请求的应用系统, 从而极大提升了处 理效率。
     此外, 工作流处理模块可以根据系统压力情况, 通过启动更多的节点来实现系统 的横向扩展, 保障工作流引擎可以轻松应对海量客户规模下的大并发访问压力。
     上述实施例中, 还可以不包括生产者和消费者。 此时需要根据工作流处理参数, 将 后续的工作流处理模块与消息队列中的消息建立对应关系。例如, 若监测消息队列中的参 数含有工作流处理参数, 则消息队列中的消息被弹出后, 就激发相应的工作流处理模块启 动后续的流程。
     本发明第二实施例提供一种工作流处理方法, 该工作流处理方法的处理流程如图 4 所示, 包括 :
     步骤 11, 接收工作流请求, 并根据所述工作流请求生成对应的工作流处理消息以 及请求处理完成消息 ;
     步骤 12, 将请求处理完成消息返回请求用户, 并结束 ;
     步骤 13, 将工作流处理消息, 入消息队列等候处理, 当处理时间到达时, 弹出此工 作流处理消息队列, 并触发工作流处理模块运行 ;
     步骤 13 的具体处理过程与第一实施例中的相关描述相同, 这里不再详细描述。
     步骤 14, 工作流处理模块根据所述工作流处理消息, 触发相应的工作流处理流程。
     由上述实施例可以看出, 本发明在传统基于构件的工作流引擎基础上, 利用消息 队列将工作流各处理模块之间的直接调用进行解耦, 打破传统基于构件的工作流引擎同步 紧耦合的协作模式, 将其转为异步松耦合协作模式, 从而可以消除竞争资源的持续占用, 为 系统横向扩展消除技术障碍, 实现系统可服务化部署模式 ; 并引入生产者消费者模型, 从而 实现生产者和消费者近乎无限线性的横向扩展能力。 从而为工作流引擎作为重要基础模块 在 SaaS 环境的应用中解决了最为关键的线性横向扩展能力问题。
     以上所述, 仅为本发明较佳的具体实施方式, 但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此, 本发明的保护范围应该以权利要求的保护范围 为准。

工作流引擎系统和工作流处理方法.pdf_第1页
第1页 / 共9页
工作流引擎系统和工作流处理方法.pdf_第2页
第2页 / 共9页
工作流引擎系统和工作流处理方法.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《工作流引擎系统和工作流处理方法.pdf》由会员分享,可在线阅读,更多相关《工作流引擎系统和工作流处理方法.pdf(9页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102419833 A (43)申请公布日 2012.04.18 CN 102419833 A *CN102419833A* (21)申请号 201110284316.4 (22)申请日 2011.09.23 G06Q 10/06(2012.01) (71)申请人 方欣科技有限公司 地址 510530 广东省广州市高新区科学大道 182 号创新大厦 C1 区 5 层 501 单元 (72)发明人 林大海 陶宇 陈振宇 (54) 发明名称 工作流引擎系统和工作流处理方法 (57) 摘要 一种工作流引擎系统, 包括系统接口、 请求受 理模块和工作流处理模块, 请求受理模块。

2、用于从 所述系统接口处接收工作流请求, 并根据所述工 作流请求生成对应的工作流处理消息以及请求 处理完成消息 ; 将请求处理完成消息返回请求用 户 ; 工作流处理模块, 用于根据所述请求受理模 块生成的工作流处理消息, 运行相应的工作流处 理流程。 本发明还提供一种工作流处理方法。 通过 本发明将请求处理完成消息及时返回请求用户, 能够有效缓解引擎系统的调度拥塞 ; 而且最终用 户能够及时得到系统的反馈, 从而能够提高系统 使用上的性能体验。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 5 页 附图 2 页 CN 102419。

3、845 A1/1 页 2 1. 一种工作流引擎系统, 包括系统接口, 其特征在于, 所述工作流引擎系统还包括 : 请求受理模块, 用于从所述系统接口处接收工作流请求, 并根据所述工作流请求生成 对应的工作流处理消息以及请求处理完成消息 ; 将请求处理完成消息返回请求用户 ; 工作流处理模块, 用于根据所述请求受理模块生成的工作流处理消息, 运行相应的工 作流处理流程。 2. 根据权利要求 1 所述的工作流引擎系统, 其特征在于, 所述工作流引擎系统还包括 : 消息队列处理模块, 用于将所述请求受理模块所生成的工作流处理消息, 入消息队列 等候处理, 当处理时间到达时, 弹出此工作流处理消息队列。

4、, 并根据所述工作流处理消息中 的参数触发相应的工作流处理模块运行。 3. 一种工作流处理方法, 其特征在于, 所述工作流处理方法包括 : 接收工作流请求, 并根据所述工作流请求生成对应的工作流处理消息以及请求处理完 成消息 ; 将请求处理完成消息返回请求用户 ; 并根据所述工作流处理消息, 运行相应的工作流 处理流程。 4. 根据权利要求 1 所述的工作流处理方法, 其特征在于, 所述工作流处理方法还包括 : 将所述工作流处理消息, 入消息队列等候处理, 当处理时间到达时, 弹出此工作流处理 消息队列, 并根据所述工作流处理消息中的参数触发相应的工作流处理流程。 权 利 要 求 书 CN 1。

5、02419833 A CN 102419845 A1/5 页 3 工作流引擎系统和工作流处理方法 技术领域 0001 本发明涉及通信和计算机领域, 尤其涉及一种工作流处理技术。 背景技术 0002 随着计算机技术、 通信技术以及互联网技术的飞速发展, 越来越要求企业对应用 数据进行信息化管理。目前, 在企业信息化管理应用数据时, 离不开工作流引擎系统。 0003 随着信息化的不断深入, 电信业务的不断扩大, 信息系统用户数激增, 对基于工作 流的应用系统的性能提出更高的要求, 同时也就对工作流引擎提出更高的要求。要求工作 流引擎能够在上层应用系统被大量并发用户访问时, 能够并发的、 准确的、 。

6、高效的响应应用 系统的对象调用。 也就是说, 应用系统的压力最终转化为对工作流引擎对象调用的压力。 因 此, 工作流引擎的稳定性和时效性就成了决定工作流产品性能的关键因素。 0004 传统工作流引擎系统的逻辑结构示意图如图 1 所示, 其主要包括 : 核心控制器 10( 有些也称为路由器 )、 流程模块 20、 表单模块 30、 接口业务服务实现模块 40 和公共模块 50。 0005 下面以工作流引擎系统从服务接口 ( 图中同步接口 ) 接收到一个流转请求为例, 对工作流引擎系统的工作原理进行描述 : 0006 核心控制器 10 接收到流转请求后, 先通过流程模块 20 中的流程定义管理构件。

7、查 询该流程的完整定义, 以确定其流转环节、 关联表单和相关配置规则 ; 0007 根据确定的关联表单, 核心控制器 10 调用表单模块 30 中的各类构件完成表单的 计算和数据保存 ; 当涉及到对后端业务系统服务调用时, 核心控制器 10 根据业务数据规 则, 调用接口业务服务实现模块 40 的外部接口业务服务构件, 来完成业务数据的计算 ; 核 心控制器 10 调用流程模块 20 中的逻辑计算构件和路由判断构件, 针对最终业务数据进行 路由判定并得到下一环节活动项 ; 核心控制器 10 调用流程模块 20 中的参与者管理构件和 活动项管理构件, 组合计算生成待办事项 ; 核心控制器 10调。

8、用流程模块20中的待办事项管 理构件, 写入待办事项 ; 0008 上述事项完成后, 核心控制器 10 将处理完成的消息反馈给同步接口的调用者, 整 个服务过程完成。 0009 由上可以看出, 传统工作流引擎系统主要是基于构件的工作流引擎, 其根据职能 划分将整个工作流引擎系统最终划分为各种不同的构件, 并通过核心控制器 10 根据接口 的业务服务实现来实现各流程流转等的执行过程, 并以同步接口的方式将流转功能暴露供 应用系统进行调用, 从而完成整个流程流转的执行。 0010 这种工作流引擎, 比较有利于工作流引擎的快速开发和目前各种工作流产品的整 合集成, 并在一定程度上能够提高工作流中间构。

9、件的复用程度, 然而随着信息化用户的迅 猛发展, 在 SaaS(Software-as-a-service, 软件即服务。SaaS 是基于互联网提供软件服务 的软件应用模式。) 环境下, 当海量用户群大量并发访问时, 其访问压力将集中在内核构件 的流程调度与执行模块上, 这种情况下, 往往容易引起引擎系统的调度拥塞。 说 明 书 CN 102419833 A CN 102419845 A2/5 页 4 0011 另外, 传统的工作流引擎在被应用系统调用后, 即需要协同引擎各模块的构件进 行一系列计算, 应用系统在工作流引擎完成计算之前一直处于等待状态, 最终用户同样也 得不到系统的反馈, 因此。

10、严重影响了系统使用上的性能体验。 发明内容 0012 本发明的目的是提供一种工作流引擎系统, 通过本发明, 能够有效缓解引擎系统 的调度拥塞 ; 而且最终用户能够及时得到系统的反馈, 从而能够提高系统使用上的性能体 验。 0013 本发明的目的是通过以下技术方案实现的 : 0014 本发明提供一种工作流引擎系统, 包括系统接口, 其还包括 : 0015 请求受理模块, 用于从所述系统接口处接收工作流请求, 并根据所述工作流请求 生成对应的工作流处理消息以及请求处理完成消息 ; 将请求处理完成消息返回请求用户 ; 0016 工作流处理模块, 用于根据所述请求受理模块生成的工作流处理消息, 运行相。

11、应 的工作流处理流程。 0017 其中, 所述工作流引擎系统还包括 : 0018 消息队列处理模块, 用于将所述请求受理模块所生成的工作流处理消息, 入消息 队列等候处理, 当处理时间到达时, 弹出此工作流处理消息队列, 并根据所述工作流处理消 息中的参数触发相应的工作流处理模块运行。 0019 本发明还提供一种工作流处理方法, 所述工作流处理方法包括 : 0020 接收工作流请求, 并根据所述工作流请求生成对应的工作流处理消息以及请求处 理完成消息 ; 0021 将请求处理完成消息返回请求用户 ; 并根据所述工作流处理消息, 运行相应的工 作流处理流程。 0022 其中, 所述工作流处理方法。

12、还包括 : 0023 将所述工作流处理消息, 入消息队列等候处理, 当处理时间到达时, 弹出此工作流 处理消息队列, 并根据所述工作流处理消息中的参数触发相应的工作流处理流程。 0024 由上述本发明提供的技术方案可以看出, 本发明请求受理模块, 接收工作流请求, 并根据该工作流请求生成对应的工作流处理消息以及请求处理完成消息 ; 将请求处理完成 消息返回请求用户 ; 工作流处理模块根据所述请求受理模块生成的工作流处理消息, 运行 相应的工作流处理流程。通过本发明将请求处理完成消息及时返回请求用户, 能够有效缓 解引擎系统的调度拥塞 ; 而且最终用户能够及时得到系统的反馈, 从而能够提高系统使。

13、用 上的性能体验。 附图说明 0025 图 1 是现有技术的逻辑结构原理图 ; 0026 图 2 是本发明第一实施例的逻辑结构原理图 ; 0027 图 3 是本发明第一实施例的流转处理工作原理图 ; 0028 图 4 是本发明第二实施例的流程图。 说 明 书 CN 102419833 A CN 102419845 A3/5 页 5 具体实施方式 0029 结合大量工作流成功应用案例, 从用户对于流程处理过程中的使用意图入手进行 认真分析, 可以发现用户在完成当前流程的审核后, 其实并不愿意等待工作流引擎系统去 完成这一系列的计算、 判断、 路由等工作后才给出成功的提示, 因为这一系列工作中大部。

14、分 内容不依赖于用户的直接操作或主观判断。用户本质上只要确定完成了本环节工作后 ( 表 单中必须填写的内容 ), 就应该可以直接提交本环节, 后续的处理工作可以由工作流引擎独 立完成, 处理过程即便发生意外失败实际上也与上一环节的提交用户没有任何关系。 0030 考虑到以上因素, 工作人员从对工作流各处理模块之间的直接调用进行解耦入 手, 研发了本发明的技术方案。 0031 为使本发明的目的、 技术方案和优点更加清楚, 下面结合附图对本发明作进一步 的详细描述。 0032 本发明第一实施例提供一种工作流引擎系统, 该第一实施例在传统基于构件的工 作流引擎基础上, 引入了消息队列, 通过消息队列。

15、将工作流各处理模块之间的直接调用进 行解耦, 并引入生产者消费者模型, 使各个模块高内聚低耦合, 消除模块间潜在的竞争资源 引用, 实现系统可服务化部署模式, 为系统横向扩展消除技术障碍。 该工作流引擎系统的结 构原理图如图 1 所示, 包括 : 0033 请求受理模块100、 消息队列处理模块200、 工作流处理模块300、 同步接口400。 其 中, 工作流处理模块 300 可以是流转处理模块, 也可以是其它工作流处理模块。 0034 请求受理模块 100, 用于从同步接口 400 处接收工作流请求, 所述工作流请求中携 带有 : 请求用户的身份信息、 请求的工作流参数, 以及期望返回的结。

16、果信息等 ; 请求受理模 块100读取请求中携带的工作流参数, 并调用一些与该工作流参数对应的规则和/或定义, 对这些参数进行解析, 将解析后的数据进行保存后, 生成与这些数据对应的工作流处理消 息以及请求处理完成消息, 并将此工作流处理消息提交到消息队列处理模块 200, 将请求处 理完成消息返回请求用户。 0035 消息队列处理模块 200 将此工作流处理消息以生产者的身份入消息队列等候处 理, 当处理时间到达时, 弹出此工作流处理消息队列, 并根据该工作流处理消息中携带的参 数, 触发相应的以消费者身份注册的工作流处理模块 300, 如消息中的数据参数若是流转处 理参数, 则触发流转处理。

17、模块。 0036 工作流处理模块 300 依据工作流处理消息中的数据参数执行相应的工作流处理, 后续的具体处理过程与现有技术中的相应描述相同, 这里就不再详细描述了。 0037 上述第一实施例中, 需要工作流处理模块 300 事先在消息队列中注册为消费者。 当消息被弹出后, 会触发以消费者身份注册的工作流模块 300 启动, 从而执行后续的工作 流程, 后续的工作流处理流程与现有技术中的相关描述类似, 这里不再详细描述。 0038 下面以工作流引擎系统接收到流转请求为例, 对本发明第一实施例进行详细说 明, 该实例的工作原理如图3所示, 包括 : 请求受理模块100、 消息队列处理模块200、。

18、 流转处 理模块 500。 0039 下面以工作流引擎系统从服务接口 ( 图中同步接口 400) 接收到一个流转请求为 例来描述该第一实施例的工作原理 : 0040 工作流引擎系统通过请求受理模块 100 从同步接口 400, 接收到一个流转请求 ; 该 说 明 书 CN 102419833 A CN 102419845 A4/5 页 6 流转请求包括 : 请求者的身份标识, 流转请求数据参数等 ; 0041 请求受理模块 100 根据流转请求中携带的工作流信息, 通过其内设置的一组表单 构件, 完成表单的处理, 并最终生成一个处理完成消息和一个流转处理消息, 请求受理模块 100 根据请求者。

19、的身份标识将处理完成消息给反馈给请求者, 将流转处理消息提交给消息 队列处理模块 200 中的生产者, 该流转处理消息中携带有流转请求数据参数 ; 0042 消息队列处理模块 200 中的生产者将流转处理消息入消息队列等待处理, 待该消 息队列的流转处理消息到达处理时间时, 触发流转处理模块 300 以消息消费者身份从消息 队列中获取一个流转处理消息, 并根据该消息中携带的流转请求数据参数进行后续的处 理, 如调用逻辑计算构件和路由判断构件, 针对最终业务数据进行路由判定并得到下一环 节活动项 ; 调用参与者管理构件和活动项管理构件, 组合计算生成待办事项 ; 调用待办事 项管理构件, 写入待。

20、办事项等, 该后续处理与传统工作流引擎的处理模式相同, 这里就不再 详细描述。 0043 上述实例是以流转处理环节解耦为例对本发明说明的, 但本发明适用并不局限于 流转处理环节解耦, 还可以是其它的工作流处理环节。任何熟悉本技术领域的技术人员在 本发明揭露的技术范围内, 都可轻易联想到的更多模块之间的解耦均可延用本发明, 比如 : 流转处理和待办事项解耦、 流转环节计算和参与者计算解耦等。 0044 上述第一实施例中, 以消息生产者的身份投放一个工作流处理的消息, 将处理完 成消息反馈给同步接口的请求者, 服务快速完成, 请求者能够很快获得反馈消息, 无需长时 间等待, 从而增强了用户使用该引。

21、擎系统的性能体验。 0045 另外, 本发明在传统基于构件的工作流引擎基础上, 利用消息队列将工作流各处 理模块之间的直接调用进行解耦, 并引入生产者消费者模型, 使各个模块高内聚低耦合, 消 除模块间潜在的竞争资源引用, 实现系统可服务化部署模式, 为系统横向扩展消除技术障 碍。 应用系统在调用工作流引擎后, 工作流引擎只需要对表单内的数据进行解析、 校验和保 存, 即可结束此次工作流请求的处理 ; 大量后续关于工作流请求的实际处理过程则可由工 作流处理模块以异步的方式进行处理, 无需阻塞发出请求的应用系统, 从而极大提升了处 理效率。 0046 此外, 工作流处理模块可以根据系统压力情况,。

22、 通过启动更多的节点来实现系统 的横向扩展, 保障工作流引擎可以轻松应对海量客户规模下的大并发访问压力。 0047 上述实施例中, 还可以不包括生产者和消费者。 此时需要根据工作流处理参数, 将 后续的工作流处理模块与消息队列中的消息建立对应关系。例如, 若监测消息队列中的参 数含有工作流处理参数, 则消息队列中的消息被弹出后, 就激发相应的工作流处理模块启 动后续的流程。 0048 本发明第二实施例提供一种工作流处理方法, 该工作流处理方法的处理流程如图 4 所示, 包括 : 0049 步骤 11, 接收工作流请求, 并根据所述工作流请求生成对应的工作流处理消息以 及请求处理完成消息 ; 0。

23、050 步骤 12, 将请求处理完成消息返回请求用户, 并结束 ; 0051 步骤 13, 将工作流处理消息, 入消息队列等候处理, 当处理时间到达时, 弹出此工 作流处理消息队列, 并触发工作流处理模块运行 ; 说 明 书 CN 102419833 A CN 102419845 A5/5 页 7 0052 步骤 13 的具体处理过程与第一实施例中的相关描述相同, 这里不再详细描述。 0053 步骤 14, 工作流处理模块根据所述工作流处理消息, 触发相应的工作流处理流程。 0054 由上述实施例可以看出, 本发明在传统基于构件的工作流引擎基础上, 利用消息 队列将工作流各处理模块之间的直接调。

24、用进行解耦, 打破传统基于构件的工作流引擎同步 紧耦合的协作模式, 将其转为异步松耦合协作模式, 从而可以消除竞争资源的持续占用, 为 系统横向扩展消除技术障碍, 实现系统可服务化部署模式 ; 并引入生产者消费者模型, 从而 实现生产者和消费者近乎无限线性的横向扩展能力。 从而为工作流引擎作为重要基础模块 在 SaaS 环境的应用中解决了最为关键的线性横向扩展能力问题。 0055 以上所述, 仅为本发明较佳的具体实施方式, 但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此, 本发明的保护范围应该以权利要求的保护范围 为准。 说 明 书 CN 102419833 A CN 102419845 A1/2 页 8 图 1 图 2 说 明 书 附 图 CN 102419833 A CN 102419845 A2/2 页 9 图 3 图 4 说 明 书 附 图 CN 102419833 A 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1