[发明专利]通用流程异步调度方法及系统有效
| 申请号: | 201310643262.5 | 申请日: | 2013-12-03 |
| 公开(公告)号: | CN103631594B | 公开(公告)日: | 2017-02-15 |
| 发明(设计)人: | 郑春;陈路凝;王杰飞 | 申请(专利权)人: | 北京宇信科技集团股份有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙)11452 | 代理人: | 屠长存 |
| 地址: | 100013 北京市东城区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 通用 流程 异步 调度 方法 系统 | ||
技术领域
本发明涉及计算机软件领域。更具体地,本发明涉及通用流程异步调度方法及系统。
背景技术
在现有技术中,在计算机系统中的各种应用的流程调度处理,特别是其中的任务提交处理,均采用同步方式进行。具体地,现有流程调度处理模式一般都是采用单线程处理方式,即,任何流程处理(包括提交处理)全过程均采用单一线程完成。目前,在计算机系统中的各种应用的大部分流程调度中,仅仅能支持单一应用的独立流程调度,重要原因就是很难支持高并发处理能力。然而,实际中,流程提交处理往往包括大量业务判断、业务处理、数据持久化等相关业务操作。
在描述现有技术和本发明之前,先对本说明书中的几个术语进行描述。
活动:活动(activity)是流程中的基本的业务单元。每一个活动代表一个特定的业务,比如说提交、验证等等都可以是一个活动。活动有两种类型:任务(task)和子处理(sub-process)。任务很明显就是单一的活动。而子处理是一个复合的活动,在该活动中存在一个子流程。
作业:作业(job)是计算机操作者(或是一个叫做作业调度器的程序)交给信息处理系统的执行单位。例如执行一个函数就是一个作业。
事件:事件(event)一般对应状态的变化。例如按下键盘,这可以作为一种事件。对于事件的操作一般分为事件的响应和事件的处理两个部分。
下面描述现有技术中常见的流程调度处理。图1以一个流程中的提交处理和验证处理为例示出了现有技术中的常规流程调度处理的时序图。如图1所示,在常规流程调度处理中,客户端首先进行提交处理,从而进入提交活动。随后,进行流程状态更新并进行路由判断,根据判断结果启动下一活动并进行与下一活动相关的设置处理,随后才返回到客户端。在此过程中,客户端必须等待进行路由的判断、下一活动的启动以及相关的设置处理。在某些高并发流程处理的情况下,这样的等待使得流程处理效率低下。
图2以一个流程中的提交和验证为例示出了常规流程调度处理的示意图。如图2所示,提交的完成与验证的启动这两个处理均只能在完整的一个事务中顺序完成。换句话说,提交的活动完成这个处理必须等待验证的活动正常启动后,才能结束。
如图所示,该流程提交处理方式导致处理响应时间较长,处理效率受到很大影响。
如上所述,在现有技术的流程调度中,流程提交处理随着流程复杂度提升、流程路由判断增多等内容,导致流程提交这个大事务处理越来越慢,客户端响应时间越来越长,应用系统效率低下。从技术特征分析而言,导致以上缺点的核心原因是:流程提交从引擎设计角度而言,采用一种同步单线程处理的机制。无法实现并行操作。在作为大容量工作流引擎,特别是流程云服务器能力,对于并行处理能力要求很高。
发明内容
提出本发明来克服现有技术中的流程调度效率低下,客户端响应时间长的问题。本发明重点在并行处理关键点上,流程处理,尤其是提交处理,实现可配置的异步处理能力。极大提升流程引擎处理效率和减少处理响应时间。
本发明的一方面提供一种通用流程异步调度方法,包括:将与流程对应的进程顺序地划分为多个子进程;基于流程状态的更新完成所述多个子进程中的一个子进程,而不依赖于所述多个子进程中的下一子进程的启动;在所述一个子进程完成时,通过流程状态的更新启动所述下一子进程。
优选地,在所述通用流程异步调度方法中,所述的基于流程状态的更新完成所述多个子进程中的一个子进程的步骤包括:在所述一个子进程完成时,基于更新的流程状态返回完成结果。
优选地,在所述通用流程异步调度方法中,所述的通过流程状态的更新启动所述下一子进程的步骤包括:基于更新的流程状态产生用于启动下一子进程的事件;并且在该事件的触发下启动所述下一子进程。
优选地,在所述通用流程异步调度方法中,在该事件的触发下启动所述下一子进程的步骤包括:根据该事件,产生用于启动下一子进程的消息;并且根据所述消息执行下一子进程的启动序列。
优选地,在所述通用流程异步调度方法中,所述一个子进程包括从客户端接收的流程提交子进程,基于该流程提交子进程的执行对流程状态进行更新;基于更新的流程状态,完成流程提交子进程并向客户端返回结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京宇信科技集团股份有限公司,未经北京宇信科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310643262.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种履带板热处理装置
- 下一篇:一种用于集成吊顶的天井结构





