一种基于时间轮的脚本下发调度方法技术

技术编号:31233496 阅读:34 留言:0更新日期:2021-12-08 10:12
本发明专利技术涉及数据结构技术领域,公开了一种基于时间轮的脚本下发调度方法,包括以下步骤:S1.通过时间轮接收调度任务;S2.根据时间将调度任务拆分成任务队列并分配到时间轮对应的时间槽中;S3.通过预设的优先级堆将任务队列存储到时间槽中;S4.预设时间轮执行规则,并根据时间轮执行规则执行时间轮中存储的任务队列。使用时间轮作为调度基础数据结构,加上优先级堆,使用较小的开销完成任务的准确调度。度。度。

【技术实现步骤摘要】
一种基于时间轮的脚本下发调度方法


[0001]本专利技术涉及数据结构
,具体地说,是一种基于时间轮的脚本下发调度方法,用于优化脚本下发的调度策略,通过时间轮这种数据结构缩小脚本下发调度,使任务执行更加准时、任务实现的复杂度更小以及减少任务执行中的资源开销。

技术介绍

[0002]安全软件中往往存在一些调度任务,这些任务大多是定时和周期性的任务,比如定时检测资产状态、定时采集资产资源状态以及周期执行脚本等任务。拿堡垒机举例,堡垒机作为一种安全软件,存在一些调度任务,这些任务中的大多数都是周期性任务,还有一些定时任务,最长周期不会超过一年。如果一个系统中存在着大量的调度任务,会面临大量的问题。
[0003]1、大量的调度任务如果每一个都使用自己的调度器来管理任务的生命周期的话,就会浪费cpu的资源并且很低效,经常会出现任务执行的延迟的情况出现。
[0004]2、使用第三方组件完成任务的调度,一些第三方组件不能完全满足需求,而一些大而全的第三方组件又会消耗一些不必要的资源。
[0005]3、在一般情况下,对于简单的任务就本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于时间轮的脚本下发调度方法,其特征在于,包括以下步骤:S1.通过时间轮接收调度任务;S2.根据时间将调度任务拆分成任务队列并分配到时间轮对应的时间槽中;S3.通过预设的优先级堆将任务队列存储到时间槽中; S4.预设时间轮执行规则,并根据时间轮执行规则执行时间轮中存储的任务队列。2.根据权利要求1所述的一种基于时间轮的脚本下发调度方法,其特征在于,所述步骤S1包括: S1.1.根据调度任务需求设置对应的时间轮数量; S1.2.将调度任务进行分类并设置对应的执行方式。3.根据权利要求2所述的一种基于时间轮的脚本下发调度方法,其特征在于,所述步骤S1.2包括: 将调度任务进行分类,分为定时任务和周期任务。4.根据权利要求3所述的一种基于时间轮的脚本下发调度方法,其特征在于,所述定时任务和周期任务包括: 确定定时任务时间,根据最大时间单位将定时任务插入进时针轮的任务队列中,根据时间指针依次将上一时间单位的任务队列删除,并插入到下一时间时针轮的任务队列中,执行一次后不再执行;确定周期任务时间,根据最大时间单位将周期任务插入进时针轮的任务队列中,当时间指针走到最大时间单位值时,复制一份周期任务并将其变成一个定时任务插入上一时间单位的任务队列中,再根据时间指针依次将上一时间单位的任务队列删除,并插入到下一时间时针轮的任务队列中,每到一个周期执行一次。5.根据权利要求1所述的一种基于时间轮的脚本下发调度方法,其特征在于,所述步骤S2包括:根据时间轮对应的时间盘确定时间槽。6.根据权利要求1所述的一种基于时间轮的脚本下发调度方法,其特征在于,所述步骤S3包括:S3.1.预设对应时间轮的优先级堆;S3.2.根据所述任务队列确定时间轮的所有轮盘;S3.3.结合优先级堆和时间轮的所有盘将所述任务队列排列成优先队列;S...

【专利技术属性】
技术研发人员:邹忻江范渊吴永越郑学新刘韬
申请(专利权)人:成都安恒信息技术有限公司
类型:发明
国别省市:

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

1