CN114064194A - 一种资源处理方法及装置 - Google Patents
一种资源处理方法及装置 Download PDFInfo
- Publication number
- CN114064194A CN114064194A CN202010763488.9A CN202010763488A CN114064194A CN 114064194 A CN114064194 A CN 114064194A CN 202010763488 A CN202010763488 A CN 202010763488A CN 114064194 A CN114064194 A CN 114064194A
- Authority
- CN
- China
- Prior art keywords
- virtual instance
- processing
- data
- resource
- host
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 525
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000008878 coupling Effects 0.000 claims description 31
- 238000010168 coupling process Methods 0.000 claims description 31
- 238000005859 coupling reaction Methods 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 15
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 238000004064 recycling Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种资源处理方法及装置。在第一处理资源耦合的数据符合预设条件的情况下,虚拟实例将该数据与第一处理资源中的至少部分处理资源解耦,然后在虚拟实例上将至少部分处理资源与虚拟实例解耦,之后可以向宿主机通知已将至少部分处理资源与虚拟实例解耦。宿主机在得到该通知之后,可以在宿主机上将至少部分处理资源与虚拟实例解耦,以实现从虚拟实例上回收至少部分处理资源,从而使得之后宿主机可以自主支配至少部分处理资源。通过本申请,可以将虚拟实例暂时不使用的处理资源回收至宿主机,而宿主机之后可以将回收的处理资源分配给需要使用处理资源的其他虚拟实例使用,从而可以提高处理资源的利用率。
Description
技术领域
本申请涉及互联网领域,特别是涉及一种资源处理方法及装置。
背景技术
当前,云服务商可以向广大用户提供虚拟服务,例如,云服务商可以配置宿主机,在宿主机上创建虚拟机,广大用户可以租用云服务商创建的虚拟机使用。
在宿主机上创建的虚拟机为多个的情况下,宿主机事先可以静态地为各个虚拟机分配处理资源,例如内存等,例如,租用虚拟机的用户可以向宿主机提交请求,以告知用户租用的虚拟机需要使用的内存的规模,然后宿主机再向虚拟机分配该规模的内存。
然而,在一些场景中,虚拟机在处理用户的数据时,其实际使用的内存往往小于宿主机为其租用的虚拟机分配的内存,如此,就会导致为其租用的虚拟机分配的一部分内存长时间未被使用,造成内存浪费,导致内存利用率较低。
发明内容
为了提高资源利用率,本申请示出了一种资源处理方法及装置。
第一方面,本申请示出了一种资源处理方法,应用于虚拟实例,所述方法包括:
在第一处理资源耦合的数据符合预设条件的情况下,将所述数据与所述第一处理资源中的至少部分处理资源解耦,所述第一处理资源包括宿主机为所述虚拟实例分配的处理资源;
在所述虚拟实例上将所述至少部分处理资源与所述虚拟实例解耦;
向所述宿主机发送第一通知消息,所述第一通知消息用于通知所述虚拟实例已将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
在一个可选实现方式中,处理资源至少包括存储资源、计算资源以及通信资源。
在一个可选实现方式中,所述方法还包括:
备份所述数据。
在一个可选实现方式中,所述备份所述数据,包括:
对所述数据压缩,得到压缩后的数据;
将所述第一处理资源中的除所述至少部分处理资源以外的处理资源与所述压缩后的数据重新耦合。
在一个可选实现方式中,所述在所述虚拟实例上将所述至少部分处理资源与所述虚拟实例解耦,包括:
在所述虚拟实例维护的页表中,删除所述至少部分处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
在一个可选实现方式中,所述方法还包括:
接收所述宿主机发送的第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源;
根据所述第二通知消息在所述虚拟实例上将所述第二处理资源与所述虚拟实例耦合。
在一个可选实现方式中,所述根据所述第二通知消息在所述虚拟实例上将所述第二处理资源与所述虚拟实例耦合,包括:
在所述虚拟实例维护的页表中,存储所述第二处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
在一个可选实现方式中,所述方法还包括:
确定所述数据是否为预设数据;
在所述数据为预设数据的情况下,再执行所述将所述数据与所述第一处理资源中的至少部分处理资源解耦的步骤。
在一个可选实现方式中,所述方法还包括:
在所述数据在预设时间段内未被使用的情况下,确定所述数据符合所述预设条件;
或者,
在所述数据被使用的次数达到预设次数的情况下,确定所述数据符合所述预设条件;
或者,
在第三处理资源耦合有与所述数据相同的数据的情况下,确定所述第一处理资源耦合的所述数据符合所述预设条件,所述第三处理资源包括所述宿主机中的除所述第一处理资源以外的处理资源。
在一个可选实现方式中,所述将所述数据与所述第一处理资源中的至少部分处理资源解耦之后,还包括:
在所述虚拟实例中存储所述数据的数据标识与所述第三处理资源的资源标识之间的对应关系。
第二方面,本申请示出了一种资源处理方法,应用于宿主机,所述方法包括:
接收在所述宿主机上运行的虚拟实例发送的第一通知消息,所述第一通知消息用于通知所述虚拟实例已将第一处理资源中的至少部分处理资源与所述虚拟实例解耦,所述第一处理资源包括所述宿主机为所述虚拟实例分配的处理资源;
根据所述第一通知消息,在所述宿主机上将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
在一个可选实现方式中,所述根据所述第一通知消息,在所述宿主机上将所述至少部分处理资源与所述虚拟实例解耦,包括:
在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,删除包括所述至少部分处理资源的资源标识与所述虚拟实例的实例标识的对应表项。
在一个可选实现方式中,所述方法还包括:
在需要为所述虚拟实例分配第二处理资源的情况下,在所述宿主机上将第二处理资源与所述虚拟实例耦合;
向所述虚拟实例发送第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源。
在一个可选实现方式中,所述在所述宿主机上将第二处理资源与所述虚拟实例耦合,包括:
在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,存储包括所述第二处理资源与所述虚拟实例的实例标识的对应表项。
第三方面,本申请示出了一种资源处理装置,应用于虚拟实例,所述装置包括:
第一解耦模块,用于在第一处理资源耦合的数据符合预设条件的情况下,将所述数据与所述第一处理资源中的至少部分处理资源解耦,所述第一处理资源包括宿主机为所述虚拟实例分配的处理资源;
第二解耦模块,用于在所述虚拟实例上将所述至少部分处理资源与所述虚拟实例解耦;
第一发送模块,用于向所述宿主机发送第一通知消息,所述第一通知消息用于通知所述虚拟实例已将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
在一个可选实现方式中,处理资源至少包括存储资源、计算资源以及通信资源。
在一个可选实现方式中,所述装置还包括:
备份模块,用于备份所述数据。
在一个可选实现方式中,所述备份模块包括:
压缩单元,用于对所述数据压缩,得到压缩后的数据;
耦合单元,用于将所述第一处理资源中的除所述至少部分处理资源以外的处理资源与所述压缩后的数据重新耦合。
在一个可选实现方式中,所述第二解耦模块具体用于:在所述虚拟实例维护的页表中,删除所述至少部分处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
在一个可选实现方式中,所述装置还包括:
第一接收模块,用于接收所述宿主机发送的第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源;
第一耦合模块,用于根据所述第二通知消息在所述虚拟实例上将所述第二处理资源与所述虚拟实例耦合。
在一个可选实现方式中,所述第一耦合模块具体用于:在所述虚拟实例维护的页表中,存储所述第二处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
在一个可选实现方式中,所述装置还包括:
第一确定模块,用于确定所述数据是否为预设数据;
所述第一解耦模块还用于:在所述数据为预设数据的情况下,将所述数据与所述第一处理资源中的至少部分处理资源解耦。
在一个可选实现方式中,所述装置还包括:
第二确定模块,用于在所述数据在预设时间段内未被使用的情况下,确定所述数据符合所述预设条件;
或者,
第三确定模块,用于在所述数据被使用的次数达到预设次数的情况下,确定所述数据符合所述预设条件;
或者,
第四确定模块,用于在第三处理资源耦合有与所述数据相同的数据的情况下,确定所述第一处理资源耦合的所述数据符合所述预设条件,所述第三处理资源包括所述宿主机中的除所述第一处理资源以外的处理资源。
在一个可选实现方式中,所述装置还包括:
存储模块,用于在所述虚拟实例中存储所述数据的数据标识与所述第三处理资源的资源标识之间的对应关系。
第四方面,本申请示出了一种资源处理装置,应用于宿主机,所述装置包括:
第二接收模块,用于接收在所述宿主机上运行的虚拟实例发送的第一通知消息,所述第一通知消息用于通知所述虚拟实例已将第一处理资源中的至少部分处理资源与所述虚拟实例解耦,所述第一处理资源包括所述宿主机为所述虚拟实例分配的处理资源;
第三解耦模块,用于根据所述第一通知消息,在所述宿主机上将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
在一个可选实现方式中,所述第三解耦模块具体用于:在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,删除包括所述至少部分处理资源的资源标识与所述虚拟实例的实例标识的对应表项。
在一个可选实现方式中,所述装置还包括:
第二耦合模块,用于在需要为所述虚拟实例分配第二处理资源的情况下,在所述宿主机上将第二处理资源与所述虚拟实例耦合;
第二发送模块,用于向所述虚拟实例发送第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源。
在一个可选实现方式中,所述第二耦合模块具体用于:在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,存储包括所述第二处理资源与所述虚拟实例的实例标识的对应表项。
第五方面,本申请示出了一种电子设备,所述电子设备包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如第一方面所述的资源处理方法。
第六方面,本申请示出了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如第一方面所述的资源处理方法。
第七方面,本申请示出了一种电子设备,所述电子设备包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如第二方面所述的资源处理方法。
第八方面,本申请示出了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如第二方面所述的资源处理方法。
与现有技术相比,本申请实施例包括以下优点:
在本申请中,在第一处理资源耦合的数据符合预设条件的情况下,虚拟实例将该数据与第一处理资源中的至少部分处理资源解耦,从而实现释放至少部分处理资源,以使至少部分处理资源为空闲状态,第一处理资源包括宿主机为虚拟实例分配的处理资源,然后在虚拟实例上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以使在虚拟实例的角度上将至少部分处理资源从虚拟机上释放掉,也即,虚拟实例与至少部分处理资源不再耦合,之后可以向宿主机发送第一通知消息,第一通知消息用于通知虚拟实例已将第一处理资源中的至少部分处理资源与虚拟实例解耦。宿主机接收第一通知消息,然后可以根据第一通知消息,在宿主机上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以实现从虚拟实例上回收第一处理资源中的至少部分处理资源,从而使得之后宿主机可以自主支配至少部分处理资源,例如,可以将至少部分处理资源分配给需要的虚拟实例使用。
通过本申请,可以将虚拟实例暂时不使用的处理资源回收至宿主机,而宿主机之后可以将回收的处理资源分配给需要使用处理资源的其他虚拟实例使用,从而可以提高处理资源的利用率。
附图说明
图1是本申请一示例性实施例示出的一种场景示意图。
图2是本申请一示例性实施例示出的一种场景示意图。
图3是本申请一示例性实施例示出的一种资源处理方法的流程示意图。
图4是本申请一示例性实施例示出的一种资源处理方法的流程示意图。
图5是本申请一示例性实施例示出的一种资源处理方法的流程示意图。
图6是本申请一示例性实施例示出的一种资源处理装置的结构框图。
图7是本申请一示例性实施例示出的一种资源处理装置的结构框图。
图8是本申请一实施例提供的装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请一种场景示意图,该场景包括宿主机,宿主机包括物理机等,在宿主机中创建有多个虚拟机,每一个虚拟机分别可以分配给一个用户使用,在一个例子中,不同的虚拟机可以分配给不同的用户使用,在另一个例子中,一个用户也可以同时享用至少两个虚拟机。
在一个实施例中,在虚拟机上可以运行应用程序或其他数据等。
在另一个实施例中,可以在虚拟机上创建虚拟设备,例如,可以是云原生场景下的虚拟设备,虚拟设备具有自己的操作系统,例如Windows操作系统、Android(安卓)操作系统、IOS操作系统以及Linux操作系统等,如此,可以在虚拟设备中独立地运行应用程序或其他数据等。
虚拟设备包括:容器以及函数等,容器可以包括ECI(Elastic ContainerInstance,弹性容器实例)等。函数包括FC(Function Compute,函数计算)等,用于运行代码片段。
在本申请中,在宿主机上创建的虚拟机,以及,在虚拟机上创建的诸如容器或函数等虚拟设备均可以看作是虚拟实例。
在本申请中,函数计算是一种全托管计算服务,其具有用于运行代码的基础性架构。
在一种情况下,用户可以不关心宿主机的基础性架构,用户可以只编写有关用户的服务的核心的代码片段或应用程序即可,函数计算会为用户准备好用于运行代码片段或应用程序的基础性架构,以弹性、可靠的方式运行用户的代码片段或应用程序。
函数计算还可以提供日志查询、性能监控以及报警等功能。
借助于函数计算,用户可以快速构建任何类型的应用和服务,无需对宿主机进行管理和运维。
参见图2,以一个例子对该场景进行举例,宿主机包括用户空间和内核空间,宿主机的内核空间中管理着宿主机的处理资源。
在宿主机的用户空间中可以创建虚拟实例,虚拟实例具有用户空间和内核空间,用户可以与虚拟实例的用户空间交互,例如,基于虚拟实例的用户空间向虚拟实例传输用户需要虚拟实例处理的数据。
虚拟实例的内核空间中具有用于管理宿主机为虚拟实例分配的处理资源的管理逻辑,例如,接收宿主机为虚拟实例分配的处理资源、记录宿主机为虚拟实例分配的处理资源,释放宿主机为虚拟实例分配的处理资源、将处理资源与虚拟实例的用户空间中的数据耦合以及将处理资源与虚拟实例的用户空间中的数据解耦等。
在虚拟实例基于虚拟实例的用户空间得到用户需要虚拟实例处理的数据之后,虚拟实例可以基于虚拟实例的内核空间中管理的处理资源处理数据。
参照图3,示出了本申请一种资源处理方法的流程示意图,该方法应用于图1或图2所示的场景中,该方法可以包括:
在步骤S101中,在第一处理资源耦合的数据符合预设条件的情况下,虚拟实例将该数据与第一处理资源中的至少部分处理资源解耦,第一处理资源包括宿主机为虚拟实例分配的处理资源;
在本申请中,虚拟实例包括图1所示的场景中的在宿主机上创建的虚拟机,或者,在虚拟机上创建的诸如容器或函数计算等虚拟设备等。
该数据可以包括应用程序以及代码片段等,当然,还可以包括运行应用程序或代码片段等产生的输出数据等。
在本申请中,宿主机上包括多种处理资源,例如,包括存储资源、计算资源以及通信资源。
存储资源包括持久化存储空间,例如,硬盘或者磁盘等,还可以包括缓存空间,例如,内存或者闪存等。
计算资源可以包括CPU(Central Processing Unit,中央处理器)以及GPU(Graphics Processing Unit,图形处理器)等用于对数据进行计算的资源。
通信资源包括带宽、通信接口以及IP(Internet Protocol,互联网协议)地址等用于传输数据的资源。
在本申请中,宿主机为虚拟实例分配有第一处理资源。第一处理资源可以耦合数据,例如,虚拟实例可以使用第一处理资源承载数据,并基于第一处理资源处理承载的数据。
其中,第一处理资源耦合该数据可以理解为:虚拟实例正在基于第一处理资源处理该数据。
例如,虚拟实例可以基于计算资源对数据进行计算,其中,虚拟实例可以将宿主机为其分配的计算资源中的至少部分计算资源分配给该数据,以使至少部分计算资源在一段时间内可以用于对该数据进行计算。
再例如,虚拟实例可以基于存储资源存储数据,其中,虚拟实例可以将宿主机为其分配的存储资源中的至少部分存储资源分配给该数据,以使至少部分存储资源在一段时间内可以用于存储该数据。
再例如,虚拟实例可以基于通信资源与外部之间传输数据等,其中,虚拟实例可以将宿主机为其分配的通信资源中的至少部分通信资源分配给该数据,以使至少部分通信资源在一段时间内可以用于与外部之间传输该数据。
其中,虚拟实例将该数据与第一处理资源中的至少部分处理资源解耦,可以理解为:虚拟实例不再基于第一处理资源中的至少部分处理资源处理该数据,以实现将第一处理资源中的至少部分处理资源释放为空闲的处理资源。
例如,在一个例子中,假设虚拟实例基于宿主机为其分配的第一存储资源存储着该数据,则说明第一存储资源承载着该数据,也即,第一存储资源与该数据耦合。
如果从第一存储资源中删除该数据,则第一存储资源不再存储该数据,这样,第一存储资源被释放为空闲的存储资源,意味着第一存储资源与该数据解耦,第一存储资源之后可以用来被存储其他数据。
然而,在这个例子中,该数据从第一存储资源中删除之后,虚拟实例中可能就不再存在该数据,如果之后虚拟实例基于其承载的服务的需求还需要使用该数据,但却由于虚拟实例中已经不存在该数据,则导致虚拟实例无法得到该数据,进而无法使用该数据,影响虚拟实例承载的该服务正常进行。
因此,为了避免这种情况发生,在本申请另一实施例中,虚拟实例在将该数据与第一处理资源中的至少部分处理资源解耦之前,虚拟实例可以备份该数据。
例如,在一个实施例中,如果第一处理资源为存储资源中的缓存空间,则虚拟实例可以将该数据存储在宿主机为虚拟实例分配的持久化存储空间中,如此,之后在虚拟实例还需要使用该数据时,虚拟实例可以从持久化存储空间中调取该数据并使用。在这种情况下,虚拟实例是将该数据与第一处理资源中的全部处理资源解耦。
或者,在另一个实施例中,如果第一处理资源为存储资源中的缓存空间,虚拟实例还可以对该数据压缩,得到压缩后的数据,然后将第一处理资源中的除至少部分处理资源以外的处理资源与压缩后的数据重新耦合,例如,在第一处理资源中的除至少部分处理资源以外的处理资源中存储压缩后的数据。
其中,压缩后的数据所占空间小于未压缩的该数据,因此,可以使用压缩后的数据替换第一处理资源中的一部分存储资源中存储的一部分数据,从而实现将压缩后的数据与该一部分存储资源耦合,然后删除另一部分存储资源中存储的另一部分数据,从而实现将该另一部分存储资源与该另一部分数据解耦。在这种情况下,虚拟实例是将该数据与第一处理资源中的部分处理资源解耦。
在本申请一个实施例中,在该数据在预设时间段内未被使用的情况下,可以确定该数据符合预设条件。
其中,如果该数据在预设时间段内未被使用,则往往说明虚拟实例可能不再需要使用该数据,或者说,在之后的一段时间内不需要使用该数据,如此,该数据至少在一段时间内不会对虚拟实例承载的服务带来影响,从而可以将其从处理资源上解耦,以释放处理资源,因此,在这种情况下,可以确定该数据符合预设条件。
预设时间段可以根据实际情况设置,本申请对此不加以限定。
或者,在本申请另一个实施例中,在该数据被使用的次数达到预设次数的情况下,可以确定该数据符合预设条件。
有时候,一个数据可能被虚拟实例使用的次数是有限的,例如,虚拟实例承载有某一服务,且在执行该服务的过程中需要使用某一数据,但通常使用该数据的次数是有限的,在虚拟实例使用该数据的使用次数已到达实际的上限之后就不再会使用该数据,因此,在该数据被使用的次数达到预设次数的情况下,可以确定该数据符合预设条件。
预设次数可以根据数据以及使用数据的服务的实际请情况设置,本申请对此不加以限定。
或者,在本申请另一个实施例中,有时候,宿主机中的处理资源会重复耦合同一数据,例如,除了第一处理资源耦合有该数据之外,可能还有宿主机中的其他处理资源也同时耦合有该数据。在这种情况下,虚拟实例不仅可以调取到第一处理资源耦合的该数据,也可以调取到其他处理资源同时耦合的该数据。
例如,在一个例子中,假设第一处理资源为第一存储资源,例如内存等,内存A中存储有该数据,且同时宿主机中的内存B也同时存储有该数据。在这种情况下,虚拟实例不仅可以从内存A获取到该数据,还可以从内存B也获取到该数据。
如此,在宿主机中的其他处理资源也同时耦合有该数据的情况下,也就没必要使用第一处理资源重复耦合该数据,所以,可以将第一处理资源与该数据解耦,以释放第一处理资源,因此,在第一处理资源耦合有该数据,且在第三处理资源耦合有与该数据相同的数据的情况下,可以确定第一处理资源耦合的该数据符合所述预设条件。
其中,第三处理资源包括宿主机中的除第一处理资源以外的处理资源。
例如,在一个实施例中,第三处理资源包括:宿主机为在宿主机上创建的除该虚拟实例以外的其他虚拟实例分配的处理资源;或者,包括:宿主机为该虚拟实例分配的处理资源,且第三处理资源与第一处理资源不同。
进一步地,为了方便之后虚拟实例可以调取该数据,在将该数据与第一处理资源中的至少部分处理资源解耦之后,还可以在虚拟实例中存储该数据的数据标识与第三处理资源的资源标识之间的对应关系,如此,在虚拟实例之后需要根据该数据标识调取该数据时,虚拟实例基于该对应关系,可以根据第三处理资源的资源标识,从第三处理资源中调取与该数据相同的数据。
进一步地,分配给虚拟实例的处理资源可以耦合的数据有很多种,例如,虚拟实例的操作系统的系统数据、虚拟实例处理数据时产生的临时数据以及中间数据等,有一些数据是可以被虚拟实例从处理资源上解耦的,但是,还有一些数据通常是不能被虚拟实例从处理资源上解耦的,否则会影响虚拟实例承载的服务正常进行。
技术人员事先可以统计可以被虚拟实例从处理资源上解耦的数据的特征,例如,数据的类型、数据的生成时刻以及数据的生成方式等。
其中,数据的类型可以通过数据的后缀名得到。例如,虚拟实例的操作系统的系统数据是特定的几种数据类型,这种数据类型的数据不可以被虚拟实例从处理资源上解耦。
在虚拟实例的操作系统刚刚启动后的一段时间内,在虚拟实例的操作系统上运行的数据往往是操作系统必须的数据,而过了这一段时间之后其他服务数据可能就会被虚拟实例运行,如此,在操作系统刚刚启动后的一段时间内运行的数据不能被虚拟实例从处理资源上解耦,否则会影响虚拟实例承载的服务正常进行。
如此,在第一处理资源耦合的该数据符合预设条件的情况下,可以确定该数据是否为预设数据,在数据为预设数据的情况下,再执行步骤S101:将该数据与第一处理资源中的至少部分处理资源解耦,从而避免删除了重要数据,进而避免由于删除了重要数据而影响虚拟实例承载的服务正常进行。
其中,在确定该数据是否为预设数据时,在一个方式中,可以确定该数据的数据类型是否为上述提到的特定的几种数据类型,如果该数据的数据类型不是上述提到的特定的几种数据类型,则可以确定该数据为预设数据。
或者,在另一个方式中,可以确定该数据的生成时刻是否位于虚拟实例的操作系统刚刚启动后的一段时间内,如果该数据的生成时刻不位于虚拟实例的操作系统刚刚启动后的一段时间内,而位于虚拟实例的操作系统启动后这一段时间之后,则可以确定该数据为预设数据。
这一段时间的时长可以根据实际情况自行设置,本申请对此不加以限定。
在步骤S102中,虚拟实例在虚拟实例上将第一处理资源中的至少部分处理资源与虚拟实例解耦;
在本申请中,宿主机事先可以为虚拟实例分配处理资源。例如,根据虚拟实例向宿主机发送的、请求分配处理资源的分配请求,来为虚拟实例分配处理资源,或者,在监测到虚拟实例不够用的时候,主动为虚拟实例分配处理资源。
例如,在宿主机需要为虚拟实例分配第二处理资源时,宿主机可以在宿主机上将第二处理资源与虚拟实例耦合;然后向虚拟实例发送第二通知消息,第二通知消息用于通知宿主机已为虚拟实例分配第二处理资源。
虚拟实例接收宿主机发送的第二通知消息,虚拟实例根据第二通知消息就可以获知宿主机已为虚拟实例分配第二处理资源,第二处理资源可以为虚拟实例自己所用,因此,虚拟实例可以根据第二通知消息在虚拟实例上将第二处理资源与虚拟实例耦合,从而实现记录第二处理资源可以为自己所用。
其中,宿主机可以维护处理资源的资源标识与虚拟实例的实例标识之间的对应关系,对于该对应关系中的任意一个对应表项,该对应表项包括的资源标识所对应的处理资源被宿主机分配给该对应表项中的实例标识所对应的虚拟实例。对于该对应关系中的其他每一个对应表项,同样如此。
如此,在宿主机上将第二处理资源与虚拟实例耦合时,具体地,可以在宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,存储包括第二处理资源的资源标识与虚拟实例的实例标识的对应表项。
其中,虚拟实例可以维护一页表,该页表用于存储宿主机分配给虚拟实例的处理资源的资源标识。
如此,在虚拟实例需要在虚拟实例上将某一处理资源与虚拟实例耦合时,虚拟实例可以在虚拟实例维护的该页表中,存储该处理资源的资源标识。相应地,在虚拟实例需要在虚拟实例上将某一处理资源与虚拟实例解耦时,虚拟实例可以在虚拟实例维护的该页表中,删除该处理资源的资源标识。
因此,在根据第二通知消息在虚拟实例上将第二处理资源与虚拟实例耦合时,虚拟实例可以在虚拟实例维护的该页表中,存储第二处理资源的资源标识。如此,可以实现在虚拟实例的角度上,记录第二处理资源可以为自己所用。
相应地,在虚拟实例上将至少部分处理资源与虚拟实例解耦时,虚拟实例可以在虚拟实例维护的该页表中,删除至少部分处理资源的资源标识,如此,可以实现在虚拟实例的角度上,记录虚拟实例已释放至少部分处理资源,至少部分处理资源不再为自己所用。
另外,在本申请另一实施例中,还可以通过virtio-balloon(半虚拟化内存气球驱动)、virtio-mem(半虚拟化内存驱动)或hypercall(超级调用)等方式来实现在虚拟实例上将至少部分处理资源与虚拟实例解耦。
在步骤S103中,虚拟实例向宿主机发送第一通知消息,第一通知消息用于通知虚拟实例已将第一处理资源中的至少部分处理资源与虚拟实例解耦。
在本申请中,虚拟实例将第一处理资源中的至少部分处理资源与自己解耦的其中一个缘由是:虚拟实例可以至少暂时不使用第一处理资源中的至少部分处理资源处理该数据,暂时不使用第一处理资源中的至少部分处理资源处理该数据并不影响虚拟实例承载的服务正常运行,另外,也为了使得宿主机可以将第一处理资源中的至少部分处理资源分配给其他虚拟实例使用,以提高处理资源的利用率。
为了使得宿主机可以将第一处理资源中的至少部分处理资源分配给其他虚拟实例使用,虚拟实例需要向宿主机告知虚拟实例已经将第一处理资源中的至少部分处理资源与虚拟实例解耦。
为了使得虚拟实例能够向宿主机告知虚拟实例已经将第一处理资源中的至少部分处理资源与虚拟实例解耦,虚拟实例可以生成第一通知消息,第一通知消息用于通知虚拟实例已将第一处理资源中的至少部分处理资源与虚拟实例解耦,然后向宿主机发送第一通知消息。
其中,虚拟实例与宿主机之间可以基于virtio传输协议进行数据交互。
例如,虚拟实例可以基于virtio传输协议向宿主机发送第一通知消息。
在步骤S104中,宿主机接收在宿主机上运行的虚拟实例发送的第一通知消息;
例如,宿主机可以基于virtio传输协议接收虚拟实例发送的第一通知消息。
在步骤S105中,宿主机根据第一通知消息,在宿主机上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以实现从虚拟实例上回收第一处理资源中的至少部分处理资源。
宿主机根据第一通知消息就可以获知虚拟实例已将第一处理资源中的至少部分处理资源与虚拟实例解耦,也即,第一处理资源中的至少部分处理资源已经被虚拟实例释放为空闲的处理资源,之后宿主机可以自主支配第一处理资源中的至少部分处理资源,例如,可以将第一处理资源中的至少部分处理资源分配给其他虚拟实例使用。
因此,宿主机可以在宿主机上将第一处理资源中的至少部分处理资源与虚拟实例解耦,从而实现记录第一处理资源中的至少部分处理资源被释放为空闲的处理资源,进而实现记录宿主机可以自主支配第一处理资源中的至少部分处理资源。
其中,在宿主机上将第一处理资源中的至少部分处理资源与虚拟实例解耦时,可以在宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,删除包括第一处理资源中的至少部分处理资源的资源标识与虚拟实例的实例标识的对应表项。
在本申请中,在第一处理资源耦合的数据符合预设条件的情况下,虚拟实例将该数据与第一处理资源中的至少部分处理资源解耦,从而实现释放至少部分处理资源,以使至少部分处理资源为空闲状态,第一处理资源包括宿主机为虚拟实例分配的处理资源,然后在虚拟实例上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以使在虚拟实例的角度上将至少部分处理资源从虚拟机上释放掉,也即,虚拟实例与至少部分处理资源不再耦合,之后可以向宿主机发送第一通知消息,第一通知消息用于通知虚拟实例已将第一处理资源中的至少部分处理资源与虚拟实例解耦。宿主机接收第一通知消息,然后可以根据第一通知消息,在宿主机上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以实现从虚拟实例上回收第一处理资源中的至少部分处理资源,从而使得之后宿主机可以自主支配至少部分处理资源,例如,可以将至少部分处理资源分配给需要的虚拟实例使用。
通过本申请,可以将虚拟实例暂时不使用的处理资源回收至宿主机,而宿主机之后可以将回收的处理资源分配给需要使用处理资源的其他虚拟实例使用,从而可以提高处理资源的利用率。
参照图4,示出了本申请一种资源处理方法的流程示意图,该方法应用于图1或图2所示的场景中的虚拟实例中,该方法可以包括:
在步骤S201中,在第一处理资源耦合的数据符合预设条件的情况下,将所述数据与所述第一处理资源中的至少部分处理资源解耦,所述第一处理资源包括宿主机为所述虚拟实例分配的处理资源;
在步骤S202中,在所述虚拟实例上将所述至少部分处理资源与所述虚拟实例解耦;
在步骤S203中,向所述宿主机发送第一通知消息,所述第一通知消息用于通知所述虚拟实例已将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
在一个可选实现方式中,处理资源至少包括存储资源、计算资源以及通信资源。
在一个可选实现方式中,所述方法还包括:
备份所述数据。
在一个可选实现方式中,所述备份所述数据,包括:
对所述数据压缩,得到压缩后的数据;
将所述第一处理资源中的除所述至少部分处理资源以外的处理资源与所述压缩后的数据重新耦合。
在一个可选实现方式中,所述在所述虚拟实例上将所述至少部分处理资源与所述虚拟实例解耦,包括:
在所述虚拟实例维护的页表中,删除所述至少部分处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
在一个可选实现方式中,所述方法还包括:
接收所述宿主机发送的第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源;
根据所述第二通知消息在所述虚拟实例上将所述第二处理资源与所述虚拟实例耦合。
在一个可选实现方式中,所述根据所述第二通知消息在所述虚拟实例上将所述第二处理资源与所述虚拟实例耦合,包括:
在所述虚拟实例维护的页表中,存储所述第二处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
在一个可选实现方式中,所述方法还包括:
确定所述数据是否为预设数据;
在所述数据为预设数据的情况下,再执行所述将所述数据与所述第一处理资源中的至少部分处理资源解耦的步骤。
在一个可选实现方式中,所述方法还包括:
在所述数据在预设时间段内未被使用的情况下,确定所述数据符合所述预设条件;
或者,
在所述数据被使用的次数达到预设次数的情况下,确定所述数据符合所述预设条件;
或者,
在第三处理资源耦合有与所述数据相同的数据的情况下,确定所述第一处理资源耦合的所述数据符合所述预设条件,所述第三处理资源包括所述宿主机中的除所述第一处理资源以外的处理资源。
在一个可选实现方式中,所述将所述数据与所述第一处理资源中的至少部分处理资源解耦之后,还包括:
在所述虚拟实例中存储所述数据的数据标识与所述第三处理资源的资源标识之间的对应关系。
在本申请中,在第一处理资源耦合的数据符合预设条件的情况下,虚拟实例将该数据与第一处理资源中的至少部分处理资源解耦,从而实现释放至少部分处理资源,以使至少部分处理资源为空闲状态,第一处理资源包括宿主机为虚拟实例分配的处理资源,然后在虚拟实例上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以使在虚拟实例的角度上将至少部分处理资源从虚拟机上释放掉,也即,虚拟实例与至少部分处理资源不再耦合,之后可以向宿主机发送第一通知消息,第一通知消息用于通知虚拟实例已将第一处理资源中的至少部分处理资源与虚拟实例解耦。宿主机接收第一通知消息,然后可以根据第一通知消息,在宿主机上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以实现从虚拟实例上回收第一处理资源中的至少部分处理资源,从而使得之后宿主机可以自主支配至少部分处理资源,例如,可以将至少部分处理资源分配给需要的虚拟实例使用。
通过本申请,可以将虚拟实例暂时不使用的处理资源回收至宿主机,而宿主机之后可以将回收的处理资源分配给需要使用处理资源的其他虚拟实例使用,从而可以提高处理资源的利用率。
参照图5,示出了本申请一种资源处理方法的流程示意图,该方法应用于图1或图2所示的场景中的宿主机中,该方法可以包括:
在步骤S301中,接收在所述宿主机上运行的虚拟实例发送的第一通知消息,所述第一通知消息用于通知所述虚拟实例已将第一处理资源中的至少部分处理资源与所述虚拟实例解耦,所述第一处理资源包括所述宿主机为所述虚拟实例分配的处理资源;
在步骤S302中,根据所述第一通知消息,在所述宿主机上将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
在一个可选实现方式中,所述根据所述第一通知消息,在所述宿主机上将所述至少部分处理资源与所述虚拟实例解耦,包括:
在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,删除包括所述至少部分处理资源的资源标识与所述虚拟实例的实例标识的对应表项。
在一个可选实现方式中,所述方法还包括:
在需要为所述虚拟实例分配第二处理资源的情况下,在所述宿主机上将第二处理资源与所述虚拟实例耦合;
向所述虚拟实例发送第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源。
在一个可选实现方式中,所述在所述宿主机上将第二处理资源与所述虚拟实例耦合,包括:
在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,存储包括所述第二处理资源与所述虚拟实例的实例标识的对应表项。
在本申请中,在第一处理资源耦合的数据符合预设条件的情况下,虚拟实例将该数据与第一处理资源中的至少部分处理资源解耦,从而实现释放至少部分处理资源,以使至少部分处理资源为空闲状态,第一处理资源包括宿主机为虚拟实例分配的处理资源,然后在虚拟实例上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以使在虚拟实例的角度上将至少部分处理资源从虚拟机上释放掉,也即,虚拟实例与至少部分处理资源不再耦合,之后可以向宿主机发送第一通知消息,第一通知消息用于通知虚拟实例已将第一处理资源中的至少部分处理资源与虚拟实例解耦。宿主机接收第一通知消息,然后可以根据第一通知消息,在宿主机上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以实现从虚拟实例上回收第一处理资源中的至少部分处理资源,从而使得之后宿主机可以自主支配至少部分处理资源,例如,可以将至少部分处理资源分配给需要的虚拟实例使用。
通过本申请,可以将虚拟实例暂时不使用的处理资源回收至宿主机,而宿主机之后可以将回收的处理资源分配给需要使用处理资源的其他虚拟实例使用,从而可以提高处理资源的利用率。
参照图6,示出了本申请一种资源处理装置的实施例的结构框图,该装置应用于图1或图2所示的场景中的虚拟实例中,具体可以包括如下模块:
第一解耦模块401,用于在第一处理资源耦合的数据符合预设条件的情况下,将所述数据与所述第一处理资源中的至少部分处理资源解耦,所述第一处理资源包括宿主机为所述虚拟实例分配的处理资源;
第二解耦模块402,用于在所述虚拟实例上将所述至少部分处理资源与所述虚拟实例解耦;
第一发送模块403,用于向所述宿主机发送第一通知消息,所述第一通知消息用于通知所述虚拟实例已将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
在一个可选实现方式中,处理资源至少包括存储资源、计算资源以及通信资源。
在一个可选实现方式中,所述装置还包括:
备份模块,用于备份所述数据。
在一个可选实现方式中,所述备份模块包括:
压缩单元,用于对所述数据压缩,得到压缩后的数据;
耦合单元,用于将所述第一处理资源中的除所述至少部分处理资源以外的处理资源与所述压缩后的数据重新耦合。
在一个可选实现方式中,所述第二解耦模块具体用于:在所述虚拟实例维护的页表中,删除所述至少部分处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
在一个可选实现方式中,所述装置还包括:
第一接收模块,用于接收所述宿主机发送的第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源;
第一耦合模块,用于根据所述第二通知消息在所述虚拟实例上将所述第二处理资源与所述虚拟实例耦合。
在一个可选实现方式中,所述第一耦合模块具体用于:在所述虚拟实例维护的页表中,存储所述第二处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
在一个可选实现方式中,所述装置还包括:
第一确定模块,用于确定所述数据是否为预设数据;
所述第一解耦模块还用于:在所述数据为预设数据的情况下,将所述数据与所述第一处理资源中的至少部分处理资源解耦。
在一个可选实现方式中,所述装置还包括:
第二确定模块,用于在所述数据在预设时间段内未被使用的情况下,确定所述数据符合所述预设条件;
或者,
第三确定模块,用于在所述数据被使用的次数达到预设次数的情况下,确定所述数据符合所述预设条件;
或者,
第四确定模块,用于在第三处理资源耦合有与所述数据相同的数据的情况下,确定所述第一处理资源耦合的所述数据符合所述预设条件,所述第三处理资源包括所述宿主机中的除所述第一处理资源以外的处理资源。
在一个可选实现方式中,所述装置还包括:
存储模块,用于在所述虚拟实例中存储所述数据的数据标识与所述第三处理资源的资源标识之间的对应关系。
在本申请中,在第一处理资源耦合的数据符合预设条件的情况下,虚拟实例将该数据与第一处理资源中的至少部分处理资源解耦,从而实现释放至少部分处理资源,以使至少部分处理资源为空闲状态,第一处理资源包括宿主机为虚拟实例分配的处理资源,然后在虚拟实例上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以使在虚拟实例的角度上将至少部分处理资源从虚拟机上释放掉,也即,虚拟实例与至少部分处理资源不再耦合,之后可以向宿主机发送第一通知消息,第一通知消息用于通知虚拟实例已将第一处理资源中的至少部分处理资源与虚拟实例解耦。宿主机接收第一通知消息,然后可以根据第一通知消息,在宿主机上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以实现从虚拟实例上回收第一处理资源中的至少部分处理资源,从而使得之后宿主机可以自主支配至少部分处理资源,例如,可以将至少部分处理资源分配给需要的虚拟实例使用。
通过本申请,可以将虚拟实例暂时不使用的处理资源回收至宿主机,而宿主机之后可以将回收的处理资源分配给需要使用处理资源的其他虚拟实例使用,从而可以提高处理资源的利用率。
参照图7,示出了本申请一种资源处理装置的实施例的结构框图,该装置应用于图1或图2所示的场景中的宿主机中,具体可以包括如下模块:
第二接收模块501,用于接收在所述宿主机上运行的虚拟实例发送的第一通知消息,所述第一通知消息用于通知所述虚拟实例已将第一处理资源中的至少部分处理资源与所述虚拟实例解耦,所述第一处理资源包括所述宿主机为所述虚拟实例分配的处理资源;
第三解耦模块502,用于根据所述第一通知消息,在所述宿主机上将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
在一个可选实现方式中,所述第三解耦模块具体用于:在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,删除包括所述至少部分处理资源的资源标识与所述虚拟实例的实例标识的对应表项。
在一个可选实现方式中,所述装置还包括:
第二耦合模块,用于在需要为所述虚拟实例分配第二处理资源的情况下,在所述宿主机上将第二处理资源与所述虚拟实例耦合;
第二发送模块,用于向所述虚拟实例发送第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源。
在一个可选实现方式中,所述第二耦合模块具体用于:在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,存储包括所述第二处理资源与所述虚拟实例的实例标识的对应表项。
在本申请中,在第一处理资源耦合的数据符合预设条件的情况下,虚拟实例将该数据与第一处理资源中的至少部分处理资源解耦,从而实现释放至少部分处理资源,以使至少部分处理资源为空闲状态,第一处理资源包括宿主机为虚拟实例分配的处理资源,然后在虚拟实例上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以使在虚拟实例的角度上将至少部分处理资源从虚拟机上释放掉,也即,虚拟实例与至少部分处理资源不再耦合,之后可以向宿主机发送第一通知消息,第一通知消息用于通知虚拟实例已将第一处理资源中的至少部分处理资源与虚拟实例解耦。宿主机接收第一通知消息,然后可以根据第一通知消息,在宿主机上将第一处理资源中的至少部分处理资源与虚拟实例解耦,以实现从虚拟实例上回收第一处理资源中的至少部分处理资源,从而使得之后宿主机可以自主支配至少部分处理资源,例如,可以将至少部分处理资源分配给需要的虚拟实例使用。
通过本申请,可以将虚拟实例暂时不使用的处理资源回收至宿主机,而宿主机之后可以将回收的处理资源分配给需要使用处理资源的其他虚拟实例使用,从而可以提高处理资源的利用率。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括服务器、网关、子设备等,子设备为物联网设备等设备。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括服务器(集群)、终端设备如IoT设备等电子设备。
图8示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置1300。
对于一个实施例,图8示出了示例性装置1300,该装置具有一个或多个处理器1302、被耦合到(一个或多个)处理器1302中的至少一个的控制模块(芯片组)1304、被耦合到控制模块1304的存储器1306、被耦合到控制模块1304的非易失性存储器(NVM)/存储设备1308、被耦合到控制模块1304的一个或多个输入/输出设备1310,以及被耦合到控制模块1306的网络接口1312。
处理器1302可包括一个或多个单核或多核处理器,处理器1302可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1300能够作为本申请实施例中所述网关等服务器设备。
在一些实施例中,装置1300可包括具有指令1314的一个或多个计算机可读介质(例如,存储器1306或NVM/存储设备1308)以及与该一个或多个计算机可读介质相合并被配置为执行指令1314以实现模块从而执行本公开中所述的动作的一个或多个处理器1302。
对于一个实施例,控制模块1304可包括任意适当的接口控制器,以向(一个或多个)处理器1302中的至少一个和/或与控制模块1304通信的任意适当的设备或组件提供任意适当的接口。
控制模块1304可包括存储器控制器模块,以向存储器1306提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器1306可被用于例如为装置1300加载和存储数据和/或指令1314。对于一个实施例,存储器1306可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器1306可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,控制模块1304可包括一个或多个输入/输出控制器,以向NVM/存储设备1308及(一个或多个)输入/输出设备1310提供接口。
例如,NVM/存储设备1308可被用于存储数据和/或指令1314。NVM/存储设备1308可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备1308可包括在物理上作为装置1300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,NVM/存储设备1308可通过网络经由(一个或多个)输入/输出设备1310进行访问。
(一个或多个)输入/输出设备1310可为装置1300提供接口以与任意其他适当的设备通信,输入/输出设备1310可以包括通信组件、拼音组件、传感器组件等。网络接口1312可为装置1300提供接口以通过一个或多个网络通信,装置1300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G、5G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,装置1300可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
本申请实施例提供了一种电子设备,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本申请中一个或多个所述的资源处理方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种资源处理方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (32)
1.一种资源处理方法,其特征在于,应用于虚拟实例,所述方法包括:
在第一处理资源耦合的数据符合预设条件的情况下,将所述数据与所述第一处理资源中的至少部分处理资源解耦,所述第一处理资源包括宿主机为所述虚拟实例分配的处理资源;
在所述虚拟实例上将所述至少部分处理资源与所述虚拟实例解耦;
向所述宿主机发送第一通知消息,所述第一通知消息用于通知所述虚拟实例已将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
2.根据权利要求1所述的方法,其特征在于,处理资源至少包括存储资源、计算资源以及通信资源。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
备份所述数据。
4.根据权利要求3所述的方法,其特征在于,所述备份所述数据,包括:
对所述数据压缩,得到压缩后的数据;
将所述第一处理资源中的除所述至少部分处理资源以外的处理资源与所述压缩后的数据重新耦合。
5.根据权利要求1所述的方法,其特征在于,所述在所述虚拟实例上将所述至少部分处理资源与所述虚拟实例解耦,包括:
在所述虚拟实例维护的页表中,删除所述至少部分处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述宿主机发送的第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源;
根据所述第二通知消息在所述虚拟实例上将所述第二处理资源与所述虚拟实例耦合。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二通知消息在所述虚拟实例上将所述第二处理资源与所述虚拟实例耦合,包括:
在所述虚拟实例维护的页表中,存储所述第二处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述数据是否为预设数据;
在所述数据为预设数据的情况下,再执行所述将所述数据与所述第一处理资源中的至少部分处理资源解耦的步骤。
9.根据权利要求1所述的方法,其特征在于,所述方法包括:
在所述数据在预设时间段内未被使用的情况下,确定所述数据符合所述预设条件;
或者,
在所述数据被使用的次数达到预设次数的情况下,确定所述数据符合所述预设条件;
或者,
在第三处理资源耦合有与所述数据相同的数据的情况下,确定所述第一处理资源耦合的所述数据符合所述预设条件,所述第三处理资源包括所述宿主机中的除所述第一处理资源以外的处理资源。
10.根据权利要求9所述的方法,其特征在于,所述将所述数据与所述第一处理资源中的至少部分处理资源解耦之后,还包括:
在所述虚拟实例中存储所述数据的数据标识与所述第三处理资源的资源标识之间的对应关系。
11.一种资源处理方法,其特征在于,应用于宿主机,所述方法包括:
接收在所述宿主机上运行的虚拟实例发送的第一通知消息,所述第一通知消息用于通知所述虚拟实例已将第一处理资源中的至少部分处理资源与所述虚拟实例解耦,所述第一处理资源包括所述宿主机为所述虚拟实例分配的处理资源;
根据所述第一通知消息,在所述宿主机上将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
12.根据权利要求11所述的方法,其特征在于,所述根据所述第一通知消息,在所述宿主机上将所述至少部分处理资源与所述虚拟实例解耦,包括:
在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,删除包括所述至少部分处理资源的资源标识与所述虚拟实例的实例标识的对应表项。
13.根据权利要求11所述的方法,其特征在于,所述方法还包括:
在需要为所述虚拟实例分配第二处理资源的情况下,在所述宿主机上将第二处理资源与所述虚拟实例耦合;
向所述虚拟实例发送第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源。
14.根据权利要求13所述的方法,其特征在于,所述在所述宿主机上将第二处理资源与所述虚拟实例耦合,包括:
在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,存储包括所述第二处理资源与所述虚拟实例的实例标识的对应表项。
15.一种资源处理装置,其特征在于,应用于虚拟实例,所述装置包括:
第一解耦模块,用于在第一处理资源耦合的数据符合预设条件的情况下,将所述数据与所述第一处理资源中的至少部分处理资源解耦,所述第一处理资源包括宿主机为所述虚拟实例分配的处理资源;
第二解耦模块,用于在所述虚拟实例上将所述至少部分处理资源与所述虚拟实例解耦;
第一发送模块,用于向所述宿主机发送第一通知消息,所述第一通知消息用于通知所述虚拟实例已将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
16.根据权利要求15所述的装置,其特征在于,处理资源至少包括存储资源、计算资源以及通信资源。
17.根据权利要求15所述的装置,其特征在于,所述装置还包括:
备份模块,用于备份所述数据。
18.根据权利要求17所述的装置,其特征在于,所述备份模块包括:
压缩单元,用于对所述数据压缩,得到压缩后的数据;
耦合单元,用于将所述第一处理资源中的除所述至少部分处理资源以外的处理资源与所述压缩后的数据重新耦合。
19.根据权利要求15所述的装置,其特征在于,所述第二解耦模块具体用于:在所述虚拟实例维护的页表中,删除所述至少部分处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
20.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收所述宿主机发送的第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源;
第一耦合模块,用于根据所述第二通知消息在所述虚拟实例上将所述第二处理资源与所述虚拟实例耦合。
21.根据权利要求20所述的装置,其特征在于,所述第一耦合模块具体用于:在所述虚拟实例维护的页表中,存储所述第二处理资源的资源标识,所述页表用于存储所述宿主机分配给所述虚拟实例的处理资源的资源标识。
22.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于确定所述数据是否为预设数据;
所述第一解耦模块还用于:在所述数据为预设数据的情况下,将所述数据与所述第一处理资源中的至少部分处理资源解耦。
23.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于在所述数据在预设时间段内未被使用的情况下,确定所述数据符合所述预设条件;
或者,
第三确定模块,用于在所述数据被使用的次数达到预设次数的情况下,确定所述数据符合所述预设条件;
或者,
第四确定模块,用于在第三处理资源耦合有与所述数据相同的数据的情况下,确定所述第一处理资源耦合的所述数据符合所述预设条件,所述第三处理资源包括所述宿主机中的除所述第一处理资源以外的处理资源。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
存储模块,用于在所述虚拟实例中存储所述数据的数据标识与所述第三处理资源的资源标识之间的对应关系。
25.一种资源处理装置,其特征在于,应用于宿主机,所述装置包括:
第二接收模块,用于接收在所述宿主机上运行的虚拟实例发送的第一通知消息,所述第一通知消息用于通知所述虚拟实例已将第一处理资源中的至少部分处理资源与所述虚拟实例解耦,所述第一处理资源包括所述宿主机为所述虚拟实例分配的处理资源;
第三解耦模块,用于根据所述第一通知消息,在所述宿主机上将所述至少部分处理资源与所述虚拟实例解耦,以实现从所述虚拟实例上回收所述至少部分处理资源。
26.根据权利要求25所述的装置,其特征在于,所述第三解耦模块具体用于:在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,删除包括所述至少部分处理资源的资源标识与所述虚拟实例的实例标识的对应表项。
27.根据权利要求25所述的装置,其特征在于,所述装置还包括:
第二耦合模块,用于在需要为所述虚拟实例分配第二处理资源的情况下,在所述宿主机上将第二处理资源与所述虚拟实例耦合;
第二发送模块,用于向所述虚拟实例发送第二通知消息,所述第二通知消息用于通知所述宿主机已为所述虚拟实例分配第二处理资源。
28.根据权利要求27所述的装置,其特征在于,所述第二耦合模块具体用于:在所述宿主机维护的、处理资源的资源标识与虚拟实例的实例标识之间的对应关系中,存储包括所述第二处理资源与所述虚拟实例的实例标识的对应表项。
29.一种电子设备,其特征在于,所述电子设备包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-10中一个或多个所述的资源处理方法。
30.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求1-10中一个或多个所述的资源处理方法。
31.一种电子设备,其特征在于,所述电子设备包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求11-14中一个或多个所述的资源处理方法。
32.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求11-14中一个或多个所述的资源处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010763488.9A CN114064194A (zh) | 2020-07-31 | 2020-07-31 | 一种资源处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010763488.9A CN114064194A (zh) | 2020-07-31 | 2020-07-31 | 一种资源处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114064194A true CN114064194A (zh) | 2022-02-18 |
Family
ID=80227928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010763488.9A Pending CN114064194A (zh) | 2020-07-31 | 2020-07-31 | 一种资源处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064194A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895996A (zh) * | 2022-03-25 | 2022-08-12 | 阿里巴巴(中国)有限公司 | 云实例的运行方法、装置、电子设备和存储设备 |
-
2020
- 2020-07-31 CN CN202010763488.9A patent/CN114064194A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895996A (zh) * | 2022-03-25 | 2022-08-12 | 阿里巴巴(中国)有限公司 | 云实例的运行方法、装置、电子设备和存储设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6352535B2 (ja) | プログラム・コードを実行するための要求に対するプログラム的イベント検出及びメッセージ生成 | |
US10511480B2 (en) | Message flow management for virtual networks | |
JP2014520346A5 (zh) | ||
US11201836B2 (en) | Method and device for managing stateful application on server | |
CN110837407B (zh) | 无服务器云服务系统及其资源管理方法以及电子设备 | |
US10628070B2 (en) | Selecting and compressing target files to obtain additional free data storage space to perform an operation in a virtual machine | |
CN109905431B (zh) | 消息处理方法及系统、存储介质、电子设备 | |
CN104461698A (zh) | 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统 | |
US20160352821A1 (en) | Method and system for allocating resources for virtual hosts | |
CN107408073B (zh) | 使用存储器压缩来减少存储器提交开销 | |
CN116774933A (zh) | 存储设备的虚拟化处理方法、桥接设备、系统及介质 | |
CN110659104B (zh) | 一种业务监控方法及相关设备 | |
CN104461404A (zh) | 元数据存储方法、装置以及系统 | |
CN107831887B (zh) | 一种应用启动方法及装置 | |
CN110569157B (zh) | 存储测试方法、装置、服务器及存储介质 | |
CN114064194A (zh) | 一种资源处理方法及装置 | |
CN114265713A (zh) | Rdma事件管理方法、装置、计算机设备及存储介质 | |
US20200110617A1 (en) | System and method for device deployment | |
CN111475230B (zh) | 应用的功能配置方法、装置和电子设备 | |
CN110365839B (zh) | 关机方法、装置、介质及电子设备 | |
US11115365B1 (en) | Messaging overflow service | |
CN111274104A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN110891033A (zh) | 网络资源处理方法、装置、网关、控制器及存储介质 | |
CN108920628B (zh) | 一种适配大数据平台的分布式文件系统访问方法及装置 | |
CN112416698B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40066433 Country of ref document: HK |