基于自索引DBF压缩查询工具研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于自索引DBF压缩查询工具研究

基于自索引DBF压缩查询工具研究    (中国科学院 软件研究所 a. 并行计算实验室; b. 计算机科学国家重点实验室, 北京 100190)   ??   摘 要:   介绍了DBF表的文件格式和基于自索引的全文查询算法FM-index。针对DBF文件同时包含二进制文件头和纯文本数据记录的特点,以及对查询结果的特定要求,扩充了现有的FM-index算法,使其支持对DBF文件的压缩查询。测试结果表明,虽然FM-index在压缩/解压时间上与WinRAR仍有一段差距,但是FM-index对压缩查询功能的支持大大提高了文件的查询性能。   ?す丶?词:全文索引; 数据库表; 压缩; 查询   ?ぶ型挤掷嗪牛?TP311 文献标志码:A    文章编号:1001-?B3695(2009)02-?B0628-?B03   ??   Self-index compressing and searching tool for DBF tables   ??   LIU Sheng-feia,ZHANG Yun-quana,b,ZHANG Dia,b   ??(a. Laboratory of Parallel Computing, b.State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China)   ??   Abstract:Based on the discussion of DBF table format and FM-index algorithm, extended the compressing and searching functions of FM-index for DBF tables. Considering the featuresof DBF tables,developed a tool to search DBF tables on compressed status. Experimental data shows thatalthough the tool spends more time to compress and uncompress than WinRar, it can search DBF tables much more quickly.   ??Key words:full text index; DBF(database file) table; compress; search   ?オ?   0 引言??   联网审计业务经常要处理报送来的大量DBF压缩数据,数据的解压缩常常要耗费很多的时间和空间。如果解压缩后才发现数据不符合要求,无疑浪费了审计人员宝贵的时间。因此,在压缩状态下支持DBF文件的查询是很重要的。FM-index就是一种自索引的压缩文本查询方法,可以同时达到次线性的空间和时间复杂度。FM-index算法可以对纯文本的数据建立索引,但是无法对二进制格式的DBF文件头建立索引。此外,DBF文件查询需要根据给定的pattern和字段名field,提取满足字段field中包含pattern的数据记录(即select records where [field] contains〈pattern〉)。但是,FM_index的查询功能是对给定的pattern,输出pattern在文本中的位置及其附近的若干字符。因此,现有的FM_index算法无法满足DBF文件的压缩查询需求。??   本文基于FM_index算法,将DBF文件拆分为文件头和数据记录两个部分,仅对数据记录部分建立索引。在此基础上,对FM_index的查询功能进行了扩充,使其能够支持对DBF的压缩查询。??   1 DBF文件格式??   DBF是在dBASE和FoxPro中使用的数据库文件[1]。DBF表文件包括一个文件头和若干个数据记录。其中,文件头为二进制格式,数据记录采用ASCII字符格式。文件头由文件位置0开始。第一个数据记录紧接在文件头之后(连续的字节)。每条数据记录由若干个字段子记录组成。??   文件头定义了该表的结构和一些与表相关的其他信息;数据记录包含了表中的实际文本内容。DBF文件头的详细格式如表1所示。??   表1文件头的详细格式   偏移位置 内容   0表示文件的版本信息   1~3表示最近的更新日期   4~7表示文件中的记录条数   8,9文件头长度,单位为Byte   10,11表示每个数据记录的长度(包括删除标记),单位为Byte   12,13

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档