当前位置: 首页 > 专利查询>清华大学专利>正文

一种基于索引的计算机连续数据保护方法技术

技术编号:7474378 阅读:217 留言:0更新日期:2012-07-03 06:18
本发明专利技术涉及一种基于索引的计算机连续数据保护方法,属于计算机数据存储和保护技术领域。数据块元数据包括数据块标识、时间戳和存储池地址,在服务器端内存中设置两个缓冲队列、一个标识索引表,在硬盘上建立日志文件,存储池接收到数据块后进行去重处理,服务器端根据标识索引表和数据块标识将元数据存写入到其中一个缓冲队列的存储区中,若写完后存储区已满,该存储区中的元数据写入到日志文件中,并更新标识索引表,之后到来的元数据写入到另一缓冲队列的存储区中。本发明专利技术方法使用双缓冲队列缓存元数据,能够避免系统阻塞;建立标识索引表和日志文件,加快元数据的查询速度;服务器端的存储池会对数据块进行去重处理,节省了存储空间。

【技术实现步骤摘要】

本专利技术涉及,属于计算机数据存储和保护

技术介绍
针对传统数据保护手段不能有效解决人为错误造成数据丢失的情况,人们提出了连续数据保护(Continuous Data Protection,CDP)的概念,即在不影响正常数据业务流程的情况下,实时记录或跟踪被保护数据的修改,并能提供某个历史时刻点的一致性数据恢复。我们将要保护的文件或数据称为保护实例。连续数据保护技术是近些年来学术界的研究热点,它一般采用客户端/服务器架构,客户端负责本地保护实例的监控和维护,用户每次对于保护实例的修改,客户端会对变化的数据打上时间戳,并向服务器端实时传输,这在逻辑上意味着向服务器端提交一个保护实例的新版本,客户端也可以根据时间戳信息,选择将存储在服务器上的任意版本传送回本地,达到数据恢复的目的。为了提供精确到时间点的恢复能力,连续数据保护系统必须具备捕捉保护实例中所有数据修改的能力,并记录数据的每一次改动。为了减少占用的存储空间,有些连续数据保护系统采用基于差量的方式来存储数据块的变动,系统记录下每个数据块每次的变化量,并保留最新的版本的数据。相应的,在进行恢复操作时,需要从最新版本的数据出发,通过连续的差量运算,计算出指定版本中该块的数据。基于差量的连续数据保护系统虽然能够有效的压缩存储的数据总量,但每次恢复操作时都需要进行大量的计算,因为如果要恢复的版本比较早,则要进行的差量计算次数相对较多,恢复的时间也会很长。为了克服基于差量存储的实现方式恢复时间过长的问题,目前流行的技术方案是将索引的思想引入连续数据保护系统的实现中,简而言之,此类系统并不存储数据块的变化量,而是将发生变化的整个数据块都传送到服务器端,服务器端同时生成数据块的元数据,在数据恢复时,服务器端跟据客户端请求恢复的时间点及已有的元数据找到相应的数据块并传送回客户端。目前这种基于索引的实现方式存在以下问题1、系统的运行时间越长,数据块元数据会越多,找到需要的元数据会花费较长时间;2、由于元数据条数众多,占用空间较大,一般都以文件的方式存放在硬盘上,即每次对数据块元数据的存取操作都要去访问硬盘,进一步造成时间延迟;3、由于存储的不是差量数据,而是整个数据块,导致服务器端占用存储空间较大。
技术实现思路
本专利技术的目是提出,以加快数据块元数据查询的速度,并节省服务器端数据块占用的存储容量。本专利技术提出的基于索引的计算机连续数据保护方法,包括以下步骤3(1)定义计算机数据中的每个数据块的元数据,元数据包括数据块标识、时间戳和数据块在存储池中的地址,其中数据块标识为一个整数,客户端对数据块标识进行分配;(2)在服务器端的内存中设置第一缓冲队列和第二缓冲队列,其中第一缓冲队列或第二缓冲队列用于存储数据块的元数据,其中第二缓冲队列或第一缓冲队列作为另一缓冲队列已满后的备用缓冲队列;第一缓冲队列和第二缓冲队列根据元数据中数据块标识的个数进行分区,每个存储区的存储容量相同,同一个存储区内的元数据的数据块标识相同, 按照时间戳递增的顺序对一个存储区中的元数据进行排列,按照数据块标识的大小对多个存储区从小到大的顺序进行排列;(3)为每个数据块标识生成一个相应的日志文件,将该日志文件存储在服务器端的硬盘上;(4)在服务器端的内存中建立一个标识索引表,该标识索引表共有四个字段,包括数据块标识、用于表示数据块的元数据在缓冲队列位置的标志位、与数据块标识相对应的日志文件在服务器端硬盘上的地址以及日志文件中元数据的个数;(5)当用户对数据块的内容进行修改时,客户端在该数据块打上修改时刻的时间戳,并将修改后的数据块、数据块标识以及修改时刻的时间戳发送到服务器端;(6)服务器端接收到上述打上时间戳的数据块,根据数据块的内容通过哈希算法计算出该数据块在计算机存储池的地址,并按照该地址将该数据块存放到服务器端的存储池中,存储池对该数据块进行去重处理;(7)服务器端检索上述标识索引表,得到与该数据块标识相对应的标志位,根据该标志位确定与该数据块相对应的元数据在哪个缓冲队列,再计算元数据写入到缓冲队列的存储区,计算方法为数据块标识X存储区容量=缓冲区的起始位置,若写入该元数据后存储区未满,则流程结束,若写入该元数据后存储区已满,则进行步骤(8);(8)服务器端将之后到来的具有相同数据块标识的元数据写入到另一缓冲队列中位置与原缓冲队列相对应的存储区里,检索标识索引表,得到与该数据块标识相对应的日志文件地址,根据该日志文件地址将原缓冲队列的已满存储区中的元数据写入到该日志文件中,之后该存储区清空,并更新服务器端内存中的标识索引表中元数据在缓冲队列中位置的标志位以及元数据个数,流程结束。本专利技术提出的基于索引的计算机连续数据保护方法,其优点是(1)本专利技术在服务器端内存设置了两个缓冲队列,用于缓存部分数据块的元数据, 并避免了单缓冲队列架构下缓存队列已满后会导致系统阻塞的问题;(2)本专利技术在服务器端内存中设置了标识索引表,在服务器端硬盘上设置了日志文件,若数据块的元数据不在缓冲队列中,则可经过标识索引表的查询定位出该数据块的元数据存放在哪个日志文件中,加快了数据块元数据的查询速度;(3)本专利技术在服务器端的存储池会根据数据块的内容进行去重操作,节省了存储空间。附图说明图1是本专利技术提出的基于索引的计算机连续数据保护方法的流程框图。图2是本专利技术中客户端数据分块的示意图。图3是本专利技术中缓冲队列里元数据排列的示意图。图4是本专利技术中日志文件里元数据排列的示意图。图5是本专利技术中的两个缓冲队列结构的示意图。图6是本专利技术中的标识索引表结构的示意图。具体实施例方式本专利技术提出的基于索引的计算机连续数据保护方法,其流程框图如图1所示,包括以下步骤(1)定义计算机数据中的每个数据块的元数据,元数据包括数据块标识、时间戳和数据块在存储池中的地址,其中数据块标识为一个整数,客户端对数据块标识进行分配;(2)在服务器端的内存中设置第一缓冲队列和第二缓冲队列,其中第一缓冲队列或第二缓冲队列用于存储数据块的元数据,其中第二缓冲队列或第一缓冲队列作为另一缓冲队列已满后的备用缓冲队列;第一缓冲队列和第二缓冲队列根据元数据中数据块标识的个数进行分区,每个存储区的存储容量相同,同一个存储区内的元数据的数据块标识相同, 按照时间戳递增的顺序对一个存储区中的元数据进行排列,按照数据块标识的大小对多个存储区从小到大的顺序进行排列;(3)为每个数据块标识生成一个相应的日志文件,将该日志文件存储在服务器端的硬盘上;(4)在服务器端的内存中建立一个标识索引表,该标识索引表共有四个字段,包括数据块标识、用于表示数据块的元数据在缓冲队列位置的标志位、与数据块标识相对应的日志文件在服务器端硬盘上的地址以及日志文件中元数据的个数;(5)当用户对数据块的内容进行修改时,客户端在该数据块打上修改时刻的时间戳,并将修改后的数据块、数据块标识以及修改时刻的时间戳发送到服务器端;(6)服务器端接收到上述打上时间戳的数据块,根据数据块的内容通过哈希算法计算出该数据块在计算机存储池的地址,并按照该地址将该数据块存放到服务器端的存储池中,存储池对该数据块进行去重处理;(7)服务器端检索上述标识索引表,得到与该数据块标识相对应的标志位,根据该标志位确定与该数据块相对应的本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:汪东升王占业
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术