CN110275770A - 任务均衡调度方法、系统、节点及电子设备 - Google Patents
任务均衡调度方法、系统、节点及电子设备 Download PDFInfo
- Publication number
- CN110275770A CN110275770A CN201810215024.7A CN201810215024A CN110275770A CN 110275770 A CN110275770 A CN 110275770A CN 201810215024 A CN201810215024 A CN 201810215024A CN 110275770 A CN110275770 A CN 110275770A
- Authority
- CN
- China
- Prior art keywords
- task
- node
- configuration service
- blocking time
- working
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种任务均衡调度方法、系统、节点及电子设备。该任务均衡调度方法包括:任务发布节点向配置服务节点发布任务;所述配置服务节点通知任务工作节点有任务更新;所述任务工作节点在接收到所述通知后,根据自身的负载情况计算阻塞时间,并执行阻塞;所述任务工作节点在达到所述阻塞时间时,在所述配置服务节点中抢占任务。本发明提供的任务均衡调度方法、系统、节点及电子设备,通过任务工作节点自主阻塞式抢占任务的方式,即任务工作节点在运行任务的同时也可抢占任务,实现了每个任务工作节点同时运行多个任务情况下的负载均衡。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务均衡调度方法、系统、节点及电子设备。
背景技术
在资源调度系统中,需要解决的核心问题是如何将任务资源以最优的方式分配到工作节点上。
现有的资源调度系统,例如分布式定时服务系统(Distributed TimeService,简称DTS),如图1所示,包括以下几个组件:Dts-Console,用于与用户交互,实现任务的创建、销毁;Dts-Client,执行server分配下来的定时任务;Dts-Server,调度分配任务;MySql,存储用户的定时任务元数据;Zookeeper,用于Dts集群的服务发现。其工作原理如下:用户从Dts-Console创建任务,存储在Mysql数据库中,Dts-Server定时查询Mysql数据库中的任务,根据任务状态,实时将任务分配到Zookeeper配置集群上,由每个定时任务工作机Dts-Client在配置集群上进行争抢或抢占。每个工作机Dts-Client一次只能抢占一个任务,在工作机Dts-Client运行任务的过程中,并不抢占其他任务。
发明人在实现本发明的过程中,发现现有技术至少存在如下缺陷:工作机每次只能抢占一个任务,且在工作机运行任务的过程中,并不抢占其他任务,因此无法实现工作机同时运行多个任务情况下的负载均衡。
发明内容
本发明提供一种任务均衡调度方法、系统、节点及电子设备,以实现每个任务工作节点同时运行多个任务情况下的负载均衡。
为达到上述目的,本发明采用如下技术方案:
一方面,本发明提供一种任务均衡调度方法,包括:任务发布节点向配置服务节点发布任务;所述配置服务节点通知任务工作节点有任务更新;所述任务工作节点在接收到所述通知后,根据自身的负载情况计算阻塞时间,并执行阻塞;所述任务工作节点在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
另一方面,本发明还提供一种任务均衡调度系统,包括:任务发布节点,用于向配置服务节点发布任务;所述配置服务节点,用于通知任务工作节点有任务更新;所述任务工作节点,用于在接收到所述通知后,根据自身的负载情况计算阻塞时间,并执行阻塞;且在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
另一方面,本发明还提供一种电子设备,包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于执行所述程序,以用于:控制任务发布节点向配置服务节点发布任务;控制所述配置服务节点通知任务工作节点有任务更新;控制所述任务工作节点在接收到所述通知后,根据自身的负载情况计算阻塞时间,并执行阻塞;控制所述任务工作节点在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
另一方面,本发明还提供一种任务均衡调度方法,包括:接收配置服务节点发送的任务更新通知;根据负载情况计算阻塞时间,并执行阻塞;在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
另一方面,本发明还提供一种节点,包括:接收模块,用于接收配置服务节点发送的任务更新通知;执行模块,用于根据负载情况计算阻塞时间,并执行阻塞;抢占模块,用于在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
另一方面,本发明还提供一种电子设备,包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于执行所述程序,以用于:接收配置服务节点发送的任务更新通知;根据负载情况计算阻塞时间,并执行阻塞;在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
本发明提供的任务均衡调度方法、系统、节点及电子设备,通过任务工作节点自主阻塞式抢占任务的方式,即任务工作节点在运行任务的同时也可抢占任务,实现了每个任务工作节点同时运行多个任务情况下的负载均衡。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为现有技术中的分布式定时服务系统DTS的结构示意图;
图2为本发明提供的任务均衡调度方法应用场景示意图;
图3为本发明提供的任务均衡调度方法的工作原理示意图;
图4为本发明提供的任务均衡调度方法一个实施例的流程示意图;
图5为本发明提供的任务均衡调度方法又一个实施例的流程示意图;
图6为配置服务节点中任务抢占树的数据结构示意图;
图7为0.5次/1次/2次/3次反比阻塞时间的示意图;
图8为本发明提供的任务均衡调度系统一个实施例的结构示意图;
图9为本发明提供的任务均衡调度方法又一个实施例的流程示意图;
图10为本发明提供的节点一个实施例的结构示意图;
图11为本发明提供的电子设备一个实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
相关术语说明:
阻塞时间,任务工作节点在接收到任务更新通知后,并不立即去抢占任务,而是等待一段时间即阻塞时间后采去抢占任务。
下面对本发明的技术原理进行说明:
图2为本发明提供的任务均衡调度方法的应用场景示意图。如图2所示,任务发布节点,可以是一个节点或者是一个集群,负责向配置服务节点发布任务。配置服务节点,可以是一个节点,也可以是多个配置服务节点组成的分布式配置服务节点,例如ZK、ETCD和DB等,负责存储统一的配置数据,并向任务工作节点推送配置变化。任务工作节点,可以是若干节点组成的集群,负责具体的任务负载,具体的任务调度由单个任务工作节点自行进行抢占式调度。
图3为本发明提供的任务均衡调度方法的工作原理示意图,如图3所示,任务发布节点向配置服务节点发布任务,配置服务节点通知任务工作节点有任务更新,任务工作节点在接收到通知后,根据自身的负载情况计算阻塞时间,并执行阻塞,任务工作节点在达到阻塞时间时,在配置服务节点中抢占任务。
本发明提供的任务均衡调度方法,任务工作节点根据自身的负载情况自主阻塞式抢占任务,即任务工作节点在运行任务的同时也可抢占任务,且抢占任务的频率根据负载情况的不同成比例分布,负载越重,阻塞时间越长,抢占任务的频率越低,实现了每个任务工作节点同时运行多个任务情况下的负载均衡。
上述实施例是对本发明实施例的技术原理的说明,为了本领域技术人员能够清楚、准确地理解本发明的技术方案,下面将结合附图及具体实施例对本发明的技术方案进行详细的描述。
实施例一
图4为本发明提供的任务均衡调度方法一个实施例的流程示意图。本发明实施例的方法可应用于任务均衡调度系统中。如图4所示,本发明实施例的任务均衡调度方法,具体可包括:
S401,任务发布节点向配置服务节点发布任务。
具体的,任务发布节点可以是一个节点或者是一个集群,负责向配置服务节点发布任务。
S402,配置服务节点通知任务工作节点有任务更新。
具体的,配置服务节点可以是一个节点,也可以是多个配置服务节点组成的分布式配置服务节点,例如ZK、ETCD等,或者任何有一致性功能的配置软件,如单机文件系统、DB等。配置服务节点通知任务工作节点有任务更新。任务更新可以是发布的新任务,也可以是由于任务工作节点宕机或再平衡筛选任务导致的已被抢占的任务的恢复为未被抢占的任务。
S403,任务工作节点在接收到通知后,根据自身的负载情况计算阻塞时间,并执行阻塞。
具体的,任务工作节点可以是若干节点组成的集群,负责具体的任务负载,具体的任务调度由单个任务工作节点自行进行抢占式调度。任务工作节点根据自身的负载情况计算阻塞时间,并执行阻塞。其中,负载越重,阻塞时间越长。进一步的,负载超过阈值,则阻塞时间为无穷大,即不抢占任务。
S404,任务工作节点在达到阻塞时间时,在配置服务节点中抢占任务。
具体的,各任务工作节点在达到各自的阻塞时间时,在配置服务节点中抢占任务。
本发明实施例的任务均衡调度方法,任务工作节点是基于自主阻塞式方法抢占任务的,因此各任务工作节点的负载相近的情况下,各任务工作节点的阻塞时间相近,使得各任务工作节点抢占任务的频率和抢占成功的机率是均匀的,符合我们的预期。在各任务工作节点的负载不均匀的情况下,负载重的任务工作节点的阻塞时间长,抢占任务的频率和抢占成功的机率较小。对于那些负载重的任务工作节点,刚开始时阻塞时间相对较长,而本发明实施例的任务均衡调度方法会减少其抢占任务的频率和抢占成功的机率,提高了其他任务工作节点抢占任务的频率和抢占成功的机率,因此整个任务工作节点集群的负载动态调整。
综上,通过阻塞时间能够反映各任务工作节点的负载情况,基于阻塞时间这个指标控制各任务工作节点抢占任务的频率和抢占成功的机率,最终达到负载均衡。
此处需要说明的是,本发明实施例中的任务可以为静态资源类任务(例如Docker、VM等),也可以为动态资源类任务,典型如Skywalker的长任务(Long Running Services)。
本发明实施例的任务均衡调度方法,任务工作节点根据自身的负载情况自主阻塞式抢占任务,即任务工作节点在运行任务的同时也可抢占任务,且抢占任务的频率根据负载情况的不同成比例分布,负载越重,阻塞时间越长,抢占任务的频率越低,实现了每个任务工作节点同时运行多个任务情况下的负载均衡。
实施例二
图5为本发明提供的任务均衡调度方法又一个实施例的流程示意图。本发明实施例的任务均衡调度方法为图4所示的任务均衡调度方法的一种可行实施方式。如图5所示,本发明实施例的任务均衡调度方法,在图4所示实施例的基础上,具体可包括:
图4所示实施例中的步骤S401具体可包括以下步骤S501。
S501,任务发布节点通过向配置服务节点中,写入任务根节点下的任务持久化节点来发布任务。
具体的,配置服务节点中存储的配置数据的结构可以为一颗任务抢占树,如图6所示,其任务根节点TaskPreRoot为持久化节点(PermanatNode,简称PNode),其大致的数据结构如下:
1)任务根节点TaskPreRoot下面规定为持久化节点PNode,代表的是各个由任务发布节点发布的任务Task,以下简称为任务持久化节点Pnode:Task。这是由任务发布节点写入的,每个任务持久化节点Pnode:Task代表一个特定的任务Task。
2)任务持久化节点Pnode:Task下面规定为非持久化序列化节点(SequentialEphemeral Node,简称Seq-ENode),代表的是当前任务下由哪个任务工作节点Server运行,也即当前任务被哪个任务工作节点抢占,以下简称工作非持久化序列化节点Seq-Enode:Server。这是由任务工作节点写入的,每个工作非持久化序列化节点Seq-ENode:Server代表一个特定的任务工作节点Server。
几种特殊情况:
a)如果没有工作非持久化序列化节点Seq-ENode:Server,即Null,则表示该任务不被任意一个任务工作节点抢占,即该任务不参与抢占。
b)如果同一任务持久化节点Pnode:Task下面有两个或两个以上工作非持久化序列化节点Seq-ENode:Server,则序号最小的工作非持久化序列化节点Seq-ENode:Server为真正的任务工作节点,其他任务工作节点的存在是瞬态的,会很快自动被删除。
任务发布节点通过向配置服务节点中,写入任务根节点TaskPreRoot下的任务持久化节点Pnode:Task来发布任务。
图4所示实施例中的步骤S402具体可包括以下步骤S502。
S502,配置服务节点通知任务工作节点,任务根节点下的任务持久化节点有变更。
具体的,配置服务节点通知任务工作节点,任务根节点TaskPreRoot下的任务持久化节点Pnode:Task有变更,以实现通知任务工作节点有任务更新。进一步的,在配置服务节点中,可以优化定制一个逻辑,即当有多个任务持久化节点Pnode:Task并行发布时,可以批量发布通知,每个批量之间间隔一段时间,如12秒,保证所有的任务工作节点都在争抢达到稳态状态以后,进行下一次任务争抢。一个批量发布的任务数可以小于总的任务工作节点数,如一半。
S503,任务工作节点在接收到通知后,根据自身的负载情况计算阻塞时间,并执行阻塞。
具体的,步骤S503与图4所示实施例中的步骤S403相同,此处不再赘述。
图4所示实施例中的步骤S404具体可包括以下步骤S504。
S504,任务工作节点在达到阻塞时间时,通过在配置服务节点中对应的任务持久化节点下,建立工作非持久化序列化节点的方式去抢占任务。
具体的,任务工作节点在达到自身的阻塞时间时,通过在配置服务节点中对应的任务持久化节点Pnode:Task下,建立工作非持久化序列化节点Seq-ENode:Server的方式,实现抢占任务。
进一步的,考虑到同一个任务被两个或两个以上的任务工作节点抢占时,步骤S504之后,本发明实施例的任务均衡调度方法还可以包括:
S505,任务工作节点对对应的任务持久化节点下的各工作非持久化序列化节点进行查询。
S506,若自身建立的工作非持久化序列化节点的序号,为对应的任务持久化节点下各工作非持久化序列化节点的序号中最小的,则抢占任务成功,并在自身机器上创建任务。
S507,若自身建立的工作非持久化序列化节点的序号,大于对应的任务持久化节点下至少一个工作非持久化序列化节点的序号,则抢占任务失败,并将自身在对应的任务持久化节点下建立的工作非持久化序列化节点删除。
具体的,任务工作节点在对应的任务持久化节点下,建立工作非持久化序列化节点后,对该任务持久化节点下的各工作非持久化序列化节点进行查询。若自身建立的工作非持久化序列化节点的序号,是该任务持久化节点下的各工作非持久化序列化节点的序号中最小的,则抢占任务成功,并在自身机器上创建任务。若自身建立的工作非持久化序列化节点的序号,不是该任务持久化节点下的各工作非持久化序列化节点的序号中最小的,即自身建立的工作非持久化序列化节点的序号,大于该任务持久化节点下至少一个工作非持久化序列化节点的序号,则抢占任务失败,并将自身在该任务持久化节点下建立的工作非持久化序列化节点删除。通过逻辑加锁起到数据一致性保护的作用。
进一步的,考虑到某个任务工作节点宕机时,该任务工作节点抢占的任务该如何处理,步骤S507之后,本发明实施例的任务均衡调度方法还可以包括以下步骤:任务工作节点宕机时,配置服务节点将该任务工作节点建立的全部工作非持久化序列化节点删除,并通知其他任务工作节点有任务更新。其他任务工作节点接收到通知,并抢占任务。
进一步的,当某个任务工作节点在一段时间内负载较大,需要重新再平衡(rebalance)一些任务到其他任务工作节点时,步骤S507之后,本发明实施例的任务均衡调度方法还可以包括以下步骤:任务工作节点筛选出一个性能百分比指标为中间(偏下,如任务为多个)的任务,将在筛选出的任务对应的任务持久化节点下,建立的工作非持久化序列化节点删除;配置服务节点通知其他任务工作节点有任务更新;其他任务工作节点接收到通知,并抢占该筛选出的任务任务。该筛选出的任务被抢占后,任务工作节点将在自身机器上创建的该筛选出的任务删除。
进一步的,步骤S503中,根据自身的负载情况计算阻塞时间,具体可包括以下步骤:
1)任务工作节点根据自身的负载情况,计算自身的性能关键绩效指标(KeyPerformance Indicator,简称KPI)。
具体的,可采用一次指数平滑法,以CPU综合利用率CPU%为例,假设当前CPU利用率为CPU0%,上一分钟的CPU利用率为CPU1%,则CPU综合利用率CPU%为:
CPU%=a*CPU0%+(1-a)CPU1%
其中,0<a<1。一般经验值取a为0.5。
例如,CPU当前利用率为80%,上一分钟的CPU利用率为40%,取a为0.6,则CPU综合利用率CPU%为:
CPU%=0.6*80%+0.4*40%=64%
对于多个指标,则分别进行统计,如Mem综合利用率Mem%,Network综合利用率Network%,Process综合利用率Process%等。
分别统计以后,取多个指标最大值为当前系统的性能关键绩效指标KPI,假设为Stat%。
2)任务工作节点根据性能关键绩效指标KPI,计算阻塞时间。
通过Stat%的反比来计算阻塞时间。阻塞时间Wait Time(Wt)函数如下:
Wt=Pt/(100%-Stat%)n+At
其中,Pt和At(可为负数)是常量,用以调整阻塞时间。n为指数,n越高表示阻塞时间随着Stat%的变化越陡峭。
另外在实际使用中,当Stat%较高,如超过80%时,可直接设置为不参与任务抢占。
下面各个函数列出0.5次反比,1次反比,2次反比,和3次反比的样例公式,均能满足(误差2%以内):Stat%为0%时,不阻塞;Stat%为80%时,阻塞一秒。
3次方反比:Wt=8000000/(100%-Stat%)3-8.2448
2次方反比:Wt=400000/(100-Stat%)2-40.812
1次方反比:Wt=25000/(100%-Stat%)1-252.52
0.5次方反比:Wt=8100/(100%-Stat%)0.5-814.08
图7为0.5次/1次/2次/3次反比阻塞时间的示意图,如图7所示,横轴为Stat%,单位为百分比;纵轴为阻塞时间,单位为毫秒,从上到下依次为0.5次反比曲线、1次反比曲线、2次反比曲线和3次反比曲线。一般情况下,采用图7中的1次反比实现方式即可。
此处需要说明的是,步骤1)中不局限于1次指数平滑法,还可采用其他类似的指数平滑法实现。步骤2)中不局限于列举的4种反比公式(0.5次反比,1次反比,2次反比,和3次反比),还可采用其他类似的反比公式实现。
本发明实施例的任务均衡调度方法,任务工作节点根据自身的负载情况自主阻塞式抢占任务,即任务工作节点在运行任务的同时也可抢占任务,且抢占任务的频率根据负载情况的不同成比例分布,负载越重,阻塞时间越长,抢占任务的频率越低,实现了每个任务工作节点同时运行多个任务情况下的负载均衡。
实施例三
图8为本发明提供的任务均衡调度系统一个实施例的结构示意图。本发明实施例的任务均衡调度系统可用于执行实施例一或实施例二的任务均衡调度方法。如图8所示,本发明实施例的任务均衡调度系统,具体可包括任务发布节点81、配置服务节点82和任务工作节点83。
任务发布节点81,用于向配置服务节点82发布任务。
配置服务节点82,用于通知任务工作节点83有任务更新。
任务工作节点83,用于在接收到通知后,根据自身的负载情况计算阻塞时间,并执行阻塞;且在达到阻塞时间时,在配置服务节点82中抢占任务。
进一步的,负载越重,阻塞时间越长。
进一步的,任务发布节点81具体可用于:通过向配置服务节点中,写入任务根节点下的任务持久化节点来发布任务。
进一步的,配置服务节点82具体可用于:通知任务工作节点,任务根节点下的任务持久化节点有变更。
进一步的,任务工作节点83具体用于:通过在配置服务节点中对应的任务持久化节点下,建立工作非持久化序列化节点的方式去抢占任务。
进一步的,任务工作节点83还可以用于:
对对应的任务持久化节点下的各工作非持久化序列化节点进行查询;若自身建立的工作非持久化序列化节点的序号,为对应的任务持久化节点下各工作非持久化序列化节点的序号中最小的,则抢占任务成功,并在自身机器上创建任务;若自身建立的工作非持久化序列化节点的序号,大于对应的任务持久化节点下至少一个工作非持久化序列化节点的序号,则抢占任务失败,并将自身在对应的任务持久化节点下建立的工作非持久化序列化节点删除。
进一步的,任务工作节点83宕机时,配置服务节点82还可以用于:将任务工作节点建立的全部工作非持久化序列化节点删除;通知其他任务工作节点有任务更新。
进一步的,任务工作节点83还可以用于:将在筛选出的任务对应的任务持久化节点下,建立的工作非持久化序列化节点删除;筛选出的任务被抢占后,将在自身机器上创建的筛选出的任务删除;
配置服务节点82还可以用于:通知其他任务工作节点有任务更新。
进一步的,任务工作节点83具体可用于:根据自身的负载情况,计算自身的性能关键绩效指标KPI;根据性能关键绩效指标KPI,计算阻塞时间。
具体的,本发明实施例中的各节点实现其功能的具体过程可参见实施例一或实施例二中的相关描述,此处不再赘述。
本发明实施例的任务均衡调度系统,任务工作节点根据自身的负载情况自主阻塞式抢占任务,即任务工作节点在运行任务的同时也可抢占任务,且抢占任务的频率根据负载情况的不同成比例分布,负载越重,阻塞时间越长,抢占任务的频率越低,实现了每个任务工作节点同时运行多个任务情况下的负载均衡。
实施例四
图9为本发明提供的任务均衡调度方法又一个实施例的流程示意图。本发明实施例的任务均衡调度方法可应用于任务工作节点中。如图9所示,本发明实施例的任务均衡调度方法,具体可包括:
S901,接收配置服务节点发送的任务更新通知。
具体的,配置服务节点有任务更新时,向任务工作节点发送任务更新通知,通知任务工作节点有任务更新。任务更新可以是发布的新任务,也可以是由于任务工作节点宕机或再平衡筛选任务导致的已被抢占的任务的恢复为未被抢占的任务。任务工作节点在接收该任务更新通知后,执行后续的阻塞操作和抢占任务操作。
S902,根据负载情况计算阻塞时间,并执行阻塞。
具体的,任务工作节点可以是若干节点组成的集群,负责具体的任务负载,具体的任务调度由单个任务工作节点自行进行抢占式调度。任务工作节点根据自身的负载情况计算阻塞时间,并执行阻塞。其中,负载越重,阻塞时间越长。进一步的,负载超过阈值,则阻塞时间为无穷大,即不抢占任务。
S903,在达到阻塞时间时,在配置服务节点中抢占任务。
具体的,各任务工作节点在达到各自的阻塞时间时,在配置服务节点中抢占任务。
本发明实施例的任务均衡调度方法,任务工作节点根据自身的负载情况自主阻塞式抢占任务,即任务工作节点在运行任务的同时也可抢占任务,且抢占任务的频率根据负载情况的不同成比例分布,负载越重,阻塞时间越长,抢占任务的频率越低,实现了每个任务工作节点同时运行多个任务情况下的负载均衡。
实施例五
图10为本发明提供的节点一个实施例的结构示意图。本发明实施例的节点可用于执行实施例四的任务均衡调度方法。如图10所示,本发明实施例的节点,具体可包括接收模块101、执行模块102和抢占模块103。
接收模块101,用于接收配置服务节点发送的任务更新通知。
执行模块102,用于根据负载情况计算阻塞时间,并执行阻塞。
抢占模块103,用于在达到阻塞时间时,在配置服务节点中抢占任务。
具体的,本发明实施例中的各模块实现其功能的具体过程可参见实施例四中的相关描述,此处不再赘述。
本发明实施例的节点,根据自身的负载情况自主阻塞式抢占任务,即在运行任务的同时也可抢占任务,且抢占任务的频率根据负载情况的不同成比例分布,负载越重,阻塞时间越长,抢占任务的频率越低,实现了每个节点同时运行多个任务情况下的负载均衡。
实施例六
以上描述了任务均衡调度系统的内部功能和结构,图11为本发明实施例提供的电子设备的结构示意图,如图11所示,实际中,上述实施例中的任务均衡调度系统可实现为一种电子设备,可以包括:存储器111和处理器112。
存储器111,用于存储程序。
除上述程序之外,存储器111还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,例如线上购物平台、线上电商平台、电话簿数据,消息,图片,视频等。
存储器111可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器112,耦合至存储器111,用于执行存储器111中的程序。
在一种可能的实现方式中,该程序可用于:
控制任务发布节点向配置服务节点发布任务;
控制配置服务节点通知任务工作节点有任务更新;
控制任务工作节点在接收到通知后,根据自身的负载情况计算阻塞时间,并执行阻塞;
控制任务工作节点在达到阻塞时间时,在配置服务节点中抢占任务。
在另一种可能的实现方式中,该程序可用于:
接收配置服务节点发送的任务更新通知;
根据负载情况计算阻塞时间,并执行阻塞;
在达到阻塞时间时,在配置服务节点中抢占任务。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图11所示,电子设备还可以包括:通信组件113、电源组件114、音频组件115、显示器116等其它组件。图11中仅示意性给出部分组件,并不意味着电子设备只包括图11所示组件。
通信组件113被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件113经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件113还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件114,为电子设备的各种组件提供电力。电源组件114可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件115被配置为输出和/或输入音频信号。例如,音频组件115包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器111或经由通信组件113发送。在一些实施例中,音频组件115还包括一个扬声器,用于输出音频信号。
显示器116包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (14)
1.一种任务均衡调度方法,其特征在于,包括:
任务发布节点向配置服务节点发布任务;
所述配置服务节点通知任务工作节点有任务更新;
所述任务工作节点在接收到所述通知后,根据自身的负载情况计算阻塞时间,并执行阻塞;
所述任务工作节点在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
2.根据权利要求1所述的任务均衡调度方法,其特征在于,所述根据自身的负载情况计算阻塞时间,包括:
负载越重,所述阻塞时间越长。
3.根据权利要求1所述的任务均衡调度方法,其特征在于,所述任务发布节点向配置服务节点发布任务,包括:
所述任务发布节点通过向所述配置服务节点中,写入任务根节点下的任务持久化节点来发布任务。
4.根据权利要求3所述的任务均衡调度方法,其特征在于,所述配置服务节点通知任务工作节点有任务更新,包括:
所述配置服务节点通知所述任务工作节点,所述任务根节点下的所述任务持久化节点有变更。
5.根据权利要求4所述的任务均衡调度方法,其特征在于,所述任务工作节点在所述配置服务节点中抢占任务,包括:
所述任务工作节点通过在所述配置服务节点中对应的所述任务持久化节点下,建立工作非持久化序列化节点的方式去抢占任务。
6.根据权利要求5所述的任务均衡调度方法,其特征在于,所述任务工作节点在所述配置服务节点中对应的所述任务持久化节点下,建立所述工作非持久化序列化节点之后,还包括:
所述任务工作节点对所述对应的所述任务持久化节点下的各所述工作非持久化序列化节点进行查询;
若自身建立的所述工作非持久化序列化节点的序号,为所述对应的所述任务持久化节点下各所述工作非持久化序列化节点的序号中最小的,则抢占任务成功,并在自身机器上创建任务;
若自身建立的所述工作非持久化序列化节点的序号,大于所述对应的所述任务持久化节点下至少一个所述工作非持久化序列化节点的序号,则抢占任务失败,并将自身在所述对应的所述任务持久化节点下建立的所述工作非持久化序列化节点删除。
7.根据权利要求6所述的任务均衡调度方法,其特征在于,还包括:
所述任务工作节点宕机时,所述配置服务节点将所述任务工作节点建立的全部所述工作非持久化序列化节点删除;
所述配置服务节点通知其他任务工作节点有任务更新。
8.根据权利要求6所述的任务均衡调度方法,其特征在于,还包括:
所述任务工作节点将在筛选出的任务对应的所述任务持久化节点下,建立的所述工作非持久化序列化节点删除;
所述配置服务节点通知其他任务工作节点有任务更新;
所述筛选出的任务被抢占后,所述任务工作节点将在自身机器上创建的所述筛选出的任务删除。
9.根据权利要求2所述的任务均衡调度方法,其特征在于,所述根据自身的负载情况计算阻塞时间,包括:
所述任务工作节点根据自身的负载情况,计算自身的性能关键绩效指标KPI;
所述任务工作节点根据所述性能关键绩效指标KPI,计算所述阻塞时间。
10.一种任务均衡调度系统,其特征在于,包括:
任务发布节点,用于向配置服务节点发布任务;
所述配置服务节点,用于通知任务工作节点有任务更新;
所述任务工作节点,用于在接收到所述通知后,根据自身的负载情况计算阻塞时间,并执行阻塞;且在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
11.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
控制任务发布节点向配置服务节点发布任务;
控制所述配置服务节点通知任务工作节点有任务更新;
控制所述任务工作节点在接收到所述通知后,根据自身的负载情况计算阻塞时间,并执行阻塞;
控制所述任务工作节点在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
12.一种任务均衡调度方法,其特征在于,包括:
接收配置服务节点发送的任务更新通知;
根据负载情况计算阻塞时间,并执行阻塞;
在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
13.一种节点,其特征在于,包括:
接收模块,用于接收配置服务节点发送的任务更新通知;
执行模块,用于根据负载情况计算阻塞时间,并执行阻塞;
抢占模块,用于在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
14.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
接收配置服务节点发送的任务更新通知;
根据负载情况计算阻塞时间,并执行阻塞;
在达到所述阻塞时间时,在所述配置服务节点中抢占任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810215024.7A CN110275770B (zh) | 2018-03-15 | 2018-03-15 | 任务均衡调度方法、系统、节点及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810215024.7A CN110275770B (zh) | 2018-03-15 | 2018-03-15 | 任务均衡调度方法、系统、节点及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110275770A true CN110275770A (zh) | 2019-09-24 |
CN110275770B CN110275770B (zh) | 2023-09-22 |
Family
ID=67958093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810215024.7A Active CN110275770B (zh) | 2018-03-15 | 2018-03-15 | 任务均衡调度方法、系统、节点及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110275770B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114971594A (zh) * | 2022-07-28 | 2022-08-30 | 北京有生深境技术有限公司 | 一种基于抢占式办公模式的工作流引擎 |
CN115617497A (zh) * | 2022-12-14 | 2023-01-17 | 阿里巴巴达摩院(杭州)科技有限公司 | 线程处理方法、调度组件、监测组件、服务器和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622275A (zh) * | 2012-04-19 | 2012-08-01 | 吴常国 | 一种云计算环境下负载均衡实现方法 |
CN102929711A (zh) * | 2012-09-24 | 2013-02-13 | 浙江大学 | 一种软件实时事务内存的实现方法 |
CN103037019A (zh) * | 2013-01-07 | 2013-04-10 | 北京华胜天成科技股份有限公司 | 一种基于云计算的分布式数据采集系统及方法 |
US20130326523A1 (en) * | 2012-06-02 | 2013-12-05 | Texas Instruments Incorporated | Resource Sharing Aware Task Partitioning for Multiprocessors |
US20130329559A1 (en) * | 2012-06-08 | 2013-12-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication network congestion control using allocation and retention priority |
CN103986766A (zh) * | 2014-05-19 | 2014-08-13 | 中国工商银行股份有限公司 | 自适应负载均衡作业任务调度方法及装置 |
CN105893148A (zh) * | 2016-03-30 | 2016-08-24 | 华侨大学 | 一种基于rm策略的偶发任务低能耗调度方法 |
US20170031743A1 (en) * | 2015-07-31 | 2017-02-02 | AppDynamics, Inc. | Quorum based distributed anomaly detection and repair |
CN107229511A (zh) * | 2017-05-11 | 2017-10-03 | 东软集团股份有限公司 | 集群任务均衡调度方法、装置、存储介质及电子设备 |
-
2018
- 2018-03-15 CN CN201810215024.7A patent/CN110275770B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622275A (zh) * | 2012-04-19 | 2012-08-01 | 吴常国 | 一种云计算环境下负载均衡实现方法 |
US20130326523A1 (en) * | 2012-06-02 | 2013-12-05 | Texas Instruments Incorporated | Resource Sharing Aware Task Partitioning for Multiprocessors |
US20130329559A1 (en) * | 2012-06-08 | 2013-12-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication network congestion control using allocation and retention priority |
CN102929711A (zh) * | 2012-09-24 | 2013-02-13 | 浙江大学 | 一种软件实时事务内存的实现方法 |
CN103037019A (zh) * | 2013-01-07 | 2013-04-10 | 北京华胜天成科技股份有限公司 | 一种基于云计算的分布式数据采集系统及方法 |
CN103986766A (zh) * | 2014-05-19 | 2014-08-13 | 中国工商银行股份有限公司 | 自适应负载均衡作业任务调度方法及装置 |
US20170031743A1 (en) * | 2015-07-31 | 2017-02-02 | AppDynamics, Inc. | Quorum based distributed anomaly detection and repair |
CN105893148A (zh) * | 2016-03-30 | 2016-08-24 | 华侨大学 | 一种基于rm策略的偶发任务低能耗调度方法 |
CN107229511A (zh) * | 2017-05-11 | 2017-10-03 | 东软集团股份有限公司 | 集群任务均衡调度方法、装置、存储介质及电子设备 |
Non-Patent Citations (4)
Title |
---|
MATTHIAS MUCHA等: ""Estimation of Worst Case Response Time boundaries in multi-core real-time systems"", 《2017 INTERNATIONAL CONFERENCE ON APPLIED ELECTRONICS (AE)》 * |
MATTHIAS MUCHA等: ""Estimation of Worst Case Response Time boundaries in multi-core real-time systems"", 《2017 INTERNATIONAL CONFERENCE ON APPLIED ELECTRONICS (AE)》, 2 October 2017 (2017-10-02) * |
余莹等: ""异构系统中一种基于可用性的抢占式任务调度算法"", 《计算机应用研究》 * |
余莹等: ""异构系统中一种基于可用性的抢占式任务调度算法"", 《计算机应用研究》, vol. 27, no. 7, 31 July 2010 (2010-07-31), pages 2498 - 2501 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114971594A (zh) * | 2022-07-28 | 2022-08-30 | 北京有生深境技术有限公司 | 一种基于抢占式办公模式的工作流引擎 |
CN115617497A (zh) * | 2022-12-14 | 2023-01-17 | 阿里巴巴达摩院(杭州)科技有限公司 | 线程处理方法、调度组件、监测组件、服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110275770B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102760074B (zh) | 用于高负荷业务流程可扩展性的方法及其系统 | |
CN103309946B (zh) | 多媒体文件处理方法、装置及系统 | |
CN110247954A (zh) | 一种分布式任务的调度方法及系统 | |
DE102020203877A1 (de) | Verfahren und einrichtungen zum steuern einer verarbeitung von telemetriedaten auf einer edge-plattform | |
CN103309738B (zh) | 用户作业调度方法及装置 | |
CN108694199A (zh) | 数据同步装置、方法、存储介质及电子设备 | |
US20190130365A1 (en) | Generating notifications in a room management system | |
CN109408205A (zh) | 基于hadoop集群的任务调度方法和装置 | |
CN109656690A (zh) | 调度系统、方法和存储介质 | |
CN115280325A (zh) | 联邦学习中的参数共享 | |
CN107295090A (zh) | 一种资源调度的方法和装置 | |
CN108701132A (zh) | 资源管理系统和方法 | |
CN110275770A (zh) | 任务均衡调度方法、系统、节点及电子设备 | |
JP2015204013A (ja) | ワークフロー管理装置、ワークフロー管理方法およびワークフロー管理プログラム | |
CN112463535A (zh) | 多集群异常处理方法及装置 | |
CN110199262A (zh) | 针对基于云的联网应用的容量缩放 | |
CN110751458A (zh) | 一种业务审批方法、装置和系统 | |
Li et al. | Efficient online scheduling for coflow-aware machine learning clusters | |
CN104008504A (zh) | 基于Multi-Agent的股票市场分布式仿真方法 | |
CN106888264B (zh) | 一种数据交换方法和装置 | |
CN110400085A (zh) | 信息处理方法、信息处理装置和信息处理系统 | |
CN106919386A (zh) | 基于arinc653操作系统生成代码的方法与装置 | |
CN104410511A (zh) | 一种服务器管理方法及系统 | |
Nazarathy et al. | Near optimal control of queueing networks over a finite time horizon | |
CN113419921B (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 |