以Python为接口C++实现的字符布隆过滤器的制作方法

文档序号:20916609发布日期:2020-05-29 13:36阅读:来源:国知局

技术特征:

1.以python为接口c++实现的字符布隆过滤器,其特征在于:包括以下步骤:

1)、输入数据;

2)、c++实现布隆过滤器并编译成动态链接库;

3)、将数据通过调用动态链接库传输给c++程序模块;

4)、计算出字符的哈希值分布到布隆过滤器的二进制向量中,判断数据是否已经存在,如果已存在,则返回已存在,否则返回不存在。

2.根据权利要求1所述的以python为接口c++实现的字符布隆过滤器,其特征在于:还包括以下步骤:

5)、python输出步骤4得到的返回结果。

3.根据权利要求2所述的以python为接口c++实现的字符布隆过滤器,其特征在于:

在步骤1中:

字符通过python代码接口进入系统,用python实现http接口或者python主动拉取数据的方式输入数据。

4.根据权利要求3所述的以python为接口c++实现的字符布隆过滤器,其特征在于:

在步骤3中:

python将拿到的数据通过调用动态链接库传输给c++程序模块。

5.根据权利要求4所述的以python为接口c++实现的字符布隆过滤器,其特征在于:

在步骤4中:

c++利用8种不同的哈希函数算法,分别计算出字符的不同哈希值,分布到布隆过滤器的二进制向量中,判断数据是否已经存在,如果8个位置的向量状态都表示被占用,则返回已存在,否则返回不存在;返回结果给python。

6.根据权利要求5所述的以python为接口c++实现的字符布隆过滤器,其特征在于:

哈希函数算法包括sdbmhash,rshash,jshash,pjwhash,elfhash,bkdrhash,djbhash,aphash。

7.根据权利要求6所述的以python为接口c++实现的字符布隆过滤器,其特征在于:

如果哈希值对应的向量位置为空,则设置该位置的向量值,二进制状态从0变成1。


技术总结
本发明提供一种以Python为接口C++实现的字符布隆过滤器,包括以下步骤:1)、输入数据;2)、C++实现布隆过滤器并编译成动态链接库;3)、将数据通过调用动态链接库传输给C++程序模块;4)、计算出字符的哈希值分布到布隆过滤器的二进制向量中,判断数据是否已经存在,如果已存在,则返回已存在,否则返回不存在。本发明对于程序开发人员而言,可以减少使用布隆过滤器的学习成本和时间,通过使用简单的Python接口,不损失程序的执行效率,达到执行速度和开发效率的双赢。本发明将C++的高效执行效率和Python的高效开发效率结合起来,大大地提高程序的开发效率和执行速度。

技术研发人员:葛汉斌;范渊
受保护的技术使用者:杭州安恒信息技术股份有限公司
技术研发日:2019.12.31
技术公布日:2020.05.29
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1