[发明专利]数据匹配方法和数据匹配装置有效
| 申请号: | 200910091700.5 | 申请日: | 2009-08-28 |
| 公开(公告)号: | CN101996139A | 公开(公告)日: | 2011-03-30 |
| 发明(设计)人: | 欧阳剑;刘承辉;盛克华;唐会军 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
| 主分类号: | G06F12/06 | 分类号: | G06F12/06;G06F17/30;H03M7/30 |
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 张红莲 |
| 地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据 匹配 方法 装置 | ||
技术领域
本发明实施例涉及数据压缩技术领域,尤其涉及一种数据匹配方法和数据匹配装置。
背景技术
目前,为了减少数据需要的存储介质,提高数据传输效率,数据压缩在互联网、数据库、存储应用中应用非常广泛,包括数据库应用、数据备份、压缩文件系统、网页(web)前端服务等。其中,GZIP压缩算法是目前应用最广泛的一种压缩算法,例如,在Web服务器软件(例如,apache、IIS)上使用GZIP对网页进行压缩,从而提高访问响应速度。
在相关技术中,GZIP压缩算法包括两部分:Lz77算法与哈夫曼(Huffman)编码。Lz77算法通过对原始数据进行去冗余处理以达到压缩的目的。该算法的软件实现方法是在一个数据窗口内(该数据窗口的大小一般为32KB),不断的迭代寻找最佳的匹配数据串进而消除冗余,并依赖中央处理器(Central Processing Unit;以下简称:CPU)对数据进行压缩。
在匹配查找过程中,为了快速向前定位可能匹配的数据,对每个比特(byte)的待输入字符,会计算一个hash值,如果两个字符的hash值相同,则可能存在匹配。在目前的实现方法中,会用一个链表数据结构保存所有hash值相同的字符索引,对每个输入字符,首先计算其hash值,然后使用hash值寻址到对应的链表,依次把字符索引取出进行匹配查找,最后会把当前字符的索引插入链表供后面字符的匹配查找使用。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
使用软件对Lz77算法进行串行处理的效率非常低,并且消耗大量的CPU与存储器(memory)资源,成为软件实现Lz77算法的性能瓶颈。
发明内容
本发明实施例提供一种数据匹配方法和数据匹配装置,用以解决现有技术中使用软件对Lz77算法进行串行处理的效率低、且消耗大量的CPU与存储器资源的缺陷,实现通过基于可编程门阵列的硬件来实现Lz77算法。
本发明实施例提供一种数据匹配方法,包括:
历史数据存储窗口将待输入字符之前预定字节的历史字符保存在历史数据存储窗口的随机存储器中;哈希计算单元计算待输入字符的哈希值,根据哈希值确定与待输入字符对应的字符索引,并将字符索引存储在哈希计算单元的随机存储器中,其中,字符索引为与待输入字符对应的历史字符在历史数据存储窗口的随机存储器中的位置信息;匹配查找单元获取哈希计算单元的随机存储器中的字符索引,并根据字符索引对待输入字符和历史字符进行匹配。
本发明实施例还提供一种数据匹配装置,包括:
历史数据存储窗口,用于保存待输入字符之前预定字节的历史字符;哈希计算单元,用于计算待输入字符的哈希值,根据哈希值确定与待输入字符对应的字符索引,并将字符索引存储在哈希计算单元的随机存储器中,其中,字符索引为与待输入字符对应的历史字符在历史数据存储窗口的随机存储器中的位置信息;匹配查找单元,用于获取哈希计算单元的随机存储器中的字符索引,并根据字符索引对待输入字符和历史字符进行匹配。
本发明实施例的数据匹配方法和数据匹配装置,通过基于可编程门阵列的硬件来实现Lz77算法,克服了现有技术中使用软件对Lz77算法进行串行处理的效率低、且消耗大量的CPU与存储器资源的缺陷,能够提高Lz77算法的处理效率,极大地节省了CPU与存储器的资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的数据匹配装置的结构示意图;
图2是根据本发明实施例的历史数据存储窗口分布式存储结构的示意图;
图3是根据本发明实施例的交叉存储方式的示意图;
图4是根据本发明实施例的哈希计算单元的随机存储器的结构示意图;
图5是根据本发明实施例的哈希计算单元的结构示意图;
图6是根据本发明实施例的匹配查找单元的结构示意图;
图7是根据本发明实施例的前端处理单元的结构示意图;
图8是根据本发明实施例的地址管理模块的结构示意图;
图9是根据本发明实施例的数据选择模块的结构示意图;
图10是根据本发明实施例的查询匹配模块的结构示意图;
图11是根据本发明实施例的后端处理单元的结构示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910091700.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数字电视接收装置及其换台方法
- 下一篇:一种1/8像素精度插值方法及插值装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





