一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

任务调度方法、装置、电子设备和计算机存储介质与流程

2021-11-05 22:54:00 来源:中国专利 TAG:


1.本技术涉及计算机集群技术领域,具体地,涉及一种任务调度方法、装置、电子设备和计算机存储介质。


背景技术:

2.在生产环境中,为了保证业务系统的处理能力与稳定性要求,通常采用集群方式进行系统构建。集群方式是指通过多台服务器去共同执行某一类业务,然后通过调度服务对任务的执行情况进行调度。
3.现有技术中存在的问题:
4.目前系统使用的调度算法无法充分利用系统资源来实现负载均衡,负载均衡效果较差。


技术实现要素:

5.本技术实施例中提供了一种任务调度方法、装置、电子设备和计算机存储介质,以解决现有技术存在的问题。
6.根据本技术实施例的第一个方面,提供了一种任务调度方法,所述方法包括:
7.获取任务;
8.依据多个节点设备的当前负载信息和所述任务在所述多个节点设备上的预期执行信息,从所述多个节点设备中确定目标节点设备;
9.将所述任务调度至所述目标节点设备。
10.根据本技术实施例的第二个方面,提供了一种任务调度方法,所述方法包括:
11.获取任务分片,所述任务分片是按照关键帧间隔gop对多媒体信息编码任务进行切分得到的;
12.依据多个节点设备的当前负载信息和所述任务分片在所述多个节点设备上的预期执行信息,从所述多个节点设备中确定目标节点设备;
13.将所述任务分片调度至所述目标节点设备。
14.根据本技术实施例的第三个方面,提供了一种任务调度装置,所述装置包括:
15.获取模块,用于获取任务;
16.确定模块,用于依据多个节点设备的当前负载信息和所述任务在所述多个节点设备上的预期执行信息,从所述多个节点设备中确定目标节点设备;
17.调度模块,用于将所述任务调度至所述目标节点设备。
18.根据本技术实施例的第四个方面,提供了一种电子设备,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如上所述任务调度方法的步骤。
19.根据本技术实施例的第五个方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述任务调度方法的步骤。
20.采用本技术实施例中提供的任务调度方法、装置、电子设备和计算机存储介质,通过依据多个节点设备的当前负载信息和任务在多个节点设备上的预期执行信息,对任务进行调度分配。在进行任务调度分配时,不仅考虑节点设备的当前负载信息,还考虑任务在节点设备上的预期执行信息,可以多维度的衡量节点设备的资源状况,相较于现有技术中仅依据单一维度的资源使用情况进行负载均衡的方式,本技术实施例提供的方案能够实现资源的最大化利用,实现负载均衡。
附图说明
21.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
22.图1为本技术实施例提供的一种应用场景的示意图;
23.图2为本技术实施例提供的一种电子设备的结构示意图;
24.图3为本技术实施例提供的一种任务调度方法的流程示意图;
25.图4为本技术实施例提供的另一种任务调度方法的流程示意图;
26.图5为本技术实施例提供的又一种任务调度方法的流程示意图;
27.图6为本技术实施例提供的又一种任务调度方法的流程示意图;
28.图7为本技术实施例提供的又一种任务调度方法的流程示意图;
29.图8为本技术实施例提供的又一种任务调度方法的流程示意图;
30.图9为本技术实施例提供的一种电子设备的任务分析处理示意图;
31.图10为本技术实施例提供的一种任务调度装置的结构框图。
具体实施方式
32.在实现本技术的过程中,发明人发现,现有的调度算法中,加权轮询和fair策略考虑服务器的负载因素,进行任务调度,并不能实现负载均衡;ip hash算法和url hash算法中,将客户端与服务器进行绑定,客户端的任务均调度至与其绑定的服务器,一旦与服务器绑定的客户端任务多,该服务器负载就高,也无法实现负载均衡。
33.针对上述问题,本技术实施例中提供了一种任务调度方法、装置、电子设备和计算机存储介质,通过依据多个节点设备的当前负载信息和任务在多个节点设备上的预期执行信息,对任务进行调度分配。在进行任务调度分配时,不仅考虑节点设备的当前负载信息,还考虑任务在节点设备上的预期执行信息,可以多维度的衡量节点设备的资源状况,相较于现有技术中仅依据单一维度的资源使用情况进行负载均衡的方式,本技术实施例提供的方案能够实现资源的最大化利用,实现负载均衡。
34.本技术实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。
35.为了使本技术实施例中的技术方案及优点更加清楚明白,以下结合附图对本技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本技术的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
36.请参照图1,为本技术实施例提供的一种应用场景示意图,电子设备100与客户端
200和节点设备300通过多种通信方式进行数据通信。这里可允许电子设备100通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。
37.客户端200用于向电子设备100发送任务。电子设备100用于采用本技术提供的任务调度方法将任务调度分配至对应的节点设备300。
38.其中,客户端200可以理解为用户的业务层,电子设备100可以理解为调度服务的中间层,节点设备300可以理解为执行层。电子设备100和节点设备300均可以为服务器;客户端200可以是,但不限于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmentedreality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra

mobile personal computer,umpc)等。
39.电子设备100可以采用一台服务器实现调度服务,也可以采用多台服务器联合实现调度服务。
40.如图2所示,为本技术实施例提供的一种电子设备100的结构示意图,该电子设备100包括存储器101、处理器102和通信接口103。该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,如本技术实施例所提供的任务调度方法对应的程序指令/模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与节点设备300和客户端200进行信令或数据的通信。在本技术中该电子设备100可以具有多个通信接口103。
41.其中,存储器101可以是但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read

onlymemory,prom),可擦除只读存储器(erasable programmable read

only memory,eprom),电可擦除只读存储器(electric erasable programmable read

only memory,eeprom)等。
42.处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
43.下面在图2示出的电子设备100的基础上,本技术实施例提供一种任务调度方法,请参见图3,图3为本技术实施例提供的一种任务调度方法的流程示意图,该任务调度方法可以包括以下步骤:
44.s401,获取任务。
45.该任务可以理解为用于实现特定目的或功能的一个或多个操作的集合,例如,可以是web请求任务、分布式计算任务、多媒体信息转码任务、多媒体信息录播任务以及多媒体信息点播任务等,该任务也可以理解为多媒体信息转码任务的任务分片、多媒体信息录播任务的任务分片以及多媒体信息点播任务的任务分片。以转码任务为例对任务分片进行说明,该任务分片可以理解为按照关键帧间隔gop对多媒体信息编码任务进行切分得到的。
46.s403,依据多个节点设备的当前负载信息和任务在多个节点设备上的预期执行信息,从多个节点设备中确定目标节点设备。
47.应理解,任务在任一节点设备300上的预期执行信息可以理解为节点设备300执行该任务所需的预期相关信息,例如,预期执行信息可以包括相关性信息和等待时长中的至少一种;其中,相关性信息用于表征任务在任一节点设备300上的通信资源,等待时长用于表征任务在任一节点设备300上等待的时间,当前负载信息用于表征节点设备300的当前工作量。
48.s405,将任务调度至目标节点设备。
49.应理解,不同的任务可以分配至相同的节点设备300,也可以分配至不同的节点设备300。
50.在本实施例中,依据多个节点设备的当前负载信息和任务在多个节点设备300上的预期执行信息确定目标节点设备,可以有三种实施方式。其中,当前负载信息对应设置有第一权重参数,相关性信息对应设置有第二权重参数,等待时长对应设置有第三权重参数。
51.第一种实施方式可以为:预期执行信息包括相关性信息,依据当前负载信息、相关性信息、第一权重参数和第二权重参数,从多个节点设备中确定目标节点设备。第二种实施方式可以为:预期执行信息包括等待时长,依据当前负载信息、等待时长、第一权重参数和第三权重参数,从多个节点设备中确定目标节点设备。第三种实施方式可以为:预期执行信息包括相关性信息和等待时长,依据当前负载信息、相关性信息、等待时长、第一权重参数、第二权重参数和第三权重参数,从多个节点设备中确定目标节点设备。
52.请参照图4,为本技术实施例提供的另一种任务调度方法的流程示意图,上述的第一种实施方式可以包括以下步骤:
53.s403a,依据当前负载信息、相关性信息、第一权重参数和第二权重参数进行加权求和,得到任务与任一节点设备的第一分配值。
54.应理解,将每个节点设备的当前负载信息分别与第一权重参数进行乘法计算,得到每个节点设备的分配负载信息;将任务与每个节点设备的相关性信息分别与第二权重参数进行乘法计算,得到任务与每个节点设备的分配相关性信息;将分配负载信息与分配相关性信息分别进行加法计算,得到任务与每个节点设备的第一分配值。
55.第i个任务与第j个节点设备300的第一分配值可以采用以下公式进行计算:
56.d
ij1
=c
ij
*q1 w
ij
*q2;
57.其中,d
ij1
表示第i个任务与第j个节点设备300的第一分配值,q1表示第一权重参数,q2表示第二权重参数,w
ij
表示处理第i个任务的第j个节点设备300的当前负载信息,c
ij
表示第i个任务与第j个节点设备300的相关性信息。
58.第一权重参数与第二权重参数之和应为1,且第一权重参数和第二权重参数可根据实际情况取值,在此并不作限定。
59.s403b,将第一分配值最大的节点设备确定为目标节点设备。
60.将同一任务与不同节点设备300的第一分配值进行比较,将第一分配值最大的节点设备300确定为目标节点设备。应理解,第一分配值越大的节点设备300的设备处理该任务能够实现资源利用最大化。
61.请参照图5,为本技术实施例提供的又一种任务调度方法的流程示意图,上述的第
二种实施方式可以包括以下步骤:
62.s403c,依据当前负载信息、等待时长、第一权重参数和第三权重参数进行加权求和,得到任务与任一节点设备的第二分配值。
63.应理解,将每个节点设备的当前负载信息分别与第一权重参数进行乘法计算,得到每个节点设备的分配负载信息;将任务在每个节点设备上的等待时长分别与第三权重参数进行乘法计算,得到任务与每个节点设备的分配等待时长;将分配负载信息与分配等待时长分别进行加法计算,得到任务与每个节点设备的第二分配值。
64.第i个任务与第j个节点设备300的第二分配值可以采用以下公式进行计算:
65.d
ij2
=c
ij
*q1 t_earlist
ij
*q3;
66.其中,d
ij2
表示第i个任务与第j个节点设备300的第二分配值,q1表示第一权重参数,q3表示第二权重参数,t_earlist
ij
表示第i个任务在第j个节点设备300上的等待时长,c
ij
表示第i个任务与第j个节点设备300的相关性信息。
67.第一权重参数与第三权重参数之和应为1,且第一权重参数和第三权重参数可根据实际情况取值,在此并不作限定。
68.s403d,将第二分配值最大的节点设备确定为目标节点设备。
69.将同一任务与不同节点设备300的第二分配值进行比较,将第二分配值最大的节点设备300确定为目标节点设备。应理解,第二分配值越大的节点设备300的设备处理该任务能够实现资源利用最大化。
70.请参照图6,为本技术实施例提供的又一种任务调度方法的流程示意图,上述的第三种实施方式可以包括以下步骤:
71.s403e,依据当前负载信息、相关性信息、等待时长、第一权重参数、第二权重参数和第三权重参数进行加权求和,得到任务与任一节点设备的第三分配值。
72.应理解,将每个节点设备的当前负载信息分别与第一权重参数进行乘法计算,得到每个节点设备的分配负载信息;将任务与每个节点设备的相关性信息分别与第二权重参数进行乘法计算,得到任务与每个节点设备的分配相关性信息;将任务在每个节点设备上的等待时长分别与第三权重参数进行乘法计算,得到任务与每个节点设备的分配等待时长;将分配负载信息、分配相关性信息和分配等待时长分别进行加法计算,得到任务与每个节点设备的第三分配值。
73.第i个任务与第j个节点设备300的第三分配值可以采用以下公式进行计算:
74.d
ij3
=c
ij
*q1 w
ij
*q2 t_earlist
ij
*q3;
75.其中,d
ij3
表示第i个任务与第j个节点设备300的第三分配值,q1表示第一权重参数,q2表示第二权重参数,q3表示第三权重参数,w
ij
表示处理第i个任务的第j个节点设备300的当前负载信息,c
ij
表示第i个任务与第j个节点设备300的相关性信息,t_earlist
ij
表示第i个任务在第j个节点设备300上的等待时长。
76.第一权重参数、第二权重参数和第三权重参数之和应为1,且第一权重参数、第二权重参数和第三权重参数可根据实际情况取值,在此并不作限定。例如,多媒体信息转码任务对节点设备300的负载要求更高,在进行多媒体信息转码任务时,第一权重参数可以设置更高一些;多媒体信息收录任务对在节点设备300上的等待时长要求更高,在进行多媒体信息收录任务时,第三权重参数可以设置更高一些。
77.s403f,将第三分配值最大的节点设备确定为目标节点设备。
78.将同一任务与不同节点设备300的第三分配值进行比较,将第三分配值最大的节点设备300确定为目标节点设备。
79.应理解,第三分配值越大的节点设备300的设备处理该任务能够实现资源利用最大化。换言之,若多个节点设备300分别为第一节点设备、第二节点设备和第三节点设备,若第i个任务与第二节点设备的相关性信息对应的值最大,第二节点设备的当前负载最大。因为第二节点设备的当前负载最大,第二节点设备的工作量越大,第i个任务在第二节点设备上需要等待的时长就越长。故需要设置第一权重参数、第二权重参数和第三权重参数来综合衡量当前负载信息、相关性信息和等待时长这三个指标,以实现节点设备300的资源利用最大化,实现负载均衡。相当于,当前负载信息、相关性信息和等待时长这三个指标采用了min

min算法,来确定目标节点设备。
80.其中,相关性信息可以由任务间优先约束关系、同步互斥关系和数据通信量等因素决定,优先约束关系、同步互斥关系和数据通信量可以在编译阶段获得。优先约束关系可以表征执行多个任务的先后顺序;同步互斥关系可以表征执行任务a时,锁定使用程序资源a,此时执行任务b和任务c是无法使用程序资源a。
81.在可选的实施方式中,数据任务可以不受优先关系的约束而相互作用和通信,故可只考虑数据通信量因素决定相关性信息。现以相关性信息由数据通信量因素决定为例进行说明,第i个任务与第j个节点设备的相关性信息采用以下公式计算:
[0082][0083]
其中,c
ij
表示第i个任务与第j个节点设备的相关性信息,e
ik
表示第i个任务与第k个任务之间的数据通信量,e
il
表示第i个任务与第l个任务之间的数据通信量,t
j
表示第j节点设备上所有任务的集合,t表示集群中所有任务的集合,m表示任务的总数,n表示节点设备的总数。
[0084]
应理解,是指整个集群所有节点设备300上的任务与第i个任务的相关性,如果集群中只有1台节点设备300,或是现在整个集群中的所有任务都在1台节点设备300上时,则不存在设备间通讯,因此为0。如果所有任务被分配到集群中的各个节点设备300上时,第i个任务在第j个节点设备300上的数据通信量之和为第i个任务与第j个节点设备的相关性信息为:第i个任务在第j个节点设备300上的数据通信量的综合,与在整个集群中数据通信量的综合之比。
[0085]
为了便于理解如何得到当前负载信息,第j个节点设备的当前负载信息可以采用以下公式计算:
[0086]
w
j
=u1u
j
u2m
j
u3p
j
u4d
j
u5s
j

[0087]
其中,w
j
表示第j个节点设备的当前负载信息,u
j
表示第j个节点设备的cpu利用率,m
j
表示第j个节点设备的内存使用情况,p
j
表示第j个节点设备中就绪队列中进程的数量,d
j
表示第j个节点设备的磁盘利用率;s
j
表示第j个节点设备的网卡流量,u1表示cpu利用率的权重参数,u2表示内存使用情况的权重参数,u3表示就绪队列中进程的数量的权重参数,u4表示磁盘利用率的权重参数,u5表示网卡流量的权重参数。
[0088]
应理解,u1、u2、u3、u4和u5可以根据实际情况进行参数设置,在此并不在限定。
[0089]
为了便于理解如何计算得到等待时长,第i个任务与在第j个节点设备上的等待时长可以采用以下公式计算:
[0090][0091]
其中,t_earlist
ij
表示第i个任务在第j个节点设备上的等待时长,t_release
i
表示第i个任务的发布时间,queue_length
j
表示第j个节点设备内就绪队列长度,t_process
kj
表示已就绪数据任务在第j个节点设备上的总执行时间,k表示就绪数据任务在第j个节点设备上的执行时间单元。
[0092]
应理解,节点设备300上所驻留的进程将要执行任务的等待时长,是无法直接计算得到的。故需要根据任务的发布时间、节点设备300内就绪队列长度以及已就绪数据任务的执行时间等,对任务在节点设备300上的最早执行时间进行估算,进而得到任务在该节点设备300上的等待时长。
[0093]
在一种可选的实施例中,为了使任务分配更优,还可以增加调度开销指标,确定目标节点设备。调度开销表示将任务调度到对应的节点设备300上的额外开销,如任务的环境信息,环境信息包括工作目录、任务特权、电子设备100与节点设备300的网络距离等的传输开销。
[0094]
在一种可选的实施方式中,为了提到任务调度的稳定性和效率,请参照图7,上述s401可以包括以下步骤:
[0095]
s401a,获取第二任务。
[0096]
应理解,第二任务为多媒体信息转码任务、多媒体信息录播任务以及多媒体信息点播任务等,多媒体信息转码任务、多媒体信息录播任务以及多媒体信息点播任务均为一个完整的任务。例如,第二任务可以为一部电影的转码任务。
[0097]
s401b,对第二任务进行切分,得到第二任务的任务分片。
[0098]
应理解,若第二任务为多媒体信息转码任务,可以在gop级对多媒体信息转码任务进行分片,得到第二任务的任务分片。该任务分片可以理解为按照关键帧间隔gop对多媒体信息编码任务进行切分得到的。例如,一部电影的转码任务的总时长为120分钟,该任务分片可以为间隔5分钟时长的转码任务分片。
[0099]
s401c,将任务分片确定为第一任务。
[0100]
应理解,上述s401中的任务即为任务分片,在后续进行调度分配时,可以以任务分片为单位进行调度。即将一个完整的任务切分为多个任务分片,将多个任务分片分别调度至不同的节点设备300进行处理。
[0101]
与一个节点设备300处理一个完整的任务相比,将多个任务分片分别调度至不同的节点设备300进行处理,当某个节点设备300处理某个任务分片出现故障时,只需将该任
务分片重新进行处理即可,而不需要将完整的任务重新进行处理,不仅减小了设备故障造成的影响,还节省了处理时间,提升了任务调度效率。将多个任务分片分别调度至不同的节点设备300进行处理,相当于多个节点设备300并行处理一个完整的任务,不会存在一个节点设备300处理一个耗时很长的任务,而其它节点设备300空闲的状态。不仅可以提升任务调度速度,还可以进一步的最大化使用集群资源。
[0102]
在一种可选的实施方式中,请参照图8,在图3所示的任务调度方法的基础上,在s403之前,任务调度方法还包括:
[0103]
s402,依据每个任务的参数信息,将任务存放至对应的任务队列中。
[0104]
应理解,任务包括参数信息,参数信息可以包括任务类型信息、操作类型信息和时间戳等。该任务类型信息可以为转码任务类型、点播任务类型以及收录任务类型等,该操作类型信息可以为转码操作类型信息、点播操作类型信息以及收录操作类型信息等。
[0105]
若该任务为第二任务,根据第二任务的任务类型信息和操作类型信息将第二任务缓存至任务类型信息和操作类型信息对应的任务队列中。若第二任务为转码任务类型则缓存至转码任务队列中,若第二任务为点播任务类型则缓存至点播任务队列中。
[0106]
若该任务为第一任务,即该任务为任务分片。在对第二任务进行切分之前,根据第二任务的任务类型信息和操作类型信息先将第二任务缓存至任务类型信息和操作类型信息对应的任务队列中,在将第二任务进行切分得到任务分片,最后将任务分片调度至目标节点设备。
[0107]
故在进行切分之前,先根据任务类型信息和操作类型信息将第二任务分别缓存至不同的任务队列中,便于电子设备100分发任务和管理任务。
[0108]
为了便于理解,请参照图9,图9为本技术实施例提供的一种电子设备的任务分析处理示意图。电子设备100在接收到客户端200发送的第二任务后,先进行登记验证,即验证客户端200是否在电子设备100中登记,若客户端200未在电子设备100中登记,则驳回该客户端200发送的第二任务;电子设备100再对第二任务的参数信息进行分析,若第二任务的参数信息中无任务类型信息和/或操作类型信息,该第二任务将被驳回;若第二任务的参数信息中有任务类型信息和操作类型信息,则先检查是否已建立有任务类型信息和操作类型信息对应的任务队列,若有,则直接将数据任务缓存至对应的任务队列中,若无,则创建任务队列,再将第二任务缓存至对应的任务队列。
[0109]
在一种可选的实施方式中,若第二任务的调度需要考虑优先级,在将第二任务存放至任务队列之前,需将第二任务的优先级和已缓存在任务队列中的所有第二任务的优先级作比较,根据优先级决定第二任务在任务队列中的存放位置。若两个第二任务的优先级相同,则按照接收第二任务的时间顺序进程存放。
[0110]
请继续参照图8,上述s405之后,还可以包括以下步骤:
[0111]
s406,从目标节点设备获取目标节点设备处理任务分片对应的任务分片结果。
[0112]
应理解,可以由电子设备100从目标节点设备获取任务分片结果,也可以由多个节点设备300中闲置的节点设备300从目标节点设备获取任务分片结果。
[0113]
s407,将任务分片结果进行整合,得到任务结果。
[0114]
应理解,每个任务分片包括时间戳,对应生成的任务分片结果中也包括有相应的时间戳。可以根据任务分片结果中的时间戳进行整合,得到任务结果。
[0115]
例如,若第一目标节点设备包括第一任务分片结果和第二任务分片结果,第二目标节点设备包括第三任务分片结果,第三目标节点设备包括第四任务分片结果和第五分片结果。第一任务分片结果的时间戳为1s,第二任务分片结果的时间戳为3s,第三任务分片结果的时间戳为2s,第四任务分片结果的时间戳为5s,第五任务分片结果的时间戳为4s。根据每个任务分片结果的时间戳进行整合,可以得到按照第一任务分片结果、第三任务分片结果、第二任务分片结果、第五任务分片结果和第四任务分片结果依次排序整合的整合结果。
[0116]
其中,对任务分片结果进行整合时,可以采用max

min算法实现碎片整合,得到整合结果。
[0117]
为了进一步提高任务调度的稳定性,请继续参照图8,任务调度方法还可以包括:
[0118]
s408,记录任务的处理状态信息。
[0119]
该处理状态信息包括任务的存放信息、与节点设备300的映射关系、任务的进度信息和状态信息等。
[0120]
应理解,在将任务缓存至任务队列后,电子设备100会记录该任务的处理状态信息,并实时更新记录任务的状态信息和进度信息。在第二任务进行切分,得到任务分片,将人无法分片分配至对应的节点设备300后,也会实时更新记录任务分片的状态信息和进度信息。节点设备300在接收到任务后,会实时回调汇报任务的状态信息。
[0121]
电子设备100在进行任务分配之前,电子设备100还用于读取各节点设备300的健康状态,并记录各节点设备的健康状态。由于同时记录了节点设备300的健康状态和任务的处理状态信息,在节点设备300出现故障时,电子设备100可以快速切换节点设备300处理任务分片。
[0122]
电子设备100在进行任务分片调度的过程中,当任务分片处理失败时,电子设备100会将任务分片打回到原来的队列中,重新排序,待再次分配,并进行发送次数和失败原因记录。当任务分片主动重发超过三次,电子设备1000就不再主动重发,如要继续处理该任务分片,可进入到电子设备100提供的任务管理页面,手动维护该任务分片。
[0123]
在可选的实施方式中,电子设备100还可以向客户端200汇报处理状态信息,或客户端200可主动获取处理状态信息。在可选的实施方式中,为了实现最优的任务调度方法,可以设置电子设备100和节点设备300的处理器的性能、结构和处理能力完全相同;任务不受优先关系的约束而相互作用和通信;所有节点设备300发布的信息都是真实可信的;同驻在一个节点设备300上的任务间数据通信量不计入通信代价。
[0124]
为了便于理解本技术提供的任务调度方法的实现原理,现以调度多媒体信息编码任务为例进行说明:获取任务分片,任务分片是按照关键帧间隔gop对多媒体信息编码任务进行切分得到的;依据多个节点设备的当前负载信息和任务分片在多个节点设备上的预期执行信息,从多个节点设备中确定目标节点设备;将任务分片调度至目标节点设备。
[0125]
应理解,在对多媒体信息编码任务进行切分之前,依据多媒体信息编码任务的参数信息,将多媒体信息编码任务存放至对应的编码任务队列中,并记录该多媒体信息编码任务的存放信息、进度信息和状态信息。在将任务分片调度至目标节点设备时,也会记录该任务分片与目标节点设备的映射关系、进度信息和状态信息。在目标节点设备处理完成任务分片后,会从目标节点设备处获取对应的任务分片结果;将让任务分片结果进行整合,得到任务结果。其中,该任务结果为多媒体信息编码任务对应的多媒体信息编码任务结果。
[0126]
为了实现上述s401~s408及其可能的子步骤对应的任务调度方法,本技术实施例提供一种任务调度装置,请参见图10,图10为本技术实施例提供的一种任务调度装置的方框示意图,该任务调度装置500包括:获取模块501、确定模块502、调度模块503、切分模块504、整合模块505、队列存放模块506和记录模块507。
[0127]
获取模块501用于获取任务。
[0128]
在可选的实施方式中,获取模块501还用于获取第二任务。
[0129]
在可选的实施方式中,获取模块501还用于从目标节点设备获取目标节点设备处理任务分片对应的任务分片结果。
[0130]
确定模块502用于依据多个节点设备300的当前负载信息和任务在多个节点设备300上的预期执行信息,从多个节点设备300中确定目标节点设备。
[0131]
在可选的实施方式中,任务在任一节点设备上的预期执行信息包括相关性信息和等待时长中的至少一种;其中,相关性信息用于表征任务在任一节点设备上的通信资源,等待时长用于表征任务在任一节点设备上等待的时间。
[0132]
在可选的实施方式中,预期执行信息包括相关性信息,当前负载信息对应设置有第一权重参数,相关性信息对应设置有第二权重参数。确定模块502还用于依据当前负载信息、相关性信息、第一权重参数和第二权重参数进行加权求和,得到任务与任一节点设备的第一分配值;将第一分配值最大的节点设备确定为目标节点设备。
[0133]
在可选的实施方式中,预期执行信息包括等待时长,当前负载信息对应设置有第一权重参数,等待时长对应设置有第三权重参数。确定模块502还用于依据当前负载信息、等待时长、第一权重参数和第三权重参数进行加权求和,得到任务与任一节点设备的第二分配值;将第二分配值最大的节点设备确定为目标节点设备。
[0134]
在可选的实施方式中,预期执行信息包括相关性信息和等待时长,当前负载信息对应设置有第一权重参数,相关性信息对应设置有第二权重参数,等待时长对应设置有第三权重参数。确定模块502还用于依据当前负载信息、相关性信息、等待时长、第一权重参数、第二权重参数和第三权重参数进行加权求和,得到任务与任一节点设备的第三分配值;将第三分配值最大的节点设备确定为目标节点设备。
[0135]
在可选的实施方式中,确定模块502还用于将任务分片确定为第一任务。
[0136]
调度模块503用于将任务调度至目标节点设备。
[0137]
切分模块504用于对第二任务进行切分,得到第二任务的任务分片。
[0138]
整合模块505用于将任务分片结果进行整合,得到任务结果。
[0139]
队列存放模块506用于依据每个任务的参数信息,将任务存放至参数信息对应的任务队列中。
[0140]
记录模块507用于记录任务的处理状态信息。
[0141]
应理解,获取模块501、确定模块502、调度模块503、切分模块504、整合模块505、队列存放模块506和记录模块507可以协同实现上述s401~s408及其可能的子步骤。
[0142]
综上,本技术提供了一种任务调度方法、装置、电子设备和计算机存储介质,通过依据多个节点设备的当前负载信息和任务在多个节点设备上的预期执行信息,对任务进行调度分配。在进行任务调度分配时,不仅考虑节点设备的当前负载信息,还考虑任务在节点设备上的预期执行信息,可以多维度的衡量节点设备的资源状况,能够实现资源的最大化
利用,实现负载均衡。
[0143]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0144]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0145]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0146]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0147]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0148]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献