[发明专利]一种分布式环境下自动调度定时任务的方法有效
申请号: | 201811123476.9 | 申请日: | 2018-09-26 |
公开(公告)号: | CN109144704B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 李亮 | 申请(专利权)人: | 浙江万朋教育科技股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 朱月芬 |
地址: | 310013 浙江省杭州市西湖*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 环境 自动 调度 定时 任务 方法 | ||
1.一种分布式环境下自动调度定时任务的方法,其特征在于包括如下步骤:
步骤1、系统初始化:
1-1.生成唯一标识ID,并将标识ID和系统属性注册到高速缓存,并监听私有的任务投递地址以便接收投递的任务;
1-2.启动一个系统负载计算和上报的任务,以T为时间间隔上传系统自身负载信息到指定缓存区域,系统自身负载由负载因子表示,符号F,设参与负载因子计算的性能指标为x,权值为w,则可表示如下:
其中,xi表示第i个性能指标;wi表示第i个性能指标对应的权值;
步骤2、采用选举算法,选择分布式环境中的某一个系统作为Master,通过缓存监听分布式环境下各个系统的负载,并在本地维护一个排序二叉树的集合,用于存储各个系统的负载数据,设F为负载因子,ID为系统唯一标识,则集合表示如下:
Collection=SortTreeF,ID
步骤3、Master开始执行调度计划,其中调度计划采用时间窗格分析法;即首次调度时,时间窗格以系统启动时间为开始时间,结束时间为开始时间加上时间间隔,采用半闭半开区间,最后记录该区间的结束时间作为下一个相邻区间的开始时间,以此类推,设Tlaunch为系统启动时间,Tend为上一个相邻区间的时间窗格结束时间,i为时间间隔,则可表示如下:
步骤4、Master从负载集合中选择一个负载因子最小的系统作为目标系统,并尝试获取当前定时任务“所有权”,若成功获得“所有权”,则标记当前定时任务为不可调度状态,并提交给投递线程;反之,则忽略本次调度;
步骤5、目标系统接收到当前定时任务之后,需要验证是否投递超时;考虑到网络传输时间的影响,故设置一个超时因子a,若实际投递的时间t3大于实际投递超时时间t4,则忽略该任务;反之则反馈Master,执行该任务,当任务执行完成,系统需要更新任务原信息并保证任务“所有权”的释放,完成本次任务调度。
2.根据权利要求1所述的一种分布式环境下自动调度定时任务的方法,其特征在于为了避免任务被投递到无效系统,导致调度跳空,投递线程接收到当前定时任务后,先设置投递开始时间t0和投递超时时间t1;再将当前定时任务发送到指定目标系统的任务监听地址,并等待目标系统反馈;若投递的目标系统在指定投递超时时间t1内进行了反馈,则投递成功;反之则将该目标系统的负载因子按需增加,再重新为投递不成功的当前定时任务选择新的目标系统,重新执行投递过程。
3.根据权利要求2所述的一种分布式环境下自动调度定时任务的方法,其特征在于所述的目标系统的负载因子按需增加是为了降低该目标系统被选中的几率;且按需增加形式如下:若负载因子小于0.5,则置为0.5,若负载因子大于等于0.5,则置为1。
4.根据权利要求3所述的一种分布式环境下自动调度定时任务的方法,其特征在于所述的实际投递时间t3等于目标系统接收投递任务的时间t5减去投递开始时间t0,即t3=t5-t0;实际投递超时时间t4=t1*a;所述的超时因子根据网络情况而定,取值范围在(0,1)。
5.根据权利要求1或2或3或4所述的一种分布式环境下自动调度定时任务的方法,其特征在于所述缓存是拥有主动通知能力的高速缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江万朋教育科技股份有限公司,未经浙江万朋教育科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811123476.9/1.html,转载请声明来源钻瓜专利网。