一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种信息查询方法、装置和电子设备与流程

2022-02-19 05:49:37 来源:中国专利 TAG:

1.本技术涉及信息
技术领域
,更具体的说,是涉及一种信息查询方法、装置和电子设备。
背景技术
:2.数据存储过程中,每个数字占据一个字符。3.当存在超长数据串,如一个数据串包括10、20甚至更多位的数字时,需要占据较大的存储空间。因此,当有海量数据传需要存储时,需要大量的存储空间,相应的,在查询数据串时,需要依次进行比对,数据处理量大。技术实现要素:4.有鉴于此,本技术提供了一种信息查询方法,如下:5.一种信息查询方法,包括:6.获取待查询的第一数据串,所述第一数据串包括m位数据,m是取值大于1的整数;7.分析确定在预设的位向量中与所述第一数据串对应的第一位向量信息;8.若所述第一位向量信息与第二数据串的位向量信息冲突,将所述第一数据串变换为第三数据串,所述第二数据串与所述第一数据串不同,所述第三数据串与第二数据串之间的差异大于所述第一数据串与第二数据串之间的差异;9.分析确定在预设的位向量中与所述第三数据串对应的第二位向量信息,基于无数据串的位向量信息与所述第三数据串的第二位向量信息冲突,确定查询到存储的所述第一数据串。10.可选的,上述的方法,所述分析确定与所述第一数据串对应的第一位向量信息,包括:11.将所述第一数据串经过第一组哈希集合处理,得到至少两个第一目标位置,所述第一目标位置是预设位向量中的位置,所述第一组哈希集合包括n个哈希函数,所述n的取值是大于1的整数;12.基于所述至少两个第一目标位置的值满足预设条件,确定所述至少两个第一目标位置的值表征所述第一数据串对应的第一位向量信息。13.可选的,上述的方法,所述将所述第一数据串变换为第三数据串,包括:14.将所述第一数据串取k次数幂得到第三数据串,k是大于1的整数;15.或16.将所述第一数据串与s相乘得到第三数据串,s是大于1的整数。17.可选的,上述的方法,所述分析确定与所述第三数据串对应的第二位向量信息,包括:18.将所述第三数据串经过第二组哈希集合处理,得到至少两个第二目标位置,所述第二目标位置是预设位向量中的位置,所述第二组哈希集合包括n个哈希函数,所述n的取值是大于1的整数;19.基于所述至少两个第二目标位置的值满足预设条件,确定所述至少两个第二目标位置的值表征所述第三数据串对应的第二位向量信息。20.可选的,上述的方法,预设位向量,包括:21.初始化预设长度的位向量中每个位置的值,所述位向量中包括至少两个位置;22.获取第一预设数据串;23.将所述第一预设数据串变换为第二预设数据串;24.将所述第一预设数据串经过第一组哈希集合处理,得到至少两个第一待更新位置,所述第一待更新位置是初始化后的位向量中的位置,将所述至少两个第一待更新位置的值更新为预设值;25.将所述第二预设数据串经过第二组哈希集合处理,得到至少两个第二待更新位置,所述第二待更新位置是初始化后的位向量中的位置,将所述至少两个第二待更新位置的值更新为预设值。26.可选的,上述的方法,还包括:27.基于所述第一数据串对应的第一位向量信息与第二数据串的位向量信息冲突,确定采用第一组哈希集合处理所述第一数据串发生误判;28.统计预设处理次数中,采用第一组哈希集合处理数据串的误判率是否大于预设阈值;29.基于所述误判率大于预设阈值,调整所述第一组哈希集合中包含的哈希函数个数至w个,w是取值大于n的整数。30.一种信息查询装置,包括:31.获取模块,用于获取待查询的第一数据串,所述第一数据串包括m位数据,m是取值大于1的整数;32.第一分析模块,用于分析确定在预设的位向量中与所述第一数据串对应的第一位向量信息;33.变换模块,用于若所述第一位向量信息与第二数据串的位向量信息冲突,将所述第一数据串变换为第三数据串,所述第二数据串与所述第一数据串不同,所述第三数据串与第二数据串之间的差异大于所述第一数据串与第二数据串之间的差异;34.第二分析模块,用于分析确定在预设的位向量中与所述第三数据串对应的第二位向量信息,基于无数据串的位向量信息与所述第三数据串的第二位向量信息冲突,确定查询到存储的所述第一数据串。35.可选的,上述的装置,还包括:36.预存储模块,用于初始化预设长度的位向量中每个位置的值,所述位向量中包括至少两个位置;获取第一预设数据串;基于所述第一预设数据串变换为第二预设数据串;将所述第一预设数据串经过第一组哈希集合处理,得到至少两个第一待更新位置,所述第一待更新位置是初始化后的位向量中的位置,将所述至少两个第一待更新位置的值更新为预设值;将所述第二预设数据串经过第二组哈希集合处理,得到至少两个第二待更新位置,所述第二待更新位置是初始化后的位向量中的位置,将所述至少两个第二待更新位置的值更新为预设值。37.一种电子设备,包括:存储器、处理器;38.其中,存储器存储有程序;39.所述处理器用于加载并执行所述存储器存储的所述程序,以实现如上述任一项所述的信息查询方法的各步骤。40.一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器调用并执行,实现如上述任一项所述的信息查询方法的各步骤。41.经由上述的技术方案可知,本技术提供了一种信息查询方法,包括:获取待查询的第一数据串,该第一数据串包括多位数据,分析确定该第一数据串在预设位向量中对应的第一位向量信息,当该第一位向量信息与第二数据串的位向量信息冲突时,将该第一数据串变换为第三数据串,该第三数据串与第二数据串之间的差异大于第一数据串与第二数据串之间的差异;分析确定该第三数据串在预设位向量中对应的第二位向量信息,基于无数据串的位向量信息与该第三数据串的第二位向量信息冲突,确定查询到存储的第一数据串。本方案中,采用位向量存储数据串,只需存储数据量很小的位向量信息即可,节省内存空间,而且,采用变化后的数据串扩大与其他数据串的差异,基于数据串和变化后的数据串分别对应的位向量进行双向存储,在查询时实现双向判断,降低误判率。附图说明42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。43.图1为本技术提供的一种信息查询方法实施例1的流程图;44.图2为本技术提供的一种信息查询方法实施例2的流程图;45.图3为本技术提供的一种信息查询方法实施例3的流程图;46.图4为本技术提供的一种信息查询方法实施例4的流程图;47.图5为本技术提供的一种信息查询方法实施例4中哈希函数的取值与误判率的关系示意图;48.图6为本技术提供的一种信息查询方法实施例5的流程图;49.图7为本技术提供的一种信息查询方法的应用场景示意图;50.图8为本技术提供的一种信息查询方法的应用场景中条形码示意图;51.图9为本技术提供的一种信息查询方法的应用场景中数据处理中心进行数据处理的过程示意图;52.图10为本技术提供的一种信息查询装置实施例的结构示意图。具体实施方式53.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。54.如图1所示的,为本技术提供的一种信息查询方法实施例1的流程图,该方法应用于一电子设备,该方法包括以下步骤:55.步骤s101:获取待查询的第一数据串;56.其中,所述第一数据串包括m位数据,m是取值大于1的整数。57.其中,该第一数据串可以是从其他设备中获取得到,该其他设备具体可以是读取数据串的设备,如扫码机、读卡机。58.具体的,读取数据串的设备对于条码或者卡片中携带的数据串进行读取。59.其中,该第一数据串中可以包含各种信息,如货物信息、员工信息或者其他信息等。60.具体实施中,该第一数据串可以包含多位数据,如5、10、11甚至更多位数据,本技术中不对于该第一数据串中包含的数据位数做限制。61.步骤s102:分析确定在预设的位向量中与所述第一数据串对应的第一位向量信息;62.其中,预设有位向量,该位向量是一维的bit(位)向量,其是一维数组,该数组中只有0和1两种值,所需的存储空间较小。63.其中,该位向量中存储各个数据串的位向量信息。64.具体的,分析确定该第一数据串在该预设的位向量中是否有对应的位向量信息。65.如果有的话,确定在该预设的位向量中存在与该第一数据串对应的第一位向量信息。66.具体的,如果在预设的位向量中存储与该第一数据串对应的第一位向量信息时,表征初步确定存储有该第一数据串。67.具体实施中,可以采用布隆过滤器对于第一数据串进行分析处理,得到对应的第一位向量。68.步骤s103:若所述第一位向量信息与第二数据串的位向量信息冲突,将所述第一数据串变换为第三数据串;69.其中,所述第二数据串与所述第一数据串不同,所述第三数据串与第二数据串之间的差异大于所述第一数据串与第二数据串之间的差异。70.具体的,由于存在与该第一数据串相近的第二数据串,因此,会存在第一数据串和第二数据串的位向量信息冲突,即在预设的位向量中,第一数据串的对应的第一位向量信息与该第二数据串对应的位向量信息相同,二者出现冲突,表征仅是基于第一数据串查询结果出现错误,因此,需要进一步进行查询。71.具体的,对于该第一数据串进行变换为第三数据串,以增大与第二数据串的差异。72.其中,所述将所述第一数据串变换为第三数据串,包括:73.将所述第一数据串取k次数幂得到第三数据串,k是大于1的整数;74.或75.将所述第一数据串与s相乘得到第三数据串,s是大于1的整数。76.具体的,通过对于数据串取多次幂或者是增大倍数的方式变换为第三数据串。77.例如,该第一数据串是1234,第二数据串1235,二者的差异非常小,则将第一数据串取平方得到的第三数据串是1522756,与第二数据串1235的差异变的非常大78.例如,该第一数据串是1234,第二数据串1235,二者的差异非常小,则将第一数据串乘以2得到的第三数据串是2468,与第二数据串1235的差异也变大。79.具体的,如果采用第一组哈希集合处理数据串得到的位向量信息无其他数据串的位向量信息冲突,确定查询到存储的第一数据串,无需执行后续步骤s103‑104,即采用第一组哈希集合处理第一数据串得到结果未出现错误,无需进一步进行查询80.步骤s104:分析确定在预设的位向量中与所述第三数据串对应的第二位向量信息,基于无数据串的位向量信息与所述第三数据串的第二位向量信息冲突,确定查询到存储的所述第一数据串。81.具体的,分析确定该第三数据串在该预设的位向量中是否有对应的位向量信息。82.如果有的话,确定在该预设的位向量中存在与该第三数据串对应的第二位向量信息。83.具体的,如果在预设的位向量中存储与该第三数据串对应的第二位向量信息,并且,没有其他的数据串与该第三数据串冲突,表征确定存储有该第一数据串。84.需要说明的是,本申实施例中的信息查询方法,只需要从一维的位向量中进行查询是否有相应的位向量信息,查找的时间复杂度是一维的,复杂度较低,而且,通过扩大数据串的差异,基于数据串和变化后的数据串分别对应的位向量进行双向存储,在查询时实现双向判断,降低误判率。85.综上,本实施例提供的一种信息查询方法,包括:获取待查询的第一数据串,该第一数据串包括多位数据,分析确定该第一数据串在预设位向量中对应的第一位向量信息,当该第一位向量信息与第二数据串的位向量信息冲突时,将该第一数据串变换为第三数据串,该第三数据串与第二数据串之间的差异大于第一数据串与第二数据串之间的差异;分析确定该第三数据串在预设位向量中对应的第二位向量信息,基于无数据串的位向量信息与该第三数据串的第二位向量信息冲突,确定查询到存储的第一数据串。本方案中,采用位向量存储数据串,只需存储数据量很小的位向量信息即可,节省内存空间,而且,采用变化后的数据串扩大与其他数据串的差异,基于数据串和变化后的数据串分别对应的位向量进行双向存储,在查询时实现双向判断,降低误判率。86.如图2所示的,为本技术提供的一种信息查询方法实施例2的流程图,该方法包括以下步骤:87.步骤s201:获取待查询的第一数据串;88.其中,步骤s201与实施例1中的步骤s101一致,本实施例中不做赘述。89.步骤s202:将所述第一数据串经过第一组哈希集合处理,得到至少两个第一目标位置;90.其中。所述第一目标位置是预设位向量中的位置。91.其中,所述第一组哈希集合包括n个哈希函数,所述n的取值是大于1的整数。92.其中,该预设位向量是具体是哈希表(hashtable,也叫散列表)。93.本实施例中,采用多个哈希函数依次对于第一数据串进行处理,计算得到的位置是与哈希表中的相应位置。94.具体的,哈希表中包含多个位置,每个位置中的值是1或0。95.其中,对于该第一数据串经过第一组哈希集合处理,得到多个第一目标位置,该目标位置是该哈希表中的相应位置。96.需要说明的是,第一组哈希集合中包含的哈希函数的个数可调。97.需要说明的是,数据串的值越小,其在预设位向量中对应的目标位置在靠前的位置,数据串的值越大,其在预设位向量中对应的目标位置在靠后的位置,相应的该第一目标位置位于该预设位向量中的前若干位。98.步骤s203:基于所述至少两个第一目标位置的值满足预设条件,确定所述至少两个第一目标位置的值表征所述第一数据串对应的第一位向量信息;99.其中,如果该预设位向量中存储有该第一数据串,则该预设位向量中的至少两个第一目标位置中的值为1。100.其中,基于该至少两个第一目标位置的值满足预设条件,是该至少两个第一目标位置的值均为1,确定该预设位向量中存储有该第一数据串对应的第一位向量信息。101.例如,第一数据串是1234,对其经过第一组哈希集合处理,得到目标位置是n、n 1、n 10和n 12,n是大于等于1的整数,并且该目标位置的值均为1,确定该多个第一目标位置是与该第一数据串对应的第一位向量信息。102.步骤s204:若所述第一位向量信息与第二数据串的位向量信息冲突,将所述第一数据串变换为第三数据串;103.步骤s205:分析确定在预设的位向量中与所述第三数据串对应的第二位向量信息,基于无数据串的位向量信息与所述第三数据串的第二位向量信息冲突,确定查询到存储的所述第一数据串。104.其中,步骤s204‑205与实施例1中的步骤s103‑104一致,本实施例中不做赘述。105.综上,本实施例提供的一种信息查询方法中,将第一数据串经过多个哈希函数组成的第一哈希集合处理得到多个第一目标位置,该第一目标位置是与该预设位向量中的位置,基于该第一目标位置在该预设位向量中对应的位置的值满足条件,初步确定存储有该第一数据串,查找到该第一数据串。采用位向量存储数据串,只需存储数据量很小的位向量信息即可,节省内存空间,而且,仅需要多个哈希函数进行处理即可,利用了布隆过滤器的高速特性,实现了快速查询第一数据串。106.如图3所示的,为本技术提供的一种信息查询方法实施例3的流程图,该方法包括以下步骤:107.步骤s301:获取待查询的第一数据串;108.步骤s302:分析确定在预设的位向量中与所述第一数据串对应的第一位向量信息;109.步骤s303:若所述第一位向量信息与第二数据串的位向量信息冲突,将所述第一数据串变换为第三数据串;110.其中,步骤s301‑303与实施例1中的步骤s101‑103一致,本实施例中不做赘述。111.步骤s304:将所述第三数据串进行第二组哈希处理,得到至少两个第二目标位置;112.其中,所述第二目标位置是预设位向量中的位置;113.其中,所述第二组哈希处理包括n个哈希函数,所述n的取值是大于1的整数。114.在布隆过滤器的理论分析中,总是假设散列函数是完美的,均匀分布。但是,在现实中,完美的哈希函数并不存在。无论散列函数是基于加法还是g的位向乘法,还是基于移位,都或多或少可能对散列值有一些聚类,这会导致更多的冲突,尤其是当有更多的近似值时,冲突更加容易出现。115.具体的,经典哈希函数如下[0116][0117]以上是经典的哈希函数,是基于移位哈希函数。[0118]因为低位和高位的差距正是由于差异导致的,而在移位过程中低位和高位被丢弃,这必然会导致精度损失。[0119]对于相似的元素,它们之间的差异很小,而相似元素之间的差异位可能会被移位操作丢弃,这导致类似元素的差异被忽略。所以这是布隆过滤器实际使用中误判的一个来源。输入的相似元素越多,产生误判的可能性就越大。[0120]因此,本方案中,在发生冲突后,通过扩大差异实现再次进行分析确定,以实现提高最终的查询结果准确度。[0121]相应的,本实施例中,采用多个哈希函数依次对于第三数据串进行处理,计算得到的位置是与哈希表中的相应位置。[0122]具体的,哈希表中包含多个位置,每个位置中的值是1或0。[0123]其中,对于该第三数据串经过第二组哈希集合处理,得到多个第二目标位置,该目标位置是该哈希表中的相应位置。[0124]需要说明的是,第二组哈希集合中包含的哈希函数的个数可调,并且该第二组哈希集合中包含的哈希函数个数与第一组哈希集合中的个数相同。[0125]需要说明的是,数据串的值越小,其在预设位向量中对应的目标位置在靠前的位置,数据串的值越大,其在预设位向量中对应的目标位置在靠后的位置,相应的,该第一目标位置相对于第二目标位置在该预设位向量中靠前的位置。[0126]本技术中是对于现有的布隆过滤器进行改进,增加了差分放大和重新散列,以实现增大处理查询的准确度。[0127]步骤s305:基于所述至少两个第二目标位置的值满足预设条件,确定所述至少两个第二目标位置的值表征所述第三数据串对应的第二位向量信息;[0128]其中,如果该预设位向量中存储有该第三数据串,则该预设位向量中的至少两个第二目标位置中的值为1。[0129]其中,基于该至少两个第二目标位置的值满足预设条件,是该至少两个第二目标位置的值均为1,确定该预设位向量中存储有该第三数据串对应的第二位向量信息。[0130]例如,第三数据串是2468,对其经过第二组哈希集合处理,得到目标位置是p、p 5、p 8和p 21,p是大于等于1的整数,且p与n的取值不同,并且该目标位置的值均为1,确定该多个第二目标位置是与该第三数据串对应的第二位向量信息。[0131]步骤s306:基于无数据串的位向量信息与所述第三数据串的第二位向量信息冲突,确定查询到存储的所述第一数据串。[0132]综上,本实施例提供的一种信息查询方法中,在第一数据串对应的第一位向量信息,且该第一位向量信息有与其冲突的第二数据串的位向量信息时,进一步对于第一数据串转换得到的第三数据串,基于多个哈希函数对于第三数据串进行处理得到第二位向量信息,分析确定无与其冲突的第二位向量信息,实现了双向判断,提高查询的准确率,降低误判率。[0133]如图4所示的,为本技术提供的一种信息查询方法实施例4的流程图,该方法包括以下步骤:[0134]步骤s401:获取待查询的第一数据串;[0135]步骤s402:将所述第一数据串经过第一组哈希集合处理,得到至少两个第一目标位置;[0136]步骤s403:基于所述至少两个第一目标位置的值满足预设条件,确定所述至少两个第一目标位置的值表征所述第一数据串对应的第一位向量信息;[0137]步骤s404:若所述第一位向量信息与第二数据串的位向量信息冲突,将所述第一数据串变换为第三数据串;[0138]步骤s405:分析确定在预设的位向量中与所述第三数据串对应的第二位向量信息,基于无数据串的位向量信息与所述第三数据串的第二位向量信息冲突,确定查询到存储的所述第一数据串;[0139]其中,步骤s401‑405与实施例2中的步骤s201‑205一致,本实施例中不做赘述。[0140]步骤s406:基于所述第一数据串对应的第一位向量信息与第二数据串的位向量信息冲突,确定采用第一组哈希集合处理所述第一数据串发生误判;[0141]其中,如果该第一数据串对应的第一位向量信息与其他数据串的位向量信息冲突,同一组位向量信息对应多个数据串,即发生了哈希冲突,据此可知的采用第一组哈希集合处理该第一数据串发生了误判。[0142]步骤s407:统计预设处理次数中,采用第一组哈希集合处理数据串的误判率是否大于预设阈值;[0143]其中,在对于每个数据串进行查询时,均对于其查询的过程情况进行统计。[0144]具体的,如果采用第一组哈希集合处理数据串得到的位向量信息无其他数据串的位向量信息冲突,则无需执行后续进行第一数据串变化为第三数据串再次确定对应的第二位向量信息的过程,即采用第一组哈希集合处理数据串得到结果未出现哈希冲突,无需进一步进行查询,此时可以记录未发生误判。[0145]具体的,统计连续的若干次查询数据串的过程,采用第一组哈希集合处理数据串的误判次数,并计算该第一组哈希集合处理数据串的误判率。[0146]其中,该预设阈值可以根据情况设置,如40%、50%等。[0147]步骤s408:基于所述误判率大于预设阈值,调整所述第一组哈希集合中包含的哈希函数个数至w个,w是取值大于n的整数。[0148]其中,如果该第一组哈希集合处理数据的误判率大于预设阈值,表征当前该第一组哈希集合中的哈希函数处理准确度较低,此时,增大该第一组哈希集合中包含的哈希函数的个数。[0149]具体的,第二组哈希集合中的哈希函数个数与该第一组哈希集合中的哈希函数个数相同,在调整第一组哈希集合中包含的哈希函数的个数时,可以相应调整第二组哈希集合中的哈希函数个数。[0150]需要说明的是,哈希集合中的哈希函数的个数并不是越多,处理得到的准确度越高的。[0151]如图5所示的为哈希函数的取值与误判率的关系示意图,图中,纵轴表示的为误判率,横轴表示的为哈希表中每位承载的数据串的均值,四条线分别表示哈希函数的个数k的取值为4、8、12和32。根据该图5可知的,随着哈希表中每位承载的数据串的均值越大,误判率越高,而随着哈希函数的个数增加,误判率在逐渐减小,但是,误判率的减小与哈希函数的个数增加并不是呈线性关系的。如该图5中,采用16个函数和32个函数的误判率很接近。[0152]综上,本实施例提供的一种信息查询方法中,在基于第一哈希集合对于数据串进行处理得到结果的误判率较高时,通过增加第一哈希集合中哈希函数的个数,实现减小误判率。[0153]如图6所示的,为本技术提供的一种信息查询方法实施例5的流程图,该方法包括以下步骤:[0154]步骤s601:初始化预设长度的位向量中每个位置的值;[0155]其中,所述位向量中包括至少两个位置。[0156]其中,该位向量的长度可以采用较大的数值,如30、50甚至是更多的。[0157]具体的,初始化的位向量中默认值为0,即每个位置的值均为0。[0158]具体实施中,该位向量的长度可以大于或者等于两组哈希集合处理得到的位置的和。例如,一组哈希集合处理得到的位置涉及10个,相应的,该位向量的长度大于或者等于20。[0159]为了保证每组哈希集合调整哈希函数个数后,该位向量能够承载数据串相应的位向量信息,该位向量的长度大于两组哈希集合处理得到的位置的和。[0160]步骤s602:获取第一预设数据串;[0161]其中,该第一预设数据串是待存储的数据串。[0162]具体实施中,该过程步骤s602‑604是存储数据串的过程,该步骤s602‑604可以循环执行,该预设长度的位向量中能够承载多个数据串。[0163]如图5中所述的,预设长度的位向量中能够承载10个、20个……甚至70个甚至更多个数据串。[0164]步骤s603:将所述第一预设数据串变换为第二预设数据串;[0165]其中,基于将第一预设数数据串变化为第二预设数据串,实现扩大该预设数据串与其他数据串的差异。[0166]具体的,变换的过程可以采用:将所述第一预设数据串取k次数幂得到第二预设数据串,k是大于1的整数;或将所述第一预设数据串与s相乘得到第二预设数据串,s是大于1的整数。[0167]步骤s604:将所述第一预设数据串进行第一组哈希集合处理,得到至少两个第一待更新位置,将所述至少两个第一待更新位置的值更新为预设值;[0168]其中,所述第一待更新位置是初始化后的位向量中的位置。[0169]具体的,基于第一组哈希集合处理该第一预设数据串,得到多个第一待更新位置,将该第一待更新位置的值更新为预设值1。[0170]步骤s605:将所述第二预设数据串进行第二组哈希处理,得到至少两个第二待更新位置,将所述至少两个第二待更新位置的值更新为预设值;[0171]其中,所述第二待更新位置是初始化后的位向量中的位置。[0172]具体的,基于第二组哈希集合处理该第二预设数据串,得到多个第二待更新位置,将该第二待更新位置的值更新为预设值1。[0173]需要说明的是,当更新之前该第一待更新位置的值是1,将该位置的值更新为1或者是不更新,以使得该第一待更新位置的值是1,该情况下,该位向量中承载多个数据串。[0174]步骤s606:获取待查询的第一数据串;[0175]步骤s607:分析确定在预设的位向量中与所述第一数据串对应的第一位向量信息;[0176]步骤s608:若所述第一位向量信息与第二数据串的位向量信息冲突,将所述第一数据串变换为第三数据串;[0177]步骤s609:分析确定在预设的位向量中与所述第三数据串对应的第二位向量信息,基于无数据串的位向量信息与所述第三数据串的第二位向量信息冲突,确定查询到存储的所述第一数据串。[0178]其中,步骤s606‑609与实施例1中的步骤s101‑104一致,本实施例中不做赘述。[0179]综上,本实施例提供的一种信息查询方法中,还提供了预设位向量的具体过程,包括:初始化预设长度的位向量中每个位置的值,将第一预设数据串变换为第二预设数据串,将第一预设数据串经过第一组哈希集合处理,得到至少两个第一待更新位置,将预设位向量中至少两个第一待更新位置的值更新为预设值;将第二预设数据串经过第二组哈希集合处理,得到至少两个第二待更新位置,将预设位向量中至少两个第二待更新位置的值更新为预设值,该过程实现了存储第一预设数据串的过程。采用位向量存储数据串,只需存储数据量很小的位向量信息即可,节省内存空间[0180]与上述本技术提供的一种信息查询方法实施例相对应的,本技术还提供了应用该信息查询方法的应用场景示例。[0181]本场景中,是对于条形码扫描进行数据存储以及查询的场景。[0182]如图7所示的为信息查询方法的应用场景示意图,具体的是条形码处理场景,该场景中包括数据处理中心和查询中心。在数据处理中心预先输入条形码,以位向量的方式存储。查询中心(如扫码枪)扫描条形码得到待检测扫描条形码,该待检测扫描条形码是由一串数字组成,查询中心将数据串发送给数据处理中心进行查询,数据处理中心进行查询是否存储有该待检测扫描条形码并返回查询结果,如果存储有该条形码,执行后续步骤,如果没有存储该条形码,结束。[0183]如图8所示的为条形码示意图,该条形码中包含多个宽度不同的条形,分别表示不同的数字,该图8中示出了该条码对应的数据串690021904622454016。[0184]如图9所示的为数据处理中心进行数据处理的过程示意图。其中该图9中上半部分表示数据存储的过程,下半部分表示数据查询的过程。[0185]其中,存储数据的过程:xi表示待存储的条码元素(即数据串),该数据串经过hf1(xi)、hf2(xi)…hfn(xi)的哈希处理,得到相应的位向量中的位置,并更新相应位置的值为1,将该数据串经过函数f(xi)=x*(取*次幂)后,经过hd1(x*)、hd2(x*)…hdn(x*)得到相应的位向量中的位置,并更新相应的位置的值为1。[0186]其中,查询数据的过程:xj表示待查询的条码元素(即数据串),该数据串经过hf1(xj)、hf2(xj)…hfn(xj)的哈希处理,得到相应的位向量中的位置,基于该相应位向量中的位置的值为1,表征存储有该xj。进一步的,将该数据串经过函数f(xj)=xj*(取*次幂)后,经过hd1(xj*)、hd2(xj*)…hdn(xj*)得到相应的位向量中的位置,基于该相应位向量中的位置的值为1,确定存储有该xj。[0187]与上述本技术提供的一种信息查询方法实施例相对应的,本技术还提供了应用该信息查询方法的装置实施例。[0188]如图10所示的为本技术提供的一种信息查询装置实施例的结构示意图,该装置包括以下结构:获取模块1001、第一分析模块1002、变换模块1003和第二分析模块1004;[0189]其中,该获取模块1001,用于获取待查询的第一数据串,所述第一数据串包括m位数据,m是取值大于1的整数;[0190]其中,该第一分析模块1002,用于分析确定在预设的位向量中与所述第一数据串对应的第一位向量信息;[0191]其中,该变换模块1003,用于若所述第一位向量信息与第二数据串的位向量信息冲突,将所述第一数据串变换为第三数据串,所述第二数据串与所述第一数据串不同,所述第三数据串与第二数据串之间的差异大于所述第一数据串与第二数据串之间的差异;[0192]其中,该第二分析模块1004,用于分析确定在预设的位向量中与所述第三数据串对应的第二位向量信息,基于无数据串的位向量信息与所述第三数据串的第二位向量信息冲突,确定查询到存储的所述第一数据串。[0193]可选的,还包括:[0194]预存储模块,用于初始化预设长度的位向量中每个位置的值,所述位向量中包括至少两个位置;获取第一预设数据串;基于所述第一预设数据串变换为第二预设数据串;将所述第一预设数据串经过第一组哈希集合处理,得到至少两个第一待更新位置,所述第一待更新位置是初始化后的位向量中的位置,将所述至少两个第一待更新位置的值更新为预设值;将所述第二预设数据串经过第二组哈希集合处理,得到至少两个第二待更新位置,所述第二待更新位置是初始化后的位向量中的位置,将所述至少两个第二待更新位置的值更新为预设值。[0195]可选的,第一分析模块具体用于:[0196]将所述第一数据串经过第一组哈希集合处理,得到至少两个第一目标位置,所述第一目标位置是预设位向量中的位置,所述第一组哈希集合包括n个哈希函数,所述n的取值是大于1的整数;[0197]基于所述至少两个第一目标位置的值满足预设条件,确定所述至少两个第一目标位置的值表征所述第一数据串对应的第一位向量信息。[0198]变换模块,具体用于:[0199]将所述第一数据串取k次数幂得到第三数据串,k是大于1的整数;[0200]或[0201]将所述第一数据串与s相乘得到第三数据串,s是大于1的整数。[0202]可选的,第二分析模块具体用于:[0203]将所述第三数据串经过第二组哈希集合处理,得到至少两个第二目标位置,所述第二目标位置是预设位向量中的位置,所述第二组哈希集合包括n个哈希函数,所述n的取值是大于1的整数;[0204]基于所述至少两个第二目标位置的值满足预设条件,确定所述至少两个第二目标位置的值表征所述第三数据串对应的第二位向量信息。[0205]可选的,还包括:[0206]调整模块,用于基于所述第一数据串对应的第一位向量信息与第二数据串的位向量信息冲突,确定采用第一组哈希集合处理所述第一数据串发生误判;统计预设处理次数中,采用第一组哈希集合处理数据串的误判率是否大于预设阈值;基于所述误判率大于预设阈值,调整所述第一组哈希集合中包含的哈希函数个数至w个,w是取值大于n的整数。[0207]综上,本技术提供了一种信息查询装置中,采用位向量存储数据串,只需存储数据量很小的位向量信息即可,节省内存空间,而且,采用变化后的数据串扩大与其他数据串的差异,基于数据串和变化后的数据串分别对应的位向量进行双向存储,在查询时实现双向判断,降低误判率。[0208]与上述本技术提供的一种信息查询方法实施例相对应的,本技术还提供了与该信息查询方法相应的电子设备以及可读存储介质。[0209]其中,该电子设备,包括:存储器、处理器;[0210]其中,存储器存储有程序;[0211]所述处理器用于加载并执行所述存储器存储的所述程序,以实现如上述任一项所述的信息查询方法的各步骤。[0212]具体该电子设备的实现控制方法,参考前述信息查询方法实施例即可。[0213]其中,该可读存储介质,其上存储有计算机程序,所述计算机程序被处理器调用并执行,实现如权利要求上述任一项所述的信息查询方法的各步骤。[0214]具体该可读存储介质存储的计算机程序执行实现信息查询方法,参考前述信息查询方法实施例即可。[0215]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的装置而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。[0216]对所提供的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献