[发明专利]一种内容匹配方法和装置在审
| 申请号: | 201510730991.3 | 申请日: | 2015-10-31 |
| 公开(公告)号: | CN105354150A | 公开(公告)日: | 2016-02-24 |
| 发明(设计)人: | 全赛彬;王工艺;张希舟 | 申请(专利权)人: | 杭州华为数字技术有限公司 |
| 主分类号: | G06F12/04 | 分类号: | G06F12/04 |
| 代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
| 地址: | 310053 浙江省杭州*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 内容 匹配 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种内容匹配方法和装置。
背景技术
散列表(Hashtable,也叫哈希表),是根据关键码值(Keyvalue)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数(也叫哈希函数),存放记录的数组叫做散列表。
LZ(LempelZiv)系列压缩算法是基于字典的压缩算法。LZ压缩算法的通用实现方法是先通过hashtable索引找到匹配位置,然后进行匹配比较,最后编码输出压缩结果,其中hashtable索引和匹配比较是最重要的两步操作。
现有技术中源数据与历史数据匹配得到匹配结果的流程为:首先待匹配的源数据按一定长度的滑窗分别得到多个的源数据;将多个源数据分别和对应的历史数据进行逐字节比较,得到比较结果,此处的历史数据是源数据通过hash索引寻找到的;将比较结果做一拍的延时;将本拍的比较结果和上一拍的比较结果综合比较分析,得到匹配结果。从上述过程可以看出,比较结果的数量会随着源数据的数据增加,综合分析多个比较结果得到最终匹配结果的过程逻辑复杂,资源消耗大,时序差,难以拓展。
发明内容
本发明实施例所要解决的技术问题在于,提供一种内容匹配方法和装置。可解决现有技术中匹配过程复杂的问题
为了解决上述技术问题,本发明实施例第一方面提供了一种内容匹配方法,包括:
根据本拍的Q字节的数据和上一拍的P-1字节的数据生成P+Q-1字节的待处理数据;其中,P和Q为正整数,且P+Q-1大于0;
根据宽度为P字节的滑窗将所述待处理数据划分为Q个P字节的源数据;
将所述Q个P字节的源数据中各个源数据分别与对应的历史数据进行匹配处理,匹配处理后得到Q个P位的匹配结果;
将所述Q个匹配结果中各个匹配结果以1位步长递增向低位移位后与运算得到本拍的P+Q-1位的匹配结果;
将本拍的P+Q-1位的匹配结果和上一拍的P+Q-1位的匹配结果组合得到上一拍的Q位的匹配结果。
结合第一方面,在第一种可能的实现方式中,所述将所述Q个P字节的源数据中各个源数据分布与对应的历史数据进行匹配,匹配处理后得到Q个P位的匹配结果包括:
计算所述各个源数据分别对应的哈希值,在存储器中查询哈希值对应的历史数据。
结合第一方面,在第二种可能的实现方式中,所述根据本拍的Q字节的数据和上一拍的P-1字节的数据生成P+Q-1字节的待处理数据之前,还包括:
待索引数据划分为2N个源数据;其中,Q=2N,N为正整数;
分别计算所述2N个源数据各自对应的哈希值,得到2N个哈希值;
将所述2N个哈希值存放到M个哈希值队列中;其中,所述M个哈希值队列各自对应2N/M个哈希值;其中,M为正整数,2N/M为正整数;
每次从所述M个哈希值队列各个哈希值队列中分别取出1个哈希值,得到M个哈希值,以及计算所述M个哈希值各自对应的子RAM地址;
若所述M个哈希值均不相同且所述M个哈希值各自对应的子RAM地址均不相同;
将所述M个哈希值各自对应的源数据存储在分布式随机存储器RAM中子RAM地址指向的子RAM中;
将M个源数据的地址存放在M个历史数据地址队列中,并根据M个历史地址队列中存放的地址得到所述2N个源数据各自对应的历史数据地址。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述分布式RAM中包含2K个子RAM,所述计算所述M个哈希值各自对应的RAM地址包括:
从所述M个哈希值中指定位置分别取出K位数据作为各自对应的子RAM地址;其中,K为正整数。
结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,还包括:
若所述M个哈希值中有相同的哈希值,根据预设算法将冲突的源数据映射到对应的子RAM中的新地址上;或
若所述M个哈希值不存在相同的哈希值但所述M个子RAM地址存在相同的子RAM地址,延时一拍;
将下一拍M个哈希值各自对应的源数据存储在分布式RAM中子RAM地址指向的子RAM中。
本发明实施例提供了一种内容匹配装置,包括:
生成模块,用于根据本拍的Q字节的数据和上一拍的P-1字节的数据生成P+Q-1字节的待处理数据;其中,P和Q为正整数,且P+Q-1大于0;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华为数字技术有限公司,未经杭州华为数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510730991.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:挤出颗粒
- 下一篇:含农药的聚氨酯分散体
- 内容再现系统、内容提供方法、内容再现装置、内容提供装置、内容再现程序和内容提供程序
- 内容记录系统、内容记录方法、内容记录设备和内容接收设备
- 内容服务系统、内容服务器、内容终端及内容服务方法
- 内容分发系统、内容分发装置、内容再生终端及内容分发方法
- 内容发布、内容获取的方法、内容发布装置及内容传播系统
- 内容提供装置、内容提供方法、内容再现装置、内容再现方法
- 内容传输设备、内容传输方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容发送设备、内容发送方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容再现装置、内容再现方法、内容再现程序及内容提供系统
- 内容记录装置、内容编辑装置、内容再生装置、内容记录方法、内容编辑方法、以及内容再生方法





