[发明专利]一种基于索引的计算机连续数据保护方法有效
申请号: | 201110373181.9 | 申请日: | 2011-11-22 |
公开(公告)号: | CN102521269A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 汪东升;王占业 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/02 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 罗文群 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 索引 计算机 连续 数据 保护 方法 | ||
技术领域
本发明涉及一种基于索引的计算机连续数据保护方法,属于计算机数据存储和保护技术领域。
背景技术
针对传统数据保护手段不能有效解决人为错误造成数据丢失的情况,人们提出了连续数据保护(Continuous Data Protection,CDP)的概念,即在不影响正常数据业务流程的情况下,实时记录或跟踪被保护数据的修改,并能提供某个历史时刻点的一致性数据恢复。我们将要保护的文件或数据称为保护实例。连续数据保护技术是近些年来学术界的研究热点,它一般采用客户端/服务器架构,客户端负责本地保护实例的监控和维护,用户每次对于保护实例的修改,客户端会对变化的数据打上时间戳,并向服务器端实时传输,这在逻辑上意味着向服务器端提交一个保护实例的新版本,客户端也可以根据时间戳信息,选择将存储在服务器上的任意版本传送回本地,达到数据恢复的目的。为了提供精确到时间点的恢复能力,连续数据保护系统必须具备捕捉保护实例中所有数据修改的能力,并记录数据的每一次改动。
为了减少占用的存储空间,有些连续数据保护系统采用基于差量的方式来存储数据块的变动,系统记录下每个数据块每次的变化量,并保留最新的版本的数据。相应的,在进行恢复操作时,需要从最新版本的数据出发,通过连续的差量运算,计算出指定版本中该块的数据。基于差量的连续数据保护系统虽然能够有效的压缩存储的数据总量,但每次恢复操作时都需要进行大量的计算,因为如果要恢复的版本比较早,则要进行的差量计算次数相对较多,恢复的时间也会很长。
为了克服基于差量存储的实现方式恢复时间过长的问题,目前流行的技术方案是将索引的思想引入连续数据保护系统的实现中,简而言之,此类系统并不存储数据块的变化量,而是将发生变化的整个数据块都传送到服务器端,服务器端同时生成数据块的元数据,在数据恢复时,服务器端跟据客户端请求恢复的时间点及已有的元数据找到相应的数据块并传送回客户端。目前这种基于索引的实现方式存在以下问题:
1、系统的运行时间越长,数据块元数据会越多,找到需要的元数据会花费较长时间;
2、由于元数据条数众多,占用空间较大,一般都以文件的方式存放在硬盘上,即每次对数据块元数据的存取操作都要去访问硬盘,进一步造成时间延迟;
3、由于存储的不是差量数据,而是整个数据块,导致服务器端占用存储空间较大。
发明内容
本发明的目是提出一种基于索引的计算机连续数据保护方法,以加快数据块元数据查询的速度,并节省服务器端数据块占用的存储容量。
本发明提出的基于索引的计算机连续数据保护方法,包括以下步骤:
(1)定义计算机数据中的每个数据块的元数据,元数据包括数据块标识、时间戳和数据块在存储池中的地址,其中数据块标识为一个整数,客户端对数据块标识进行分配;
(2)在服务器端的内存中设置第一缓冲队列和第二缓冲队列,其中第一缓冲队列或第二缓冲队列用于存储数据块的元数据,其中第二缓冲队列或第一缓冲队列作为另一缓冲队列已满后的备用缓冲队列;第一缓冲队列和第二缓冲队列根据元数据中数据块标识的个数进行分区,每个存储区的存储容量相同,同一个存储区内的元数据的数据块标识相同,按照时间戳递增的顺序对一个存储区中的元数据进行排列,按照数据块标识的大小对多个存储区从小到大的顺序进行排列;
(3)为每个数据块标识生成一个相应的日志文件,将该日志文件存储在服务器端的硬盘上;
(4)在服务器端的内存中建立一个标识索引表,该标识索引表共有四个字段,包括数据块标识、用于表示数据块的元数据在缓冲队列位置的标志位、与数据块标识相对应的日志文件在服务器端硬盘上的地址以及日志文件中元数据的个数;
(5)当用户对数据块的内容进行修改时,客户端在该数据块打上修改时刻的时间戳,并将修改后的数据块、数据块标识以及修改时刻的时间戳发送到服务器端;
(6)服务器端接收到上述打上时间戳的数据块,根据数据块的内容通过哈希算法计算出该数据块在计算机存储池的地址,并按照该地址将该数据块存放到服务器端的存储池中,存储池对该数据块进行去重处理;
(7)服务器端检索上述标识索引表,得到与该数据块标识相对应的标志位,根据该标志位确定与该数据块相对应的元数据在哪个缓冲队列,再计算元数据写入到缓冲队列的存储区,计算方法为:数据块标识×存储区容量=缓冲区的起始位置,若写入该元数据后存储区未满,则流程结束,若写入该元数据后存储区已满,则进行步骤(8);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110373181.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种票据自动输出装置与方法
- 下一篇:3D集成电路中TSV的中点定位方法