本技术涉及数据处理,特别是涉及一种信息检索方法、装置、计算机设备和存储介质。
背景技术:
1、随着互联网的高速发展,基于云服务器的数据库服务已成为主流技术。在这一背景下,用户的查询信息会暴露提供相关服务的服务商,导致查询过程中蕴含着大量安全隐患。隐私信息检索问题的重要性日益凸显,其中隐私信息检索定义为保证用户从数据库中检索出所需数据的同时,数据库持有方无法获取任何有关用户检索的相关信息。
2、在传统技术中,为了保证检索过程的隐私性和安全性,一般情况下服务器接收到的是加密后的查询请求,通过密文逐项对数据库的索引项进行匹配以确定用户需要查询的信息。但是,传统技术中的隐私信息检索技术无法较好地适用于数据库较大的情况,其所需要的检索时间无法适应实际需求,例如,针对一个拥有131072项1.3gb的数据库,在相关技术中需要使用680s完成一次查询。因此,传统技术中隐私信息检索的计算成本较高,检索效率低下。
3、针对相关技术中存在的隐私信息检索的计算成本较高,检索效率低下的技术问题,目前还没有提出有效的解决方案。
技术实现思路
1、基于此,本技术提供了一种信息检索方法、装置、计算机设备和存储介质,已解决上述隐私信息检索的计算成本较高,检索效率低下的技术问题。
2、第一方面,本技术提供了一种信息检索方法,包括:
3、接收客户端发送的请求密文,所述请求密文包括加密后的第一编码,所述第一编码基于所述客户端的请求项以及预设编码算法生成;
4、基于所述请求密文对多个候选编码进行分布式匹配,以确定与所述请求密文相匹配的第二编码,所述候选编码基于数据库的索引项以及所述预设编码算法生成;
5、将所述第二编码对应的所述索引项下的请求信息密文发送至所述客户端。
6、在其中一个实施例中,基于所述请求密文对每个所述候选编码进行匹配的过程包括:
7、基于所述候选编码确定预设字符对应的多个第一序列位置;
8、获取所述请求密文中所述第一序列位置对应的所有目标字符,并基于所有所述目标字符的乘积结果确定匹配结果。
9、在其中一个实施例中,所述获取所述请求密文中所述第一序列位置对应的所有目标字符,并基于所有所述目标字符的乘积结果确定匹配结果包括:
10、依次基于每个所述第一序列位置对所述请求密文进行旋转操作,得到多个旋转密文,每个所述旋转密文中预设序列位置的字符与对应的所述请求密文中所述第一序列位置的字符相同;
11、获取多个所述旋转密文中所述预设序列位置对应的目标旋转字符,并基于所有所述目标旋转字符的乘积结果确定匹配结果。
12、在其中一个实施例中,每个所述候选编码对应的所述第一序列位置的数量相同,所述基于所述请求密文对多个候选编码进行分布式匹配,以确定与所述请求密文相匹配的第二编码包括:
13、在每轮旋转过程中,同时基于多个所述候选编码的第一序列位置对所述请求密文进行所述旋转操作,得到多个所述旋转密文并进行叠加,得到融合旋转密文;
14、获取多轮旋转过程中得到的多个所述融合旋转密文中的每个所述预设序列位置对应的所述目标旋转字符,并基于每个所述预设序列位置对应的所有所述目标旋转字符的乘积结果确定对应的所述候选编码的匹配结果。
15、在其中一个实施例中,所述基于所述请求密文对多个候选编码进行分布式匹配,以确定与所述请求密文相匹配的第二编码之后还包括:
16、建立选择向量,所述选择向量中的每个分量对应于一个所述候选编码的匹配结果;
17、基于所述选择向量以及多个所述候选编码对应的多个索引信息密文,确定所述第二编码对应的所述索引项下的请求信息密文。
18、在其中一个实施例中,所述选择向量的分量包括不匹配结果对应的二进制数0以及匹配结果对应的二进制数1,所述基于所述选择向量以及多个所述候选项对应的多个索引信息密文,确定所述第二编码对应的所述索引项下的请求信息密文包括:
19、若所述索引信息密文的长度不高于预设阈值,则对所述选择向量以及索引信息组进行点乘操作,得到所述请求信息密文;
20、若所述索引信息密文的长度高于所述预设阈值,则分别对每个所述索引信息密文进行切割,得到多个子索引信息组,并对所述选择向量分别与每个所述子索引信息组的相乘结果进行旋转操作后相加,得到所述请求信息密文。
21、在其中一个实施例中,所述基于所述选择向量以及多个所述候选项对应的多个索引信息密文,确定所述第二编码对应的所述索引项下的请求信息密文包括:
22、对所述选择向量进行旋转操作,得到旋转选择向量,并基于所述选择向量的旋转操作对应地对索引信息组进行旋转,得到旋转索引信息组;
23、基于所述旋转选择向量以及所述旋转索引信息组,确定所述第二编码对应的所述索引项下的请求信息密文。
24、在其中一个实施例中,所述候选编码为二进制字符串,所述二进制字符串中包括预设数量的二进制数1。
25、第二方面,本技术还提供了一种信息检索方法,包括:
26、生成请求密文并发送至服务端,所述请求密文包括加密后的第一编码,所述第一编码基于请求项以及预设编码算法生成;
27、接收所述服务端发送的请求信息密文,所述请求信息密文为所述服务端基于所述请求密文对多个候选编码进行分布式匹配后,确定的与所述请求密文相匹配的第二编码对应的索引项下的信息密文,所述候选编码基于数据库的索引项以及所述预设编码算法生成;
28、对所述请求信息密文进行解密,以获取请求信息。
29、第三方面,本技术还提供了一种信息检索装置,包括:
30、接收模块,用于接收客户端发送的请求密文,所述请求密文包括加密后的第一编码,所述第一编码基于所述客户端的请求项以及预设编码算法生成;
31、匹配模块,用于基于所述请求密文对多个候选编码进行分布式匹配,以确定与所述请求密文相匹配的第二编码,所述候选编码基于数据库的索引项以及所述预设编码算法生成;
32、发送模块,用于将所述第二编码对应的所述索引项下的请求信息密文发送至所述客户端。
33、第四方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
34、接收客户端发送的请求密文,所述请求密文包括加密后的第一编码,所述第一编码基于所述客户端的请求项以及预设编码算法生成;
35、基于所述请求密文对多个候选编码进行分布式匹配,以确定与所述请求密文相匹配的第二编码,所述候选编码基于数据库的索引项以及所述预设编码算法生成;
36、将所述第二编码对应的所述索引项下的请求信息密文发送至所述客户端。
37、第五方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
38、接收客户端发送的请求密文,所述请求密文包括加密后的第一编码,所述第一编码基于所述客户端的请求项以及预设编码算法生成;
39、基于所述请求密文对多个候选编码进行分布式匹配,以确定与所述请求密文相匹配的第二编码,所述候选编码基于数据库的索引项以及所述预设编码算法生成;
40、将所述第二编码对应的所述索引项下的请求信息密文发送至所述客户端。
41、第六方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
42、接收客户端发送的请求密文,所述请求密文包括加密后的第一编码,所述第一编码基于所述客户端的请求项以及预设编码算法生成;
43、基于所述请求密文对多个候选编码进行分布式匹配,以确定与所述请求密文相匹配的第二编码,所述候选编码基于数据库的索引项以及所述预设编码算法生成;
44、将所述第二编码对应的所述索引项下的请求信息密文发送至所述客户端。
45、本技术提供了一种信息检索方法、装置、计算机设备和存储介质,所述方法包括接收客户端发送的请求密文,所述请求密文包括加密后的第一编码,所述第一编码基于所述客户端的请求项以及预设编码算法生成;基于所述请求密文对多个候选编码进行分布式匹配,以确定与所述请求密文相匹配的第二编码,所述候选编码基于数据库的索引项以及所述预设编码算法生成;将所述第二编码对应的所述索引项下的请求信息密文发送至所述客户端。本技术中服务端在加密环境中对用户的请求进行处理并将加密的请求信息返回至客户端,使得客户端在正常使用数据库查询服务的同时,服务端无法获知客户端的查询对象。同时,服务端通过分布式处理的方式同时对多个候选编码进行相关性检索,使得检索过程可以支持批量处理操作,解决了相关技术中隐私信息检索的计算成本较高,检索效率低下的技术问题,计算资源的均摊开销更低且处理速度更快,在保证信息检索过程的隐私性和安全性的同时提高了检索效率。