[发明专利]批量定时任务的调度方法、装置和计算机设备在审
申请号: | 201710980601.7 | 申请日: | 2017-10-19 |
公开(公告)号: | CN107885600A | 公开(公告)日: | 2018-04-06 |
发明(设计)人: | 姜璐 | 申请(专利权)人: | 用友网络科技股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京友联知识产权代理事务所(普通合伙)11343 | 代理人: | 尚志峰,汪海屏 |
地址: | 100094*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 批量 定时 任务 调度 方法 装置 计算机 设备 | ||
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种批量定时任务的调度方法,一种批量定时任务的调度装置,一种计算机设备,一种计算机可读存储介质。
背景技术
定时任务调度是一项可以实现周期性自动计算、导出及推送的调度策略。比如,数据定时刷新、报表订阅都是定时任务。
由于系统不同,调度引擎如何实现定时任务的调度也有所差别。
相关技术中最常见的方案是通过Java中的定时器完成定时任务。Java定时器工具,用来在一个后台现成计划执行指定任务。在这种解决方案下,要为每一个定时任务设置一个定时器,到了执行时间定时器会通知指定的任务执行。但这种调度方式,对系统的资源消耗较大,可能导致系统运行变慢。
还有一些大型系统通过后台线程来控制定时任务。新增的任务会带有执行时间等属性,将任务加入队列中,起一个线程循环队列,判断当前时间与队列头任务的时间,达到调度时间则任务出队列,放入执行器中执行。其工作原理的流程图如图1所示:
步骤102,将任务加入待调度队列;
步骤104,判断是否到达调度时间;
步骤106,到达调度时间时,将任务加入待执行队列;否则,执行步骤112;
步骤108,判断是否有空闲执行器;
步骤110,若有,则执行;否则,执行步骤112;
步骤112,等待执行。
然而在大型系统中,会存在大量的批量任务,由于批量任务密集度可能非常高,将占用大量的系统资源,给系统带来极大的压力,导致整个系统的处理速度大大降低,甚至会有宕机的风险,因此通常会限制执行器的数量。而这存在一个缺陷,当批量的任务同时请求少量的执行器时,可能会有少量的任务无法按时执行,并且不能保证任务及时通知,及时执行,无法对固定时段的批量场次内时间资源和硬件资源优化利用,灵活性和可维护性不高。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一方面在于提出了一种批量定时任务的调度方法。
本发明的另一方面在于提出了一种批量定时任务的调度装置。
本发明的再一方面在于提出了一种计算机设备。
本发明的又一方面在于提出了一种计算机可读存储介质。
有鉴于此,本发明的一方面,提出了一种批量定时任务的调度方法,包括:加载批量定时任务,对当前系统资源及批量定时任务进行分析,获得系统参数,及各定时任务的静态特征;根据系统参数及静态特征,对批量定时任务进行任务分组。
根据本发明的批量定时任务的调度方法,可以对当前的系统资源(如CPU、内存等)和批量任务进行静态特征分析,获得各个任务的静态特征,如任务执行时间及权值等;并基于系统参数各个任务的静态特征进行分组,来制定最优的分组方式。通过本发明提供的调度方法,使批量任务处理任务实现分组,对固定时段的时间资源和硬件资源优化利用,提升了批量处理的灵活性、可维护性和容错能力。
另外,根据本发明上述的批量定时任务的调度方法,还可以具有如下附加的技术特征:
在上述技术方案中,优选地,该调度方法还包括:根据静态特征,计算各任务分组的组权值,并根据组权值确定各任务分组的调度顺序,将各任务分组的调度顺序定义为主调度顺序;根据静态特征,对任务分组内任务进行分区,以及计算各分区的权值;以及根据分区的权值确定组内各分区的调度顺序,将组内各分区的调度顺序定义为副调度顺序;对分组、分区后的批量定时任务进行存储。
在该技术方案中,结合各个任务的静态特征,计算各组任务的组权值,用来确定主调度顺序;以及结合各个任务的静态特征进行分区,计算各分区的权值,确定组内各个分区的调度顺序,为副调度顺序;基于该主调度顺序和该副调度顺序,形成当前分组批量任务的调度策略。例如,结合各个任务的权值和执行时间,计算各组任务的组权值,用来确定主调度顺序;根据分区权值,确定组内各个分区的调度顺序,为副调度顺序。通过本发明的技术方案,使批量任务处理任务实现分组、分区两维度并发,对固定时段的时间资源和硬件资源优化利用,提升了批量处理的灵活性、可维护性和容错能力。
在上述任一技术方案中,优选地,该调度方法还包括:根据主调度顺序判断任务分组的执行状态是否为开启;若任务分组的执行状态为开启,则为任务分组创建计时器,并计时;当计时时间到达任务分组的执行时间时,将任务分组内的任务加载至任务执行器,按照副调度顺序执行任务分组内的任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友网络科技股份有限公司,未经用友网络科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710980601.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可太阳能充电的电动踏板摩托
- 下一篇:一种风力发电电动小型农用车