CN116450418B - 基于卷备份的断点差异同步方法、系统及卷实时备份方法 - Google Patents
基于卷备份的断点差异同步方法、系统及卷实时备份方法 Download PDFInfo
- Publication number
- CN116450418B CN116450418B CN202310667421.9A CN202310667421A CN116450418B CN 116450418 B CN116450418 B CN 116450418B CN 202310667421 A CN202310667421 A CN 202310667421A CN 116450418 B CN116450418 B CN 116450418B
- Authority
- CN
- China
- Prior art keywords
- backup
- cache
- write
- read
- current
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004519 manufacturing process Methods 0.000 claims abstract description 109
- 238000012790 confirmation Methods 0.000 claims abstract description 88
- 238000012544 monitoring process Methods 0.000 claims abstract description 48
- 230000008859 change Effects 0.000 claims description 55
- 238000012545 processing Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 8
- 238000011084 recovery Methods 0.000 abstract description 8
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000000052 comparative effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
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
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于卷备份的断点差异同步方法、系统及卷实时备份方法,属于数据容灾备份技术领域。所述断点差异同步方法包括步骤:拆分生产卷磁盘;创建备份确认记录表;更新备份确认记录表;拷贝备份确认记录表;处理生产系统重新启动。所述断点差异同步系统包括:拆分生产卷磁盘模块;创建备份确认记录表模块;更新备份确认记录表模块;拷贝备份确认记录表模块;处理生产系统重新启动模块。本发明将磁盘拆分为若干数据块,通过备份确认记录表更新数据块的写IO次数和读IO次数,之后再通过校验数据块的读/写IO次数一致情况,进行差异同步,该方法帮助生产主机在遭遇断点后可进行差异同步而非进行完全同步,从而快速进入到实时监控阶段。
Description
技术领域
本发明属于数据容灾备份技术领域,涉及一种基于卷备份的断点差异同步方法、系统及卷实时备份方法。
背景技术
数据备份是数据容灾的基础,数据备份的过程是将生产端的数据同步到目标端。差异同步是指获得每次变化的数据,再将变化的数据同步到目标端,以尽可能地减少每次的同步数据量,提高同步效率。
实时备份是指实时地对业务数据进行备份的方式。相对于传统定时备份的方式,实时备份可以达到极小的RPO(Recovery Point Objective),最大程度上避免由于故障导致的数据丢失。卷实时备份是一种针对卷的实时备份技术,是数据容灾备份领域的重点研究问题。
目前,卷实时备份技术一般结合I/O数据监控技术,可以分为两个主要步骤:步骤1.生产卷同步:任务启动后,通过对生产卷创建快照,备份客户端将快照数据通过网络备份到服务端的镜像空间,完成首次同步;步骤2.生产卷变化数据实时监控:一旦快照创建后,备份客户端的驱动模块会监控生产卷I/O的变化,将实时变化数据同步到备份系统的日志空间。但是,如前所述,卷实时备份技术在执行步骤2生产卷变化数据实时监控时,若备份源生产主机出现正常重启或关闭重启的断点情况,每次都需要进行完全同步,这样会花费大量的时间,从而影响了生产卷同步的效率。
因此,如何能够在断点情况出现后快速完成生产卷同步,而后迅速开始生产卷变化数据实时监控,是当前急需解决的技术问题。
发明内容
本发明为了解决上述背景技术中的技术问题,提供一种基于卷备份的断点差异同步方法、系统及卷实时备份方法,所述方案如下:
第一个方面,提供了一种基于卷备份的断点差异同步方法,所述方法包括步骤:
将生产卷磁盘拆分为若干大小相同的数据块;
监控驱动在内存中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由写I/O次数变量和备份读I/O次数变量组成;
当写磁盘时,监控驱动在备份确认记录表中记录生产卷每个数据块的写IO次数;当备份变化数据时,监控驱动在备份确认记录表中更新生产卷每个数据块的备份读I/O;
当监测到生产系统的关机事件,将备份确认记录表从内存拷贝到磁盘;
在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,最后执行差异同步操作。
在其中一个实施例中,所述将生产卷磁盘拆分为若干大小相同的数据块步骤,包括:
将所述生产卷磁盘拆分为若干数据块,每个所述数据块的大小为2N兆,所述N为整数,取值为0-5;
对全部所述数据块进行依次编号。
在其中一个实施例中,在所述在监控驱动中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由写I/O次数变量和备份读I/O次数变量组成步骤中,所述写I/O次数变量和所述备份读I/O次数变量均为32位整型变量。
在其中一个实施例中,所述在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,最后执行差异同步操作步骤,包括:
在生产系统重新启动后,从磁盘中将备份确认记录表加载到内存;
遍历备份确认记录表中的记录元素,并比较每个记录元素中写I/O次数与备份读I/O次数,获得一致性校验结果;
根据一致性校验结果,将写I/O次数与备份读I/O次数不一致的记录元素所对应的数据块数据同步到备份服务端系统。
在其中一个实施例中,上述基于卷备份的断点差异同步方法,还包括步骤:
当备份客户端系统检测到备份服务端重新启动,备份客户端系统连接并询问备份服务端系统是否执行快速差异同步操作,若是,则通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,再执行差异同步操作;若否,直接进行实时监控。
第二个方面,提供了一种基于卷备份的断点差异同步系统,所述系统包括:
拆分生产卷磁盘模块,用于将生产卷磁盘拆分为若干大小相同的数据块;
创建备份确认记录表模块,用于监控驱动在内存中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由写I/O次数变量和备份读I/O次数变量组成;
更新备份确认记录表模块,用于当写磁盘时,监控驱动在备份确认记录表中记录生产卷每个数据块的写IO次数;当备份变化数据时,监控驱动在备份确认记录表中更新生产卷每个数据块的备份读I/O;
拷贝备份确认记录表模块,用于当监测到生产系统的关机事件,将备份确认记录表从内存拷贝到磁盘;
处理生产系统重新启动模块,用于在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,最后执行差异同步操作。
在其中一个实施例中,所述拆分生产卷磁盘模块,包括:
拆分生产卷磁盘单元,用于将所述生产卷磁盘拆分为若干数据块,每个所述数据块的大小为2N兆,所述N为整数,取值为0-5;
编号数据块单元,用于对全部所述数据块进行依次编号。
在其中一个实施例中,在所述创建备份确认记录表模块中,所述写I/O次数变量和所述备份读I/O次数变量均为32位整型变量。
在其中一个实施例中,所述处理生产系统重新启动模块,包括:
加载恢复单元,用于在生产系统重新启动后,从磁盘中将备份确认记录表加载到内存;
一致性校验单元,用于遍历备份确认记录表中的记录元素,并比较每个记录元素中写I/O次数与备份读I/O次数,获得一致性校验结果;
差异同步单元,用于根据一致性校验结果,将写I/O次数与备份读I/O次数不一致的记录元素所对应的数据块数据同步到备份服务端系统。
在其中一个实施例中,上述基于卷备份的断点差异同步系统,还包括:
处理备份服务端重新启动模块,用于当备份客户端系统检测到备份服务端重新启动,备份客户端系统连接并询问备份服务端系统是否执行快速差异同步操作,若是,则通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,再执行差异同步操作;若否,直接进行实时监控。
第三个方面,提供一种卷实时备份方法,利用上述基于卷备份的断点差异同步方法,还包括步骤:
监控驱动实时监控并捕获I/O变化数据,再构造与该I/O变化数据相应的第一结构体,所述第一结构体具有结构头,所述结构头包括I/O变化数据长度;
通过第一变量,将内存缓存和文件缓存用同一个第二结构体进行表征,所述第一变量包括缓存中已放有第一结构体对象的数量和完全的缓存空间大小;
通过第二变量和第三变量,将监控驱动写指针与变化数据发送程序读指针用同一个第三结构体进行表征,所述第二变量包括写指针的缓存位置和写指针的切换次数;所述第三变量包括读指针的缓存位置和读指针的切换次数;
在进行数据缓存时,根据第一结构体、第二结构体和第三结构体,获取第一信息,再根据第一信息,将写指针切换到当前缓存的头部或切换到下一个缓存,其中所述第一信息包括写指针的当前缓存位置、写指针占用当前缓存的程度、写指针的当前切换次数、读指针的当前缓存位置、读指针的当前切换次数;
在进行数据同步时,根据第一结构体、第二结构体和第三结构体,获取第二信息,再根据第二信息,将读指针切换到当前缓存的头部或切换到下一个缓存或切回到初始缓存,其中所述第二信息包括写指针的当前缓存位置、写指针的当前切换次数、读指针的当前缓存位置、读指针读取当前缓存的程度和读指针的当前切换次数;
其中下一个缓存为内存缓存或文件缓存;初始缓存为内存缓存。
在其中一个实施例中,所述在进行数据缓存时,根据第一结构体、第二结构体和第三结构体,获取第一信息,再根据第一信息,将写指针切换到当前缓存的头部或切换到下一个缓存的步骤,包括:
根据第一信息判断写指针是否切换到当前缓存的头部:
若同时满足三个条件:(1)写指针与读指针当前位于相同缓存;(2)写指针与读指针当前切换次数相等;(3)写指针占用当前缓存长度P1加上I/O变化数据对象长度P2的总值P4大于当前缓存的分配边界长度P3,或写指针占用当前缓存长度P1等于当前缓存的分配边界长度P3,即判断写指针切换到当前缓存的头部;若未同时满足上述三个条件,则继续在当前缓存写入I/O变化数据,直到同时满足上述三个条件;
根据第一信息判断写指针是否切换到下一个缓存:
若同时满足三个条件:(1)写指针与读指针在当前缓存碰撞或预计碰撞;(2)写指针与读指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量大于0,即判断写指针切换到下一个缓存;若未同时满足上述三个条件,则继续在当前缓存写入I/O变化数据,直到同时满足上述三个条件。
在其中一个实施例中,所述在进行数据同步时,根据第一结构体、第二结构体和第三结构体,获取第二信息,再根据第二信息,将读指针切换到当前缓存的头部或切换到下一个缓存或切回到初始缓存步骤,包括:
根据第二信息判断读指针是否切换到当前缓存的头部:
若同时满足三个条件:(1)读指针位于当前缓存尾部;(2)读指针与写指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量大于0,即判断读指针切换到当前缓存的头部;若未同时满足上述三个条件,则继续在当前缓存读取I/O变化数据,直到同时满足上述三个条件;
根据第二信息判断读指针是否切换到下一个缓存:
若同时满足两个条件:(1)读指针与写指针当前切换次数不相等;(2)当前缓存中已放有第一结构体对象的数量为0,即判断读指针切换到下一个缓存;若未同时满足上述两个条件,则继续在当前缓存读取I/O变化数据,直到同时满足上述两个条件;
根据第二信息判断读指针是否切回到初始缓存:
若同时满足四个条件:(1)读指针与写指针在当前缓存碰撞;(2)读指针与写指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量为0;(4)读指针当前位于文件缓存,即判断读指针回到初始缓存;若未同时满足上述四个条件,则继续在当前缓存读取I/O变化数据,直到同时满足上述四个条件。
在其中一个实施例中,在所述通过第一变量,将内存缓存和文件缓存用同一个第二结构体进行表征的步骤中,所述第一变量还包括实际的缓存空间大小;
在进行数据缓存时,根据第一信息,写指针将当前实际的缓存空间尾部作为当前缓存尾部,再将写指针切换到当前缓存的头部;
在进行数据同步时,根据第二信息,读指针将当前实际的缓存空间尾部作为当前缓存尾部,再将读指针切换到当前缓存的头部。
在其中一个实施例中,上述卷实时备份方法还包括步骤:
获取空闲的内存缓存和文件缓存;
将所述文件缓存拆分为N个子文件缓存,所述N为2或3;
以内存缓存为首,按序设置内存缓存和N个子文件缓存,当写指针或读指针切换到下一个缓存时,按内存缓存和N个子文件的顺序依次执行切换。
本发明的有益效果是:
1.本发明通过比较数据块的写IO次数和数据块的读IO次数进行一致性校验,该校验方式准确且简便;
2.本发明当监测到生产系统的关机事件,会将备份确认记录表从内存刷新到磁盘上,以文件形式进行保存,确保了备份源生产主机在出现正常重启或关闭重启的断点情况下不丢失备份确认记录表,也确保了可以正常且快速进行差异同步,整体稳定性较好;
3.本发明将磁盘拆分为若干大小相同的数据块,通过驱动监控的备份确认记录表记录每个数据块的写IO次数和每个数据块的读IO次数,之后再通过校验数据块的读/写IO次数一致情况,可以对不一致的数据块进行差异同步,该方法帮助生产主机在遭遇断点后可进行差异同步而非进行完全同步,从而快速进入到实时监控阶段。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中基于卷备份的断点差异同步方法流程示意图。
图2为本发明实施例1中生产卷磁盘与备份确认记录表对应关系图。
图3为本发明实施例2中基于卷备份的断点差异同步方法流程示意图。
图4为本发明实施例3中基于卷备份的断点差异同步系统结构示意图。
图5为本发明实施例3中拆分生产卷磁盘模块结构示意图。
图6为本发明实施例3中处理生产系统重新启动模块结构示意图。
图7为本发明实施例4中卷实时备份总体逻辑示意示意图。
图8为本发明实施例4中缓存使用逻辑示意图。
图9为本发明实施例4中构造的第一结构体示意图。
图10为本发明实施例4中处理边界空洞情况的流程示意图。
附图中,各标号所代表的部件列表如下:
1001、拆分生产卷磁盘模块,1002、创建备份确认记录表模块,1003、更新备份确认记录表模块,1004、拷贝备份确认记录表模块,1005、处理生产系统重新启动模块,1006、处理备份服务端重新启动模块,10011、拆分生产卷磁盘单元,10012、编号数据块单元,10051、加载恢复单元,10052、一致性校验单元,10053、差异同步单元。
实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
在本实施例中,如图1所示,提供一种基于卷备份的断点差异同步方法,该方法包括:
S101.将生产卷磁盘拆分为若干大小相同的数据块,再对全部所述数据块进行依次编号,其中每个所述数据块的大小为8兆。
S102.监控驱动在内存中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由32位整型的写I/O次数变量和32位整型的备份读I/O次数变量组成。
值得说明的是,在任务启动后,本实施例会对每个生产卷创建一个对应的备份确认记录表,备份确认记录表中的记录元素与生产卷磁盘中的数据块对应,可以同步磁盘的读IO/写IO情况,为在获取读IO/写IO次数后判定是否进行差异同步奠定基础。
还值得说明的是,读/写I/O次数变量还可以用16位整型变量、64位整形变量,不过16位整型变量较小,能够记录的变化时间较短;64位整形变量较大,比较占空间;32位整形变量使用较为合适。
为了便于理解,如图2所示,我们提供一个操作实例:任务启动后,将Windows C盘(即备份源生产卷磁盘)拆分为若干8M大小的数据块,每个数据块下标对应C盘的块号,块号从0开始编号,指定块号的计算方式为offset/8M(即数据块总数等于C盘的总大小除以8M)。对Windows C盘创建一个对应的IO_BITMAP(即备份确认记录表的程序实现名称),设置IO_BITMAP由若干8Byte大小的记录元素组成,记录元素与数据块一一对应,每个记录元素由两个32位整型组成,分别命名为write_count和backup_count,所有值初始化为0。
S103.当写磁盘时,监控驱动在备份确认记录表中记录生产卷每个数据块的写IO次数;当备份变化数据时,监控驱动在备份确认记录表中更新生产卷每个数据块的备份读I/O。
S104.当监测到生产系统的关机事件,将备份确认记录表从内存拷贝到磁盘。
S105.在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,最后执行差异同步操作。
可选的,所述步骤S105包括:
S1051.在生产系统重新启动后,从磁盘中将备份确认记录表加载到内存;
S1052.遍历备份确认记录表中的记录元素,并比较每个记录元素中写I/O次数与备份读I/O次数,获得一致性校验结果;
S1053.根据一致性校验结果,将写I/O次数与备份读I/O次数不一致的记录元素所对应的数据块数据同步到备份服务端系统。
本实施例当监测到生产系统的断点事件,会将备份确认记录表从内存刷新到磁盘上,以文件形式进行保存,确保了备份源生产主机在出现正常重启或关闭重启的断点情况下不丢失备份确认记录表,也确保了可以正常且快速进行差异同步,整体稳定性较好。
实施例2
在本实施例中,如图3所示,提供一种基于卷备份的断点差异同步方法,该方法包括:
S201.将生产卷磁盘拆分为若干大小相同的数据块,再对全部所述数据块进行依次编号,其中每个所述数据块的大小为16兆;
S202.监控驱动在内存中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由32位整型的写I/O次数变量和32位整型的备份读I/O次数变量组成;
S203.当写磁盘时,监控驱动在备份确认记录表中记录生产卷每个数据块的写IO次数;当备份变化数据时,监控驱动在备份确认记录表中更新生产卷每个数据块的备份读I/O;
S204.当监测到生产系统的关机事件,将备份确认记录表从内存拷贝到磁盘;
S205.在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,最后执行差异同步操作;
S206.当备份客户端系统检测到备份服务端重新启动,备份客户端系统连接并询问备份服务端系统是否执行快速差异同步操作,若是,则通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,再执行差异同步操作;若否,直接进行实时监控。
需要理解的是,由于网络连接断开后,生产系统备份客户端不可感知备份服务端的情况,因此重新建立连接后,需要生产系统备份客户端与备份服务端协商是否需要进行一致性操作。针对正常的网络波动情况,在双方协商无需进行一致性检测的情况下,可以直接进入实时监控阶段,无需进行一致性检测和差异同步操作。
面对备份系统正常重启、异常断电、崩溃等断点情况,本实施例将磁盘拆分为若干大小相同的数据块,通过驱动监控的备份确认记录表记录每个数据块的写IO次数和每个数据块的读IO次数,之后再通过校验数据块的读/写IO次数一致情况,可以对不一致的数据块进行差异同步,帮助生产主机在遭遇断点后可进行差异同步而非进行完全同步,从而快速进入到实时监控阶段。
实施例3
在本实施例中,如图4所示,提供了一种基于卷备份的断点差异同步系统,该系统包括:
拆分生产卷磁盘模块1001,用于将生产卷磁盘拆分为若干大小相同的数据块,其中每个所述数据块的大小为8兆;
创建备份确认记录表模块1002,用于监控驱动在内存中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由32位整型的写I/O次数变量和32位整型的备份读I/O次数变量组成;
更新备份确认记录表模块1003,用于当写磁盘时,监控驱动在备份确认记录表中记录生产卷每个数据块的写IO次数;当备份变化数据时,监控驱动在备份确认记录表中更新生产卷每个数据块的备份读I/O;
拷贝备份确认记录表模块1004,用于当监测到生产系统的关机事件,将备份确认记录表从内存拷贝到磁盘;
处理生产系统重新启动模块1005,用于在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,最后执行差异同步操作;
处理备份服务端重新启动模块1006,用于当备份客户端系统检测到备份服务端重新启动,备份客户端系统连接并询问备份服务端系统是否执行快速差异同步操作,若是,则通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,再执行差异同步操作;若否,直接进行实时监控。
可选的,如图5所示,所述拆分生产卷磁盘模块1001,包括:
拆分生产卷磁盘单元10011,用于将所述生产卷磁盘拆分为若干数据块,每个所述数据块的大小为2N兆,所述N为整数,取值为0-5;
编号数据块单元10012,用于对全部所述数据块进行依次编号。
可选的,如图6所示,所述处理生产系统重新启动模块1005,包括:
加载恢复单元10051,在生产系统重新启动后,从磁盘中将备份确认记录表加载到内存;
一致性校验单元10052,遍历备份确认记录表中的记录元素,并比较每个记录元素中写I/O次数与备份读I/O次数,获得一致性校验结果;
差异同步单元10053,根据一致性校验结果,将写I/O次数与备份读I/O次数不一致的记录元素所对应的数据块数据同步到备份服务端系统。
下面,我们提供一组对比测试,便于进一步阐述本实施例,具体如下:
表1 实验环境
名称 | 配置 |
处理器 | 英特尔Core i5-10500@ 3.1GHz六核 |
内存 | 金士顿DDR4 2666MHz 8GB |
操作系统 | Windows server 2016 64位 standard |
硬盘 | 7200r/sHDD 1TB |
本测试的测试对象为:本实施例和对比例1,两者测试主机均为WIN-SEAB
2GBSJBE(172.20.40.74),测试卷为F卷,同步容量为49.98G,同步有效数据量为15.38G,传输大小为3G,写入大小为3G。
本实施例经历第一阶段和第二阶段,分别是:初始化完全同步;生产主机正常重启,通过一致性校验后进行差异同步,再进入到实时监控。对比例1经历第一阶段和第二阶段,分别是:初始化完全同步;生产主机正常重启,进行初始化完全同步,再进入到实时监控。测试结果如下表2:
表2 断点同步对比测试数据
测试阶段 | 本实施例处理时间 | 对比例1处理时间 |
第一阶段 | 8分4秒 | 8分3秒 |
第二阶段 | 26秒 | 8分6秒 |
由表2可知,若备份源生产主机出现断点情况,对比例1后续第二阶段继续进行初始化完全同步,处理时间为8分6秒,与第一阶段相差不大;相比较,采用本实施例应对断点情况,第二阶段无需再次进行完全同步,一致性校验后进行了差异同步,处理时间为26秒,大大缩短了处理时间,实现了快速进入到实时监控。
本实施例的技术方案,通过比较数据块的写IO次数和数据块的读IO次数进行一致性校验,校验方式准确且简便。在面对备份源生产主机或备份客户端系统断点情况,将磁盘拆分为若干大小相同的数据块,通过驱动监控的备份确认记录表记录每个数据块的写IO次数和每个数据块的读IO次数,之后再通过校验数据块的读/写IO次数一致情况,可以对不一致的数据块进行差异同步,实现了在短时间内完成生产卷同步阶段,快速进入到实时监控阶段。
实施例4
在本实施例中,提供一种卷实时备份方法,利用实施例1或实施2所述基于卷备份的断点差异同步方法,还包括步骤:
S401.获取空闲的内存缓存和文件缓存。
S402.将所述文件缓存拆分为3个子文件缓存。
值得说明的是,文件缓存主要采用稀疏文件的方式进行空间分配,由于稀疏(空洞)文件最初分配时,不占用实际存储空间,因此提供了一个按照3个比例将文件缓存进行分配的机制,将缓存文件空间拆分成3个不同的子文件缓存,也可根据用户情况进行调整,即拆为2个不同的子文件缓存。多个子文件缓存的空间大小可以相等,也可以不相等。
在本实施例中,本发明内存缓存分配1G的空间大小,文件缓存分配10G空间大小,并将文件缓存按照20%,30%,50%分配为3个子文件缓存,获得2G的文件Cache1,3G的文件Cache2,5G的文件Cache3。通过拆分文件缓存,若文件Cache1一直没有出现全部读、写指针碰撞,且为满的情况,则最终文件缓存只会占用用户的2G空间,这样可以在用户能够预判的情况下更小的占用生产存储空间。
另外,在初始化时,我们建立含内存缓存和文件缓存的Cache_list,内存缓存位于Cache_list的头部,下标为0;从1开始为文件缓存对象,Cache1、Cache2和Cache3,下标分别为1至3,Cache_list的元素数最大为4。
S403.监控驱动捕获I/O变化数据,再构造与该I/O变化数据相应的第一结构体,所述第一结构体具有结构头,所述结构头包括I/O变化数据长度。
值得说明的是,如图7所示,在卷实时备份的过程中,会在生产应用与备份源(生产卷,例如Windows C盘)之间设置监控驱动,由内核层驱动程序在内存中创建备份确认记录表,并将该备份确认记录表映射到应用层。在生产应用进行写磁盘时,驱动检测到写I/O,根据块号更新备份记录确认表,监控驱动再将捕获的I/O变化数据写入到发送缓存中。之后,由应用层的备份系统客户端程序读取出I/O变化数据,再将实时变化数据发送至备份系统服务端程序存储。再之后,备份系统服务端程序返回变化数据备份ACK,备份系统客户端程序根据确认消息携带的块号,更新备份记录确认表。
还值得说明的是,缓存的使用逻辑,如图8所示,无论是内存缓存或是文件缓存,都采用将一段连续空间设置成首位相连的环形队列,即从最开始使用,当到达连续空间尾部后,写/读指针回到连续空间开头。同时,缓存中的I/O变化数据大小不一定相等。
基于上述卷实时备份的过程和缓存的使用逻辑,本发明对捕获的I/O变化数据进行了如图9所示的构造,构造出的第一结构体具有结构头,结构头中设有I/O变化数据长度,占4字节,表示本次I/O提交的变化数据长度;结构头后则是变化数据,表示本次I/O提交的实际数据。通过结构头可以快速清楚地知道I/O变化数据长度,是让写指针和读指针能够顺利切换的重要条件。
S404.通过第一变量,将内存缓存和文件缓存用同一个第二结构体进行表征,所述第一变量包括缓存中已放有第一结构体对象的数量、完全的缓存空间大小和实际的缓存空间大小。
值得说明的是,如图10所示,由于缓存中的I/O变化数据大小不一定相等,这样缓存的尾部剩余空间大小有可能不足以让新的I/O变化数据写入,此时写指针可能直接切换到当前缓存的开头来写入I/O变化数据,造成当前缓存尾部为空,也即代表缓存空间尾部相对有变。为了使读指针能够知道缓存实际的边界,本实施例还记录了实际的缓存空间大小(使实际的缓存空间与完全的缓存空间相比),当生产者在发现当前位置到缓存空间末端范围无法存储一个I/O变化数据时,写指针将当前实际的缓存空间尾部作为当前缓存尾部,再切换到当前缓存的头部;之后,读指针便可将当前实际的缓存空间尾部作为当前缓存尾部,再切换到当前缓存的头部,这样可用于处理边界空洞问题。
S405.通过第二变量和第三变量,将监控驱动写指针与变化数据发送程序读指针用同一个第三结构体进行表征,所述第二变量包括写指针的缓存位置和写指针的切换次数;所述第三变量包括读指针的缓存位置和读指针的切换次数。
可以理解的是,在记录写/读指针的缓存位置时,我们一般是通过缓存队列索引和当前缓存队列来定位。
还可以理解的是,本发明还记录写/读切换次数,主要用于写/读指针的对比,这样有助于处理错误情况、文件缓存到内存缓存的切换。
S407.在进行数据缓存时,根据第一结构体、第二结构体和第三结构体,获取第一信息,再根据第一信息,将写指针切换到当前缓存的头部或切换到下一个缓存,其中所述第一信息包括写指针的当前缓存位置、写指针占用当前缓存的程度、写指针的当前切换次数、读指针的当前缓存位置、读指针的当前切换次数;其中所述下一个缓存为内存缓存或文件缓存;所述初始缓存为内存缓存;其中所述写指针将当前实际的缓存空间尾部作为当前缓存尾部,再将写指针切换到当前缓存的头部。
可选的,所述步骤S407,包括:
根据第一信息判断写指针是否切换到当前缓存的头部:
若同时满足三个条件:(1)写指针与读指针当前位于相同缓存;(2)写指针与读指针当前切换次数相等;(3)写指针占用当前缓存长度P1加上I/O变化数据对象长度P2的总值P4大于当前缓存的分配边界长度P3,或写指针占用当前缓存长度P1等于当前缓存的分配边界长度P3,即判断写指针切换到当前缓存的头部;若未同时满足上述三个条件,则继续在当前缓存写入I/O变化数据,直到同时满足上述三个条件;
根据第一信息判断写指针是否切换到下一个缓存:
若同时满足三个条件:(1)写指针与读指针在当前缓存碰撞或预计碰撞;(2)写指针与读指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量大于0,即判断写指针切换到下一个缓存;若未同时满足上述三个条件,则继续在当前缓存写入I/O变化数据,直到同时满足上述三个条件。
S408.在进行数据同步时,根据第一结构体、第二结构体和第三结构体,获取第二信息,再根据第二信息,将读指针切换到当前缓存的头部或切换到下一个缓存或切回到初始缓存,其中所述第二信息包括写指针的当前缓存位置、写指针的当前切换次数、读指针的当前缓存位置、读指针读取当前缓存的程度和读指针的当前切换次数;其中所述下一个缓存为内存缓存或文件缓存;所述初始缓存为内存缓存;其中所述读指针将当前实际的缓存空间尾部作为当前缓存尾部,再将读指针切换到当前缓存的头部。
可选的,所述步骤S408,包括:
根据第二信息判断读指针是否切换到当前缓存的头部:
若同时满足三个条件:(1)读指针位于当前缓存尾部;(2)读指针与写指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量大于0,即判断读指针切换到当前缓存的头部;若未同时满足上述三个条件,则继续在当前缓存读取I/O变化数据,直到同时满足上述三个条件;
根据第二信息判断读指针是否切换到下一个缓存:
若同时满足两个条件:(1)读指针与写指针当前切换次数不相等;(2)当前缓存中已放有第一结构体对象的数量为0,即判断读指针切换到下一个缓存;若未同时满足上述两个条件,则继续在当前缓存读取I/O变化数据,直到同时满足上述两个条件;
根据第二信息判断读指针是否切回到初始缓存:
若同时满足四个条件:(1)读指针与写指针在当前缓存碰撞;(2)读指针与写指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量为0;(4)读指针当前位于文件缓存,即判断读指针回到初始缓存;若未同时满足上述四个条件,则继续在当前缓存读取I/O变化数据,直到同时满足上述四个条件。
值得说明的是,在开始时,通常将写指针和读指针设置到内存缓存之上,优先使用内存缓存,这样效率会更高。
S409.以内存缓存为首,按序设置内存缓存和3个子文件缓存,当写指针或读指针切换到下一个缓存时,按内存缓存和3个子文件的顺序依次执行切换。
本实施例提供的卷实时备份方法,可以从生产卷同步阶段快速进入生产卷变化数据实时监控阶段,同时在生产卷变化数据实时监控阶段,可以实现内存缓存和文件缓存的动态调整,这样能够有效应对生产端的数据量爆发,还能够在生产效率和实时备份网络中断容忍度两方面实现更好的平衡,从而使提升整个卷实时备份的工作效率和稳定性。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于卷备份的断点差异同步方法,其特征在于,所述方法包括步骤:
将生产卷磁盘拆分为若干大小相同的数据块;
监控驱动在内存中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由写I/O次数变量和备份读I/O次数变量组成;
当写磁盘时,监控驱动在备份确认记录表中记录生产卷每个数据块的写IO次数;当备份变化数据时,监控驱动在备份确认记录表中更新生产卷每个数据块的备份读I/O;
当监测到生产系统的关机事件,将备份确认记录表从内存拷贝到磁盘;
在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,最后执行差异同步操作。
2.根据权利要求1所述的基于卷备份的断点差异同步方法,其特征在于,所述将生产卷磁盘拆分为若干大小相同的数据块步骤,包括:
将所述生产卷磁盘拆分为若干数据块,每个所述数据块的大小为2N兆,所述N为整数,取值为0-5;
对全部所述数据块进行依次编号。
3.根据权利要求1所述的基于卷备份的断点差异同步方法,其特征在于,所述在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,最后执行差异同步操作步骤,包括:
在生产系统重新启动后,从磁盘中将备份确认记录表加载到内存;
遍历备份确认记录表中的记录元素,并比较每个记录元素中写I/O次数与备份读I/O次数,获得一致性校验结果;
根据一致性校验结果,将写I/O次数与备份读I/O次数不一致的记录元素所对应的数据块数据同步到备份服务端系统。
4.根据权利要求1所述的基于卷备份的断点差异同步方法,其特征在于,还包括步骤:
当备份客户端系统检测到备份服务端重新启动,备份客户端系统连接并询问备份服务端系统是否执行快速差异同步操作,若是,则通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,再执行差异同步操作;若否,直接进行实时监控。
5.一种基于卷备份的断点差异同步系统,其特征在于,所述系统包括:
拆分生产卷磁盘模块,用于将生产卷磁盘拆分为若干大小相同的数据块;
创建备份确认记录表模块,用于监控驱动在内存中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由写I/O次数变量和备份读I/O次数变量组成;
更新备份确认记录表模块,用于当写磁盘时,监控驱动在备份确认记录表中记录生产卷每个数据块的写IO次数;当备份变化数据时,监控驱动在备份确认记录表中更新生产卷每个数据块的备份读I/O;
拷贝备份确认记录表模块,用于当监测到生产系统的关机事件,将备份确认记录表从内存拷贝到磁盘;
处理生产系统重新启动模块,用于在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,最后执行差异同步操作。
6.根据权利要求5所述的基于卷备份的断点差异同步系统,其特征在于,所述拆分生产卷磁盘模块,包括:
拆分生产卷磁盘单元,用于将所述生产卷磁盘拆分为若干数据块,每个所述数据块的大小为2N兆,所述N为整数,取值为0-5;
编号数据块单元,用于对全部所述数据块进行依次编号。
7.根据权利要求5所述的基于卷备份的断点差异同步系统,其特征在于,还包括:
处理备份服务端重新启动模块,用于当备份客户端系统检测到备份服务端重新启动,备份客户端系统连接并询问备份服务端系统是否执行快速差异同步操作,若是,则通过遍历并比较每个记录元素的写I/O次数与备份读I/O进行一致性校验,再执行差异同步操作;若否,直接进行实时监控。
8.一种卷实时备份方法,其特征在于,利用权利要求1至4任一项所述基于卷备份的断点差异同步方法,还包括步骤:
监控驱动实时监控并捕获I/O变化数据,再构造与该I/O变化数据相应的第一结构体,所述第一结构体具有结构头,所述结构头包括I/O变化数据长度;
通过第一变量,将内存缓存和文件缓存用同一个第二结构体进行表征,所述第一变量包括缓存中已放有第一结构体对象的数量和完全的缓存空间大小;
通过第二变量和第三变量,将监控驱动写指针与变化数据发送程序读指针用同一个第三结构体进行表征,所述第二变量包括写指针的缓存位置和写指针的切换次数;所述第三变量包括读指针的缓存位置和读指针的切换次数;
在进行数据缓存时,根据第一结构体、第二结构体和第三结构体,获取第一信息,再根据第一信息,将写指针切换到当前缓存的头部或切换到下一个缓存,其中所述第一信息包括写指针的当前缓存位置、写指针占用当前缓存的程度、写指针的当前切换次数、读指针的当前缓存位置、读指针的当前切换次数;
在进行数据同步时,根据第一结构体、第二结构体和第三结构体,获取第二信息,再根据第二信息,将读指针切换到当前缓存的头部或切换到下一个缓存或切回到初始缓存,其中所述第二信息包括写指针的当前缓存位置、写指针的当前切换次数、读指针的当前缓存位置、读指针读取当前缓存的程度和读指针的当前切换次数;
其中下一个缓存为内存缓存或文件缓存;初始缓存为内存缓存。
9.根据权利要求8所述的卷实时备份方法,其特征在于,所述在进行数据缓存时,根据第一结构体、第二结构体和第三结构体,获取第一信息,再根据第一信息,将写指针切换到当前缓存的头部或切换到下一个缓存的步骤,包括:
根据第一信息判断写指针是否切换到当前缓存的头部:
若同时满足三个条件:(1)写指针与读指针当前位于相同缓存;(2)写指针与读指针当前切换次数相等;(3)写指针占用当前缓存长度P1加上I/O变化数据对象长度P2的总值P4大于当前缓存的分配边界长度P3,或写指针占用当前缓存长度P1等于当前缓存的分配边界长度P3,即判断写指针切换到当前缓存的头部;若未同时满足上述三个条件,则继续在当前缓存写入I/O变化数据,直到同时满足上述三个条件;
根据第一信息判断写指针是否切换到下一个缓存:
若同时满足三个条件:(1)写指针与读指针在当前缓存碰撞或预计碰撞;(2)写指针与读指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量大于0,即判断写指针切换到下一个缓存;若未同时满足上述三个条件,则继续在当前缓存写入I/O变化数据,直到同时满足上述三个条件。
10.根据权利要求8所述的卷实时备份方法,其特征在于,所述在进行数据同步时,根据第一结构体、第二结构体和第三结构体,获取第二信息,再根据第二信息,将读指针切换到当前缓存的头部或切换到下一个缓存或切回到初始缓存步骤,包括:
根据第二信息判断读指针是否切换到当前缓存的头部:
若同时满足三个条件:(1)读指针位于当前缓存尾部;(2)读指针与写指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量大于0,即判断读指针切换到当前缓存的头部;若未同时满足上述三个条件,则继续在当前缓存读取I/O变化数据,直到同时满足上述三个条件;
根据第二信息判断读指针是否切换到下一个缓存:
若同时满足两个条件:(1)读指针与写指针当前切换次数不相等;(2)当前缓存中已放有第一结构体对象的数量为0,即判断读指针切换到下一个缓存;若未同时满足上述两个条件,则继续在当前缓存读取I/O变化数据,直到同时满足上述两个条件;
根据第二信息判断读指针是否切回到初始缓存:
若同时满足四个条件:(1)读指针与写指针在当前缓存碰撞;(2)读指针与写指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量为0;(4)读指针当前位于文件缓存,即判断读指针回到初始缓存;若未同时满足上述四个条件,则继续在当前缓存读取I/O变化数据,直到同时满足上述四个条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310667421.9A CN116450418B (zh) | 2023-06-07 | 2023-06-07 | 基于卷备份的断点差异同步方法、系统及卷实时备份方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310667421.9A CN116450418B (zh) | 2023-06-07 | 2023-06-07 | 基于卷备份的断点差异同步方法、系统及卷实时备份方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116450418A CN116450418A (zh) | 2023-07-18 |
CN116450418B true CN116450418B (zh) | 2023-08-22 |
Family
ID=87127616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310667421.9A Active CN116450418B (zh) | 2023-06-07 | 2023-06-07 | 基于卷备份的断点差异同步方法、系统及卷实时备份方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450418B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573953B (zh) * | 2024-01-16 | 2024-03-22 | 成都云祺科技有限公司 | 一种页面大数据可视化渲染方法、系统及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567262A (zh) * | 2003-06-10 | 2005-01-19 | 联想(北京)有限公司 | 基于数据卷快照的在线数据备份方法 |
CN109992448A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团山西有限公司 | 文件变化增量备份方法、装置、设备及介质 |
CN113330426A (zh) * | 2018-12-29 | 2021-08-31 | 华为技术有限公司 | 一种备份数据的方法、装置和系统 |
CN113626256A (zh) * | 2021-07-16 | 2021-11-09 | 济南浪潮数据技术有限公司 | 一种虚拟机磁盘数据备份方法、装置、终端及存储介质 |
CN113868026A (zh) * | 2021-09-30 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种云备份的方法和相关装置 |
CN115599601A (zh) * | 2022-10-12 | 2023-01-13 | 南京云信达科技有限公司(Cn) | 基于磁盘cbt的卷备份方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273650A1 (en) * | 2004-06-07 | 2005-12-08 | Tsou Henry H | Systems and methods for backing up computer data to disk medium |
US8037032B2 (en) * | 2008-08-25 | 2011-10-11 | Vmware, Inc. | Managing backups using virtual machines |
US8380678B2 (en) * | 2009-11-24 | 2013-02-19 | Symantec Corporation | Tracking files which have been processed by a backup or a restore operation |
US11500740B2 (en) * | 2019-11-22 | 2022-11-15 | EMC IP Holding Company LLC | Continuous data protection |
-
2023
- 2023-06-07 CN CN202310667421.9A patent/CN116450418B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567262A (zh) * | 2003-06-10 | 2005-01-19 | 联想(北京)有限公司 | 基于数据卷快照的在线数据备份方法 |
CN109992448A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团山西有限公司 | 文件变化增量备份方法、装置、设备及介质 |
CN113330426A (zh) * | 2018-12-29 | 2021-08-31 | 华为技术有限公司 | 一种备份数据的方法、装置和系统 |
CN113626256A (zh) * | 2021-07-16 | 2021-11-09 | 济南浪潮数据技术有限公司 | 一种虚拟机磁盘数据备份方法、装置、终端及存储介质 |
CN113868026A (zh) * | 2021-09-30 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种云备份的方法和相关装置 |
CN115599601A (zh) * | 2022-10-12 | 2023-01-13 | 南京云信达科技有限公司(Cn) | 基于磁盘cbt的卷备份方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于UEFI的数据备份系统设计与实现;宋宇;《中国优秀硕士学位论文全文数据库 信息科技辑》(第5期);I138-79 * |
Also Published As
Publication number | Publication date |
---|---|
CN116450418A (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7681001B2 (en) | Storage system | |
CN104077380B (zh) | 一种重复数据删除方法、装置及系统 | |
JP2005301497A (ja) | ストレージ管理装置、リストア方法及びそのプログラム | |
CN116450418B (zh) | 基于卷备份的断点差异同步方法、系统及卷实时备份方法 | |
US8762771B2 (en) | Method for completing write operations to a RAID drive pool with an abnormally slow drive in a timely fashion | |
CN109902034B (zh) | 快照创建方法、装置、电子设备及机器可读存储介质 | |
US20090125691A1 (en) | Apparatus for managing remote copying between storage systems | |
US9519545B2 (en) | Storage drive remediation in a raid system | |
CN113515501B (zh) | 非易失性内存数据库管理系统恢复方法、装置和电子设备 | |
CN111309245B (zh) | 一种分层存储写入方法和装置、读取方法和装置及系统 | |
CN110597663A (zh) | 一种事务处理方法及装置 | |
KR20170054767A (ko) | 데이터베이스 관리 시스템 및 그의 데이터 변경 및 복구 방법 | |
CN111427514B (zh) | 视图迁移方法和装置 | |
CN113885809B (zh) | 数据管理系统及方法 | |
CN110134551B (zh) | 一种持续数据保护方法及装置 | |
US10990312B2 (en) | Method, apparatus, device and storage medium for processing data location of storage device | |
JP2015049633A (ja) | 情報処理装置、データ修復プログラム、及びデータ修復方法 | |
US7702864B2 (en) | Apparatus, system, and method for writing stripes in parallel to unique persistent storage devices | |
US20210223957A1 (en) | Storage apparatus and storage control method | |
CN114780489B (zh) | 一种实现分布式块存储底层gc的方法及装置 | |
CN104205097A (zh) | 一种去重方法装置与系统 | |
WO2022033269A1 (zh) | 数据处理的方法、设备及系统 | |
US20210232466A1 (en) | Storage system and restore control method | |
JPS62245348A (ja) | データベース更新方法 | |
CN110764695A (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 |