分布式流程调度系统及流程调度、执行方法技术方案

技术编号:14803557 阅读:104 留言:0更新日期:2017-03-14 23:33
本发明专利技术公开了一种分布式流程调度系统及流程调度、执行方法,其中该系统包括:第一管理节点和位于集群系统中的多个流程处理节点,其中,所述第一管理节点包括:负载均衡模块,用于按照预设的负载均衡策略从所述多个流程处理节点中选择执行流程处理任务的流程处理节点,并将流程处理任务分发至选择的流程处理节点;所述多个流程处理节点中的每个流程处理节点,用于执行流程处理任务。通过本发明专利技术,采用负载均衡和分布式集群系统,实现了流程的分布式调度。

【技术实现步骤摘要】

本专利技术涉及分布式数据处理领域,具体而言,涉及一种分布式流程调度系统及流程调度、执行方法
技术介绍
自流程的概念被正式提出后,流程管理一直受到学者和企业的重视,人们对流程的理解和认识也不断加深,在科研和工业等领域都形成了科学、成熟的流程管理模式,其中流程的逻辑关系也越来越复杂。随着流程应用的数量以及复杂度迅速增长,其中的数据量激增。目前已经有包括业务流程管理(JavaBusinessProcessManagement,简称为JPBM)、Activiti等主流工作流引擎广泛应用于实际业务系统中。通过行业标准的业务流程建模与标注(BusinessProcessModelingNotation,简称为BPMN)编写流程定义,通过可扩展标记语言(ExtensibleMarkupLanguage,简称为XML)进行流程描述。通过对系统接口的调用可以很轻松的实现流程的加载、启动以及流程任务的相关操作。但是传统的工作流引擎都是独立部署运行,在当今的大数据时代处理能力捉襟见肘。随后有学者提出了简单工作流(SimpleWorkflow,简称为SWF),作为一个基于分布式计算调度框架的工作流引擎,SWF由Worker和Decider组成,Worker执行实际任务,Decider进行流程控制,它的设计结构决定其职能用于处理简单的WorkFlow,因为所有的流程控制都集中于Decider如果太复杂的话Decider将无比庞大。给维护和拓展带来很大困难。针对相关技术中大数据量条件下高性能的进行流程调度与管理的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中大数据量条件下高性能的进行流程调度与管理的问题,本专利技术提供了一种分布式流程调度系统及流程调度、执行方法,以至少解决上述问题。根据本专利技术的一个方面,提供了一种分布式流程调度系统,包括:第一管理节点和位于集群系统中的多个流程处理节点,其中,第一管理节点包括:管理模块,用于管理所述多个流程处理节点;负载均衡模块,用于按照预设的负载均衡策略从所述多个流程处理节点中选择执行流程处理任务的流程处理节点,并将流程处理任务分发至选择的流程处理节点;所述多个流程处理节点中的每个流程处理节点,配置有流程处理引擎,用于执行流程处理任务。可选地,所述多个流程处理节点中的每个流程处理节点,用于根据流程定义文件标准,确定流程处理任务使用的流程引擎,对确定的流程引擎进行适配,适配完成后启动流程引擎执行所述流程处理任务。可选地,所述多个流程处理节点中的每个流程处理节点,还用于解析所述流程处理任务,将所述流程处理任务中的数据持久化到第一数据库中、将流程处理任务的结果持久化到第二数据库中,以及将流程处理任务执行状态缓存至内存数据库中。可选地,所述系统还包括:第二管理节点,用于监控所述多个流程处理节点的工作状态,在流程处理节点出现故障时,向所述负载均衡节点请求流程恢复;所述负载均衡模块,还用于响应所述第二管理节点的请求,选择流程处理节点执行请求恢复的流程处理任务。可选地,所述第一管理节点,用于管理所述多个流程处理节点的集群状态以及流程处理状态,并将所述集群状态和所上述流程处理状态同步至所述第二管理节点;所述第二管理节点,用于监听所述多个流程处理节点的工作状态,在流程处理节点出现故障时,根据所述第一管理节点同步的数据向所述负载均衡节点请求流程恢复。可选地,所述第二管理节点包括:主第二管理节点和备第二管理节点,所述主第二管理节点和所述备第二管理节点采用主备机制。根据本专利技术的另一个方面,提供了一种流程调度方法,包括:响应流程处理请求,按照预设的负载均衡策略从位于集群系统中的多个流程处理节点中选择执行流程处理任务的流程处理节点;向选择的流程处理节点分发所述流程处理任务。可选地,所述方法还包括:监控所述多个流程处理节点的工作状态;在流程处理节点出现故障时,重新选择流程处理节点执行出现故障的流程处理节点所执行的流程处理任务。根据本专利技术的再一个方面,提供了一种流程执行方法,包括:响应流程处理任务,根据流程处理任务确定流程定义文件标准;根据流程定义文件标准确定流程处理任务使用的流程引擎;对确定的流程引擎进行适配,适配完成后启动流程引擎执行所述流程处理任务。可选地,上述方法还包括:解析所述流程处理任务,将所述流程处理任务中的数据持久化到第一数据库中;将流程处理任务的结果持久化到第二数据库中;以及将流程处理任务执行状态缓存至内存数据库中。通过本专利技术,采用负载均衡和分布式集群系统,实现了流程的分布式调度。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的分布式流程调度系统的示意图;图2是根据本专利技术实施例的流程调度方法的流程图;图3是根据本专利技术实施例的流程执行方法的流程图;图4是根据本专利技术实施例可选的分布式流程调度系统的示意图。具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1是根据本专利技术实施例的分布式流程调度系统的示意图,如图1所示,该系统包括:第一管理节点1和位于集群系统中的多个流程处理节点2,其中,第一管理节点1包括:管理模块,用于管理所述多个流程处理节点;负载均衡模块,用于按照预设的负载均衡策略从所述多个流程处理节点2中选择执行流程处理任务的流程处理节点,并将流程处理任务分发至选择的流程处理节点;所述多个流程处理节点2中的每个流程处理节点,配置有流程处理引擎,用于执行流程处理任务。在本专利技术实施例中,可以在每个流程处理节点上设置流程处理引擎(也称为工作流引擎),以执行流程处理任务。流程处理任务为请求执行的工作流。工作流就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。在本专利技术实施例中,负载均衡模块,可以用于实现IP层的负载均衡。负载均衡模块接收到流程处理请求后,选择处理流程处理任务的节点,并将流程处理请求中的IP地址替换成选择的流程处理节点的IP地址,向该流程处理节点发送流程处理请求。负载均衡模块接收到的流程处理请求中的目的IP地址为系统向外提供的地址,从而对外部用户而言仅有一个I本文档来自技高网
...

【技术保护点】
一种分布式流程调度系统,其特征在于,包括:第一管理节点和位于集群系统中的多个流程处理节点,其中,所述第一管理节点包括:管理模块,用于管理所述多个流程处理节点;负载均衡模块,用于按照预设的负载均衡策略从所述多个流程处理节点中选择执行流程处理任务的流程处理节点,并将流程处理任务分发至选择的流程处理节点;所述多个流程处理节点中的每个流程处理节点,配置有流程处理引擎,用于执行流程处理任务。

【技术特征摘要】
1.一种分布式流程调度系统,其特征在于,包括:第一管理节点和位于集群
系统中的多个流程处理节点,其中,
所述第一管理节点包括:管理模块,用于管理所述多个流程处理节点;负载
均衡模块,用于按照预设的负载均衡策略从所述多个流程处理节点中选择执
行流程处理任务的流程处理节点,并将流程处理任务分发至选择的流程处理
节点;
所述多个流程处理节点中的每个流程处理节点,配置有流程处理引擎,用于
执行流程处理任务。
2.根据权利要求1所述的系统,其特征在于,所述多个流程处理节点中的每
个流程处理节点,用于根据流程定义文件标准,确定流程处理任务使用的
流程引擎,对确定的流程引擎进行适配,适配完成后启动流程引擎执行所
述流程处理任务。
3.根据权利要求1或2所述的系统,其特征在于,所述多个流程处理节点中
的每个流程处理节点,还用于解析所述流程处理任务,将所述流程处理任
务中的数据持久化到第一数据库中、将流程处理任务的结果持久化到第二
数据库中,以及将流程处理任务执行状态缓存至内存数据库中。
4.根据权利要求1至3中任一项所述的系统,其特征在于,
所述系统还包括:第二管理节点,用于监控所述多个流程处理节点的工作状
态,在流程处理节点出现故障时,向所述负载均衡节点请求流程恢复;
所述负载均衡模块,还用于响应所述第二管理节点的请求,选择流程处理节
点执行请求恢复的流程处理任务。
5.根据权利要求4所述的系统,其特征在于,
所述第一管理节点,用于管理所述多个流程处理节点的集...

【专利技术属性】
技术研发人员:星亮亮许雪寒臧媛媛陆哲琪王守信刘华
申请(专利权)人:航天恒星科技有限公司
类型:发明
国别省市:北京;11

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

1