CN104615505B - 一种远程复制记录数据变化的方法 - Google Patents
一种远程复制记录数据变化的方法 Download PDFInfo
- Publication number
- CN104615505B CN104615505B CN201510072832.9A CN201510072832A CN104615505B CN 104615505 B CN104615505 B CN 104615505B CN 201510072832 A CN201510072832 A CN 201510072832A CN 104615505 B CN104615505 B CN 104615505B
- Authority
- CN
- China
- Prior art keywords
- activity log
- data
- data block
- record
- bitmap
- 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 11
- 230000000694 effects Effects 0.000 claims abstract description 46
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000976 ink Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提出一种远程复制记录数据变化的方法,使用位图记录内容发生变化的数据块,将位图记录在活动日志中;确定当前最久未被使用的活动日志,将该活动日志中已经保存的位图记录所对应的数据块内容写入磁盘。所述方法减少了由于数据更新导致的写磁盘频率。
Description
技术领域
本发明涉及数据备份技术,具体涉及一种远程复制记录数据变化的方法。
背景技术
在远程复制中,数据在写入源卷同时需要传输数据到备份主机并写入备份卷中,如果此时主节点发生异常,存在一些数据已经写入源卷,但还没有传输到备份端,这样会造成源卷与备份卷数据将是不一致的,反之,如果备份卷发生异常,写到源卷的数据无法在备份卷备份,同样会造成数据不一致。当前的主流实现使用位图记录变化块,如当备份端发生异常时,源卷的数据变化使用位图元数据记录,当备份卷恢复后,源卷可以根据位图元数据查找变化的数据块,然后将源卷的数据同步到备份卷中去,每个位图位代表的数据块大小为一个chunk,当chunk长度太大时,需要同步的数据量较大,原因是如果只改变chunk的一个bit位,也同样需要传输整个chunk的大小,在数据写时没有太大问题,但当随机写时,会造成传输大量无效数据。chunk长度太小时会导致一个位图位表示的数据长度短,当出现海量数据量时,位图元数据所占用的存储开销也是巨大的,同时位图元数据的读写对同步性能会造成大的影响。
发明内容
为了解决上述现有技术中存在的技术问题,提出一种远程复制记录数据变化的方法,包括:
S1:判断内存中的数据块内容发生变化;
S2:使用位图记录内容发生变化的数据块,构成新位图记录;
S3:确定当前最久未被使用的活动日志,将该活动日志中已经保存的位图记录所对应的数据块内容写入磁盘,将该活动日志的状态记录为当前正使用;
S4:将所述新位图记录保存到所述当前正使用状态的活动日志。
进一步:
在所述步骤S1前还包括在内存中申请对应于所述活动日志的活动块。
进一步:
所述活动块按照使用状态的不同被依次存放在链表中,所述当前正使用状态的活动日志所对应的数据块位于所述链表的头部,所述链表的尾部记录当前最久未被使用的活动日志所对应的数据块。
本发明的有益效果是:当内存中的数据块的内容发生变化时,不是立刻写入磁盘中进行同步备份,而是使用位图记录发生变化的数据块,将位图记录到活动日志中。然后,将当前最久未被使用的活动日志中已经记录的位图所对应的数据块的内容写入磁盘,这样就实现了更新数据块的延迟写入,避免了一有数据块内容发生更新就执行写磁盘,减少了写磁盘的频率。
附图说明
图1为本发明提出的一种远程复制记录数据变化的方法的流程;
图2为本发明提出的链表结构。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明。
本发明提出的技术方案使用大粒度的活动日志元数据和小粒度的位图元数据共同记录数据块的变化,活动日志记录代表4MB大小的数据块,位图代表4K大小的数据块,每个活动日志可以表示1K个位图位,活动日志为确定的数目,可以配置。当发生数据写导致数据块发生变化时需要更改内存中数据块对应的活动日志和位图记录,活动日志被标识为活动状态,当有新数据写导致需要使用活动日志记录数据块变化,而所有的活动日志状态都为活动状态时,选择最近没有被使用的活动日志并将活动日志之前代表的位图刷写到元数据卷中。本发明提出的技术方案延迟了位图元数据刷写到元数据卷的频率,提高数据写性能。
参见附图1,其示出了本发明提出的一种远程复制记录数据变化的方法的流程图。详细描述如下:
S1:初始化活动日志;
活动日志存储在源数据盘中,根据源数据盘的超级块中记录的数据,可以找到活动日志在源数据盘的偏移地址。活动日志在磁盘中是以页(4KB)为单位存储的,即内存将活动日志的信息组织成4KB大小的页,向磁盘进行写操作,其中主要存放的是内存中活动块的块号信息。
活动日志在内存中体现为活动块,活动日志的初始化包括:
确定活动块数量:
1、越少的活动块总数意味着主端恢复后较少的数据同步,同时也意味活动日志对于内存的较少占用;但同时因为活动块总数小,活动块和非活动块的换入换出操作就越多,这造成了对于磁盘上的活动日志频繁的写操作,一定程度上影响了总体的写性能。
2、越多的活动块减少了块换入换出的操作,但主端恢复意味着需要更多的同步时间。
因此活动块总数和写速率成正比,和网络传输速率成反比。因为活动块信息以哈希表的形式存在于内存中,因此活动块总数建议设置为素数。
根据实际情况,可以根据以下公式计算活动块数量:
N=Rt/m (1)
其中N代表活动块数量,R为传输速率(以MB/S为单位),t为期望完成同步的时间,m为一个活动块中活动日志条目代表的数据块的大小,一般为4M,也就是活动块的字节容量大小。
在初始化活动日志时,要申请N个活动块,N为根据上述公式(1)定义好的活动块总数。活动块中定义了哈希表信息,LRU相关链表信息,引用计数及活动块号等信息。
S2:判断内存中的数据块的内容是否发生变化,在确定数据块的内容发生变化时,使用位图记录内容发生变化的数据块,构成新位图记录;
S3:确定当前最久未被使用的活动日志;
本步骤中使用LRU相关链表记录活动日志的使用情况。首先介绍LRU相关链表。
参见附图2,这里利用四个双向链表来保证本发明提出的LRU策略,分别是free_list,lru_list,to_be_changed_list,in_use_list。
free_list:初始化活动日志时,所有活动日志申请的活动块都位于这个链表中,并且其活动块号信息为空。
lru_list:当位于in_use_list中活动块的引用计数为零时,该活动块被移入lru_list中,活动块号信息保持不变。
to_be_changed_list:当free_list和lru_list中的活动块即将被使用时,将该活动块移入这个链表中,等待使用。
in_use_list:当前处于内存中、正在被使用的活动块位于该链表中。
当free_list为空时,将会把lru_list中链表尾的活动块置为活动状态,因为lru_list每次都是从链表头插入,表尾保存的即是最近最久未使用的活动块。
其次,引入哈希表概念,所述哈希表用于索引活动块,表头总数为活动块总数。
S4:将所述最久未被使用的活动日志中已保存的位图记录所对应的数据块内容写入磁盘,将该活动日志的状态记录为当前正使用;
本步骤中,将当前最久未被使用的活动日志中已经记录的位图所对应的数据块的内容写入磁盘,这样就实现了更新数据块的延迟写入,避免了一有数据块内容发生更新就执行写磁盘,减少了写磁盘的频率。
S5:将上述新位图记录保存到该当前正使用状态的活动日志,返回步骤S2,以执行下一轮数据块更新记录。
Claims (3)
1.一种远程复制记录数据变化的方法,其特征在于,包括:
S1:判断内存中的数据块内容发生变化;
S2:使用位图记录内容发生变化的数据块,构成新位图记录;
S3:当所有的活动日志状态都为活动状态时,确定当前最久未被使用的活动日志,将该活动日志中已经保存的位图记录所对应的数据块内容写入磁盘,将该活动日志的状态记录为当前正使用;
S4:将所述新位图记录保存到所述当前正使用状态的活动日志。
2.如权利要求1所述的方法,其特征在于:
在所述步骤S1前还包括在内存中申请对应于所述活动日志的活动块。
3.如权利要求2所述的方法,其特征在于:
所述活动块按照使用状态的不同被依次存放在链表中,所述当前正使用状态的活动日志所对应的数据块位于所述链表的头部,所述链表的尾部记录当前最久未被使用的活动日志所对应的数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510072832.9A CN104615505B (zh) | 2015-02-11 | 2015-02-11 | 一种远程复制记录数据变化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510072832.9A CN104615505B (zh) | 2015-02-11 | 2015-02-11 | 一种远程复制记录数据变化的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104615505A CN104615505A (zh) | 2015-05-13 |
CN104615505B true CN104615505B (zh) | 2018-03-23 |
Family
ID=53149961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510072832.9A Active CN104615505B (zh) | 2015-02-11 | 2015-02-11 | 一种远程复制记录数据变化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104615505B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688071A (zh) * | 2019-09-29 | 2020-01-14 | 上海英方软件股份有限公司 | 一种减少数据同步量的数据同步方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3569226B2 (ja) * | 2000-12-27 | 2004-09-22 | Tdk株式会社 | 記録データの記録方法、記録媒体および記録装置 |
AU2007231179B2 (en) * | 2006-03-28 | 2013-06-06 | Veracity Uk Limited | Hard disk storage system |
CN104065906B (zh) * | 2014-07-09 | 2017-02-15 | 珠海全志科技股份有限公司 | 数字录像设备的录像方法及装置 |
-
2015
- 2015-02-11 CN CN201510072832.9A patent/CN104615505B/zh active Active
Non-Patent Citations (1)
Title |
---|
位图模式的容灾备份系统开发与应用;付飞;《中国优秀硕士学位论文全文数据库》;20110415;第3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN104615505A (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10101930B2 (en) | System and method for supporting atomic writes in a flash translation layer | |
US8838936B1 (en) | System and method for efficient flash translation layer | |
US9189420B2 (en) | Wear-leveling method, storage device, and information system | |
US11232073B2 (en) | Method and apparatus for file compaction in key-value store system | |
CN105574104B (zh) | 一种基于ObjectStore的LogStructure存储系统及其数据写入方法 | |
US20180246664A1 (en) | Data processing method, storage apparatus, solid state disk, and storage system | |
CN104077380B (zh) | 一种重复数据删除方法、装置及系统 | |
CN102662992B (zh) | 一种海量小文件的存储、访问方法及装置 | |
CN103092927B (zh) | 一种分布式环境下的文件快速读写方法 | |
CN101777017B (zh) | 一种连续数据保护系统的快速恢复方法 | |
CN103019884B (zh) | 基于虚拟机快照的内存页去重方法及装置 | |
CN107491523A (zh) | 存储数据对象的方法及装置 | |
CN110196847A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
WO2016095761A1 (zh) | 缓存的处理方法和装置 | |
CN105117351A (zh) | 向缓存写入数据的方法及装置 | |
CN105094695A (zh) | 一种存储方法和系统 | |
EP3588913A1 (en) | Data caching method and apparatus | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN113360098A (zh) | 一种数据写入方法、装置、系统、电子设备及存储介质 | |
CN103473258A (zh) | 云存储文件系统 | |
CN113704217A (zh) | 一种分布式持久性内存文件系统中元数据及数据组织架构方法 | |
CN106844229B (zh) | 固态硬盘固件映射表的组织方法、系统及装置 | |
CN110325958A (zh) | 分布式块存储系统中数据存储方法、装置及计算机可读存储介质 | |
CN104615505B (zh) | 一种远程复制记录数据变化的方法 | |
CN111444114A (zh) | 一种非易失性内存中数据的处理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |