[发明专利]一种在哈希表数据库中处理键值的方法和装置有效
申请号: | 201310300815.7 | 申请日: | 2013-07-17 |
公开(公告)号: | CN103345521A | 公开(公告)日: | 2013-10-09 |
发明(设计)人: | 鹿宝生;周立发;韩占校;王继群 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 马晓亚 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 哈希表 数据库 处理 键值 方法 装置 | ||
1.一种在哈希表数据库中插入键值的方法,其特征在于,所述哈希表数据库包括如下哈希表:集合表、集合标识索引表、集合属性索引表、集合数据表,其中所述集合表用于存储由第一键、第一值数组构成的键值对;所述集合标识索引表用于存储由第二键、第二值数组构成的键值对,而所述第二键由所述第一键和所述第一值构成;所述集合属性索引表用于存储由第三键、第三值数组构成的键值对,而所述第三键由所述第一键、所述第一值和属性字段名称构成,所述第三值由所述第二值和所述属性字段名称下的属性字段数据构成;所述集合数据表用于存储由第四键、第四值数组构成的键值对,而所述第四键由所述第一键、所述第一值和所述第二值构成,其中所述属性字段名称是所述第四值所代表的数据记录的各个属性字段名称之一;
所述方法包括如下步骤:
接收对所述哈希表数据库的所述集合数据表的插入键值请求,其中,所述插入键值请求包括:待插入第一键、待插入第一值、待插入第二值、待插入属性字段名称、待插入属性字段数据、待插入第四值;
判断在所述集合标识索引表中是否存在由所述待插入第一键和所述待插入第一值构成的第二键,如果不存在,则在所述集合表的所述待插入第一键所对应的所述第一值数组中插入所述待插入第一值并且在所述集合标识索引表中插入由所述待插入第一键和所述待插入第一值构成的第二键;而如果存在,则直接进行以下的步骤;
在所述集合标识索引表中的、与由所述待插入第一键和所述待插入第一值构成的第二键对应的第二值数组中插入所述待插入第二值;
在所述集合属性索引表中的、与由所述待插入第一键、所述待插入第一值和所述待插入属性字段名称构成的第三键对应的第三值数组中插入由所述待插入第二值和所述待插入属性字段数据构成的待插入第三值;
在所述集合数据表中的、与由所述待插入第一键、所述待插入第一值和所述待插入第二值构成的第四键对应的第四值数组中插入所述待插入第四值。
2.根据权利要求1所述的在哈希表数据库中插入键值的方法,其特征在于,所述第一值数组是依据排序算法对所述第一值数组中的所有第一值进行了排序操作的有序数组。
3.根据权利要求2所述的在哈希表数据库中插入键值的方法,其特征在于,所述在所述集合表的所述待插入第一键所对应的所述第一值数组中插入所述待插入第一值的步骤包括:依据对所述第一值数组应用的所述排序算法,在所述集合表的所述待插入第一键所对应的所述第一值数组中有序插入所述待插入第一值。
4.根据权利要求1所述的在哈希表数据库中插入键值的方法,其特征在于,所述第二值数组是依据排序算法对所述第二值数组中的所有第二值进行了排序操作的有序数组。
5.根据权利要求4所述的在哈希表数据库中插入键值的方法,其特征在于,所述在所述集合标识索引表中的、与由所述待插入第一键和所述待插入第一值构成的第二键对应的第二值数组中插入所述待插入第二值的步骤包括:依据对所述第二值数组应用的所述排序算法,在所述集合标识索引表中的、与由所述待插入第一键和所述待插入第一值构成的第二键对应的第二值数组中有序插入所述待插入第二值。
6.根据权利要求2或4所述的在哈希表数据库中插入键值的方法,其特征在于,所述排序算法包括:按数值大小排序算法或按字母顺序排序算法。
7.根据权利要求1所述的在哈希表数据库中插入键值的方法,其特征在于,所述哈希表数据库是分布式数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310300815.7/1.html,转载请声明来源钻瓜专利网。