索引文件的建立方法与利用索引文件查询数据区块的方法技术

技术编号:7363304 阅读:198 留言:0更新日期:2012-05-26 21:18
一种索引文件的建立方法与利用索引文件查询数据区块的方法,对输入文件进行切分后所产生的数据区块与相应所有数据区块的索引文件。建立索引文件包括:对输入文件进行切分程序,生成至少一数据区块与相应数据区块的描述信息,描述信息中记录数据区块相对于输入文件的偏移量与文件长度;将描述信息整合为第一索引文件;选取固定数量的数据区块,并将所选取出的数据区块定义为选择群组;记录选择群组中相对于输入文件的起始地址与结束地址至第二索引文件中;重复上述步骤,直至完成所有数据区块所相应的第一索引文件与第二索引文件为止。

【技术实现步骤摘要】

本专利技术涉及一种文件的建立方法与其查询方法,特别涉及一种应用在重复数据删除程序中对索引文件的建立方法与查询方法。
技术介绍
重复数据删除是一种数据缩减技术,通常用于基于磁盘的备份系统,主要目的在于减少存储系统中使用的存储容量。它的工作方式是在某个时间周期内查找不同文件中不同位置的重复可变大小数据块。重复的数据块用指示符取代。由于存储系统中总是充斥着大量的冗余数据。为了解决这个问题,节省更多空间,“重复删除”技术便顺理成章地成了人们关注的焦点。采用“重复删除”技术可以将存储的数据缩减为原来的1/20,从而让出更多的备份空间,不仅可以使存储系统上的备份数据保存更长的时间,而且还可以节约离线存储时所需的大量的带宽。为能达到数据完整保存的目的,所以在进行重复数据删除的过程中,会对输入文件进行切分的处理。输入文件在经过切分处理后会产生多个数据区块。为了能有效管理数据区块,所以在进行切分的过程中会利用索引文件来记录所有的数据区块的各项存储信息。例如数据区块的容量大小、在输入文件中的偏移量(offset)或数据区块在服务端中的存储位置。假设一个数据区块为X Bytes,而对该数据区块需要利用N Bytes进行描述,所以数据区块的冗余度为N :X。随着,输入文件的文件长度越长时,索引文件的文件长度也会随着增加。为能加快索引文件的查询速度,一般而言会将索引文件直接载入内存中进行读取。 但是内存的空间有限,如果将索引文件的部分内容存储于虚拟内存中,除了会降低存取速度外可能会产生击中失误(hit miss)的问题。
技术实现思路
鉴于以上的问题,本专利技术的主要目的在于提供一种建立索引文件的方法,应用在重复数据删除程序中,对输入文件进行切分后所产生的数据区块与相应数据区块一索引文件。为达到上述目的,本专利技术所揭露的建立索引文件的方法包括下列步骤对输入文件进行切分程序,生成至少一数据区块与相应数据区块的描述信息,描述信息中记录数据区块相对于输入文件的偏移量与文件长度;将描述信息整合为第一索引文件;选取固定数量的数据区块,并将所选取出的数据区块定义为选择群组;记录选择群组中相对于输入文件的起始地址与结束地址至第二索引文件中;重复上述步骤,直至完成所有数据区块所相应的第一索引文件与第二索引文件为止。为配合上述建立索引文件,因此本专利技术还提出一种配合索引文件对数据区块查询方法。为达到上述目的,本专利技术所揭露的一种数据区块查询方法包括以下步骤将第二索引文件载入内存单元;输入查询请求;从查询请求所解析出欲查询的数据区块,与数据区块的偏移量与文件长度;根据数据区块的偏移量与文件长度对第二索引文件进行查询所相应的选择群组;根据所找出的选择群组,将第一索引文件中的相应部分读入内存单元进行查询,并返回查询结果;此时在内存单元中的第一索引文件部分并不会立即清除,而是作为計算机的高速缓存(cache)应对下一次读取,如果下一次读取也命中到此选择群组区间内,则直接到第一索引文件读入内存单元的部分进行检索,否则再将选择群组对应的第一索弓I文件部分读入内存单元进行检索。本专利技术在运行重复数据删除程序时,产生相应于输入文件的索引文件。通过本专利技术的二个索引文件,可以降低读入内存单元的索引文件的容量,节省内存占用,并提高查找相应数据区块的效率。以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的限定。 附图说明图1为本专利技术的建立索引文件的流程示意图;图2A为本专利技术切分数据区块的示意图;图2B为本专利技术第一索引文件的示意图;图2C为本专利技术第二索引文件的示意图;图3为本专利技术的数据区块查询流程示意图。其中,附图标记210输入文件220数据区块230第一索引文件231选择群组240第二索引文件具体实施例方式下面结合附图对本专利技术的结构原理和工作原理作具体的描述本专利技术应用于具有处理重复数据删除程序的计算机,例如个人电脑、笔记型电脑、服务器或应用在客户端与服务端架构中。请参考图1所示,其为本专利技术的建立索引文件的流程示意图。本专利技术的建立索引文件的处理过程包括以下步骤步骤SllO 对输入文件进行切分程序,生成至少一数据区块与相应数据区块的描述信息,描述信息中记录数据区块相对于输入文件的偏移量与文件长度;步骤S120 将描述信息整合为第一索引文件;步骤S130 选取固定数量的数据区块,并将所选取出的数据区块定义为选择群组;步骤S140 记录选择群组中相对于第一索引文件的起始地址的偏移量与结束地址的偏移量至第二索引文件中;以及步骤S150 重复上述步骤,直至完成所有数据区块所相应的第一索引文件与第二索引文件为止。将输入文件210载入计算机装置中,并对输入文件210进行切分程序。输入文件 210在经过切分程序后生成至少一数据区块220与相应数据区块220的描述信息。而描述信息中记录数据区块220相对于输入文件210的偏移量(offset)与文件长度(length)。 请参考图2A所示,其为本专利技术切分数据区块的示意图。接着,将所有数据区块的描述信息依序排列,用以将所有的描述信息整合为第一索引文件230。请参考图2B所示,其为本专利技术第一索引文件的示意图。再从输入文件210中选取固定数量的数据区块220,并将所选取出的数据区块220 定义为选择群组221。举例来说,若一次选取三个数据区块为一个单位,则会从输入文件 210的第一数据区块、第二数据区块与第三数据区块依序选出,并将第一数据区块、第二数据区块与第三数据区块定义为选择群组221。同理,下次选取数据区块则是从输入文件210 的第四数据区块开始进行选取。当选择群组221被选出时,本专利技术是记录选择群组221中相对于第一索引文件230 的起始地址的偏移量与结束地址的偏移量至第二索引文件MO中。承接上述例子,当第一数据区块、第二数据区块与第三数据区块被选出作为选择群组221时,在第二索引文件MO 中会记录第一数据区块在第一索引文件230的起始偏移量与第三数据区块在输入文件210 的结尾的偏移量。请参考图2C所示,其为本专利技术第二索引文件MO的示意图。重复步骤 S120至步骤S140,直至所有数据区块的第一索引文件230与第二索引文件240完成为止。请参考图3所示,其为本专利技术的数据区块查询流程示意图。本专利技术的数据区块查询包括以下步骤步骤S310 将第二索引文件载入内存单元;步骤S320 输入查询请求;步骤S330 从查询请求所解析出欲查询的数据区块,与数据区块的偏移量与文件长度;步骤S340 根据数据区块的偏移量与文件长度对第二索引文件进行查询所相应的选择群组;以及步骤S350 根据所找出的选择群组对第一索引文件进行查询,并返回查询结果。首先,计算机装置将第二索引文件240载入内存单元(RAM)中储存。而第一索引文件230可以先被储存在硬盘或是内存单元中。计算机装置在接获查询请求后,计算机装置从查询请求所解析出欲查询的数据区块与数据区块的偏移量与文件长度。根据数据区块的偏移量与文件长度对第二索引文件240进行查询所相应的选择群组221,并将定位到所查询到的选择群组221。接着,再把该选择群组221对应于第一索引文件230的数据区块的偏移量与文件长度写入内存单元中。计算机装置再从内存单元中的部分片段的第一索引文件230内查找相应的数据区块本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:李鸿明王云松陈志丰
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:

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

1
相关领域技术