【技术实现步骤摘要】
一种数据交换方法、装置、相关设备及系统
本专利技术实施例涉及虚拟机
,具体涉及一种数据交换方法、装置、相关设备及系统。
技术介绍
通过虚拟化技术(Virtualization),物理主机可虚拟化出多台虚拟机(VirtualMachine,VM),从而最大化的利用物理主机的硬件资源;虚拟化出的每台虚拟机可被分配内存(空间),每台虚拟机分配的内存主要用于任务消耗及支持虚拟化。虚拟机运行时,为了能够有效使用虚拟机的内存,可将内存的部分虚拟机数据交换到交换(Swap)分区中,从而更大限度的利用内存资源,这个功能称为交换分区功能(交换分区功能还可涉及从交换分区恢复数据到内存);在执行交换分区功能时,如何保障交换分区的虚拟机数据的完整性,从而有效实现交换分区功能,成为了本领域技术人员亟需解决的问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据交换方法、装置、相关设备及系统,保障交换分区的虚拟机数据的完整性,以有效实现交换分区功能。为实现上述目的,本专利技术实施例提供如下技术方案:一种数据交换方法,所述方法包括:在执行交换分区功能前,检测交换分区中保存的交换数据对应 ...
【技术保护点】
1.一种数据交换方法,其特征在于,所述方法包括:在执行交换分区功能前,检测交换分区中保存的交换数据对应的哈希树的根节点数据,与私有存储区域保存的根节点数据是否一致;若交换分区中保存的交换数据对应的哈希树的根节点数据,与私有存储区域保存的根节点数据一致,允许执行交换分区功能;其中,哈希树的一个叶子节点的数据为交换分区中一个分区页面存储的交换数据的哈希值,一个非叶子节点存储的数据为所对应的子节点的哈希值综合后的哈希值。
【技术特征摘要】
1.一种数据交换方法,其特征在于,所述方法包括:在执行交换分区功能前,检测交换分区中保存的交换数据对应的哈希树的根节点数据,与私有存储区域保存的根节点数据是否一致;若交换分区中保存的交换数据对应的哈希树的根节点数据,与私有存储区域保存的根节点数据一致,允许执行交换分区功能;其中,哈希树的一个叶子节点的数据为交换分区中一个分区页面存储的交换数据的哈希值,一个非叶子节点存储的数据为所对应的子节点的哈希值综合后的哈希值。2.根据权利要求1所述的数据交换方法,其特征在于,所述检测交换分区中保存的交换数据对应的哈希树的根节点数据,与私有存储区域保存的根节点数据是否一致包括:获取执行交换分区功能所对应的目标分区页面在哈希树中的关联节点的哈希值;根据所述关联节点的哈希值,重新验证目标分区页面在哈希树的各祖先节点的哈希值,直至重新验证出哈希树的根节点的哈希值;检测重新验证的哈希树的根节点的哈希值与私有存储区域存储的根节点的哈希值是否一致。3.根据权利要求2所述的数据交换方法,其特征在于,所述关联节点包括:目标分区页面在哈希树中对应的目标叶子节点以及兄弟叶子节点,目标叶子节点的祖先节点以及所述祖先节点的兄弟节点。4.根据权利要求2或3所述的数据交换方法,其特征在于,所述根据所述关联节点的哈希值,重新验证目标分区页面在哈希树的各祖先节点的哈希值,直至重新验证出哈希树的根节点的哈希值包括:以目标叶子节点以及兄弟叶子节点的哈希值为基础,按照叶子节点层至根节点层的顺序,逐层计算目标叶子节点在哈希树对应的各层祖先节点的哈希值,直至计算的根节点的哈希值与所获取的根节点的哈希值一致;其中,任一次计算的祖先节点的哈希值与所获取的哈希值不一致,则停止计算。5.根据权利要求4所述的数据交换方法,其特征在于,所述方法还包括:在任一次计算的祖先节点的哈希值与所获取的哈希值不一致时,进行报错。6.根据权利要求2或3所述的数据交换方法,其特征在于,所述方法还包括:若交换分区中保存的交换数据对应的哈希树的根节点数据,与私有存储区域保存的根节点数据一致,根据执行交换分区功能后目标分区页面的数据变化,确定目标分区页面在哈希树中对应的目标叶子节点及祖先节点的更新哈希值,并更新私有存储区域保存的哈希树的根节点的哈希值;向虚拟机管理器传送所述更新哈希值,以使虚拟机管理器更新交换分区中保存的哈希树。7.根据权利要求6所述的数据交换方法,其特征在于,所述执行交换分区功能包括:将内存页面的交换数据交换到目标分区页面;在获取执行交换分区功能所对应的目标分区页面在哈希树中的关联节点的哈希值之前,所述方法还包括:获取虚拟机管理器申请内存的请求;确定空闲内存的大小符合执行交换分区功能的条件时,从已使用的内存页面中确定交换数据到交换分区的候选内存页面;通知虚拟机管理器分配空闲的目标分区页面。8.根据权利要求7所述的数据交换方法,其特征在于,所述根据执行交换分区功能后目标分区页面的数据变化,确定目标分区页面在哈希树中对应的目标叶子节点及祖先节点的更新哈希值包括:根据候选内存页面交换到目标分区页面的交换数据的哈希值,确定目标分区页面在哈希树中的目标叶子节点及对应的祖先节点的更新哈希值。9.根据权利要求2或3所述的数据交换方法,其特征在于,所述执行交换分区功能包括:将目标分区页面的交换数据恢复到内存页面;所述方法还包括:若交换分区中保存的交换数据对应的哈希树的根节点数据,与私有存储区域保存的根节点数据一致,确定所述目标分区页面的交换数据对应的虚拟机信息;根据所确定虚拟机信息,确定对应的页表项;选择空闲的内存页面保存恢复的交换数据,并更新所述页表项指向所选择的内存页面。10.根据权利要求9所述的数据交换方法,其特征在于,所述确定所述目标分区页面的交换数据对应的虚拟机信息包括:确定目标分区页面的交换数据的加密密钥,并使用所述加密密钥解密交换数据,根据解密的交换数据确定对应的虚拟机信息。11.根据权利要求9所述的数据交换方法,其特征在于,在选择空闲的内存页面保存恢复的交换数据之前,所述方法还包括:验证所述页表项对应的分区页面标识VID与目标分区页面的VID是否一致;其中,一个VID对应交换分区中的一个分区页面,各VID的使用情况由VID使用位图指示。12.根据权利要求1所述的数据交换方法,其特征在于,所述哈希树使用线性数组保存;所述哈希树的数组层数与哈希树的节点层数相应,哈希树一个节点的哈希值在线程数组所对应的数组的索引值为:该节点的VID序号对应的...
【专利技术属性】
技术研发人员:杜朝晖,应志伟,
申请(专利权)人:海光信息技术有限公司,
类型:发明
国别省市:天津,12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。