[发明专利]一种内存索引压缩方法和装置有效
申请号: | 201110362273.7 | 申请日: | 2011-11-15 |
公开(公告)号: | CN103106144A | 公开(公告)日: | 2013-05-15 |
发明(设计)人: | 张雁飞 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 索引 压缩 方法 装置 | ||
1.一种内存索引压缩方法,其特征在于,该方法包括:
在内存中创建索引哈希链表空间;
当有内存索引键值需要保存到内存时,根据第一哈希函数对该内存索引键值进行哈希计算,得到哈希键值;
查看所述索引哈希链表空间中是否已存在与所述哈希键值相同的值,是则不做操作,否则将所述哈希键值保存到所述索引哈希链表空间中。
2.根据权利要求1所述的方法,其特征在于,所述索引哈希链表空间包含n个索引区,对应序号依次为0~n-1;
查看所述索引哈希链表空间中是否已存在与所述哈希键值相同的值包括:根据第二哈希函数对该内存索引键值进行哈希计算,对该哈希计算结果进行模n运算得到0~n-1中的一个值,确定序号与该值对应的索引区,查看该确定的索引区中是否已存在与所述哈希键值相同的值;
所述将哈希键值保存到所述索引哈希链表空间中包括:将所述哈希键值保存到该确定的索引区中。
3.根据权利要求2所述的方法,其特征在于,将所述哈希键值保存到该确定的索引区中包括:
构建一个索引条目,该索引条目包括所述哈希键值和一个链表指针;
将构建的索引条目添加到该确定的索引区中;
其中,所述链表指针指向下一个索引条目。
4.根据权利要求2所述的方法,其特征在于,
所述第一哈希函数为DJB哈希函数;
所述第二哈希函数为CRC16哈希函数。
5.一种内存索引压缩装置,其特征在于,该装置包括:内存模块、创建模块和内存索引压缩模块,其中:
创建模块,用于在内存模块中创建索引哈希链表空间,并通知内存索引压缩模块;
内存索引压缩模块,用于在接收到内存索引键值时,根据第一哈希函数对该内存索引键值进行哈希计算,得到哈希键值,然后查看内存模块中的索引哈希链表空间中是否已存在与所述哈希键值相同的值,是则不做操作,否则将所述哈希键值保存到所述索引哈希链表空间中。
6.根据权利要求5所述的装置,其特征在于,
所述创建模块,用于在内存模块中创建包含n个索引区的索引哈希链表空间;该n个索引区的序号依次为0~n-1;
所述内存索引压缩模块,用于根据第二哈希函数对该内存索引键值进行哈希计算,对该哈希计算结果进行模n运算得到0~n-1中的一个值,确定序号与该值对应的索引区,查看该确定的索引区中是否已存在与所述哈希键值相同的值,如果不存在则将所述哈希键值保存到该确定的索引区中。
7.根据权利要求6所述的装置,其特征在于,
所述内存索引压缩模块,用于构建一个索引条目,将构建的索引条目添加到该确定的索引区中;
其中,所述索引条目包括所述哈希键值和一个链表指针;所述链表指针指向下一个索引条目。
8.根据权利要求6所述的装置,其特征在于,
所述内存索引压缩模块,用于根据第DJB哈希函数对该内存索引键值进行哈希计算,得到哈希键值;
所述内存索引压缩模块,用于根据CRC16哈希函数对该内存索引键值进行哈希计算,对该哈希计算结果进行模n运算得到0~n-1中的一个值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110362273.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:导地线异物清除器
- 下一篇:紫河车香菇散的制备方法