一种定时任务执行方法及装置制造方法及图纸

技术编号:35357369 阅读:14 留言:0更新日期:2022-10-26 12:37
本申请涉及一种定时任务执行方法及装置,首先将第一标识数据写入第一数据库中每个初始分布式程序对应的第一字段中,然后读取第一数据中每个初始分布式程序对应的第一字段中所存储的数据,获得第二标识数据;接着根据第二标识数据,从全部初始分布式程序中确定出至少一有效分布式程序;再根据全部有效分布式程序的排序结果,确定每个有效分布式程序对应的定时任务数据以使得当到达定时任务执行的时间点时,每个有效分布式程序分别处理对应的定时任务数据。本申请实施例可以实现分布式处理,并且动态清理无效分布式程序,均衡负载。均衡负载。均衡负载。

【技术实现步骤摘要】
一种定时任务执行方法及装置


[0001]本申请涉及计算机
,具体涉及一种定时任务执行方法及装置。

技术介绍

[0002]定时任务按照一定的时间周期执行,现有技术中,多采用单节点的方式执行定时任务。在数据量小,业务简单的情况下,单节点的定时任务一般可以正常运行,但是随着数据量增大,业务变得复杂,传统的单节点程序就会暴露出诸多问题。首先是高可用问题,单节点程序一旦出现问题,所有的定时任务都无法执行;其次是性能问题,原来每十分钟执行一次的任务,随着数据量的增加和业务变得复杂,单节点程序计算和处理的压力也会跟着增加,最后执行完任务的耗时超过十分钟,不仅影响当前处理结果,还会影响下次一任务的处理,导致数据混乱,程序变得不可用;然后是负载问题,当数据量由万级别,增加到千万级别后,单节点程序对服务器cpu和内存的占用,也会成百倍的增加,严重情况下,linux系统还会触发OOM Killer策略。

技术实现思路

[0003]有鉴于此,本专利技术实施例所解决的技术问题之一在于提供一种定时任务执行方法及装置,用于解决现有技术中由于数据量或负载过大造成的单节点定时任务无法执行的问题。
[0004]本申请实施例第一方面公开一种定时任务执行方法,包括:
[0005]将第一标识数据写入第一数据库中每个初始分布式程序对应的第一字段中,其中,本次在每个初始分布式程序对应的第一字段中写入的数据均与上一次写入的数据不同;
[0006]读取第一数据库中每个初始分布式程序对应的第一字段中所存储的数据,获得第二标识数据;
[0007]根据第二标识数据,从全部初始分布式程序中确定出至少一有效分布式程序;
[0008]根据全部有效分布式程序的排序结果,确定每个有效分布式程序对应的定时任务数据,以使得当到达定时任务执行的时间点时,每个有效分布式程序分别处理对应的定时任务数据。
[0009]本申请实施例第二方面公开了一种定时任务执行装置,包括:
[0010]写入模块,用于将第一标识数据写入第一数据库中每个初始分布式程序对应的第一字段中,其中,本次在每个初始分布式程序对应的第一字段中写入的数据均与上一次写入的数据不同;
[0011]读取模块,用于读取第一数据库中每个初始分布式程序对应的第一字段中所存储的数据,获得第二标识数据;
[0012]第一确定模块,用于根据第二标识数据,从全部初始分布式程序中确定出至少一有效分布式程序;
[0013]第二确定模块,用于根据全部有效分布式程序的排序结果,确定每个有效分布式程序对应的定时任务数据,以使得当到达定时任务执行的时间点时,每个有效分布式程序分别处理对应的定时任务数据。
[0014]本申请的定时任务执行方法及装置,首先将第一标识数据写入第一数据库中每个初始分布式程序对应的第一字段中,然后读取第一数据中每个初始分布式程序对应的第一字段中所存储的数据,获得第二标识数据;接着根据第二标识数据,从全部初始分布式程序中确定出至少一有效分布式程序;再根据全部有效分布式程序的排序结果,确定每个有效分布式程序对应的定时任务数据以使得当到达定时任务执行的时间点时,每个有效分布式程序分别处理对应的定时任务数据与现有技术相比,本申请实施例可以实现分布式处理,并且动态清理无效分布式程序,均衡负载。
附图说明
[0015]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是本申请实施例一公开的一种定时任务执行方法的流程示意图;
[0017]图2是本申请实施例二公开的一种定时任务执行方法的流程示意图;
[0018]图3是本申请实施例三公开的一种定时任务执行方法的流程示意图;
[0019]图4是本申请实施例四公开的一种定时任务执行装置的结构示意图。
具体实施方式
[0020]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0021]需要说明的是,本申请的说明书和权利要求书中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本申请实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0022]实施例一
[0023]如图1所示,图1为本申请实施例一公开的一种定时任务执行方法的示意性流程图,该方法包括:
[0024]步骤S101,将第一标识数据写入第一数据库中每个初始分布式程序对应的第一字段中,其中,本次在每个初始分布式程序对应的第一字段中写入的数据均与上一次写入的数据不同。
[0025]本实施例中,本方法的执行主体可以独立于分布式程序存在,也可以与分布式程序集合在一起。
[0026]本实施例中,全部初始分布式程序可以部署在不同的计算机或同一台计算机上,用于共同执行定时任务,以均衡每个初始分布式程序的负载,提高性能。
[0027]本实施例中,第一标识数据用于标识每个初始分布式程序,具体标识形式不限,可以采用字母或者数字。
[0028]本实施例中,将第一标识数据写入第一数据库中每个初始分布式程序对应的第一字段中的写入方式不限,第一标识数据中每个初始分布式程序对应的数据以并行方式写入第一数据库中每个初始分布式程序对应的第一字段中,或者第一标识数据中每个初始分布式程序对应的数据以串行方式写入第一数据库中每个初始分布式程序对应的第一字段中。
[0029]本实施例中,第一数据库中至少存储每个初始分布式程序及与之对应的第一标识数据,第一数据库的类型不限,优选一种非关系型的key

value数据库,其查询速度快、存放数据量大且支持高并发,可以是Redis、Voldemort或Riak。
[0030]本实施例中,为了在第一数据库中对每个初始分布式程序的唯一性进行标识,步骤S101之前还包括:
[0031]子步骤S100a,根据每个初始分布式程序的启动时间点,获得第三标识数据,其中,第三标识数据中按照纳秒级别对每个初始分布式程序的启动时间点进行标识;
[0032]子步骤S100b,将第三标识数据写入第一数据库中每个初始分布式程序对应的第二字段中。
[0033]其中,第三标识数据用于在第一数据库中每个初始分布式程序进行唯一性标识,考虑到多个初始分布式程序启动时不可能生成相同的纳秒级本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种定时任务执行方法,其特征在于,包括:将第一标识数据写入第一数据库中每个初始分布式程序对应的第一字段中,其中,本次在每个初始分布式程序对应的第一字段中写入的数据均与上一次写入的数据不同;读取所述第一数据库中每个初始分布式程序对应的第一字段中所存储的数据,获得第二标识数据;根据所述第二标识数据,从全部所述初始分布式程序中确定出至少一有效分布式程序;根据全部所述有效分布式程序的排序结果,确定每个所述有效分布式程序对应的定时任务数据,以使得当到达定时任务执行的时间点时,每个所述有效分布式程序分别处理对应的所述定时任务数据。2.根据权利要求1所述的方法,其特征在于,所述第一标识数据和所述第二标识数据均用于标识时间点;对应地,所述将第一标识数据写入第一数据库中每个初始分布式程序对应的第一字段中包括:根据执行写入操作时的时间点,确定写入第一数据库中每个初始分布式程序对应的第一字段中的第一标识数据。3.根据权利要求2所述的方法,其特征在于,所述根据所述所述第二标识数据,从全部所述初始分布式程序中确定出至少一有效分布式程序包括:根据所述第二标识数据所标识的全部时间点和当前的时间点的时间间隔值,从全部所述初始分布式程序中确定出至少一有效分布式程序;或者,根据所述第一标识数据所标识的全部时间点和所述第二标识数据所标识的全部时间点是否相同的比较结果,从全部所述初始分布式程序中确定出至少一有效分布式程序。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据每个初始分布式程序的启动时间点,获得第三标识数据,其中,所述第三标识数据按照纳秒级别对每个初始分布式程序的启动时间点进行标识;将所述第三标识数据写入第一数据库中每个初始分布式程序对应的第二字段中。5.根据权利要求1所述的方法,其特征在于,所述第一数据库可对全部所述有效分布式程序进行自动排序,并且根据排序结果生成第四标识数据;对应地,所述根据所述所述第二标识数据,从全部所述初始分布式程序中确定出至...

【专利技术属性】
技术研发人员:吴志祥李文祥王枭卿
申请(专利权)人:云盾智慧安全科技有限公司
类型:发明
国别省市:

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

1