CN103810020B - 虚拟机弹性伸缩方法及装置 - Google Patents
虚拟机弹性伸缩方法及装置 Download PDFInfo
- Publication number
- CN103810020B CN103810020B CN201410051843.4A CN201410051843A CN103810020B CN 103810020 B CN103810020 B CN 103810020B CN 201410051843 A CN201410051843 A CN 201410051843A CN 103810020 B CN103810020 B CN 103810020B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- resting state
- described flexible
- flexible group
- making
- 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
Landscapes
- Power Sources (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种虚拟机弹性伸缩方法及装置,包括:当伸缩组的伸缩决策为扩容虚拟机时,从用于存储休眠状态虚拟机的虚拟机实例缓冲模块中激活休眠状态虚拟机,以增加伸缩组中的虚拟机;其中,虚拟机实例缓冲模块通过保存休眠状态虚拟机的内存数据,来存储休眠状态虚拟机,激活休眠状态虚拟机包括将休眠状态虚拟机的内存数据恢复到休眠状态虚拟机所在服务器的内存中,并将休眠状态虚拟机上电。根据本发明的虚拟机弹性伸缩方法及装置,在扩容虚拟机时能够减少创建虚拟机、启动操作系统、启动应用程序的时间,扩容一台虚拟机可以在数秒钟之内完成,与现有技术中数分钟甚至一小时以上的扩容时间相比,极大地提高了扩容虚拟机的速度。
Description
技术领域
本发明涉及通信领域,尤其涉及一种虚拟机弹性伸缩方法及装置。
背景技术
通信领域云计算弹性伸缩服务可以根据用户定义的条件扩展伸缩组中虚拟机(英文:Virtual Machine,缩写:VM)的数量。伸缩组是一组功能相同的虚拟机集合,使用云计算弹性伸缩服务,用户可以确保伸缩组内的虚拟机实例数量在需求峰值期实现无缝增长以保持性能,也可以在需求平淡期自动减少伸缩组内的虚拟机实例数量,以最大程度降低成本。
现有云计算弹性伸缩服务包含两个模块:伸缩决策模块和虚拟机管理模块,伸缩决策模块用于决策是否要扩容或减容伸缩组内的虚拟机,并将伸缩决策发送给虚拟机管理模块通知虚拟机管理模块扩容或减容虚拟机,虚拟机管理模块负责具体的创建、删除虚拟机,虚拟机上电、下电等操作。当伸缩决策为扩容虚拟机时,需要涉及创建虚拟机、启动操作系统、启动应用程序步骤,扩容一个虚拟机少则花费数分钟,多则花费一个小时以上,导致虚拟机扩容期间虚拟机超负载运行,不能快速响应业务需求。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,现有技术中扩容虚拟机需要的时间过长,导致虚拟机扩容期间虚拟机超负载运行,不能快速响应业务需求的问题。
解决方案
为解决上述技术问题,根据本发明一实施例,在第一方面提供一种虚拟机弹性伸缩方法,包括:
当伸缩组的伸缩决策为扩容虚拟机时,从用于存储休眠状态虚拟机的虚拟机实例缓冲模块中激活所述休眠状态虚拟机,以增加所述伸缩组中的虚拟机;
其中,所述虚拟机实例缓冲模块通过保存所述休眠状态虚拟机的内存数据,来存储所述休眠状态虚拟机,所述激活所述休眠状态虚拟机包括将所述休眠状态虚拟机的内存数据恢复到所述休眠状态虚拟机所在服务器的内存中,并将所述休眠状态虚拟机上电。
在一种可能的实施方式中,所述方法还包括:
创建所述用于存储休眠状态虚拟机的虚拟机实例缓冲模块。
在一种可能的实施方式中,在所述创建所述用于存储休眠状态虚拟机的虚拟机实例缓冲模块之后,还包括:
当所述伸缩组的伸缩决策为增加所述虚拟机实例缓冲模块中的休眠状态虚拟机时,启动虚拟机,将启动的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中,并将所述启动的虚拟机下电,以将所述启动的虚拟机休眠并存储在所述虚拟机实例缓冲模块中。
在一种可能的实施方式中,所述当所述伸缩组的伸缩决策为增加所述虚拟机实例缓冲模块中的休眠状态虚拟机时,在所述启动虚拟机之前,所述方法还包括:确定所述虚拟机实例缓冲模块中存储的所述休眠状态虚拟机的个数是否小于预设的上限,如果小于,则执行所述启动虚拟机的步骤。
在一种可能的实施方式中,在所述创建所述用于存储休眠状态虚拟机的虚拟机实例缓冲模块之后,还包括:
当所述伸缩组的伸缩决策为减容虚拟机时,将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中,并将所述伸缩组中待减容的虚拟机下电,以将所述伸缩组中待减容的虚拟机休眠并存储在所述虚拟机实例缓冲模块中。
在一种可能的实施方式中,所述当所述伸缩组的伸缩决策为减容虚拟机时,在所述将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中之前,所述方法还包括:确定所述虚拟机实例缓冲模块中存储的休眠状态虚拟机个数是否小于所述预设的上限,如果小于,则执行所述将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中的步骤。
在一种可能的实施方式中,所述方法还包括:
对采集到的所述伸缩组中的虚拟机的监控数据进行处理,得到所述伸缩组的伸缩数据;
根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策。
在一种可能的实施方式中,根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策包括:
当所述伸缩组的伸缩数据大于预设的休眠阈值而小于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述增加所述虚拟机实例缓冲模块中的休眠状态虚拟机。
在一种可能的实施方式中,根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策包括:
当所述伸缩组的伸缩数据大于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述扩容虚拟机。
在一种可能的实施方式中,根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策包括:
当所述伸缩组的伸缩数据小于预设的减容阈值时,确定所述伸缩组的伸缩决策为所述减容虚拟机。
为解决上述技术问题,根据本发明一实施例,在第二方面提供一种虚拟机弹性伸缩装置,包括:
虚拟机实例缓冲模块,用于通过保存休眠状态虚拟机的内存数据,来存储所述休眠状态虚拟机;
扩容模块,与所述虚拟机实例缓冲模块连接,用于当伸缩组的伸缩决策为扩容虚拟机时,从所述虚拟机实例缓冲模块中激活所述休眠状态虚拟机,以增加所述伸缩组中的虚拟机;
其中,所述激活所述休眠状态虚拟机包括将所述休眠状态虚拟机的内存数据恢复到所述休眠状态虚拟机所在服务器的内存中,并将所述休眠状态虚拟机上电。
在一种可能的实施方式中,所述装置还包括:
创建模块,用于创建所述虚拟机实例缓冲模块。
在一种可能的实施方式中,所述装置还包括:
休眠模块,与所述虚拟机实例缓冲模块连接,用于当所述伸缩组的伸缩决策为增加所述虚拟机实例缓冲模块中的休眠状态虚拟机时,启动虚拟机,将启动的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中,并将所述启动的虚拟机下电,以将所述启动的虚拟机休眠并存储在所述虚拟机实例缓冲模块中。
在一种可能的实施方式中,所述装置还包括:
确定模块,与所述休眠模块连接,用于确定所述虚拟机实例缓冲模块中存储的休眠状态虚拟机个数是否小于预设的上限,如果小于,则所述休眠模块执行所述启动虚拟机的步骤。
在一种可能的实施方式中,所述装置还包括:
减容模块,与所述虚拟机实例缓冲模块连接,用于当所述伸缩组的伸缩决策为减容虚拟机时,将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中,并将所述伸缩组中待减容的虚拟机下电,以将所述伸缩组中待减容的虚拟机休眠并存储在所述虚拟机实例缓冲模块中。
在一种可能的实施方式中,所述确定模块还与所述减容模块连接,并被配置为:确定所述虚拟机实例缓冲模块中存储的休眠状态虚拟机个数是否小于预设的上限,如果小于,则所述减容模块执行所述将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中的步骤。
在一种可能的实施方式中,所述装置还包括:
伸缩决策模块,与所述扩容模块,所述休眠模块及所述减容模块连接,用于对采集到的所述伸缩组中的虚拟机的监控数据进行处理,得到所述伸缩组的伸缩数据;
根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策;并且
向所述扩容模块,所述休眠模块或所述减容模块发送包括所述伸缩组的伸缩决策的指令。
在一种可能的实施方式中,所述伸缩决策模块被配置为:
当所述伸缩组的伸缩数据大于预设的休眠阈值而小于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述增加所述虚拟机实例缓冲模块中的休眠状态虚拟机;并且
向所述休眠模块发送包括所述伸缩组的伸缩决策为所述增加所述虚拟机实例缓冲模块中的休眠状态虚拟机的指令。
在一种可能的实施方式中,所述伸缩决策模块被配置为:
当所述伸缩组的伸缩数据大于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述扩容虚拟机;并且
向所述扩容模块发送包括所述伸缩组的伸缩决策为所述扩容虚拟机的指令。
在一种可能的实施方式中,所述伸缩决策模块被配置为:
当所述伸缩组的伸缩数据小于预设的减容阈值时,确定所述伸缩组的伸缩决策为所述减容虚拟机;并且
向所述减容模块发送包括所述伸缩组的伸缩决策为所述减容虚拟机的指令。
有益效果
根据本发明实施例的虚拟机弹性伸缩方法,通过当伸缩组的伸缩决策为扩容虚拟机时,从用于存储休眠状态虚拟机的虚拟机实例缓冲模块中激活休眠状态虚拟机,以增加伸缩组中的虚拟机,在扩容虚拟机时能够减少创建虚拟机、启动操作系统、启动应用程序的时间,扩容一台虚拟机可以在数秒钟之内完成,与现有技术中数分钟甚至一小时以上的扩容时间相比,极大地提高了扩容虚拟机的速度。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出根据本发明一实施例的虚拟机弹性伸缩方法的流程图;
图2示出根据本发明另一实施例的虚拟机弹性伸缩方法的流程图;
图3示出根据本发明又一实施例的虚拟机弹性伸缩方法的流程图;
图4示出根据本发明实施例的虚拟机弹性伸缩装置的结构示意图;
图5示出根据本发明另一实施例的虚拟机弹性伸缩装置的结构示意图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
如背景技术部分所述,由于扩容虚拟机时,需要涉及创建虚拟机、启动操作系统、启动应用程序步骤,扩容一个虚拟机少则花费数分钟,多则花费一个小时以上,导致虚拟机扩容期间虚拟机超负载运行,不能快速响应业务需求。有鉴于此,本发明的发明人独创性地提出,当伸缩组的伸缩决策为扩容虚拟机时,从用于存储休眠状态虚拟机的虚拟机实例缓冲模块中激活所述休眠状态虚拟机,以增加所述伸缩组中的虚拟机;其中,所述虚拟机实例缓冲模块通过保存所述休眠状态虚拟机的内存数据,来存储所述休眠状态虚拟机,所述激活所述休眠状态虚拟机包括将所述休眠状态虚拟机的内存数据恢复到所述休眠状态虚拟机所在服务器的内存中,并将所述休眠状态虚拟机上电。通过本发明实施例提供的虚拟机弹性伸缩方法及装置在扩容虚拟机时能够减少创建虚拟机、启动操作系统、启动应用程序的时间,扩容一台虚拟机可以在数秒钟之内完成,与现有技术中数分钟甚至一小时以上的扩容时间相比,极大地提高了扩容虚拟机的速度。
以下将参照附图详细介绍本发明的上述发明构思的各种具体实现。
实施例1
图1示出根据本发明一实施例的虚拟机弹性伸缩方法的流程图,如图1所示,该方法包括:
步骤S101、创建虚拟机实例缓冲模块。
虚拟机实例缓冲模块通过保存休眠状态虚拟机的内存数据来存储休眠状态虚拟机,具体包括将虚拟机的内存数据保存在虚拟机实例缓冲模块中,然后将该虚拟机下电以使该虚拟机休眠。休眠状态虚拟机只占用存储空间,不占用计算及内存资源。
步骤S102、当伸缩组的伸缩决策为扩容虚拟机时,从用于存储休眠状态虚拟机的虚拟机实例缓冲模块中激活休眠状态虚拟机,以增加伸缩组中的虚拟机。
其中,激活休眠状态虚拟机包括将休眠状态虚拟机的内存数据恢复到该休眠状态虚拟机所在服务器的内存中,并将该休眠状态虚拟机上电,激活后的虚拟机被加入到伸缩组中以响应业务需求。
这样,通过当伸缩组的伸缩决策为扩容虚拟机时,从用于存储休眠状态虚拟机的虚拟机实例缓冲模块中激活休眠状态虚拟机,以增加伸缩组中的虚拟机,在扩容虚拟机时能够减少创建虚拟机、启动操作系统、启动应用程序的时间,扩容一台虚拟机可以在数秒钟之内完成,与现有技术中数分钟甚至一小时以上的扩容时间相比,极大地提高了扩容虚拟机的速度。
实施例2
图2示出根据本发明另一实施例的虚拟机弹性伸缩方法的流程图。如图2所示,该方法包括:
步骤S301、对伸缩组内的虚拟机采集监控数据,如CPU占用率,内存占用率,磁盘输入输出I/O,网络带宽等。
步骤S302、对监控数据进行计算,得到伸缩数据。
例如可以根据伸缩组内每一台虚拟机的CPU占用率计算得到某个周期内伸缩组内虚拟机平均CPU占用率作为该伸缩数据或选用伸缩组内虚拟机最大CPU占用率作为该伸缩数据,可以根据伸缩组内每一台虚拟机的内存占用率计算得到某个周期内伸缩组中虚拟机的内存平均占用率作为伸缩数据或选用最大内存占用率作为伸缩数据,也可以分别设置CPU占用率和内存占用率的权重,根据权重比例计算得到某个周期内的结合CPU占用率和内存占用率的伸缩数据。
步骤S303、判断伸缩数据是否大于休眠阈值,是则继续执行步骤S304,否则结束流程。
通过判断伸缩数据是否大于休眠阈值,来判断是否需要增加虚拟机实例缓冲模块中的休眠状态虚拟机的实例。
步骤S304、判断伸缩数据是否大于扩容阈值,是则继续执行步骤S306,否则执行步骤S305。
通过判断伸缩数据是否大于扩容阈值,来判断是否需要将虚拟机实例缓冲模块中休眠状态的虚拟机激活,并加入伸缩组以响应业务需求。
步骤S305、判断虚拟机实例缓冲模块中存储的休眠状态虚拟机个数是否大于预设的上限,如果否,则执行步骤S3051-S3055。
本发明实施例为了避免虚拟机实例缓冲模块对资源的过度消耗,配置虚拟机实例缓冲模块中存储的休眠状态虚拟机个数上限。
当伸缩数据大于预设的休眠阈值而小于预设的扩容阈值时,伸缩决策为增加虚拟机实例缓冲模块中的休眠状态虚拟机,并根据该伸缩数据确定增加的休眠状态虚拟机的数量,且每次增加的休眠状态虚拟机的个数可以预订,具体步骤包括启动虚拟机之后,再休眠该虚拟机。其中,启动虚拟机的步骤包括:步骤S3051-S3054。
步骤S3051、根据虚拟机模板或者镜像创建虚拟机。
步骤S3052、虚拟机创建成功后,给虚拟机上电。
步骤S3053、启动虚拟机操作系统。
步骤S3054、启动应用程序。
步骤S3055、将步骤S3051-S3054启动的虚拟机休眠以存储在虚拟机实例缓冲模块中。
将步骤S3051-S3054启动的虚拟机的内存数据保存在虚拟机实例缓冲模块中,并将该启动的虚拟机下电,以将该启动的虚拟机休眠并存储在虚拟机实例缓冲模块中,休眠虚拟机可以释放服务器CPU及内存资源。
在将虚拟机的内存数据保存在虚拟机实例缓冲模块的过程中,需要为虚拟机的内存数据选择存储介质,云环境中的存储可以分为高速数据存储和普通数据存储,高速数据存储的磁盘介质可以是价格高性能优的固态硬盘(英文:Solid State Disk,缩写:SSD),普通数据存储的磁盘介质可以是成本低性能一般的普通机械磁盘等。虚拟机内存数据写到数据存储中的速度决定了休眠虚拟机所需的时间,从数据存储中读取内存数据的速度决定了激活虚拟机所需的时间,本发明实施例可以选择高性能数据存储保存休眠状态虚拟机的内存数据,以缩短该休眠步骤及实施例1中所述激活虚拟机的步骤所需的时间,或选择选择高性能数据存储保存虚拟机休眠过程中产生的数据文件,并选择普通数据存储的磁盘介质保存虚拟机的系统盘和数据盘,以节约成本。具体的保存步骤包括在所选的数据存储上创建虚拟机的内存数据文件,将虚拟机内存数据写到该内存数据文件中,虚拟机内存数据包括运行中的应用程序内存和操作系统的内核内存,之后给该虚拟机下电以使该虚拟机休眠并存储在虚拟机实例缓冲模块中。通过上述方式在虚拟机实例缓冲模块中增加休眠状态虚拟机,以备执行扩容虚拟机时使用。
步骤S306、判断虚拟机实例缓冲模块中是否有休眠状态的虚拟机,如果是,则执行步骤S3061,否则执行步骤S3062。
步骤S3061、激活休眠状态的虚拟机。
伸缩数据大于预设的扩容阈值,伸缩决策为扩容虚拟机,并根据该伸缩数据可以确定需扩容虚拟机的数量,从虚拟机实例缓冲模块中激活休眠状态的虚拟机。将虚拟机内存数据文件恢复到服务器的内存中以激活该虚拟机。激活过程不涉及虚拟机创建、操作系统启动和应用程序启动,所以激活一个虚拟机可以在数秒钟内完成。具体包括:给虚拟机上电;读取虚拟机内存数据文件,加载到服务器的内存中,被加载的内存数据包括操作系统内核内存和应用程序内存。
步骤S3062、根据虚拟机模板或者镜像创建虚拟机。
步骤S3063、虚拟机创建成功后,给虚拟机上电。
步骤S3064、启动虚拟机操作系统。
步骤S3065、启动应用程序。
需要说明的是,本发明实施例中的伸缩组分别设置休眠阈值和扩容阈值,休眠阈值比扩容阈值小。当伸缩数据大于休眠阈值而小于扩容阈值时,伸缩决策为增加虚拟机实例缓冲模块中的休眠状态虚拟机,当伸缩数据大于扩容阈值时,伸缩决策为扩容虚拟机,即休眠阈值用于创建虚拟机实例缓冲模块中的休眠状态虚拟机的实例,扩容阈值用于将虚拟机实例缓冲模块中休眠状态的虚拟机激活。
这样,通过当伸缩组的伸缩决策为扩容虚拟机时,从用于存储休眠状态虚拟机的虚拟机实例缓冲模块中激活休眠状态虚拟机,以增加伸缩组中的虚拟机,在扩容虚拟机时能够减少创建虚拟机、启动操作系统、启动应用程序的时间,扩容一台虚拟机可以在数秒钟之内完成,与现有技术中数分钟甚至一小时以上的扩容时间相比,极大地提高了扩容虚拟机的速度。
实施例3
图3示出根据本发明又一实施例的虚拟机弹性伸缩方法的流程图。图3中标号与图2相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。如图3所示,图3所示的虚拟机弹性伸缩方法与图2所示虚拟机弹性伸缩方法的主要区别在于,在步骤S301-步骤S302之后还包括:
步骤S401、将伸缩数据与减容阈值比较,如果伸缩数据小于减容阈值,则执行步骤S402,否则结束流程。
步骤S402、判断虚拟机实例缓冲模块中的休眠状态虚拟机的个数是否已达到上限,如果是,则继续执行步骤S4021、否则执行步骤S4022。
步骤S4021、删除虚拟机。本发明实施例为了避免虚拟机实例缓冲模块对资源的过度消耗,配置虚拟机实例缓冲模块中休眠状态的虚拟机的个数上限即虚拟机实例缓冲模块的容量上限,当虚拟机实例缓冲模块中休眠状态的虚拟机实例的个数已达到该上限时,直接删除需要被执行减容的虚拟机,而不再执行休眠虚拟机的步骤。
步骤S4022、休眠虚拟机,以增加虚拟机实例缓冲模块中休眠状态的虚拟机实例。具体步骤与实施例2中步骤S3055类似,在此不再赘述。伸缩数据小于预设的减容阈值,伸缩决策为减容虚拟机,并根据该伸缩数据可确定需减容的虚拟机数量,将需要被执行减容的虚拟机休眠后保存到虚拟机实例缓冲模块中,以备执行扩容虚拟机时使用,而不是将该虚拟机直接删除。
这样,通过伸缩决策为减容虚拟机时,将虚拟机休眠后保存到虚拟机实例缓冲模块中,当伸缩决策为扩容虚拟机时从该虚拟机实例缓冲模块中激活休眠状态虚拟机,根据本发明实施例的虚拟机弹性伸缩方法,在扩容虚拟机时能够减少了创建虚拟机、启动操作系统、启动应用程序的时间,扩容一台虚拟机可以在数秒钟之内完成,达到快速扩容虚拟机的效果。此外,通过配置虚拟机实例缓冲模块中休眠状态的虚拟机的个数上限,进一步达到避免虚拟机实例缓冲模块过度消耗资源的作用。
实施例4
图4示出根据本发明实施例的一种虚拟机弹性伸缩装置的结构示意图,如图4所示,该装置10包括:虚拟机实例缓冲模块110,扩容模块120。
虚拟机实例缓冲模块110,用于通过保存休眠状态虚拟机的内存数据,来存储所述休眠状态虚拟机。
扩容模块120,与虚拟机实例缓冲模块110连接,用于当伸缩组的伸缩决策为扩容虚拟机时,从虚拟机实例缓冲模块110中激活休眠状态虚拟机,以增加伸缩组中的虚拟机;其中,激活休眠状态虚拟机包括将休眠状态虚拟机的内存数据恢复到休眠状态虚拟机所在服务器的内存中,并将该休眠状态虚拟机上电。具体步骤如实施例1中步骤S102所述,在此不再赘述。
在一种可能的实现方式中,该装置10还包括:创建模块160。
创建模块160,用于创建虚拟机实例缓冲模块,具体步骤如实施例1中步骤S101所述,在此不再赘述。
在一种可能的实现方式中,该装置10还包括:休眠模块130。
休眠模块130,与虚拟机实例缓冲模块110连接,用于当伸缩组的伸缩决策为增加虚拟机实例缓冲模块中的休眠状态虚拟机时,启动虚拟机,将启动的虚拟机的内存数据保存在虚拟机实例缓冲模块110中,并将该启动的虚拟机下电,以将该启动的虚拟机休眠并存储在虚拟机实例缓冲模块110中,具体执行步骤如实施例2中步骤S3051-S3055所述,在此不再赘述。
在一种可能的实现方式中,该装置10还包括:确定模块170。
确定模块170,与休眠模块130连接,用于确定虚拟机实例缓冲模块110中存储的休眠状态虚拟机个数是否小于预设的上限,如果小于,则休眠模块130执行启动虚拟机的步骤。
在一种可能的实现方式中,该装置10还包括:减容模块140。
减容模块140,与虚拟机实例缓冲模块110连接,用于当伸缩组的伸缩决策为减容虚拟机时,将伸缩组中待减容的虚拟机的内存数据保存在虚拟机实例缓冲模块110中,并将伸缩组中待减容的虚拟机下电,以将伸缩组中待减容的虚拟机休眠并存储在虚拟机实例缓冲模块110中。具体步骤如实施例2中步骤S3055所述,在此不再赘述。
在一种可能的实现方式中,确定模块170还与减容模块140连接,并进一步被配置为:确定虚拟机实例缓冲模块110中存储的休眠状态虚拟机个数是否小于预设的上限,如果小于,则减容模块140执行所述将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中的步骤。
在一种可能的实现方式中,该装置10还包括:伸缩决策模块150。
伸缩决策模块150,与扩容模块120,休眠模块130及减容模块140连接,用于对采集到的伸缩组中的虚拟机的监控数据进行处理,得到伸缩组的伸缩数据;根据伸缩组的伸缩数据,确定伸缩组的伸缩决策;并且向扩容模块120,休眠模块130或减容模块140发送包括该伸缩组的伸缩决策的指令,以使扩容模块120,休眠模块130或减容模块140执行相应操作。其中监控数据包括CPU的占用率,内存占用率,磁盘输入输出I/O,网络带宽等,该伸缩数据可以为某个周期内的虚拟机平均CPU占用率,内存平均占用率,磁盘平均输入输出I/O,网络平均带宽等。
在一种可能的实现方式中,伸缩决策模块150被配置为:当伸缩组的伸缩数据大于预设的休眠阈值而小于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述增加所述虚拟机实例缓冲模块中的休眠状态虚拟机;并且向休眠模块130发送包括所述伸缩组的伸缩决策为增加所述虚拟机实例缓冲模块中的休眠状态虚拟机的指令,以使休眠模块130执行相应操作,具体操作如实施例2中步骤S304-S3055所述,在此不再赘述。
在一种可能的实现方式中,伸缩决策模块150被配置为:当所述伸缩组的伸缩数据大于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述扩容虚拟机,并且向所述扩容模块120发送包括伸缩组的伸缩决策为扩容虚拟机的指令,以使扩容模块120执行相应操作,具体操作如实施例2中步骤S306-S3061所述,在此不再赘述。
在一种可能的实现方式中,伸缩决策模块150被配置为:当所述伸缩组的伸缩数据小于预设的减容阈值时,确定所述伸缩组的伸缩决策为所述减容虚拟机,并且向所述减容模块140发送包括所述伸缩组的伸缩决策为所述减容虚拟机的指令。具体操作如实施例3中步骤S401-S4022所述,在此不再赘述。
这样,通过虚拟机实例缓冲模块存储休眠状态虚拟机,当伸缩决策为扩容虚拟机时,从该虚拟机实例缓冲模块中激活休眠状态虚拟机,根据本发明实施例的虚拟机弹性伸缩装置,在扩容虚拟机时能够减少了创建虚拟机、启动操作系统、启动应用程序的时间,扩容一台虚拟机可以在数秒钟之内完成,达到快速扩容虚拟机的效果。
实施例5
图5示出了本发明的另一个实施例的一种虚拟机弹性伸缩装置的结构框图。所述虚拟机弹性伸缩装置1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述虚拟机弹性伸缩装置1100包括处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
通信接口1120用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。
处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于存放文件。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:
当伸缩组的伸缩决策为扩容虚拟机时,从用于存储休眠状态虚拟机的虚拟机实例缓冲模块中激活所述休眠状态虚拟机,以增加所述伸缩组中的虚拟机;
其中,所述虚拟机实例缓冲模块通过保存所述休眠状态虚拟机的内存数据,来存储所述休眠状态虚拟机,所述激活所述休眠状态虚拟机包括将所述休眠状态虚拟机的内存数据恢复到所述休眠状态虚拟机所在服务器的内存中,并将所述休眠状态虚拟机上电。
在一种可能的实施方式中,该程序还用于:
创建所述用于存储休眠状态虚拟机的虚拟机实例缓冲模块。
在一种可能的实施方式中,在所述创建所述用于存储休眠状态虚拟机的虚拟机实例缓冲模块之后,该程序还用于:
当所述伸缩组的伸缩决策为增加所述虚拟机实例缓冲模块中的休眠状态虚拟机时,启动虚拟机,将启动的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中,并将所述启动的虚拟机下电,以将所述启动的虚拟机休眠并存储在所述虚拟机实例缓冲模块中。
在一种可能的实施方式中,所述当所述伸缩组的伸缩决策为增加所述虚拟机实例缓冲模块中的休眠状态虚拟机时,在所述启动虚拟机之前,该程序还用于:确定所述虚拟机实例缓冲模块中存储的所述休眠状态虚拟机的个数是否小于预设的上限,如果小于,则执行所述启动虚拟机的步骤。
在一种可能的实施方式中,在所述创建所述用于存储休眠状态虚拟机的虚拟机实例缓冲模块之后,该程序还用于:
当所述伸缩组的伸缩决策为减容虚拟机时,将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中,并将所述伸缩组中待减容的虚拟机下电,以将所述伸缩组中待减容的虚拟机休眠并存储在所述虚拟机实例缓冲模块中。
在一种可能的实施方式中,所述当所述伸缩组的伸缩决策为减容虚拟机时,在所述将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中之前,该程序还用于:确定所述虚拟机实例缓冲模块中存储的休眠状态虚拟机个数是否小于所述预设的上限,如果小于,则执行所述将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中的步骤。
在一种可能的实施方式中,该程序还用于:
对采集到的所述伸缩组中的虚拟机的监控数据进行处理,得到所述伸缩组的伸缩数据;
根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策。
在一种可能的实施方式中,根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策包括:
当所述伸缩组的伸缩数据大于预设的休眠阈值而小于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述增加所述虚拟机实例缓冲模块中的休眠状态虚拟机。
在一种可能的实施方式中,根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策包括:
当所述伸缩组的伸缩数据大于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述扩容虚拟机。
在一种可能的实施方式中,根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策包括:
当所述伸缩组的伸缩数据小于预设的减容阈值时,确定所述伸缩组的伸缩决策为所述减容虚拟机。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (18)
1.一种虚拟机弹性伸缩方法,其特征在于,包括:
当伸缩组的伸缩决策为扩容虚拟机时,从用于存储休眠状态虚拟机的虚拟机实例缓冲模块中激活所述休眠状态虚拟机,以增加所述伸缩组中的虚拟机;
其中,所述虚拟机实例缓冲模块通过保存所述休眠状态虚拟机的内存数据,来存储所述休眠状态虚拟机,所述激活所述休眠状态虚拟机包括将所述休眠状态虚拟机的内存数据恢复到所述休眠状态虚拟机所在服务器的内存中,并将所述休眠状态虚拟机上电,所述虚拟机的内存数据包括应用程序内存和操作系统内核内存;
当所述伸缩组的伸缩决策为减容虚拟机时,将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中,并将所述伸缩组中待减容的虚拟机下电,以将所述伸缩组中待减容的虚拟机休眠并存储在所述虚拟机实例缓冲模块中。
2.根据权利要求1所述的虚拟机弹性伸缩方法,其特征在于,所述方法还包括:
创建所述用于存储休眠状态虚拟机的虚拟机实例缓冲模块。
3.根据权利要求2所述的虚拟机弹性伸缩方法,其特征在于,在所述创建所述用于存储休眠状态虚拟机的虚拟机实例缓冲模块之后,还包括:
当所述伸缩组的伸缩决策为增加所述虚拟机实例缓冲模块中的休眠状态虚拟机时,启动虚拟机,将启动的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中,并将所述启动的虚拟机下电,以将所述启动的虚拟机休眠并存储在所述虚拟机实例缓冲模块中。
4.根据权利要求3所述的虚拟机弹性伸缩方法,其特征在于,所述当所述伸缩组的伸缩决策为增加所述虚拟机实例缓冲模块中的休眠状态虚拟机时,在所述启动虚拟机之前,所述方法还包括:确定所述虚拟机实例缓冲模块中存储的所述休眠状态虚拟机的个数是否小于预设的上限,如果小于,则执行所述启动虚拟机的步骤。
5.根据权利要求1所述的虚拟机弹性伸缩方法,其特征在于,所述当所述伸缩组的伸缩决策为减容虚拟机时,在所述将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中之前,所述方法还包括:确定所述虚拟机实例缓冲模块中存储的休眠状态虚拟机个数是否小于预设的上限,如果小于,则执行所述将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中的步骤。
6.根据权利要求1-5中任一项所述的虚拟机弹性伸缩方法,其特征在于,所述方法还包括:
对采集到的所述伸缩组中的虚拟机的监控数据进行处理,得到所述伸缩组的伸缩数据;
根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策。
7.根据权利要求6所述的虚拟机弹性伸缩方法,其特征在于,根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策包括:
当所述伸缩组的伸缩数据大于预设的休眠阈值而小于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述增加所述虚拟机实例缓冲模块中的休眠状态虚拟机。
8.根据权利要求6所述的虚拟机弹性伸缩方法,其特征在于,根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策包括:
当所述伸缩组的伸缩数据大于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述扩容虚拟机。
9.根据权利要求6所述的虚拟机弹性伸缩方法,其特征在于,根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策包括:
当所述伸缩组的伸缩数据小于预设的减容阈值时,确定所述伸缩组的伸缩决策为所述减容虚拟机。
10.一种虚拟机弹性伸缩装置,其特征在于,包括:
虚拟机实例缓冲模块,用于通过保存休眠状态虚拟机的内存数据,来存储所述休眠状态虚拟机,所述虚拟机的内存数据包括应用程序内存和操作系统内核内存;
扩容模块,与所述虚拟机实例缓冲模块连接,用于当伸缩组的伸缩决策为扩容虚拟机时,从所述虚拟机实例缓冲模块中激活所述休眠状态虚拟机,以增加所述伸缩组中的虚拟机;
其中,所述激活所述休眠状态虚拟机包括将所述休眠状态虚拟机的内存数据恢复到所述休眠状态虚拟机所在服务器的内存中,并将所述休眠状态虚拟机上电;
减容模块,与所述虚拟机实例缓冲模块连接,用于当所述伸缩组的伸缩决策为减容虚拟机时,将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中,并将所述伸缩组中待减容的虚拟机下电,以将所述伸缩组中待减容的虚拟机休眠并存储在所述虚拟机实例缓冲模块中。
11.根据权利要求10所述的虚拟机弹性伸缩装置,其特征在于,所述装置还包括:
创建模块,用于创建所述虚拟机实例缓冲模块。
12.根据权利要求11所述的虚拟机弹性伸缩装置,其特征在于,所述装置还包括:
休眠模块,与所述虚拟机实例缓冲模块连接,用于当所述伸缩组的伸缩决策为增加所述虚拟机实例缓冲模块中的休眠状态虚拟机时,启动虚拟机,将启动的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中,并将所述启动的虚拟机下电,以将所述启动的虚拟机休眠并存储在所述虚拟机实例缓冲模块中。
13.根据权利要求12所述的虚拟机弹性伸缩装置,其特征在于,所述装置还包括:
确定模块,与所述休眠模块连接,用于确定所述虚拟机实例缓冲模块中存储的休眠状态虚拟机个数是否小于预设的上限,如果小于,则所述休眠模块执行所述启动虚拟机的步骤。
14.根据权利要求13所述的虚拟机弹性伸缩装置,其特征在于,所述确定模块还与所述减容模块连接,并被配置为:确定所述虚拟机实例缓冲模块中存储的休眠状态虚拟机个数是否小于预设的上限,如果小于,则所述减容模块执行所述将所述伸缩组中待减容的虚拟机的内存数据保存在所述虚拟机实例缓冲模块中的步骤。
15.根据权利要求14所述的虚拟机弹性伸缩装置,其特征在于,所述装置还包括:
伸缩决策模块,与所述扩容模块,所述休眠模块及所述减容模块连接,用于对采集到的所述伸缩组中的虚拟机的监控数据进行处理,得到所述伸缩组的伸缩数据;
根据所述伸缩组的伸缩数据,确定所述伸缩组的伸缩决策;并且
向所述扩容模块,所述休眠模块或所述减容模块发送包括所述伸缩组的伸缩决策的指令。
16.根据权利要求15所述的虚拟机弹性伸缩装置,其特征在于,所述伸缩决策模块被配置为:
当所述伸缩组的伸缩数据大于预设的休眠阈值而小于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述增加所述虚拟机实例缓冲模块中的休眠状态虚拟机;并且
向所述休眠模块发送包括所述伸缩组的伸缩决策为所述增加所述虚拟机实例缓冲模块中的休眠状态虚拟机的指令。
17.根据权利要求15所述的虚拟机弹性伸缩装置,其特征在于,所述伸缩决策模块被配置为:
当所述伸缩组的伸缩数据大于预设的扩容阈值时,确定所述伸缩组的伸缩决策为所述扩容虚拟机;并且
向所述扩容模块发送包括所述伸缩组的伸缩决策为所述扩容虚拟机的指令。
18.根据权利要求15所述的虚拟机弹性伸缩装置,其特征在于,所述伸缩决策模块被配置为:
当所述伸缩组的伸缩数据小于预设的减容阈值时,确定所述伸缩组的伸缩决策为所述减容虚拟机;并且
向所述减容模块发送包括所述伸缩组的伸缩决策为所述减容虚拟机的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410051843.4A CN103810020B (zh) | 2014-02-14 | 2014-02-14 | 虚拟机弹性伸缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410051843.4A CN103810020B (zh) | 2014-02-14 | 2014-02-14 | 虚拟机弹性伸缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103810020A CN103810020A (zh) | 2014-05-21 |
CN103810020B true CN103810020B (zh) | 2017-08-29 |
Family
ID=50706832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410051843.4A Active CN103810020B (zh) | 2014-02-14 | 2014-02-14 | 虚拟机弹性伸缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103810020B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634780B (zh) * | 2014-11-04 | 2020-04-07 | 中兴通讯股份有限公司 | 一种实现vnf弹性伸缩的方法及装置 |
CN105760209B (zh) * | 2014-12-16 | 2019-06-21 | 华为技术有限公司 | 移除虚拟机的方法、装置与自动弹性群组 |
CN106155812A (zh) * | 2015-04-28 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种对虚拟主机的资源管理的方法、装置、系统及电子设备 |
CN105068873A (zh) * | 2015-08-10 | 2015-11-18 | 北京思特奇信息技术股份有限公司 | 一种异构虚拟资源任务调度方法及系统 |
CN105389215A (zh) * | 2015-11-13 | 2016-03-09 | 中标软件有限公司 | 一种虚拟机池动态配置方法 |
CN105553721A (zh) * | 2015-12-15 | 2016-05-04 | 浪潮电子信息产业股份有限公司 | 一种云应用伸缩方法、应用管理端和系统 |
US20170214634A1 (en) * | 2016-01-26 | 2017-07-27 | Futurewei Technologies, Inc. | Joint autoscaling of cloud applications |
CN107656807B (zh) * | 2016-07-26 | 2021-06-29 | 华为技术有限公司 | 一种虚拟资源的自动弹性伸缩方法及装置 |
CN106227582B (zh) * | 2016-08-10 | 2019-06-11 | 华为技术有限公司 | 弹性伸缩方法及系统 |
CN107977266A (zh) * | 2016-10-25 | 2018-05-01 | 中兴通讯股份有限公司 | 云应用动态伸缩系统及方法 |
CN108076082A (zh) * | 2016-11-09 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种应用集群的扩容方法、装置和系统 |
CN108121585A (zh) * | 2016-11-29 | 2018-06-05 | 上海有云信息技术有限公司 | 基于云模式下的资源分配装置及方法 |
CN108628660B (zh) * | 2017-03-24 | 2021-05-18 | 华为技术有限公司 | 一种虚拟机扩缩容方法及虚拟管理设备 |
CN107203411B (zh) * | 2017-04-18 | 2020-02-28 | 中国科学院计算技术研究所 | 一种基于远程ssd的虚拟机内存扩展方法及系统 |
CN109274545A (zh) * | 2017-07-17 | 2019-01-25 | 北京航空航天大学 | 一种基于混合云的循环存储方法 |
CN107729070B (zh) * | 2017-10-16 | 2020-11-06 | 燕山大学 | 基于双速率和工作休眠的虚拟机调度系统及方法 |
CN109873718A (zh) * | 2019-01-23 | 2019-06-11 | 平安科技(深圳)有限公司 | 一种容器自适应伸缩方法、服务器及存储介质 |
CN111093099B (zh) * | 2019-02-15 | 2023-04-18 | 杭州海康威视系统技术有限公司 | 一种流媒体服务调度方法、装置及系统 |
CN110188002B (zh) * | 2019-05-31 | 2022-08-30 | 东北大学 | 一种支持可靠性保障的冷热操模式虚拟机数量评估方法 |
CN111651170B (zh) * | 2020-05-29 | 2022-11-08 | 深圳平安医疗健康科技服务有限公司 | 一种实例动态调整方法、装置及相关设备 |
CN112306643B (zh) * | 2020-11-30 | 2023-12-29 | 深信服科技股份有限公司 | 一种虚拟机配置方法、装置及设备,一种云平台 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719081A (zh) * | 2009-12-01 | 2010-06-02 | 北京大学 | 一种虚拟机调度方法 |
CN101916207A (zh) * | 2010-08-28 | 2010-12-15 | 华为技术有限公司 | 桌面虚拟化环境下的节能方法、装置及系统 |
WO2012087104A1 (en) * | 2010-12-22 | 2012-06-28 | Mimos Berhad | Intelligent load handling in cloud infrastructure using trend analysis |
CN103049331A (zh) * | 2012-12-06 | 2013-04-17 | 华中科技大学 | 一种虚拟功能的动态调度方法 |
CN103488540A (zh) * | 2013-09-30 | 2014-01-01 | 华南理工大学 | 面向异构云数据中心的能耗优化资源调度方法 |
-
2014
- 2014-02-14 CN CN201410051843.4A patent/CN103810020B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719081A (zh) * | 2009-12-01 | 2010-06-02 | 北京大学 | 一种虚拟机调度方法 |
CN101916207A (zh) * | 2010-08-28 | 2010-12-15 | 华为技术有限公司 | 桌面虚拟化环境下的节能方法、装置及系统 |
WO2012087104A1 (en) * | 2010-12-22 | 2012-06-28 | Mimos Berhad | Intelligent load handling in cloud infrastructure using trend analysis |
CN103049331A (zh) * | 2012-12-06 | 2013-04-17 | 华中科技大学 | 一种虚拟功能的动态调度方法 |
CN103488540A (zh) * | 2013-09-30 | 2014-01-01 | 华南理工大学 | 面向异构云数据中心的能耗优化资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103810020A (zh) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103810020B (zh) | 虚拟机弹性伸缩方法及装置 | |
CN105204781B (zh) | 压缩方法、装置和设备 | |
CN102652308B (zh) | 将数据高效地载入计算系统的存储器中的方法和系统 | |
CN105763602A (zh) | 一种数据请求处理的方法、服务器及系统 | |
CN104765466B (zh) | 移动终端的按键控制方法及装置 | |
EP3404538B1 (en) | Data processing method, and data processing apparatus | |
CN106104484A (zh) | 基于因设备而异或因用户而异的资源使用简档的资源管理 | |
CN106104485A (zh) | 针对多进程应用的动态资源管理 | |
CN103870312B (zh) | 建立虚拟机共享存储缓存的方法及装置 | |
CN102023973A (zh) | 一种应用缓存服务器与数据库同步的方法、装置和系统 | |
JP2006351004A (ja) | 携帯端末機のメモリ管理方法 | |
CN104424122B (zh) | 一种电子设备及内存划分方法 | |
CN106534281A (zh) | 一种数据请求的响应方法、装置及系统 | |
CN103870339A (zh) | 一种集群资源分配方法及装置 | |
CN109582385A (zh) | 应用程序启动方法和装置、存储介质及电子设备 | |
WO2020220971A1 (zh) | 一种文件加载方法、装置、电子设备及存储介质 | |
CN107590144A (zh) | 一种文件存储方法和终端 | |
CN106484459A (zh) | 应用于JavaScript的流程控制方法和装置 | |
CN106681772A (zh) | 一种应用启动的加速方法、装置及终端 | |
CN104391736B (zh) | 虚拟机的休眠模式设置方法和装置 | |
CN108021405A (zh) | 一种soc系统启动过程中存储介质的驱动方法和装置 | |
CN104468240A (zh) | 云终端管理方法、装置 | |
CN115408108A (zh) | 一种云环境下的i/o卸载方法、设备、系统及存储介质 | |
CN107408073A (zh) | 使用存储器压缩来减少存储器提交开销 | |
CN108196972A (zh) | 一种应用软件的修复方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220210 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |