CN109766167A - 定时任务分发的方法、装置、系统及设备 - Google Patents
定时任务分发的方法、装置、系统及设备 Download PDFInfo
- Publication number
- CN109766167A CN109766167A CN201711098161.9A CN201711098161A CN109766167A CN 109766167 A CN109766167 A CN 109766167A CN 201711098161 A CN201711098161 A CN 201711098161A CN 109766167 A CN109766167 A CN 109766167A
- Authority
- CN
- China
- Prior art keywords
- timed task
- distributed
- equipment
- queue
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种定时任务分发的方法、装置、系统及设备,该方法包括:根据预设的检测规则,检测当前时间戳是否在预设的定时任务的时间戳集合中;若是,从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列;选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。本申请实施例可以建立时间戳与待分发定时任务之间的对应关系,并通过该对应关系确定与当前时间戳对应的待分发定时任务,实现对待分发定时任务的分发。由于可以在不读取待分发定时任务的基础上,实现对待分发定时任务的分发,因此,可以有效解决相关技术的问题,提升分发定时任务的并发性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种定时任务分发的方法、装置、系统及设备。
背景技术
当使用定时任务时,需定时执行的繁杂工作可以被减轻,工作的效率可以得到提升,因此,人们在工作、学习以及生活中越来越多的使用定时任务。
当产生定时任务时,可以将定时任务添加至对应的设备,并由该对应的设备来执行该定时任务;当产生的定时任务较多时,添加多个定时任务的设备可能无法及时执行所有的定时任务,此时,该设备可以将所有的定时任务分发至多个与其相连的执行设备,并由该多个执行设备来并发执行所有的定时任务。
在相关技术中,添加多个定时任务的设备可以通过分布式锁来完成该多个定时任务的分发,具体地,该设备可以先将该多个定时任务存储至读取速度较快的内存中,然后,基于触发时间的先后顺序对该多个定时任务进行排序。在分发定时任务时,该设备可以依次从内存中读取最先的定时任务,并将最先的定时任务分发至与其相连的设备。
在对相关技术进行研究后,发明人发现,在相关技术中,当某一触发时间对应的定时任务较多时,即使从读取速度较快的内存中读取与该触发时间对应的所有定时任务,相关技术仍无法及时读取该所有的定时任务,也无法及时分发该所有的定时任务。由此可知,相关技术无法并发地分发较多的定时任务,故,相关技术分发定时任务的并发性差。
发明内容
本申请实施例的目的是提供一种定时任务分发的方法、装置、系统及设备,用以提升分发定时任务的并发性。
为解决上述技术问题,本申请实施例是这样实现的:
本申请实施例提供一种定时任务分发的方法,所述方法包括:
根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;
若是,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;
选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
本申请实施例提供一种定时任务分发的装置,所述装置包括:
检测模块,用于根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;
第一确定模块,用于若当前时间戳存在于预设的定时任务的时间戳集合中,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;
分发模块,用于选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
本申请实施例提供一种定时任务分发的系统,包括存储模块、时间触发器、接口模块以及执行设备,其中:
所述存储模块,用于存储时间戳及其对应的定时任务队列,所述定时任务队列中包括定时任务的任务信息;
所述时间触发器,用于根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;若是,则通过所述接口模块查询所述存储模块存储的多个待分发的定时任务队列,从所述多个待分发定时任务队列中确定与所述当前时间戳对应的待分发的第一定时任务队列;选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务;
所述执行设备,用于执行所述第一定时任务队列中的定时任务。
本申请实施例提供一种定时任务分发的设备,所述定时任务分发的设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;
若是,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;
选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
由以上本申请实施例提供的技术方案可见,在本申请实施例中,分发设备可以根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中,若当前时间戳存在于预设的定时任务的时间戳集合中,则分发设备可以从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列,然后,分发设备可以选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。
本实施例可以建立时间戳与待分发的第一定时任务队列中的定时任务之间的对应关系,并通过该对应关系确定与当前时间戳对应的待分发的定时任务,实现对待分发的定时任务的分发。由于本实施例可以在不读取待分发定时任务的基础上,实现对待分发定时任务的分发,因此,可以有效解决相关技术的问题,提升分发定时任务的并发性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一种定时任务分发的方法实施例;
图2为本申请示出的一个应用场景图;
图3为本申请另一种定时任务分发的方法实施例;
图4为本申请再一种定时任务分发的方法实施例;
图5为本申请再一种定时任务分发的方法实施例;
图6为本申请一种定时任务分发的装置实施例;
图7为本申请另一种定时任务分发的装置实施例;
图8为本申请再一种定时任务分发的装置实施例;
图9为本申请再一种定时任务分发的装置实施例;
图10为本申请再一种定时任务分发的装置实施例;
图11为本申请再一种定时任务分发的装置实施例;
图12为本申请再一种定时任务分发的装置实施例;
图13为本申请一种定时任务分发的系统实施例;
图14为本申请一种定时任务分发的设备实施例。
具体实施方式
本申请实施例提供一种定时任务分发的方法、装置、系统以及设备。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例一
如图1所示,本申请提供一种定时任务分发的方法实施例,用以提升分发定时任务的并发性。该方法的执行主体可以为分发设备,该分发设备可以建立时间戳与待分发的第一定时任务队列中的定时任务之间的对应关系,并通过该对应关系确定与当前时间戳对应的待分发的定时任务,实现对待分发定时任务高并发性的分发。该方法具体包括以下步骤:
在步骤S101中:根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中。
请参见图2,为本申请示出的一个应用场景图。图2中,分发设备可以用于分发定时任务,具体地,分发设备可以将存储设备上的定时任务分发至执行设备。
在一个实施例中,当产生定时任务时,分发设备可以获取该定时任务的任务信息以及参数,其中,该定时任务的任务信息可以包括该定时任务的脚本信息;该定时任务的参数可以包括该定时任务的触发时间。分发设备可以在获取该定时任务的任务信息后,将该定时任务的任务信息存储至与其相连的存储设备。
在一个示例中,分发设备可以获取定时任务的触发时间,并基于定时任务的触发时间与当前时间的关系,来对定时任务进行分发。具体地,若当前时间早于获取的定时任务的触发时间,则可以暂不对该定时任务进行分发;若当前时间晚于获取的定时任务的触发时间,则可以确定该定时任务超时,此时,分发设备可以立即对该定时任务进行分发,也可以删除该定时任务,后续也不再对该定时任务进行分发;若当前时间与获取的定时任务的触发时间一致,则可以立即对该定时任务进行分发。
在一个示例中,产生的定时任务可以为“2017年1月1日10点0分0秒向客户X发送邮件”,分发设备可以获取该定时任务的任务信息和参数,其中,该定时任务的任务信息可以包括“2017年1月1日10点0分0秒向客户X发送邮件”的脚本信息,或“向客户X发送邮件”的脚本信息;该定时任务的参数可以包括该定时任务的触发时间“2017年1月1日10点0分0秒”。分发设备可以在获取该定时任务的任务信息,例如,“向客户X发送邮件”的脚本信息后,将该定时任务的任务信息存储至与其相连的存储设备。
在一个示例中,若当前时间为“2017年1月1日9点0分0秒”,则当前时间可以早于获取的上述定时任务的触发时间“2017年1月1日10点0分0秒”,此时,分发设备可以暂不对该定时任务进行分发;若当前时间为“2017年1月1日11点0分0秒”,则当前时间可以晚于获取的上述定时任务的触发时间,此时,分发设备可以立即对该定时任务进行分发,或删除该定时任务;若当前时间为“2017年1月1日9点0分0秒”,则可以确定当前时间与获取的上述定时任务的触发时间一致,此时,分发设备可以立即对该定时任务进行分发。
需要说明的是,图2可以仅为本申请示出的一个应用场景图,并不用于限制本申请,在一个实施例中,分发设备可以将定时任务的数据存储到存储设备集群,或存储系统中,对应的,执行设备可以从存储设备集群,或存储系统中获取定时任务。
在一个实施例中,当产生定时任务时,分发设备可以获取该定时任务的触发时间,并基于该触发时间得到对应的时间戳,然后,分发设备可以添加该时间戳。其中,分发设备添加的定时任务的时间戳可以与同一定时任务的触发时间相同。
在一个示例中,产生的定时任务的触发时间可以为“2017年1月1日10点0分0秒”,则分发设备可以获取该定时任务的触发时间,并基于该触发时间得到对应的时间戳“2017年1月1日10点0分0秒”。然后,分发设备可以添加该时间戳。
其中,本实施例对分发设备添加的时间戳的形式不做限制,例如,在一个示例中,分发设备添加的时间戳可以为“2017.01.01.10.00.00”。
在一个实施例中,分发设备可以设有时间触发器,在添加定时任务的时间戳时,可以将该时间戳添加至时间触发器中。
在本实施例中,当产生定时任务时,分发设备可以获取该定时任务的时间戳,并将该定时任务的时间戳添加至预设的定时任务的时间戳集合中。
在一个示例中,分发设备预设的定时任务的时间戳集合可以如表1所示:
表1
定时任务的时间戳 |
2017年1月1日10点0分2秒 |
2017年1月1日10点0分0秒 |
...... |
...... |
2017年1月1日10点0分10秒 |
其中,表1仅为示出的一个预设的定时任务的时间戳集合,并不用于限制本实施例,在一个示例中,分发设备预设的定时任务的时间戳集合也可以如表2所示:
表2
定时任务的时间戳 |
2017.01.01.10.00.02 |
2017.01.01.10.00.00 |
...... |
...... |
2017.01.01.10.00.10 |
在本实施例中,分发设备可以预设检测规则,并根据预设的检测规则来检测当前时间戳是否存在于预设的定时任务的时间戳集合中。其中,分发设备预设的检测规则可以为设备默认的检测规则,也可以为相关人员自定义的检测规则,本实施例对此不做限制。
需要说明的是,本实施例对分发设备预设的检测规则同样不做限制,理论上只要满足可以检测出当前时间戳是否在预设的定时任务的时间戳集合中即可。例如,预设的检测规则可以为顺序检测规则。
在一个示例中,分发设备预设的检测规则可以为顺序检测规则,分发设备可以根据顺序检测规则来检测当前时间戳是否存在于预设的定时任务的时间戳集合中。具体地,分发设备可以按照时间戳所处的位置依次将上述时间戳集合中的时间戳取出,然后将取出的时间戳与当前时间戳进行匹配。
若当前时间戳与从上述时间戳集合中取出的任一时间戳匹配成功,则可以确定当前时间戳存在于预设的定时任务的时间戳集合中;若当前时间戳与从上述时间戳集合中取出的所有时间戳均匹配失败,则可以确定当前时间戳不存在于预设的定时任务的时间戳集合中。
在一个实施例中,分发设备可以基于预设的检测周期对当前时间戳是否存在于预设的定时任务的时间戳集合中进行检测,其中,预设的检测周期可以基于预设的定时任务的时间戳集合中的时间戳来确定。
在一个示例中,若预设的定时任务的时间戳集合中的时间戳包括“2017年1月1日10点0分2秒”,则分发设备预设的检测周期可以为1秒;若预设的定时任务的时间戳集合中的时间戳包括“2017年1月1日10点0分2秒11毫秒”,则分发设备预设的检测周期可以为1毫秒;当然,若预设的定时任务的时间戳集合中的时间戳既包括“2017年1月1日10点0分2秒”,又包括“2017年1月1日10点0分2秒11毫秒”,则分发设备预设的检测周期可以为1毫秒。
在步骤S102中:若是,则从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列。
在本实施例中,若当前时间戳在预设的定时任务的时间戳集合中,则可以从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列。
在一个实施例中,如图2所示,存储设备上可以存储多个待分发的定时任务队列,其中,同一待分发的定时任务队列中的所有定时任务的时间戳可以相同,不同待分发的定时任务队列中的定时任务的时间戳可以不相同。
在一个示例中,当产生定时任务时,分发设备可以获取该定时任务的任务信息以及时间戳,其中,该定时任务的时间戳可以基于该定时任务的触发时间来获取。然后,分发设备可以将该定时任务的任务信息存储至存储设备上与该定时任务的时间戳对应的定时任务队列中。
在一个示例中,如图2所示,存储设备上可以存储待分发的定时任务队列A,以及待分发的定时任务队列B,其中,队列A中的定时任务的时间戳可以为“2017年1月1日10点0分2秒”;队列B中的定时任务的时间戳可以为“2017年1月1日10点0分0秒”。当产生定时任务“2017年1月1日10点0分0秒向客户X发送邮件”时,分发设备可以获取该定时任务的任务信息,例如“向客户X发送邮件”的脚本信息,以及基于该定时任务的触发时间获取该定时任务的时间戳“2017年1月1日10点0分0秒”。然后,分发设备可以将该定时任务的任务信息存储至存储设备上的队列B中。
在一个示例中,当前时间戳可以为“2017年1月1日10点0分0秒”,若当前时间戳在预设的定时任务的时间戳集合中,则可以基于当前时间戳从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列B。
在一个实施例中,若当前时间戳不在预设的定时任务的时间戳集合中,则可以不从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列。
在一个示例中,当前时间戳可以为“2017年1月1日10点0分1秒”,若当前时间戳不在预设的定时任务的时间戳集合中,则可以不从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列。
在步骤S103中:选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。
在一个实施例中,分发设备在从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列后,可以选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。
在一个示例中,如图2所示,分发设备在多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列B后,可以选取执行队列B中的第一定时任务的执行设备,以使得选取的执行设备执行队列B中的第一定时任务。
在一个示例中,分发设备在确定与当前时间戳对应的待分发的第一定时任务队列B后,可以选取执行队列B中的第一定时任务的执行设备:执行设备a、执行设备b以及执行设备c,以使得执行设备a、执行设备b以及执行设备c可以执行队列B中的第一定时任务。
其中,执行设备a、执行设备b以及执行设备c执行队列B中的第一定时任务的过程中,可以先获取队列B中的第一定时任务的任务信息,然后,执行与获取到的任务信息对应的第一定时任务。
本申请提供一种定时任务分发的方法实施例,在本实施例中,分发设备可以根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中,若当前时间戳存在于预设的定时任务的时间戳集合中,则分发设备可以从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列,然后,分发设备可以选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。
本实施例可以建立时间戳与待分发的第一定时任务队列中的定时任务之间的对应关系,并通过该对应关系确定与当前时间戳对应的待分发的定时任务,实现对待分发的定时任务的分发。由于本实施例可以在不读取待分发定时任务的基础上,实现对待分发定时任务的分发,因此,可以有效解决相关技术的问题,提升分发定时任务的并发性。
实施例二
如图3所示,本申请提供另一种定时任务分发的方法实施例,用以提升分发定时任务的并发性。该方法的执行主体可以为分发设备,该分发设备可以在确定待分发的第一定时任务队列中的定时任务的第一数量之后,选取不少于第一数量的空闲执行设备或所有的空闲执行设备来执行第一定时任务队列中的定时任务,从而可以在较大程度上确保第一定时任务队列中的定时任务能够被快速及时地执行,实现对待分发的第一定时任务队列中的定时任务的高并发性的分发。该方法具体包括以下步骤:
在步骤S301中:根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中。
在步骤S302中:若是,则从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列。
由于步骤S301以及步骤S302已在上一实施例中详述,因此,本实施例在此不再赘述。
在步骤S303中:确定第一定时任务队列中的定时任务的第一数量以及空闲的执行设备的第二数量。
在本实施例中,分发设备在确定与当前时间戳对应的待分发的第一定时任务队列后,可以确定第一定时任务队列中的定时任务的第一数量,以及空闲的执行设备的第二数量,其中,空闲的执行设备可以为处于空闲状态的执行设备。
在本实施例中,分发设备可以直接根据现有技术来确定第一定时任务队列中的定时任务的第一数量。而在确定空闲的执行设备的第二数量时,在一种实现方式中,分发设备可以先对执行设备的状态进行检测,并在检测到执行设备的状态为空闲状态时,进行数量统计,进而可以确定空闲的执行设备的第二数量。
而在另一种实现方式中,分发设备可以不对执行设备的状态进行检测,而是接收执行设备上报的状态信息。分发设备可以对接收到的状态信息进行状态分析以及数量统计,并根据数量统计的结果来确定空闲的执行设备的第二数量。
在本实施例中,分发设备在确定第一定时任务队列中的定时任务的第一数量以及空闲的执行设备的第二数量后,可以判断第一数量是否小于第二数量。
在步骤S304中:若第一数量小于第二数量,则从第二数量的执行设备中选取第三数量的执行设备作为执行第一定时任务队列中的定时任务的执行设备,其中,第三数量大于等于第一数量、小于等于第二数量。
在本实施例中,若第一定时任务队列中的定时任务的第一数量小于空闲的执行设备的第二数量,则分发设备可以从第二数量的执行设备中选取第三数量的执行设备作为执行第一定时任务队列中的定时任务的执行设备,其中,第三数量大于等于第一数量、小于等于第二数量。
在一个示例中,第一定时任务队列中的定时任务的第一数量可以为100,空闲的执行设备的第二数量可以为200,则可以确定第一数量小于第二数量,此时,分发设备可以从这200个执行设备中选取第三数量,例如102个执行设备,作为执行该100个定时任务的执行设备。
需要说明的是,在本实施例中,第三数量与第一数量的差值可以为默认值或相关人员自定义的值。在一个示例中,当第一数量较大时,第三数量与第一数量的差值也可以较大;当第一数量较小时,第三数量与第一数量的差值也可以较小。
在一个示例中,第一数量可以为100,小于第二数量200,则此时第三数量可以为102;在另一示例中,第一数量可以为1000,小于第二数量1500,则此时第三数量可以为1010。
在本实施例中,若第一定时任务队列中的定时任务的第一数量不小于空闲的执行设备的第二数量,则分发设备可以选取第二数量的所有执行设备作为执行第一定时任务队列中的定时任务的执行设备。
在步骤S305中:触发选取的执行设备从第一定时任务队列中获取定时任务的任务信息并根据获取的定时任务的任务信息执行定时任务。
在本实施例中,分发设备在从第二数量的执行设备中选取执行第一定时任务队列中的定时任务的执行设备后,可以触发选取的执行设备从第一定时任务队列中获取定时任务的任务信息,以及触发选择的执行设备根据获取的定时任务的任务信息执行相应的定时任务。
本申请提供一种定时任务分发的方法实施例,在本实施例中,分发设备可以根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中,若当前时间戳存在于预设的定时任务的时间戳集合中,则分发设备可以从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列,然后,分发设备可以确定第一定时任务队列中的定时任务的第一数量以及空闲的执行设备的第二数量,并判断第一数量是否小于第二数量,若第一数量小于第二数量,则分发设备可以从第二数量的执行设备中选取第三数量的执行设备作为执行第一定时任务队列中的定时任务的执行设备,其中,第三数量可以大于等于第一数量、小于等于第二数量。在从第二数量的执行设备中选取执行第一定时任务队列中的定时任务的执行设备后,分发设备可以触发选取的执行设备从第一定时任务队列中获取定时任务的任务信息并根据获取的定时任务的任务信息执行定时任务。
在本实施例中,分发设备可以在确定待分发的第一定时任务队列中的定时任务的第一数量之后,选取不少于第一数量的空闲执行设备或所有的空闲执行设备来执行第一定时任务队列中的定时任务,从而可以在较大程度上确保第一定时任务队列中的定时任务能够被快速及时地执行,实现对待分发的第一定时任务队列中的定时任务的高并发性的分发。
实施例三
如图4所示,本申请提供再一种定时任务分发的方法实施例,用以提升分发定时任务的并发性。该方法的执行主体可以为分发设备,该分发设备可以通过预设的基于过滤器的检测规则,实现对当前时间戳是否存在于预设的定时任务的时间戳集合中的快速确定,并在确定当前时间戳在上述时间戳集合中后,确定并分发与当前时间戳对应的待分发定时任务,从而实现对待分发定时任务高并发性的分发。该方法具体包括以下步骤:
在步骤S401中:基于预设的检测规则对应的数据映射方式,获取当前时间戳对应的映射值。
在本实施例中,分发设备可以预设检测规则,并基于预设的检测规则对应的数据映射方式来对当前时间戳进行计算,得到与当前时间戳对应的映射值。其中,本实施例对分发设备预设的检测规则以及预设的检测规则对应的数据映射方式不做限制。
在一个实施例中,分发设备预设的检测规则可以为基于过滤器的检测规则,在一个示例中,分发设备预设的基于过滤器的检测规则可以为基于布隆过滤器Bloom Filter的检测规则。
在一个实施例中,当分发设备预设的检测规则为基于过滤器的检测规则时,与预设的检测规则对应的数据映射方式可以为哈希算法,在基于预设的检测规则对应的哈希算法对当前时间戳进行计算后,分发设备可以得到与当前时间戳对应的映射值。
在一个示例中,如图2所示,当前时间戳可以为“2017年1月1日10点0分0秒”,分发设备基于预设的检测规则对应的数据映射方式对该时间戳进行计算后,得到的与时间戳“2017年1月1日10点0分0秒”对应的映射值可以为5。
在步骤S402中:将映射值与预设的检测规则对应的过滤器的数值进行匹配,得到匹配结果。
在一个实施例中,当产生定时任务时,分发设备可以获取该定时任务的时间戳,并基于预设的检测规则对应的数据映射方式来对该定时任务的时间戳进行计算,得到对应的映射值。然后,分发设备可以获取预设的检测规则对应的过滤器的结构中与该映射值对应的比特位的值,若与该映射值对应的比特位的值为第一预设值,例如1,则可以确定预设的定时任务的时间戳集合中已经存在该定时任务的时间戳,此时可以不将该定时任务的时间戳添加至预设的定时任务的时间戳集合中;若与该映射值对应的比特位的值为第二预设值,例如0,则可以确定预设的定时任务的时间戳集合中不存在该定时任务的时间戳,此时,可以将该定时任务的时间戳添加至预设的定时任务的时间戳集合中,以及将预设的检测规则对应的过滤器的结构中与该映射值对应的比特位的值由第二预设值更改为第一预设值。
在一个示例中,上述第一预设值可以为1,上述第二预设值可以为0,产生的定时任务的时间戳可以为“2017年1月1日10点0分0秒”,分发设备可以获取该定时任务的时间戳,并基于预设的检测规则对应的数据映射方式对该定时任务的时间戳进行计算,得到对应的映射值5。然后,分发设备可以获取预设的检测规则对应的如表3所示的过滤器的结构中与该映射值对应的比特位的值:
表3
0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
由表3可知,与映射值5对应的比特位的值可以为0,此时,可以确定预设的定时任务的时间戳集合中不存在该定时任务的时间戳“2017年1月1日10点0分0秒”,分发设备可以将该定时任务的时间戳添加至预设的定时任务的时间戳集合中,以及将如表3所示的过滤器的结构中与映射值5对应的比特位的值更改为1。此时,分发设备预设的检测规则对应的过滤器的结构可以如表4所示:
表4
0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 |
在本实施例中,分发设备在基于预设的检测规则对应的数据映射方式得到与当前时间戳对应的映射值后,可以将该得到的映射值与预设的定时任务的时间戳集合所对应的过滤器的数值进行匹配,得到匹配结果。
具体地,分发设备可以获取预设的检测规则对应的过滤器的结构中与该映射值对应的比特位的值,若获取的与该映射值对应的比特位的值为第一预设值,例如1,则可以匹配成功;若获取的与该映射值对应的比特位的值为第二预设值,例如0,则可以匹配失败。
在一个示例中,如图2所示,当前时间戳可以为“2017年1月1日10点0分0秒”,分发设备基于预设的检测规则对应的数据映射方式得到的与时间戳“2017年1月1日10点0分0秒”对应的映射值可以为5,然后,分发设备可以获取预设的检测规则对应的过滤器的结构中与该映射值对应的比特位的值。
若分发设备预设的检测规则对应的过滤器的结构如表4所示,则由表4中与映射值5对应的比特位的值为1可知,分发设备得到的与当前时间戳对应的映射值可以与预设的定时任务的时间戳集合所对应的过滤器的值匹配成功;若分发设备预设的检测规则对应的过滤器的结构如表3所示,则由表3中与映射值5对应的比特位的值为0可知,分发设备得到的与当前时间戳对应的映射值可以与预设的定时任务的时间戳集合所对应的过滤器的值匹配失败。
在步骤S403中:根据匹配结果确定当前时间戳是否存在于预设的定时任务的时间戳集合中。
在本实施例中,若分发设备得到的与当前时间戳对应的映射值,与预设的定时任务的时间戳集合所对应的过滤器的值匹配成功,则可以确定当前时间戳存在于预设的定时任务的时间戳集合中;若分发设备得到的与当前时间戳对应的映射值,与预设的定时任务的时间戳集合所对应的过滤器的值匹配失败,则可以确定当前时间戳不存在于预设的定时任务的时间戳集合中。
在步骤S404中:若是,则从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列。
在步骤S405中:确定待分发的第一定时任务队列是否为空。
在一个实施例中,当定时任务的时间戳不相同时,分发设备基于预设的检测规则对应的数据映射方式对该不相同的定时任务的时间戳进行计算后,得到的对应的映射值可以相同。
在一个示例中,可以产生时间戳为“2017年1月1日10点0分0秒”的定时任务,以及时间戳为“2017年1月1日10点0分2秒”的定时任务,分发设备基于预设的检测规则对应的数据映射方式对该两个定时任务的时间戳进行计算后,得到的对应的映射值可以都为5。
在一个示例中,定时任务的时间戳“2017年1月1日10点0分0秒”可以存在于预设的定时任务的时间戳集合中,则分发设备预设的检测规则对应的过滤器的结构中与映射值5对应的比特位的值可以为1。此时,不论定时任务的时间戳“2017年1月1日10点0分2秒”是否存在于预设的定时任务的时间戳集合中,都可以先由步骤S401至步骤S403暂时假定该定时任务的时间戳在预设的定时任务的时间戳集合中,然后,后续再进行进一步的确定。
具体地,若当前时间戳为“2017年1月1日10点0分2秒”,则可以先暂时确定该时间戳存在于预设的定时任务的时间戳集合中,并从多个待分发的定时任务队列中,确定与该时间戳对应的待分发的第一定时任务队列。在确定了与该时间戳对应的待分发的第一定时任务队列后,分发设备可以确定该待分发的第一定时任务队列是否为空,若为空,则可以确定预设的定时任务的时间戳集合中不存在时间戳为“2017年1月1日10点0分2秒”;若不为空,则可以确定预设的定时任务的时间戳集合中存在时间戳为“2017年1月1日10点0分2秒”。
其中,确定与当前时间戳对应的待分发的第一定时任务队列是否为空的技术可以为现有技术,故本实施例在此不再赘述。
在步骤S406中:若待分发的第一定时任务队列为空,则终止执行当前时间戳对应的定时任务;若待分发的第一定时任务队列不为空,则选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。
在本实施例,若与当前时间戳对应的待分发的第一定时任务队列为空,则可以确定预设的定时任务的时间戳集合中不存在当前时间戳,此时,可以终止执行当前时间戳对应的定时任务;若与当前时间戳对应的待分发的第一定时任务队列不为空,则可以选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。
本申请提供再一种定时任务分发的方法实施例,在本实施例中,分发设备可以基于预设的检测规则对应的数据映射方式,获取当前时间戳对应的映射值,并将映射值与预设的检测规则对应的过滤器的数值进行匹配,得到匹配结果,分发设备可以根据得到的匹配结果确定当前时间戳是否存在于预设的定时任务的时间戳集合中,并在当前时间戳存在于预设的定时任务的时间戳集合中的情况下,从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列,然后,分发设备可以确定与当前时间戳对应的待分发的第一定时任务队列是否为空,并在与当前时间戳对应的待分发的第一定时任务队列为空的情况下,终止执行当前时间戳对应的定时任务;以及在与当前时间戳对应的待分发的第一定时任务队列不为空的情况下,选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。
本实施例可以通过预设的基于过滤器的检测规则,实现对当前时间戳是否存在于预设的定时任务的时间戳集合中的快速确定,并在确定当前时间戳在上述时间戳集合中后,确定并分发与当前时间戳对应的待分发定时任务,从而实现对待分发定时任务高并发性的分发。
实施例四
如图5所示,本申请提供再一种定时任务分发的方法实施例,用以提升分发定时任务的并发性。该方法的执行主体可以为分发设备,该分发设备可以在选取了执行待分发的第一定时任务队列中的定时任务的执行设备后,对选取的执行设备的状态进行监测,并在监测到选取的执行设备的状态为空闲状态的情况下,使得该执行设备从分发的第一定时任务队列中获取定时任务的任务信息以及基于获取的任务信息执行相应的定时任务。由于该分发设备可以在选取的执行设备一处于空闲状态的情况下,便使得其执行待分发的定时任务,因此,可以提高待分发的定时任务被处理的效率,进而提高分发定时任务的并发性。该方法具体包括以下步骤:
在步骤S501中:根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中。
在步骤S502中:若是,则从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列。
在步骤S503中:选取执行第一定时任务队列中的定时任务的执行设备。
关于步骤S501、步骤S502以及步骤S503的内容已在上述实施例中详述,故本实施例在此不再赘述。
在步骤S504中:对选取的执行设备的状态进行监测。
在本实施例中,分发设备在选取了执行第一定时任务队列中的定时任务的执行设备后,可以对选取的执行设备的状态进行监测。
在步骤S505中:若选取的执行设备的状态为空闲状态,则通知选取的执行设备从第一定时任务队列中获取未被分发的定时任务的任务信息,以使得选取的执行设备根据获取到的任务信息执行相应的定时任务。
在本实施例中,若选取的执行设备的状态为空闲状态,则分发设备可以通知选取的执行设备从第一定时任务队列中获取未被分发的定时任务的任务信息,以使选取的执行设备根据获取到的任务信息执行相应的定时任务。
在一个示例中,分发设备确定的待分发的第一定时任务队列中的定时任务的数量可以为5:定时任务1、定时任务2、定时任务3、定时任务4以及定时任务5;分发设备监测到的处于空闲状态的执行设备的数量可以为3:执行设备1、执行设备2以及执行设备3。分发设备可以监测到执行设备1以及执行设备2当前处于空闲状态,则分发设备可以通知执行设备1以及执行设备2从待分发的第一定时任务队列中获取未被分发的定时任务的任务信息,以使执行设备1以及执行设备2可以根据获取到的任务信息执行相应的定时任务。其中,每个执行设备一次可以获取一个定时任务的任务信息。执行设备1以及执行设备2可以分别获取定时任务1的任务信息以及定时任务3的任务信息,并分别根据获取到的定时任务1的任务信息以及定时任务3的任务信息执行定时任务1以及定时任务3。
在通知了执行设备1以及执行设备2后,分发设备可以监测到执行设备3当前处于空闲状态,此时,分发设备可以通知执行设备3从待分发的第一定时任务队列中获取未被分发的定时任务的任务信息。目标执行设备3可以获取定时任务2的任务信息,并执行定时任务2。执行设备3执行定时任务2的速度以及执行设备1执行定时任务1的速度可以比较快,然后,分发设备可以监测到执行设备1和执行设备3当前处于空闲状态,此时,分发设备可以通知执行设备1以及执行设备3从待分发的第一定时任务队列中获取未被分发的定时任务的任务信息,执行设备1以及执行设备3可以分别获取定时任务5的任务信息以及定时任务4的任务信息,并分别执行自身获取的定时任务的任务信息对应的定时任务。
在一个实施例中,若待分发的第一定时任务队列中不存在未被分发的定时任务,则分发设备可以终止对执行设备的状态的监测。
在上述示例中,若定时任务1、定时任务2、定时任务3、定时任务4以及定时任务5均被分发,即均被分发设备选取的执行待分发的定时任务的执行设备获取,则分发设备可以终止对执行设备1、执行设备2以及执行设备3的状态的监测。其中,若某一定时任务,例如,定时任务5,从已被分发的状态变为未被分发的状态,则分发设备可以重新对上述执行设备的状态进行监测。
在一个实施例中,分发设备可以通知执行设备按照预设的获取策略从待分发的第一定时任务队列中获取定时任务的任务信息;其中,预设的获取策略可以包括:当处于空闲状态时,从待分发的第一定时任务队列中获取未被分发的定时任务的任务信息,直到待分发的第一定时任务队列中不存在未被分发的定时任务的任务信息。
在一个示例中,分发设备确定的待分发的第一定时任务队列中的定时任务的数量可以为5:定时任务1、定时任务2、定时任务3、定时任务4以及定时任务5;分发设备监测到的处于空闲状态的执行设备的数量可以为3:执行设备1、执行设备2以及执行设备3。则分发设备可以通知执行设备1、执行设备2以及执行设备3按照预设的获取策略从待分发的第一定时任务队列中获取定时任务的任务信息。执行设备1、执行设备2以及执行设备3接收到该通知后,可以先确定自身是否处于空闲状态,若执行设备1以及执行设备2当前处于空闲状态,则执行设备1以及执行设备2可以从待分发的第一定时任务队列中获取定时任务的任务信息,执行设备1以及执行设备2可以分别获取定时任务1的任务信息以及定时任务3的任务信息,并分别执行自身获取的定时任务的任务信息对应的定时任务。
当执行设备3的状态为空闲状态时,执行设备3可以从待分发的第一定时任务队列中获取未被分发的定时任务的任务信息,执行设备3可以获取定时任务2的数据,并执行定时任务2。当执行设备3执行定时任务2时,执行设备1以及执行设备2可以已执行完自身获取的定时任务,并处于空闲状态,此时,执行设备1以及执行设备2可以确定自身处于空闲状态,并再次从待分发的第一定时任务队列中获取未被分发的定时任务的任务信息,执行设备1以及执行设备2可以分别获取定时任务5的任务信息以及定时任务4的任务信息,并分别执行自身获取的定时任务的任务信息对应的定时任务。
若定时任务1、定时任务2、定时任务3、定时任务4以及定时任务5均被分发,则处于空闲状态的执行设备可以不从待分发的第一定时任务队列中获取未被分发的定时任务的任务信息。其中,若某一定时任务,例如,定时任务5,从已被分发的状态变为未被分发的状态,则处于空闲状态的执行设备可以继续从待分发的第一定时任务队列中获取未被分发的定时任务,即定时任务5的任务信息。
在本实施例中,若分发设备在预设的周期内未监测到已被分发的定时任务的心跳,则可以将该已被分发的定时任务重新分发至其他执行设备。具体地,分发设备可以将该已被分发的定时任务的状态变为未被分发,并通知执行设备从待分发的第一定时任务队列中获取该定时任务的任务信息。
在本实施例中,分发设备可以从待分发的第一定时任务队列中删除已被目标执行设备成功执行的定时任务的任务信息。
本申请提供再一种定时任务分发的方法实施例,在本实施例中,分发设备可以根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中,若当前时间戳存在于预设的定时任务的时间戳集合中,则分发设备可以从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列,然后,分发设备可以选取执行第一定时任务队列中的定时任务的执行设备,并对选取的执行设备的状态进行监测,若选取的执行设备的状态为空闲状态,则分发设备可以通知选取的执行设备从第一定时任务队列中获取未被分发的定时任务的任务信息,以使选取的执行设备根据获取到的任务信息执行相应的定时任务。
在本实施例中,分发设备可以在选取了执行待分发的第一定时任务队列中的定时任务的执行设备后,对选取的执行设备的状态进行监测,并在监测到选取的执行设备的状态为空闲状态的情况下,使得该执行设备从分发的第一定时任务队列中获取定时任务的任务信息以及基于获取的任务信息执行相应的定时任务。由于该分发设备可以在选取的执行设备一处于空闲状态的情况下,便使得其执行待分发的定时任务,因此,可以提高待分发的定时任务被处理的效率,进而提高分发定时任务的并发性。
实施例五
以上为本申请实施例提供的定时任务分发的方法,基于同样的思路,本申请实施例还提供一种定时任务分发的装置,如图6所示:
所述定时任务分发的装置包括:检测模块610,第一确定模块620以及分发模块630,其中:
检测模块610,用于根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;
第一确定模块620,用于若当前时间戳存在于预设的定时任务的时间戳集合中,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;
分发模块630,用于选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
本申请实施例中,所述分发模块630可以包括(如图7所示):
确定子模块631,用于确定所述第一定时任务队列中的定时任务的第一数量以及空闲的执行设备的第二数量;
选取子模块632,用于若所述第一数量小于所述第二数量,则从所述第二数量的执行设备中选取第三数量的执行设备作为执行所述第一定时任务队列中的定时任务的执行设备,其中,所述第三数量大于等于第一数量、小于等于第二数量。
本申请实施例中,所述分发模块630可以包括(如图8所示):
触发子模块633,用于触发所述选取的执行设备从所述第一定时任务队列中获取定时任务的任务信息并根据获取的所述定时任务的任务信息执行所述定时任务。
本申请实施例中,所述检测模块610可以用于:
若所述预设的检测规则为基于过滤器的检测规则,则基于所述预设的检测规则对应的数据映射方式,获取所述当前时间戳对应的映射值;
将所述映射值与所述预设的检测规则对应的过滤器的数值进行匹配,得到匹配结果;
根据所述匹配结果确定所述当前时间戳是否存在于预设的定时任务的时间戳集合中。
本申请实施例中,所述装置还可以包括(如图9所示):
第二确定模块640,用于确定所述待分发的第一定时任务队列是否为空;
处理模块650,用于若所述待分发的第一定时任务队列为空,则终止执行当前时间戳对应的定时任务;若所述待分发的第一定时任务队列不为空,则选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
本申请实施例中,所述分发模块630可以包括(如图10所示):
监测子模块634,用于对所述选取的执行设备的状态进行监测;
触发子模块633,还用于若所述选取的执行设备的状态为空闲状态,则触发所述选取的执行设备从所述第一定时任务队列中获取未被分发的定时任务的任务信息。
本申请实施例中,所述装置还可以包括(如图11所示):
终止模块660,用于若所述待分发的第一定时任务队列中不存在未被分发的定时任务,则终止对所述选取的执行设备的状态的监测。
本申请实施例中,所述通知子模块635可以用于:
通知所述选取的执行设备按照预设的获取策略从所述待分发的第一定时任务队列中获取定时任务的任务信息;其中,所述预设的获取策略包括:当处于空闲状态时,从所述待分发的第一定时任务队列中获取未被分发的定时任务的任务信息,直到所述待分发的第一定时任务队列中不存在未被分发的定时任务的任务信息。
本申请实施例中,所述分发模块630可以进一步用于:
若在预设的周期内未监测到已被分发的定时任务的心跳,则将所述已被分发的定时任务重新分发至其他目标执行设备。
本申请实施例中,所述装置还可以包括(如图12所示):
删除模块670,用于从所述待分发的第一定时任务队列中删除已被所述选取的执行设备成功执行的定时任务的任务信息。
本申请提供一种定时任务分发的装置实施例,在本实施例中,可以根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中,若当前时间戳存在于预设的定时任务的时间戳集合中,则可以从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列,然后,可以选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。
本实施例可以建立时间戳与待分发的第一定时任务队列中的定时任务之间的对应关系,并通过该对应关系确定与当前时间戳对应的待分发的定时任务,实现对待分发的定时任务的分发。由于本实施例可以在不读取待分发定时任务的基础上,实现对待分发定时任务的分发,因此,可以有效解决相关技术的问题,提升分发定时任务的并发性。
实施例六
以上为本申请实施例提供的定时任务分发的装置,基于同样的思路,本申请实施例还提供一种定时任务分发的系统,如图13所示。
所述定时任务分发的系统包括:存储模块1301、时间触发器1302、接口模块1303以及执行设备1304,其中:
所述存储模块1301,用于存储时间戳及其对应的定时任务队列,所述定时任务队列中包括定时任务的任务信息;
所述时间触发器1302,用于根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;若是,则通过所述接口模块1303查询所述存储模块存储的多个待分发的定时任务队列,从所述多个待分发定时任务队列中确定与所述当前时间戳对应的待分发的第一定时任务队列;选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务;
所述执行设备1304,用于执行所述第一定时任务队列中的定时任务。
在本实施例中,所述时间触发器1302,还用于确定所述第一定时任务队列中的定时任务的第一数量,以及空闲的执行设备的第二数量;若所述第一数量小于所述第二数量,则从第二数量的执行设备中选取第三数量的执行设备作为执行所述第一定时任务队列中的定时任务的执行设备,其中,所述第三数量大于等于第一数量,小于等于第二数量。
在本实施例中,所述时间触发器1302,还用于向所述选取的执行设备发送触发信息;
所述执行设备1304,还用于在接收到所述触发信息后,从当前时间戳对应的第一定时任务队列中获取定时任务的任务信息,并根据获取的所述定时任务的任务信息执行所述定时任务。
在本实施例中,所述接口模块1303,还用于将待添加的定时任务的时间戳信息发送至时间触发器,及将待添加的定时任务的时间戳及定时任务的任务信息发送至所述存储模块;
所述存储模块1301,还用于接收所述接口模块发送的时间戳信息和定时任务的任务信息,将所述定时任务的任务信息存储至所述时间戳对应的定时任务队列。
本申请提供一种定时任务分发的系统实施例,在本实施例中,可以根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中,若当前时间戳存在于预设的定时任务的时间戳集合中,则可以从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列,然后,可以选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。
本实施例可以建立时间戳与待分发的第一定时任务队列中的定时任务之间的对应关系,并通过该对应关系确定与当前时间戳对应的待分发的定时任务,实现对待分发的定时任务的分发。由于本实施例可以在不读取待分发定时任务的基础上,实现对待分发定时任务的分发,因此,可以有效解决相关技术的问题,提升分发定时任务的并发性。
实施例七
以上为本申请实施例提供的定时任务分发的装置,基于同样的思路,本申请实施例还提供一种定时任务分发的设备,如图14所示。
该定时任务分发的设备可以为上述实施例提供的用于分发定时任务的终端设备或服务器等。
定时任务分发的设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1401和存储器1402,存储器1402中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1402可以是短暂存储或持久存储。存储在存储器1402的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对定时任务分发的设备中的一系列计算机可执行指令。更进一步地,处理器1401可以设置为与存储器1402通信,在定时任务分发的设备上执行存储器1402中的一系列计算机可执行指令。定时任务分发的设备还可以包括一个或一个以上电源1403,一个或一个以上有线或无线网络接口1404,一个或一个以上输入输出接口1405,一个或一个以上键盘1406。
具体在本实施例中,定时任务分发的设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对定时任务分发的设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;
若是,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;
选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
确定所述第一定时任务队列中的定时任务的第一数量以及空闲的执行设备的第二数量;
若所述第一数量小于所述第二数量,则从所述第二数量的执行设备中选取第三数量的执行设备作为执行所述第一定时任务队列中的定时任务的执行设备,其中,所述第三数量大于等于第一数量、小于等于第二数量。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
触发所述选取的执行设备从所述第一定时任务队列中获取定时任务的任务信息并根据获取的所述定时任务的任务信息执行所述定时任务。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
基于所述预设的检测规则对应的数据映射方式,获取所述当前时间戳对应的映射值;
将所述映射值与所述预设的检测规则对应的过滤器的数值进行匹配,得到匹配结果;
根据所述匹配结果确定所述当前时间戳是否存在于预设的定时任务的时间戳集合中。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
确定所述待分发的第一定时任务队列是否为空;
若所述待分发的第一定时任务队列为空,则终止执行当前时间戳对应的定时任务;
若所述待分发的第一定时任务队列不为空,则选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
对所述选取的执行设备的状态进行监测;
若所述选取的执行设备的状态为空闲状态,则通知所述选取的执行设备从所述第一定时任务队列中获取未被分发的定时任务的任务信息。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
若所述待分发的第一定时任务队列中不存在未被分发的定时任务,则终止对所述选取的执行设备的状态的监测。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
通知所述选取的执行设备按照预设的获取策略从所述待分发的第一定时任务队列中获取定时任务的任务信息;其中,所述预设的获取策略包括:当处于空闲状态时,从所述待分发的第一定时任务队列中获取未被分发的定时任务的任务信息,直到所述待分发的第一定时任务队列中不存在未被分发的定时任务的任务信息。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
若在预设的周期内未监测到已被分发的定时任务的心跳,则将所述已被分发的定时任务重新分发至其他目标执行设备。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
从所述待分发的第一定时任务队列中删除已被所述选取的执行设备成功执行的定时任务的任务信息。
本申请提供一种定时任务分发的设备实施例,在本实施例中,可以根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中,若当前时间戳存在于预设的定时任务的时间戳集合中,则可以从多个待分发的定时任务队列中,确定与当前时间戳对应的待分发的第一定时任务队列,然后,可以选取执行第一定时任务队列中的定时任务的执行设备,以使得选取的执行设备执行第一定时任务队列中的定时任务。
本实施例可以建立时间戳与待分发的第一定时任务队列中的定时任务之间的对应关系,并通过该对应关系确定与当前时间戳对应的待分发的定时任务,实现对待分发的定时任务的分发。由于本实施例可以在不读取待分发定时任务的基础上,实现对待分发定时任务的分发,因此,可以有效解决相关技术的问题,提升分发定时任务的并发性。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (21)
1.一种定时任务分发的方法,其特征在于,所述方法包括:
根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;
若是,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;
选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
2.根据权利要求1所述的方法,其特征在于,所述选取执行所述第一定时任务队列中的定时任务的执行设备,包括:
确定所述第一定时任务队列中的定时任务的第一数量以及空闲的执行设备的第二数量;
若所述第一数量小于所述第二数量,则从所述第二数量的执行设备中选取第三数量的执行设备作为执行所述第一定时任务队列中的定时任务的执行设备,其中,所述第三数量大于等于第一数量、小于等于第二数量。
3.根据权利要求1所述的方法,其特征在于,所述选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务,包括:
选取执行所述第一定时任务队列中的定时任务的执行设备,触发所述选取的执行设备从所述第一定时任务队列中获取定时任务的任务信息并根据获取的所述定时任务的任务信息执行所述定时任务。
4.根据权利要求1所述的方法,其特征在于,若所述预设的检测规则为基于过滤器的检测规则,则所述根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中,包括:
基于所述预设的检测规则对应的数据映射方式,获取所述当前时间戳对应的映射值;
将所述映射值与所述预设的检测规则对应的过滤器的数值进行匹配,得到匹配结果;
根据所述匹配结果确定所述当前时间戳是否存在于预设的定时任务的时间戳集合中。
5.根据权利要求1所述的方法,其特征在于,所述确定与所述当前时间戳对应的待分发的第一定时任务队列之后,所述方法还包括:
确定所述第一定时任务队列是否为空;
若所述第一定时任务队列为空,则终止执行当前时间戳对应的定时任务;
若所述第一定时任务队列不为空,则选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
6.根据权利要求1所述的方法,其特征在于,所述选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务,包括:
选取执行所述第一定时任务队列中的定时任务的执行设备,对所述选取的执行设备的状态进行监测;
若所述选取的执行设备的状态为空闲状态,则触发所述选取的执行设备从所述第一定时任务队列中获取未被分发的定时任务的任务信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述第一定时任务队列中不存在未被分发的定时任务,则终止对所述选取的执行设备的状态的监测。
8.根据权利要求6所述的方法,其特征在于,所述通知所述选取的执行设备从所述第一定时任务队列中获取未被分发的定时任务的任务信息,包括:
通知所述选取的执行设备按照预设的获取策略从所述第一定时任务队列中获取定时任务的任务信息;其中,所述预设的获取策略包括:当处于空闲状态时,从所述第一定时任务队列中获取未被分发的定时任务的任务信息,直到所述第一定时任务队列中不存在未被分发的定时任务的任务信息。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若在预设的周期内未监测到已被分发的定时任务的心跳,则将所述已被分发的定时任务重新分发至其他目标执行设备。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述第一定时任务队列中删除已被所述选取的执行设备成功执行的定时任务的任务信息。
11.根据权利要求1或4所述的方法,其特征在于,所述预设的检测规则为基于布隆过滤器Bloom Filter的检测规则。
12.一种定时任务分发的装置,其特征在于,所述装置包括:
检测模块,用于根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;
第一确定模块,用于若当前时间戳存在于预设的定时任务的时间戳集合中,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;
分发模块,用于选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
13.根据权利要求12所述的装置,其特征在于,所述分发模块包括:
触发子模块,用于触发所述选取的执行设备从所述第一定时任务队列中获取定时任务的任务信息并根据获取的所述定时任务的任务信息执行所述定时任务。
14.根据权利要求12所述的装置,其特征在于,所述预设的检测规则为基于过滤器的检测规则;
所述检测模块,用于基于所述预设的检测规则对应的数据映射方式,获取所述当前时间戳对应的映射值;
将所述映射值与所述预设的检测规则对应的过滤器的数值进行匹配,得到匹配结果;
根据所述匹配结果确定所述当前时间戳是否存在于预设的定时任务的时间戳集合中。
15.根据权利要求13所述的装置,其特征在于,所述分发模块包括:
监测子模块,用于对所述选取的执行设备的状态进行监测;
触发子模块,还用于若所述选取的执行设备的状态为空闲状态,则触发所述选取的执行设备从所述第一定时任务队列中获取未被分发的定时任务的任务信息。
16.根据权利要求12所述的装置,其特征在于,
所述分发模块,还用于在预设的周期内未监测到已被分发的定时任务的心跳时,将所述已被分发的定时任务重新分发至其他目标执行设备。
17.一种定时任务分发的系统,其特征在于,包括存储模块、时间触发器、接口模块以及执行设备,其中:
所述存储模块,用于存储时间戳及其对应的定时任务队列,所述定时任务队列中包括定时任务的任务信息;
所述时间触发器,用于根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;若是,则通过所述接口模块查询所述存储模块存储的多个待分发的定时任务队列,从所述多个待分发定时任务队列中确定与所述当前时间戳对应的待分发的第一定时任务队列;选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务;
所述执行设备,用于执行所述第一定时任务队列中的定时任务。
18.根据权利要求17所述的系统,其特征在于,
所述时间触发器,还用于确定所述第一定时任务队列中的定时任务的第一数量,以及空闲的执行设备的第二数量;若所述第一数量小于所述第二数量,则从第二数量的执行设备中选取第三数量的执行设备作为执行所述第一定时任务队列中的定时任务的执行设备,其中,所述第三数量大于等于第一数量,小于等于第二数量。
19.根据权利要求17所述的系统,其特征在于,
所述时间触发器,还用于向所述选取的执行设备发送触发信息;
所述执行设备,还用于在接收到所述触发信息后,从当前时间戳对应的第一定时任务队列中获取定时任务的任务信息,并根据获取的所述定时任务的任务信息执行所述定时任务。
20.根据权利要求17所述的装置,其特征在于,
所述接口模块,还用于将待添加的定时任务的时间戳信息发送至时间触发器,及将待添加的定时任务的时间戳及定时任务的任务信息发送至所述存储模块;
所述存储模块,还用于接收所述接口模块发送的时间戳信息和定时任务的任务信息,将所述定时任务的任务信息存储至所述时间戳对应的定时任务队列。
21.一种定时任务分发的设备,其特征在于,所述定时任务分发的设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
根据预设的检测规则,检测当前时间戳是否存在于预设的定时任务的时间戳集合中;
若是,则从多个待分发的定时任务队列中,确定与所述当前时间戳对应的待分发的第一定时任务队列;
选取执行所述第一定时任务队列中的定时任务的执行设备,以使得所述选取的执行设备执行所述第一定时任务队列中的定时任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711098161.9A CN109766167B (zh) | 2017-11-09 | 2017-11-09 | 定时任务分发的方法、装置、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711098161.9A CN109766167B (zh) | 2017-11-09 | 2017-11-09 | 定时任务分发的方法、装置、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109766167A true CN109766167A (zh) | 2019-05-17 |
CN109766167B CN109766167B (zh) | 2023-03-21 |
Family
ID=66450004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711098161.9A Active CN109766167B (zh) | 2017-11-09 | 2017-11-09 | 定时任务分发的方法、装置、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766167B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722934A (zh) * | 2020-06-12 | 2020-09-29 | 南京甄视智能科技有限公司 | 分布式定时任务处理方法及系统 |
CN112433832A (zh) * | 2020-11-17 | 2021-03-02 | 北京沃东天骏信息技术有限公司 | 一种任务触发方法、装置、设备及计算机可读存储介质 |
CN112860762A (zh) * | 2021-02-05 | 2021-05-28 | 北京百度网讯科技有限公司 | 用于检测时间段重叠的方法和装置 |
CN113760522A (zh) * | 2020-09-25 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种任务处理方法和装置 |
CN113806058A (zh) * | 2021-10-09 | 2021-12-17 | 京东科技控股股份有限公司 | 任务管理方法及装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163117A (ja) * | 2000-11-24 | 2002-06-07 | Matsushita Electric Ind Co Ltd | タスクスケジューリング装置 |
US20050198634A1 (en) * | 2004-01-28 | 2005-09-08 | Nielsen Robert D. | Assigning tasks in a distributed system |
CN106569878A (zh) * | 2015-10-08 | 2017-04-19 | 北京奇虎科技有限公司 | 一种分布式定时任务管理方法和系统 |
CN106874087A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种区块链智能合约定时任务调度方法 |
CN106970930A (zh) * | 2016-10-10 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 消息发送确定方法及装置、数据表创建方法及装置 |
-
2017
- 2017-11-09 CN CN201711098161.9A patent/CN109766167B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163117A (ja) * | 2000-11-24 | 2002-06-07 | Matsushita Electric Ind Co Ltd | タスクスケジューリング装置 |
US20050198634A1 (en) * | 2004-01-28 | 2005-09-08 | Nielsen Robert D. | Assigning tasks in a distributed system |
CN106569878A (zh) * | 2015-10-08 | 2017-04-19 | 北京奇虎科技有限公司 | 一种分布式定时任务管理方法和系统 |
CN106970930A (zh) * | 2016-10-10 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 消息发送确定方法及装置、数据表创建方法及装置 |
CN106874087A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种区块链智能合约定时任务调度方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722934A (zh) * | 2020-06-12 | 2020-09-29 | 南京甄视智能科技有限公司 | 分布式定时任务处理方法及系统 |
CN113760522A (zh) * | 2020-09-25 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种任务处理方法和装置 |
CN112433832A (zh) * | 2020-11-17 | 2021-03-02 | 北京沃东天骏信息技术有限公司 | 一种任务触发方法、装置、设备及计算机可读存储介质 |
CN112860762A (zh) * | 2021-02-05 | 2021-05-28 | 北京百度网讯科技有限公司 | 用于检测时间段重叠的方法和装置 |
CN112860762B (zh) * | 2021-02-05 | 2023-07-28 | 北京百度网讯科技有限公司 | 用于检测时间段重叠的方法和装置 |
CN113806058A (zh) * | 2021-10-09 | 2021-12-17 | 京东科技控股股份有限公司 | 任务管理方法及装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109766167B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766167A (zh) | 定时任务分发的方法、装置、系统及设备 | |
US9569339B1 (en) | Debugging in an actor-based system | |
CN110007957A (zh) | 调用链路构建方法、装置及设备 | |
CN109634819B (zh) | 告警根因定位方法和装置、电子设备 | |
CN107577697A (zh) | 一种数据处理方法、装置及设备 | |
TWI709049B (zh) | 隨機漫步、基於叢集的隨機漫步方法、裝置以及設備 | |
CN107066519A (zh) | 一种任务检测方法及装置 | |
CN110716848A (zh) | 数据收集方法、装置、电子设备及存储介质 | |
CN110032409A (zh) | 一种客户端屏幕适配方法、装置及电子设备 | |
CN109739627A (zh) | 任务的调度方法、电子设备及介质 | |
CN110502591A (zh) | 一种数据提取方法、装置及设备 | |
CN110134735A (zh) | 分布式事务日志的存储方法及装置 | |
CN109615171A (zh) | 特征阈值确定方法及装置、问题对象确定方法及装置 | |
CN108536569A (zh) | 一种业务行为跟踪方法、装置及设备 | |
CN103473178A (zh) | 一种优化测试流程执行的方法及系统 | |
CN109189677B (zh) | 一种针对变量数值更新状态的测试方法及装置 | |
CN113190427A (zh) | 卡顿监控方法、装置、电子设备及存储介质 | |
CN108536613A (zh) | 数据清理方法、装置、及服务器 | |
CN112001116A (zh) | 一种云资源容量预测方法及装置 | |
CN109039695B (zh) | 业务故障处理方法、装置及设备 | |
CN108509255A (zh) | 硬件中断的处理方法和装置 | |
CN105074668B (zh) | 测试设计辅助装置和测试设计辅助方法 | |
CN110083602A (zh) | 一种基于hive表的数据存储及数据处理的方法及装置 | |
CN110245166A (zh) | 数据核对方法及装置 | |
Yeh et al. | A circular pipeline processing based deterministic parallel test pattern generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |