CN109144704B - 一种分布式环境下自动调度定时任务的方法 - Google Patents

一种分布式环境下自动调度定时任务的方法 Download PDF

Info

Publication number
CN109144704B
CN109144704B CN201811123476.9A CN201811123476A CN109144704B CN 109144704 B CN109144704 B CN 109144704B CN 201811123476 A CN201811123476 A CN 201811123476A CN 109144704 B CN109144704 B CN 109144704B
Authority
CN
China
Prior art keywords
time
task
delivery
load
target system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811123476.9A
Other languages
English (en)
Other versions
CN109144704A (zh
Inventor
李亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Wanpeng Digital Intelligence Technology Co ltd
Original Assignee
Zhejiang Wanpeng Education Science And Technology Stock Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Wanpeng Education Science And Technology Stock Co ltd filed Critical Zhejiang Wanpeng Education Science And Technology Stock Co ltd
Priority to CN201811123476.9A priority Critical patent/CN109144704B/zh
Publication of CN109144704A publication Critical patent/CN109144704A/zh
Application granted granted Critical
Publication of CN109144704B publication Critical patent/CN109144704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种分布式环境下自动调度定时任务的方法。本发明包括如下步骤:1、***初始化:2、采用选举算法,选择分布式环境中的某一个***作为Master,通过缓存监听分布式环境下各个***的负载,并在本地维护一个排序二叉树的集合;3、Master采用时间窗格分析法开始执行调度计划;4、Master从负载集合中选择一个负载因子最小的***作为目标***,并尝试获取当前定时任务“所有权”;5、目标***接收到当前定时任务后,需要验证是否投递超时;考虑到网络传输时间的影响,通过超时因子a判断是否需要执行该任务。本发明解决了单机模式下性能瓶颈问题;大大提升了***执行任务的效率与稳定性;使集群资源可以得到充分利用,降低资源浪费。

Description

一种分布式环境下自动调度定时任务的方法
技术领域
本发明属于分布式***领域,涉及到一种分布式环境下自动调度定时任务的方法。
背景技术
***随着时间的演变,功能会越来越复杂,同时,也会伴随产生海量的数据,在传统单机模式下,由于受到单机计算能力的限制,***的数据统计任务运行时间将不可控,并且,高负载下的***稳定性也将大大折扣,业务失败率的大幅度提高,***的数据统计将会是一个沉重的任务,为此,需要一种能充分利用分布式计算资源的方法来解决该问题。
发明内容
本发明主要目的是针对现在技术的不足,提供一种分布式环境下自动调度定时任务的方法。
本发明需要基于一个拥有主动通知能力的高速缓存,后文简称缓存,所采用的技术方案包括如下步骤:
步骤1、***初始化:
1-1.生成唯一标识ID,并将标识ID和***属性注册到高速缓存,并监听私有的任务投递地址以便接收投递的任务;
1-2.启动一个***负载计算和上报的任务,以T为时间间隔上传***自身负载信息到指定缓存区域,***自身负载由负载因子表示,符号F,设参与负载因子计算的性能指标为x,权值为w,则可表示如下:
Figure BDA0001811784780000011
其中,xi表示第i个性能指标;wi表示第i个性能指标对应的权值;
步骤2、采用选举算法,选择分布式环境中的某一个***作为Master,通过缓存监听分布式环境下各个***的负载,并在本地维护一个排序二叉树的集合,用于存储各个***的负载数据,设F为负载因子,ID为***唯一标识,则集合表示如下:
Collection=SortTree<F,ID>
步骤3、Master开始执行调度计划,其中调度计划采用时间窗格分析法。即首次调度时,时间窗格以***启动时间为开始时间,结束时间为开始时间加上时间间隔,采用半闭半开区间,最后记录该区间的结束时间作为下一个相邻区间的开始时间,以此类推,设Tlaunch为***启动时间,Tend为上一个相邻区间的时间窗格结束时间,i为时间间隔,则可表示如下:
Figure BDA0001811784780000021
步骤4、Master从负载集合中选择一个负载因子最小的***作为目标***,并尝试获取当前定时任务“所有权”,若成功获得“所有权”,则标记当前定时任务为不可调度状态,并提交给投递线程;反之,则忽略本次调度。为了避免任务被投递到无效***,导致调度跳空,投递线程接收到当前定时任务后,先设置投递开始时间t0和投递超时时间t1;再将当前定时任务发送到指定目标***的任务监听地址,并等待目标***反馈;若投递的目标***在指定投递超时时间t1内进行了反馈,则投递成功;反之则将该目标***的负载因子按需增加,再重新为投递不成功的当前定时任务选择新的目标***,重新执行投递过程。
所述的目标***的负载因子按需增加是为了降低该目标***被选中的几率;且按需增加形式如下:若负载因子小于0.5,则置为0.5,若负载因子大于等于0.5,则置为1。
步骤5、目标***(任务执行者)接收到当前定时任务之后,需要验证是否投递超时;考虑到网络传输时间的影响,故设置一个超时因子a,若实际投递的时间t3大于实际投递超时时间t4,则忽略该任务;反之则反馈Master,执行该任务,当任务执行完成,***需要更新任务原信息并保证任务“所有权”的释放,完成本次任务调度。
所述的实际投递时间t3等于目标***接收投递任务的时间t5减去投递开始时间t0,即t3=t5-t0;实际投递超时时间t4=t1*a;所述的超时因子根据网络情况而定,取值范围在(0,1)。
本发明有益效果如下:
(1)解决了单机模式下性能瓶颈问题;
(2)大大提升了***执行任务的效率与稳定性;
(3)使集群资源可以得到充分利用,降低资源浪费;
(4)理论上可以随着集群无限扩展,大大提高集群运算效率。
具体实施方式
下面结合实施例对本发明作进一步说明。
一种分布式环境下自动调度定时任务的方法,具体实现步骤如下:
步骤1、***初始化:
1-1.生成唯一标识ID,并将标识ID和***属性注册到高速缓存,并监听私有的任务投递地址以便接收投递的任务;
1-2.启动一个***负载计算和上报的任务,以T为时间间隔上传***自身负载信息到指定缓存区域,***自身负载由负载因子表示,符号F,设参与负载因子计算的性能指标为x,权值为w,则可表示如下:
Figure BDA0001811784780000031
其中,xi表示第i个性能指标;wi表示第i个性能指标对应的权值;
步骤2、采用选举算法,选择分布式环境中的某一个***作为Master,通过缓存监听分布式环境下各个***的负载,并在本地维护一个排序二叉树的集合,用于存储各个***的负载数据,设F为负载因子,ID为***唯一标识,则集合表示如下:
Collection=SortTree<F,ID>
步骤3、Master开始执行调度计划,其中调度计划采用时间窗格分析法。即首次调度时,时间窗格以***启动时间为开始时间,结束时间为开始时间加上时间间隔,采用半闭半开区间,最后记录该区间的结束时间作为下一个相邻区间的开始时间,以此类推,设Tlaunch为***启动时间,Tend为上一个相邻区间的时间窗格结束时间,i为时间间隔,则可表示如下:
Figure BDA0001811784780000041
步骤4、Master从负载集合中选择一个负载因子最小的***作为目标***,并尝试获取当前定时任务“所有权”,若成功获得“所有权”,则标记当前定时任务为不可调度状态,并提交给投递线程;反之,则忽略本次调度。为了避免任务被投递到无效***,导致调度跳空,投递线程接收到当前定时任务后,先设置投递开始时间t0和投递超时时间t1;再将当前定时任务发送到指定目标***的任务监听地址,并等待目标***反馈;若投递的目标***在指定投递超时时间t1内进行了反馈,则投递成功;反之则将该目标***的负载因子按需增加,再重新为投递不成功的当前定时任务选择新的目标***,重新执行投递过程。
所述的目标***的负载因子按需增加是为了降低该目标***被选中的几率;且按需增加形式如下:若负载因子小于0.5,则置为0.5,若负载因子大于等于0.5,则置为1。
步骤5、目标***(任务执行者)接收到当前定时任务之后,需要验证是否投递超时;考虑到网络传输时间的影响,故设置一个超时因子a,若实际投递的时间t3大于实际投递超时时间t4,则忽略该任务;反之则反馈Master,执行该任务,当任务执行完成,***需要更新任务原信息并保证任务“所有权”的释放,完成本次任务调度。
所述的实际投递时间t3等于目标***接收投递任务的时间t5减去投递开始时间t0,即t3=t5-t0;实际投递超时时间t4=t1*a;所述的超时因子根据网络情况而定,取值范围在(0,1)。

Claims (5)

1.一种分布式环境下自动调度定时任务的方法,其特征在于包括如下步骤:
步骤1、***初始化:
1-1.生成唯一标识ID,并将标识ID和***属性注册到高速缓存,并监听私有的任务投递地址以便接收投递的任务;
1-2.启动一个***负载计算和上报的任务,以T为时间间隔上传***自身负载信息到指定缓存区域,***自身负载由负载因子表示,符号F,设参与负载因子计算的性能指标为x,权值为w,则可表示如下:
Figure FDA0002947274540000011
其中,xi表示第i个性能指标;wi表示第i个性能指标对应的权值;
步骤2、采用选举算法,选择分布式环境中的某一个***作为Master,通过缓存监听分布式环境下各个***的负载,并在本地维护一个排序二叉树的集合,用于存储各个***的负载数据,设F为负载因子,ID为***唯一标识,则集合表示如下:
Collection=SortTree<F,ID>
步骤3、Master开始执行调度计划,其中调度计划采用时间窗格分析法;即首次调度时,时间窗格以***启动时间为开始时间,结束时间为开始时间加上时间间隔,采用半闭半开区间,最后记录该区间的结束时间作为下一个相邻区间的开始时间,以此类推,设Tlaunch为***启动时间,Tend为上一个相邻区间的时间窗格结束时间,i为时间间隔,则可表示如下:
Figure FDA0002947274540000012
步骤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所述的一种分布式环境下自动调度定时任务的方法,其特征在于所述缓存是拥有主动通知能力的高速缓存。
CN201811123476.9A 2018-09-26 2018-09-26 一种分布式环境下自动调度定时任务的方法 Active CN109144704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811123476.9A CN109144704B (zh) 2018-09-26 2018-09-26 一种分布式环境下自动调度定时任务的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811123476.9A CN109144704B (zh) 2018-09-26 2018-09-26 一种分布式环境下自动调度定时任务的方法

Publications (2)

Publication Number Publication Date
CN109144704A CN109144704A (zh) 2019-01-04
CN109144704B true CN109144704B (zh) 2021-04-20

Family

ID=64812549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811123476.9A Active CN109144704B (zh) 2018-09-26 2018-09-26 一种分布式环境下自动调度定时任务的方法

Country Status (1)

Country Link
CN (1) CN109144704B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761148A (zh) * 2014-01-26 2014-04-30 北京京东尚科信息技术有限公司 集群定时调度任务的控制方法
CN105302638A (zh) * 2015-11-04 2016-02-03 国家计算机网络与信息安全管理中心 基于***负载的mpp集群任务调度方法
CN106126332A (zh) * 2016-06-27 2016-11-16 北京京东尚科信息技术有限公司 分布式定时任务调度***及方法
CN107092523A (zh) * 2017-04-14 2017-08-25 浙江数链科技有限公司 定时任务的调度方法和***
CN108255592A (zh) * 2017-12-19 2018-07-06 武汉市烽视威科技有限公司 一种Quartz集群定时任务处理***及方法
CN108345501A (zh) * 2017-01-24 2018-07-31 全球能源互联网研究院 一种分布式资源调度方法和***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047129B2 (en) * 2012-07-23 2015-06-02 Adobe Systems Incorporated Systems and methods for load balancing of time-based tasks in a distributed computing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761148A (zh) * 2014-01-26 2014-04-30 北京京东尚科信息技术有限公司 集群定时调度任务的控制方法
CN105302638A (zh) * 2015-11-04 2016-02-03 国家计算机网络与信息安全管理中心 基于***负载的mpp集群任务调度方法
CN106126332A (zh) * 2016-06-27 2016-11-16 北京京东尚科信息技术有限公司 分布式定时任务调度***及方法
CN108345501A (zh) * 2017-01-24 2018-07-31 全球能源互联网研究院 一种分布式资源调度方法和***
CN107092523A (zh) * 2017-04-14 2017-08-25 浙江数链科技有限公司 定时任务的调度方法和***
CN108255592A (zh) * 2017-12-19 2018-07-06 武汉市烽视威科技有限公司 一种Quartz集群定时任务处理***及方法

Also Published As

Publication number Publication date
CN109144704A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN109828935B (zh) 一种基于can fd总线的并行刷写方法
CN110191148B (zh) 一种面向边缘计算的统计函数分布式执行方法及***
CN111897638B (zh) 分布式任务调度方法及***
CN105468450A (zh) 任务调度方法及***
CN108023908A (zh) 数据更新方法、装置及***
CN103780679A (zh) 基于http协议的长延时远程调用方法
WO2022141727A1 (zh) 一种基于云上成本的资源部署***及方法
CN105187327A (zh) 一种分布式消息队列中间件
US11392414B2 (en) Cooperation-based node management protocol
CN110417882B (zh) 主节点的确定方法、装置和存储介质
CN102750368A (zh) 一种数据库集群数据高速导入方法
CN109144704B (zh) 一种分布式环境下自动调度定时任务的方法
CN113641472A (zh) 分布式应用的异转同实现方法及装置
CN111475333A (zh) 一种基于openstack的数据库备份方法及装置
CN110750362A (zh) 生物信息的分析方法、装置和存储介质
CN115526586A (zh) 一种基于智能运算的业务流程处理方法
CN114237858A (zh) 一种基于多集群网络的任务调度方法及***
WO2023273157A1 (zh) 一种工作流生成方法、装置、设备及存储介质
CN116089079A (zh) 一种基于大数据的计算机资源分配管理***及方法
CN113238841B (zh) 一种基于云计算技术的任务调度方法
CN115357395A (zh) 故障设备任务转移方法及***、电子设备和存储介质
CN110868395B (zh) 一种基于收发单框架的大并发业务处理方法、设备及介质
CN108683612B (zh) 一种消息获取方法和装置
CN113065848A (zh) 一种支持多类集群后端的深度学习调度***及调度方法
CN111324473A (zh) 可实现高并发处理交易信息的拍卖交易引擎

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee after: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.

Address before: Room 1406, Hangzhou e-commerce building, 118 Wensan West Road, Xihu District, Hangzhou City, Zhejiang Province, 310013

Patentee before: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee after: Zhejiang Wanpeng Digital Intelligence Technology Co.,Ltd.

Address before: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee before: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.