当前位置: 首页 > 专利查询>陈新刚专利>正文

快速调度大规模具有固定频率任务的方法及电子设备技术

技术编号:32827689 阅读:19 留言:0更新日期:2022-03-26 20:32
本发明专利技术涉及任务调度技术领域,具体涉及一种快速调度大规模具有固定频率任务的方法及电子设备,包括以下步骤:初始化任务列表;任务列表分类组合;建立时间节点数组并关联任务列表;遍历时间节点数组并执行任务列表;休眠;执行下个时间节点数组项的任务。本发明专利技术实现了对大规模任务列表的快速调度,极大减少了对系统资源的占用与消耗,从而保障了大规模任务调度的高速、稳定运行。在设备监测实际应用中,几千台设备的数据,上万个监测点,通过此技术可以实现秒级快速轮询,并且数据展示不会间断。多台服务器形成监控集群,可以监控数万台设备,并能保证性能。而业界普遍监测频率只可以达到分钟级。分钟级。分钟级。

【技术实现步骤摘要】
快速调度大规模具有固定频率任务的方法及电子设备


[0001]本专利技术涉及任务调度
,具体涉及一种快速调度大规模具有固定频率任务的方法及电子设备。

技术介绍

[0002]随着云计算和物联网时代的到来,各行各业数据中心规模和量级都有了明显的提升。IT基础设施的繁多化和应用架构的复杂化,导致运维压力剧增,对自动化运维的响应时间也更为迫切。
[0003]针对大规模且复杂的自动化运维任务,采用传统的分布式任务调度平台,比如分布式任务调度平台Quartz提供的默认的调度策略,如轮询、主备等,都无法有效应对复杂的调度网络,不能最快速度、最大效能地完成大规模自动化任务的调度。
[0004]本文主要针对不同固定频率的任务、异步实时处理任务提供了统一模块化的调度能力,能够快速定位任务列表,实现大规模任务的调度与执行。
[0005]在实际业务应用中,通过该方法,单台服务器监测对象可达10万+,监测轮询频率最快可达5秒,系统可长期稳定运行。而传统技术架构,监测对象一般在300

1000以内,监测轮询频率最快可达分钟级,系统在运行3

6月后出现不稳定现象。
[0006]传统的定时任务实现方案,比如Timer,Quartz等都或多或少存在一些问题:
[0007]1、同一个任务只能有一个节点运行,其他节点将不执行任务,造成资源浪费;
[0008]2、当碰到大量短任务时,各个节点频繁地竞争数据库锁,节点越多这种情况越严重,造成性能低下;
[0009]3、没有解决任务分片的问题,不能实现水平扩展;
[0010]4、规模数量有限,规模太大的话,整个调度性能就会急剧下降。

技术实现思路

[0011]针对现有技术的不足,本专利技术公开了一种快速调度大规模具有固定频率任务的方法及电子设备,用于实现大规模任务的快速调度与执行,减少访问时间,提高轮询效率,降低系统资源占用与消耗,以最终达到对海量设备精准快速监测的目的。
[0012]本专利技术通过以下技术方案予以实现:
[0013]第一方面,本专利技术提供了一种快速调度大规模具有固定频率任务的方法,包括以下步骤:
[0014]S1初始化,遍历所有任务,通过随机算法使其在同时段内均匀分散执行,并在执行完毕后将执行时间lasttime值写入数据库;
[0015]S2将所有任务按照其固定频率分类组合为多个任务列表,并将任务通过ID标识与后续任务调度线程进行关联;
[0016]S3按最小监测频率间隔建立时间节点数组,并将每个时间节点均与任务列表中所有任务的执行时间同步;
[0017]S4任务调度线程从第一个节点数组项开始遍历,依次执行包含的各个任务列表。
[0018]更进一步的,所述方法中,每条任务都包含有固定监测频率freq、任务id和最后执行时间。
[0019]更进一步的,所述方法中,所述固定监测频率freq数值为最小监测频率数值或其倍数。
[0020]更进一步的,所述方法中,每条任务执行完毕都将最后执行时间lasttime值写入数据库,在系统重启或断电时,从数据库中直接读取任务最后执行时间。
[0021]更进一步的,所述方法中,任务列表的每一条任务均在同一时间执行,且都以ID标识与后续任务调度线程进行关联。
[0022]更进一步的,所述方法中,任务列表将任务放入线程池执行,在执行当前任务时,同时会根据下次任务执行时间nexttime将任务ID指向到下次执行时间的任务列表。
[0023]更进一步的,所述方法中,软件首次启动后遍历所有任务,通过随机算法使其在同个时段内均匀分散执行。
[0024]更进一步的,所述方法中,任务调度线程在遍历完上个时间节点数组项后,在最小监测频率减去遍历时间节点数组项时需要的时间后,继续下一个时间节点数组项的调度。
[0025]更进一步的,所述方法中,设定时间的误差范围,在超出该范围之后,通过重新同步时钟和执行时间进行校正和校准。
[0026]第二方面,本专利技术提供了一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时,实现第一方面所述的快速调度大规模具有固定频率任务的方法中的步骤。
[0027]本专利技术的有益效果为:
[0028]本专利技术实现了对大规模任务列表的快速调度,极大减少了对系统资源的占用与消耗,从而保障了大规模任务调度的高速、稳定运行。
[0029]本专利技术在设备监测实际应用中,几千台设备的数据,上万个监测点,通过此技术可以实现秒级快速轮询,并且数据展示不会间断。多台服务器形成监控集群,可以监控数万台设备,并能保证性能。而业界普遍监测频率只可以达到分钟级。
附图说明
[0030]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031]图1是快速调度大规模具有固定频率任务的方法流程图;
[0032]图2是本专利技术实施例监测任务的快速轮询和执行图。
具体实施方式
[0033]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0034]实施例1
[0035]本实施例提供一种快速调度大规模具有固定频率任务的方法,包括以下步骤:
[0036]S1初始化,遍历所有任务,通过随机算法使其在同时段内均匀分散执行,并在执行完毕后将执行时间lasttime值写入数据库;
[0037]S2将所有任务按照其固定频率分类组合为多个任务列表,并将任务通过ID标识与后续任务调度线程进行关联;
[0038]S3按最小监测频率间隔建立时间节点数组,并将每个时间节点均与任务列表中所有任务的执行时间同步;
[0039]S4任务调度线程从第一个节点数组项开始遍历,依次执行包含的各个任务列表;
[0040]S5进入休眠,在任务调度线程在遍历完上个时间节点数组项后,并以最小监测频率时间为间隔一直进行下去。
[0041]本实施例是为了实现大规模任务的快速调度与执行,减少访问时间,提高轮询效率,降低系统资源占用与消耗,以最终达到对海量设备精准快速监测的目的。
[0042]本实施例时间控制器与任务列表的关联关系保持良好的衔接。任务频率划分需要按照行业和技术要求进行划分,不宜过多。对于执行过程要做好监控,防止部分服务或线程由于异常本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种快速调度大规模具有固定频率任务的方法,其特征在于,所述方法包括以下步骤:S1初始化,遍历所有任务,通过随机算法使其在同时段内均匀分散执行,并在执行完毕后将执行时间lasttime值写入数据库;S2将所有任务按照其固定频率分类组合为多个任务列表,并将任务通过ID标识与后续任务调度线程进行关联;S3按最小监测频率间隔建立时间节点数组,并将每个时间节点均与任务列表中所有任务的执行时间同步;S4任务调度线程从第一个节点数组项开始遍历,依次执行包含的各个任务列表;S5进入休眠,在任务调度线程在遍历完上个时间节点数组项后,并以最小监测频率时间为间隔一直进行下去。2.根据权利要求1所述快速调度大规模具有固定频率任务的方法,其特征在于,所述方法中,每条任务都包含有固定监测频率freq、任务id和最后执行时间。3.根据权利要求1所述快速调度大规模具有固定频率任务的方法,其特征在于,所述方法中,所述固定监测频率freq数值为最小监测频率数值或其倍数。4.根据权利要求1所述快速调度大规模具有固定频率任务的方法,其特征在于,所述方法中,每条任务执行完毕都将最后执行时间lasttime值写入数据库,在系统重启或断电时,从数据库中直接读取任务最后执行时间。5.根据权利要求1所述快速调度大规模具有固定频率任务的方法,...

【专利技术属性】
技术研发人员:陈新刚
申请(专利权)人:陈新刚
类型:发明
国别省市:

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

1