[发明专利]一种分布式任务调度方法及系统有效
申请号: | 201810774275.9 | 申请日: | 2018-07-13 |
公开(公告)号: | CN108958920B | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 熊杰;付本成 | 申请(专利权)人: | 众安在线财产保险股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 顾友 |
地址: | 200002 上海市黄*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 任务 调度 方法 系统 | ||
本发明公开了一种分布式任务调度方法及系统,属于计算机技术领域。所述方法包括如下步骤:S1:客户端服务器启动后自动扫描所有任务,与中间服务器建立链接,将自身信息及任务信息上报给中间服务器;S2:所述中间服务器获取客户端服务器信息和任务信息,并根据任务配置信息,将一个任务拆分为多个独立的子任务后分配给各客户端服务器;S3:所述客户端服务器执行所述中间服务器分配的子任务。本发明通过将任务调度引擎集成在中间服务器中,方便管理任务的依赖关系;通过中间服务器,将一个任务拆分为多个独立的子任务,并行调用客户端服务器执行各自分配到的任务项,实现并行调度。
技术领域
本发明涉及计算机技术领域,特别涉及一种分布式任务调度方法及系统。
背景技术
分布式任务调度,是指将一个应用或者业务划分为多个任务交由多个服务器进行处理。分布式任务调度可解决单个服务器资源不足等问题,达到大规模数据处理的目的。
分布式框架有很多,其中传统的Zookeeper分布式应用程序协调服务,其对数据进行分片,分配给多个应用服务器去执行处理,实现并行执行,从而提升了处理速度。但是由于Zookeeper需要管理很多应用服务器,每个任务开始及结束的记录也都需要写入Zookeeper,造成Zookeeper的负担比较重,而且如果要加入新的应用服务器,也需要在Zookeeper上进行操作,进一步加大了其负担,且不能实现应用服务器的动态扩充。
专利号为CN106993019A的中国专利公布的分布式任务调度方法和系统,虽然减少了Zookeeper的负担,实现了动态扩充应用服务器。但是,其任务调度引擎集成在应用服务器(即客户端)中,服务端只负责任务的监控、客户端任务集群的协调工作,这种方式的缺点是任务之间的依赖关系难以维护,难以扩展新功能。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种分布式任务调度方法及系统,以克服现有技术中任务之间的依赖关系难以维护,难以扩展新功能的问题。
为解决上述技术问题,本发明采用的技术方案是:
一方面,提供了一种分布式任务调度方法,所述方法包括如下步骤:
S1:客户端服务器启动后自动扫描所有任务,与中间服务器建立链接,将自身信息及任务信息上报给中间服务器;
S2:所述中间服务器获取客户端服务器信息和任务信息,并根据任务配置信息,将一个任务拆分为多个独立的子任务后分配给各客户端服务器;
S3:所述客户端服务器执行所述中间服务器分配的子任务。
进一步的,所述步骤S2还包括:
所述中间服务器获取任务信息后,根据任务间的前后关系,对多个任务进行流程编排,形成一个有向无环图类型的任务流程。
进一步的,所述步骤S3还包括:
在所述客户端服务器执行所述中间服务器分配的子任务前,所述中间服务器判断所述子任务对应的任务是否是流程任务,若是,则生成相应的有向无环执行图,按照所述有向无环执行图顺序依次向相应客户端服务器发送子任务执行请求,若不是,则直接向相应客户端服务器发送子任务执行请求。
进一步的,所述向相应客户端服务器发送子任务执行请求前,还包括:
先判断当前子任务在哪台中间服务器上,然后向该子任务所在的中间服务器发送子任务执行请求,再将子任务执行请求转发到相应的客户端服务器。
进一步的,所述步骤S3还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于众安在线财产保险股份有限公司,未经众安在线财产保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810774275.9/2.html,转载请声明来源钻瓜专利网。