定时任务分发的方法、装置、系统及设备制造方法及图纸

技术编号:21140576 阅读:25 留言:0更新日期:2019-05-18 05:01
本申请实施例公开了一种定时任务分发的方法、装置、系统及设备,该方法包括:根据预设的检测规则,检测当前时间戳是否在预设的定时任务的时间戳集合中;若是,从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列;选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。本申请实施例可以建立时间戳与待分发定时任务之间的对应关系,并通过该对应关系确定与当前时间戳对应的待分发定时任务,实现对待分发定时任务的分发。由于可以在不读取待分发定时任务的基础上,实现对待分发定时任务的分发,因此,可以有效解决相关技术的问题,提升分发定时任务的并发性。

Method, Device, System and Equipment for Timing Task Distribution

【技术实现步骤摘要】
定时任务分发的方法、装置、系统及设备
本申请涉及计算机
,尤其涉及一种定时任务分发的方法、装置、系统及设备。
技术介绍
当使用定时任务时,需定时执行的繁杂工作可以被减轻,工作的效率可以得到提升,因此,人们在工作、学习以及生活中越来越多的使用定时任务。当产生定时任务时,可以将定时任务添加至对应的设备,并由该对应的设备来执行该定时任务;当产生的定时任务较多时,添加多个定时任务的设备可能无法及时执行所有的定时任务,此时,该设备可以将所有的定时任务分发至多个与其相连的执行设备,并由该多个执行设备来并发执行所有的定时任务。在相关技术中,添加多个定时任务的设备可以通过分布式锁来完成该多个定时任务的分发,具体地,该设备可以先将该多个定时任务存储至读取速度较快的内存中,然后,基于触发时间的先后顺序对该多个定时任务进行排序。在分发定时任务时,该设备可以依次从内存中读取最先的定时任务,并将最先的定时任务分发至与其相连的设备。在对相关技术进行研究后,专利技术人发现,在相关技术中,当某一触发时间对应的定时任务较多时,即使从读取速度较快的内存中读取与该触发时间对应的所有定时任务,相关技术仍无法及时读取该所有的定时任务,也无法及时分发该所有的定时任务。由此可知,相关技术无法并发地分发较多的定时任务,故,相关技术分发定时任务的并发性差。
技术实现思路
本申请实施例的目的是提供一种定时任务分发的方法、装置、系统及设备,用以提升分发定时任务的并发性。为解决上述技术问题,本申请实施例是这样实现的:本申请实施例提供一种定时任务分发的方法,所述方法包括:根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;若是,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。本申请实施例提供一种定时任务分发的装置,所述装置包括:检测模块,用于根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;第一确定模块,用于若当前时间戳存在于预设的定时任务的时间戳集合中,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;分发模块,用于选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。本申请实施例提供一种定时任务分发的系统,包括存储模块、时间触发器、接口模块以及执行设备,其中:所述存储模块,用于存储时间戳及其对应的定时任务队列,所述定时任务队列中包括定时任务的任务信息;所述时间触发器,用于根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;若是,则通过所述接口模块查询所述存储模块存储的多个待分发的定时任务队列,从所述多个待分发定时任务队列中确定与所述当前时间戳对应的待分发的第一定时任务队列;选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务;所述执行设备,用于执行所述第一定时任务队列中的定时任务。本申请实施例提供一种定时任务分发的设备,所述定时任务分发的设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;若是,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。由以上本申请实施例提供的技术方案可见,在本申请实施例中,分发设备可以根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中,若当前时间戳存在于预设的定时任务的时间戳集合中,则分发设备可以从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列,然后,分发设备可以选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。本实施例可以建立时间戳与待分发的第一定时任务队列中的定时任务之间的对应关系,并通过该对应关系确定与当前时间戳对应的待分发的定时任务,实现对待分发的定时任务的分发。由于本实施例可以在不读取待分发定时任务的基础上,实现对待分发定时任务的分发,因此,可以有效解决相关技术的问题,提升分发定时任务的并发性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请一种定时任务分发的方法实施例;图2为本申请示出的一个应用场景图;图3为本申请另一种定时任务分发的方法实施例;图4为本申请再一种定时任务分发的方法实施例;图5为本申请再一种定时任务分发的方法实施例;图6为本申请一种定时任务分发的装置实施例;图7为本申请另一种定时任务分发的装置实施例;图8为本申请再一种定时任务分发的装置实施例;图9为本申请再一种定时任务分发的装置实施例;图10为本申请再一种定时任务分发的装置实施例;图11为本申请再一种定时任务分发的装置实施例;图12为本申请再一种定时任务分发的装置实施例;图13为本申请一种定时任务分发的系统实施例;图14为本申请一种定时任务分发的设备实施例。具体实施方式本申请实施例提供一种定时任务分发的方法、装置、系统以及设备。为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。实施例一如图1所示,本申请提供一种定时任务分发的方法实施例,用以提升分发定时任务的并发性。该方法的执行主体可以为分发设备,该分发设备可以建立时间戳与待分发的第一定时任务队列中的定时任务之间的对应关系,并通过该对应关系确定与当前时间戳对应的待分发的定时任务,实现对待分发定时任务高并发性的分发。该方法具体包括以下步骤:在步骤S101中:根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中。请参见图2,为本申请示出的一个应用场景图。图2中,分发设备可以用于分发定时任务,具体地,分发设备可以将存储设备上的定时任务分发至执行设备。在一个实施例中,当产生定时任务时,分发设备可以获取该定时任务的任务信息以及参数,其中,该定时任务的任务信息可以包括该定时任务的脚本信息;该定时任务的参数可以包括该定时任务的触发时间。分发设备可以在获取该定时任务的任务信息后,将该定时任务的任务信息存储至与其相连的存储设备。在一个示例中,分发设备可以获取定时任务的触发时间,并基于定时任务的触发时间与当前时间的关系,来对定时任务进行分发。具体地,若当前时间早于获取的本文档来自技高网
...

【技术保护点】
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

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

1