CN107220102A - 虚拟机的休眠与唤醒方法及系统 - Google Patents

虚拟机的休眠与唤醒方法及系统 Download PDF

Info

Publication number
CN107220102A
CN107220102A CN201710257954.4A CN201710257954A CN107220102A CN 107220102 A CN107220102 A CN 107220102A CN 201710257954 A CN201710257954 A CN 201710257954A CN 107220102 A CN107220102 A CN 107220102A
Authority
CN
China
Prior art keywords
virtual machine
dormancy
wake
android
virtual
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
Application number
CN201710257954.4A
Other languages
English (en)
Inventor
徐乐生
黄维丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE ICT Technologies Co Ltd
Original Assignee
ZTE ICT Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE ICT Technologies Co Ltd filed Critical ZTE ICT Technologies Co Ltd
Priority to CN201710257954.4A priority Critical patent/CN107220102A/zh
Publication of CN107220102A publication Critical patent/CN107220102A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Abstract

本发明提出了一种虚拟机的休眠与唤醒方法及系统,虚拟机的休眠与唤醒方法包括:检测虚拟机的工作状态;当虚拟机的工作状态为空闲状态时,记录虚拟机的空闲时间;当空闲时间大于第一预设时间阈值时,使虚拟机进入休眠状态,并记录虚拟机的休眠时间;根据唤醒请求或休眠时间,唤醒虚拟机,本发明在不影响用户体验的前提下,降低了服务器CPU和内存的占用,满足了使用有限的服务器资源支持更多用户接入的需求,有效降低了用户投入成本。

Description

虚拟机的休眠与唤醒方法及系统
技术领域
本发明涉及安卓系统虚拟机技术领域,具体而言,涉及一种虚拟机的休眠与唤醒方法及系统。
背景技术
随着4G网络和智能手机的普及,移动办公应运而生,实现了企业所有员工的实时办公、同步办公、协同办公、交互办公,突破了空间和内网的限制,提升了办公效率,同时也带来了潜在的信息安全隐患,增加了敏感数据的泄露风险,严重影响移动办公的深度应用。为此,类似PC(Personal Computer,个人计算机)云桌面系统的Android云桌面系统开始逐步应用。在Android云桌面系统中,云端服务器上运行大量的虚拟机,在虚拟机中安装Android操作系统。用户在手机中通过安装瘦客户端软件,远程登录云端的Android虚拟机,远程操控云端Android虚拟机中的应用软件,以此实现在用户手机上远程操作云端Android系统中的各种应用。
现有技术的实现方法是在服务器上运行的若干个Android虚拟机实例,都在服务器的物理内存中,现有技术的Android虚拟机的休眠系统结构如图1所示,由于服务器物理配置是确定的,能容纳的Android虚拟机实例个数有限,现有技术的最大瓶颈在于服务器物理内存和CPU(Central Processing Unit,中央处理器)的限制。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提出了一种虚拟机的休眠与唤醒方法。
本发明的另一个目的在于提出了一种虚拟机的休眠与唤醒系统。
有鉴于此,根据本发明的一个目的,提出了一种虚拟机的休眠与唤醒方法,包括:检测虚拟机的工作状态;当虚拟机的工作状态为空闲状态时,对虚拟机进行空闲计时;当空闲时间大于第一预设时间阈值时,使虚拟机进入休眠状态,并对虚拟机进行休眠计时;根据唤醒请求或休眠时间,唤醒虚拟机。
本发明提供的虚拟机的休眠与唤醒方法,检测客户端与虚拟机长时间无网络连接或者客户端与虚拟机的网络连接长时间没有数据传输时,判断虚拟机的工作状态为空闲状态,此时开始记录虚拟机的空闲时间,并在空闲时间大于第一预设时间阈值时,使虚拟机进入休眠状态,同时释放虚拟机的CPU资源,并开始记录虚拟机的休眠时间,当接收到唤醒请求或休眠时间达到一定阈值时,唤醒虚拟机,本发明在不影响用户体验的前提下,降低了服务器CPU和内存的占用,满足了使用有限的资源支持更多用户接入的需求,有效降低了用户投入成本。
根据本发明的上述虚拟机的休眠与唤醒方法,还可以具有以下技术特征:
在上述技术方案中,优选地,使虚拟机进入休眠状态的同时,还包括:切换虚拟机的内存至硬盘交换分区。
在该技术方案中,在使虚拟机进入休眠状态的同时,使虚拟机所使用的物理内存换出到硬盘交换分区上以释放物理内存资源,实现物理内存的合理及有效利用。
在上述技术方案中,优选地,根据唤醒请求或休眠时间,唤醒虚拟机,具体包括:接收唤醒请求;根据唤醒请求,唤醒虚拟机。
在该技术方案中,当用户使用客户端连接服务器时,接收到用户使用客户端连接服务器的请求时,虚拟机管理系统负责快速唤醒该安卓虚拟机,并且在安卓虚拟机唤醒运行后如无客户端连接或长时间无数据传输时,安卓虚拟机继续进入休眠流程,能够极大地增加服务器资源的使用效率。
在上述技术方案中,优选地,根据唤醒请求或休眠时间,唤醒虚拟机,具体包括:当休眠时间大于第二预设时间阈值时,唤醒虚拟机。
在该技术方案中,对于休眠的虚拟机,有定期唤醒机制,当虚拟机的休眠时间大于预设时间阈值时,唤醒虚拟机,确保用户在客户端能及时获取虚拟机内应用的通知信息,也满足了部分应用需要不断更新状态的需求,给用户带来良好的使用体验。
在上述技术方案中,优选地,唤醒虚拟机的同时,还包括:切换虚拟机的内存至物理内存。
在该技术方案中,安卓虚拟机正常运行后系统会自动将使用的内存数据从交换分区交换到物理内存中,实现内存资源的合理及有效利用。
在上述技术方案中,优选地,检测虚拟机的工作状态之前,还包括:通过控制组将程序按虚拟机进行分组;移植Linux容器,通过Linux容器运行多个虚拟机。
在该技术方案中,通过控制组将程序按虚拟机进行分组,并移植Linux容器,通过Linux容器运行多程序,能够在服务器创建更多的安卓虚拟机,支持更多的用户登录云端安卓虚拟机系统,在服务器配置一定的情况下,支持的用户数大大增加。
根据本发明的另一个目的,提出了一种虚拟机的休眠与唤醒系统,包括:检测单元,用于检测虚拟机的工作状态;计时单元,用于当虚拟机的工作状态为空闲状态时,对虚拟机进行空闲计时;控制单元,用于当空闲时间大于第一预设时间阈值时,使虚拟机进入休眠状态;以及根据唤醒请求或休眠时间,唤醒虚拟机;计时单元,还用于对虚拟机进行休眠计时。
本发明提供的虚拟机的休眠与唤醒系统,检测单元检测客户端与虚拟机长时间无网络连接或者客户端与虚拟机的网络连接长时间没有数据传输时,判断虚拟机的工作状态为空闲状态,此时计时单元开始记录虚拟机的空闲时间,并在空闲时间大于第一预设时间阈值时,控制单元使虚拟机进入休眠状态,同时释放虚拟机的CPU资源,由计时单元开始记录虚拟机的休眠时间,控制单元在接收到唤醒请求或休眠时间达到一定阈值时,唤醒虚拟机,本发明在不影响用户体验的前提下,降低了服务器CPU和内存的占用,满足了使用有限的资源支持更多用户接入的需求,有效降低了用户投入成本。
根据本发明的上述虚拟机的休眠与唤醒系统,还可以具有以下技术特征:
在上述技术方案中,优选地,控制单元,还用于:切换虚拟机的内存至硬盘交换分区。
在该技术方案中,控制单元在使虚拟机进入休眠状态的同时,使虚拟机所使用的物理内存换出到硬盘交换分区上以释放物理内存资源,实现物理内存的合理及有效利用。
在上述技术方案中,优选地,控制单元,还用于:接收唤醒请求;根据唤醒请求,唤醒虚拟机。
在该技术方案中,当用户使用客户端连接服务器时,控制单元接收到用户使用客户端连接服务器的请求时,快速唤醒该安卓虚拟机,并且在安卓虚拟机唤醒运行后如无客户端连接或长时间无数据传输时,安卓虚拟机继续进入休眠流程,能够极大地增加服务器资源的使用效率。
在上述技术方案中,优选地,控制单元,还用于:当休眠时间大于第二预设时间阈值时,唤醒虚拟机。
在该技术方案中,对于休眠的虚拟机,有定期唤醒机制,当虚拟机的休眠时间大于预设时间阈值时,控制单元唤醒虚拟机,确保用户在客户端能及时获取虚拟机内应用的通知信息,也满足了部分应用需要不断更新状态的需求,给用户带来良好的使用体验。
在上述技术方案中,优选地,控制单元,还用于:切换虚拟机的内存至物理内存。
在该技术方案中,安卓虚拟机正常运行后控制单元会自动将使用的内存数据从交换分区交换到物理内存中,实现内存资源的合理及有效利用。
在上述技术方案中,优选地,还包括:预处理单元,用于通过控制组将程序按虚拟机进行分组;以及移植Linux容器,通过Linux容器运行多个虚拟机。
在该技术方案中,由预处理单元通过控制组将程序按虚拟机进行分组,并移植Linux容器,通过Linux容器运行多个安卓虚拟机,能够在服务器创建更多的安卓虚拟机,支持更多的用户登录云端安卓虚拟机系统,在服务器配置一定的情况下,支持的用户数大大增加。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了现有技术中Android虚拟机的休眠系统结构示意框图;
图2示出了本发明的一个实施例的虚拟机的休眠与唤醒方法的流程示意图;
图3示出了本发明的一个实施例的虚拟机的休眠与唤醒系统的示意框图;
图4示出了本发明的一个具体实施例的Android虚拟机的休眠系统结构示意框图;
图5示出了本发明的一个具体实施例的系统分组的逻辑结构示意框图;
图6示出了本发明的一个具体实施例的Android虚拟机的休眠流程示意图;
图7示出了本发明的一个具体实施例的Android虚拟机的请求唤醒流程示意图;
图8示出了本发明的一个具体实施例的Android虚拟机的定期唤醒流程示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
本发明第一方面的实施例,提出一种虚拟机的休眠与唤醒方法,图2示出了本发明的一个实施例的虚拟机的休眠与唤醒方法的流程示意图。其中,该方法包括:
步骤200,检测虚拟机的工作状态;
步骤202,当虚拟机的工作状态为空闲状态时,对虚拟机进行空闲计时;
步骤204,判断空闲时间是否大于第一预设时间阈值;
步骤206,当空闲时间大于第一预设时间阈值时,使虚拟机进入休眠状态,切换虚拟机的内存至硬盘交换分区,并对虚拟机进行休眠计时;
步骤208,根据唤醒请求或休眠时间,唤醒虚拟机。
本发明提供的虚拟机的休眠与唤醒方法,检测客户端与虚拟机长时间无网络连接或者客户端与虚拟机的网络连接长时间没有数据传输时,判断虚拟机的工作状态为空闲状态,此时开始记录虚拟机的空闲时间,并在空闲时间大于第一预设时间阈值时,使虚拟机进入休眠状态,同时释放虚拟机的CPU资源,并开始记录虚拟机的休眠时间,当接收到唤醒请求或休眠时间达到一定阈值时,唤醒虚拟机,本发明在不影响用户体验的前提下,降低了服务器CPU和内存的占用,满足了使用有限的资源支持更多用户接入的需求,有效降低了用户投入成本。在使虚拟机进入休眠状态的同时,使虚拟机所使用的物理内存换出到硬盘交换分区上以释放物理内存资源,实现物理内存的合理及有效利用。
在本发明的一个实施例中,如图2所示,优选地,该方法包括:
步骤200,检测虚拟机的工作状态;
步骤202,当虚拟机的工作状态为空闲状态时,对虚拟机进行空闲计时;
步骤204,判断空闲时间是否大于第一预设时间阈值;
步骤206,当空闲时间大于第一预设时间阈值时,使虚拟机进入休眠状态,切换虚拟机的内存至硬盘交换分区,并对虚拟机进行休眠计时;
步骤2082,接收唤醒请求;
步骤2084,根据唤醒请求,唤醒虚拟机。
在该实施例中,当用户使用客户端连接服务器时,接收到用户使用客户端连接服务器的请求时,虚拟机管理系统负责快速唤醒该安卓虚拟机,并且在安卓虚拟机唤醒运行后如无客户端连接或长时间无数据传输时,安卓虚拟机继续进入休眠流程,能够极大地增加服务器资源的使用效率。
在本发明的一个实施例中,优选地,该方法包括:
步骤200,检测虚拟机的工作状态;
步骤202,当虚拟机的工作状态为空闲状态时,对虚拟机进行空闲计时;
步骤204,判断空闲时间是否大于第一预设时间阈值;
步骤206,当空闲时间大于第一预设时间阈值时,使虚拟机进入休眠状态,切换虚拟机的内存至硬盘交换分区,并对虚拟机进行休眠计时;
步骤2082,接收唤醒请求;
步骤2084,根据唤醒请求,唤醒虚拟机;
步骤2086,判断休眠时间是否大于第二预设时间阈值;
步骤2088,当休眠时间大于第二预设时间阈值时,唤醒虚拟机。
在该实施例中,对于休眠的虚拟机,有定期唤醒机制,当虚拟机的休眠时间大于预设时间阈值时,唤醒虚拟机,确保用户在客户端能及时获取虚拟机内应用的通知信息,也满足了部分应用需要不断更新状态的需求,给用户带来良好的使用体验。
在本发明的一个实施例中,优选地,唤醒虚拟机的同时,还包括:切换虚拟机的内存至物理内存。
在该实施例中,安卓虚拟机正常运行后系统会自动将使用的内存数据从交换分区交换到物理内存中,实现内存资源的合理及有效利用。
在本发明的一个实施例中,优选地,检测虚拟机的工作状态之前,还包括:通过控制组将程序按虚拟机进行分组;移植Linux容器,通过Linux容器运行多个虚拟机。
在该实施例中,通过控制组将程序按虚拟机进行分组,并移植Linux容器,通过Linux容器运行多程序,能够在服务器创建更多的安卓虚拟机,支持更多的用户登录云端安卓虚拟机系统,在服务器配置一定的情况下,支持的用户数大大增加。
本发明第二方面的实施例,提出一种虚拟机的休眠与唤醒系统300,图3示出了本发明的一个实施例的虚拟机的休眠与唤醒系统300的示意框图。其中,该系统包括:
检测单元302,用于检测虚拟机的工作状态;
计时单元304,用于当虚拟机的工作状态为空闲状态时,对虚拟机进行空闲计时;
控制单元306,用于当空闲时间大于第一预设时间阈值时,使虚拟机进入休眠状态;以及根据唤醒请求或休眠时间,唤醒虚拟机;
计时单元304,还用于对虚拟机进行休眠计时。
本发明提供的虚拟机的休眠与唤醒系统300,检测单元302检测客户端与虚拟机长时间无网络连接或者客户端与虚拟机的网络连接长时间没有数据传输时,判断虚拟机的工作状态为空闲状态,此时计时单元304开始记录虚拟机的空闲时间,并在空闲时间大于第一预设时间阈值时,控制单元306使虚拟机进入休眠状态,同时释放虚拟机的CPU资源,由计时单元304开始记录虚拟机的休眠时间,控制单元306在接收到唤醒请求或休眠时间达到一定阈值时,唤醒虚拟机,本发明在不影响用户体验的前提下,降低了服务器CPU和内存的占用,满足了使用有限的资源支持更多用户接入的需求,有效降低了用户投入成本。
在本发明的一个实施例中,优选地,控制单元306,还用于:切换虚拟机的内存至硬盘交换分区。
在该实施例中,控制单元306在使虚拟机进入休眠状态的同时,使虚拟机所使用的物理内存换出到硬盘交换分区上以释放物理内存资源,实现物理内存的合理及有效利用。
在本发明的一个实施例中,优选地,控制单元306,还用于:接收唤醒请求;根据唤醒请求,唤醒虚拟机。
在该实施例中,当用户使用客户端连接服务器时,控制单元306接收到用户使用客户端连接服务器的请求时,快速唤醒该安卓虚拟机,并且在安卓虚拟机唤醒运行后如无客户端连接或长时间无数据传输时,安卓虚拟机继续进入休眠流程,能够极大地增加服务器资源的使用效率。
在本发明的一个实施例中,优选地,控制单元306,还用于:当休眠时间大于第二预设时间阈值时,唤醒虚拟机。
在该实施例中,对于休眠的虚拟机,有定期唤醒机制,当虚拟机的休眠时间大于预设时间阈值时,控制单元306唤醒虚拟机,确保用户在客户端能及时获取虚拟机内应用的通知信息,也满足了部分应用需要不断更新状态的需求,给用户带来良好的使用体验。
在本发明的一个实施例中,优选地,控制单元306,还用于:切换虚拟机的内存至物理内存。
在该实施例中,安卓虚拟机正常运行后控制单元306会自动将使用的内存数据从交换分区交换到物理内存中,实现内存资源的合理及有效利用。
在本发明的一个实施例中,如图3所示,优选地,还包括:预处理单元308,用于通过控制组将程序按虚拟机进行分组;以及移植Linux容器,通过Linux容器运行多个虚拟机。
在该实施例中,由预处理单元308通过控制组将程序按虚拟机进行分组,并移植Linux容器,通过Linux容器运行多个虚拟机,能够在服务器创建更多的安卓虚拟机,支持更多的用户登录云端安卓虚拟机系统,在服务器配置一定的情况下,支持的用户数大大增加。
本发明使用操作系统中的Cgroup子系统来使不活跃的Android虚拟机处于休眠状态或者近乎休眠状态以释放CPU资源,同时将不活跃的Android虚拟机所使用的物理内存换出到SWAP分区上(硬盘)以释放物理内存资源。能够在服务器上创建更多的Android虚拟机,大大增加了服务器资源的使用效率和服务器能容纳用户接入的数量,系统结构如图4所示,具体实现方法如下:
(1)Android系统启用Cgroup子系统
Cgroup子系统提供的一种可以限制、记录、隔离进程组所使用的物理资源(如:CPU,memory,IO等等)的机制,Cgroup子系统是将任意进程进行分组化管理的Linux内核功能。Cgroup子系统本身是提供将进程进行分组化管理的功能和接口的基础结构,I/O或内存的分配控制等具体的资源管理功能是通过这个功能来实现的。在Android系统源码中修改./arch/x86/configs/Android-x86_64_defconfig文件内容,重新编译源码使该模块在系统中可用。Cgroup子系统作为系统核心的一部分,将系统资源隔离分组,使多组任务,利用Cgroup子系统进行系统分组的逻辑结构如图5所示,运行独立的Android操作系统可看作逻辑上的一个任务,系统内核通过Cgroup子系统机制将任务分组,每个Android操作系统工作在一个Cgroup子系统分组中,彼此之间相互独立,达到了多Android虚拟系统同时运行的目的。
(2)LXC容器移植进Android系统并进行适配
在采用容器技术的服务器虚拟化实现中,要求被虚拟化实现的系统能够多实例运行,而Android系统原生不支持这种运行方式,需要修改如下子系统以适配多实例运行:framebuffer、input、binder。具体实现方法是使用namespace命名空间对这三个子系统进行隔离,每个Android运行实例对应一个命名空间,这三个子系统运行在当前实例的命名空间中。
(3)Android虚拟机休眠唤醒调度
1)Android虚拟机休眠
如图6所示,步骤602,Android虚拟机管理系统启动Android虚拟机后,Android虚拟机记录客户端的连接状态,每次状态变化都要上报给Android虚拟机管理系统。步骤604,Android虚拟机检测到客户端和虚拟机长时间无网络连接或者客户端和虚拟机的网络连接长时间没有数据传输,则系统认为该虚拟机为空闲状态。Android虚拟机将该状态上报Android虚拟机管理系统。步骤606,Android虚拟机管理系统对空闲的Android虚拟机进行计时,当达到管理员设置的空闲时间阈值时,则使Android虚拟机进入休眠状态。休眠Android虚拟机时调用“lxc_cgroup-n name cpu.shares 1”命令释放CPU资源,调用“lxc_cgroup-n name memory.force_empty 1”将虚拟机使用的内存切换到硬盘SWAP分区以释放物理内存。
2)Android虚拟机唤醒
Android虚拟机唤醒分为两种情况:有客户端请求时快速唤醒Android虚拟机、定期唤醒休眠的Android虚拟机。
有客户端请求时快速唤醒Android虚拟机:如图7所示,步骤702,用户对应的虚拟机处于休眠状态,步骤704,用户使用客户端连接服务器,步骤706,Android虚拟机管理系统负责快速唤醒该Android虚拟机,调用命令“lxc_cgroup-n name cpu.shares 1024”取消对该Android虚拟机的CPU使用限制,Android虚拟机正常运行后系统会自动将使用的内存数据从SWAP分区交换到物理内存中。唤醒运行后的Android虚拟机如无客户端连接或长时间无数据传输,则进入休眠流程。
定期唤醒休眠的Android虚拟机:对于长时间休眠的虚拟机,有定期唤醒机制,唤醒虚拟机定期运行内部应用,确保用户在客户端能及时获取虚拟机内应用的通知信息,也满足了部分应用需要不断更新状态的需求,给用户带来良好的体验。如图8所示,Android虚拟机管理系统对处于休眠状态的Android虚拟机进行管理,步骤802,Android虚拟机处于休眠状态,步骤804,当虚拟机休眠时间达到管理员设置的休眠时间阈值,步骤806,Android虚拟机管理系统需要唤醒Android虚拟机,调用命令“lxc_cgroup-n name cpu.shares 1024”取消对该Android虚拟机的CPU使用限制,Android虚拟机正常运行后系统会自动将使用的内存数据从SWAP分区交换到物理内存中。唤醒运行后的Android虚拟机如无客户端连接或长时间无数据传输,则进入休眠流程。
本发明在不影响用户体验的前提下,降低了CPU和内存的占用,满足了使用有限的资源支持更多用户接入的需求,有效降低了用户投入成本。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种虚拟机的休眠与唤醒方法,其特征在于,包括:
检测所述虚拟机的工作状态;
当所述虚拟机的工作状态为空闲状态时,对所述虚拟机进行空闲计时;
当空闲时间大于第一预设时间阈值时,使所述虚拟机进入休眠状态,并对所述虚拟机进行休眠计时;
根据唤醒请求或休眠时间,唤醒所述虚拟机。
2.根据权利要求1所述的虚拟机的休眠与唤醒方法,其特征在于,所述使所述虚拟机进入所述休眠状态的同时,还包括:
切换所述虚拟机的内存至硬盘交换分区。
3.根据权利要求1所述的虚拟机的休眠与唤醒方法,其特征在于,所述根据所述唤醒请求或所述休眠时间,唤醒所述虚拟机,具体包括:
接收所述唤醒请求;
根据所述唤醒请求,唤醒所述虚拟机。
4.根据权利要求1所述的虚拟机的休眠与唤醒方法,其特征在于,所述根据所述唤醒请求或所述休眠时间,唤醒所述虚拟机,具体包括:
当所述休眠时间大于第二预设时间阈值时,唤醒所述虚拟机。
5.根据权利要求1至4中任一项所述的虚拟机的休眠与唤醒方法,其特征在于,所述唤醒所述虚拟机的同时,还包括:
切换所述虚拟机的内存至物理内存。
6.根据权利要求1所述的虚拟机的休眠与唤醒方法,其特征在于,所述检测所述虚拟机的工作状态之前,还包括:
通过所述控制组将程序按所述虚拟机进行分组;
移植Linux容器,通过所述Linux容器运行多个所述虚拟机。
7.一种虚拟机的休眠与唤醒系统,其特征在于,包括:
检测单元,用于检测虚拟机的工作状态;
计时单元,用于当所述虚拟机的工作状态为空闲状态时,对所述虚拟机进行空闲计时;
控制单元,用于当所述空闲时间大于第一预设时间阈值时,使所述虚拟机进入休眠状态;以及根据唤醒请求或所述休眠时间,唤醒所述虚拟机;
所述计时单元,还用于对所述虚拟机进行休眠计时。
8.根据权利要求7所述的虚拟机的休眠与唤醒系统,其特征在于,所述控制单元,还用于:
切换所述虚拟机的内存至硬盘交换分区。
9.根据权利要求7所述的虚拟机的休眠与唤醒系统,其特征在于,所述控制单元,还用于:
接收所述唤醒请求;
根据所述唤醒请求,唤醒所述虚拟机。
10.根据权利要求7所述的虚拟机的休眠与唤醒系统,其特征在于,所述控制单元,还用于:
当所述休眠时间大于第二预设时间阈值时,唤醒所述虚拟机。
11.根据权利要求7至10中任一项所述的虚拟机的休眠与唤醒方法,其特征在于,所述控制单元,还用于:
切换所述虚拟机的内存至物理内存。
12.根据权利要求7所述的虚拟机的休眠与唤醒系统,其特征在于,还包括:
预处理单元,用于通过所述控制组将程序按所述虚拟机进行分组;以及移植Linux容器,通过所述Linux容器运行多个所述虚拟机。
CN201710257954.4A 2017-04-19 2017-04-19 虚拟机的休眠与唤醒方法及系统 Pending CN107220102A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710257954.4A CN107220102A (zh) 2017-04-19 2017-04-19 虚拟机的休眠与唤醒方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710257954.4A CN107220102A (zh) 2017-04-19 2017-04-19 虚拟机的休眠与唤醒方法及系统

Publications (1)

Publication Number Publication Date
CN107220102A true CN107220102A (zh) 2017-09-29

Family

ID=59927591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710257954.4A Pending CN107220102A (zh) 2017-04-19 2017-04-19 虚拟机的休眠与唤醒方法及系统

Country Status (1)

Country Link
CN (1) CN107220102A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729070A (zh) * 2017-10-16 2018-02-23 燕山大学 基于双速率和工作休眠的虚拟机调度系统及方法
CN110806922A (zh) * 2019-10-14 2020-02-18 广州微算互联信息技术有限公司 一种执行脚本方法、装置、设备及存储介质
CN111124660A (zh) * 2018-11-01 2020-05-08 百度在线网络技术(北京)有限公司 虚拟机中闲置资源的分配方法和装置
CN111142647A (zh) * 2019-12-27 2020-05-12 亚信科技(南京)有限公司 一种it系统的节能方法及系统
CN113722044A (zh) * 2020-05-26 2021-11-30 合肥杰发科技有限公司 一种虚拟化系统的待机、唤醒处理方法及虚拟机
CN113814981A (zh) * 2021-10-18 2021-12-21 北京云迹科技有限公司 机器人运行方法、装置、存储介质和机器人

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101440A1 (en) * 2001-01-17 2003-05-29 Ajile Systems, Inc. Multiple virtual machine environment management system
US20120159484A1 (en) * 2009-06-24 2012-06-21 Amos Benari Scheduling the timelines of virtual machines
CN103049331A (zh) * 2012-12-06 2013-04-17 华中科技大学 一种虚拟功能的动态调度方法
US20130227556A1 (en) * 2012-02-28 2013-08-29 Red Hat Israel, Ltd. Guest-driven host execution
US20140298331A1 (en) * 2013-03-28 2014-10-02 Fujitsu Limited Virtual machine control program, virtual machine control method, virtual machine control apparatus, and cloud computing system
CN104268005A (zh) * 2014-10-22 2015-01-07 华为技术有限公司 虚拟机唤醒方法和装置
CN105100125A (zh) * 2014-04-15 2015-11-25 华为技术有限公司 一种虚拟桌面的休眠控制方法、装置及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101440A1 (en) * 2001-01-17 2003-05-29 Ajile Systems, Inc. Multiple virtual machine environment management system
US20120159484A1 (en) * 2009-06-24 2012-06-21 Amos Benari Scheduling the timelines of virtual machines
US20130227556A1 (en) * 2012-02-28 2013-08-29 Red Hat Israel, Ltd. Guest-driven host execution
CN103049331A (zh) * 2012-12-06 2013-04-17 华中科技大学 一种虚拟功能的动态调度方法
US20140298331A1 (en) * 2013-03-28 2014-10-02 Fujitsu Limited Virtual machine control program, virtual machine control method, virtual machine control apparatus, and cloud computing system
CN105100125A (zh) * 2014-04-15 2015-11-25 华为技术有限公司 一种虚拟桌面的休眠控制方法、装置及系统
CN104268005A (zh) * 2014-10-22 2015-01-07 华为技术有限公司 虚拟机唤醒方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吴佳杰: "基于LXC的Android系统虚拟化关键技术设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
李俭: "《操作系统原理与实训教程》", 31 August 2014, 中国铁道出版社 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729070A (zh) * 2017-10-16 2018-02-23 燕山大学 基于双速率和工作休眠的虚拟机调度系统及方法
CN111124660A (zh) * 2018-11-01 2020-05-08 百度在线网络技术(北京)有限公司 虚拟机中闲置资源的分配方法和装置
CN111124660B (zh) * 2018-11-01 2024-01-05 百度在线网络技术(北京)有限公司 虚拟机中闲置资源的分配方法和装置
CN110806922A (zh) * 2019-10-14 2020-02-18 广州微算互联信息技术有限公司 一种执行脚本方法、装置、设备及存储介质
CN111142647A (zh) * 2019-12-27 2020-05-12 亚信科技(南京)有限公司 一种it系统的节能方法及系统
CN113722044A (zh) * 2020-05-26 2021-11-30 合肥杰发科技有限公司 一种虚拟化系统的待机、唤醒处理方法及虚拟机
CN113814981A (zh) * 2021-10-18 2021-12-21 北京云迹科技有限公司 机器人运行方法、装置、存储介质和机器人

Similar Documents

Publication Publication Date Title
CN107220102A (zh) 虚拟机的休眠与唤醒方法及系统
US9351153B2 (en) Apparatus for end-user transparent utilization of computational, storage, and network capacity of mobile devices, and associated methods
CN102326132B (zh) 最大化虚拟机平台的降低功率状态的电源管理
CN100549964C (zh) 信息处理设备、中断处理控制方法
CN100399273C (zh) 一种虚拟机系统及其硬件配置方法
CN107025139A (zh) 一种基于云计算的高性能计算调度框架
CN102866903A (zh) 将后台工作和前台工作解耦合
CN102314377A (zh) 加速器及其实现支持虚拟机迁移的方法
CN105357273B (zh) 异步通信模式下socket通信与进程管理通用平台及方法
CN105187512A (zh) 一种虚拟机集群负载均衡方法及系统
CN110908658A (zh) 一种“微服务+微应用”系统、数据处理方法及装置
CN102096596A (zh) 一种基于虚拟机内存模板的云计算服务Cache系统
CN103795804A (zh) 存储资源调度方法及存储计算系统
CN107395909A (zh) 一种基于云计算管理平台的计费管理系统及方法
CN107046508A (zh) 报文接收方法及网络设备
CN105183554A (zh) 高性能计算与云计算混合计算系统及其资源管理方法
CN103414579A (zh) 一种适用于云计算的跨平台监控系统及其监控方法
US9104488B2 (en) Support server for redirecting task results to a wake-up server
CN108064377A (zh) 一种多系统共享内存的管理方法及装置
CN102314368A (zh) 更新服务器程序的配置数据的方法及设备
CN104899274A (zh) 一种内存数据库高效远程访问方法
CN103207965A (zh) 一种虚拟环境下License认证的方法及装置
CN104158833A (zh) 一种智能桌面系统的构建方法
CN109347716A (zh) 消费者vnf的实例化方法及装置
CN107528871A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170929