[发明专利]过滤方法和服务器有效
申请号: | 201310422744.8 | 申请日: | 2013-09-16 |
公开(公告)号: | CN104462104B | 公开(公告)日: | 2019-03-19 |
发明(设计)人: | 郭光明 | 申请(专利权)人: | 华为软件技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F16/335 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 210012 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 过滤 方法 服务器 | ||
1.一种过滤方法,其特征在于,基于预先建立的对象索引,所述对象索引包括针对属性值建立的列索引;每一列索引可包括关键字和对象集,所述关键字中至少包括属性值,所述对象集中的对象均拥有所述关键字中的属性值;所述对象索引存储于缓存服务器;所述关键字对应的哈希值为所述列索引在所述对象索引中的存储位置,所述关键字对应的哈希值至少是根据所述关键字中的属性值计算得出;
所述方法包括:
接收过滤条件,所述过滤条件包括至少一个属性值;
获取与所述过滤条件中的属性值相匹配的列索引中的对象集,所述对象集中的对象均拥有所述属性值;
对获取到的对象集取交集,取交集后得到的对象作为过滤结果;
其中,所述获取与所述过滤条件中的属性值相匹配的列索引中的对象集包括:
根据所述过滤条件中的属性值计算得出第一哈希值;
从等于所述第一哈希值的存储位置处获取对象集。
2.如权利要求1所述的方法,其特征在于,所述列索引包括关键字和对象集,所述关键字至少包括属性值;任一列索引中的属性值不同于其他列索引中的属性值;
所述对象索引通过如下方式建立:
将每一对象的每一属性值分别作为目标属性值,建立针对所述目标属性值的列索引;
所述建立针对所述目标属性值的列索引包括:
在不存在针对所述目标属性值的列索引时,新建列索引,令新建的列索引的关键词包含所述目标属性值,并且,所述新建的列索引的对象集,包含所述目标属性值对应的对象;
在存在针对所述目标属性值的列索引时,将所述目标属性值对应的对象插入到,针对所述目标属性值的列索引的对象集中。
3.如权利要求1或2所述的方法,其特征在于,所述列索引采用Hash结构存储。
4.如权利要求1或2所述的方法,其特征在于,所述对象集中的对象按自然序排列。
5.如权利要求1或2所述的方法,其特征在于,所述对获取到的对象集取交集包括:
当获取到N个对象集时,进行N-1轮匹配查找处理,所述N为不小于2的自然数。
6.如权利要求5所述的方法,其特征在于,第i轮匹配查找处理包括第一处理和第二处理,所述i为不小于1并且不大于N-1的自然数,其中:
所述第一处理包括:任选两个未参与匹配查找处理的对象集,其中一个对象集作为参考集,另一个对象集作为被搜索集;
依次将所述参考集中的对象作为目标参考对象;
在所述被搜索集中查找是否存在与所述目标参考对象相匹配的对象;
所述第二处理包括:
当不满足预设条件时,保留匹配成功的对象至中间对象集,并将所述中间对象集作为未参与匹配查找处理的对象集;
当满足预设条件时,保留匹配成功的对象到最终对象集;
所述预设条件包括i=N-1。
7.如权利要求6所述的方法,其特征在于,所述将取交集后得到的对象作为过滤结果包括:
将所述最终对象集中的对象作为过滤结果。
8.如权利要求7所述的方法,其特征在于,所述在所述被搜索集中查找是否存在与所述目标参考对象相匹配的对象包括:
在所述被搜索集中按二分法查找是否存在与所述目标参考对象相匹配的对象。
9.如权利要求8所述的方法,其特征在于,所述参考集中包括的对象数不大于被搜索集中的对象数。
10.如权利要求2所述的方法,其特征在于,还包括:
接收输入的新增对象的相关数据,所述相关数据至少包括属性值;
获取所述新增对象的属性值;
从所述对象索引中,获取关键字与所述新增对象的属性值相匹配的列索引中的对象集;
将所述新增对象插入获取到的对象集中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为软件技术有限公司,未经华为软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310422744.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种语音搜索方法及装置
- 下一篇:面向计算机辅助翻译的输入方法与装置