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。