CN113608925A - 一种基于持续数据保护cdp协议的数据备份方法及系统 - Google Patents
一种基于持续数据保护cdp协议的数据备份方法及系统 Download PDFInfo
- Publication number
- CN113608925A CN113608925A CN202110739800.5A CN202110739800A CN113608925A CN 113608925 A CN113608925 A CN 113608925A CN 202110739800 A CN202110739800 A CN 202110739800A CN 113608925 A CN113608925 A CN 113608925A
- Authority
- CN
- China
- Prior art keywords
- shared memory
- offset
- stored
- writeoffset
- writable
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000001360 synchronised effect Effects 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及数据备份技术领域,提供一种基于持续数据保护CDP协议的数据备份方法及系统,方法包括:当有IO写入时,与共享内存建立连接,获取偏移WriteOffset及偏移ReadOffset;判断共享内存是否写满一次;是则对偏移WriteOffset与偏移ReadOffset的差值比较,获取基础数据信息,并写入到偏移WriteOffset的地址位置上,否则获取待写入的IO的基础数据信息,并写入到偏移WriteOffset的地址位置上;当IO写入完成后,控制将IO写入到备存储设备中,实现数据的备份,既能够保证CDP备份时虚拟机的IO写性能不受影响,又能够避免了异常掉电的IO数据不一致性问题。
Description
技术领域
本发明属于数据备份技术领域,尤其涉及一种基于持续数据保护CDP协议的数据备份方法及系统。
背景技术
随着云计算技术的普及和成熟,越来越多的政府、企业、科研院校把信息资产部署到云端。信息资产上云后,企业的数据资产也随应用迁移到云上。如何保证数据不丢失成为企业首先考虑的问题之一。除了常用的定期备份技术,持续数据保护(Continuous DataProtection,CDP)技术也广泛应用到数据备份领域。例如公开号为CN106547641B、专利名称为一种基于卷的CDP备份方法的专利,提出利用Volume filter driver将源卷的写操作同步或者异步发送一份到镜像盘上,通过对输入输出IO的记录和处理实现CDP备份功能。
持续数据保护CDP技术是对IO记录的一种实时备份,通常分为两类:同步IO备份和异步IO备份,其中:
同步IO备份指的是:在有IO写入到主存储设备前,先把该IO写入到备存储设备,等该IO成功写入到备存储设备之后,再写入到主存储设备;但是,同步IO备份也存在严重的性能问题:一个IO写入两个存储设备,并且在实际生产中,出于成本的考虑,备存储设备的性能通常比主存储设备差,这样就导致基于同步IO备份的CDP备份的虚拟机IO写性能只有常规(不做备份的)虚拟机性能的40%左右;
异步IO备份指的是:在有IO写入到主存储设备前,先把该IO写入到备存储设备,但是并不会等待该IO写入成功,由于异步IO备份并不等待该IO写入备存储设备,性能通常比同步IO备份好,但存在的一个致命问题是针对异常掉电丢失过大的IO数据,无法保证IO的数据一致性。
发明内容
针对现有技术中的缺陷,本发明提供了一种基于持续数据保护CDP协议的数据备份方法,旨在解决现有技术中基于同步IO备份的CDP备份的虚拟机IO写性能较低,而基于异步IO备份的过程中,异常掉电丢失过大的IO数据,无法保证IO的数据一致性的问题。
本发明所提供的技术方案是:一种基于持续数据保护CDP协议的数据备份方法,所述方法包括下述步骤:
当计算机虚拟磁盘有IO写入时,控制与预先创建的共享内存建立连接,并获取共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset;
根据获取到的共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset,判断所述共享内存是否写满一次;
当判定所述共享内存未写满一次时,则获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中。
作为一种改进的方案,所述当计算机虚拟磁盘有IO写入时,控制与预先创建的共享内存建立连接的步骤之前还包括下述步骤:
根据用户的内存创建指令,预先创建一共享内存,并反馈创建的所述共享内存的ID和容量大小MemSize。
作为一种改进的方案,所述将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤之后;所述当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中的步骤之前还包括下述步骤:
当将基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上后,对共享内存存放可写IO的偏移WriteOffset的地址位置进行更新。
作为一种改进的方案,所述当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中的步骤具体包括下述步骤:
从获取到的所述共享内存存放可读IO的偏移ReadOffset地址位置,按照所述预设表的格式读取存储的IO写的基础数据信息;
将读取到的所述基础数据信息写入到备存储设备中;
当将所述基础数据信息写入到备存储设备中后,对所述共享内存存放可读IO的偏移ReadOffset地址位置进行更新。
作为一种改进的方案,所述当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤具体包括下述步骤:
当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断;
当共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset时,则执行所述获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤;
当共享内存存放可写IO的偏移WriteOffset大于等于共享内存存放可读IO的偏移ReadOffset时,则返回继续执行所述对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断的步骤,直至共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset。
本发明的另一目的在于提供一种基于持续数据保护CDP协议的数据备份系统,所述系统包括:
共享内存连接模块,用于当计算机虚拟磁盘有IO写入时,控制与预先创建的共享内存建立连接;
偏移地址获取模块,用于获取共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset;
写满判断模块,用于根据获取到的共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset,判断所述共享内存是否写满一次;
第一写IO处理模块,用于当判定所述共享内存未写满一次时,则获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
第二写IO处理模块,用于当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
同步备份模块,用于当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中。
作为一种改进的方案,所述系统还包括:
共享内存创建模块,用于根据用户的内存创建指令,预先创建一共享内存;
反馈模块,用于反馈创建的所述共享内存的ID和容量大小MemSize。
作为一种改进的方案,所述系统还包括:
偏移WriteOffset更新模块,用于当将基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上后,对共享内存存放可写IO的偏移WriteOffset的地址位置进行更新。
作为一种改进的方案,所述同步备份模块具体包括:
基础数据信息读取模块,用于从获取到的所述共享内存存放可读IO的偏移ReadOffset地址位置,按照所述预设表的格式读取存储的IO写的基础数据信息;
基础数据信息写入模块,用于将读取到的所述基础数据信息写入到备存储设备中;
偏移ReadOffset更新模块,用于当将所述基础数据信息写入到备存储设备中后,对所述共享内存存放可读IO的偏移ReadOffset地址位置进行更新。
作为一种改进的方案,所述第二写IO处理模块具体包括:
差值判断模块,用于当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断;
返回控制模块,用于当共享内存存放可写IO的偏移WriteOffset大于等于共享内存存放可读IO的偏移ReadOffset时,则返回继续执行所述对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断的步骤,直至共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset;
基础数据读取写入模块,用于当共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset时,则执行所述获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤。
在本发明实施例中,当计算机虚拟磁盘有IO写入时,控制与共享内存建立连接,获取偏移WriteOffset以及偏移ReadOffset;判断共享内存是否写满一次;是则对偏移WriteOffset与偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将基础数据信息以一预设表的格式写入到偏移WriteOffset的地址位置上,否则获取待写入的IO的基础数据信息,并将基础数据信息以一预设表的格式写入到偏移WriteOffset的地址位置上;当IO写入完成后,控制将共享内存中以预设表格式格式的IO写入到备存储设备中,实现数据的备份,既能够保证CDP备份时虚拟机的IO写性能不受太大影响,又能够避免了异常掉电的IO数据不一致性问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1是本发明提供的基于持续数据保护CDP协议的数据备份方法的实现流程图;
图2和图3分别是本发明提供的共享内存的结构示意图;
图4是本发明提供的当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中的实现流程图;
图5是本发明提供的判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的实现流程图;
图6是本发明提供的基于持续数据保护CDP协议的数据备份系统的结构框图;
图7是本发明提供的同步备份模块的结构框图;
图8是本发明提供的第二写IO处理模块的结构框图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的、技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
图1是本发明提供的基于持续数据保护CDP协议的数据备份方法的实现流程图,其具体包括下述步骤:
在步骤S101中,当计算机虚拟磁盘有IO写入时,控制与预先创建的共享内存建立连接,并获取共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset;
在步骤S102中,根据获取到的共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset,判断所述共享内存是否写满一次,是则执行步骤S104,否则执行步骤S103;
在步骤S103中,当判定所述共享内存未写满一次时,则获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
其中,该待写入的IO的基础数据信息包括IO的大小IOSize、源磁盘偏移SourceOffset、当前的IO时间戳IOMsec以及IO数据Iodata。
在步骤S104中,当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
在步骤S105中,当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中。
在该实施例中,在执行上述步骤S101之前还需要执行下述步骤:
根据用户的内存创建指令,预先创建一共享内存,并反馈创建的所述共享内存的ID和容量大小MemSize;
其中,该内存创建指令包含共享内存的创建位置、内存大小等信息,内存大小可以为1G。
而且,该创建的共享内存可以采用环形队列方式实现,其具体的结构如图2和图3所示,其中,图2表达的未写满一次的状态,图3表达的是已写满一次的状态。
在本发明实施例中,上述预设表为预先设置的一个表格,其表达的是共享内存中IO真实数据,可以参考下表:
SourceOffset | 源磁盘偏移 |
IOSize | IO大小 |
IOMsec | IO时间戳 |
IOData | 真实IO数据 |
在本发明实施例中,将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤之后;所述当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中的步骤之前还包括下述步骤:
当将基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上后,对共享内存存放可写IO的偏移WriteOffset的地址位置进行更新;
其中,写入成功后,更新WriteOffset,即WriteOffset=WriteOffset+IOSize;如果WriteOffset>=MemSize,则WriteOffset重置为0,从头开始记录IO。
如图4所示,当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中的步骤具体包括下述步骤:
在步骤S201中,从获取到的所述共享内存存放可读IO的偏移ReadOffset地址位置,按照所述预设表的格式读取存储的IO写的基础数据信息;
在步骤S202中,将读取到的所述基础数据信息写入到备存储设备中;
在步骤S203中,当将所述基础数据信息写入到备存储设备中后,对所述共享内存存放可读IO的偏移ReadOffset地址位置进行更新。
在该步骤中,写入成功后,更新ReadOffset,即ReadOffset=ReadOffset+IOSize;
如果ReadOffset>=MemSize,则ReadOffset重置为0,从头开始记录IO;
在该阶段,ReadOffset总是小于等于WriteOffset,因为写入IO至共享内存的速度大于写入备份设备的速度,但是从另一方面,虚拟机内的IO不是总是在写(IO不是一直在写,而一直在从共享内存拷贝IO到备存储设备)。
在本发明实施例中,如图5所示,当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤具体包括下述步骤:
在步骤S301中,当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断;
在步骤S302中,当共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset时,则执行所述获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤;
在步骤S303中,当共享内存存放可写IO的偏移WriteOffset大于等于共享内存存放可读IO的偏移ReadOffset时,则返回继续执行所述对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断的步骤,直至共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset。
在本发明实施例中,CDP备份时,首先把虚拟机的写IO暂时存放到PMEM共享内存中,几乎不影响原虚拟机的IO写性能;然后从该PMEM共享内存中读取原IO,逐个写入到备存储设备上,保证了IO数据的最终落盘;最后,针对异常掉电的场景,该CDP备份方法也保持了IO数据的一致性。
图6示出了本发明提供的基于持续数据保护CDP协议的数据备份系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
基于持续数据保护CDP协议的数据备份系统包括:
共享内存连接模块11,用于当计算机虚拟磁盘有IO写入时,控制与预先创建的共享内存建立连接;
偏移地址获取模块12,用于获取共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset;
写满判断模块13,用于根据获取到的共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset,判断所述共享内存是否写满一次;
第一写IO处理模块14,用于当判定所述共享内存未写满一次时,则获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
第二写IO处理模块15,用于当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
同步备份模块16,用于当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中。
在该实施例中,所述系统还包括:
共享内存创建模块17,用于根据用户的内存创建指令,预先创建一共享内存;
反馈模块18,用于反馈创建的所述共享内存的ID和容量大小MemSize。
在本发明实施例中,所述系统还包括:
偏移WriteOffset更新模块19,用于当将基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上后,对共享内存存放可写IO的偏移WriteOffset的地址位置进行更新。
如图7所示,所述同步备份模块16具体包括:
基础数据信息读取模块20,用于从获取到的所述共享内存存放可读IO的偏移ReadOffset地址位置,按照所述预设表的格式读取存储的IO写的基础数据信息;
基础数据信息写入模块21,用于将读取到的所述基础数据信息写入到备存储设备中;
偏移ReadOffset更新模块22,用于当将所述基础数据信息写入到备存储设备中后,对所述共享内存存放可读IO的偏移ReadOffset地址位置进行更新。
如图8所示,所述第二写IO处理模块15具体包括:
差值判断模块23,用于当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断;
返回控制模块24,用于当共享内存存放可写IO的偏移WriteOffset大于等于共享内存存放可读IO的偏移ReadOffset时,则返回继续执行所述对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断的步骤,直至共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset;
基础数据读取写入模块25,用于当共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset时,则执行所述获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤。
在本发明实施例中,当计算机虚拟磁盘有IO写入时,控制与共享内存建立连接,获取偏移WriteOffset以及偏移ReadOffset;判断共享内存是否写满一次;是则对偏移WriteOffset与偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将基础数据信息以一预设表的格式写入到偏移WriteOffset的地址位置上,否则获取待写入的IO的基础数据信息,并将基础数据信息以一预设表的格式写入到偏移WriteOffset的地址位置上;当IO写入完成后,控制将共享内存中以预设表格式格式的IO写入到备存储设备中,实现数据的备份,既能够保证CDP备份时虚拟机的IO写性能不受太大影响,又能够避免了异常掉电的IO数据不一致性问题。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种基于持续数据保护CDP协议的数据备份方法,其特征在于,所述方法包括下述步骤:
当计算机虚拟磁盘有IO写入时,控制与预先创建的共享内存建立连接,并获取共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset;
根据获取到的共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset,判断所述共享内存是否写满一次;
当判定所述共享内存未写满一次时,则获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中。
2.根据权利要求1所述的基于持续数据保护CDP协议的数据备份方法,其特征在于,所述当计算机虚拟磁盘有IO写入时,控制与预先创建的共享内存建立连接的步骤之前还包括下述步骤:
根据用户的内存创建指令,预先创建一共享内存,并反馈创建的所述共享内存的ID和容量大小MemSize。
3.根据权利要求1所述的基于持续数据保护CDP协议的数据备份方法,其特征在于,所述将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤之后;所述当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中的步骤之前还包括下述步骤:
当将基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上后,对共享内存存放可写IO的偏移WriteOffset的地址位置进行更新。
4.根据权利要求1所述的基于持续数据保护CDP协议的数据备份方法,其特征在于,所述当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中的步骤具体包括下述步骤:
从获取到的所述共享内存存放可读IO的偏移ReadOffset地址位置,按照所述预设表的格式读取存储的IO写的基础数据信息;
将读取到的所述基础数据信息写入到备存储设备中;
当将所述基础数据信息写入到备存储设备中后,对所述共享内存存放可读IO的偏移ReadOffset地址位置进行更新。
5.根据权利要求1所述的基于持续数据保护CDP协议的数据备份方法,其特征在于,所述当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤具体包括下述步骤:
当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断;
当共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset时,则执行所述获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤;
当共享内存存放可写IO的偏移WriteOffset大于等于共享内存存放可读IO的偏移ReadOffset时,则返回继续执行所述对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断的步骤,直至共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset。
6.一种基于持续数据保护CDP协议的数据备份系统,其特征在于,所述系统包括:
共享内存连接模块,用于当计算机虚拟磁盘有IO写入时,控制与预先创建的共享内存建立连接;
偏移地址获取模块,用于获取共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset;
写满判断模块,用于根据获取到的共享内存存放可写IO的偏移WriteOffset以及共享内存存放可读IO的偏移ReadOffset,判断所述共享内存是否写满一次;
第一写IO处理模块,用于当判定所述共享内存未写满一次时,则获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
第二写IO处理模块,用于当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较,并根据比较结果,获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上;
同步备份模块,用于当IO写入完成后,控制将所述共享内存中以预设表格式格式的IO写入到备存储设备中。
7.根据权利要求6所述的基于持续数据保护CDP协议的数据备份系统,其特征在于,所述系统还包括:
共享内存创建模块,用于根据用户的内存创建指令,预先创建一共享内存;
反馈模块,用于反馈创建的所述共享内存的ID和容量大小MemSize。
8.根据权利要求6所述的基于持续数据保护CDP协议的数据备份系统,其特征在于,所述系统还包括:
偏移WriteOffset更新模块,用于当将基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上后,对共享内存存放可写IO的偏移WriteOffset的地址位置进行更新。
9.根据权利要求6所述的基于持续数据保护CDP协议的数据备份系统,其特征在于,所述同步备份模块具体包括:
基础数据信息读取模块,用于从获取到的所述共享内存存放可读IO的偏移ReadOffset地址位置,按照所述预设表的格式读取存储的IO写的基础数据信息;
基础数据信息写入模块,用于将读取到的所述基础数据信息写入到备存储设备中;
偏移ReadOffset更新模块,用于当将所述基础数据信息写入到备存储设备中后,对所述共享内存存放可读IO的偏移ReadOffset地址位置进行更新。
10.根据权利要求6所述的基于持续数据保护CDP协议的数据备份系统,其特征在于,所述第二写IO处理模块具体包括:
差值判断模块,用于当判定所述共享内存已写满一次时,对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断;
返回控制模块,用于当共享内存存放可写IO的偏移WriteOffset大于等于共享内存存放可读IO的偏移ReadOffset时,则返回继续执行所述对共享内存存放可写IO的偏移WriteOffset与共享内存存放可读IO的偏移ReadOffset的差值进行比较判断的步骤,直至共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset;
基础数据读取写入模块,用于当共享内存存放可写IO的偏移WriteOffset小于共享内存存放可读IO的偏移ReadOffset时,则执行所述获取待写入的IO的基础数据信息,并将所述基础数据信息以一预设表的格式写入到共享内存存放可写IO的偏移WriteOffset的地址位置上的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110739800.5A CN113608925A (zh) | 2021-06-30 | 2021-06-30 | 一种基于持续数据保护cdp协议的数据备份方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110739800.5A CN113608925A (zh) | 2021-06-30 | 2021-06-30 | 一种基于持续数据保护cdp协议的数据备份方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113608925A true CN113608925A (zh) | 2021-11-05 |
Family
ID=78337064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110739800.5A Pending CN113608925A (zh) | 2021-06-30 | 2021-06-30 | 一种基于持续数据保护cdp协议的数据备份方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608925A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578446A (zh) * | 2023-07-10 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 虚拟机备份方法、装置、系统、电子设备及存储介质 |
CN117743266A (zh) * | 2023-11-13 | 2024-03-22 | 中国电力工程顾问集团有限公司 | 一种边缘控制器的数据存储方法及装置 |
-
2021
- 2021-06-30 CN CN202110739800.5A patent/CN113608925A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578446A (zh) * | 2023-07-10 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 虚拟机备份方法、装置、系统、电子设备及存储介质 |
CN116578446B (zh) * | 2023-07-10 | 2023-09-22 | 苏州浪潮智能科技有限公司 | 虚拟机备份方法、装置、系统、电子设备及存储介质 |
CN117743266A (zh) * | 2023-11-13 | 2024-03-22 | 中国电力工程顾问集团有限公司 | 一种边缘控制器的数据存储方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230138736A1 (en) | Cluster file system-based data backup method and apparatus, and readable storage medium | |
JP4764472B2 (ja) | データベース管理方法、データベース管理プログラム、および、データベース管理装置 | |
CN108460045B (zh) | 一种快照的处理方法及分布式块存储系统 | |
CN113608925A (zh) | 一种基于持续数据保护cdp协议的数据备份方法及系统 | |
CN103780638A (zh) | 数据同步方法及系统 | |
US10609141B2 (en) | Methods and apparatuses for cluster switching | |
US20170083419A1 (en) | Data management method, node, and system for database cluster | |
CN109117086B (zh) | 存储设备数据位置的处理方法、装置、设备及存储介质 | |
CN111506253A (zh) | 一种分布式存储系统及其存储方法 | |
CN110019063A (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
US20230385155A1 (en) | Data Snapshot Method and Apparatus, Computer Device, and Storage Medium | |
CN111158858A (zh) | 一种虚拟机的克隆方法和装置,及计算机可读存储介质 | |
CN105389268A (zh) | 资料储存系统及其运作方法 | |
CN112882859A (zh) | 一种虚拟机合成备份方法及系统 | |
CN110928890B (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
US20160253247A1 (en) | Method and device for restoring system file indexes | |
CN117472647A (zh) | 一种数据库事务回滚方法及装置 | |
CN111338850A (zh) | 一种基于cow模式多快照下提高备份效率的方法及系统 | |
CN103729301A (zh) | 数据处理方法和装置 | |
US6854038B2 (en) | Global status journaling in NVS | |
CN114138424B (zh) | 一种虚拟机内存快照生成方法、装置及电子设备 | |
CN115827322A (zh) | 一种云存储数据全量灾备方法及系统 | |
CN105260264A (zh) | 一种快照实现方法及快照系统 | |
CN115033425A (zh) | 一种提高数据备份成功率的方法 | |
CN102637140B (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 |