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

发送任务的方法及装置与流程

2021-11-09 22:43:00 来源:中国专利 TAG:


1.本技术涉及云计算领域,特别涉及一种发送任务的方法及装置。


背景技术:

2.云计算系统包括管理节点和多个处理节点,每个处理节点包括多个图形处理器(graphics processing unit,gpu)、多个中央处理器(central processing unit,cpu)和/或内存等资源,每个处理节点用于处理任务。管理节点包括任务队列,该任务队列用于保存待处理的任务。
3.每个任务需要的gpu个数不同,当云计算系统处理的任务较多时,对于云计算系统中的任一个节点,该节点包括空闲的gpu个数可能为0或较小。此时,如果管理节点从任务队列的队头出队一个需要gpu个数m较大的任务,云计算系统中可能找不到空闲gpu个数达到m的节点,导致该任务无法及时被处理。


技术实现要素:

4.本技术实施例提供了一种发送任务的方法及装置,以提高任务处理的效率。所述技术方案如下:
5.一方面,本技术提供了一种发送任务的方法,所述方法包括:
6.获取待处理任务对第一资源的需求数量;
7.基于所述需求数量确定第一处理节点,所述第一处理节点包括空闲的至少一个第一虚拟化实例,所述第一处理节点包括的空闲第一资源和所述至少一个第一虚拟化实例占用的第一资源之和满足所述需求数量;
8.将所述至少一个第一虚拟化实例从所述第一处理节点迁移到至少一个第二处理节点上,所述至少一个第二处理节点包括的空闲第一资源满足所述至少一个第一虚拟化实例需求的第一资源;
9.向所述第一处理节点发送所述待处理任务。
10.可选的,所述基于所述需求数量确定第一处理节点,包括:
11.基于所述需求数量获取x个处理节点的代价分数,x为大于0的整数,所述x个处理节点包括第三处理节点,所述第三处理节点的代价分数用于指示从所述第三处理节点上迁移虚拟化实例的代价,所述第三处理节点包括的空闲第一资源和至少一个空闲虚拟化实例占用的第一资源之和满足所述需求数量;
12.选择代价分数满足指定条件的处理节点作为第一处理节点。
13.可选的,所述第三处理节点对应至少一个第二处理节点,所述第三处理节点对应的至少一个第二处理节点的空闲第一资源满足所述至少一个空闲虚拟化实例需求的第一资源。
14.可选的,所述基于所述需求数量获取m个处理节点的代价分数,包括:
15.基于所述需求数量获取目标节点中能够迁移的至少一个空闲虚拟化实例,所述目
标节点的空闲第一资源和所述至少一个空闲虚拟化实例占用的第一资源之和满足所述需求数量,所述目标节点为所述云计算系统中的任一个节点;
16.查询所述云计算系统是否存在至少一个第二处理节点,所述至少一个第二处理节点包括的空闲第一资源满足所述至少一个空闲虚拟化实例需求的第一资源,所述至少一个第二处理节点是所述云计算系统中除所述目标节点之外的节点;
17.如果存在所述至少一个第二处理节点,基于所述至少一个空闲虚拟化实例的个数,确定所述目标节点的代价分数。
18.可选的,所述方法还包括:
19.查询云计算系统是否存在空闲第一资源满足所述需求数量的处理节点,所述云计算系统包括所述第一处理节点和所述至少一个第二处理节点;
20.所述基于所述需求数量确定第一处理节点,包括:
21.如果所述云计算系统不存在空闲第一资源满足所述需求数量的处理节点,基于所述需求数量确定第一处理节点。
22.可选的,所述基于所述需求数量确定第一处理节点,包括:
23.在云计算系统包括的总空闲第一资源满足所述需求数量时,基于所述需求数量确定第一处理节点,所述云计算系统包括所述第一处理节点和所述至少一个第二处理节点。
24.可选的,所述第一资源的类型包括图形处理器gpu、中央处理器cpu和存储资源中的一个或多个。
25.另一方面,本技术提供了一种发送任务的装置,所述装置包括:
26.获取模块,用于获取待处理任务对第一资源的需求数量;
27.确定模块,用于基于所述需求数量确定第一处理节点,所述第一处理节点包括空闲的至少一个第一虚拟化实例,所述第一处理节点包括的空闲第一资源和所述至少一个第一虚拟化实例占用的第一资源之和满足所述需求数量;
28.迁移模块,用于将所述至少一个第一虚拟化实例从所述第一处理节点迁移到至少一个第二处理节点上,所述至少一个第二处理节点包括的空闲第一资源满足所述至少一个第一虚拟化实例需求的第一资源;
29.发送模块,用于向所述第一处理节点发送所述待处理任务。
30.可选的,所述确定模块,用于:
31.基于所述需求数量获取x个处理节点的代价分数,x为大于0的整数,所述x个处理节点包括第三处理节点,所述第三处理节点的代价分数用于指示从所述第三处理节点上迁移虚拟化实例的代价,所述第三处理节点包括的空闲第一资源和至少一个空闲虚拟化实例占用的第一资源之和满足所述需求数量;
32.选择代价分数满足指定条件的处理节点作为第一处理节点。
33.可选的,所述第三处理节点对应至少一个第二处理节点,所述第三处理节点对应的至少一个第二处理节点的空闲第一资源满足所述至少一个空闲虚拟化实例需求的第一资源。
34.可选的,所述确定模块,用于:
35.基于所述需求数量获取目标节点中能够迁移的至少一个空闲虚拟化实例,所述目标节点的空闲第一资源和所述至少一个空闲虚拟化实例占用的第一资源之和满足所述需
求数量,所述目标节点为所述云计算系统中的任一个节点;
36.查询所述云计算系统是否存在至少一个第二处理节点,所述至少一个第二处理节点包括的空闲第一资源满足所述至少一个空闲虚拟化实例需求的第一资源,所述至少一个第二处理节点是所述云计算系统中除所述目标节点之外的节点;
37.如果存在所述至少一个第二处理节点,基于所述至少一个空闲虚拟化实例的个数,确定所述目标节点的代价分数。
38.可选的,所述装置还包括:
39.查询模块,用于查询云计算系统是否存在空闲第一资源满足所述需求数量的处理节点,所述云计算系统包括所述第一处理节点和所述至少一个第二处理节点;
40.所述确定模块,用于如果所述云计算系统不存在空闲第一资源满足所述需求数量的处理节点,基于所述需求数量确定第一处理节点。
41.可选的,所述确定模块,用于:
42.在云计算系统包括的总空闲第一资源满足所述需求数量时,基于所述需求数量确定第一处理节点,所述云计算系统包括所述第一处理节点和所述至少一个第二处理节点。
43.可选的,所述第一资源的类型包括图形处理器gpu、中央处理器cpu和存储资源中的一个或多个。
44.另一方面,本技术提供了一种电子设备,包括:处理器和存储器。其中,所述处理器以及所述存储器之间可以通过总线系统相连。所述存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成上述迁移虚拟化实例的方法。
45.另一方面,本技术提供了一种计算机程序产品,所述计算机程序产品包括在计算机可读存储介质中存储的计算机程序,并且所述计算程序通过处理器进行加载来实现上述迁移虚拟化实例的方法。
46.另一方面,本技术提供了一种非易失性计算机可读存储介质,用于存储计算机程序,所述计算机程序通过处理器进行加载来执行上述迁移虚拟化实例的方法。
47.本技术实施例提供的技术方案可以包括以下有益效果:
48.在本技术实施例中,获取待处理任务对第一资源的需求数量;基于所述需求数量确定第一处理节点,第一处理节点包括空闲的至少一个第一虚拟化实例,第一处理节点包括的空闲第一资源和该至少一个第一虚拟化实例占用的第一资源之和满足该需求数量。将该至少一个第一虚拟化实例从第一处理节点迁移到该至少一个第二处理节点上,该至少一个第二处理节点包括的空闲第一资源满足该至少一个第一虚拟化实例需求的第一资源。其中,在将该至少一个第一虚拟化实例从第一处理节点中迁移后,第一处理节点剩下的空闲第一资源满足待处理任务对第一资源的需求数量,这样可以向第一处理节点发送待处理任务,从而保证待处理任务能够及时处理,提高任务处理效率。
49.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
50.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
51.图1是本技术实施例提供的云计算系统结构示意图;
52.图2是本技术实施例提供的一种发送任务的方法流程图;
53.图3是本技术实施例提供的一种发送任务的装置结构示意图;
54.图4是本技术实施例提供的另一种发送任务的装置结构示意图;
55.图5是本技术实施例提供的一种电子设备结构示意图。
56.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
57.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
58.任务队列用于保存待处理任务。管理节点可以从任务队列的队头出队一个任务,该任务包括需要资源数量,该资源数量至少包括需要的gpu个数,管理节点向某个处理节点发送该任务。该处理节点基于该任务需要的资源数量,创建虚拟化实例并为该虚拟化实例分配资源,分配的资源包括m个gpu,然后该虚拟化实例用于处理该任务。为了保证待处理任务能够及时处理,提高任务处理效率,管理节点可以采用如下任意实施例来发送任务。
59.参见图1,本技术实施例提供了一种云计算系统100,包括:
60.管理节点和多个处理节点,管理节点可以与每个处理节点通信,管理节点用于管理该多个处理节点。
61.管理节点包括任务队列,该任务队列用于保存待处理任务。
62.管理节点在接收到需要处理的任务时,将该任务从任务队列的队尾入队。
63.管理节点还从该任务队列的队头出队一个任务,从云计算系统中选择一个处理节点,向该处理节点发送出队的任务。
64.对于每个处理节点,该处理节点包括用于处理任务所需要的第一资源,第一资源包括gpu、cpu处理核和存储资源等中的一个或多个。
65.处理节点在接收到管理节点发送的任务时,创建一个用于处理该任务的虚拟化实例,为该虚拟化实例分配资源,使用该虚拟化实例来处理该任务。
66.在一些实施例中,该处理节点上的虚拟化实例是指利用软件模拟以及隔离出的环境,该环境包括计算功能,例如虚拟化实例可以为容器和/或虚拟机等。
67.在一些实施例中,管理节点为服务器、终端设备或虚拟节点等,该终端设备为计算机或平板电脑等。处理节点为服务器、终端设备或虚拟节点等,该终端设备为计算机或平板电脑等。
68.对于任一个处理节点,该处理节点可能存在空闲第一资源,也可能不存在空闲第一资源。所谓空闲第一资源是指该处理节点中未被分配给虚拟化实例的第一资源。
69.在该处理节点上运行的虚拟化实例中可能存在部分虚拟化实例空闲,空闲虚拟化实例的状态是空闲状态。空闲虚拟化实例可能未使用该虚拟化实例占用的第一资源。
70.例如,假设第一资源为gpu,空闲虚拟化实例可能未使用该虚拟化实例占用的一个或多个gpu。也就是说,该虚拟化实例占用的一个或多个gpu处于空闲状态。
71.其中,需要说明的是:管理节点在从任务队列的队头出队一个任务,如果此时云计算系统中没有满足第一条件的处理节点,第一条件是处理节点的空闲第一资源满足处理该任务对第一资源的需求数量,则管理节点无法将该任务发送到云计算系统中的某个处理节点上。即无法使用云计算系统中的处理节点来处理该任务,此时管理节点需要等待云计算系统出现满足第一条件的处理节点,即出现空闲第一资源满足该需求数量的处理节点,这样导致该任务无法及时被处理,影响处理任务的效率。
72.例如,假设处理该任务需求的第一资源的需求数量为n(例如为n个gpu,n个cpu处理核,和/或,n兆存储资源等),n为大于0的整数。如果云计算系统中的每个处理节点的空闲第一资源数量均小于n,则管理节点无法将该任务发送到云计算系统中的某个处理节点上。此时,需要等待云计算系统出现空闲第一资源数量大于或等于n的处理节点出现。
73.另外,虽然此时云计算系统中没有满足第一条件的处理节点,即没有空闲第一资源满足该需求数量的处理节点,但云计算系统中可能存在部分处理节点,该部分处理节点中的每个处理节点中存在空闲的第一资源,该每个处理节点的空闲第一资源数量少于该需求数量,而这些空闲的第一资源零碎地分布在该部分处理节点上,导致这些第一资源空置浪费。
74.为了提高处理任务的效率以及减少第一资源的浪费,可以通过如下任意实施例来发送任务队列中的待处理任务,具体实现参见如下任意实施例。
75.参见图2,本技术实施例提供了一种发送任务的方法200,所述方法200应用于如图1所示的云计算系统100,包括:
76.步骤201:管理节点获取待处理任务对第一资源的需求数量。
77.管理节点包括任务队列,该任务队列用于保存至少一个待处理任务。
78.对于该任务队列中的任一个任务,该任务包括该任务对第一资源的需求数量。
79.在一些实施例中,该任务还包括该任务对应第二资源的需求数量,第一资源和第二资源是两种不同资源。例如,第一资源包括gpu,第二资源包括cpu处理核、存储资源和/或通信资源等。再例如,第一资源包括gpu和cpu,第二资源包括存储资源和/或通信资源等。
80.在一些实施例中,管理节点接收用户创建的任务,将该任务从该任务队列的队尾入队,以使该任务队列保存该任务。
81.在一些实施例中,该任务包括训练任务、数据处理任务和/或目标识别任务等,例如该任务包括用于训练智能模型的训练任务,用于识别车牌的识别任务,视频分析任务、图片分析任务和/或语音分析任务等。
82.在步骤201中,管理节点从任务队列的队头中出队一个任务作为待处理任务,从该待处理任务中获取待处理任务对第一资源的需求数量。
83.例如,假设从任务队列的队头中出队一个视频分析任务,该视频分析任务包括需要的资源数量,该资源数量包括需要的gpu个数为3。从该视频分析任务中获取该gpu个数3。
84.再例如,假设从任务队列的队头中出队一个图片分析任务,该图片分析任务包括需要的资源数量,该资源数量包括需要的gpu个数为4以及需要的cpu核数为5。从该图片分析任务中获取该gpu个数4和该cpu核个数5。
85.步骤202:管理节点基于该需求数量获取目标节点中能够迁移的至少一个空闲虚拟化实例,该至少一个空闲虚拟化实例满足第二条件,目标节点为云计算系统中的任一个节点。
86.可选的,管理节点在执行本步骤之前,查询云计算系统是否存在满足第一条件的处理节点,即查询是否有空闲第一资源满足该需求数量的处理节点,如果存在满足第一条件的处理节点,向该处理节点发送待处理任务。该处理节点在接收待处理任务,创建虚拟化实例,基于待处理任务包括的第一资源的需求数量为该虚拟化实例分配第一资源,使用该虚拟化实例处理接收的待处理任务。
87.例如,对于上述视频分析任务的例子,管理节点查询云计算系统是否存在空闲gpu个数大于或等于3的处理节点,如果存在该处理节点,即该处理节点满足第一条件,向该处理节点发送视频分析任务。该处理节点在接收视频分析任务,创建虚拟化实例,基于gpu个数3为该虚拟化实例分配三个空闲的gpu。该虚拟化实例使用该三个gpu处理接收的视频分析任务。
88.再例如,对于上述图片分析任务的例子,管理节点查询云计算系统是否存在空闲gpu个数大于或等于4以及空闲cpu核数大于或等于5的处理节点,如果存在该处理节点,即该处理节点满足第一条件,向该处理节点发送图片分析任务。该处理节点在接收图片分析任务,创建虚拟化实例,基于gpu个数4和cpu核数5为该虚拟化实例分配4个空闲的gpu和5个空闲的cpu核。该虚拟化实例处理使用该4个gpu和该5个cpu核处理接收的视频分析任务。
89.可选的,如果不存在满足第一条件的处理节点,执行步骤202的操作。或者,管理节点查询云计算系统包括的总空闲第一资源是否满足该需求数量,如果总空闲第一资源满足该需求数量,执行步骤202的操作,如果总空闲第一资源不满足该需求数量,停止操作。
90.可选的,管理节点查询云计算系统中的每个处理节点包括的空闲第一资源数量,将每个空闲第一资源数量进行累加,得到云计算系统包括的总空闲第一资源的数量。如果总空闲第一资源的数量大于或等于该需求数量,则确定云计算系统包括的总空闲第一资源满足该需求数量,如果总空闲第一资源的数量小于该需求数量,则确定云计算系统包括的总空闲第一资源不满足该需求数量。
91.如果总空闲第一资源不满足该需求数量,则管理节点等待,当云计算系统的总空闲资源满足该需求数量时,云计算系统再执行步骤202的操作。
92.在步骤202中,管理节点可以通过如下2021至2023的操作获取目标节点中能够迁移的至少一个空闲虚拟化实例。该2021至2023的操作分别为:
93.2021:对于云计算系统中的任一个处理节点,为了便于说明将该处理节点称为目标节点,管理节点确定目标节点中的m个空闲虚拟化实例,m为大于0的整数。
94.目标节点包括至少一个虚拟化实例。对于该至少一个虚拟化实例中的任一个虚拟化实例,该虚拟化实例提供资源使用率查询接口。该虚拟化实例周期性地统计在一个周期内的资源使用率。管理节点可以调用该资源使用率查询接口,通过该资源使用率查询接口从该虚拟化实例中获取该资源使用率。基于该资源使用率确定该虚拟化实例的状态是否为空闲状态。
95.可选的,在该资源使用率小于或等于使用率阈值时,确定该虚拟化实例的状态为空闲状态;在该资源使用率大于使用率阈值时,确定该虚拟化实例的状态为忙碌状态。
96.可选的,该资源使用率包括gpu使用率、cpu使用率和/或存储资源使用率等。例如,假设使用率阈值为0,在该gpu使用率等于0、cpu使用率等于0和/或存储资源使用率等于0的情况,确定该虚拟化实例的状态为空闲状态。
97.对于目标节点中的其他虚拟化实例,管理节点按上述相同方式查询其他虚拟化实例的状态,从而得到目标节点上的m个空闲虚拟化实例。
98.2022:基于该需求数量,确定该m个空闲虚拟化实例中是否存在满足第二条件的至少一个空闲虚拟化实例。
99.第二条件是目标节点包括的空闲第一资源与该至少一个空闲虚拟化实例占用的第一资源之和满足该需求数量。也就是说,对目标节点包括的空闲第一资源的数量和该至少一个空闲虚拟化实例占用的第一资源的数量进行累加,得到累加值,该累加值大于或等于该需求数量。
100.例如,假设处理节点1包括2个空闲gpu和3个空闲cpu核,处理节点1上包括两个空闲虚拟化实例,分别为虚拟化实例1和虚拟化实例2,虚拟化实例1占用1个gpu和1个cpu核,虚拟化实例2占用2个gpu和2个cpu核。
101.对于上述视频分析任务的例子,如果管理节点查询云计算系统不存在空闲gpu个数大于或等于3的处理节点,即云计算系统中的每个处理节点包括的空闲gpu个数均小于3。由于处理节点1包括2个空闲gpu,处理节点1上的虚拟化实例1占用1个gpu,虚拟化实例2占用2个gpu,所以处理节点1上的空闲gpu个数2、虚拟化实例1占用的gpu个数1,以及虚拟化实例2占用的gpu个数2之间的第一累加值为5,第一累加值5大于视频分析任务需要的gpu个数3,所以处理节点1中的虚拟化实例1和虚拟化实例2满足第二条件。
102.对于上述图片分析任务的例子,如果管理节点查询云计算系统不存在空闲gpu个数大于或等于4以及空闲cpu核数大于或等于5的处理节点,即云计算系统中的每个处理节点包括的空闲gpu个数均小于4以及空闲cpu核数小于5。由于处理节点1包括2个空闲gpu和3个空闲cpu核,处理节点1上的虚拟化实例1占用1个gpu和1个cpu核,虚拟化实例2占用2个gpu和2个cpu核,所以处理节点1上的空闲gpu个数2、虚拟化实例1占用的gpu个数1,和虚拟化实例2占用的cpu核个数2之间的第一累加值为5,且第一累加值5大于图片分析任务需要的gpu个数4;以及处理节点1上的空闲cpu核个数3、虚拟化实例1占用的cpu核个数1,以及虚拟化实例2占用的cpu核个数2之间的第二累加值为6,且第二累加值6大于图片分析任务需要的cpu核个数5,所以处理节点1中的虚拟化实例1和虚拟化实例2满足第二条件。
103.目标节点中包括虚拟化实例的实例标识与第一资源的资源标识的对应关系,该对应关系用于保存目标节点中的虚拟化实例的实例标识和该虚拟化实例占用的第一资源的资源标识。
104.例如,假设第一资源包括gpu,该对应关系用于保存目标节点中的虚拟化实例的实例标识和该虚拟化实例占用的至少一个gpu的标识。假设第一资源包括cpu处理核,该对应关系用于保存目标节点中的虚拟化实例的实例标识和该虚拟化实例占用的至少一个cpu处理核的标识。再假设第一资源包括存储资源,该存储资源的标识可以为该存储资源的地址范围,该对应关系用于保存目标节点中的虚拟化实例的实例标识和该虚拟化实例占用的存储资源的标识。
105.在2022的操作中,对于该m个空闲虚拟化实例中的每个虚拟化实例,管理节点基于
该每个虚拟化实例的实例标识,从目标节点保存的该对应关系中查询出每个虚拟化实例占用的第一资源。基于该需求数量、目标节点包括的空闲第一资源的数量和该每个虚拟化实例占用的第一资源的数量,确定该m个空闲虚拟化实例中是否存在满足第二条件的至少一个虚拟化实例。
106.在实现时,对目标节点包括的空闲第一资源的数量和该每个虚拟化实例占用的第一资源的数量进行累加,得到第一累加值。如果第一累加值大于或等于该需求数量,则基于该需求数量、目标节点包括的空闲第一资源的数量和该每个虚拟化实例占用的第一资源的数量,从该m个虚拟化实例中选择至少一个空闲虚拟化实例,该至少一个空闲虚拟化实例满足第二条件。其中,目标节点包括的空闲第一资源的数量和选择的每个虚拟化实例占用第一资源的数量之间的数量累加值大于或等于该需求数量。如果第一累加值小于该需求数量,则确定该m个虚拟化实例中不存在满足第二条件的至少一个空闲虚拟化实例。
107.例如,第一资源包括gpu,该需求数量为5,也就是说为待处理任务需要5个gpu。假设目标节点上包括2个空闲的gpu,目标节点上包括空闲的虚拟化实例1,虚拟化实例2和虚拟化实例3,虚拟化实例1占用1个gpu,虚拟化实例2占用2个gpu,以及虚拟化实例3占用2个gpu。对于目标节点包括的空闲gpu数量2,虚拟化实例1占用的gpu数量1,虚拟化实例2占用的gpu数量2,以及虚拟化实例3占用的gpu数量2进行累加,得到第一累加值为7。第一累加值7大于该需求数量5,基于该需求数量5,目标节点包括的空闲gpu数量2,虚拟化实例1占用的gpu数量1,虚拟化实例2占用的gpu数量2,以及虚拟化实例3占用的gpu数量2,从虚拟化实例1、虚拟化实例2和虚拟化实例3中选择虚拟化实例1和虚拟化实例2。其中,目标节点包括的空闲gpu数量2,虚拟化实例1占用的gpu数量1,虚拟化实例2占用的gpu数量2之间的gpu数量累加值为5,该gpu数量累加值满足该需求数量5,所以虚拟化实例1和虚拟化实例2满足第二条件。
108.如果不存在满足第二条件的至少一个虚拟化实例,则管理节点从云计算系统中选择一个其他节点作为目标节点,然后返回执行2021的操作。
109.2023:如果存在满足第二条件的至少一个空闲虚拟化实例,将该至少一个空闲虚拟化实例作为目标节点中能够迁移的至少一个空闲虚拟化实例。
110.步骤203:管理节点基于第一数量查询云计算系统是否存在满足第三条件的至少一个第二处理节点。
111.其中,第一数量是至少一个空闲虚拟化实例占用第一资源的数量,第三条件是该至少一个第二处理节点包括的空闲第一资源满足该至少一个空闲虚拟化实例需求的第一资源,该至少一个第二处理节点是云计算系统中除目标节点之外的其他节点。
112.在步骤203中,对于该至少一个空闲虚拟化实例中的每个空闲虚拟化实例,管理节点对每个空闲虚拟化实例占用第一资源的数量进行累加得到第一数量。对于云计算系统中除目标节点之外的其他每个处理节点,管理节点对该其他每个处理节点的空闲第一资源的数量进行累加,得到总空闲第一资源的数量。如果该总空闲第一资源的数量大于或等于第一数量,则管理节点从该其他每个处理节点中选择至少一个第二处理节点,且选择至少一个第二处理节点包括的总空闲第一资源的数量大于或等于第一数量,即该至少一个第二处理节点满足第三条件。如果该总空闲第一资源的数量小于第一数量,则管理节点确定不存在满足第三条件的至少一个第二处理节点。
113.其中,目标节点与满足第三条件的该至少一个第二处理节点相对应。
114.例如,假设除目标节点之外的其他处理节点中存在处理节点2包括2个空闲gpu和4个空闲cpu核,以及处理节点3包括1个空闲gpu和2个空闲cpu核。由于处理节点2包括的空闲gpu个数2等于虚拟化实例2占用的gpu个数2,处理节点2包括的空闲cpu核个数4大于虚拟化实例2占用的cpu核数2,所以处理节点2的空闲第一资源满足虚拟化实例2需求的第一资源。
115.由于处理节点3包括的空闲gpu个数1等于虚拟化实例1占用的gpu个数1,处理节点3包括的空闲cpu核个数2大于虚拟化实例1占用的cpu核数1,所以处理节点3的空闲第一资源满足虚拟化实例1需求的第一资源。因此处理节点2和处理节点3上的空闲第一资源满足虚拟化实例1和虚拟化实例2需求的第一资源,即处理节点2和处理节点3满足第三条件。
116.步骤204:如果存在满足第三条件的至少一个第二处理节点,管理节点基于该至少一个空闲虚拟化实例的个数,确定目标节点的代价分数。
117.可选的,管理节点将该至少一个虚拟化实例的个数作为目标节点的代价分数。或者,管理节点将该个数与指定系数相乘得到的乘积作为目标节点的代价分数。
118.目标节点的代价分数用于指示从目标节点上迁移虚拟化实例的代价,从目标节点上迁移的虚拟化实例的个数越大,迁移虚拟化实例的代价越大,从目标节点上迁移的虚拟化实例的个数越小,迁移虚拟化实例的代价越小。
119.例如,处理节点1包括虚拟化实例1和虚拟化实例2,所以处理节点1的代价分数为2。
120.管理节点重复上述步骤202和204的操作,得到云计算系统中的x个处理节点,该x个处理节点中的每个处理节点包括存在满足第二条件的至少一个空闲虚拟化实例,且该每个处理节点对应满足第三条件的至少一个第二处理节点。
121.步骤205:管理节点选择代价分数满足指定条件的处理节点作为第一处理节点。
122.该指定条件为代价分数最低的处理节点,或者,该指定条件为代价分数最低,且最低代价分数小于指定分数阈值。
123.也就是说,管理节点选择代价分数最低的处理节点作为第一处理节点,或者,选择代价分数最低且代价分数小于指定分数阈值的处理节点作为第一处理节点。
124.步骤206:管理节点将第一处理节点中的至少一个第一虚拟化实例迁移到至少一个第二处理节点,该至少一个第二处理节点与第一处理节点相对应。
125.该至少一个第一虚拟化实例是第一处理节点中满足第二条件的至少一个空闲虚拟化实例。
126.其中,在将该至少一个第一虚拟化实例迁移到该至少一个第二处理节点后,第一处理节点中空闲的第一资源的数量大于或等于该需求数量,从而可以使用第一处理节点来处理待处理任务。
127.在步骤206中,对于该至少一个第一虚拟化实例中的任一个第一虚拟化实例,管理节点基于该第一虚拟化实例对第一资源的需求数量,从该至少一个第二处理节点中选择一个第二处理节点。其中,选择的第二处理节点中的空闲第一资源满足该第一虚拟化实例对第一资源的需求数量。管理节点将该第一虚拟化实例从第一处理节点迁移到选择的第二处理节点。
128.在管理节点将该第一虚拟化实例从第一处理节点迁移到选择的第二处理节点后,
第一处理节点从其保存的虚拟化实例的实例标识与第一资源的资源标识的对应关系中,删除包括该第一虚拟化实例的实例标识的记录。
129.以及,在管理节点将该第一虚拟化实例从第一处理节点迁移到选择的第二处理节点后,选择的第二处理节点为该第一虚拟化实例分配第一资源,在其保存的虚拟化实例的实例标识与第一资源的资源标识的对应关系中,添加包括该第一虚拟化实例的实例标识和分配的第一资源的资源标识的记录。
130.例如,上述处理节点1中的虚拟化实例1、虚拟化实例2,处理节点2和处理节点3,处理节点2包括2个空闲gpu和4个空闲cpu核,以及处理节点3包括1个空闲gpu和2个空闲cpu核。
131.处理节点1上的虚拟化实例1需要1个gpu和1个cpu核,虚拟化实例2需要2个gpu和2个cpu核,所以为虚拟化实例1选择处理节点3,为虚拟实例2选择处理节点2。将虚拟化实例1从处理节点1迁移到处理节点3,处理节点3为虚拟化实例1分配1个空闲gpu和1个空闲cpu核。将虚拟化实例2从处理节点1迁移到处理节点2,处理节点2为虚拟化实例2分配2个空闲gpu和2个空闲cpu核。
132.上述视频分析任务需要的gpu个数为3,上述图片分析任务需要的gpu个数为4和cpu核个数为5。将虚拟化实例1和虚拟化实例2从处理节点1上迁移出,处理节点1包括的空闲gpu个数为5,空闲cpu核个数为6。所以处理节点1包括的空闲第一资源满足上述视频分析任务需要的第一资源,或者,处理节点1包括的空闲第一资源满足上述图片分析任务需要的第一资源。
133.步骤207:管理节点向第一处理节点发送待处理任务。
134.第一处理节点在接收待处理任务,创建虚拟化实例,基于待处理任务包括的第一资源的需求数量为该虚拟化实例分配第一资源,使用该虚拟化实例处理接收的待处理任务。
135.第一处理节点还在其保存的虚拟化实例的实例标识与第一资源的资源标识的对应关系中,添加包括该创建的虚拟化实例的实例标识和分配的第一资源的资源标识的记录。
136.例如,以待处理任务为上述视频分析任务为例,管理节点向处理节点1发送视频分析任务,处理节点1创建虚拟化实例,基于该视频分析任务的gpu个数3,为该虚拟化实例分配3个空闲gpu,该虚拟化实例使用该3个gpu处理该视频分析任务。
137.再例如,以待处理任务为上述图片分析任务为例,管理节点向处理节点1发送图片分析任务,处理节点1创建虚拟化实例,基于该图片分析任务的gpu个数4和cpu核个数5,为该虚拟化实例分配4个空闲gpu和5个空闲cpu核,该虚拟化实例使用该4个gpu和5个处理核处理该图片分析任务。
138.在本技术实施例中,管理节点获取待处理任务对第一资源的需求数量;基于所述需求数量确定第一处理节点,第一处理节点包括空闲的至少一个第一虚拟化实例,第一处理节点包括的空闲第一资源和该至少一个第一虚拟化实例占用的第一资源之和满足该需求数量。且第一处理节点对应至少一个第二处理节点,该至少一个第二处理节点包括的空闲第一资源满足该至少一个第一虚化实例对第一资源的需求数量。将该至少一个第一虚拟化实例从第一处理节点迁移到该至少一个第二处理节点上,且在将该至少一个第一虚拟化
实例从第一处理节点中迁移后,第一处理节点剩下的空闲第一资源满足待处理任务对第一资源的需求数量,这样管理节点可以向第一处理节点发送待处理任务,从而保证待处理任务能够及时处理,提高任务处理效率。由于将该至少一个第一虚拟化实例从第一处理节点迁移到该至少一个第二处理节点上,将该至少一个第二处理节点上的零碎的空闲第一资源给利用起来,从而提高了第一资源的利用率。
139.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
140.参见图3,本技术实施例提供了一种发送任务的装置300,所述装置300包括:
141.获取模块301,用于获取待处理任务对第一资源的需求数量;
142.确定模块302,用于基于该需求数量确定第一处理节点,第一处理节点包括空闲的至少一个第一虚拟化实例,第一处理节点包括的空闲第一资源和至少一个第一虚拟化实例占用的第一资源之和满足该需求数量;
143.迁移模块303,用于将该至少一个第一虚拟化实例从第一处理节点迁移到至少一个第二处理节点上,该至少一个第二处理节点包括的空闲第一资源满足该至少一个第一虚拟化实例需求的第一资源;
144.发送模块304,用于向第一处理节点发送待处理任务。
145.可选的,确定模块302,用于:
146.基于该需求数量获取x个处理节点的代价分数,x为大于0的整数,该x个处理节点包括第三处理节点,第三处理节点的代价分数用于指示从第三处理节点上迁移虚拟化实例的代价,第三处理节点包括的空闲第一资源和至少一个空闲虚拟化实例占用的第一资源之和满足该需求数量;
147.选择代价分数满足指定条件的处理节点作为第一处理节点。
148.可选的,第三处理节点对应至少一个第二处理节点,第三处理节点对应的至少一个第二处理节点的空闲第一资源满足至少一个空闲虚拟化实例需求的第一资源。
149.可选的,确定模块302,用于:
150.基于该需求数量获取目标节点中能够迁移的至少一个空闲虚拟化实例,目标节点的空闲第一资源和至少一个空闲虚拟化实例占用的第一资源之和满足该需求数量,目标节点为云计算系统中的任一个节点;
151.查询云计算系统是否存在至少一个第二处理节点,至少一个第二处理节点包括的空闲第一资源满足至少一个空闲虚拟化实例需求的第一资源,至少一个第二处理节点是云计算系统中除目标节点之外的节点;
152.如果存在至少一个第二处理节点,基于至少一个空闲虚拟化实例的个数,确定目标节点的代价分数。
153.可选的,参见图4,所述装置300还包括:
154.查询模块305,用于查询云计算系统是否存在空闲第一资源满足该需求数量的处理节点,云计算系统包括第一处理节点和至少一个第二处理节点;
155.确定模块302,用于如果云计算系统不存在空闲第一资源满足该需求数量的处理节点,基于该需求数量确定第一处理节点。
156.可选的,确定模块302,用于:
157.在云计算系统包括的总空闲第一资源满足该需求数量时,基于该需求数量确定第一处理节点,云计算系统包括第一处理节点和至少一个第二处理节点。
158.可选的,第一资源的类型包括图形处理器gpu、中央处理器cpu和存储资源中的一个或多个。
159.在本技术实施例中,获取模块获取待处理任务对第一资源的需求数量;确定模块基于所述需求数量确定第一处理节点,第一处理节点包括空闲的至少一个第一虚拟化实例,第一处理节点包括的空闲第一资源和该至少一个第一虚拟化实例占用的第一资源之和满足该需求数量。迁移模块将该至少一个第一虚拟化实例从第一处理节点迁移到该至少一个第二处理节点上,该至少一个第二处理节点包括的空闲第一资源满足该至少一个第一虚拟化实例需求的第一资源。其中,在将该至少一个第一虚拟化实例从第一处理节点中迁移后,第一处理节点剩下的空闲第一资源满足待处理任务对第一资源的需求数量,这样发送模块可以向第一处理节点发送待处理任务,从而保证待处理任务能够及时处理,提高任务处理效率。
160.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
161.图5示出了本技术一个示例性实施例提供的电子设备500的结构框图。该电子设备500可以是便携式移动终端,比如:平板电脑、笔记本电脑或台式电脑。或者,电子设备500可以是服务器等。电子设备500还可能被称为上述实施例中的管理节点等名称。
162.通常,电子设备500包括有:处理器501和存储器502。
163.处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
164.存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本技术中方法实施例提供的发送任务的方法。
165.在一些实施例中,电子设备500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、显示屏505、摄像头组件506、音频电路507、定位组件508和电源509中的至少一种。
166.外围设备接口503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
167.射频电路504用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
168.显示屏505用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置在电子设备500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在电子设备500的不同表面或呈折叠设计;在另一些实施例中,显示屏505可以是柔性显示屏,设置在电子设备500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light

emitting diode,有机发光二极管)等材质制备。
169.摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
170.音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以
包括耳机插孔。
171.定位组件508用于定位电子设备500的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件508可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
172.电源509用于为电子设备500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
173.在一些实施例中,电子设备500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
174.加速度传感器511可以检测以电子设备500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
175.陀螺仪传感器512可以检测电子设备500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对电子设备500的3d动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
176.压力传感器513可以设置在电子设备500的侧边框和/或显示屏505的下层。当压力传感器513设置在电子设备500的侧边框时,可以检测用户对电子设备500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在显示屏505的下层时,由处理器501根据用户对显示屏505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
177.指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置在电子设备500的正面、背面或侧面。当电子设备500上设置有物理按键或厂商logo时,指纹传感器514可以与物理按键或厂商logo集成在一起。
178.光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制显示屏505的显示亮度。具体地,当环境光强度较高时,调高显示屏505的显示亮度;当环境光强度较低时,调低显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
179.接近传感器516,也称距离传感器,通常设置在电子设备500的前面板。接近传感器516用于采集用户与电子设备500的正面之间的距离。在一个实施例中,当接近传感器516检
测到用户与电子设备500的正面之间的距离逐渐变小时,由处理器501控制显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与电子设备500的正面之间的距离逐渐变大时,由处理器501控制显示屏505从息屏状态切换为亮屏状态。
180.本领域技术人员可以理解,图5中示出的结构并不构成对电子设备500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
181.本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
182.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献