一种分布式调度引擎系统及分布式调度方法技术方案

技术编号:38336775 阅读:10 留言:0更新日期:2023-08-02 09:17
本发明专利技术涉及分布式调度技术领域,具体涉及一种分布式调度引擎系统及分布式调度方法,该系统包括:控制节点、工作节点集群和分布式键值存储组件;控制节点包括定时模块、调度器和接口模块;接口模块用于接收处理外部申请的任务请求;定时模块用于根据任务中的执行时间,通知调度器获取并启动任务;调度器用于在启动任务后,选取负载小于预设值的工作节点,利用选取的若干工作节点进行拆分子任务并行处理,在处理完成后利用工作节点进行归并计算,得到任务的执行结果。本发明专利技术提供的技术方案能够让任务执行充分利用多机器资源,流程简单,运转效率高。效率高。效率高。

【技术实现步骤摘要】
一种分布式调度引擎系统及分布式调度方法


[0001]本专利技术涉及分布式调度
,具体涉及一种分布式调度引擎系统及分布式调度方法。

技术介绍

[0002]在互联网技术逐渐成为当代社会不可或缺的基础设置的今天,人们将时间看的十分重要,而对于一些需要调度的任务,若不能及时快速的进行调度,则会浪费较多时间,降低运转效率。
[0003]以网约车行业为例,网约车平台不仅要做到为乘客找到合适的司机,更要保证在最短时间内找到最合适的司机,这对网约车体验是一个极大的提升,网约车平台也急需将最合适的订单调度给最合适的司机,从而达到订单和司机撮合的全局最优解决方案,在这个场景中,就面临着一个问题,怎么能快速的且高效的为司机找到最合适的订单,为订单找到最合适的司机。目前,解决这个问题基本上是采用按照业务维度对司机和订单进行分流,然后通过单台服务器对订单和司机进行匹配后再进行其他复杂逻辑过滤,这样就免不了会消耗大量的机器资源,使得整个流程变得极其复杂,同时考虑到网约车行业具有潮汐现象,即在上下班高峰期,对计算资源的要求就会更高,而这个时候,基于原本单机调度的方案就会愈发显得吃力。
[0004]因此,目前的调度系统,会消耗大量的机器资源,流程复杂,导致运转效率低,浪费较多时间。

技术实现思路

[0005]有鉴于此,本专利技术的目的在于提供一种分布式调度引擎系统及分布式调度方法,以解决现有技术中的调度系统,会消耗大量的机器资源,流程复杂,导致运转效率低,浪费较多时间的问题。
[0006]根据本专利技术实施例的第一方面,提供一种分布式调度引擎系统,包括:控制节点、工作节点集群和分布式键值存储组件;所述控制节点包括定时模块、调度器和接口模块;所述接口模块用于接收处理外部申请的任务请求;所述定时模块用于根据任务中的执行时间,通知调度器获取并启动所述任务;所述调度器用于在启动所述任务后,根据所述分布式键值存储组件实时获取的各个工作节点的负载信息,选取负载小于预设值的工作节点,利用选取的若干工作节点进行拆分子任务并行处理,在处理完成后利用工作节点进行归并计算,得到任务的执行结果。
[0007]优选的,所述调度器,包括:调度模块、通信模块和超时检查模块;所述通信模块用于使调度器和各个工作节点进行通信;所述超时检查模块用于在调度模块利用工作节点处理任务时,检查所述任务的超
时情况。
[0008]优选的,所述的分布式调度引擎系统,还包括:至少二个与所述控制节点相同的从属控制节点,所述控制节点作为主节点;所述从属控制节点作为从节点,用于作为所述控制节点的备份。
[0009]优选的,所述的分布式调度引擎系统,还包括:与所述控制节点中接口模块相连接的负载均衡器,用于使用户能够通过域名的方式访问分布式调度引擎系统。
[0010]根据本专利技术实施例的第二方面,提供一种分布式调度方法,应用于上述的分布式调度引擎系统,包括:接收任务请求,根据所述任务请求,在控制节点的定时模块中注册任务;当到达任务中的执行时间时,控制节点根据实时获取的各个工作节点的负载信息,选取负载小于预设值的工作节点;利用选取的若干工作节点进行拆分子任务并行处理;在并行处理完成后,利用工作节点进行归并计算,得到任务的执行结果。
[0011]优选的,所述根据实时获取的各个工作节点的负载信息,选取负载小于预设值的工作节点,包括:实时接收工作节点集群中各个工作节点的负载信息;控制节点根据所述负载信息,将全部工作节点进行排序,选取负载小于预设值的工作节点。
[0012]优选的,所述利用选取的若干工作节点进行拆分子任务并行处理,包括:控制节点向工作节点发送init请求,以使工作节点在收到init请求后,确定本次任务需要处理的数据范围,根据数据范围得到任务需要被拆分执行的子任务的分片数量及分片ID,并将所述分片数量发送至控制节点;所述控制节点根据所述分片数量轮询调用选取的工作节点,以使工作节点获取相应的分片ID,根据分片ID执行对应的子任务并存储任务数据,控制节点获取子任务的完成情况。
[0013]优选的,所述利用工作节点进行归并计算,得到任务的执行结果,包括:当所述控制节点检测到全部子任务完成后,选择一个工作节点进行reduce调用,以使所述工作节点读取全部的任务数据进行结果归并计算,当归并计算完成后,生成并发送执行结果至所述控制节点。
[0014]本专利技术的实施例提供的技术方案可以包括以下有益效果:可以理解的是,本专利技术示出的分布式调度引擎系统,包括:控制节点、工作节点集群和分布式键值存储组件;控制节点包括定时模块、调度器和接口模块;接口模块用于接收处理外部申请的任务请求;定时模块用于根据任务中的执行时间,通知调度器获取并启动所述任务;调度器用于在启动所述任务后,选取负载小于预设值的工作节点,利用选取的若干工作节点进行拆分子任务并行处理,在处理完成后利用工作节点进行归并计算,得到任务的执行结果。本专利技术提供的技术方案实现了一个轻量化的分布式任务处理系统,具有定时任务管理的同时还兼备高效的数据任务处理,业务接入简单,业务部署独立,能够让任务执行充分利用多机器资源,流程简单,运转效率高。
[0015]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。
附图说明
[0016]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0017]图1是根据一示例性实施例示出的一种分布式调度引擎系统的示意框图;图2是根据一示例性实施例示出的另一种分布式调度引擎系统的示意框图;图3是根据一示例性实施例示出的一种分布式调度方法的步骤示意图;图4是根据一示例性实施例示出的一种分布式调度方法的流程示意图;图5是根据一示例性实施例示出的案例init执行流程示意图;图6是根据一示例性实施例示出的案例map执行流程示意图;图7是根据一示例性实施例示出的案例reduce执行流程示意图。
具体实施方式
[0018]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。
[0019]实施例一图1是根据一示例性实施例示出的一种分布式调度引擎系统的示意框图,参见图1,提供一种分布式调度引擎系统,包括:控制节点100、工作节点(201、202、203、204)集群和分布式键值存储组件300;工作节点集群中包括多个工作节点(201、202、203、204);所述控制节点100包括定时模块101、调度器103和接口模块102;所述接口模块102用于接收处理外部申请的任务请求;所述定时模块101用于根据任务中的执行时间,通知调度器103获取并启动所述任务;所述任务为根据任务请求得到的;所述调度器103用于在启动所述任本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式调度引擎系统,其特征在于,包括:控制节点、工作节点集群和分布式键值存储组件;所述控制节点包括定时模块、调度器和接口模块;所述接口模块用于接收处理外部申请的任务请求;所述定时模块用于根据任务中的执行时间,通知调度器获取并启动所述任务;所述调度器用于在启动所述任务后,根据所述分布式键值存储组件实时获取的各个工作节点的负载信息,选取负载小于预设值的工作节点,利用选取的若干工作节点进行拆分子任务并行处理,在处理完成后利用工作节点进行归并计算,得到任务的执行结果。2.根据权利要求1所述的分布式调度引擎系统,其特征在于,所述调度器,包括:调度模块、通信模块和超时检查模块;所述通信模块用于使调度器和各个工作节点进行通信;所述超时检查模块用于在调度模块利用工作节点处理任务时,检查所述任务的超时情况。3.根据权利要求2所述的分布式调度引擎系统,其特征在于,还包括:至少二个与所述控制节点相同的从属控制节点,所述控制节点作为主节点;所述从属控制节点作为从节点,用于作为所述控制节点的备份。4.根据权利要求1所述的分布式调度引擎系统,其特征在于,还包括:与所述控制节点中接口模块相连接的负载均衡器,用于使用户能够通过域名的方式访问分布式调度引擎系统。5.一种分布式调度方法,应用于权利要求2~4任意一项所述的分布式调度引擎系统,其特征在于,包括:接收任务请求,根据所述任务请求,在控制节点的定时模块中注册任务;当到达任...

【专利技术属性】
技术研发人员:王晓春赵晨光吴国福田鹏飞车焕波
申请(专利权)人:北京云行在线软件开发有限责任公司
类型:发明
国别省市:

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

1