System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据预查询方法、装置、设备及计算机可读存储介质制造方法及图纸_技高网

数据预查询方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:40090129 阅读:6 留言:0更新日期:2024-01-23 16:04
本发明专利技术实施例提供一种数据预查询方法、装置、设备及计算机可读存储介质,包括:确定待查询数据对应的多个第L级哈希值;L起始值为1;根据各第L级哈希值在第L级查询数组中的查询位置,判断待查询数据是否必不存在于数据库中;若无法判断且确定不满足查询结束条件,则令L加1,并重复上述步骤。各级查询数组通过如下方式确定:根据数据库数据量确定各级对应的预设哈希函数、查询数组的总级数、长度,并将查询数组新增的查询位置设置为无效查询值;对数据库中的任一存储数据,从第一级开始逐级执行如下步骤:基于多个第L级预设哈希函数确定存储数据对应的第L级哈希值,将第L级查询数组中第L级哈希值对应的查询位置设置为有效查询值。

【技术实现步骤摘要】

本专利技术涉及计算机,尤指一种数据预查询方法、装置、设备及计算机可读存储介质


技术介绍

1、在对大规模数据的查询场景中(例如在大型数据库中查找某项数据、网络爬虫对待爬取网页通过查询已爬取网址数据库来避免重复爬取、邮箱系统对接收到的邮件通过查询垃圾邮件库来判断是否为垃圾邮件等),直接在相应数据库中精确查找待查询数据,耗时极长,效率较低。


技术实现思路

1、本专利技术实施例提供一种数据预查询方法、装置、设备及计算机可读存储介质,用以提高对待查询数据的查询效率。

2、本专利技术实施例提供了一种数据预查询方法,包括:

3、对任一第l级预设哈希函数,确定待查询数据对应的第l级哈希值;l起始值为1;所述第l级预设哈希函数为多个;

4、根据各所述第l级哈希值在第l级查询数组中对应的查询位置,判断所述待查询数据是否必不存在于数据库中;

5、若无法判断所述待查询数据是否必不存在于所述数据库中,且确定不满足查询结束条件,则令l加1,并返回所述对任一第l级预设哈希函数,确定所述待查询数据对应的第l级哈希值的步骤;

6、其中,各级查询数组通过如下方式确定:

7、根据所述数据库中的数据量确定各级对应的预设哈希函数、查询数组的总级数、各级查询数组的长度,并将查询数组新增的查询位置设置为无效查询值;

8、对所述数据库中的任一存储数据,从第一级开始直至所述存储数据对应的最后一级l0逐级执行如下步骤,以设置所述存储数据在各级查询数组中分别对应的多个查询位置:

9、对任一所述第l级预设哈希函数,基于所述第l级预设哈希函数确定所述存储数据对应的第l级哈希值;

10、对任一所述第l级哈希值,将第l级查询数组中所述第l级哈希值对应的查询位置设置为有效查询值;

11、其中,对于同一存储数据,所述存储数据对应的第l1级哈希值与第l2级哈希值不完全相同,l1,l2∈{li|1≤li≤l0,li∈z},l0≤lmax,lmax为查询数组的总级数。

12、可选地,所述根据各所述第l级哈希值在所述第l级查询数组中对应的查询位置,判断所述待查询数据是否必不存在于数据库中,包括:

13、若各所述第l级哈希值在所述第l级查询数组中对应的查询位置中,存在取值为无效查询值的查询位置,确定所述待查询数据必不存在于所述数据库中;

14、否则,确定无法判断所述待查询数据是否必不存在于所述数据库中。

15、作为一种可选的实施方式,任意两个级别对应的预设哈希函数不同。

16、作为另一种可选的实施方式,对同一目标数据,所述目标数据在不同级别对应的函数输入值不同;其中,所述目标数据对应的第l级哈希值根据所述目标数据对应的第l级函数输入值确定;

17、所述目标数据为所述待查询数据或所述存储数据。

18、更进一步地,作为一种可选的实施方式,任意两个级别对应的预设哈希函数相同;

19、对于同一预设哈希函数,所述目标数据对应的第1级函数输入值为所述目标数据;所述目标数据对应的非第1级函数输入值为所述目标数据对应的上一级哈希值。

20、更进一步地,作为另一种可选的实施方式,任意两个级别对应的预设哈希函数相同;

21、对于同一预设哈希函数,所述目标数据对应的第l级输入值通过对所述目标数据进行代数变换得到,任意两个级别对应的代数变换规则不同。

22、可选地,所述根据所述数据库中的数据量确定各级对应的预设哈希函数、查询数组的总级数、各级查询数组的长度,具体包括:

23、确定所述数据库中当前存储的第一数据量,以及上一次确定所述数据库中存储的第二数据量;

24、若所述第一数据量与所述第二数据量的差值小于预设第一增量阈值,则增加所述总级数;

25、若所述第一数据量与所述第二数据量的差值大于等于所述预设第一增量阈值,则增加所述长度;

26、所述方法还包括:

27、若增加了所述长度,则增加预设哈希函数的数量。

28、可选地,若本次确定的总级数相比于上一次确定的总级数增加,则所述总级数的增加量根据所述查询数组级数增加前的总级数确定;

29、更进一步可选地,所述总级数的增加量满足如下关系:

30、

31、其中,△l为所述总级数的增加量,l0为所述查询数组级数增加前的总级数;

32、可选地,若本次确定的长度相比于上一次确定的长度增加,则所述长度的增加量根据所述查询数组长度增加前的长度、所述第一数据量和所述查询数组长度增加后的所述预设哈希函数的数量确定。

33、更进一步可选地,所述长度增加量满足如下关系:

34、

35、其中,△m为所述长度增加量,n′为所述第一数据量,k′为所述查询数组的长度增加后的所述预设哈希函数的数量,m0为所述查询数组长度增加前的长度;

36、每次增加的预设哈希函数hash(x)为:

37、hash(x)=x mod m0

38、其中,x为所述待查询数据或所述存储数据。

39、可选地,所述预设第一增量阈值根据设备硬件性能和所述第一数据量中至少一项确定。

40、可选地,所述确定不满足查询结束条件,包括:

41、确定各所述第l级哈希值在所述第l级查询数组中对应的查询位置中均属于标志查询位置,确定不满足查询结束条件;其中,所述标志查询位置为,在第l级标志数组中对应的标志位置为有效标志值的查询位置;

42、其中,各级标志数组通过如下方式确定:

43、确定各级标志数组,并将标志数组新增的标志位置设置为无效标志值,其中所述第l级查询数组中的各查询位置分别唯一对应所述第l级标志数组中的一个标志位置;

44、对所述数据库中的任一存储数据,在对任一所述第l级哈希值,将第l级查询数组中所述第l级哈希值对应的查询位置设置为有效查询值之后,确定所述第l级不为所述存储数据对应的最后一级l0,则将所述第l级哈希值对应的标志位置设置为有效标志值;

45、其中,通过如下方式确定任一存储数据对应的最后一级l0:

46、选择参与确定对应第l级哈希值的所有第l级映射存储数据中的至少部分存储数据为第l级结束映射存储数据;其中l起始值为1;第1级映射存储数据为所述数据库中的所有存储数据;

47、对所述第l级结束映射存储数据,确定第l级为所述结束映射存储数据对应的最后一级l0;若所述第l级不为最后一级lmax,将非第l级结束映射存储数据的第l级映射存储数据作为下一级映射存储数据,令l加1,并返回选择参与确定对应第l级哈希值的所有第l级映射存储数据中的至少部分存储数据为第l级结束映射存储数据的步骤。

48、可选地,所述查询数组为位数组。

49、可选地,所述标志数组为位数组。

...

【技术保护点】

1.一种数据预查询方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述根据各所述第L级哈希值在所述第L级查询数组中对应的查询位置,判断所述待查询数据是否必不存在于数据库中,包括:

3.如权利要求1所述的方法,其特征在于,任意两个级别对应的预设哈希函数不同;

4.如权利要求3所述的方法,其特征在于,任意两个级别对应的预设哈希函数相同;

5.如权利要求1所述的方法,其特征在于,所述根据所述数据库中的数据量确定各级对应的预设哈希函数、查询数组的总级数、各级查询数组的长度,具体包括:

6.如权利要求1所述的方法,其特征在于,若本次确定的总级数相比于上一次确定的总级数增加,则所述总级数的增加量根据所述查询数组级数增加前的总级数确定;

7.如权利要求6所述的方法,其特征在于,所述总级数的增加量满足如下关系:

8.如权利要求5所述的方法,其特征在于,所述预设第一增量阈值根据设备硬件性能和所述第一数据量中至少一项确定。

9.如权利要求1所述的方法,其特征在于,所述确定不满足查询结束条件,包括:

10.如权利要求1所述的方法,其特征在于,所述查询数组为位数组。

11.如权利要求9所述的方法,其特征在于,所述标志数组为位数组。

12.一种数据预查询装置,其特征在于,包括:

13.一种电子设备,其特征在于,包括:处理器和用于存储所述处理器可执行指令的存储器;

14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述如权利要求1-11任一项所述的数据预查询方法。

...

【技术特征摘要】

1.一种数据预查询方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述根据各所述第l级哈希值在所述第l级查询数组中对应的查询位置,判断所述待查询数据是否必不存在于数据库中,包括:

3.如权利要求1所述的方法,其特征在于,任意两个级别对应的预设哈希函数不同;

4.如权利要求3所述的方法,其特征在于,任意两个级别对应的预设哈希函数相同;

5.如权利要求1所述的方法,其特征在于,所述根据所述数据库中的数据量确定各级对应的预设哈希函数、查询数组的总级数、各级查询数组的长度,具体包括:

6.如权利要求1所述的方法,其特征在于,若本次确定的总级数相比于上一次确定的总级数增加,则所述总级数的增加量根据所述查询数组级数增加前的总级数确定;

7.如权利要求6所述的方法,其特征在于...

【专利技术属性】
技术研发人员:韦佳明倪魁倪同铜
申请(专利权)人:天翼安全科技有限公司
类型:发明
国别省市:

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

1