【技术实现步骤摘要】
分布式调度方法、装置、计算机设备及存储介质
[0001]本公开涉及互联网
,尤其涉及一种分布式调度方法、装置、计算机设备及存储介质。
技术介绍
[0002]随着互联网技术的发展,智能客服开放产品在交付和产品更新迭代过程中遇到了很多挑战,系统设计上需要满足上百万分布式的定时器、少量定时器、安全和国产化的需求。在此情况下,调度技术上的要求包含以下特征:资源消耗要可伸缩(可多要少),部署需要支持水平扩展,以支持更大的业务量;运维需要简单,尽量不引入第三方中间件,去中心化部署。
[0003]相关技术中,可以通过开源的定时任务框架(Quartz)来实现系统设计,或者还可以通过TBSchedule和elastic
‑
job等开源的调度框架来实现。但是,Quartz不支持上百万(较大量)的定时任务,性能会急剧下降,并且如果执行类在升级的过程中不存在,系统容易出现异常。而Elastic
‑
job和TBSchedule实现的方式是通过Zookeeper等分布式应用程序来协调服务,增加了系统的复 ...
【技术保护点】
【技术特征摘要】
1.一种分布式调度方法,其特征在于,包括:获取待执行单元信息,所述待执行单元信息包括:待执行单元标识;从多个执行装置中,确定与所述待执行单元标识对应的目标执行装置,其中,所述多个执行装置被配置为分布式架构;以及将所述待执行单元信息提供至所述目标执行装置,所述目标执行装置用于调度所述待执行单元信息所属的待执行单元。2.如权利要求1所述的方法,其特征在于,所述待执行单元信息的形式是序列化形式,在所述获取待执行单元信息后,还包括:对序列化形式的所述待执行单元信息进行反序列化处理,以得到目标待执行单元信息;其中,所述将所述待执行单元信息提供至所述目标执行装置,包括:将所述目标待执行单元信息提供至所述目标执行装置。3.如权利要求2所述的方法,其特征在于,所述获取待执行单元信息,包括:确定目标执行单元的单元数量,所述目标执行单元是多个执行单元中处于执行状态的执行单元;确定所述多个执行装置的装置总数量;在所述单元数量小于所述装置总数量时,获取所述待执行单元信息。4.如权利要求3所述的方法,其特征在于,在所述获取待执行单元信息前,还包括:获取与所述多个执行单元分别对应的多个初始单元信息;对所述多个初始单元信息分别进行序列化处理,以得到序列化形式的多个执行单元信息;其中,所述获取待执行单元信息,包括:从所述多个执行单元信息中,获取所述待执行单元信息。5.如权利要求4所述的方法,其特征在于,所述多个执行单元信息分别包括对应的多个执行单元标识,所述方法还包括:根据所述多个执行单元标识,将所述多个执行单元信息分别存储至分布式缓存的阻塞队列中;其中,所述获取待执行单元信息,包括:从所述阻塞队列中循环读取所述待执行单元信息。6.如权利要求4所述的方法,其特征在于,在所述获取待执行单元信息前,还包括:获取多个目标任务,所述多个目标任务分别具有对应的多个目标任务信息;根据所述多个目标任务分别构造对应的多个执行单元,并根据所述多个目标任务信息分别配置相应所述多个执行单元信息。7.如权利要求6所述的方法,其特征在于,所述获取多个目标任务,包括:确定参考时间;根据所述参考时间,确定多个链表位置;根据所述多个链表位置,从所述分布式缓存的循环链表中分别读取对应的多个候选任务;如果所述候选任务的执行时间满足设定条件,则将所述候选任务作为所述目标任务。
8.如权利要求7所述的方法,其特征在于,在所述根据所述多个目标任务分别构造对应的多个执行单元前,还包括:根据多个所述执行时间,将所述多个目标任务存储至所述分布式缓存的延迟队列中;其中,所述根据所述多个目标任务分别构造对应的多个执行单元,包括:如果当前时间达到目标执行时间,则从所述延迟队列中读取所述目标执行时间所属目标任务;根据所述所属目标任务构造对应的执行单元,直至遍历完毕所述延迟队列中的目标任务。9.如权利要求7所述的方法,其特征在于,在所述确定参考时间前,还包括:获取多个候选任务,所述多个候选任务分别具有对应的多个执行时间;根据所述多个执行时间,分别生成对应多个链表位置;参考所述多个链表位置,将所述多个候选任务写入所述循环链表中。10.一种分布式调度装置,其特征在于,所述装置包括:第一获取模块,获取待执行单元信息,所述待执行单元信息包括:待执行单元标识;确定模块,用于从多个执行装置中,确定与所述待执行单元标识对应的目标执行装置,其中,所述多个执...
【专利技术属性】
技术研发人员:王海,
申请(专利权)人:京东科技信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。