首页> 中国专利> 一种数据热快照方法、装置、设备及计算机可读存储介质

一种数据热快照方法、装置、设备及计算机可读存储介质

摘要

本发明公开了一种数据热快照方法,该方法包括以下步骤:接收数据热快照请求;对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中;判断数据块下刷操作是否完成;若是,则对各云硬盘中的各数据块进行热快照操作。应用本发明实施例所提供的技术方案,通过对云主机文件系统进行冻结操作,促使内存中的各数据块全部迅速下刷到云硬盘中,并阻止内存进行新数据写入,保证了数据完整性和一致性。本发明还公开了一种数据热快照装置、设备及存储介质,具有相应技术效果。

著录项

  • 公开/公告号CN112162882A

    专利类型发明专利

  • 公开/公告日2021-01-01

    原文格式PDF

  • 申请/专利权人 北京浪潮数据技术有限公司;

    申请/专利号CN202010922901.1

  • 发明设计人 郭敬宇;

    申请日2020-09-04

  • 分类号G06F11/14(20060101);G06F16/11(20190101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人侯珊

  • 地址 100085 北京市海淀区上地信息路2号C栋5层

  • 入库时间 2023-06-19 09:23:00

说明书

技术领域

本发明涉及存储技术领域,特别是涉及一种数据热快照方法、装置、设备及计算机可读存储介质。

背景技术

在云计算领域,为提高云主机数据安全性,需要对云主机中的数据做快照处理。为了不影响云主机系统业务的正常运行,选用云主机处于运行状态做快照的方式,即热快照方式进行数据快照操作。

现有的对云主机挂载的云硬盘中的数据进行数据热快照方式为通过对云硬盘进行加锁实现数据热快照。在云硬盘处于加锁状态时,可能造成云主机系统短暂IO错误,很容易被系统误认为即云硬盘故障。云主机操作系统出于保护文件系统元数据以及运行稳定性的考虑,此时会将IO错误的云硬盘以只读的方式重新挂载,导致内存中的数据无法下刷到云硬盘。因此,对于同时挂载系统盘、数据的多云硬盘类型云主机,因系统判断错误,会引发数据丢失,造成数据不一致。

综上所述,如何有效地解决现有的数据热快照方式易引发数据丢失,造成数据不一致等问题,是目前本领域技术人员急需解决的问题。

发明内容

本发明的目的是提供一种数据热快照方法,该方法保证了数据完整性和一致性;本发明的另一目的是提供一种数据热快照装置、设备及计算机可读存储介质。

为解决上述技术问题,本发明提供如下技术方案:

一种数据热快照方法,包括:

接收数据热快照请求;

对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中;

判断数据块下刷操作是否完成;

若是,则对各所述云硬盘中的各数据块进行热快照操作。

在本发明的一种具体实施方式中,对云主机文件系统进行冻结操作,包括:

利用fsfreeze工具对所述云主机文件系统进行冻结操作。

在本发明的一种具体实施方式中,在接收数据热快照请求之前,还包括:

监听虚拟串口设备,得到tunneled网络服务访问请求;

生成激活状态反馈信息,并将所述激活状态反馈信息返回给请求端。

在本发明的一种具体实施方式中,判断数据块下刷操作是否完成,包括:

判断所述内存中待下刷的数据块是否均下载完成;

对各所述云硬盘中的各数据块进行热快照操作,包括:

对各所述云硬盘中的各所述数据块统一进行热快照操作。

在本发明的一种具体实施方式中,判断数据块下刷操作是否完成,包括:

判断是否存在数据块接收完成的云硬盘;

对各所述云硬盘中的各数据块进行热快照操作,包括:

按照数据块接收完成的时间顺序,依次对各所述云硬盘中的各所述数据块进行热快照操作。

在本发明的一种具体实施方式中,在对各所述云硬盘中的各所述数据块进行热快照操作之后,还包括:

对所述云主机文件系统进行解冻操作。

在本发明的一种具体实施方式中,对所述云主机文件系统进行解冻操作,包括:

利用fsthaw工具对所述云主机文件系统进行解冻操作。

一种数据热快照装置,包括:

请求接收模块,用于接收数据热快照请求;

数据块下刷模块,用于对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中;

第一判断模块,用于判断数据块下刷操作是否完成;

热快照模块,用于当确定数据块下刷操作完成时,对各所述云硬盘中的各数据块进行热快照操作。

一种数据热快照设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如前所述数据热快照方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述数据热快照方法的步骤。

应用本发明实施例所提供的方法,接收数据热快照请求;对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中;判断数据块下刷操作是否完成;若是,则对各云硬盘中的各数据块进行热快照操作。通过当需要进行数据热快照时,对云主机文件系统进行冻结操作,促使内存中的各数据块全部迅速下刷到云硬盘中,并阻止内存进行新数据写入,保证了数据完整性和一致性。

相应的,本发明实施例还提供了与上述数据热快照方法相对应的数据热快照装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中数据热快照方法的一种实施流程图;

图2为本发明实施例中数据热快照方法的另一种实施流程图;

图3为本发明实施例中数据热快照方法的另一种实施流程图;

图4为本发明实施例中一种数据热快照装置的结构框图;

图5为本发明实施例中一种数据热快照设备的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

参见图1,图1为本发明实施例中数据热快照方法的一种实施流程图,该方法可以包括以下步骤:

S101:接收数据热快照请求。

当需要进行数据热快照时,请求端向云主机服务(Guest agent)发送数据热快照请求,云主机服务接收数据热快照请求。

云主机服务为运行在云主机内部,负责与虚拟化管理进程交互以完成特定操作的服务。

S102:对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中。

云主机服务在接收到数据热快照请求之后,对云主机文件系统进行冻结操作。通过对云主机文件系统冻结,阻止新数据向内存写入,且促使内存中的各数据块迅速下刷到对应的云硬盘中。

S103:判断数据块下刷操作是否完成,若是,则执行步骤S104,若否,则不做处理。

在对云主机文件系统进行冻结操作之后,可以按照预设时间间隔或实时判断数据块下刷操作是否完成,若是,则说明对应的云硬盘中已经存有接收数据热快照请求时刻内存及云硬盘中总体的各数据块,执行步骤S104。若否,则说明内存中的数据块还未下刷到相应的云硬盘中,不做处理,继续等待。

S104:对各云硬盘中的各数据块进行热快照操作。

在确定数据块下刷操作完成时,对各云硬盘中的各数据块进行热快照操作。通过当需要进行数据热快照时,对云主机文件系统进行冻结操作,促使内存中的各数据块全部迅速下刷到云硬盘中,并阻止内存进行新数据写入,保证了数据完整性和一致性。

应用本发明实施例所提供的方法,接收数据热快照请求;对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中;判断数据块下刷操作是否完成;若是,则对各云硬盘中的各数据块进行热快照操作。通过当需要进行数据热快照时,对云主机文件系统进行冻结操作,促使内存中的各数据块全部迅速下刷到云硬盘中,并阻止内存进行新数据写入,保证了数据完整性和一致性。

需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。

实施例二:

参见图2,图2为本发明实施例中数据热快照方法的另一种实施流程图,该方法可以包括以下步骤:

S201:监听虚拟串口设备,得到tunneled网络服务访问请求。

预先定义虚拟串口设备,用于与请求端的tunneled网络服务进行跨进程通信,虚拟串口设备与tunneled网络服务之间的串口通信通过Qemu Monitor实现。当云主机服务启动时,搜索是否存在虚拟串口设备,当搜索到虚拟串口设备时,监听虚拟串口设备,得到tunneled网络服务访问请求。

S202:生成激活状态反馈信息,并将激活状态反馈信息返回给请求端。

当监听到tunneled网络服务访问请求之后,生成激活(alive)状态反馈信息,并将激活状态反馈信息返回给请求端,从而请求端获知云主机服务处于可用状态,能够对数据热快照请求做出正常的响应。即通过“Ping”操作确定云主机服务是否能够正常响应,“Ping”操作对应的API接口可由扩展开源虚拟化管理工具Libvirt提供。

S203:接收数据热快照请求。

S204:利用fsfreeze工具对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中。

在接收到数据热快照请求,利用fsfreeze工具对云主机文件系统进行冻结操作。具体的可以通过扩展开源虚拟化管理工具Libvirt提供相应的冻结操作的API接口,进而利用fsfreeze工具对云主机文件系统进行冻结操作。

S205:判断内存中待下刷的数据块是否均下载完成,若是,则执行步骤S206,若否,则不做处理。

在对云主机文件系统进行冻结操作之后,可以按照预设时间间隔或实时判断内存中待下刷的数据块是否均下载完成,若是,则说明各云硬盘中已经存有接收数据热快照请求时刻内存及各自云硬盘中总体的各数据块,执行步骤S206。若否,则说明内存中的数据块未全部下刷完成,不做处理,继续等待。

S206:对各云硬盘中的各数据块统一进行热快照操作。

当确定内存中待下刷的数据块均下载完成时,对各云硬盘中的各数据块统一进行热快照操作。通过在确定内存中各数据块均下刷完成时,对各云硬盘中的各数据块统一进行热快照操作,进一步保证了数据完整性和一致性。

S207:利用fsthaw工具对云主机文件系统进行解冻操作。

当对各云硬盘中的各数据块统一进行热快照操作完成之后,利用fsthaw工具对云主机文件系统进行解冻操作,从而恢复内存的正常写入。解冻操作对应的API接口也可由扩展开源虚拟化管理工具Libvirt提供。

实施例三:

参见图3,图3为本发明实施例中数据热快照方法的另一种实施流程图,该方法可以包括以下步骤:

S301:监听虚拟串口设备,得到tunneled网络服务访问请求;

S302:生成激活状态反馈信息,并将激活状态反馈信息返回给请求端。

S303:接收数据热快照请求。

S304:利用fsfreeze工具对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中。

S305:判断是否存在数据块接收完成的云硬盘,若是,则执行步骤S306,若否,则不做处理。

在对云主机文件系统进行冻结操作之后,可以按照预设时间间隔或实时判断数据块下刷操作是否完成,若是,则说明存在内存中需要存入相应云硬盘的数据块下刷完成的云硬盘,执行步骤S306,若否,则说明未进行快照的云硬盘仍处于承接内存下刷的数据块的阶段,不做处理,继续等待。

S306:按照数据块接收完成的时间顺序,依次对各云硬盘中的各数据块进行热快照操作。

在确定存在数据块接收完成的云硬盘时,按照数据块接收完成的时间顺序,依次对各云硬盘中的各数据块进行热快照操作。通过当各云硬盘完成承接内存下刷的数据块之后,直接对相应云硬盘中的数据块进行热快照操作,无需等待,较大地提高了热快照效率。

S307:利用fsthaw工具对云主机文件系统进行解冻操作。

相应于上面的方法实施例,本发明实施例还提供了一种数据热快照装置,下文描述的数据热快照装置与上文描述的数据热快照方法可相互对应参照。

参见图4,图4为本发明实施例中一种数据热快照装置的结构框图,该装置可以包括:

请求接收模块41,用于接收数据热快照请求;

数据块下刷模块42,用于对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中;

第一判断模块43,用于判断数据块下刷操作是否完成;

热快照模块44,用于当确定数据块下刷操作完成时,对各云硬盘中的各数据块进行热快照操作。

应用本发明实施例所提供的装置,接收数据热快照请求;对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中;判断数据块下刷操作是否完成;若是,则对各云硬盘中的各数据块进行热快照操作。通过当需要进行数据热快照时,对云主机文件系统进行冻结操作,促使内存中的各数据块全部迅速下刷到云硬盘中,并阻止内存进行新数据写入,保证了数据完整性和一致性。

在本发明的一种具体实施方式中,数据块下刷模块42包括文件系统冻结子模块,文件系统冻结子模块具体为利用fsfreeze工具对云主机文件系统进行冻结操作的模块。

在本发明的一种具体实施方式中,该装置还可以包括:

监听模块,用于在接收数据热快照请求之前,监听虚拟串口设备,得到tunneled网络服务访问请求;

信息返回模块,用于生成激活状态反馈信息,并将激活状态反馈信息返回给请求端。

在本发明的一种具体实施方式中,第一判断模块43具体为判断内存中待下刷的数据块是否均下载完成的模块;

热快照模块44具体为对各云硬盘中的各数据块统一进行热快照操作的模块。

在本发明的一种具体实施方式中,第一判断模块43具体为判断是否存在数据块接收完成的云硬盘的模块;

热快照模块44具体为按照数据块接收完成的时间顺序,依次对各云硬盘中的各数据块进行热快照操作的模块。

在本发明的一种具体实施方式中,该装置还可以包括:

文件系统解冻模块,用于在对各云硬盘中的各数据块进行热快照操作之后,对云主机文件系统进行解冻操作。

在本发明的一种具体实施方式中,文件系统解冻模块具体为利用fsthaw工具对云主机文件系统进行解冻操作的模块。

相应于上面的方法实施例,参见图5,图5为本发明所提供的数据热快照设备的示意图,该设备可以包括:

存储器51,用于存储计算机程序;

处理器52,用于执行上述存储器51存储的计算机程序时可实现如下步骤:

接收数据热快照请求;对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中;判断数据块下刷操作是否完成;若是,则对各云硬盘中的各数据块进行热快照操作。

对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。

相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:

接收数据热快照请求;对云主机文件系统进行冻结操作,以使内存中的各数据块分别下刷到对应的云硬盘中;判断数据块下刷操作是否完成;若是,则对各云硬盘中的各数据块进行热快照操作。

该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号