CN106844005B - 基于虚拟化环境下的数据恢复方法及系统 - Google Patents

基于虚拟化环境下的数据恢复方法及系统 Download PDF

Info

Publication number
CN106844005B
CN106844005B CN201611242716.8A CN201611242716A CN106844005B CN 106844005 B CN106844005 B CN 106844005B CN 201611242716 A CN201611242716 A CN 201611242716A CN 106844005 B CN106844005 B CN 106844005B
Authority
CN
China
Prior art keywords
virtual machine
data
recovery
specified
backup data
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
Application number
CN201611242716.8A
Other languages
English (en)
Other versions
CN106844005A (zh
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.)
Beijing Net An Technology Ltd By Share Ltd
Original Assignee
Beijing Net An Technology Ltd By Share 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 Beijing Net An Technology Ltd By Share Ltd filed Critical Beijing Net An Technology Ltd By Share Ltd
Priority to CN201611242716.8A priority Critical patent/CN106844005B/zh
Publication of CN106844005A publication Critical patent/CN106844005A/zh
Application granted granted Critical
Publication of CN106844005B publication Critical patent/CN106844005B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于虚拟化环境下的数据恢复方法及系统。其中方法包括:安全虚拟机接收到数据恢复任务后,从本地隔离区中查找到数据恢复任务指定的备份数据,并向数据恢复任务指定的指定虚拟机发送恢复事件;安全虚拟机将备份数据写入物理内存空间中;指定虚拟机接收到恢复事件后,从物理内存空间中读取备份数据,根据数据恢复任务获得备份数据在指定虚拟机中的指定恢复位置,并将备份数据写入指定恢复位置。其克服了传统的为恢复备份在各个虚拟机上的备份数据需要在每个虚拟机上部署恢复引擎服务数据对物理资源的占用问题,避免了在各个虚拟机上重复部署恢复引擎服务数据造成的资源浪费,减轻对物理主机资源的占用,节约资源成本。

Description

基于虚拟化环境下的数据恢复方法及系统
技术领域
本发明涉及虚拟化技术领域,特别是涉及基于虚拟化环境下的数据恢复方法及系统。
背景技术
在虚拟化环境下通过无代理安全防护的方式可以不用在每台虚拟机上安装安全防护软件,而是通过在每台物理主机上部署一台安装有安全防护软件的虚拟机(安全虚拟机)来实现对同一物理主机上的所有虚拟机进行安全防护。当安全虚拟机对其所在的物理主机上的其它虚拟机进行安全防护时,会对携带有病毒信息的待防护数据(文件)进行删除修改等查杀操作,而为了保存待防护数据又需要对待防护数据进行备份,传统的备份方法是安全虚拟机将查杀处理后的安全数据和加密处理后的待防护数据反馈回虚拟机,虚拟机运行安全数据,并将加密处理后的待防护数据作为备份数据备份在自身的隔离区域。如果要恢复备份数据需要在虚拟机上部署一定的恢复引擎服务数据,如,部署恢复工具来实现备份在虚拟机的隔离区域内的备份数据的恢复,而在每个虚拟机上都对应的部署恢复引擎服务数据无疑增加了对物理主机计算资源和存储资源的占用,造成了物理资源的浪费。
发明内容
基于此,有必要针对传统的为恢复备份在虚拟机上的备份数据需在每个虚拟机上部署一定的恢复引擎服务数据增加了对物理主机资源占用的问题,提供一种减少对物理主机资源占用的基于虚拟化环境下的数据恢复方法及系统。
为达到发明目的,提供一种基于虚拟化环境下的数据恢复方法,所述方法包括:
安全虚拟机接收到数据恢复任务后,从本地隔离区中查找到所述数据恢复任务指定的备份数据,并向所述数据恢复任务指定的指定虚拟机发送恢复事件;
所述安全虚拟机将所述备份数据写入到其与所述指定虚拟机共享的物理内存空间中;
所述指定虚拟机接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,根据所述数据恢复任务获得所述备份数据在所述指定虚拟机中的指定恢复位置,并将所述备份数据写入所述指定恢复位置。
在其中一个实施例中,所述安全虚拟机接收到数据恢复任务后,从本地隔离区中查找到所述数据恢复任务指定的备份数据,并向所述数据恢复任务指定的指定虚拟机发送恢复事件的步骤包括:
所述安全虚拟机接收所述数据恢复任务,由所述数据恢复任务中提取所述备份数据的唯一标识符,并根据所述唯一标识符查找所述本地隔离区,得到所述备份数据;
所述安全虚拟机由所述数据恢复任务中提取将所述备份数据需要恢复至的所述指定虚拟机的标记信息,以及由所述数据恢复任务中提取所述指定恢复位置在所述指定虚拟机中的路径信息,并根据所述标记信息向所述指定虚拟机发送携带有所述路径信息的所述恢复事件。
在其中一个实施例中,所述指定虚拟机接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,根据所述数据恢复任务获得所述备份数据在所述指定虚拟机中的指定恢复位置,并将所述备份数据写入所述指定恢复位置的步骤包括:
所述指定虚拟机接收所述恢复事件后,从所述物理内存空间中读取所述备份数据,并对所述备份数据进行解密处理,得到解密处理后的原始数据;
所述指定虚拟机由所述恢复事件中提取所述原始数据在所述指定虚拟机中需要恢复至的指定恢复位置的路径信息,并根据所述路径信息将所述原始数据写入所述指定恢复位置。
本发明还提供一种基于虚拟化环境下的数据恢复系统,所述系统包括物理主机,所述物理主机上部署有安全虚拟机和虚拟机;所述安全虚拟机包括查找发送模块和写入模块,所述虚拟机包括读取写入模块,其中:
所述查找发送模块,用于在接收到数据恢复任务后,从本地隔离区中查找到所述数据恢复任务指定的备份数据,并向所述数据恢复任务指定的指定虚拟机发送恢复事件;
所述写入模块,用于将所述备份数据写入到其与所述指定虚拟机共享的物理内存空间中;
所述读取写入模块,用于在接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,根据所述数据恢复任务获得所述备份数据在所述指定虚拟机中的指定恢复位置,并将所述备份数据写入所述指定恢复位置。
在其中一个实施例中,所述查找发送模块包括:
查找单元,用于接收所述数据恢复任务,由所述数据恢复任务中提取所述备份数据的唯一标识符,并根据所述唯一标识符查找所述本地隔离区,得到所述备份数据;
所述发送单元,用于由所述数据恢复任务中提取将所述备份数据需要恢复至的所述指定虚拟机的标记信息,以及由所述数据恢复任务中提取所述指定恢复位置在所述指定虚拟机中的路径信息,并根据所述标记信息向所述指定虚拟机发送携带有所述路径信息的所述恢复事件。
在其中一个实施例中,所述读取写入模块包括:
读取解密单元,用于接收在所述恢复事件后,从所述物理内存空间中读取所述备份数据,并对所述备份数据进行解密处理,得到解密处理后的原始数据;
写入单元,用于由所述恢复事件中提取所述原始数据在所述指定虚拟机中需要恢复至的指定恢复位置的路径信息,并根据所述路径信息将所述原始数据写入所述指定恢复位置。
本发明还提供一种基于虚拟化环境下的数据恢复方法,所述方法包括:
安全虚拟机接收到数据恢复任务后,从本地隔离区中获取所述数据恢复任务指定的备份数据,并根据所述备份数据从日志中心中获取所述备份数据对应的隔离信息;
所述安全虚拟机根据所述隔离信息获得所述备份数据需要恢复至的指定虚拟机及所述备份数据在所述指定虚拟机中的指定恢复位置,并向所述指定虚拟机发送恢复事件;
所述安全虚拟机将所述备份数据写入到其与所述指定虚拟机共享的物理内存空间中;
所述指定虚拟机接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,并将所述备份数据写入所述指定虚拟机的指定恢复位置。
在其中一个实施例中,所述安全虚拟机根据所述隔离信息获得所述备份数据需要恢复至的指定虚拟机及所述备份数据在所述指定虚拟机中的指定恢复位置,并向所述指定虚拟机发送恢复事件的步骤包括:
所述安全虚拟机由所述隔离信息中提取所述备份数据需要恢复至的所述指定虚拟机的标记信息,以及由所述隔离信息中提取所述指定恢复位置在所述指定虚拟机中的路径信息;
所述安全虚拟机根据所述标记信息将携带有所述路径信息的所述恢复事件发送给所述指定虚拟机。
在其中一个实施例中,所述指定虚拟机接收到所述恢复事件后,从所述物理主机中读取所述备份数据,并将所述备份数据写入所述指定虚拟机的指定恢复位置的步骤包括:
所述指定虚拟机接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,并对所述备份数据进行解密处理,得到解密处理后的原始数据;
所述指定虚拟机由所述恢复事件中提取所述指定恢复位置在所述指定虚拟机中的路径信息,根据所述路径信息将所述原始数据写入所述指定恢复位置,并上传恢复信息至所述日志中心。
本发明还提供一种基于虚拟化环境下的数据恢复系统,所述系统包括物理主机,所述物理主机上部署有安全虚拟机和虚拟机;所述安全虚拟机包括获取模块,发送模块和写入模块,所述虚拟机包括读取写入模块,其中:
所述获取模块,用于在接收到数据恢复任务后,从本地隔离区中获取所述数据恢复任务指定的备份数据,并根据所述备份数据从日志中心中获取所述备份数据对应的隔离信息;
所述发送模块,用于根据所述隔离信息获得所述备份数据需要恢复至的指定虚拟机及所述备份数据在所述指定虚拟机中的指定恢复位置,并向所述指定虚拟机发送恢复事件;
所述写入模块,用于将所述备份数据写入到其与所述指定虚拟机共享的物理内存空间中;
所述读取写入模块,用于在接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,并将所述备份数据写入所述指定虚拟机的指定恢复位置。
在其中一个实施例中,所述发送模块包括:
提取单元,用于由所述隔离信息中提取所述备份数据需要恢复至的所述指定虚拟机的标记信息,以及由所述隔离信息中提取所述指定恢复位置在所述指定虚拟机中的路径信息;
发送单元,用于根据所述标记信息将携带有所述路径信息的所述恢复事件发送给所述指定虚拟机。
在其中一个实施例中,所述读取写入模块包括:
读取单元,用于在接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,并对所述备份数据进行解密处理,得到解密处理后的原始数据;
写入单元,用于由所述恢复事件中提取所述指定恢复位置在所述指定虚拟机中的路径信息,根据所述路径信息将所述原始数据写入所述指定恢复位置,并上传恢复信息至所述日志中心。
本发明的有益效果包括:
上述基于虚拟化环境下的数据恢复方法及系统,将数据备份在安全虚拟机的本地隔离区内,在需要恢复保存在安全虚拟机的本地隔离区中的备份数据时,只需在安全虚拟机上部署一定的恢复引擎服务数据即可完成同一物理主机上所有虚拟机的备份数据的恢复,克服了传统的为恢复备份在各个虚拟机上的备份数据需要在每个虚拟机上部署恢复引擎服务数据对物理资源的占用问题,避免了在各个虚拟机上重复部署恢复引擎服务数据造成的资源浪费,从而减轻对物理主机资源的占用,节约资源成本。
附图说明
图1为一个实施例中的部署一个安全虚拟机的物理主机的结构示意图;
图2为一个实施例中的基于虚拟化环境下的数据恢复方法的流程示意图;
图3为一个实施例中的基于虚拟化环境下的数据恢复系统的结构示意图;
图4为另一个实施例中的基于虚拟化环境下的数据恢复方法的流程示意图;
图5为另一个实施例中的基于虚拟化环境下的数据恢复系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明基于虚拟化环境下的数据恢复方法及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在一个实施例中,如图1、图2所示,提供了一种基于虚拟化环境下的数据恢复方法,该方法包括以下步骤:
S110,安全虚拟机接收到数据恢复任务后,从本地隔离区中查找到数据恢复任务指定的备份数据,并向数据恢复任务指定的指定虚拟机发送恢复事件。
S120,安全虚拟机将备份数据写入到其与指定虚拟机共享的物理内存空间中。
S130,指定虚拟机接收到恢复事件后,从物理内存空间中读取备份数据,根据数据恢复任务获得备份数据在指定虚拟机中的指定恢复位置,并将备份数据写入指定恢复位置。
本实施例中的基于虚拟化环境下的数据恢复方法,基于“无代理安全防护机制”,参见图1,该无代理安全防护机制指的是:一个物理主机上部署有多个虚拟机,每个虚拟机均对应有各自的虚拟内存,各个虚拟内存对应同一物理内存空间,多个虚拟机中有预设个数的虚拟机为安全虚拟机,其余的为没有配置安全防护软件的普通虚拟机。优选的,任选多个虚拟机中的一个为安全虚拟机。该无代理安全防护机制由于每个虚拟机的虚拟内存对应同一物理内存空间,即相当于各个虚拟机共享一个物理内存空间,这样多个虚拟机之间便可通过该物理内存空间实现相互之间的直接通信,且多个虚拟机中有虚拟机被配置为安全虚拟机,即从多个虚拟机中选择出预设个数的虚拟机将之配置安全防护软件,例如:选择资源占用率低或物理资源大的一个、两个或多个虚拟机作为安全虚拟机,从而实现安全虚拟机对其它非安全虚拟机的安全防护。其中,事件管理器相当于是运行在VMM(VirtualMachine Monitor,虚拟机监管器)层的一个软件,用于实现同一物理主机内各个虚拟机之间的安全防护事件及数据的传输,其相当于各个虚拟机之间的通信管道。虚拟内存利用传统的仿真软件(qemu,一种开源的仿真软件)将VMM层中的一段存储空间仿真得到。VMM用于对各个虚拟机进行规划、部署、管路和优化,实现各个虚拟机的调度,VMM在调度各个虚拟机时将各个虚拟机作为一个调度单元,按照时间片轮询方式调度。
本实施例中的基于虚拟化环境下的数据恢复方法是在安全虚拟机对虚拟机发送来的待防护数据进行防护时,为了备份待防护数据而将待防护数据保存在安全虚拟机的本地隔离区中作为备份数据以备恢复之用,当需要恢复保存在安全虚拟机的本地隔离区内的备份数据时,即当物理主机接收到数据恢复任务时,由于数据都是备份在安全虚拟机上的,因此物理主机会将数据恢复任务转移给安全虚拟机来处理,安全虚拟机接收到数据恢复任务后,根据数据恢复任务从其本地隔离区中查找到数据恢复任务指定的备份数据,并向数据恢复任务指定的指定虚拟机发送恢复事件,同时将备份数据写入到同一物理主机中各个虚拟机共享的物理内存空间中,这样当指定虚拟机接收到恢复事件后,会从物理内存空间中读取备份数据,并将备份数据写入到数据恢复任务指定的指定恢复位置,从而完成备份数据从安全虚拟机到指定虚拟机的恢复。由于其是将数据备份在安全虚拟机的本地隔离区内,在需要恢复保存在安全虚拟机的本地隔离区中的备份数据时,只需在安全虚拟机上部署一定的恢复引擎服务数据即可完成同一物理主机上所有虚拟机的备份数据的恢复,克服了传统的为恢复备份在各个虚拟机上的备份数据需要在每个虚拟机上部署恢复引擎服务数据对物理资源的占用问题,避免了在各个虚拟机上重复部署恢复引擎服务数据造成的资源浪费,从而减轻对物理主机资源的占用,节约资源成本。
从另一个角度出发,本实施例的数据恢复方法基于的是无代理安全防护机制的物理主机,而只在安全虚拟机上部署恢复引擎服务数据,不在各个虚拟机上部署恢复引擎服务数据,进一步地实现物理主机的无代理机制。
需要说明的是,上述实施例中的备份数据以及指定虚拟机和指定恢复位置均是由数据恢复任务中获取的,即该实施例可看作是用户根据自己的需求将需要的备份数据恢复到自己指定的位置,即该实施例为手动恢复方式。
在一个实施例中,步骤S110包括:
S111,安全虚拟机接收数据恢复任务,由数据恢复任务中提取备份数据的唯一标识符,并根据所述唯一标识符查找本地隔离区,得到备份数据。
S112,安全虚拟机由数据恢复任务中提取将备份数据需要恢复至的指定虚拟机的标记信息,以及由数据恢复任务中提取指定恢复位置在指定虚拟机中的路径信息,并根据标记信息向指定虚拟机发送携带有路径信息的恢复事件。
上述实施例为步骤S110的具体实施方式,在物理主机中,数据通常是以文件的格式保存的。安全虚拟机在将虚拟机发送来的待防护数据备份到本地隔离区时,先使用唯一标识符对待防护数据进行加密,然后再将加密后的待防护数据作为备份数据保存在本地隔离区内,这样可有效防止数据被安全虚拟机上的安全防护软件重复查杀而发生改变。这里使用唯一标识符对待防护数据进行加密处理指的是使用唯一标识符对待防护数据所在的文件命名,因此,每个文件都对应有自己的名称,即每个文件都有自己的唯一标识符,且由于该唯一标识符是使用哈希算法,优选地使用MD5(Message Digest Algorithm MD5,消息摘要算法)算法根据标记信息、时间信息、空间占用大小信息和路径信息生成的,因此唯一标识符相同的概率极低。为了便于表示,用户在发起数据恢复任务时,通常指定需要恢复的备份数据的唯一标识符,然后安全虚拟机根据数据恢复任务中携带的唯一标识符从安全虚拟机的本地隔离区中查找,直到查找到相应的备份数据。
同一物理主机中可能存在多个虚拟机,为了区分各个虚拟机,通常为各个虚拟机设置相应的标记信息,用户在发起数据恢复任务时,需要在任务中指定备份数据需要恢复至的指定虚拟机,为了程序能够识别,通常指定虚拟机的标记信息。进一步地,还需在任务中指定备份数据需要恢复至的指定恢复位置,程序通常通过路径信息来识别。当安全虚拟机从数据恢复任务中提取指定虚拟机的标记信息和指定恢复位置的路径信息后,便可向指定虚拟机发送恢复事件,其中,恢复事件中携带有路径信息,这样可使指定虚拟机接收到恢复事件后知道将备份数据恢复至的具体位置,指定虚拟机只要读取和写入备份数据即可,无需其他任何工作,所以无需在指定虚拟机中部署任何有关恢复的引擎服务数据,而安全虚拟机中部署的有关恢复的相关数据可满足同一物理主机中所有虚拟机有关备份数据恢复的需求,从而减轻对物理主机资源的占用,节约资源成本。
值得说明的是,在上述实施例中,是在得到备份数据以及备份数据需要恢复至的指定虚拟机和指定恢复数位置后,安全虚拟机向指定虚拟机发送恢复事件后,才将备份数据写入物理内存空间中的,这样可避免将备份数据写入物理内存空间,而没有得到相应的指定虚拟机或指定虚拟机较长时间没有读取物理内存空间时对物理内存的占用,提高物理主机的处理能效。
在一个实施例中,步骤S130包括:
S131,指定虚拟机接收恢复事件后,从物理内存空间中读取备份数据,并对备份数据进行解密处理,得到解密处理后的原始数据。
S132,指定虚拟机由所述恢复事件中提取原始数据在指定虚拟机中需要恢复至的指定恢复位置的路径信息,并根据路径信息将原始数据写入指定恢复位置。
由于指定虚拟机从物理内存空间中的备份数据是经过加密后的数据,如果将备份数据直接写入指定恢复位置,则对于该指定虚拟机来说,其仍是不可访问的数据,无法达到真正的恢复效果。因此在将备份数据写入指定恢复位置之前,先对备份数据进行解密处理,得到解密处理后的原始数据,该原始数据可能任何程序访问。
需要说明的是,此处指定虚拟机对备份数据进行解密处理指的是修改备份数据所在文件的名称,将使用唯一标识符命名的文件修改为程序可以访问的文件名称。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
在一个实施例中,如图3所示,还提供了一种基于虚拟化环境下的数据恢复系统,该系统包括物理主机,物理主机上部署有安全虚拟机和虚拟机。安全虚拟机包括查找发送模块110和写入模块120,虚拟机包括读取写入模块130。其中:查找发送模块110,用于在接收到数据恢复任务后,从本地隔离区中查找到数据恢复任务指定的备份数据,并向数据恢复任务指定的指定虚拟机发送恢复事件。写入模块120,用于将备份数据写入到其与指定虚拟机共享的物理内存空间中。读取写入模块130,用于在接收到恢复事件后,从物理内存空间中读取备份数据,根据数据恢复任务获得备份数据在指定虚拟机中的指定恢复位置,并将备份数据写入指定恢复位置。
本实施例中的基于虚拟化环境下的数据恢复系统,将数据备份在安全虚拟机的本地隔离区内,在需要恢复保存在安全虚拟机的本地隔离区中的备份数据时,只需在安全虚拟机上部署一定的恢复引擎服务数据即可完成同一物理主机上所有虚拟机的备份数据的恢复,克服了传统的为恢复备份在各个虚拟机上的备份数据需要在每个虚拟机上部署恢复引擎服务数据对物理资源的占用问题,避免了在各个虚拟机上重复部署恢复引擎服务数据造成的资源浪费,从而减轻对物理主机资源的占用,节约资源成本。
在一个实施例中,查找发送模块110包括:查找单元111,用于接收数据恢复任务,由数据恢复任务中提取备份数据的唯一标识符,并根据唯一标识符查找本地隔离区,得到备份数据。发送单元112,用于由数据恢复任务中提取将备份数据需要恢复至的指定虚拟机的标记信息,以及由数据恢复任务中提取指定恢复位置在指定虚拟机中的路径信息,并根据标记信息向指定虚拟机发送携带有路径信息的所述恢复事件。
在一个实施例中,读取写入模块130包括:读取解密单元131,用于接收在恢复事件后,从物理内存空间中读取备份数据,并对备份数据进行解密处理,得到解密处理后的原始数据。写入单元132,用于由恢复事件中提取原始数据在指定虚拟机中需要恢复至的指定恢复位置的路径信息,并根据路径信息将原始数据写入指定恢复位置。
由于此系统解决问题的原理与前述一种基于虚拟化环境下的数据恢复方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
在一个实施例中,如图1、图4所示,提供了一种基于虚拟化环境下的数据恢复方法,该方法包括以下步骤:
S210,安全虚拟机接收到数据恢复任务后,从本地隔离区中获取数据恢复任务指定的备份数据,并根据备份数据从日志中心中获取备份数据对应的隔离信息。
S220,安全虚拟机根据隔离信息获得备份数据需要恢复至的指定虚拟机及备份数据在指定虚拟机中的指定恢复位置,并向指定虚拟机发送恢复事件。
S230,安全虚拟机将备份数据写入到其与指定虚拟机共享的物理内存空间中。
S240,指定虚拟机接收到恢复事件后,从物理内存空间中读取备份数据,并将备份数据写入指定虚拟机的指定恢复位置。
本实施例中的基于虚拟化环境下的数据恢复方法也是基于“无代理安全防护机制”,参见图1,“无代理安全防护机制”在上述手动恢复方式中已详细说明,此处不再赘述。本实施例中,安全虚拟机对虚拟机发送来的待防护数据进行防护时,为了备份待防护数据将待防护数据保存在安全虚拟机的本地隔离区作为备份数据以备恢复之用,安全虚拟机在将备份数据写入自身的本地隔离区时,会将与备份数据相关的隔离信息,如:备份数据的空间占用大小信息、所属虚拟机的标记信息、备份时间信息以及备份数据在虚拟机中的路径信息等,上报到日志中心,这样当物理主机接收到数据恢复任务时,由于数据都是备份在安全虚拟机上的,因此物理主机会将数据恢复任务转移给安全虚拟机来处理,安全虚拟机接收到数据恢复任务后,根据数据恢复任务从其本地隔离区中查找到数据恢复任务指定的备份数据,由于安全虚拟机在将备份数据保存在本地隔离区时会备份数据对应的隔离信息上传至日志中心,因此,在数据恢复任务中没有指定虚拟机及指定在虚拟机的具体位置时,安全虚拟机会根据查找到的备份数据从日志中心获取该备份数据对应的隔离信息,并由隔离信息中获取该备份数据需要恢复至的指定虚拟机及指定恢复位置,从而将备份数据恢复至该指定虚拟机及在该指定虚拟机中的指定恢复位置,从而完成数据的自动恢复。
这里需要说明的是,此处根据隔离信息获取的指定虚拟机和指定虚拟机的指定恢复位置,可认为是备份数据在备份到安全虚拟机之前所在的虚拟机及在该虚拟机中的位置,即可认为是该备份数据的默认恢复至的虚拟机及在该虚拟机中的位置,即用户在发出数据恢复任务时,只指定了恢复哪个备份数据,而未指定该备份数据需要恢复至的位置,此种情况下,安全虚拟机接收到数据恢复任务时,会根据该备份数据的默认虚拟机和默认恢复位置将该备份数据恢复至其原来的位置,从而完成相应的数据恢复。
本实施例中,将数据备份在安全虚拟机的本地隔离区内,在需要恢复保存在安全虚拟机的本地隔离区中的备份数据时,只需在安全虚拟机上部署一定的恢复引擎服务数据即可完成同一物理主机上所有虚拟机的备份数据的恢复,克服了传统的为恢复备份在各个虚拟机上的备份数据需要在每个虚拟机上部署恢复引擎服务数据对物理资源的占用问题,避免了在各个虚拟机上重复部署恢复引擎服务数据造成的资源的浪费,从而减轻对物理主机资源的占用,节约资源成本。
在一个实施例中,步骤S220包括:
S221,安全虚拟机由隔离信息中提取备份数据需要恢复至的指定虚拟机的标记信息,以及由隔离信息中提取指定恢复位置在指定虚拟机中的路径信息。
S222,安全虚拟机根据标记信息将携带有路径信息的恢复事件发送给指定虚拟机。
上述实施例为步骤S220的具体实施方式,该步骤的原理及解决技术问题与步骤S110的类似,重复之处不再赘述。区别之处在于该实施例中的指定虚拟机的标记信息以及指定虚拟机的指定恢复位置由备份数据对应的隔离信息中获取,隔离信息是在安全虚拟机保存备份数据记录的,记录隔离信息的目的之一就是为了数据恢复之用。这样指定虚拟机接收到恢复事件后,只要读取和写入备份数据即可,无需其他任何工作,所以无需在指定虚拟机中部署任何有关恢复的引擎服务数据,而安全虚拟机中部署的有关恢复的相关数据可满足同一物理主机中所有虚拟机有关备份数据恢复的需求,从而减轻对物理主机资源的占用,节约资源成本。
其中,需要说明的是,实施例步骤S210中获取备份数据的过程与前述实施例中步骤S111的过程类似,即都是根据备份数据的唯一标识符查询安全虚拟机的本地隔离区得到,此处不再赘述。
在一个实施例中,步骤S240包括:
S241,指定虚拟机接收到恢复事件后,从物理内存空间中读取备份数据,并对备份数据进行解密处理,得到解密处理后的原始数据。
S242,指定虚拟机由恢复事件中提取指定恢复位置在指定虚拟机中的路径信息,根据路径信息将原始数据写入指定恢复位置,并上传恢复信息至日志中心。
上述实施例为步骤S240的具体实施方式,该实施例中解决技术问题及原理与前述步骤S130类似,重复之处,此处不再赘述。由于该实施例中备份数据是自动恢复至指定虚拟机的指定恢复位置,因此用户无法知道是否成功,上报恢复信息可以及时提醒用户已成功完成恢复,避免重复恢复。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
在一个实施例中,如图5所示,还提供了一种基于虚拟化环境下的数据恢复系统,该系统包括物理主机,所述物理主机上部署有安全虚拟机和虚拟机。安全虚拟机包括获取模块210,发送模块220和写入模块230,虚拟机包括读取写入模块240。其中:获取模块210,用于在接收到数据恢复任务后,从本地隔离区中获取数据恢复任务指定的备份数据,并根据备份数据从日志中心中获取备份数据对应的隔离信息。发送模块220,用于根据隔离信息获得所述备份数据需要恢复至的指定虚拟机及备份数据在指定虚拟机中的指定恢复位置,并向指定虚拟机发送恢复事件。写入模块230,用于将备份数据写入到其与指定虚拟机共享的物理内存空间中。读取写入模块240,用于在接收到恢复事件后,从物理内存空间中读取备份数据,并将所述备份数据写入所述指定虚拟机的指定恢复位置。
本实施例中,将数据备份在安全虚拟机的本地隔离区内,在需要恢复保存在安全虚拟机的本地隔离区中的备份数据时,只需在安全虚拟机上部署一定的恢复引擎服务数据即可完成同一物理主机上所有虚拟机的备份数据的恢复,克服了传统的为恢复备份在各个虚拟机上的备份数据需要在每个虚拟机上部署恢复引擎服务数据对物理资源的占用问题,避免了在各个虚拟机上重复部署恢复引擎服务数据造成的资源的浪费,从而减轻对物理主机资源的占用,节约资源成本。
在一个实施例中,发送模块220包括:提取单元221,用于由所述隔离信息中提取备份数据需要恢复至的指定虚拟机的标记信息,以及由隔离信息中提取指定恢复位置在指定虚拟机中的路径信息。发送单元222,用于根据标记信息将携带有路径信息的恢复事件发送给指定虚拟机。
在一个实施例中,读取写入模块240包括:读取单元241,用于在接收到恢复事件后,从物理内存空间中读取所述备份数据,并对备份数据进行解密处理,得到解密处理后的原始数据。写入单元242,用于由恢复事件中提取指定恢复位置在指定虚拟机中的路径信息,根据路径信息将所述原始数据写入指定恢复位置,并上传恢复信息至日志中心。
由于此系统解决问题的原理与前述一种基于虚拟化环境下的数据恢复方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (14)

1.一种基于虚拟化环境下的数据恢复方法,其特征在于,所述方法包括:
安全虚拟机根据待防护数据的唯一标识符,对所述待防护数据进行加密,并将加密后的待防护数据作为备份数据保存至本地隔离区,在接收到数据恢复任务后,从所述本地隔离区中查找到所述数据恢复任务指定的所述备份数据,并向所述数据恢复任务指定的指定虚拟机发送恢复事件;
所述安全虚拟机将所述备份数据写入到其与所述指定虚拟机共享的物理内存空间中;
所述指定虚拟机接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,并对所述备份数据进行解密处理,得到解密处理后的原始数据,根据所述数据恢复任务获得所述原始数据在所述指定虚拟机中的指定恢复位置,将所述原始数据写入所述指定恢复位置。
2.根据权利要求1所述的基于虚拟化环境下的数据恢复方法,其特征在于,所述安全虚拟机根据待防护数据的唯一标识符,对所述待防护数据进行加密,并将加密后的待防护数据作为备份数据保存至本地隔离区,在接收到数据恢复任务后,从所述本地隔离区中查找到所述数据恢复任务指定的所述备份数据,并向所述数据恢复任务指定的指定虚拟机发送恢复事件的步骤包括:
所述安全虚拟机接收所述数据恢复任务,由所述数据恢复任务中提取所述备份数据的唯一标识符,并根据所述唯一标识符查找所述本地隔离区,得到所述备份数据;
所述安全虚拟机由所述数据恢复任务中提取将所述备份数据需要恢复至的所述指定虚拟机的标记信息,以及由所述数据恢复任务中提取所述指定恢复位置在所述指定虚拟机中的路径信息,并根据所述标记信息向所述指定虚拟机发送携带有所述路径信息的所述恢复事件。
3.根据权利要求1所述的基于虚拟化环境下的数据恢复方法,其特征在于,所述指定虚拟机根据所述数据恢复任务获得所述原始数据在所述指定虚拟机中的指定恢复位置,并将所述原始数据写入所述指定恢复位置的步骤包括:
所述指定虚拟机由所述恢复事件中提取所述原始数据在所述指定虚拟机中需要恢复至的指定恢复位置的路径信息,并根据所述路径信息将所述原始数据写入所述指定恢复位置。
4.一种基于虚拟化环境下的数据恢复系统,其特征在于,所述系统包括物理主机,所述物理主机上部署有安全虚拟机和虚拟机;所述安全虚拟机包括查找发送模块和写入模块,所述虚拟机包括读取写入模块,其中:
所述查找发送模块,用于所述安全虚拟机根据待防护数据的唯一标识符,对所述待防护数据进行加密,并将加密后的待防护数据作为备份数据保存至本地隔离区,并在接收到数据恢复任务后,从所述本地隔离区中查找到所述数据恢复任务指定的所述备份数据,并向所述数据恢复任务指定的指定虚拟机发送恢复事件;
所述写入模块,用于将所述备份数据写入到其与所述指定虚拟机共享的物理内存空间中;
所述读取写入模块,用于在接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,并对所述备份数据进行解密处理,得到解密处理后的原始数据,根据所述数据恢复任务获得所述原始数据在所述指定虚拟机中的指定恢复位置,将所述原始数据写入所述指定恢复位置。
5.根据权利要求4所述的基于虚拟化环境下的数据恢复系统,其特征在于,所述查找发送模块包括:
查找单元,用于接收所述数据恢复任务,由所述数据恢复任务中提取所述备份数据的唯一标识符,并根据所述唯一标识符查找所述本地隔离区,得到所述备份数据;
发送单元,用于由所述数据恢复任务中提取将所述备份数据需要恢复至的所述指定虚拟机的标记信息,以及由所述数据恢复任务中提取所述指定恢复位置在所述指定虚拟机中的路径信息,并根据所述标记信息向所述指定虚拟机发送携带有所述路径信息的所述恢复事件。
6.根据权利要求4所述的基于虚拟化环境下的数据恢复系统,其特征在于,所述读取写入模块包括:
写入单元,用于由所述恢复事件中提取所述原始数据在所述指定虚拟机中需要恢复至的指定恢复位置的路径信息,并根据所述路径信息将所述原始数据写入所述指定恢复位置。
7.一种基于虚拟化环境下的数据恢复方法,其特征在于,所述方法包括:
安全虚拟机根据待防护数据的唯一标识符,对所述待防护数据进行加密,并将加密后的待防护数据作为备份数据保存至本地隔离区,并在接收到数据恢复任务后,从所述本地隔离区中获取所述数据恢复任务指定的所述备份数据,并根据所述备份数据从日志中心中获取所述备份数据对应的隔离信息;
所述安全虚拟机根据所述隔离信息获得所述备份数据需要恢复至的指定虚拟机及所述备份数据在所述指定虚拟机中的指定恢复位置,并向所述指定虚拟机发送恢复事件;
所述安全虚拟机将所述备份数据写入到其与所述指定虚拟机共享的物理内存空间中;
所述指定虚拟机接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,并对所述备份数据进行解密处理,得到解密处理后的原始数据,由所述恢复事件中提取所述指定恢复位置在所述指定虚拟机中的路径信息,根据所述路径信息将所述原始数据写入所述指定虚拟机的指定恢复位置。
8.根据权利要求7所述的基于虚拟化环境下的数据恢复方法,其特征在于,所述安全虚拟机根据所述隔离信息获得所述备份数据需要恢复至的指定虚拟机及所述备份数据在所述指定虚拟机中的指定恢复位置,并向所述指定虚拟机发送恢复事件的步骤包括:
所述安全虚拟机由所述隔离信息中提取所述备份数据需要恢复至的所述指定虚拟机的标记信息,以及由所述隔离信息中提取所述指定恢复位置在所述指定虚拟机中的路径信息;
所述安全虚拟机根据所述标记信息将携带有所述路径信息的所述恢复事件发送给所述指定虚拟机。
9.根据权利要求7所述的基于虚拟化环境下的数据恢复方法,其特征在于,所述指定虚拟机接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,并对所述备份数据进行解密处理,得到解密处理后的原始数据,由所述恢复事件中提取所述指定恢复位置在所述指定虚拟机中的路径信息,根据所述路径信息将所述原始数据写入所述指定虚拟机的指定恢复位置的步骤之后,所述数据恢复方法还包括:
所述指定虚拟机上传恢复信息至所述日志中心。
10.一种基于虚拟化环境下的数据恢复系统,其特征在于,所述系统包括物理主机,所述物理主机上部署有安全虚拟机和虚拟机;所述安全虚拟机包括获取模块,发送模块和写入模块,所述虚拟机包括读取写入模块,其中:
所述获取模块,用于所述安全虚拟机根据待防护数据的唯一标识符,对所述待防护数据进行加密,并将加密后的待防护数据作为备份数据保存至本地隔离区,并在接收到数据恢复任务后,从所述本地隔离区中获取所述数据恢复任务指定的所述备份数据,并根据所述备份数据从日志中心中获取所述备份数据对应的隔离信息;
所述发送模块,用于根据所述隔离信息获得所述备份数据需要恢复至的指定虚拟机及所述备份数据在所述指定虚拟机中的指定恢复位置,并向所述指定虚拟机发送恢复事件;
所述写入模块,用于将所述备份数据写入到其与所述指定虚拟机共享的物理内存空间中;
所述读取写入模块,用于在接收到所述恢复事件后,从所述物理内存空间中读取所述备份数据,并对所述备份数据进行解密处理,得到解密处理后的原始数据,由所述恢复事件中提取所述指定恢复位置在所述指定虚拟机中的路径信息,根据所述路径信息将所述原始数据写入所述指定虚拟机的指定恢复位置。
11.根据权利要求10所述的基于虚拟化环境下的数据恢复系统,其特征在于,所述发送模块包括:
提取单元,用于由所述隔离信息中提取所述备份数据需要恢复至的所述指定虚拟机的标记信息,以及由所述隔离信息中提取所述指定恢复位置在所述指定虚拟机中的路径信息;
发送单元,用于根据所述标记信息将携带有所述路径信息的所述恢复事件发送给所述指定虚拟机。
12.根据权利要求10所述的基于虚拟化环境下的数据恢复系统,其特征在于,所述读取写入模块包括:
写入单元,用于上传恢复信息至所述日志中心。
13.一种计算机设备,包括存储器、处理器,所述存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3或权利要求7至9中任一项所述方法的步骤。
14.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3或权利要求7至9中任一项所述方法的步骤。
CN201611242716.8A 2016-12-29 2016-12-29 基于虚拟化环境下的数据恢复方法及系统 Active CN106844005B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611242716.8A CN106844005B (zh) 2016-12-29 2016-12-29 基于虚拟化环境下的数据恢复方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611242716.8A CN106844005B (zh) 2016-12-29 2016-12-29 基于虚拟化环境下的数据恢复方法及系统

Publications (2)

Publication Number Publication Date
CN106844005A CN106844005A (zh) 2017-06-13
CN106844005B true CN106844005B (zh) 2020-04-14

Family

ID=59113917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611242716.8A Active CN106844005B (zh) 2016-12-29 2016-12-29 基于虚拟化环境下的数据恢复方法及系统

Country Status (1)

Country Link
CN (1) CN106844005B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694808B (zh) * 2019-03-15 2023-12-29 阿里巴巴集团控股有限公司 一种数据处理方法、装置及计算设备
CN114968667B (zh) * 2022-05-30 2023-07-25 安超云软件有限公司 一种备份管理方法及系统
CN116610498B (zh) * 2023-07-14 2024-04-09 深圳市木浪云科技有限公司 基于对象存储的数据备份恢复方法、系统、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876926A (zh) * 2009-11-26 2010-11-03 北京航空航天大学 一种非对称结构的软件三机热备容错方法
CN104169939A (zh) * 2013-11-12 2014-11-26 华为技术有限公司 一种实现虚拟化安全的方法和系统
CN105190570A (zh) * 2013-02-22 2015-12-23 比特梵德知识产权管理有限公司 用于虚拟机器的完整性保护的存储器自省引擎
CN105224387A (zh) * 2015-09-07 2016-01-06 浪潮集团有限公司 一种云计算下虚拟机的安全部署方法
CN105975328A (zh) * 2016-04-29 2016-09-28 上海交通大学 基于安全虚拟机的日志文件安全审计系统及方法
CN106020932A (zh) * 2015-05-21 2016-10-12 中国科学院计算技术研究所 一种用于kvm虚拟机系统的安全防护方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876926A (zh) * 2009-11-26 2010-11-03 北京航空航天大学 一种非对称结构的软件三机热备容错方法
CN105190570A (zh) * 2013-02-22 2015-12-23 比特梵德知识产权管理有限公司 用于虚拟机器的完整性保护的存储器自省引擎
CN104169939A (zh) * 2013-11-12 2014-11-26 华为技术有限公司 一种实现虚拟化安全的方法和系统
CN106020932A (zh) * 2015-05-21 2016-10-12 中国科学院计算技术研究所 一种用于kvm虚拟机系统的安全防护方法及系统
CN105224387A (zh) * 2015-09-07 2016-01-06 浪潮集团有限公司 一种云计算下虚拟机的安全部署方法
CN105975328A (zh) * 2016-04-29 2016-09-28 上海交通大学 基于安全虚拟机的日志文件安全审计系统及方法

Also Published As

Publication number Publication date
CN106844005A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
EP3374922B1 (en) Systems and methods for protecting backed-up data from ransomware attacks
CN101854392B (zh) 一种基于云计算环境的个人数据管理方法
EP3430559B1 (en) Systems and methods for generating tripwire files
CN103268455B (zh) 数据的访问方法及装置
US10204235B2 (en) Content item encryption on mobile devices
US11068446B2 (en) Multi-cloud bi-directional storage replication system and techniques
CN106844005B (zh) 基于虚拟化环境下的数据恢复方法及系统
US10353619B1 (en) Systems and methods for applying storage lifecycle policies to backups
CN101499027A (zh) 一种基于独立内核和分布式构架的智能存储系统
CN103154882A (zh) 使用虚拟机来管理共享数据
CN106681865B (zh) 业务恢复方法及装置
US10191817B2 (en) Systems and methods for backing up large distributed scale-out data systems
US20180225179A1 (en) Encrypted data chunks
CN113568568B (zh) 一种基于分布式存储的硬件加密方法、系统及装置
CN106844006B (zh) 基于虚拟化环境下的数据防护方法及系统
US11216559B1 (en) Systems and methods for automatically recovering from malware attacks
CN106844004B (zh) 基于虚拟化环境下的安全防护方法及系统
US8806226B2 (en) Automatic virtualization medium, automatic virtualization method, and information processing apparatus
CN110569042B (zh) 一种支持虚拟机内更新fpga功能的系统,方法,设备及存储介质
CN109240804A (zh) 虚拟机的磁盘资源的管理方法和装置
US8572401B1 (en) Systems and methods for securing data of volume mirrors
CN113302598A (zh) 电子数据管理装置、电子数据管理系统、其所用的程序及记录介质
KR102305680B1 (ko) 복수의 스토리지를 이용한 보안정보 저장 시스템
US20240054217A1 (en) Method and apparatus for detecting disablement of data backup processes
US9152817B1 (en) Methods and systems for performing data protection operations

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
CB02 Change of applicant information

Address after: 100190 Zhongguancun street, Haidian District, Beijing, No. 22, A1305, 13

Applicant after: Beijing net an Technology Limited by Share Ltd

Address before: 100190 Beijing City, Haidian District Zhongguancun street, No. 22, building 1301

Applicant before: Beijing Rising Information Technology Co., Ltd

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant