CN112099957B - 资源配置方法、***、装置以及电子设备 - Google Patents
资源配置方法、***、装置以及电子设备 Download PDFInfo
- Publication number
- CN112099957B CN112099957B CN202011199832.2A CN202011199832A CN112099957B CN 112099957 B CN112099957 B CN 112099957B CN 202011199832 A CN202011199832 A CN 202011199832A CN 112099957 B CN112099957 B CN 112099957B
- Authority
- CN
- China
- Prior art keywords
- resource
- container
- ith
- requests
- request
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000013468 resource allocation Methods 0.000 title claims description 28
- 230000006378 damage Effects 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 9
- 238000010801 machine learning Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 230000001105 regulatory effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000012795 verification Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
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/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
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)
Abstract
本公开提供一种资源配置方法、***、装置以及电子设备,涉及云技术领域。应用于与资源消费端和资源提供端建立数据连接的节点的方法包括:接收来自M个资源消费端的资源获取请求,得到N个资源获取请求,N为正整数;将N个资源获取请求转换为满足目标协议的N个容器创建请求;将N个容器创建请求发送至资源提供端,以使资源提供端根据N个容器创建请求创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源;接收资源提供端发送的关于N个容器的接口信息,并将接口信息发送至M个资源消费端。本公开提供的技术方案能够在一定程度上简化资源消费方在使用计算机资源时的操作步骤,以及提升计算机资源的利用率。
Description
技术领域
本公开涉及云技术领域,具体而言,涉及一种资源配置方法、资源配置***、资源配置装置,以及实现上述资源配置方法的电子设备。
背景技术
为了简便高效地将计算机资源,例如,GPU(Graphics Processing Unit, 图形处理器)资源、CPU(Central Processing Unit, 中央处理器)资源等,提供给需要相关资源的应用场景,可以以云服务器的方式实现资源的提供。
相关技术中,使用计算机资源的一方(记作“资源消费方”)在需要相关计算机资源时,一般需要进行设备申请步骤、环境部署步骤、调试运行步骤等,且在使用计算机资源时还中需要不断优化迭代等步骤。
可见,在申请使用计算机资源时,不同的资源消费方均要经过相同或相似的研发环境部署的操作,操作过程繁琐且重复。同时,相关技术提供的资源配置方案还存在难以实现规模化的复用相关计算机资源,存在资源利用率低的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种资源配置方法、资源配置***、资源配置装置、电子设备以及计算机可读存储介质,进而在一定程度上简化资源消费方在使用计算机资源时的操作步骤,以及提升计算机资源的利用率。
根据本公开的第一方面,提供一种资源配置方法,应用于与资源消费端和资源提供端建立数据连接的节点,该方法包括:
接收来自M个所述资源消费端的资源获取请求,得到N个资源获取请求,M、N为正整数;
将上述N个资源获取请求转换为满足目标协议的N个容器创建请求;将上述N个容器创建请求发送至上述资源提供端,以使上述资源提供端根据上述N个容器创建请求创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;以及,
接收上述资源提供端发送的关于N个容器的接口信息,并将上述接口信息发送至M个上述资源消费端。
在本公开的一种示例性实施例中,基于前述实施例,上述接收来自M个所述资源消费端的资源获取请求,包括:接收来自第j个所述资源消费端的满足第j个私有协议的第i个资源获取请求,j为小于或等于M的正整数;
上述将上述N个资源获取请求转换为满足目标协议的N个容器创建请求,包括:将满足上述第j个私有协议的资源获取请求映射为满足上述目标协议的中间请求;以及,对上述中间请求进行字段格式规整,得到第i个容器创建请求。
在本公开的一种示例性实施例中,基于前述实施例,上述接收来自M个所述资源消费端的资源获取请求,包括:接收来自第j个所述资源消费端的至少包含资源需求参数和第j个资源消费端标识的第i个资源获取请求,j为小于或等于M的正整数;
上述根据上述N个容器创建请求创建N个容器,包括:根据第i个资源获取请求中的资源需求参数创建第i个容器,且上述第i个容器包含上述第j个资源消费端标识。
在本公开的一种示例性实施例中,基于前述实施例,上述将上述接口信息发送至M个上述资源消费端,包括:根据上述N个容器分别所包含的资源消费端标识,将上述N个容器以统一形式的接口提供给M个上述资源消费端,以使资源挂载在上述资源消费端。
在本公开的一种示例性实施例中,基于前述实施例,在上述将上述N个资源获取请求转换为满足目标协议的N个容器创建请求之前,该方法还包括:
对上述第i个资源获取请求的信息完整度进行验证;以及,响应于上述第i个资源获取请求的信息不完整,向上述第i个资源获取请求对应的资源消费端发送提醒,以使上述第i个资源获取请求对应的资源消费端再次发送资源获取请求。
在本公开的一种示例性实施例中,基于前述实施例,该方法还包括:
接收来自第k个资源消费端且包含第k个资源消费端标识的资源销毁请求,k为小于或等于M的正整数;
验证上述第k个资源销毁请求的可信度;以及,
在对上述资源销毁请求的验证通过后,将上述资源销毁请求发送至上述资源提供端,以使上述资源提供端根据上述资源销毁标识信息确定目标容器,以及销毁上述目标容器,实现上述目标容器中的资源与上述第k个资源消费端的解挂。
在本公开的一种示例性实施例中,基于前述实施例,该方法还包括:
响应于将上述目标容器的接口信息发送至上述第k个资源消费端,确定开始计时时间点;
响应于上述目标容器中的资源与上述第k个资源消费端的解挂,确定结束计时时间点;以及,
根据上述开始计时时间点、上述结束计时时间点以及上述第k个资源消费端的资源需求参数确定资源消费值。
在本公开的一种示例性实施例中,基于前述实施例,上述资源提供端提供的资源包括:图形处理器GPU算力、CPU算力、现场可编程逻辑门阵列FPGA算力或专用集成电路ASIC芯片算力。
在本公开的一种示例性实施例中,基于前述实施例,上述资源消费端包括:用于训练机器学习模型的集群和用于视频实时编解码的集群。
根据本公开的第二方面,提供了一种资源配置方法,应用于资源提供端,该方法包括:
接收节点发送的满足目标协议的N个容器创建请求,其中,上述容器创建请求为上述节点接收来自M个上述资源消费端的N个资源获取请求并将上述N个资源获取请求转换为上述满足目标协议的N个容器创建请求而确定的,M、N为正整数;
根据接收到的N个容器创建请求分别所包含的资源需求参数,创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;以及,
发送关于上述N个容器的接口信息至上述节点,以使将上述接口信息发送至M个上述资源消费端。
在本公开的一种示例性实施例中,基于前述实施例,该方法还包括:
接收上述节点发送的且包含第k个资源消费端标识的资源销毁请求,k为小于或等于M的正整数;以及,
根据上述第k个资源消费端标识确定目标容器,以及销毁上述目标容器,实现上述目标容器中的资源与上述第k个资源消费端的解挂。
根据本公开的第三方面,提供了一种资源配置***,该***包括:资源消费端、资源提供端,以及设置在所述资源消费端与所述资源提供端之间的节点,其中:
上述节点可以执行上述第一方面中任意实施例所述的方法,上述资源提供端可以执行上述第二方面中任意实施例所述的方法。
根据本公开的第四方面,提供一种资源配置装置,配置于与资源消费端和资源提供端建立数据连接的节点,所述装置包括:第一接收模块、转换模块、第一发送模块以及第二接收模块。
其中,上述第一接收模块,被配置为:接收来自M个所述资源消费端的资源获取请求,得到N个资源获取请求,M、N为正整数;
上述转换模块,被配置为:将上述N个资源获取请求转换为满足目标协议的N个容器创建请求;
上述第一发送模块,被配置为:将上述N个容器创建请求发送至上述资源提供端,以使上述资源提供端根据上述N个容器创建请求创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;以及,
上述第二接收模块,被配置为:接收上述资源提供端发送的关于N个容器的接口信息,并将上述接口信息发送至M个上述资源消费端。
在示例性的实施例中,基于前述方案,上述第一接收模块,被具体配置为:接收来自第j个所述资源消费端的满足第j个私有协议的第i个资源获取请求,j为小于或等于M的正整数;
上述转换模块,被具体配置为:将满足上述第j个私有协议的资源获取请求映射为满足上述目标协议的中间请求;以及,对上述中间请求进行字段格式规整,得到第i个容器创建请求。
在示例性的实施例中,基于前述方案,上述第一接收模块,被具体配置为:接收来自第j个所述资源消费端的至少包含资源需求参数和第j个资源消费端标识的第i个资源获取请求,j为小于或等于M的正整数;
上述第一发送模块,被具体配置为:根据第i个资源获取请求中的资源需求参数创建第i个容器,且上述第i个容器包含上述第j个资源消费端标识。
在示例性的实施例中,基于前述方案,上述第二接收模块,被具体配置为:根据上述N个容器分别所包含的资源消费端标识,将上述N个容器以统一形式的接口提供给M个上述资源消费端,以使资源挂载在上述资源消费端。
在示例性的实施例中,基于前述方案,上述资源配置还包括:验证模块。
其中,上述验证模块,被配置为:在上述转换模块,将上述N个资源获取请求转换为满足目标协议的N个容器创建请求之前,对上述第i个资源获取请求的信息完整度进行验证;以及,
响应于上述第i个资源获取请求的信息不完整,向上述第i个资源获取请求对应的资源消费端发送提醒,以使上述第i个资源获取请求对应的资源消费端再次发送资源获取请求。
在示例性的实施例中,基于前述方案,上述第一接收模块,还被配置为:接收来自第k个资源消费端且包含第k个资源消费端标识的资源销毁请求,k为小于或等于M的正整数;
上述验证模块,还被配置为:验证上述第k个资源销毁请求的可信度;在对上述资源销毁请求的验证通过后,将上述资源销毁请求发送至上述资源提供端,以使上述资源提供端根据上述资源销毁标识信息确定目标容器,以及销毁上述目标容器,实现上述目标容器中的资源与上述第k个资源消费端的解挂。
在示例性的实施例中,基于前述方案,上述资源配置还包括:计时模块。
其中,上述计时模块,被配置为:响应于将上述目标容器的接口信息发送至上述第k个资源消费端,确定开始计时时间点;
响应于上述目标容器中的资源与上述第k个资源消费端的解挂,确定结束计时时间点;以及,
根据上述开始计时时间点、上述结束计时时间点以及上述第k个资源消费端的资源需求参数确定资源消费值。
在示例性的实施例中,基于前述方案,上述资源提供端提供的资源包括以下信息中的一种或几种:图形处理器GPU算力、CPU算力、现场可编程逻辑门阵列FPGA算力和专用集成电路ASIC芯片算力。
在示例性的实施例中,基于前述方案,上述资源消费端包括:用于训练机器学习模型的集群和用于视频实时编解码的集群。
根据本公开的第五方面,提供一种资源配置装置,配置于资源提供端。该资源配置装置包括:第三接收模块、创建模块以及第二发送模块。
其中,上述第三接收模块,被配置为:接收节点发送的满足目标协议的N个容器创建请求,其中,上述容器创建请求为上述节点接收来自M个上述资源消费端的N个资源获取请求并将上述N个资源获取请求转换为上述满足目标协议的N个容器创建请求而确定的,M、N为正整数;
上述创建模块,被配置为:根据接收到的N个容器创建请求分别所包含的资源需求参数,创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;
上述第二发送模块,被配置为:发送关于上述N个容器的接口信息至上述节点,以使将上述接口信息发送至M个上述资源消费端。
在示例性的实施例中,基于前述方案,该资源配置装置还包括:销毁模块。
其中,上述第三接收模块,还被配置为:接收上述节点发送的且包含第k个资源消费端标识的资源销毁请求,k为小于或等于M的正整数;
上述销毁模块,被配置为:根据上述第k个资源消费端标识确定目标容器,以及销毁上述目标容器,实现上述目标容器中的资源与上述第k个资源消费端的解挂。
根据本公开的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任意实施例所述的资源配置方法,以及实现上述第二方面中任意实施例所述的资源配置方法。
根据本公开的第七方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面中任意实施例所述的资源配置方法,以及执行上述第二方面中任意实施例所述的资源配置方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开的一示例实施方式所提供的资源配置方案中,在资源消费端与资源提供端之间的布置节点,该节点与资源消费端建立数据集连接,同时该节点与资源提供端建立数据连接,通过该节点接收来各资源消费端的资源获取请求,还通过该节点将不同资源消费端的资源获取请求转换为满足目标协议的容器创建请求,进一步地,该节点将容器创建请求发送至资源提供端,并在资源提供端根据容器创建请求创建包含资源消费端所需的资源之后,该节点还接收资源提供端发送的容器的接口信息,最终将接口信息发送资源消费端。
可见,本技术方案中,资源消费端并不需要直接与资源提供端进行信息交互,一方面,资源消费端无需关注资源消费端相关资源的安装部署、调试运行等运维流程,从而简化了资源消费端在使用计算机资源时的操作步骤。另一方面,资源提供端的资源升级更新等操作对资源消费端透明,即资源消费端无需处理资源提供端运行过程中的问题。同时,本技术方案通过上述节点将来自各资源消费端的请求统一为满足目标协议的容器创建请求,进而为用户提供统一的接口,有利于提升资源配置的灵活性。同时,本技术方案采用容器的方式向资源消费端提供资源,方便快捷地实现计算机资源与资源消费端的挂载与解挂,能够有效地对资源进行规模化地复用调度,有利于提升资源利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种资源配置***的示意图。
图2示意性示出了根据本公开的一实施例的资源配置方法的流程示意图。
图3示意性示出了根据本公开的另一实施例的资源配置方法的流程示意图。
图4示意性示出了根据本公开的一实施例的资源配置方法的信息交互图。
图5示意性示出了根据本公开的一实施例的资源获取请求的处理方法的流程图。
图6示意性示出了根据本公开的一实施例中对资源获取请求的转换示意图。
图7示意性示出了根据本公开的一实施例的容器创建请求的转换方法的流程图。
图8示意性示出了根据本公开的一实施例中对资源销毁请求的转换示意图图。
图9示出了可以应用本公开一实施例的资源配置装置的结构示意图。
图10示出了可以应用本公开另一实施例的资源配置装置的结构示意图。
图11示出了适于用来实现本公开实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储***(以下简称存储***)是指通过集群应用、网格技术以及分布存储文件***等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储***。
本技术方案中,集群中的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
资源消费端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等终端设备,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本技术方案提供的资源配置***的使用场景可以是:视频制作公司、直播平台等视频流量高并发且需要对视频进行实时编解码时,通过本技术方案提供资源配置***来获取云服务器中的计算机资源,如GPU(Graphic Processing Unit,图像处理单元)的算力。
本技术方案提供的资源配置***的使用场景还可以是:随着AI(ArtificialIntelligence, 人工智能)技术的发展,机器学习模型的应用越来越广泛。而在机器学习模型的训练过程中需要相当大的计算机资源,例如:神经网络模型的数据处理,需要使用异构计算。
其中,异构计算是指利用CPU(Central Processing Unit, 中央处理单元)与GPU的协同计算、APU(Accelerated Processing Units, CPU与GPU的融合)与其他设备(如,FPGA(Field Programmable Gate Array, 现场可编程逻辑门阵列))的协同计算等,以通过多种计算设备的计算能力从而来提高***的速度。
示例性的,通过本技术方案提供的资源配置方法来配置GPU算力,可以在保障资源消费端(即模型训练端)对业务流程无感知的情况下,方便快捷地使用GPU算力完成模型训练。
具体的,图1示出了可以应用本公开实施例的一种资源配置***的示例性应用环境的***架构的示意图。
如图1所示,资源配置***100可以包括:作为资源消费端的终端设备101、102、103中的一个或多个、作为资源提供端的云服务器105以及与资源消费端和资源提供端分别建立有数据连接的节点106。
其中,网络104用以在资源消费端和节点106之间提供通信链路的介质、网络104还用以在节点106和云服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如节点106可以设置为虚拟节点,云服务器105是多个服务器组成的服务器集群等。
基于上述资源配置***,以下对本技术方案提供的资源配置方法的实施例进行详细阐述:
图2示意性示出了根据本公开的一实施例的资源配置方法的流程图。具体的,本实施例所提供的资源配置方式以与资源消费端和资源提供端分别建立有数据连接的节点为执行主体。参考图2,该图所示实施例包括:
步骤S210,接收来自M个所述资源消费端的资源获取请求,得到N个资源获取请求,M、N为正整数;
步骤S220,将所述N个资源获取请求转换为满足目标协议的N个容器创建请求;
步骤S230,将所述N个容器创建请求发送至所述资源提供端,以使所述资源提供端根据所述N个容器创建请求创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;以及,
步骤S240,接收所述资源提供端发送的关于N个容器的接口信息,并将所述接口信息发送至M个所述资源消费端。
示例性的,图3示意性示出了根据本公开的另一实施例的资源配置方法的流程图。具体的,本实施例所提供的资源配置方式以资源提供端为执行主体。参考图3,该图所示实施例包括:
步骤S310,接收节点发送的满足目标协议的N个容器创建请求,其中,所述容器创建请求为所述节点接收来自N个所述资源消费端的M个资源获取请求并将所述N个资源获取请求转换为所述满足目标协议的N个容器创建请求而确定的,M、N为正整数;
步骤S320,根据接收到的N个容器创建请求分别所包含的资源需求参数,创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;以及,
步骤S330,发送关于所述N个容器的接口信息至所述节点,以使将所述接口信息发送至M个所述资源消费端。
其中,上述资源提供端提供的资源包括以下信息中的一种或几种: GPU算力、CPU算力、现场可编程逻辑门阵列FPGA算力和专用集成电路ASIC(Application SpecificIntegrated Circuit, 专用集成电路)芯片算力等。以下实施例中将以GPU算力运用至机器学习模型的训练场景为例对本技术方案提供的资源配置方案进行解释说明。
示例性的,图4示意性示出了根据本公开的一实施例的资源配置方法的时序图。具体的,可以结合图4对图2和图3中各个步骤的具体实施方式进行解释说明。
参考图4,资源配置***包括:资源消费端(例如,资源消费集群,包括第1个资源消费端410,…,第M个资源消费端410’)、资源提供端420,以及与资源消费集群中各个资源消费端分别建立有数据连接,且与资源提供端建立有数据连接的节点430。基于图示的资源配置***的资源配置方法,包括:
作为步骤S210的一种具体实施方式,在步骤S41中:第1个资源消费端410发送满足第1个私有协议的第1个资源获取请求至节点430,其中,至少包含第1个资源消费端的标识以及资源需求参数。以及,在步骤S41’中:第M个资源消费端410’发送满足第M个私有协议的第N个资源获取请求至节点430,其中,至少包含第M个资源消费端的标识以及资源需求参数。从而,节点430接收到来自N个资源消费端的N个资源获取请求,M、N为正整数。
在示例性的实施例中,为了确保资源获取请求中的信息完整,以保证资源请求信息的有效性,节点在将其转化为容器创建请求之前,对接收到的每个资源获取请求验证请求的信息完整度,参考图5,该方式包括:
步骤S510:接收来自第j个资源消费端的第i个资源获取请求。步骤S520:判断第i个资源获取请求的信息是否完整。具体的,参考图6,可以判断资源获取请求中是否包含镜像信息、需求数量、单个容器中的GPU个数、开始使用的时间、结束使用的时间以及城域信息。这些信息均是后续资源提供端创建容器的关键信息。
若节点判断第i(1≤i≤N)个资源获取请求的信息中不包含以上信息中的任意一种或多种,则表示第i个资源获取请求的信息不完整,则执行步骤S540:向第j个资源消费端发送信息补齐的提醒,以使第j个资源消费端再次发送资源获取请求,节点再次执行步骤S520对再次发送的资源获取请求进行完整度验证。
若节点判断第i个资源获取请求的信息中包含以上信息中的任意一种,则表示第i个资源获取请求的信息完整,则执行步骤S530:将所述第i个资源获取请求转换为满足所述目标协议的第i个容器创建请求。
示例性的,图7示意性示出了根据本公开的一实施例的容器创建请求的转换方法的流程图。具体为节点430对于接收到的资源获取请求进行的处理方式,可以作为步骤S220的一种具体实施方式。参考图7:
在步骤S710中,接收来自第j个所述资源消费端的满足第j个私有协议的第i个资源获取请求,j为小于或等于M的正整数。
其中,鉴于不同的资源消费端与节点430之间进行信息交互可能采用不同的协议,也就是说,第j个资源消费端将满足第j(1≤j≤M)种私有协议的资源消费请求发送至节点430,同时第j’个资源消费端将满足第j’(1≤j’≤M)种私有协议的资源消费请求发送至节点430。从而,节点430接收到的N个资源获取请求中最多可能满足N种不同的私有协议,为了保证资源提供端提供资源的接口统一(如,将GPU算力规整成标准的接口输出),以便于资源便捷挂载至多个资源消费端,本技术方案通过节点430进行协议转换,即:
在步骤S720中,将满足所述第j个私有协议的资源获取请求映射为满足目标协议的中间请求。
其中,私有协议为不同资源消费者企业内部自定的协议标准,其只适用于本企业生产的设备产品。则不同的资源消费端发出的资源获取请求可能对应于不同的私有协议,本技术方案为了提升资源提供端所提供的资源提供接口的兼容性,将通过上述节点(如图节点430)将资源获取请求进行协议转换,以使得各个容器创建请求(由资源获取请求确定)满足统一的协议,进而达到为用户提供兼容性高的统一接口来实现资源接入,有利于提升资源配置的灵活性。
示例性的,参考图6,将来自不同资源消费端的资源获取请求转换为满足目标协议的中间请求,如将来自用于训练处理图像的神经网络模型场景的资源获取请求满足第一私有协议。如:来自用于训练处理图像的神经网络模型场景的GPU算力获取请求满足第一私有协议,来自用于直播平台的视频实时编解码场景的GPU算力获取请求满足第二私有协议,在本实施例中,节点分别将满足第一私有协议的GPU算力获取请求和满足第二私有协议的GPU算力获取请求转换为满足目标协议的中间请求,如:Createpod(city, count, gpu num,image name, start use time, end use time)。
本实施例中,节点将资源消费端的资源消费请求最终转换为容器创建请求,以使得资源提供端根据容器创建请求创建容器。示例性的,为了便于资源提供端根据容器创建请求创建容器,本技术方案还通过节点对上述中间请求进行字段格式规整,例如,对非关键信息(空格等)的补齐等。则在步骤S730中,对所述中间请求进行字段格式规整,得到第i个容器创建请求。
在示例性的实施例中,参考图4,节点430执行步骤S42:根据第i个资源获取请求中的资源需求参数创建第i个容器,且第i个容器包含所述第j个资源消费端标识,得到满足目标协议的N个容器创建请求。参考图6,资源需求参数包括:所需的容器数量和每个容器中的GPU个数,还可以包括城域信息、对GPU算力的使用时间等。例如:来自用于训练处理图像的神经网络模型场景的GPU算力获取请求需要10个4卡的GPU资源、城域信息为s,使用时间为2020年1月3日00:00至2020年1月5日12:00。则其发送私有协议的资源获取请求给到节点,节点上运行的server收到上述资源获取请求后,将该私有协议转换为满足图7所示格式的容器创建请求,以使得资源提供端根据容器创建请求创建包含10个4卡的GPU资源的容器。示例性的,还可以根据上述容器生效时间与截止使用时间确定该容器的生命周期,从也就是说,该容器中的资源从2020年1月3日00:00可以被对应的资源消费端使用,至2020年1月5日12:00容器的资源失效,容器中的GPU算力自动实现解挂。
本技术方案中采用容器的方式将资源提供给用户具有隔离性高的优点,即每个资源获取请求对应于一个容器,即A容器是根据a资源消费端发送的资源获取请求创建的,则A容器为a资源消费端提供GPU算力。采用容器的方式将不同请求对应的资源进行隔离,进而资源提供端的每一个容器就是一个隔离的环境。不同容器包含的GPU算力之间不产生影响,从而为用户进行稳定的资源提供。
同时,采用容器的方式将资源提供给用户还具有便于部署的优点,即资源提供端根据容器创建请求中的容器镜像地址就可以实现容器创建。基于容器创建请求中所需的容器数量、每个容器中的GPU个数等便可以完成目标容器的创建。
再次参考图4,节点430在步骤S43中将满足统一的目标协议的N个容器创建请求发送至资源提供端420。进一步地,作为步骤S320的一种具体实施方式,资源提供端420在步骤S44中,根据接收到的第i个容器创建请求所包含的资源需求参数,创建第i个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,得到N个容器。
示例性的,节点接收到的资源获取请求中所包含的资源消费端标识,可以是资源消费端的设备id,则资源提供端创建容器时:根据第i个资源获取请求中的资源需求参数创建第i个容器,且所述第i个容器包含所述第j个资源消费端标识。从而,得到对应于资源获取请求的N个容器,且每个容器均包含对应的资源消费端的标识信息。例如,X容器中包含资源消费端标识x,且X容器中的计算机资源的数量对应于第x个资源消费端发出的资源获取需求中所要求的资源需求量。进而,通过N个容器将各个资源消费端所需的计算机资源进行隔离封装,每个容器中的资源能够持续稳定的服务于相应的资源消费端。
进一步地,在步骤S45中,资源提供端420向节点430发送关于N个容器的接口信息。鉴于节点430将私有协议的资源获取请求进行协议转换,统一为满足目标协议的容器创建请求,进而资源提供端基于满足统一的目标协议的容器创建请求创建的N个容器,能够对外提供统一的接口形式,从而便于资源消费端的挂载。例如,节点430在步骤S46中,将第N个容器的接口信息发送至第M个资源消费端410’,实现第N个容器的GPU算力挂载在第M个资源消费端410’。在步骤S46’中,将第1个容器的接口信息发送至第1个资源消费端410,实现第1个容器的GPU算力挂载在第1个资源消费端410。
在示例性的实施例中,为了确保资源提供端准确定位待销毁的容器,节点在接收到资源销毁请求之后验证该资源销毁请求的可信性,参考图8,该方式包括:
步骤S810:接收来第k(1≤k≤M)个资源消费端且包含第k个资源消费端标识的资源销毁请求。步骤S820:判断第k个资源销毁请求是否可信。具体的,上述资源销毁请求可以是key,对key的验证方法可以是:判断key的长度是否符合预设的值如,判断key的长度是不是16位数。对key的验证方法还可以是:key的字符是否是十六进制字符串等。若key信息正常,则下发销毁请求到GPU算力集群执行销毁操作。
若节点判断第k个资源销毁请求的key不满足预设需求,则表示第k个资源销毁请求的信息不可信,则执行步骤S840:向第k个资源消费端发送提醒信息,以使第k个资源消费端再次发送资源销毁请求,节点再次执行步骤S820对再次发送的资源销毁请求进行可信度验证。
若节点判断第k个资源销毁请求的信息满足预设需求,则表示第k个资源销毁请求的信息可信,则执行步骤S830:将所述资源销毁请求发送至所述资源提供端,以使所述资源提供端根据所述资源销毁标识信息确定目标容器,以及销毁所述目标容器,实现所述目标容器中的资源与所述第k个资源消费端的解挂。
本技术方案中资源提供端为使用容器构建的一套服务集群网络,其所包含的大量容器可以采用Kubernetes(k8s)来管理。在示例性的实施例中,资源提供端将调试运行好的GPU算力通过标准的k8s云原生接口给到用户(资源消费端),用户可以无缝的完成挂载使用其容器中的GPU算力,当用户成功发送资源解挂请求之后可及时完成解挂步骤。可见,本技术方案实现了无侵入资源消费集群的管理,即实现了GPU算力的插件化,且插件化使用模式可以方便便捷的为用户提供计算机资源。
本技术方案还提供对资源提供端的计算机资源进行计时以达到自动计费的技术效果。具体的:
在一种示例性的实施例中,资源消费端发送的资源获取请求中包含资源使用时间(如上述实施例中的使用时间为2020年1月3日00:00至2020年1月5日12:00),则资源提供端创建对应的容器时,将根据资源使用时间设置该容器的生命周期,即该容器中的资源从2020年1月3日00:00可以被对应的资源消费端使用,至2020年1月5日12:00容器的资源失效,容器中的GPU算力自动实现解挂。则资源提供端可以根据资源使用时间以及容器中的资源量确定资源消费值,达到计费效果。同时,解挂后的计算机资源可以快速被其他业务使用,即实现规模化的复用相关计算机资源,进而有效提升资源利用率。
在另一种示例性的实施例中,当资源提供端创建对应的容器不包含上述资源使用时间时,可以由设置在资源提供端与资源消费端之间的节点来确定资源消费值。具体的:
响应于将上述目标容器的接口信息发送至上述第k个资源消费端,设置在资源提供端与资源消费端之间的节点确定开始计时时间点。并且,响应于目标容器中的资源与上述第k个资源消费端的解挂,该节点确定结束计时时间点。从而,节点根据开始计时时间点、结束计时时间点以及第k个资源消费端的资源需求参数(如,容器中的GPU个数)确定资源消费值。
本技术方案中,资源消费端并不需要直接与资源提供端进行信息交互,一方面,资源消费端无需关注资源消费端相关资源的安装部署、调试运行等运维流程,从而简化了资源消费端在使用计算机资源时的操作步骤。另一方面,资源提供端的资源升级更新等操作对资源消费端透明,即资源消费端无需处理资源提供端运行过程中的问题。同时,本技术方案通过上述节点将来自各资源消费端的请求统一为满足目标协议的容器创建请求,进而为用户提供统一的接口,有利于提升资源配置的灵活性。同时,本技术方案采用容器的方式向资源消费端提供资源,方便快捷地实现计算机资源与资源消费端的挂载与解挂,能够有效地对资源进行规模化地复用调度,有利于提升资源利用率。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由处理器(包含CPU和GPU)执行的计算机程序。在该计算机程序被处理器执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
以下对本技术方案提供的资源配置装置进行介绍:
本示例实施方式中提供的一种资源配置装置,应用于资源消费端与资源提供端之间的节点。参考图9所示,该资源配置装置900包括:第一接收模块901、转换模块902、第一发送模块903以及第二接收模块904。
其中,上述第一接收模块901,被配置为:接收来自M个所述资源消费端的资源获取请求,得到N个资源获取请求,M、N为正整数;
上述转换模块902,被配置为:将上述N个资源获取请求转换为满足目标协议的N个容器创建请求;
上述第一发送模块903,被配置为:将上述N个容器创建请求发送至上述资源提供端,以使上述资源提供端根据上述N个容器创建请求创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;以及,
上述第二接收模块904,被配置为:接收上述资源提供端发送的关于N个容器的接口信息,并将上述接口信息发送至M个上述资源消费端。
在示例性的实施例中,基于前述方案,上述第一接收模块901,被具体配置为:接收来自第j个所述资源消费端的满足第j个私有协议的第i个资源获取请求,j为小于或等于M的正整数;
上述转换模块902,被具体配置为:将满足上述第j个私有协议的资源获取请求映射为满足上述目标协议的中间请求;以及,对上述中间请求进行字段格式规整,得到第i个容器创建请求。
在示例性的实施例中,基于前述方案,上述第一接收模块901,被具体配置为:接收来自第j个所述资源消费端的至少包含资源需求参数和第j个资源消费端标识的第i个资源获取请求,j为小于或等于M的正整数;
上述第一发送模块903,被具体配置为:根据第i个资源获取请求中的资源需求参数创建第i个容器,且上述第i个容器包含上述第j个资源消费端标识。
在示例性的实施例中,基于前述方案,上述第二接收模块904,被具体配置为:根据上述N个容器分别所包含的资源消费端标识,将上述N个容器以统一形式的接口提供给M个上述资源消费端,以使资源挂载在上述资源消费端。
在示例性的实施例中,基于前述方案,上述资源配置还包括:验证模块905。
其中,上述验证模块905,被配置为:在上述转换模块902,将上述N个资源获取请求转换为满足目标协议的N个容器创建请求之前,对上述第i个资源获取请求的信息完整度进行验证;以及,响应于上述第i个资源获取请求的信息不完整,向上述第j个资源消费端发送提醒,以使上述第j个资源消费端再次发送资源获取请求。
在示例性的实施例中,基于前述方案,上述第一接收模块901,还被配置为:接收来自第k个资源消费端且包含第k个资源消费端标识的资源销毁请求,k为小于或等于M的正整数;
上述验证模块905,还被配置为:验证上述第k个资源销毁请求的可信度;在对上述资源销毁请求的验证通过后,将上述资源销毁请求发送至上述资源提供端,以使上述资源提供端根据上述资源销毁标识信息确定目标容器,以及销毁上述目标容器,实现上述目标容器中的资源与上述第k个资源消费端的解挂。
在示例性的实施例中,基于前述方案,上述资源配置还包括:计时模块906。
其中,上述计时模块906,被配置为:响应于将上述目标容器的接口信息发送至上述第k个资源消费端,确定开始计时时间点;响应于上述目标容器中的资源与上述第k个资源消费端的解挂,确定结束计时时间点;以及,根据上述开始计时时间点、上述结束计时时间点以及上述第k个资源消费端的资源需求参数确定资源消费值。
在示例性的实施例中,基于前述方案,上述资源提供端提供的资源包括以下信息中的一种或几种:图形处理器GPU算力、CPU算力、现场可编程逻辑门阵列FPGA算力和专用集成电路ASIC芯片算力。
在示例性的实施例中,基于前述方案,上述资源消费端包括:用于训练机器学习模型的集群和用于视频实时编解码的集群。
本示例实施方式中提供的一种资源配置装置,应用于资源提供端。参考图10所示,该资源配置装置1000包括:第三接收模块1001、创建模块1002以及第二发送模块1003。
其中,上述第三接收模块1001,被配置为:接收节点发送的满足目标协议的N个容器创建请求,其中,上述容器创建请求为上述节点接收来自M个上述资源消费端的N个资源获取请求并将上述N个资源获取请求转换为上述满足目标协议的N个容器创建请求而确定的,M、N为正整数;
上述创建模块1002,被配置为:根据接收到的N个容器创建请求分别所包含的资源需求参数,创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;
上述第二发送模块1003,被配置为:发送关于上述N个容器的接口信息至上述节点,以使将上述接口信息发送至M个上述资源消费端。
在示例性的实施例中,基于前述方案,该资源配置装置1000还包括:销毁模块1004。
其中,上述第三接收模块1001,还被配置为:接收上述节点发送的且包含第k个资源消费端标识的资源销毁请求,k为小于或等于M的正整数;
上述销毁模块1004,被配置为:根据上述第k个资源消费端标识确定目标容器,以及销毁上述目标容器,实现上述目标容器中的资源与上述第k个资源消费端的解挂。
上述资源配置装置中各模块或单元的具体细节已经在对应的资源配置方法中进行了详细的描述,因此此处不再赘述。
图11示出了适于用来实现本发明实施例的电子设备的计算机***的结构示意图。
需要说明的是,图11示出的电子设备的计算机***1100仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,计算机***1100包括处理器1101,其中处理器1101可以包含:图形处理单元(Graphics Processing Unit,GPU)、中央处理单元(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(Random Access Memory,RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有***操作所需的各种程序和数据。处理器(GPU/CPU)1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(Input /Output,I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器(GPU/CPU)1101执行时,执行本申请的***中限定的各种功能。在一些实施例中,计算机***1100还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
例如,所述的电子设备可以实现如图2中所示的:步骤S210,接收来自M个所述资源消费端的资源获取请求,得到N个资源获取请求,M、N为正整数;步骤S220,将所述N个资源获取请求转换为满足目标协议的N个容器创建请求;步骤S230,将所述N个容器创建请求发送至所述资源提供端,以使所述资源提供端根据所述N个容器创建请求创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;以及,步骤S240,接收所述资源提供端发送的关于N个容器的接口信息,并将所述接口信息发送至M个所述资源消费端。
又例如,所述的电子设备可以实现如图3中所示的步骤S310,接收节点发送的满足目标协议的N个容器创建请求,其中,所述容器创建请求为所述节点接收来自M个所述资源消费端的N个资源获取请求并将所述N个资源获取请求转换为所述满足目标协议的N个容器创建请求而确定的,M、N为正整数;步骤S320,根据接收到的N个容器创建请求分别所包含的资源需求参数,创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;以及,步骤S330,发送关于所述N个容器的接口信息至所述节点,以使将所述接口信息发送至M个所述资源消费端。
再例如,所述的电子设备可以实现如图4至图8中所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种资源配置方法,其特征在于,应用于与资源消费端和资源提供端建立数据连接的节点,所述方法包括:
接收来自M个所述资源消费端的资源获取请求,得到N个资源获取请求,M、N为正整数;
将所述N个资源获取请求转换为满足目标协议的N个容器创建请求;
将所述N个容器创建请求发送至所述资源提供端,以使所述资源提供端根据所述N个容器创建请求创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;
接收所述资源提供端发送的关于N个容器的接口信息,并将所述接口信息发送至M个所述资源消费端;其中,
所述接收来自M个所述资源消费端的资源获取请求,包括:接收来自第j个所述资源消费端的满足第j个私有协议的第i个资源获取请求,所述第i个资源获取请求至少包含资源需求参数和第j个资源消费端标识,j为小于或等于M的正整数;
所述将所述N个资源获取请求转换为满足目标协议的N个容器创建请求,包括:将满足所述第j个私有协议的资源获取请求映射为满足所述目标协议的中间请求;对所述中间请求进行字段格式规整,得到第i个容器创建请求;
所述资源提供端根据所述N个容器创建请求创建N个容器,包括:根据第i个资源获取请求中的资源需求参数创建第i个容器,得到对应于所述资源获取请求的N个容器,且所述第i个容器包含所述第j个资源消费端标识。
2.根据权利要求1所述的资源配置方法,其特征在于,所述将所述接口信息发送至M个所述资源消费端,包括:
根据所述N个容器分别所包含的资源消费端标识,将所述N个容器以统一形式的接口提供给M个所述资源消费端,以使资源挂载在所述资源消费端。
3.根据权利要求1或2所述的资源配置方法,其特征在于,在所述将所述N个资源获取请求转换为满足目标协议的N个容器创建请求之前,所述方法还包括:
对所述第i个资源获取请求的信息完整度进行验证;
响应于所述第i个资源获取请求的信息不完整,向所述第i个资源获取请求对应的资源消费端发送提醒,以使所述第i个资源获取请求对应的资源消费端再次发送资源获取请求。
4.根据权利要求1或2所述的资源配置方法,其特征在于,所述方法还包括:
接收来自第k个资源消费端且包含第k个资源消费端标识的资源销毁请求,k为小于或等于M的正整数;
验证所述第k个资源销毁请求的可信度;
在对所述资源销毁请求的验证通过后,将所述资源销毁请求发送至所述资源提供端,以使所述资源提供端根据所述资源销毁标识信息确定目标容器,以及销毁所述目标容器,实现所述目标容器中的资源与所述第k个资源消费端的解挂。
5.根据权利要求4所述的资源配置方法,其特征在于,所述方法还包括:
响应于将所述目标容器的接口信息发送至所述第k个资源消费端,确定开始计时时间点;
响应于所述目标容器中的资源与所述第k个资源消费端的解挂,确定结束计时时间点;
根据所述开始计时时间点、所述结束计时时间点以及所述第k个资源消费端的资源需求参数确定资源消费值。
6.根据权利要求1或2所述的资源配置方法,其特征在于,所述资源提供端提供的资源包括以下信息中的一种或几种:图形处理器GPU算力、CPU算力、现场可编程逻辑门阵列FPGA算力和专用集成电路ASIC芯片算力。
7.根据权利要求1或2所述的资源配置方法,其特征在于,所述资源消费端包括:用于训练机器学习模型的集群和用于视频实时编解码的集群。
8.一种资源配置方法,其特征在于,应用于资源提供端,所述方法包括:
接收节点发送的满足目标协议的N个容器创建请求,其中,所述容器创建请求为所述节点接收来自M个所述资源消费端的N个资源获取请求并将所述N个资源获取请求转换为所述满足目标协议的N个容器创建请求而确定的,M、N为正整数,所述节点与资源消费端和资源提供端建立数据连接;其中,所述节点接收来自M个所述资源消费端的N个资源获取请求,包括:所述节点接收来自第j个所述资源消费端的满足第j个私有协议的第i个资源获取请求,所述第i个资源获取请求至少包含资源需求参数和第j个资源消费端标识,j为小于或等于M的正整数;所述将所述N个资源获取请求转换为所述满足目标协议的N个容器创建请求,包括:将满足所述第j个私有协议的资源获取请求映射为满足所述目标协议的中间请求;对所述中间请求进行字段格式规整,得到第i个容器创建请求;
根据第i个资源获取请求中的资源需求参数创建第i个容器,创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,且所述第i个容器包含所述第j个资源消费端标识,i为小于或等于N的正整数;
发送关于所述N个容器的接口信息至所述节点,以使将所述接口信息发送至M个所述资源消费端。
9.根据权利要求8所述的资源配置方法,其特征在于,所述方法还包括:
接收所述节点发送的且包含第k个资源消费端标识的资源销毁请求,k为小于或等于M的正整数;
根据所述第k个资源消费端标识确定目标容器,以及销毁所述目标容器,实现所述目标容器中的资源与所述第k个资源消费端的解挂。
10.一种资源配置***,其特征在于,所述***包括:
资源消费端、资源提供端,以及与所述资源消费端和所述资源提供端建立数据连接的节点,其中:
所述节点可以执行权利要求1至7中任意一项所述的方法,所述资源提供端可以执行权利要求8或9所述的方法。
11.一种资源配置装置,其特征在于,应用于与资源消费端和资源提供端建立数据连接的节点,所述装置包括:
第一接收模块,被配置为:接收来自M个所述资源消费端的资源获取请求,得到N个资源获取请求,M、N为正整数;
转换模块,被配置为:将所述N个资源获取请求转换为满足目标协议的N个容器创建请求;
第一发送模块,被配置为:将所述N个容器创建请求发送至所述资源提供端,以使所述资源提供端根据所述N个容器创建请求创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数,其中,所述资源提供端根据所述N个容器创建请求创建N个容器,包括:根据第i个资源获取请求中的资源需求参数创建第i个容器,得到对应于所述资源获取请求的N个容器,且所述第i个容器包含第j个资源消费端标识;
第二接收模块,被配置为:接收所述资源提供端发送的关于N个容器的接口信息,并将所述接口信息发送至M个所述资源消费端;其中,所述第一接收模块,被具体配置为:接收来自第j个所述资源消费端的满足第j个私有协议的第i个资源获取请求,j为小于或等于M的正整数;
所述转换模块,被具体配置为:将满足所述第j个私有协议的资源获取请求映射为满足所述目标协议的中间请求;对所述中间请求进行字段格式规整,得到第i个容器创建请求。
12.一种资源配置装置,其特征在于,应用于资源提供端,所述装置包括:
第三接收模块,被配置为:接收节点发送的满足目标协议的N个容器创建请求,其中,所述容器创建请求为所述节点接收来自M个所述资源消费端的N个资源获取请求并将所述N个资源获取请求转换为所述满足目标协议的N个容器创建请求而确定的,M、N为正整数,所述节点与资源消费端和资源提供端建立数据连接;其中,所述节点接收来自M个所述资源消费端的N个资源获取请求,包括:所述节点接收来自第j个所述资源消费端的满足第j个私有协议的第i个资源获取请求,j为小于或等于M的正整数;所述将所述N个资源获取请求转换为所述满足目标协议的N个容器创建请求,包括:所述节点将满足所述第j个私有协议的资源获取请求映射为满足所述目标协议的容器创建请求,得到第i个容器创建请求;
创建模块,被配置为:根据接收到的N个容器创建请求分别所包含的资源需求参数,创建N个容器,其中,第i个容器中包含第i个资源获取请求对应的资源,i为小于或等于N的正整数;
第二发送模块,被配置为:发送关于所述N个容器的接口信息至所述节点,以使将所述接口信息发送至M个所述资源消费端。
13.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任意一项所述的方法,以及实现权利要求8或9所述的方法。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任意一项所述的方法;以及执行所述可执行指令来执行权利要求8或9所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011199832.2A CN112099957B (zh) | 2020-11-02 | 2020-11-02 | 资源配置方法、***、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011199832.2A CN112099957B (zh) | 2020-11-02 | 2020-11-02 | 资源配置方法、***、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112099957A CN112099957A (zh) | 2020-12-18 |
CN112099957B true CN112099957B (zh) | 2021-04-13 |
Family
ID=73784414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011199832.2A Active CN112099957B (zh) | 2020-11-02 | 2020-11-02 | 资源配置方法、***、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112099957B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080364A (zh) * | 2022-05-20 | 2022-09-20 | 北京百度网讯科技有限公司 | 应用状态确定方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415772A (zh) * | 2018-02-12 | 2018-08-17 | 腾讯科技(深圳)有限公司 | 一种基于容器的资源调整方法、装置和介质 |
CN109783237A (zh) * | 2019-01-16 | 2019-05-21 | 腾讯科技(深圳)有限公司 | 一种资源配置方法及装置 |
CN110688218A (zh) * | 2019-09-05 | 2020-01-14 | 广东浪潮大数据研究有限公司 | 资源调度方法及装置 |
CN111309741A (zh) * | 2020-01-17 | 2020-06-19 | 福建省地质遥感与地理信息服务中心 | 一种基于gis的掌上自然资源管理***及方法 |
CN111694666A (zh) * | 2020-06-10 | 2020-09-22 | 中国建设银行股份有限公司 | 一种任务分发管理方法、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138389B (zh) * | 2015-07-30 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 一种集群中虚拟设备的管理方法及*** |
US10841328B2 (en) * | 2017-05-04 | 2020-11-17 | International Business Machines Corporation | Intelligent container resource placement based on container image vulnerability assessment |
-
2020
- 2020-11-02 CN CN202011199832.2A patent/CN112099957B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415772A (zh) * | 2018-02-12 | 2018-08-17 | 腾讯科技(深圳)有限公司 | 一种基于容器的资源调整方法、装置和介质 |
CN109783237A (zh) * | 2019-01-16 | 2019-05-21 | 腾讯科技(深圳)有限公司 | 一种资源配置方法及装置 |
CN110688218A (zh) * | 2019-09-05 | 2020-01-14 | 广东浪潮大数据研究有限公司 | 资源调度方法及装置 |
CN111309741A (zh) * | 2020-01-17 | 2020-06-19 | 福建省地质遥感与地理信息服务中心 | 一种基于gis的掌上自然资源管理***及方法 |
CN111694666A (zh) * | 2020-06-10 | 2020-09-22 | 中国建设银行股份有限公司 | 一种任务分发管理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112099957A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117252B (zh) | 基于容器的任务处理的方法、***及容器集群管理*** | |
CN115588244B (zh) | 一种车联网大数据实时分析方法、装置、设备及介质 | |
CN113094141A (zh) | 一种页面展示方法、装置、电子设备和存储介质 | |
CN113204425A (zh) | 供进程管理内部线程的方法、装置、电子设备及存储介质 | |
CN114844792B (zh) | 基于lua语言的动态监控方法、装置、设备及存储介质 | |
CN115795211A (zh) | 一种页面展示方法、装置、***、设备和存储介质 | |
CN112099957B (zh) | 资源配置方法、***、装置以及电子设备 | |
CN113516331A (zh) | 一种建筑数据处理方法及装置 | |
CN113537512B (zh) | 基于联邦学习的模型训练方法、装置、***、设备和介质 | |
CN103324479A (zh) | 松散环境下分布式大数据计算的中间件体系框架 | |
CN112699049B (zh) | 区块链网络测试方法、装置、介质及电子设备 | |
CN112463414B (zh) | 多客户端的数据交互方法、装置、电子设备及存储介质 | |
CN116721007B (zh) | 任务控制方法、***及装置、电子设备和存储介质 | |
CN112486825A (zh) | 多泳道环境架构***、消息消费方法、装置、设备及介质 | |
CN115914393A (zh) | 一种通信方法、装置、设备和介质 | |
CN115269130A (zh) | 算力资源调度方法与装置、介质及电子设备 | |
CN117472555A (zh) | 算力资源分配方法、***、装置、设备及存储介质 | |
US11748630B1 (en) | Optimized subscription access platform using DNA computing | |
CN112311833B (zh) | 数据更新方法和装置 | |
CN114202046B (zh) | 基于sap***生成二维码的方法、装置、设备及介质 | |
CN113079179B (zh) | 一种区块链高效共识方法、***、计算机设备及存储介质 | |
CN115086425B (zh) | 消息传输方法、装置、程序产品、介质及电子设备 | |
CN114938293B (zh) | 基于区块链的nginx数据溯源方法、装置、设备及存储介质 | |
CN114237590A (zh) | 数据请求方法、装置、介质及电子设备 | |
CN116756163A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035468 Country of ref document: HK |