[发明专利]一种定时任务的调度方法、服务器以及存储装置在审
申请号: | 201911120732.3 | 申请日: | 2019-11-15 |
公开(公告)号: | CN111143053A | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 章焕忠 | 申请(专利权)人: | 杭州涂鸦信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F16/2455 |
代理公司: | 广东君龙律师事务所 44470 | 代理人: | 丁建春 |
地址: | 310000 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定时 任务 调度 方法 服务器 以及 存储 装置 | ||
本申请公开了一种定时任务的调度方法、服务器以及存储装置,其中,该定时任务的调度方法包括:检测当前时刻,确定时间轮中当前时刻对应的定时任务;其中,时间轮的每一个单位时间刻度对应一个定时任务;通过定时任务对应的调度节点调度并执行定时任务。通过上述方式,本申请通过将定时任务与时间轮中的相应单位时间刻度相对应,以在检测到相应时刻时调度该定时任务执行,从而能够有效减少因对定时任务进行频繁排序所带来的性能开销,并有效地提升了对定时任务进行轮询的效率,同时也避免了因对定时任务轮询不及时而过期不执行的情况发生。
技术领域
本申请涉及调度定时任务的技术领域,尤其涉及一种定时任务的调度方法、服务器以及存储装置。
背景技术
现今,随着IoT(Internet of Things,物联网)领域的快速发展,进行联网的智能设备也呈现出了爆发式的增长。而在进行联网的智能设备当中,有很大一部分是需要定时自动完成一些任务的,这便使得提供一个高效,稳定的定时调度系统来完成大量定时任务的调度显得尤为重要。
通常地,当需要调度的定时任务量较小时,可以把所有的定时任务存在一个持久化的数据库中,并通过调度节点从同一数据库中定时查询并加载最近需要执行的定时任务,以等到指定的时间点时触发该定时任务执行。
而采用这种方式在对待执行的定时任务进行查询时,会严重依赖于数据库对定时任务的排序,而频繁的查询排序,在定时任务量较大时会使得查询的效率低下,容易因查询超时而导致定时任务过期不被执行,此外,频繁的数据库查询也使得调度系统容易遇到IO(输入/输出)瓶颈;且当有多个调度节点从同一数据库中读写定时任务时,需要通过锁来保证相应的定时任务不被重复执行,而锁的存在又会大大降低整个调度系统的性能。
发明内容
本申请提供了一种定时任务的调度方法、服务器以及存储装置,该调度方法能够解决当调度节点频繁地对数据库的任务列表中的全量任务进行排序查询时,因排序带来严重的性能开销,而导致的效率低下,以及由于定时任务存储于数据库中,使调度节点频繁的对数据库进行读写,而造成的IO开销过大,操作过慢,从而导致因对定时任务查询不及时而过期不执行的问题。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种定时任务的调度方法,其中,该定时任务的调度方法包括:检测当前时刻,确定时间轮中当前时刻对应的定时任务;其中,时间轮的每一个单位时间刻度对应一个定时任务;通过定时任务对应的调度节点调度并执行定时任务。
其中,检测当前时刻,确定时间轮中当前时刻对应的定时任务的步骤之前还包括:接收添加定时任务的指令;获取定时任务最近一次的触发时间;将触发时间与时间轮的对应单位时刻建立对应关系,并将对应关系存储到任务列表中;检测当前时刻,确定时间轮中当前时刻对应的定时任务的步骤包括:检测到当前时刻,通过任务列表确定时间轮中当前时刻对应的定时任务。
其中,通过定时任务对应的调度节点调度并执行定时任务的步骤之后还包括:确定定时任务下一次的调度时间;将下一次的调度时间与时间轮的对应单位时刻建立对应关系,将对应关系存储到任务列表中,并删除本次已经执行的对应关系。
其中,检测当前时刻,确定时间轮中当前时刻对应的定时任务的步骤之前还包括:接收调度节点的注册请求;为调度节点分配唯一的身份识别号;将调度节点与定时任务建立对应关系,并存储到任务列表中。
其中,接收添加定时任务的指令的步骤包括:接收调用接口服务节点的注册请求;通过调用接口服务节点接收添加定时任务的指令。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种定时任务的调度方法,其中,该定时任务的调度方法包括:通过调度节点依次对与其对应的时间轮中每一单位时间刻度对应存储的任务列表进行轮询,其中,时间轮是以一天时间中每一单位时间刻度对应分区划分的分布式缓存系统;在调度节点轮询到时间轮中当前时刻对应存储的任务列表中的定时任务时,向相应的客户端发送任务触发指令,以触发客户端执行定时任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州涂鸦信息技术有限公司,未经杭州涂鸦信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911120732.3/2.html,转载请声明来源钻瓜专利网。