【技术实现步骤摘要】
定时任务分发的方法、装置、系统及设备
本申请涉及计算机
,尤其涉及一种定时任务分发的方法、装置、系统及设备。
技术介绍
当使用定时任务时,需定时执行的繁杂工作可以被减轻,工作的效率可以得到提升,因此,人们在工作、学习以及生活中越来越多的使用定时任务。当产生定时任务时,可以将定时任务添加至对应的设备,并由该对应的设备来执行该定时任务;当产生的定时任务较多时,添加多个定时任务的设备可能无法及时执行所有的定时任务,此时,该设备可以将所有的定时任务分发至多个与其相连的执行设备,并由该多个执行设备来并发执行所有的定时任务。在相关技术中,添加多个定时任务的设备可以通过分布式锁来完成该多个定时任务的分发,具体地,该设备可以先将该多个定时任务存储至读取速度较快的内存中,然后,基于触发时间的先后顺序对该多个定时任务进行排序。在分发定时任务时,该设备可以依次从内存中读取最先的定时任务,并将最先的定时任务分发至与其相连的设备。在对相关技术进行研究后,专利技术人发现,在相关技术中,当某一触发时间对应的定时任务较多时,即使从读取速度较快的内存中读取与该触发时间对应的所有定时任务,相关技术仍无法及时读取该所有的定时任务,也无法及时分发该所有的定时任务。由此可知,相关技术无法并发地分发较多的定时任务,故,相关技术分发定时任务的并发性差。
技术实现思路
本申请实施例的目的是提供一种定时任务分发的方法、装置、系统及设备,用以提升分发定时任务的并发性。为解决上述技术问题,本申请实施例是这样实现的:本申请实施例提供一种定时任务分发的方法,所述方法包括:根据预设的检测规则,检测当前时间戳是否存 ...
【技术保护点】
1.一种定时任务分发的方法,其特征在于,所述方法包括:根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;若是,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
【技术特征摘要】
1.一种定时任务分发的方法,其特征在于,所述方法包括:根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;若是,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。2.根据权利要求1所述的方法,其特征在于,所述选取执行所述第一定时任务队列中的定时任务的执行设备,包括:确定所述第一定时任务队列中的定时任务的第一数量以及空闲的执行设备的第二数量;若所述第一数量小于所述第二数量,则从所述第二数量的执行设备中选取第三数量的执行设备作为执行所述第一定时任务队列中的定时任务的执行设备,其中,所述第三数量大于等于第一数量、小于等于第二数量。3.根据权利要求1所述的方法,其特征在于,所述选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务,包括:选取执行所述第一定时任务队列中的定时任务的执行设备,触发所述选取的执行设备从所述第一定时任务队列中获取定时任务的任务信息并根据获取的所述定时任务的任务信息执行所述定时任务。4.根据权利要求1所述的方法,其特征在于,若所述预设的检测规则为基于过滤器的检测规则,则所述根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中,包括:基于所述预设的检测规则对应的数据映射方式,获取所述当前时间戳对应的映射值;将所述映射值与所述预设的检测规则对应的过滤器的数值进行匹配,得到匹配结果;根据所述匹配结果确定所述当前时间戳是否存在于预设的定时任务的时间戳集合中。5.根据权利要求1所述的方法,其特征在于,所述确定与所述当前时间戳对应的待分发的第一定时任务队列之后,所述方法还包括:确定所述第一定时任务队列是否为空;若所述第一定时任务队列为空,则终止执行当前时间戳对应的定时任务;若所述第一定时任务队列不为空,则选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。6.根据权利要求1所述的方法,其特征在于,所述选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务,包括:选取执行所述第一定时任务队列中的定时任务的执行设备,对所述选取的执行设备的状态进行监测;若所述选取的执行设备的状态为空闲状态,则触发所述选取的执行设备从所述第一定时任务队列中获取未被分发的定时任务的任务信息。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:若所述第一定时任务队列中不存在未被分发的定时任务,则终止对所述选取的执行设备的状态的监测。8.根据权利要求6所述的方法,其特征在于,所述通知所述选取的执行设备从所述第一定时任务队列中获取未被分发的定时任务的任务信息,包括:通知所述选取的执行设备按照预设的获取策略从所述第一定时任务队列中获取定时任务的任务信息;其中,所述预设的获取策略包括:当处于空闲状态时,从所述第一定时任务队列中获取未被分发的定时任务的任务信息,直到所述第一定时任务队列中不存在未被分发的定时任务的任务信息。9.根据权利要求1所述的方法,其特征在于,所述方法还包括:若在预设的周期内未监测到已被分发的定时任务的心跳,则将所述已被分发的定时任务重新分发至其他目标执行设备。10.根据权利要求1所述的方法,其特征在于,所述方法还包括:从所述第一定时任务队列中删除已被所述选取的执行设备成功执行的定时任务的任务信息。11.根据权利要求1或4所述的方法,其特征在于,所述预设的检测规则为基于布隆过滤器BloomFilter的检测规则。12.一种定时任务分发的装置,其特征在于,所述装置包括:检测模块,用于根据预设的检测规则,检测当前...
【专利技术属性】
技术研发人员:宁春雷,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。