CN114237988B - 内存快照的处理方法和装置、存储介质、电子装置 - Google Patents

内存快照的处理方法和装置、存储介质、电子装置 Download PDF

Info

Publication number
CN114237988B
CN114237988B CN202210174412.1A CN202210174412A CN114237988B CN 114237988 B CN114237988 B CN 114237988B CN 202210174412 A CN202210174412 A CN 202210174412A CN 114237988 B CN114237988 B CN 114237988B
Authority
CN
China
Prior art keywords
virtual machine
target
machine instance
memory snapshot
remote control
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
CN202210174412.1A
Other languages
English (en)
Other versions
CN114237988A (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.)
Guangzhou Jeeseen Network Technologies Co Ltd
Original Assignee
Guangzhou Jeeseen Network 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 Guangzhou Jeeseen Network Technologies Co Ltd filed Critical Guangzhou Jeeseen Network Technologies Co Ltd
Priority to CN202210174412.1A priority Critical patent/CN114237988B/zh
Publication of CN114237988A publication Critical patent/CN114237988A/zh
Application granted granted Critical
Publication of CN114237988B publication Critical patent/CN114237988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1448Management of the data involved in backup or backup restore
    • 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/1464Management of the backup or restore process for networked environments
    • 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
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45583Memory management, e.g. access or allocation
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

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

Abstract

本申请公开了一种内存快照的处理方法和装置、存储介质、电子装置。其中,该方法包括:接收远程控制设备发送的第一控制指令,该指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署云计算管理平台中的存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以LVM ISCSI的形式接入到存储组件中,以使得云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;调用与目标操作匹配的实现方法对目标虚拟机实例的内存快照执行目标操作;向远程控制设备返回目标操作的执行结果。本申请解决了相关技术中不能对虚拟机进行内存快照处理的技术问题。

Description

内存快照的处理方法和装置、存储介质、电子装置
技术领域
本申请涉及计算机领域,具体而言,涉及一种内存快照的处理方法和装置、存储介质、电子装置。
背景技术
相关技术中对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像,快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。
在OpenStack平台下,目前相关技术中的虚拟机快照是将该虚拟机实例所使用的磁盘存储卷做了一个关机复制拷贝,而非内存快照。
针对上述不能对虚拟机实现进行内存快照处理(如创建、删除以及查找中的至少之一)的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种内存快照的处理方法和装置、存储介质、电子装置,以至少解决相关技术中不能对虚拟机进行内存快照处理的技术问题。
根据本申请实施例的一个方面,提供了一种内存快照的处理方法,包括:接收远程控制设备发送的第一控制指令,其中,第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署云计算管理平台中的存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以LVM ISCSI的形式接入到存储组件中,以使得云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;调用开源的虚拟化解决方案中与目标操作匹配的实现方法,对目标虚拟机实例的内存快照执行目标操作,其中,实现方法支持对为Qcow2类型的内存快照进行处理;响应于第一控制指令,向远程控制设备返回目标操作的执行结果。
根据本申请实施例的另一方面,还提供了一种内存快照的处理装置,包括:接收单元,用于接收远程控制设备发送的第一控制指令,其中,第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署云计算管理平台中的存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以LVM ISCSI的形式接入到存储组件中,以使得云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;调用单元,用于调用开源的虚拟化解决方案中与目标操作匹配的实现方法,对目标虚拟机实例的内存快照执行目标操作,其中,实现方法支持对为Qcow2类型的内存快照进行处理;响应单元,用于响应于第一控制指令,向远程控制设备返回目标操作的执行结果。
根据本申请实施例的另一方面,还提供了一种计算机可读的存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法中任一实施例的步骤。
在本申请实施例中,接收远程控制设备发送的第一控制指令,第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署云计算管理平台中的存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以LVM ISCSI的形式接入到存储组件中,以使得云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;调用开源的虚拟化解决方案中与目标操作匹配的实现方法,对目标虚拟机实例的内存快照执行目标操作,其中,实现方法支持对为Qcow2类型的内存快照进行处理;响应于第一控制指令,向远程控制设备返回目标操作的执行结果,借助KVM对磁盘格式为Qcow2类型内存快照的支持,可以解决相关技术中不能对虚拟机进行内存快照处理的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的内存快照的处理方法的流程图;
图2是根据本申请实施例的一种可选的内存快照的处理方案的示意图;
图3是根据本申请实施例的一种可选的内存快照的处理方案的示意图;
图4是根据本申请实施例的一种可选的内存快照的处理方案的示意图;
图5是根据本申请实施例的一种可选的内存快照的处理方案的示意图;
图6是根据本申请实施例的一种可选的内存快照的处理装置的示意图;以及,
图7是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
KVM(全称是 Kernel-based Virtual Machine)是Linux下x86硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模kvm.ko提供和虚拟化核心架构和处理器规范模块。使用KVM可允许多个包括Linux和Windows每个虚拟机有私有的硬件,包括网卡、磁盘以及图形适配卡等。
OpenStack是一个开源的云计算管理平台项目(一个开源的IaaS云服务平台),是一系列软件开源项目的组合,包括:Nova、Neutron、Cinder、Keystone、Glance五大核心组件和若干个可选组件。目前被广泛应用在各行各业,通过OpenStack可以快速的组建私有云、公有云、租赁私有云及公私混合云。以企业私有云为例,随着硬件服务器的性能越来越高、成本越来越低,通常在企业内部,尤其是涉及到产品自研的IT互联网企业,都会有虚拟机应用的需求,一般会将其应用在日常办公、产品研发及自动化测试等方向。此时OpenStack将会是首选的开源云服务平台,底层虚拟化技术的选择同样是基于开源的KVM实现,本申请也主要是针对OpenStack+KVM虚拟化的一种技术解决方案。
在虚拟机日常使用过程中,无论是什么工作方向,通常我们都不会希望自己所使用的虚拟机发生数据丢失或系统崩溃等意外情况,因此我们一般都会对虚拟机定时的做快照(数据)备份,当虚拟机出现数据丢失或系统无法正常启动时,可以通过备份的快照快速恢复虚拟机到正常可用状态。虽然OpenStack支持虚拟机实例的快照创建功能,但该功能的实现仅仅是将该虚拟机实例所使用的磁盘存储卷做了一个复制拷贝,并且是在虚拟机实例关机状态下完成的。当虚拟机实例出现数据丢失或系统无法正常启动时,需要通过之前创建的实例快照重新创建一台新的虚拟机实例以实现数据恢复或系统恢复的功能。
通过对OpenStack虚拟机快照功能的使用不难发现,OpenStack中的虚拟机快照仅仅是将该虚拟机实例所使用的磁盘存储卷做了一个关机复制拷贝,可以理解为非内存快照,而对于虚拟机实例的内存快照,OpenStack本身是不支持的。
在日常工作中,很多情况下我们都会有虚拟机实例做内存快照的需求,如:开发、测试环境中问题排查时的上下文环境保存、病毒样本分析过程中虚拟机系统的快速还原以及某些特定场景中对于内存线索的依赖等等,因此需要有一种技术方案来实现OpenStack对虚拟机实例内存快照的支持。
根据本申请实施例的一方面,提供了一种内存快照的处理方法的方法实施例。图1是根据本申请实施例的一种可选的内存快照的处理方法的流程图,如图1所示,该方法可以包括以下步骤:
步骤S1,云计算管理平台接收远程控制设备发送的第一控制指令,第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署云计算管理平台中的存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以LVM ISCSI的形式接入到存储组件中,以使得云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型。
步骤S2,云计算管理平台调用开源的虚拟化解决方案中与目标操作匹配的实现方法,对目标虚拟机实例的内存快照执行目标操作,实现方法支持对为Qcow2类型的内存快照进行处理。
步骤S3,响应于第一控制指令,云计算管理平台向远程控制设备返回目标操作的执行结果。
通过上述步骤,接收远程控制设备发送的第一控制指令,第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署云计算管理平台中的存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以LVM ISCSI的形式接入到存储组件中,以使得云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;调用开源的虚拟化解决方案中与目标操作匹配的实现方法,对目标虚拟机实例的内存快照执行目标操作,其中,实现方法支持对为Qcow2类型的内存快照进行处理;响应于第一控制指令,向远程控制设备返回目标操作的执行结果,借助KVM对磁盘格式为Qcow2类型内存快照的支持,可以解决相关技术中不能对虚拟机进行内存快照处理的技术问题。
本申请的技术方案可基于Python语言实现,通过openstacksdk、libvirtapi和gRPC的结合,实现了对OpenStack虚拟机实例内存快照的支持,同时可以很方便的接入到业务层中。支持单机版OpenStack平台及可扩容的分布式版OpenStack平台。
单机版OpenStack平台是指:OpenStack平台采用AllInOne的部署方式,即将所有的OpenStack组件部署在一台硬件服务器中,通过文件或Cinder lvmiSCSI对KVM虚拟机实例提供磁盘服务;可扩容的分布式版OpenStack平台是指:可以根据业务的需要将OpenStack各组件部署在不同的硬件服务器中,通常可划分为:控制节点(负责api接入)、计算节点(负责KVM虚拟机实例的生命周期管理)、存储节点(负责提供KVM虚拟机镜像的存储及虚拟机实例所需的磁盘服务)和网络节点(负责KVM虚拟机内部之间、KVM虚拟机与外部之间的网络通信),同样通过文件或Cinder iSCSI对KVM虚拟机实例提供磁盘服务,可以通过横向扩展的方式解决不同节点中所存在的瓶颈问题。
虚拟机实例内存快照的整体处理流程如图2所示,下文结合具体步骤进一步详述本申请的技术方案:
步骤S1,在部署OpenStack平台时,底层采用开源的虚拟化解决方案KVM,同时在部署OpenStack存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以lvmiSCSI的形式接入到Cinder中,最终实现在OpenStack平台中创建出来的虚拟机实例磁盘格式为Qcow2类型。
步骤S2,在云计算管理平台中的每个计算节点部署远程调用服务,以对外提供内存快照的创建实现方法、删除实现方法以及查找实现方法。
可借助KVM自身对磁盘格式为Qcow2类型内存快照的支持,通过对libvirtapi的封装,实现虚拟机实例内存快照的创建、删除及查询功能。具体包括:
1)内存快照的创建实现方法是:
(create_snapshot):vm.snapshotCreateXML()。
2)内存快照的删除实现方法是:
(delete_snapshot):
snapshot = vm.snapshotLookupByName(name)
snapshot.delete()。
3)内存快照的查询实现方法是:
(list_snapshot):vm.snapshotListNames()。
步骤S3,接收远程控制设备发送的第一控制指令,第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作。
通过gRPC实现一个支持远程调用的服务,对外提供虚拟机实例内存快照创建(create_snapshot)、删除(delete_snapshot)和查询(list_snapshot)的操作,服务内部则调用在步骤2中所封装的libvirtapi实现。然后将其部署在各计算节点中,以实现对虚拟机实例内存快照的操作,当存在多个计算节点时,每个计算节点都需要部署一个gRPC实现的服务。
步骤4,调用开源的虚拟化解决方案中与目标操作匹配的实现方法,对目标虚拟机实例的内存快照执行目标操作,实现方法支持对为Qcow2类型的内存快照进行处理。
gRPC接入到业务层后,当需要对虚拟机实例的内存快照进行操作时,先通过openstacksdk或业务db获取到对应虚拟机实例的唯一标识uuid以及虚拟机实例所在的计算节点信息,然后通过gRPC远程调用对应计算节点上的内存快照操作服务,gRPC调用时传入虚拟机实例的uuid。
可选地,调用开源的虚拟化解决方案中与目标操作匹配的实现方法,对目标虚拟机实例的内存快照执行目标操作包括以下三种操作:
其一是:调用开源的虚拟化解决方案中与创建操作匹配的创建实现方法,创建目标虚拟机实例的内存快照,其中,目标操作包括创建操作。
在调用开源的虚拟化解决方案中与创建操作匹配的创建实现方法,创建目标虚拟机实例的内存快照之前,方法还包括:建立与远程控制设备所在的业务层之间的远程调用链接,其中,远程控制设备用于根据目标虚拟机实例的虚拟机标识UUID,在云计算管理平台的所有计算节点中查找目标虚拟机实例所在的目标计算节点,并查找到目标计算节点的通信地址,使用通信地址建立与目标计算节点之间的远程调用链接;
调用开源的虚拟化解决方案中与创建操作匹配的创建实现方法,创建目标虚拟机实例的内存快照,包括:从在远程调用链接中接收到的第一控制指令中解析出目标虚拟机实例的虚拟机标识和快照名;在目标计算节点的所有虚拟机实例中确定与接收到的虚拟机标识匹配的目标虚拟机实例;按照在远程调用链接中接收到的指示调用开源的虚拟化解决方案中与创建操作匹配的创建实现方法,创建目标虚拟机实例的内存快照,并将创建的内存快照与快照名关联。
如图3所示,虚拟机实例创建内存快照流程:
步骤1,业务层通过openstacksdk或自身业务db获取到对应虚拟机实例VM1的uuid及所在的计算节点信息。
步骤2,通过查询得知,VM1虚拟机实例的uuid以及运行在计算节点1上,并且计算节点1的gRPC通信地址为:192.168.10.10:10000。
步骤3,业务层通过gRPC client连接至192.168.10.10:10000与计算节点1中的gPRC服务通信。
步骤4,通过gRPC调用服务中的create_snapshot方法,并将虚拟机实例uuid和快照名传递过去。
步骤5,gRPC服务内部通过封装的libvirtapi执行虚拟机实例创建内存快照的操作并返回。
步骤6,业务层通过返回的信息判断最终的执行结果。
其二是:调用开源的虚拟化解决方案中与删除操作匹配的删除实现方法,删除目标虚拟机实例的内存快照,其中,目标操作包括删除操作。
在调用开源的虚拟化解决方案中与删除操作匹配的删除实现方法,删除目标虚拟机实例的内存快照之前,建立与远程控制设备所在的业务层之间的远程调用链接,其中,远程控制设备用于根据目标虚拟机实例的虚拟机标识UUID,在云计算管理平台的所有计算节点中查找目标虚拟机实例所在的目标计算节点,并查找到目标计算节点的通信地址,使用通信地址建立与目标计算节点之间的远程调用链接。
调用开源的虚拟化解决方案中与删除操作匹配的删除实现方法,删除目标虚拟机实例的内存快照,包括:从在远程调用链接中接收到的第一控制指令中解析出目标虚拟机实例的虚拟机标识和快照名;在目标计算节点的所有虚拟机实例中确定与接收到的虚拟机标识匹配的目标虚拟机实例;按照在远程调用链接中接收到的指示调用开源的虚拟化解决方案中与删除操作匹配的删除实现方法,删除与收到的快照名匹配的目标虚拟机实例的内存快照。
如图4所示,虚拟机实例删除内存快照流程:
步骤1,业务层通过openstacksdk或自身业务db获取到对应虚拟机实例VM1的uuid及所在的计算节点信息。
步骤2,通过查询得知,VM1虚拟机实例的uuid以及运行在计算节点1上,并且计算节点1的gRPC通信地址为: 192.168.10.10:10000。
步骤3,业务层通过gRPC client连接至192.168.10.10:10000与计算节点1中的gPRC服务通信。
步骤4,通过gRPC调用服务中的delete_snapshot方法,并将虚拟机实例uuid和快照名传递过去。
步骤5,gRPC服务内部通过封装的libvirtapi执行虚拟机实例删除内存快照的操作并返回。
步骤6,业务层通过返回的信息判断最终的执行结果。
其三是:调用开源的虚拟化解决方案中与查找操作匹配的查找实现方法,查找目标虚拟机实例的内存快照,其中,目标操作包括查找操作。
在调用开源的虚拟化解决方案中与查找操作匹配的查找实现方法,查找目标虚拟机实例的内存快照之前,建立与远程控制设备所在的业务层之间的远程调用链接,其中,远程控制设备用于根据目标虚拟机实例的虚拟机标识UUID,在云计算管理平台的所有计算节点中查找目标虚拟机实例所在的目标计算节点,并查找到目标计算节点的通信地址,使用通信地址建立与目标计算节点之间的远程调用链接。
调用开源的虚拟化解决方案中与查找操作匹配的查找实现方法,查找目标虚拟机实例的内存快照,包括:从在远程调用链接中接收到的第一控制指令中解析出目标虚拟机实例的虚拟机标识和快照名;在目标计算节点的所有虚拟机实例中确定与接收到的虚拟机标识匹配的目标虚拟机实例;按照在远程调用链接中接收到的指示调用开源的虚拟化解决方案中与查找操作匹配的查找实现方法,查找与收到的快照名匹配的目标虚拟机实例的内存快照。
如图5所示,虚拟机实例查询已有内存快照流程:
步骤1,业务层通过openstacksdk或自身业务db获取到对应虚拟机实例VM1的uuid及所在的计算节点信息。
步骤2,通过查询得知,VM1虚拟机实例的uuid以及运行在计算节点1上,并且计算节点1的gRPC通信地址为: 192.168.10.10:10000。
步骤3,业务层通过gRPC client连接至192.168.10.10:10000与计算节点1中的gPRC服务通信。
步骤4,通过gRPC调用服务中的list_snapshot方法,并将虚拟机实例uuid传递过去。
步骤5,gRPC服务内部通过封装的libvirtapi执行虚拟机实例查询内存快照的操作并返回。
步骤6,业务层通过返回的信息判断最终的执行结果。
步骤S5,响应于第一控制指令,向远程控制设备返回目标操作的执行结果。
步骤S6,接收远程控制设备发送的第二控制指令,第二控制指令用于指示删除云计算管理平台中的目标虚拟机实例;删除目标虚拟机实例的所有内存快照;删除目标虚拟机实例;响应于第二控制指令,向远程控制设备返回第二控制指令的响应结果。
在虚拟机实例删除前,先通过gRPC远程调用删除该虚拟机实例的所有内存快照,再执行虚拟机实例的删除操作,否则会出现虚拟机实例因存在内存快照而导致无法删除的问题。
为了保证数据输出的安全,可以按照如下方式对数据进行处理:
1)远程控制设备与管理平台中的发送方在发送数据包(如控制指令或控制指令的响应结果的数据包)时,将当前时间戳作为发送时间戳(以毫秒为单位),使用发送时间戳对M进行取余,得到取余结果i,从包括M种加密方案的第一集合中选取第i种加密方案,以对数据包进行加密,得到加密数据包,将发送时间戳加上预设时长,将得到的参考时间(以秒为单位)向上取整(如3时2分52.5秒取整为3时2分53秒),此处取整相当于给出一定的时间冗余量,将取整时间对P取余,得到取余结果j,从包括P种加密方案的第二集合中选取第j种加密方案,对加密数据包和发送时间戳进行加密,得到实际发送的最终数据包,并发送给远程控制设备与管理平台中的接收方,此处的预设时长为在远程控制设备与管理平台之间正常传输数据所需的平均时长(一般的传输时间是以微秒为单位的,且传输时间一般不会超过1秒);
需要说明的是,远程控制设备与管理平台之间会保持心跳包,以确定是否断开TCP连接,在确定断开后会重新连接,并把与最近一次正常检测到心跳的时间之间的数据重新按照上述流程处理后再次发送,以避免出现发送失败的数据。
2)接收方在接收到的数据包时,确定接收时间(以秒为单位),将接收时间向下取整,将取整时间对P取余,得到取余结果j’,从具有P种解密方案的第三集合(该集合中任一位置的解密方案用于对采用第二集合中相同位置加密方案加密后的数据进行解密)中选取第(j’-1)种解密方案、第j’种解密方案以及第(j’+1)种解密方案,此处之所以要选择第(j’-1)种解密方案第(j’+1)种解密方案,是考虑到上述使用的预设时长是预估的,与实际的传输时间可能存在偏差,但是一般而言,不会超过1秒,所以选择j’紧邻的两种解密方案,利用第(j’-1)种解密方案、第j’种解密方案以及第(j’+1)种解密方案,分别对接收到的数据包进行解密,在解密失败的情况下,将接收到的数据包的ID发送给发送方,让其重新发送该数据,同时也可以校验该数据是否为非法数据;在解密成功的情况下,得到一发送时间戳和加密数据包,使用发送时间戳对M进行取余,得到取余结果i,从包括M种解密方案的第四集合(该集合中任一位置的解密方案用于对采用第一集合中相同位置加密方案加密后的数据进行解密)中选取第i种解密方案,以对加密数据包进行解密,得到明文数据包。
在本申请的技术方案中,提供了部署OpenStack平台过程中开源虚拟化解决方案KVM的选择及Cinder存储组件的接入方式;通过对libvirtapi封装所实现的内存快照创建、删除和查询功能;通过gRPC将快照功能与业务层打通,最终实现业务层对虚拟机实例内存快照的管理操作;整体方案具有易用性及可扩展性。本申请的技术方案解决了OpenStack平台中虚拟机实例不支持内存快照的问题,同时方案简单易用,易于维护和扩展,支持单机版OpenStack平台及可扩容的分布式版OpenStack平台。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述内存快照的处理方法的内存快照的处理装置。图6是根据本申请实施例的一种可选的内存快照的处理装置的示意图,如图6所示,该装置可以包括:
接收单元61,用于接收远程控制设备发送的第一控制指令,其中,所述第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,所述云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署所述云计算管理平台中的存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以LVM ISCSI的形式接入到所述存储组件中,以使得所述云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;
调用单元63,用于调用所述开源的虚拟化解决方案中与所述目标操作匹配的实现方法,对所述目标虚拟机实例的内存快照执行所述目标操作,其中,所述实现方法支持对为所述Qcow2类型的内存快照进行处理;
响应单元65,用于响应于所述第一控制指令,向所述远程控制设备返回所述目标操作的执行结果。
通过上述模块,接收远程控制设备发送的第一控制指令,第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署云计算管理平台中的存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以LVM ISCSI的形式接入到存储组件中,以使得云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;调用开源的虚拟化解决方案中与目标操作匹配的实现方法,对目标虚拟机实例的内存快照执行目标操作,其中,实现方法支持对为Qcow2类型的内存快照进行处理;响应于第一控制指令,向远程控制设备返回目标操作的执行结果,借助KVM对磁盘格式为Qcow2类型内存快照的支持,可以解决相关技术中不能对虚拟机进行内存快照处理的技术问题。
可选地,调用单元还用于:调用所述开源的虚拟化解决方案中与创建操作匹配的创建实现方法,创建所述目标虚拟机实例的内存快照,其中,所述目标操作包括所述创建操作;调用所述开源的虚拟化解决方案中与删除操作匹配的删除实现方法,删除所述目标虚拟机实例的内存快照,其中,所述目标操作包括所述删除操作;调用所述开源的虚拟化解决方案中与查找操作匹配的查找实现方法,查找所述目标虚拟机实例的内存快照,其中,所述目标操作包括所述查找操作。
可选地,调用单元还用于:建立与所述远程控制设备所在的业务层之间的远程调用链接,其中,所述远程控制设备用于根据所述目标虚拟机实例的虚拟机标识UUID,在所述云计算管理平台的所有计算节点中查找所述目标虚拟机实例所在的目标计算节点,并查找到所述目标计算节点的通信地址,使用所述通信地址建立与所述目标计算节点之间的远程调用链接;从在所述远程调用链接中接收到的所述第一控制指令中解析出所述目标虚拟机实例的虚拟机标识和快照名;在所述目标计算节点的所有虚拟机实例中确定与接收到的虚拟机标识匹配的所述目标虚拟机实例;按照在所述远程调用链接中接收到的指示调用所述开源的虚拟化解决方案中与创建操作匹配的创建实现方法,创建所述目标虚拟机实例的内存快照,并将创建的内存快照与快照名关联。
可选地,调用单元还用于:建立与所述远程控制设备所在的业务层之间的远程调用链接,其中,所述远程控制设备用于根据所述目标虚拟机实例的虚拟机标识UUID,在所述云计算管理平台的所有计算节点中查找所述目标虚拟机实例所在的目标计算节点,并查找到所述目标计算节点的通信地址,使用所述通信地址建立与所述目标计算节点之间的远程调用链接;从在所述远程调用链接中接收到的所述第一控制指令中解析出所述目标虚拟机实例的虚拟机标识和快照名;在所述目标计算节点的所有虚拟机实例中确定与接收到的虚拟机标识匹配的所述目标虚拟机实例;按照在所述远程调用链接中接收到的指示调用所述开源的虚拟化解决方案中与删除操作匹配的删除实现方法,删除与收到的快照名匹配的所述目标虚拟机实例的内存快照。
可选地,调用单元还用于:建立与所述远程控制设备所在的业务层之间的远程调用链接,其中,所述远程控制设备用于根据所述目标虚拟机实例的虚拟机标识UUID,在所述云计算管理平台的所有计算节点中查找所述目标虚拟机实例所在的目标计算节点,并查找到所述目标计算节点的通信地址,使用所述通信地址建立与所述目标计算节点之间的远程调用链接;从在所述远程调用链接中接收到的所述第一控制指令中解析出所述目标虚拟机实例的虚拟机标识和快照名;在所述目标计算节点的所有虚拟机实例中确定与接收到的虚拟机标识匹配的所述目标虚拟机实例;按照在所述远程调用链接中接收到的指示调用所述开源的虚拟化解决方案中与查找操作匹配的查找实现方法,查找与收到的快照名匹配的所述目标虚拟机实例的内存快照。
可选地,本申请的装置还可包括:配置单元,用于在接收远程控制设备发送的第一控制指令之前,在所述云计算管理平台中的每个计算节点部署远程调用服务,以对外提供内存快照的创建实现方法、删除实现方法以及查找实现方法。
可选地,本申请的装置还可包括:删除单元,用于接收所述远程控制设备发送的第二控制指令,其中,所述第二控制指令用于指示删除所述云计算管理平台中的所述目标虚拟机实例;删除所述目标虚拟机实例的所有内存快照;删除所述目标虚拟机实例;响应于所述第二控制指令,向所述远程控制设备返回所述第二控制指令的响应结果。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在相应的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述内存快照的处理方法的服务器或终端。
图7是根据本申请实施例的一种终端的结构框图,如图7所示,该终端可以包括:一个或多个(图7中仅示出一个)处理器201、存储器203、以及传输装置205,如图7所示,该终端还可以包括输入输出设备207。
其中,存储器203可用于存储软件程序以及模块,如本申请实施例中的内存快照的处理方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的内存快照的处理方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器203用于存储应用程序。
处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:
接收远程控制设备发送的第一控制指令,其中,所述第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,所述云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署所述云计算管理平台中的存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以LVM ISCSI的形式接入到所述存储组件中,以使得所述云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;
调用所述开源的虚拟化解决方案中与所述目标操作匹配的实现方法,对所述目标虚拟机实例的内存快照执行所述目标操作,其中,所述实现方法支持对为所述Qcow2类型的内存快照进行处理;
响应于所述第一控制指令,向所述远程控制设备返回所述目标操作的执行结果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图7所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,终端还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行内存快照的处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
接收远程控制设备发送的第一控制指令,其中,所述第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,所述云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署所述云计算管理平台中的存储组件Cinder时,选择不部署(虚拟机磁盘将以文件的形式存放在计算节点)或者以LVM ISCSI的形式接入到所述存储组件中,以使得所述云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;
调用所述开源的虚拟化解决方案中与所述目标操作匹配的实现方法,对所述目标虚拟机实例的内存快照执行所述目标操作,其中,所述实现方法支持对为所述Qcow2类型的内存快照进行处理;
响应于所述第一控制指令,向所述远程控制设备返回所述目标操作的执行结果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种内存快照的处理方法,其特征在于,包括:
接收远程控制设备发送的第一控制指令,其中,所述第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,所述云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署所述云计算管理平台中的存储组件Cinder时,选择不部署或者以LVM ISCSI的形式接入到所述存储组件中,以使得所述云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;
调用所述开源的虚拟化解决方案中与所述目标操作匹配的实现方法,对所述目标虚拟机实例的内存快照执行所述目标操作,其中,所述实现方法支持对为所述Qcow2类型的内存快照进行处理;
响应于所述第一控制指令,向所述远程控制设备返回所述目标操作的执行结果;
其中,所述远程控制设备和所述管理平台中的发送方在发送数据包时,将当前时间戳作为发送时间戳,使用发送时间戳对M进行取余,得到取余结果i,从包括M种加密方案的第一集合中选取第i种加密方案,以对数据包进行加密,得到加密数据包,将发送时间戳加上预设时长,将得到的参考时间向上取整,将取整时间对P取余,得到取余结果j,从包括P种加密方案的第二集合中选取第j种加密方案,对加密数据包和发送时间戳进行加密,得到实际发送的最终数据包,并发送给所述远程控制设备与所述管理平台中的接收方;
其中,接收方在接收到的数据包时,确定接收时间,将接收时间向下取整,将取整时间对P取余,得到取余结果j’,从具有P种解密方案的第三集合中选取第(j’-1)种解密方案、第j’种解密方案以及第(j’+1)种解密方案,利用第(j’-1)种解密方案、第j’种解密方案以及第(j’+1)种解密方案,分别对接收到的数据包进行解密,在解密失败的情况下,将接收到的数据包的ID发送给发送方,以指示发送方重新发送该数据,并校验该数据是否为非法数据;在解密成功的情况下,得到发送时间戳和加密数据包,使用发送时间戳对M进行取余,得到取余结果i,从包括M种解密方案的第四集合中选取第i种解密方案,以对加密数据包进行解密,得到明文数据包。
2.根据权利要求1所述的方法,其特征在于,调用所述开源的虚拟化解决方案中与所述目标操作匹配的实现方法,对所述目标虚拟机实例的内存快照执行所述目标操作包括:
调用所述开源的虚拟化解决方案中与创建操作匹配的创建实现方法,创建所述目标虚拟机实例的内存快照,其中,所述目标操作包括所述创建操作;
调用所述开源的虚拟化解决方案中与删除操作匹配的删除实现方法,删除所述目标虚拟机实例的内存快照,其中,所述目标操作包括所述删除操作;
调用所述开源的虚拟化解决方案中与查找操作匹配的查找实现方法,查找所述目标虚拟机实例的内存快照,其中,所述目标操作包括所述查找操作。
3.根据权利要求2所述的方法,其特征在于,
在调用所述开源的虚拟化解决方案中与创建操作匹配的创建实现方法,创建所述目标虚拟机实例的内存快照之前,所述方法还包括:建立与所述远程控制设备所在的业务层之间的远程调用链接,其中,所述远程控制设备用于根据所述目标虚拟机实例的虚拟机标识UUID,在所述云计算管理平台的所有计算节点中查找所述目标虚拟机实例所在的目标计算节点,并查找到所述目标计算节点的通信地址,使用所述通信地址建立与所述目标计算节点之间的远程调用链接;
调用所述开源的虚拟化解决方案中与创建操作匹配的创建实现方法,创建所述目标虚拟机实例的内存快照,包括:从在所述远程调用链接中接收到的所述第一控制指令中解析出所述目标虚拟机实例的虚拟机标识和快照名;在所述目标计算节点的所有虚拟机实例中确定与接收到的虚拟机标识匹配的所述目标虚拟机实例;按照在所述远程调用链接中接收到的指示调用所述开源的虚拟化解决方案中与创建操作匹配的创建实现方法,创建所述目标虚拟机实例的内存快照,并将创建的内存快照与快照名关联。
4.根据权利要求2所述的方法,其特征在于,
在调用所述开源的虚拟化解决方案中与删除操作匹配的删除实现方法,删除所述目标虚拟机实例的内存快照之前,所述方法还包括:建立与所述远程控制设备所在的业务层之间的远程调用链接,其中,所述远程控制设备用于根据所述目标虚拟机实例的虚拟机标识UUID,在所述云计算管理平台的所有计算节点中查找所述目标虚拟机实例所在的目标计算节点,并查找到所述目标计算节点的通信地址,使用所述通信地址建立与所述目标计算节点之间的远程调用链接;
调用所述开源的虚拟化解决方案中与删除操作匹配的删除实现方法,删除所述目标虚拟机实例的内存快照,包括:从在所述远程调用链接中接收到的所述第一控制指令中解析出所述目标虚拟机实例的虚拟机标识和快照名;在所述目标计算节点的所有虚拟机实例中确定与接收到的虚拟机标识匹配的所述目标虚拟机实例;按照在所述远程调用链接中接收到的指示调用所述开源的虚拟化解决方案中与删除操作匹配的删除实现方法,删除与收到的快照名匹配的所述目标虚拟机实例的内存快照。
5.根据权利要求2所述的方法,其特征在于,
在调用所述开源的虚拟化解决方案中与查找操作匹配的查找实现方法,查找所述目标虚拟机实例的内存快照之前,所述方法还包括:建立与所述远程控制设备所在的业务层之间的远程调用链接,其中,所述远程控制设备用于根据所述目标虚拟机实例的虚拟机标识UUID,在所述云计算管理平台的所有计算节点中查找所述目标虚拟机实例所在的目标计算节点,并查找到所述目标计算节点的通信地址,使用所述通信地址建立与所述目标计算节点之间的远程调用链接;
调用所述开源的虚拟化解决方案中与查找操作匹配的查找实现方法,查找所述目标虚拟机实例的内存快照,包括:从在所述远程调用链接中接收到的所述第一控制指令中解析出所述目标虚拟机实例的虚拟机标识和快照名;在所述目标计算节点的所有虚拟机实例中确定与接收到的虚拟机标识匹配的所述目标虚拟机实例;按照在所述远程调用链接中接收到的指示调用所述开源的虚拟化解决方案中与查找操作匹配的查找实现方法,查找与收到的快照名匹配的所述目标虚拟机实例的内存快照。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,在接收远程控制设备发送的第一控制指令之前,所述方法还包括:
在所述云计算管理平台中的每个计算节点部署远程调用服务,以对外提供内存快照的创建实现方法、删除实现方法以及查找实现方法。
7.根据权利要求1所述的方法,其特征在于,在接收远程控制设备发送的第一控制指令之后,所述方法还包括:
接收所述远程控制设备发送的第二控制指令,其中,所述第二控制指令用于指示删除所述云计算管理平台中的所述目标虚拟机实例;
删除所述目标虚拟机实例的所有内存快照;
删除所述目标虚拟机实例;
响应于所述第二控制指令,向所述远程控制设备返回所述第二控制指令的响应结果。
8.一种内存快照的处理装置,其特征在于,包括:
接收单元,用于接收远程控制设备发送的第一控制指令,其中,所述第一控制指令用于指示对云计算管理平台OpenStack中目标虚拟机实例的内存快照执行目标操作,所述云计算管理平台的底层采用开源的虚拟化解决方案KVM,在部署所述云计算管理平台中的存储组件Cinder时,选择不部署或者以LVM ISCSI的形式接入到所述存储组件中,以使得所述云计算管理平台中创建出来的虚拟机实例的磁盘格式为Qcow2类型;
调用单元,用于调用所述开源的虚拟化解决方案中与所述目标操作匹配的实现方法,对所述目标虚拟机实例的内存快照执行所述目标操作,其中,所述实现方法支持对为所述Qcow2类型的内存快照进行处理;
响应单元,用于响应于所述第一控制指令,向所述远程控制设备返回所述目标操作的执行结果;
其中,所述远程控制设备和所述管理平台中的发送方在发送数据包时,将当前时间戳作为发送时间戳,使用发送时间戳对M进行取余,得到取余结果i,从包括M种加密方案的第一集合中选取第i种加密方案,以对数据包进行加密,得到加密数据包,将发送时间戳加上预设时长,将得到的参考时间向上取整,将取整时间对P取余,得到取余结果j,从包括P种加密方案的第二集合中选取第j种加密方案,对加密数据包和发送时间戳进行加密,得到实际发送的最终数据包,并发送给所述远程控制设备与所述管理平台中的接收方;
其中,接收方在接收到的数据包时,确定接收时间,将接收时间向下取整,将取整时间对P取余,得到取余结果j’,从具有P种解密方案的第三集合中选取第(j’-1)种解密方案、第j’种解密方案以及第(j’+1)种解密方案,利用第(j’-1)种解密方案、第j’种解密方案以及第(j’+1)种解密方案,分别对接收到的数据包进行解密,在解密失败的情况下,将接收到的数据包的ID发送给发送方,以指示发送方重新发送该数据,并校验该数据是否为非法数据;在解密成功的情况下,得到发送时间戳和加密数据包,使用发送时间戳对M进行取余,得到取余结果i,从包括M种解密方案的第四集合中选取第i种解密方案,以对加密数据包进行解密,得到明文数据包。
9.一种计算机可读的存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至7任一项中所述的方法。
CN202210174412.1A 2022-02-25 2022-02-25 内存快照的处理方法和装置、存储介质、电子装置 Active CN114237988B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210174412.1A CN114237988B (zh) 2022-02-25 2022-02-25 内存快照的处理方法和装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210174412.1A CN114237988B (zh) 2022-02-25 2022-02-25 内存快照的处理方法和装置、存储介质、电子装置

Publications (2)

Publication Number Publication Date
CN114237988A CN114237988A (zh) 2022-03-25
CN114237988B true CN114237988B (zh) 2022-06-03

Family

ID=80748159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210174412.1A Active CN114237988B (zh) 2022-02-25 2022-02-25 内存快照的处理方法和装置、存储介质、电子装置

Country Status (1)

Country Link
CN (1) CN114237988B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577122A (en) * 1994-12-29 1996-11-19 Trimble Navigation Limited Secure communication of information
CN104410616A (zh) * 2014-11-20 2015-03-11 广州日滨科技发展有限公司 数据加密、解密、传输方法和系统
CN106559217A (zh) * 2015-09-29 2017-04-05 腾讯科技(深圳)有限公司 一种动态加密方法、终端、服务器
CN107493267A (zh) * 2017-07-27 2017-12-19 深圳市盛路物联通讯技术有限公司 一种物联网终端数据的随机加密方法及装置
US10725966B1 (en) * 2014-06-30 2020-07-28 Veritas Technologies Llc Block level incremental backup for QCOW2 virtual disks
CN112153078A (zh) * 2020-10-26 2020-12-29 广州欧赛斯信息科技有限公司 一种基于时间释放的加密方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520881B (zh) * 2011-12-02 2015-09-09 中标软件有限公司 一种云计算平台的虚拟机快照管理方法和系统
CN105335253B (zh) * 2015-10-28 2019-01-15 北京百度网讯科技有限公司 创建虚拟机系统盘快照的方法和装置
CN109101323A (zh) * 2018-09-10 2018-12-28 南京铱迅信息技术股份有限公司 虚拟机运行状态下基于qcow2格式的快照实现方法
CN110058813A (zh) * 2019-03-15 2019-07-26 启迪云计算有限公司 一种基于云平台块存储的本地存储管理方法
CN111611049A (zh) * 2020-04-08 2020-09-01 曙光信息产业(北京)有限公司 基于开源架构云环境的内存快照的创建方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577122A (en) * 1994-12-29 1996-11-19 Trimble Navigation Limited Secure communication of information
US10725966B1 (en) * 2014-06-30 2020-07-28 Veritas Technologies Llc Block level incremental backup for QCOW2 virtual disks
CN104410616A (zh) * 2014-11-20 2015-03-11 广州日滨科技发展有限公司 数据加密、解密、传输方法和系统
CN106559217A (zh) * 2015-09-29 2017-04-05 腾讯科技(深圳)有限公司 一种动态加密方法、终端、服务器
CN107493267A (zh) * 2017-07-27 2017-12-19 深圳市盛路物联通讯技术有限公司 一种物联网终端数据的随机加密方法及装置
CN112153078A (zh) * 2020-10-26 2020-12-29 广州欧赛斯信息科技有限公司 一种基于时间释放的加密方法及系统

Also Published As

Publication number Publication date
CN114237988A (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
CN107294729B (zh) 区块链中不同节点之间的通信方法及装置
CN105916133B (zh) 管理移动设备内集成组件的固件更新的方法、设备和介质
CN104866389A (zh) 基于移动操作系统的数据备份及恢复方法、装置及系统
US20190227710A1 (en) Incremental data restoration method and apparatus
CN112181677A (zh) 业务的处理方法和装置、存储介质、电子装置
CN109495874B (zh) Profile下载的方法和装置
CN109525542A (zh) 数据恢复方法、发送/接收装置和计算机可读存储介质
CN115454636A (zh) 一种容器云平台gpu资源调度方法、装置及应用
CN113347257A (zh) 通信方法、装置、服务器及存储介质
CN113961226B (zh) 一种软件开发工具包修复方法、终端、服务器及设备
CN110069406B (zh) 自动触发的tpc-ds测试方法以及系统
CN113297133B (zh) 一种服务迁移质量保障方法及系统
CN113835642A (zh) 一种基于ipfs的分布式存储网络构建方法及分布式存储网络
CN109120641A (zh) 报表自动上传方法、装置、计算机设备及存储介质
CN114237988B (zh) 内存快照的处理方法和装置、存储介质、电子装置
CN112130889A (zh) 资源的管理方法和装置、存储介质、电子装置
CN114270321A (zh) 用于快速备份的设备和方法
CN111400771A (zh) 目标分区的校验方法及装置、存储介质、计算机设备
CN111078645A (zh) 一种计算机数据的异地备份方法及装置
CN115904407A (zh) 镜像构建方法、系统及计算机可读存储介质
CN115052053A (zh) 用于银行系统测试的报文处理方法及模拟器
CN110795388B (zh) 一种二进制文件的处理方法、系统、设备及可读存储介质
CN113918423A (zh) 云平台监控方法、装置及其应用
CN107231244B (zh) 初始化加密机的系统、方法和装置
CN111596953A (zh) 版本管理系统、开发数据传输控制方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant