黑名单的存储方法、查找方法及装置制造方法及图纸

技术编号:36433002 阅读:30 留言:0更新日期:2023-01-20 22:45
本发明专利技术公开一种黑名单的存储方法、查找方法及装置。其中,黑名单的存储方法包括步骤:获取储存格式信息;接收黑名单key;从黑名单key的高位位宽的最高位开始以固定位宽为一段数据单位读取,根据读取到的数值找到对应一层哈希桶的槽位;读取黑名单key的低位位宽,在最末层桶中找到的槽位所指向的容器中根据读取到的数值添加元素;在找到的槽位不在最末层桶时,检查找到的槽位是否有子层桶,若没有子层桶,则生成子层桶;在找到的槽位在最末层桶时,检查最末层桶中找到的槽位是否有指向的容器,若没有指向的容器,则生成指向的容器。本发明专利技术的黑名单存储查找方法,按照字节长度调整数据结构,实现内存节省和高效的查找效率。实现内存节省和高效的查找效率。实现内存节省和高效的查找效率。

【技术实现步骤摘要】
黑名单的存储方法、查找方法及装置


[0001]本专利技术涉及数据处理的
,更具体地,涉及一种黑名单的存储方法、查找方法及装置。

技术介绍

[0002]黑名单一般包括:用户ID、用户名、电话号码等内容。传统的黑名单查找,通常会使用哈希查找或二分查找。哈希查找虽然高效,但在数据稀疏时存在严重的内存浪费,而二分查找,虽然避免了内存浪费,但查找效率不高。

技术实现思路

[0003]本专利技术为克服上述现有技术中至少一种的缺陷,提供一种黑名单的存储方法、查找方法及装置,本专利技术采用的技术方案如下。
[0004]第一方面,本专利技术提供一种黑名单的存储方法,包括步骤:
[0005]获取储存格式信息;其中,所述储存格式信息包括:总位宽、固定位宽;所述总位宽由高位位宽和低位位宽组成;
[0006]接收黑名单key;其中,所述黑名单key的位宽等于总位宽;
[0007]从黑名单key的高位位宽的最高位开始以固定位宽为一段数据单位读取,根据读取到的数值找到对应一层哈希桶的槽位;其中,从黑名单key的高位位宽的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种黑名单的存储方法,其特征在于,包括步骤:获取储存格式信息;其中,所述储存格式信息包括:总位宽、固定位宽;所述总位宽由高位位宽和低位位宽组成;接收黑名单key;其中,所述黑名单key的位宽等于总位宽;从黑名单key的高位位宽的最高位开始以固定位宽为一段数据单位读取,根据读取到的数值找到对应一层哈希桶的槽位;其中,从黑名单key的高位位宽的最高位开始,每一段固定位宽都对应有一层哈希桶;读取黑名单key的低位位宽,在最末层桶中找到的槽位所指向的容器中根据读取到的数值添加元素;在找到的槽位不在最末层桶时,检查找到的槽位是否有子层桶,若没有子层桶,则生成子层桶;在找到的槽位在最末层桶时,检查最末层桶中找到的槽位是否有指向的容器,若没有指向的容器,则生成指向的容器。2.根据权利要求1所述的黑名单的存储方法,其特征在于,所述黑名单key为黑名单原始数值;所述的黑名单的存储方法还包括步骤:在所述黑名单原始数值的位宽小于总位宽时,将所述黑名单原始数值的位宽补齐到等于总位宽。3.根据权利要求1所述的黑名单的存储方法,其特征在于,哈希桶的槽位的数量与固定位宽包含的值的数量相同。4.根据权利要求1所述的黑名单的存储方法,其特征在于,固定位宽为8位,低位位宽为16位。5.根据权利要求4所述的黑名单的存储方法,其特征在于,还包括步骤:在存储个数不超过4096时,所述容器为Array Container,在存储个数超过4096时,所述容器由Array Container转为Bitmap Container。6.一种黑名单的查找方法,其特征在于,包括步骤:获取储存格式信息,其中,所述储存格式信息包括:总位宽、固定位宽;所述总位宽由高位位宽和低位位宽组成;接收关键字key,其中,关键字key的位宽等于总位宽;从关键字key的高位位宽的最高位开始以固定位宽为一段数据单位读取数值,根据读取到的数值查找对应一层桶的槽位;其中,从关键字key的高位位宽的最高位开始,每一段固定位宽都对应有一层哈希桶;读取关键字key的低位位宽,在最末层桶中找到的槽位所指向的容器中根据读取到的数值查找元素;在对应的一层哈希桶不存在、或容器不...

【专利技术属性】
技术研发人员:李昌贵
申请(专利权)人:广州市奥威亚电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1