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

一种数据匹配方法、装置、设备及介质与流程

2022-07-30 12:37:28 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种数据匹配方法、装置、设备及介质。


背景技术:

2.当前隐私计算技术主要应用于安全求交和联邦学习。所谓安全求交是指识别双方数据的交集,比如,即识别机构a和机构b的共有用户,其中安全求交也为纵向联邦学习的第一个步骤,也就是说,先对手机号、身份证号、营业执照号等关键信息进行安全求交,然后再进行下一步联合建模等步骤。
3.相关技术中,为了识别双方数据的交集或者实现双方数据的匹配,常见的安全求交算法包括基于rsa加密算法的安全求交算法,以及基于不经意传输(oblivious transfer,ot)协议的安全求交算法等等。但是目前的安全求交算法只有当双方数据完全相同时,也就是说,当双方数据的数据类型以及数据包含的字符的数量完全相同时,才能匹配成功。但是实际业务中,往往存在很多数据不完全相同时待匹配的使用场景,因此现有技术中的安全求交算法极大限制了其使用场景,影响匹配的业务范围。


技术实现要素:

4.本技术提供了一种数据匹配方法、装置、设备及介质,用以解决现有技术中的安全求交算法只能在双方数据完全相同时进行安全求交,使用场景有限,影响数据匹配的业务范围的问题。
5.本技术提供了一种数据匹配方法,应用于第一设备,所述方法包括:
6.将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得所述第一数据对应的第一向量;
7.采用自身生成的第一目标公钥对所述第一向量进行同态加密生成第一加密向量,并将所述第一目标公钥发送给第二设备;
8.获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离,其中所述第二加密向量为采用所述第一目标公钥对所述第二向量进行同态加密后得到的;所述第二向量为将第二数据输入到所述第二设备中的预先训练完成的向量转化模型中获得的;
9.基于所述加密后的所述第一向量和第二向量的距离及所述第一目标公钥对应的第一目标私钥,确定所述第一向量和所述第二向量的目标距离,基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
10.本技术提供了一种数据匹配方法,应用于第二设备,所述方法包括:
11.将待匹配的第二数据输入到预先训练完成的向量转化模型中,获得所述第二数据对应的第二向量;
12.接收第一设备发送的第一目标公钥,采用所述第一目标公钥对所述第二向量进行同态加密生成第二加密向量;
13.获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离,其中,所述第一加密向量为采用所述第一目标公钥对所述第一向量加密后得到的,所述第一向量为将第一数据输入到所述第一设备中的预先训练完成的向量转化模型中获得的;
14.基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
15.本技术还提供了一种数据匹配装置,该装置包括:
16.第一获取模块,用于将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得所述第一数据对应的第一向量;
17.第一处理模块,用于采用自身生成的第一目标公钥对所述第一向量进行同态加密生成第一加密向量,并将所述第一目标公钥发送给第二设备;
18.所述第一获取模块,还用于获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离,其中所述第二加密向量为采用所述第一目标公钥对所述第二向量进行同态加密后得到的;所述第二向量为将第二数据输入到所述第二设备中的预先训练完成的向量转化模型中获得的;
19.第一确定模块,用于基于所述加密后的所述第一向量和第二向量的距离及所述第一目标公钥对应的第一目标私钥,确定所述第一向量和所述第二向量的目标距离,基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
20.本技术还提供了一种数据匹配装置,该装置包括:
21.第二获取模块,用于将待匹配的第二数据输入到预先训练完成的向量转化模型中,获得所述第二数据对应的第二向量;
22.第二处理模块,用于接收第一设备发送的第一目标公钥,采用所述第一目标公钥对所述第二向量进行同态加密生成第二加密向量;
23.所述第二获取模块,还用于获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离,其中,所述第一加密向量为采用所述第一目标公钥对所述第一向量加密后得到的,所述第一向量为将第一数据输入到所述第一设备中的预先训练完成的向量转化模型中获得的;
24.第二确定模块,用于基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
25.本技术还提供了一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述数据匹配方法的步骤。
26.本技术还提供了一种计算机可读存储介质,其存储有可由终端执行的计算机程序,当所述程序在所述终端上运行时,使得所述终端执行上述任一项所述数据匹配方法的步骤。
27.本技术还提供了一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述数据匹配方法的步骤。
28.本技术还提供了一种计算机可读存储介质,其存储有可由终端执行的计算机程序,当所述程序在所述终端上运行时,使得所述终端执行上述任一项所述匹配方法的步骤。
29.本技术中将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得第一
数据对应的第一向量,采用自身生成的第一目标公钥对第一向量进行同态加密生成第一加密向量,并将第一目标公钥发送给第二设备,获取基于第一加密向量和第二加密向量确定的加密后的第一向量和第二向量的距离,其中第二加密向量为采用第一目标公钥对第二向量进行同态加密后得到的,第二向量为将第二数据输入到第二设备中的预先训练完成的向量转化模型中获得的,基于加密后的第一向量和第二向量的距离及第一目标公钥对应的第一目标私钥,确定第一向量和第二向量的目标距离,基于目标距离以及预设的第一距离阈值,确定第一数据以及第二数据是否匹配。由于在本技术实施例中,分别将待匹配的第一数据和第二数据输入到预先训练完成的向量转化模型中,获得该第一数据对应的第一向量以及第二数据对应的第二向量,并获取基于该第一向量加密后的第一加密向量,以及该第二向量加密后的第二加密向量,确定的加密后的第一向量和第二向量的距离,并基于加密后的第一向量和第二向量的距离以及自身生成的第一目标私钥,确定第一向量和第二向量的目标距离,基于该目标距离以及预设的第一距离阈值确定第一数据和第二数据是否匹配,即在第一数据和第二数据不完全相同时,也能实现第一数据和第二数据的模糊匹配,拓宽了使用场景,且在进行模糊匹配过程中引入了第一目标公钥和第一目标私钥分别进行同态加密和解密,实现了安全求交,保证了匹配过程的安全性,且整个匹配的过程中,第一数据以及第二数据均未以原始数据的形式离开过对应的第一设备以及第二设备,实现了原始数据不出库也能实现模糊匹配,进一步保证了匹配过程的安全性。
附图说明
30.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
31.图1为本技术实施例提供的一种数据匹配过程示意图;
32.图2a为本技术一些实施例提供的一种目标子距离的显示示意图;
33.图2b为本技术一些实施例提供的一种目标子距离矩阵的显示示意图;
34.图3a为本技术一些实施例提供的另外一种目标子距离的显示示意图;
35.图3b为本技术一些实施例提供的另外一种目标子距离矩阵的显示示意图;
36.图4为本技术实施例提供的一种数据匹配方法过程示意图;
37.图5a为本技术一些实施例提供的一种获取文本类型数据对应的向量的过程示意图;
38.图5b为本技术一些实施例提供的一种获取数字类型数据对应的向量的过程示意图;
39.图6为本技术一些实施例提供的一种双方数据进行模糊匹配的整体过程示意图;
40.图7为本技术一些实施例提供的一种双方数据进行模糊匹配的具体过程示意图;
41.图8为本技术一些实施例提供的一种数据匹配装置结构示意图;
42.图9为本技术一些实施例提供的一种数据匹配装置结构示意图;
43.图10为本技术一些实施例提供的一种电子设备的结构示意图;
44.图11为本技术一些实施例提供的一种电子设备的结构示意图。
具体实施方式
45.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
46.为了保证双方数据不完全相同时也可以进行匹配,拓宽数据匹配的业务范围,本技术实施例提供了一种数据匹配方法、装置、设备及介质。
47.本技术中,将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得第一数据对应的第一向量,采用自身生成的第一目标公钥对第一向量进行同态加密生成第一加密向量,并将第一目标公钥发送给第二设备,获取基于第一加密向量和第二加密向量确定的加密后的第一向量和第二向量的距离,其中第二加密向量为采用第一目标公钥对第二向量进行同态加密后得到的,第二向量为将第二数据输入到第二设备中的预先训练完成的向量转化模型中获得的,基于加密后的第一向量和第二向量的距离及第一目标公钥对应的第一目标私钥,确定第一向量和第二向量的目标距离,基于目标距离以及预设的第一距离阈值,确定第一数据以及第二数据是否匹配。
48.实施例1:
49.图1为本技术实施例提供的一种数据匹配过程示意图,该过程包括以下步骤:
50.s101:将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得所述第一数据对应的第一向量。
51.本技术实施例提供的数据匹配方法应用于第一设备,该第一设备可以是智能终端、pc或者服务器等设备。
52.为了保证双方数据不完全相同时也能实现模糊匹配,在本技术实施例中,第一设备中部署了预先训练完成的向量转化模型,该预先训练完成的向量转化模型用于获得待匹配的数据对应的向量,且针对不同的数据,该预先训练完成的向量转化模型输出的向量的维度相同。
53.为了获得待匹配的第一数据对应的第一向量,将该第一数据输入到预先训练完成的向量转化模型中,该预先训练完成的向量转化模型输出该第一数据对应的第一向量,该第一向量中的每个分量为数字,即通过该预先训练完成的向量转化模型将第一数据进行了量化。
54.s102:采用自身生成的第一目标公钥对所述第一向量进行同态加密生成第一加密向量,并将所述第一目标公钥发送给第二设备。
55.在本技术实施例中,为了提高安全性,第一设备生成第一目标公私钥对,其中,该第一目标公私钥对中包含第一目标公钥和第一目标私钥,并根据该自身生成的第一目标公钥对第一向量加密生成第一加密向量。其中,该第一目标公私钥对可以为对称公私钥对,也可以为非对称公私钥对,具体的,可以根据需求设置目标公私钥对。
56.其中,生成第一目标公私钥对的过程为现有技术,在此不做赘述。
57.由于待与第一数据进行匹配的第二数据为第二设备获取的,因此为了便于后续能够确定第一数据对应的第一向量和第二数据对应的第二向量之间的目标距离,在本技术实施例中,第一设备还将第一目标公钥发送给第二设备,以使第二设备可以根据该第一目标
公钥对第二数据对应的第二向量进行同态加密生成第二加密向量。具体的,在本技术实施例中,对该第一向量和第二向量进行同态加密时,基于该第一目标公钥分别对该第一向量中的每个分量以及该第二向量中的每个分量进行同态加密,进而获得第一加密向量和第二加密向量。
58.s103:获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离,其中所述第二加密向量为采用所述第一目标公钥对所述第二向量进行同态加密后得到的;所述第二向量为将第二数据输入到所述第二设备中的预先训练完成的向量转化模型中获得的。
59.为了实现第一数据和第二数据的模糊匹配,第二设备中也部署了预先训练完成的向量转化模型,用于获得待匹配的第二数据对应的第二向量,也就是说,将该第二数据输入到预先训练完成的向量转化模型中,该预先训练完成的向量转化模型输出该第二数据对应的第二向量,第二设备基于接收到的第一设备发送的第一目标公钥对该第二向量进行同态加密,获得第二加密向量。
60.由于采用了第一设备生成的第一目标公钥对第一向量和第二向量分别进行了加密,因此,为了确定第一向量和第二向量的目标距离,在本技术实施例中,第一设备可以先接收第二设备发送的第二加密向量,并基于该第一设备自身生成的第一目标公私钥对中的第一目标私钥对第二加密向量进行解密,获得第二向量,并基于该第一向量和第二向量,确定该第一向量和第二向量的目标距离。
61.为了提高安全性,在本技术实施例中,为了确定第一向量和第二向量的目标距离,可以先获得基于第一加密向量和第二加密向量确定的加密后的第一向量和第二向量的距离。其中,该加密后的第一向量和第二向量的距离不是一个确定的数值,而是一个需要进行解密后才能获得第一向量和第二向量的目标距离的确定表达式,其中,该加密后的第一向量和第二向量的距离可以为第一设备确定的,也可以为第二设备确定后发送给第一设备的。
62.s104:基于所述加密后的所述第一向量和第二向量的距离及所述第一目标公钥对应的第一目标私钥,确定所述第一向量和所述第二向量的目标距离,基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
63.在本技术实施例中,为了确定第一数据以及第二数据是否匹配,在确定加密后的第一向量和第二向量的距离之后,先对该加密后的第一向量和第二向量的距离进行解密,确定该第一向量和第二向量的目标距离。由于第一加密向量和第二加密向量均是由第一设备生成的第一目标公钥加密生成的,因此,为了确定第一向量和第二向量的目标距离,在本技术实施例中,可以根据第一设备生成的第一目标私钥对中的第一目标私钥,对该加密后的第一向量和第二向量的距离进行解密,确定该第一向量和第二向量的目标距离。
64.为了确定该第一数据以及该第二数据是否匹配,在本技术实施例中,将该第一向量和第二向量的目标距离以及预设的第一距离阈值进行比较,根据比较结果,确定该第一数据以及该第二数据是否匹配。其中,目标距离越小,第一数据与第二数据越匹配。
65.由于在本技术实施例中,分别将待匹配的第一数据和第二数据输入到预先训练完成的向量转化模型中,获得该第一数据对应的第一向量以及第二数据对应的第二向量,并获取基于该第一向量加密后的第一加密向量,以及该第二向量加密后的第二加密向量,确
定的加密后的第一向量和第二向量的距离,并基于加密后的第一向量和第二向量的距离以及自身生成的第一目标私钥,确定第一向量和第二向量的目标距离,基于该目标距离以及预设的第一距离阈值确定第一数据和第二数据是否匹配,即在第一数据和第二数据不完全相同时,也能实现第一数据和第二数据的模糊匹配,拓宽了使用场景,且在进行模糊匹配过程中引入了第一目标公钥和第一目标私钥分别进行同态加密和解密,实现了安全求交,保证了匹配过程的安全性,且整个匹配的过程中,第一数据以及第二数据均未以原始数据的形式离开过对应的第一设备以及第二设备,实现了原始数据不出库也能实现模糊匹配,进一步保证了匹配过程的安全性。
66.实施例2:
67.为了确定第一数据对应的第一向量,在上述实施例的基础上,在本技术实施例中,所述将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得所述第一数据对应的第一向量包括:
68.确定待匹配的第一数据对应的第一目标数据类型;
69.根据所述第一目标数据类型以及预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定所述第一数据对应的预先完成的第一目标向量转化模型;
70.将所述第一数据输入到所述预先训练完成的第一目标向量转化模型中,获得所述第一数据对应的第一向量。
71.在本技术实施例中,由于待匹配的第一数据可以为文本数据,比如,该第一数据可以为姓名、性别、地址等等,也可以为数字数据,比如,该第一数据可以为身份证号、银行卡号以及准考证号等等,因此,为了针对不用数据类型的第一数据,获得对应的第一向量的预先训练完成的向量转化模型也不相同。
72.具体的,可以在第一设备中保存有数据类型和预先训练完成的向量转化模型的对应关系,根据获取到的待匹配的第一数据对应的第一目标数据类型,采用对应的预先训练完成的向量转化模型,获取该第一数据对应的第一向量;其中,该对应的预先训练完成的向量转化模型也就是预先训练完成的第一目标向量转化模型。
73.为了准确的确定将第一数据转换为第一向量的向量转化模型,在上述各实施例的基础上,在本技术实施例中,若所述第一目标数据类型为文本类型,对应的预先训练完成的第一目标向量转化模型为词向量模型或句向量模型;若所述第一目标数据类型为数字类型,对应的预先训练完成的第一目标向量转化模型为独热(one-hot)编码模型。
74.具体的,若该第一数据为文本数据,即第一数据的第一目标数据类型为文本类型,则根据预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定该第一目标数据类型对应的预先训练完成的第一目标向量转化模型,该第一目标向量转化模型为词向量模型或者句向量模型,并基于该预先训练完成的词向量模型或者句向量模型,获取该第一数据对应的第一向量;若该第一数据为数字数据,即第一数据的第一目标数据类型为数字类型,则根据预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定该第一目标数据类型对应的预先训练完成的第一目标向量转化模型,该第一目标向量转化模型为预先训练完成的one-hot编码模型,并基于该预先训练完成的one-hot编码模型,获取该第一数据对应的第一向量。
75.以预先训练完成的向量转化模型输出的向量的维度为5,预先训练完成的向量转
化模型为词向量模型为例进行说明,若第一数据为文本数据,且该第一数据为“上海市浦东新区晴天小卖部”则将“上海市浦东新区晴天小卖部”输入到预先训练完成的词向量模型中,输出的该“上海市浦东新区晴天小卖部”对应的第一向量为(1.0,2.0,1.5,2.0,3.5)。
76.若该预先训练完成的向量转化模型为one-hot编码模型,可以预先针对每个数字设置该对应的独热编码,比如,数字包含0-9,则该0-9各个数字中,0对应的独热编码为0000000001、1对应的独热编码为0000000010、2对应的独热编码为0000000100、3对应的独热编码为0000001000、4对应的独热编码为0000010000、5对应的独热编码为0000100000、6对应的独热编码为0001000000、7对应的独热编码为0010000000、8对应的独热编码为0100000000、9对应的独热编码为1000000000。将数字数据输入到one-hot编码模型中,该one-hot编码模型输出的第一向量中每个第一分量为该第一数据中对应的每个数字的独热编码。
77.若该第一数据为数字数据,该数字数据为“12345”,则将“12345”输入到预先训练完成的词向量模型中,输出的该“12345”对应的第一向量为(0000000010,0000000100,0000001000,0000010000,0000100000)。
78.其中,在对向量转化模型进行训练时,可以预先标注每个数据和数据对应的标注向量,将每个数据和对应的标注向量输入到原始向量转化模型中,根据原始向量转化模型输出的预测向量及对应的标注向量,对该原始向量转化模型的参数进行调整,当满足收敛条件时,确定向量转化模型训练完成。
79.在本技术实施例中,不管第一数据和第二数据是数字数据还是文本数据,都能实现模糊匹配,进一步的扩宽了场景应用。
80.实施例3:
81.为了确定加密后的第一向量和第二向量的距离,在上述各实施例的基础上,在本技术实施例中,所述获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离包括:
82.接收所述第二设备发送的所述第二加密向量,其中,所述第二加密向量为所述第二设备基于所述第一目标公钥对所述第二向量进行同态加密后得到的;
83.基于所述第一加密向量以及所述第二加密向量,确定加密后的所述第一向量和所述第二向量的距离。
84.在本技术实施例中,第一设备获得的基于第一加密向量和第二加密向量确定加密后的第一向量和第二向量的距离可以为第一设备确定的,还可以为第二设备确定并发送给第一设备的。
85.若该加密后的第一向量和第二向量的距离为第一设备确定的,为了确定加密后的第一向量和第二向量的距离,第一设备需要获得第二设备发送的第二加密向量,具体的为了获取到第二加密向量,第一设备在将第一目标公钥发送给第二设备后,第二设备接收第一设备发送的第一目标公钥,基于该第一目标公钥对第二向量加密后获得第二加密向量并发送给第一设备,其中,该第二向量为待匹配的第二数据输入到第二设备中预先训练完成的向量转化模型中获得的向量。
86.第一设备接收第二设备发送的第二加密向量,并基于接收到的第二加密向量以及第一设备确定的第一加密向量,在第一设备本地确定加密后的第一向量和第二向量的距
离。
87.若基于该第一目标公钥分别对该第一向量中的每个分量以及该第二向量中的每个分量进行同态加密,获得第一加密向量和第二加密向量,则为了确定加密后的第一向量和第二向量的距离,在一种可能的实施方式中,第一设备基于该第一加密向量以及第二加密向量以及欧式距离公式,确定该加密后的第一向量和第二向量的距离。具体的,根据确定加密后的第一向量和第二向量的距离,其中,该e
pka
(xi)为第一加密向量中的第i个分量,e
pka
(xy)为第二加密向量中的第i个分量,该e
pka
(d)为加密后的第一向量和第二向量的距离,n为第一加密向量或第二加密向量中包含的分量的数量,且该第一加密向量中包含的分量的数量与该第二加密分量中包含的分量的数量相同,即第一加密向量的长度与第二加密向量的长度相等。
88.在另外一种可能的实施方式中,第一设备还可以根据该第一加密向量和第二加密向量以及余弦距离公式或者汉明距离公式确定该加密后的第一向量和第二向量的距离。
89.需要说明的是,由于该第一加密向量和该第二加密向量中每个分量被第一目标公钥进行同态加密了,因此,该确定的加密后的第一向量和第二向量的距离并不是一个实际的数值,而是一种确定表达式。
90.由于在本技术实施例中,第二数据均未以原始数据的形式离开过第二设备,实现了原始数据不出库也能实现模糊匹配,进一步保证了匹配过程的安全性。
91.实施例4:
92.为了确定加密后的第一向量和第二向量的距离,在上述各实施例的基础上,在本技术实施例中,所述将所述第一目标公钥发送给第二设备包括:
93.将所述第一加密向量以及所述第一目标公钥发送给所述第二设备;
94.所述获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离包括:
95.接收所述第二设备发送的基于所述第一加密向量和所述第二加密向量确定的加密后的所述第一向量和所述第二向量的距离,其中,所述第二加密向量为所述第二设备基于所述第一目标公钥对所述第二向量进行同态加密后得到的。
96.为了确定加密后的第一向量和第二向量的距离,在本技术实施例中,第一设备获得的该加密后该第一向量和第二向量的距离还可以为第二设备确定并发送给第一设备的。
97.具体的,为了保证第二设备可以生成加密后的第一向量和第二向量的距离,在本技术实施例中,第一设备在将生成的第一目标公钥发送给第二设备时,还可以将第一加密向量一起发送给第二设备,第二设备在接收到第一设备发送的第一目标公钥以及第一加密向量后,基于该第一目标公钥对第二向量进行同态加密生成第二加密向量,第二设备基于该第二加密向量以及接收到的第一设备发送的第一加密向量确定加密后的第一向量和第二向量的距离,并将该加密后的第一向量和第二向量的距离发送给第一设备,第一设备获取第二设备发送的加密后的第一向量和第二向量的距离。
98.若基于该第一目标公钥分别对该第一向量中的每个分量以及该第二向量中的每个分量进行同态加密,获得第一加密向量和第二加密向量,则为了确定加密后的第一向量和第二向量的距离,在一种可能的实施方式中,第二设备基于该第一加密向量以及第二加
密向量以及欧式距离公式,确定加密后的第一向量和第二向量的距离。具体的,根据确定加密后的第一向量和第二向量的距离,其中,该e
pka
(xi)为第一加密向量中的第i个分量,e
pka
(xy)为第二加密向量中的第i个分量,该e
pka
(d)为加密后的第一向量和第二向量的距离,n为第一加密向量或第二加密向量中包含的分量的数量,且该第一加密向量中包含的分量的数量与该第二加密分量中包含的分量的数量相同,即第一加密向量的长度与第二加密向量的长度相等。
99.在另外一种可能的实施方式中,第二设备还可以根据该第一加密向量和第二加密向量以及余弦距离公式或者汉明距离公式确定该加密后的第一向量和第二向量的距离。
100.需要说明的是,由于该第一加密向量和该第二加密向量中每个分量被第一目标公钥进行同态加密了,因此,该确定的加密后的第一向量和第二向量的距离并不是一个实际的数值,而是一种确定表达式。
101.由于在本技术实施例中,第一数据均未以原始数据的形式离开过第一设备,实现了原始数据不出库也能实现模糊匹配,进一步保证了匹配过程的安全性。
102.实施例5:
103.为了使得第二设备也能确定第一数据以及第二数据是否匹配,在上述各实施例的基础上,所述方法还包括:
104.接收所述第二设备发送的第三加密向量以及所述第二设备生成的第二目标公钥;其中,所述第三加密向量为所述第二设备采用所述第二目标公钥对所述第二向量进行同态加密后得到的;
105.基于所述第二目标公钥对所述第一向量进行同态加密生成第四加密向量;
106.基于所述第三加密向量以及所述第四加密向量,确定加密后的所述第二向量和所述第一向量的距离,并将所述加密后的所述第二向量和所述第一向量的距离发送给所述第二设备,以使所述第二设备根据加密后的所述第二向量和所述第一向量的距离以及所述第二目标公钥对应的第二目标私钥,对所述加密后的所述第二向量和所述第一向量的距离进行解密,确定所述第二向量与所述第一向量的目标距离,并根据所述第二向量与所述第一向量的目标距离及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
107.为了使得第一设备以及第二设备都能确定第一数据以及第二数据是否匹配,在本技术实施例中,第二设备也需要获得第一向量和第二向量的目标距离,也就是说,第一设备需要与第二设备实现数据同步。其中,该第一向量和第二向量的目标距离可以是第二设备自身确定的,也可以是第一设备确定了目标距离后发送给第二设备的。
108.若该第一向量和第二向量的目标距离是第二设备自身确定的,具体的,第一设备可以接收第二设备发送的第二目标公钥以及该第二设备发送的第三加密向量,其中,该第二目标公钥为第二设备自身生成的,且该第三加密向量为第二设备采用该第二目标公钥对第二向量进行同态加密后得到的。第一设备接收到第二设备发送的第二目标公钥后,基于该第二目标公钥对第一向量进行同态加密生成第四加密向量。为了确定加密后的第一向量和第二向量的距离,在本技术实施例中,第一设备基于接收到第二设备发送的第三加密向量以及自身生成的第四加密向量,确定加密后的第一向量和第二向量的距离,并将确定的该加密后的第一向量和第二向量的距离发送给第二设备,使第二设备根据接收到的该加密
后的第一向量和第二向量的距离以及该第二设备自身生成的第二目标公钥对应的第二目标私钥,对该加密后的第一向量和第二向量的距离进行解密,确定该第二向量与第一向量的目标距离,并根据该第二向量与第一向量的目标距离及预设的第一距离阈值,确定第一数据以及第二数据是否匹配。
109.下面结合一个具体的例子进行说明:
110.第一设备将待匹配的第一数据输入到部署在第一设备中的预先训练完成的向量转化模型中,获得该第一数据对应的第一向量,第二设备将待匹配的第二数据输入到部署在第二设备中的预先训练完成的向量转化模型中,获得该第二数据对应的第二向量。若第一数据u1对应的第一向量为(x1,x2,x3
……
,xm),第二数据u2对应的第二向量为(y1,y2,y3
……
,ym)。
111.第一设备生成第一目标公私钥对a(pka1,ska1),其中,该pka1为第一目标公钥,ska1为第一目标私钥,基于该第一目标公钥对第一向量进行同态加密生成第一加密向量,第一向量(x1,x2,x3
……
,xm)对应的第一加密向量为(e
pka1
(x1),e
pka1
(x2),e
pka1
(x3)
……
,e
pka1
(xm)),并将该第一加密向量以及该第一目标公钥发送给第二设备。
112.第二设备接收到第一设备发送的第一目标公钥以及第一加密向量后,基于该第一目标公钥对第二向量进行同态加密,获得第二加密向量。具体的,该第二向量(y1,y2,y3
……
,ym)对应的第二加密向量为(e
pka1
(y1),e
pka1
(y2),e
pka1
(y3)
……
,e
pka1
(ym)),第二设备根据该第二加密向量以及接收到的第一加密向量,确定加密后的第一向量和第二向量的距离并发送给第一设备。
113.第二设备生成第二目标公私钥对b(pka2,ska2),其中,该pka2为第二目标公钥,ska2为第二目标私钥,基于该第二目标公钥对第二向量进行同态加密生成第三加密向量,该第二向量(y1,y2,y3
……
,ym)对应的第三加密向量为(e
pka2
(y1),e
pka2
(y2),e
pka2
(y3)
……
,e
pka2
(ym)),第二设备将该第二目标公钥以及该第三加密向量发送给第一设备。
114.第一设备接收到该第二设备发送的第二目标公钥以及该第三加密向量之后,基于该第二目标公钥对该第一向量进行同态加密,获得第四加密向量,具体的,第一向量(x1,x2,x3
……
,xm)对应的第四加密向量为(e
pka2
(x1),e
pka2
(x2),e
pka2
(x3)
……
,e
pka2
(xm))。第一设备基于该第四加密向量以及第三加密向量,确定加密后的第一向量和第二向量的距离,并将该加密后的第一向量和第二向量的距离发送给第二设备。
115.第一设备接收到该加密后的第一向量和第二向量的距离后,根据自身生成的第一目标公钥对应的第一目标私钥对该加密后的第一向量和第二向量的距离进行解密,确定第一向量和第二向量的目标距离,第一设备再根据第二向量与第一向量的目标距离及预设的第一距离阈值,确定第一数据以及第二数据是否匹配。
116.第二设备接收到该加密后的第一向量和第二向量的距离后,根据自身生成的第二目标公钥对应的第二目标私钥对该加密后的第一向量和第二向量的距离进行解密,确定第一向量和第二向量的目标距离,第二设备再根据第二向量与第一向量的目标距离及预设的第一距离阈值,确定第一数据以及第二数据是否匹配。
117.实施例6:
118.为了使得第二设备也能确定第一数据以及第二数据是否匹配,在上述各实施例的基础上,在本技术实施例中,所述确定所述第一向量和所述第二向量的目标距离之后,所述
方法还包括:
119.将所述第一向量和所述第二向量的目标距离发送给所述第二设备,使所述第二设备基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
120.为了使得第二设备也能确定第一数据以及第二数据是否匹配,在本技术实施例中,第二设备也需要获得第一向量和第二向量的目标距离,具体的,该第二设备获得的第一向量和第二向量的目标距离可以是第一设备获得后发送给第二设备的。第二设备在接收到第一设备发送的第一向量和第二向量的目标距离后,基于该目标距离以及预设的第一距离阈值,确定第一数据以及第二数据是否匹配。
121.下面以一个具体的例子进行说明:
122.第一设备将待匹配的第一数据输入到部署在第一设备中的预先训练完成的向量转化模型中,获得该第一数据对应的第一向量,第二设备将待匹配的第二数据输入到部署在第二设备中的预先训练完成的向量转化模型中,获得该第二数据对应的第二向量。若第一数据u1对应的第一向量为(x1,x2,x3
……
,xm),第二数据u2对应的第二向量为(y1,y2,y3
……
,ym)。
123.第一设备生成第一目标公私钥对a(pka1,ska1),其中,该pka1为第一目标公钥,ska1为第一目标私钥,基于该第一目标公钥对第一向量进行同态加密生成第一加密向量,第一向量(x1,x2,x3
……
,xm)对应的第一加密向量为(e
pka1
(x1),e
pka1
(x2),e
pka1
(x3)
……
,e
pka1
(xm)),并将该第一加密向量以及该第一目标公钥发送给第二设备。
124.第二设备接收到第一设备发送的第一目标公钥以及第一加密向量后,基于该第一目标公钥对第二向量进行同态加密,获得第二加密向量。具体的,该第二向量(y1,y2,y3
……
,ym)对应的第二加密向量为(e
pka1
(y1),e
pka1
(y2),e
pka1
(y3)
……
,e
pka1
(ym)),第二设备根据该第二加密向量以及接收到的第一加密向量,确定加密后的第一向量和第二向量的距离并发送给第一设备。
125.第一设备接收到该加密后的第一向量和第二向量的距离后,根据自身生成的第一目标公钥对应的第一目标私钥对该加密后的第一向量和第二向量的距离进行解密,确定第一向量和第二向量的目标距离,第一设备可以基于该目标距离及预设的第一距离阈值,确定第一数据以及第二数据是否匹配,并且第一设备将该第一向量和第二向量的目标距离发送给第二设备,第二设备根据第二向量与第一向量的目标距离及预设的第一距离阈值,确定第一数据以及第二数据是否匹配。
126.实施例7:
127.为了确定第一向量和第二向量的目标距离,在上述各实施例的基础上,在本技术实施例中,所述基于所述加密后的所述第一向量和第二向量的距离及所述第一目标公钥对应的第一目标私钥,确定所述第一向量和第二向量的目标距离包括:
128.采用第一设备自身生成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一向量和第二向量的距离进行解密,确定所述第一向量和所述第二向量的目标距离。
129.在本技术实施例中,由于第一设备获得的加密后的第一向量和第二向量的距离是基于第一加密向量和第二加密向量确定的,且该第一加密向量和该第二加密向量为根据该
第一设备生成的第一目标公钥确定的,因此,为了确定第一向量和第二向量的目标距离,第一设备在获得加密后的第一向量和第二向量的距离后,采用第一设备生成的第一目标公钥对应的第一目标私钥对该加密后的所述第一向量和第二向量的距离进行解密,确定第一向量和第二向量的目标距离。
130.实施例8:
131.为了确定第一加密向量,在上述各实施例的基础上,在本技术实施例中,所述将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得所述第一数据对应的第一向量包括:
132.针对所述第一数据中的每个第一子数据,将该第一子数据输入到预先训练完成的向量转化模型中,获得该第一子数据对应的第一子向量;其中,每个第一子数据对应的第一子向量的长度均为第一预设长度;
133.将所述每个第一子数据对应的第一子向量进行拼接,得到所述第一数据对应的所述第一向量。
134.在本技术实施例中,一个第一数据中可能包含一个第一子数据,也可能包含多个第一子数据,比如,该第一数据中包含“上海市浦东新区晴天小卖部”一个第一子数据,该第一数据中还可以包含三个第一子数据,比如,该三个第一子数据分别为:“上海市浦东新区晴天小卖部”、“上海市天天餐饮店”、以及“高科路杨国福麻辣烫”。
135.为了确定第一数据对应的第一向量,可以针对第一数据中的每个第一子数据,将该第一子数据输入到预先训练完成的向量转化模型中,获得该第一子数据对应的第一子向量,其中,每个第一子数据包含的文本或者数字或者字符的长度可以不相同,但是每个第一子数据对应的第一子向量的长度均为第一预设长度,其中,该第一预设长度可以为3,也可以为4或者6等等,具体的,该第一预设长度可以根据需求进行设置。
136.以预先训练完成的向量转化模型输出的向量的维度为5,预先训练完成的向量转化模型为词向量模型为例进行说明,若第一数据中包含三个第一子数据,每个第一子数据都为文本数据,该三个第一子数据分别为“上海市浦东新区晴天小卖部”,“上海市天天餐饮店”以及“高科路杨国福麻辣烫”,则将“上海市浦东新区晴天小卖部”输入到预先训练完成的词向量模型中,输出的该“上海市浦东新区晴天小卖部”对应的第一子向量为(1.0,2.0,1.5,2.0,3.5),将“上海市天天餐饮店”输入到预先训练完成的词向量模型中,输出的该“上海市天天餐饮店”对应的第一子向量为(3.0,4.0,2.5,2.5,1.5),将“高科路杨国福麻辣烫”输入到预先训练完成的词向量模型中,输出的该“高科路杨国福麻辣烫”对应的第一子向量为(4.5,5.5,7.5,1.5,0.5)。
137.若第一数据中包含三个第一子数据,每个第一子数据都为数字数据,该三个数字数据分别为“12345”,“11111”,以及“22233”,则将“12345”输入到预先训练完成的词向量模型中,输出的该“12345”对应的第一子向量为(0000000010,0000000100,0000001000,0000010000,0000100000),将“11111”输入到预先训练完成的词向量模型中,输出的该“11111”对应的第一子向量为(0000000010,0000000010,0000000010,0000000010,0000000010),将“22233”输入到预先训练完成的词向量模型中,输出的该“22233”对应的第一子向量为(0000000100,0000000100,0000000100,0000000010,0000000010)。
138.为了确定该第一数据对应的第一向量,在本技术实施例中,在获得第一数据中每
个第一子数据对应的第一子向量后,将每个第一子数据对应的第一子向量进行拼接,将拼接的结果确定为该第一数据对应的第一向量,具体的,可以先随机对该第一数据中包含的每个第一子数据进行排序,根据第一子数据的排序结果,对第一子数据进对应的第一子向量进行排序并拼接,得到第一向量。
139.比如,第一数据中包含“上海市浦东新区晴天小卖部”、“上海市天天餐饮店”、以及“高科路杨国福麻辣烫”三个第一子数据时,“上海市浦东新区晴天小卖部”对应的第一子向量为(1.0,2.0,1.5),“上海市天天餐饮店”对应的第一子向量为(3.0,4.0,2.5),“高科路杨国福麻辣烫”对应的第一子向量为(4.5,5.5,7.5),则可以随机对该第一数据中包含的每个第一子数据进行排序后,获得的排序结果为“上海市浦东新区晴天小卖部”、“高科路杨国福麻辣烫”、“上海市天天餐饮店”,则按照排序结果,对三个第一子数据对应的第一子向量进行拼接后获得的第一数据对应的第一向量为(1.0,2.0,1.5,4.5,5.5,7.5,1.0,2.0,1.5)。
140.为了实现第一数据与第二数据的模糊匹配,在上述各实施例的基础上,在本技术实施例中,所述第一向量和所述第二向量的长度均为第二预设长度。
141.在本技术实施例中,为了实现第一数据与第二数据的模糊匹配,获得的第一数据对应的第一向量的长度以及第二数据对应的第二向量的长度必须是相同的,且均为第二预设长度,其中,该第二预设长度不小于该第一预设长度,第二预设长度为第一预设长度的整数倍,且若该第一数据中只包含一个第一子数据,则该第一预设长度等于第二预设长度。
142.由于针对第一数据对应的第一向量的长度和第二数据对应的第二长度均为第二预设长度,因此,即使第一数据与第二数据不相同,也能实现模糊匹配,拓宽了使用场景。
143.实施例9:
144.为了确定第一加密向量,在上述各实施例的基础上,在本技术实施例中,所述采用自身生成的第一目标公钥对所述第一向量进行同态加密生成第一加密向量包括:
145.针对所述第一向量中的每个第一分量,确定该第一分量对应的第一平方分量;
146.将每个第一分量对应的第一平方分量按照预设的插入规则插入到所述第一向量中,并将插入第一平方分量后获得的向量更新为所述第一向量;
147.基于所述第一目标公钥对所述第一向量中的每个第一分量及每个第一平方分量分别进行同态加密,生成所述第一加密向量。
148.为了生成第一加密向量,在本技术实施例中,可以直接基于第一目标公钥对该第一向量进行同态加密,获得加密后的第一加密向量。为了保证可以在不对第一加密向量和第二加密向量进行解密的前提下,还可以基于第一加密向量和第二加密向量确定加密后的第一向量和第二向量的距离,在本技术实施例中,还可以先针对第一向量中的每个第一分量,确定该第一分量对应的第一平方分量。
149.比如,若该第一向量为(1,2,4,5,3),则该第一向量中为1的第一分量对应的第一平方分量为1,该第一向量中为2的第一分量对应的第一平方分量为4,该第一向量中为4的第一分量对应的第一平方分量为16,该第一向量中为5的第一分量对应的第一平方分量为25,该第一向量中为3的第一分量对应的第一平方分量为9。
150.在本技术实施例中,可以针对第一向量中的每个第一分量后,在确定该第一分量对应的第一平方分量后,将每个第一分量对应的第一平方分量按照预设的规则插入到第一向量中,并将插入第一平方分量后获得的向量更新为第一向量,具体的,针对每个第一分量
对应的第一平方分量,可以将该第一分量对应的第一平方分量插入到第一向量中的任意位置,比如,将该第一分量对应的第一平方分量插入到第一向量中该第一分量的前面,或者将该第一分量对应的第一平方分量插入到该第一向量中该第一分量的后面,或者将第一平方分量按照顺序插入到第一分量的后面,只要保证第一设备和第二设备能够识别每个向量中的第一分量和第一平方分量即可。
151.比如,若该第一向量为(1,2,4,5,3),在确定第一向量中各个第一分量的第一平方分量后,将第一平方分量插入到第一向量中,获得的更新后的第一向量为(1,9,2,16,4,4,5,25,1,3)。
152.为了便于后续基于插入第一平方分量的第一向量,确定加密后的第一向量和第二向量的距离,在本技术实施例中,针对第一向量中的每个第一分量,在确定该第一分量对应的第一平方分量后,还可以将每个第一分量对应的第一平方分量按照预设的插入规则插入到第一向量中,并将插入第一平方分量后获得的向量更新为第一向量,具体的,可以将该第一分量对应第一平方分量插入到该第一向量中该第一分量后面且与该第一分量相邻的位置。
153.比如,若该第一向量为(1,2,4,5,3),在确定第一向量中各个第一分量的第一平方分量后,将第一平方分量插入到第一向量中,获得的更新后的第一向量为(1,1,2,4,4,16,5,25,3,9)。
154.在确定更新后的第一向量后,为了确定第一加密向量,在本技术实施例中,可以基于该第一目标公钥对第一向量中的每个第一分量及每个第一平方分量分别进行同态加密,生成第一加密向量。
155.比如,若更新后的第一向量为(2,4,3,9),则第一加密向量为(e
pka
(2),e
pka
(4),e
pka
(3),e
pka
(9)),其中,该e
pka
(2)表征基于目标公钥对第一向量中为2的第一分量进行同态加密后的结果,该e
pka
(4)表征基于目标公钥对第一向量中为4的第一分量进行同态加密后的结果,该e
pka
(3)表征基于目标公钥对第一向量中为3的第一分量进行同态加密后的结果,该e
pka
(9)表征基于目标公钥对第一向量中为9的第一分量进行同态加密后的结果。
156.为了确定加密后的第一向量和第二向量的距离,在上述各实施例的基础上,在本技术实施例中,所述获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离包括:
157.根据所述预设的插入规则及所述第一加密向量中的每个第一分量,获取每组第一加密分量和第一加密平方分量;并根据所述预设的插入规则及所述第二加密向量中的每个第二分量,获取每组第二加密分量和第二加密平方分量;
158.根据所述预设的插入规则,确定对应的每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;
159.根据每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,确定加密后的每个子距离;
160.根据每个子距离的和值,确定加密后的所述第一向量和所述第二向量的距离。
161.在本技术实施例中,为了确定加密后的第一向量和第二向量的距离,第一设备可以针对预设的插入规则及该第一加密向量中的每个第一分量,获取每组第一加密分量和第一加密平方分量,其中一组第一加密分量和第一加密平方分量中是对同一个分量本身和该
分量的平方分量进行同态加密得到的。即每组第一加密分量和第一加密平方分量中,该第一加密平方分量为对该第一加密分量在加密前对应的第一分量对应的第一平方分量进行同态加密后获得的。
162.具体的,若该预设的插入规则为将该第一分量对应的第一平方分量插入到该第一向量中该第一分量后面且与该第一分量相邻的位置。则在确定每组第一加密分量和第一加密分量时,可以直接从该第一向量的第一个分量开始,将待确定分组的分量与该第一向量中该待确定分组的分量的下一个与该待确定分组的分量确定为一组,依次进行划分,直至确定所有分组对应的第一加密分量和第一加密平方分量。
163.比如,该第一加密向量为(e
pka
(2),e
pka
(4),e
pka
(3),e
pka
(9)),则可以获得两组第一加密分量和第一加密平方分量,其中第一组为e
pka
(2)、e
pka
(4),第二组为e
pka
(3)、e
pka
(9)。其中,第一组中的e
pka
(2)为该第一组中的第一加密分量,e
pka
(4)为该第一组中的第一加密平方分量,第二组中的e
pka
(3)为该第二组中的第一加密分量,e
pka
(9)为该第二组中的第一加密平方分量。
164.在本技术实施例中,第一设备在获得第二设备发送的第二加密向量后,也可以针对预设的插入规则及该第二加密向量中的每个第二分量,获取每组第二加密分量和第二加密平方分量,其中,该获得第一向量时对应的预设的插入规则与获得第二向量时对应的预设的插入规则相同,且获得每组第二加密分量和第二加密平方分量的过程与获得每组第一加密分量和第一加密平方分量的过程相同,在此不做赘述。
165.为了确定该加密后的第一向量与第二向量之间的距离,在本技术实施例中,可以根据每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,确定加密后的每个子距离,具体的,针对每组,可以先确定该组中第一加密平方分量与第二加密平方分量的目标和值,然后确定该组中第一加密分量、第二加密分量以及预设的数值的目标乘积,其中,在本技术实施例中,该预设的数值为2,最后确定该目标和值与该目标乘积的目标差值,将该目标差值确定为该组加密后的子距离。
166.在确定每组加密后的子距离后,可以根据每个子距离的和值,确定加密后的第一向量和第二向量的距离。
167.比如,若确定第一数据对应的第一向量为(1,5),第二数据对应的第二向量为(2,3),在确定第一向量中各个第一分量的第一平方分量后,将各个第一平方分量插入到第一向量中,获得的更新后的第一向量为(1,1,5,25),确定第一加密向量为(e
pka
(1),e
pka
(1),e
pka
(5),e
pka
(25)),在确定第二向量中各个第二分量的第二平方分量后,将各个第二平方分量插入到第二向量中,获得的更新后的第二向量为(2,4,3,9),确定第二加密向量为(e
pka
(2),e
pka
(4),e
pka
(3),e
pka
(9)),则确定加密的该第一向量和第二向量的距离为[e
pka
(1) e
pka
(4)-2e
pka
(1)*e
pka
(2)] [e
pka
(25) e
pka
(9)-2e
pka
(5)*e
pka
(3)]。
[0168]
由于待匹配的第一数据可能包含多个第一子数据,待匹配的第二数据中也可能包含多个第二子数据,因此,针对每个第一子数据以及每个第二子数据,还能确定该加密后的第一子数据的第一子向量和该第二子数据的第二子向量的距离,进而确定每个第一子数据以及每个第二子数据是否匹配,因此,为了方便,可以根据各个加密后的第一子向量和第二子向量的距离,确定加密后的距离矩阵,其中,该加密后的距离矩阵中每个元素为对应的加密后的第一子向量和第二子向量的距离。在基于目标私钥对加密后的距离矩阵进行解密
后,确定该目标子距离矩阵,其中,该目标子距离矩阵中每个元素为对应的第一子向量和第二子向量的目标子距离。
[0169]
在确定每个第一子向量和每个第二子向量的目标子距离后,还可以根据每个目标子距离的和值,确定该第一向量和第二向量的目标距离,且还可以确定每个第一子数据与每个第二子数据是否匹配,具体的,可以预先设置了子距离阈值,针对每个第一子向量以及每个第二子向量,根据该第一子向量和该第二子向量的目标子距离,确定该目标子距离是否小于预先设置的子距离阈值,若是,则确定该第一子向量对应的第一子数据与该第二子向量对应的第二子数据匹配。
[0170]
图2a为本技术一些实施例提供的一种目标子距离的显示示意图,图2b为本技术一些实施例提供的一种目标子距离矩阵的显示示意图,图3a为本技术一些实施例提供的另外一种目标子距离的显示示意图,图3b为本技术一些实施例提供的另外一种目标距离子矩阵的显示示意图,现针对图2a、图2b、图3a及图3b进行说明。
[0171]
d(x,y)表征的为目标子距离,x表征的第一向量,y表征的第二向量,若第一数据中存在三个第一子数据,第二数据中也存在三个第二子数据,且该三个第一数据子对应的第一子向量分别表示为a1、a2以及a3,三个第二子数据对应的第二子向量分别表示为b1、b2以及b3,a1与b1对应的目标子距离为1,a1与b2对应的目标子距离为3.64,a1与b3对应的目标子距离为7.66,a2与b1对应的目标子距离为3.9,a2与b2对应的目标子距离为0,a2与b3对应的目标子距离为5.7,a3与b1对应的目标子距离为8.35,a3与b2对应的目标子距离为5.16,a3与b3对应的目标子距离为8.18,如图2a所示,对应的目标子距离矩阵如图2b所示。
[0172]
若第一数据中存在三个第一子数据,第二数据中也存在三个第二子数据,且该三个第一子数据对应的第一子向量分别表示为a1、a2以及a3,三个第二子数据对应的第二子向量分别表示为b1、b2以及b3,a1与b1对应的目标子距离为2.82,a1与b2对应的目标子距离为1,a1与b3对应的目标子距离为3.16,a2与b1对应的目标子距离为3,a2与b2对应的目标子距离为1.73,a2与b3对应的目标子距离为3,a3与b1对应的目标子距离为0,a3与b2对应的目标子距离为2.83,a3与b3对应的目标子距离为3,如图3a所示,对应的目标子距离矩阵如图3b所示。
[0173]
实施例10:
[0174]
为了确定第二数据对应的第二向量,在各上述实施例的基础上,在本技术实施例中,所述基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配包括:
[0175]
确定所述目标距离是否小于预设的第一距离阈值;
[0176]
若是,则确定所述第一数据与所述第二数据匹配;
[0177]
否则,确定所述第一数据与所述第二数据不匹配。
[0178]
为了确定该第一数据以及该第二数据是否匹配,在本技术实施例中,将该目标距离以及预设的距离阈值进行比较,若该目标距离小于预设的第一距离阈值,则确定该第一数据以及该第二数据匹配,若该目标距离不小于预设的第一距离阈值,则确定该第一数据以及该第二数据不匹配。其中,该预设的第一距离阈值可以为1,可以为1.5等等,具体的,该预设的第一距离阈值可以根据需求进行设置。其中,该目标距离越小,该第一向量和第二向量越匹配。
[0179]
为了确定第二数据与第一数据是否完全匹配,在上述各实施例的基础上,在本技术实施例中,所述确定所述第一数据与所述第二数据匹配之后,所述方法还包括:
[0180]
确定所述目标距离是否等于预设的第二距离阈值,若是,则确定所述第一数据与所述第二数据相同。
[0181]
在本技术实施例中,若该目标距离等于预设的第二距离阈值,则说明该第一数据与该第二数据相同,也就是说,该第一数据与该第二数据完全匹配,其中了,该预设的第二距离阈值小于该预设的第一距离阈值,且该预设的第二距离阈值等于0。
[0182]
实施例11:
[0183]
为了保证双方数据不完全相同时也可以进行匹配,拓宽数据匹配的业务范围,本技术实施例提供了一种数据匹配方法、装置、设备及介质。
[0184]
图4为本技术实施例提供的一种数据匹配方法过程示意图,该过程包括以下步骤:
[0185]
s401:将待匹配的第二数据输入到预先训练完成的向量转化模型中,获得所述第二数据对应的第二向量。
[0186]
本技术实施例提供的数据匹配方法应用于第二设备,该第二设备可以是智能终端、pc或者服务器等设备,且该第二设备与本技术中的第一设备为不同的设备。
[0187]
在本技术实施例中,为了保证双方数据不完全相同时,也能实现模糊匹配,在本技术实施例中,第二设备中部署了预先训练完成的向量转化模型,用于获得待匹配的数据对应的向量,且针对不同的数据,该预先训练完成的向量转化模型输出的向量的维度相同。
[0188]
为了获得待匹配的第二数据对应的第二向量,将该第二数据输入到预先训练完成的向量转化模型中,该预先训练完成的向量转化模型输出该第二数据对应的第二向量。
[0189]
在本技术实施例中,第一数据与第二数据一般为同一种类型的数据,比如,都为文本数据或者都为数字数据。
[0190]
s402:接收第一设备发送的第一目标公钥,采用所述第一目标公钥对所述第二向量进行同态加密生成第二加密向量。
[0191]
在本技术实施例中,为了确定第二加密向量,第二设备接收第一设备发送的第一目标公钥后,采用该第一目标公钥对第二向量进行同态加密生成第二加密向量。
[0192]
s403:获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离,其中,所述第一加密向量为采用所述第一目标公钥对所述第一向量加密后得到的,所述第一向量为将第一数据输入到所述第一设备中的预先训练完成的向量转化模型中获得的。
[0193]
在本技术实施例中,为了实现第二设备也能确定第一数据与第二数据是否匹配,因此该第二设备也获得了基于第一加密向量和第二加密向量确定的第一向量和第二向量的目标距离,其中,该目标距离可以为第一设备确定后发送给第二设备的,还可以为第二设备确定的。
[0194]
其中,该第一加密向量为第一设备采用第一设备生成的第一目标公钥对第一向量加密后得到的,第一向量为第一数据输入到第一设备中的预先训练完成的向量转化模型中获得的。
[0195]
s404:基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0196]
为了确定该第一数据以及该第二数据是否匹配,在本技术实施例中,将该目标距离以及预设的第一距离阈值进行比较,根据比较结果,确定该第一数据以及该第二数据是否匹配。
[0197]
由于在本技术实施例中,分别将待匹配的第一数据和第二数据输入到预先训练完成的向量转化模型中,获得该第一数据对应的第一向量以及第二数据对应的第二向量,并获取基于该第一向量加密后的第一加密向量,以及该第二向量加密后的第二加密向量,确定的加密后的第一向量和第二向量的距离,并基于加密后的第一向量和第二向量的距离以及自身生成的第一目标私钥,确定第一向量和第二向量的目标距离,基于该目标距离以及预设的第一距离阈值确定第一数据和第二数据是否匹配,即在第一数据和第二数据不完全相同时,也能实现第一数据和第二数据的模糊匹配,拓宽了使用场景,且在进行模糊匹配过程中引入了第一目标公钥和第一目标私钥分别进行同态加密和解密,实现了安全求交,保证了匹配过程的安全性,且整个匹配的过程中,第一数据以及第二数据均未以原始数据的形式离开过对应的第一设备以及第二设备,实现了原始数据不出库也能实现模糊匹配,进一步保证了匹配过程的安全性。
[0198]
实施例12:
[0199]
为了确定第二数据对应的第二向量,在各上述实施例的基础上,在本技术实施例中,所述将获取到待匹配的第二数据输入到预先训练完成的向量转化模型中,获得所述第二数据对应的第二向量包括:
[0200]
确定待匹配的第二数据对应的第二目标数据类型;
[0201]
根据所述第二目标数据类型以及预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定所述第二数据对应的预先完成的第二目标向量转化模型;
[0202]
将所述第二数据输入到所述预先训练完成的第二目标向量转化模型中,获得所述第二数据对应的第二向量。
[0203]
在本技术实施例中,由于待匹配的第二数据可以为文本数据,比如,该第一数据可以为姓名、性别、地址等等,也可以为数字数据,比如,该第二数据可以为身份证号、银行卡号以及准考证号等等,因此,为了针对不用数据类型的第二数据,获得对应的第二向量的预先训练完成的向量转化模型也不相同。
[0204]
具体的,可以在第二设备中保存有数据类型和预先完成的向量转化模型的对应关系,根据获取到的待匹配的第二数据对应的第二目标数据类型,采用对应的预先训练完成的向量转化模型,获取该第二数据对应的第二向量;其中,该对应的预先训练完成的向量转化模型也就是预先训练完成的第二目标向量转化模型。
[0205]
图5a为本技术一些实施例提供的一种获取文本类型数据对应的向量的过程示意图,图5b为本技术一些实施例提供的一种获取数字类型数据对应的向量的过程示意图,现针对图5a和图5b进行说明。
[0206]
若待匹配的数据为文本数据,该待匹配的数据可以为第一数据或者第二数据,则该先训练完成的向量转化模型为词向量模型,将该文本数据输入到的预先训练完成的词向量模型中,该词向量模型输出该文本数据对应的向量。
[0207]
若待匹配的数据为数字数据,该待匹配的数据可以为第一数据或者第二数据,则该预先训练完成的向量转化模型为one-hot编码模型,将该数字数据输入到预先训练完成
的one-hot编码模型中,该one-hot编码模型输出该数字数据对应的向量。
[0208]
为了准确的确定将第二数据转换为第二向量的模型,在上述各实施例的基础上,若所述第二目标数据类型为文本类型,对应的预先训练完成的第二目标向量转化模型为词向量模型或句向量模型;若所述第二目标数据类型为数字类型,对应的预先训练完成的第二目标向量转化模型为独热编码模型。
[0209]
在本技术实施例中,若该第二数据为文本数据,则为了获得该文本数据对应的第二向量,第二设备中部署的预先训练完成的向量转化模型可以为词向量模型或者句向量模型,若该第二数据为数字数据,则为了确定该数字数据对应的第二向量,第二设备中部署的预先训练完成的向量转化模型可以为独热(one-hot)编码模型。
[0210]
具体的,若该第二数据为文本数据,则根据预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定该第二数据对应的预先完成的第二目标向量转化模型为词向量模型,并基于该预先训练完成的词向量模型,获取该第二数据对应的第二向量;若该第二数据为数字数据,则根据预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定该第二数据对应的预先完成的第二目标向量转化模型为one-hot编码模型,并基于该预先训练完成的one-hot编码模型,获取该第二数据对应的第二向量。
[0211]
其中,在对向量转化模型进行训练时,可以预先标注每个数据和数据对应的标注向量,将每个数据和对应的标注向量输入到原始向量转化模型中,根据原始向量转化模型输出的预测向量及对应的标注向量,对该原始向量转化模型的参数进行调整,当满足收敛条件时,确定向量转化模型训练完成。
[0212]
实施例13:
[0213]
为了获得基于第一加密向量和第二加密向量确定的第一向量和第二向量的目标距离,在上述各实施例的基础上,所述接收第一设备发送的所述目标公钥包括:
[0214]
接收所述第一设备发送的所述第一目标公钥以及所述第一加密向量,其中,所述第一加密向量为采用所述第一目标公钥对所述第一向量进行同态加密后得到的;
[0215]
所述获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离包括:
[0216]
根据所述第一加密向量以及所述第二加密向量,确定加密后的所述第一向量和第二向量的距离;
[0217]
将所述加密后的所述第一向量和第二向量的距离发送给所述第一设备;
[0218]
接收所述第一设备发送的所述目标距离,其中,所述目标距离为所述第一设备采用自身生成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一向量和第二向量的距离进行解密后得到的。
[0219]
在本技术实施例中,第二设备获得的基于第一加密向量和第二加密向量确定的第一向量和第二向量的目标距离可以为第一设备确定并发送给第二设备的,还可以为第二设备确定的。
[0220]
由于第一加密向量和第二加密向量为基于第一设备生成的第一目标公钥对第一向量和第二向量进行同态加密生成的,因此,在确定加密后的第一向量和第二向量的距离后,也需要基于该第一设备产生的第一目标私钥对该加密后的第一向量和第二向量的距离进行解密,若该第一向量和第二向量的目标距离为第二设备确定的,则第二设备需要接收
第一设备发送的该第一目标私钥,若在发送过程中存在漏洞或者攻击,则影响信息的安全,安全性不高。
[0221]
为了提高安全性,在本技术实施例中,该目标距离可以为第一设备确定的,并发送给第二设备的,具体的,第二设备在接收第一设备发送的第一目标公钥的同时,还可以接收第一设备确定的第一加密向量,其中,该第一加密向量为第一设备采用该第一目标公钥对第一向量进行同态加密后得到的。
[0222]
第二设备在接收第一设备发送的第一加密向量以及第一目标公钥后,可以先基于该第一目标公钥对第二向量进行同态加密,确定第二加密向量,然后基于该第一加密向量和第二加密向量,确定加密后的第一向量和第二向量的距离,由于第一加密向量和第二加密向量都是基于第一设备生成的第一目标公私钥对中的第一目标公钥加密生成的,因此,在本技术实施例中,为了确定第一向量和第二向量的目标距离,第二设备可以将确定的加密后的第一向量和第二向量的距离发送给第一设备,以使第一设备根据生成的第一目标公私钥对中的第一目标私钥对该加密后的第一向量和第二向量的距离进行解密生成目标距离,并将该目标距离发送给第二设备,第二设备接收该第一设备发送的目标距离。
[0223]
由于在本技术实施例中,第一数据均未以原始数据的形式离开过第一设备,实现了原始数据不出库也能实现模糊匹配,进一步保证了匹配过程的安全性。
[0224]
实施例14:
[0225]
为了获得基于第一加密向量和第二加密向量确定的第一向量和第二向量的目标距离,在上述各实施例的基础上,所述获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离包括:
[0226]
向所述第一设备发送所述第二加密向量,以使所述第一设备基于所述第二加密向量以及采用自身生成的所述第一目标公钥对所述第一向量进行同态加密后得到的所述第一加密向量,确定加密后的所述第一加密向量和所述第二加密向量的距离;
[0227]
接收所述第一设备发送的所述第一向量和第二向量的目标距离,其中,所述目标距离为所述第一设备基于自身生成的所述第一目标公钥对应的目标私钥对所述加密后的所述第一向量和第二向量的距离解密得到的。
[0228]
在本技术实施例中,为了获取基于第一加密向量和第二加密向量确定的第一向量和第二向量的目标距离,第一设备除了可以向第二设备发送第一目标公钥以及第一加密向量,以使第二设备基于第一加密向量和基于第一目标公钥对第二向量加密生成的第二加密向量,确定加密后的第一向量和第二向量的距离以外,第一设备还可以只将第一目标公钥发送给第二设备。
[0229]
第二设备在接收到第一设备发送的第一目标公钥后,基于该第一目标公钥对第二向量进行同态加密,生成第二加密向量后,将该第二加密向量发送给第一设备,以使第一设备基于该第二加密向量以及第一加密向量,确定该加密后的第一加密向量和第二加密向量的距离,并基于自身生成的第一目标公私钥对中的第一目标私钥对该加密后的第一向量和第二向量的距离进行解密,确定该第一向量和第二向量的目标距离并发送给第二设备,第二设备接收第一设备发送的第一向量和第二向量的目标距离,并可以基于该目标距离,确定第一数据和第二数据是否匹配。
[0230]
图6为本技术一些实施例提供的一种双方数据进行模糊匹配的整体过程示意图,
现针对图6进行说明。
[0231]
将待匹配的第一数据和第二数据输入到预先训练完成的向量转化模型中,输出待匹配的第一数据对应的第一向量,以及待匹配的第二数据对应的第二向量,基于第一目标公钥对该第一向量和第二向量分别进行同态加密,获得第一加密向量和第二加密向量,根据该第一加密向量和第二加密向量,确定该加密后的第一向量和第二向量的距离,基于第一目标私钥对该加密后的第一向量和第二向量的距离进行解密,确定该第一向量和第二向量的目标距离,根据目标距离以及预设的第一距离阈值进行比较,确定匹配结果。
[0232]
图7为本技术一些实施例提供的一种双方数据进行模糊匹配的具体过程示意图,现针对图7进行说明。
[0233]
第一设备将待匹配的第一数据输入到部署在第一设备中的预先训练完成的向量转化模型中,获得该第一数据对应的第一向量,第二设备将待匹配的第二数据输入到部署在第二设备中的预先训练完成的向量转化模型中,获得该第二数据对应的第二向量。如图7所述,第一数据包含四个第一子数据,分别为u1、u2、u3、u4,且u1对应的第一子向量为(x11,x12,x13
……
,x1m),u2对应的第一子向量为(x21,x22,x23
……
,x2m),u3对应的第一子向量为(x31,x32,x33
……
,x3m),u4对应的第一子向量为(x41,x42,x43
……
,x4m)。第一数据对应的第一向量为(x11,x12,x13
……
,x1m,x21,x22,x23
……
,x2m,x31,x32,x33
……
,x3m,x41,x42,x43
……
,x4m)。第二数据包含四个第二子数据,分别为u5、u6、u7、u8,且u5对应的第二子向量为(y11,y12,y13
……
,y1m),u6对应的第二子向量为(y21,y22,y23
……
,y2m),u7对应的第二子向量为(y31,y32,y33
……
,y3m),u8对应的第二子向量为(y41,y42,y43
……
,y4m),第二数据对应的第二向量为(y11,y12,y13
……
,y1m,y21,y22,y23
……
,y2m,y31,y32,y33
……
,y3m,y41,y42,y43
……
,y4m)。
[0234]
第一设备生成第一目标公私钥对a(pka,ska),其中,该pka为第一目标公钥,ska为第一目标私钥,该第一目标公私钥对为同态加密目标公私钥对。基于该第一目标公钥对第一向量进行同态加密生成第一加密向量,(x11,x12,x13
……
,x1m,x21,x22,x23
……
,x2m,x31,x32,x33
……
,x3m,x41,x42,x43
……
,x4m)对应的第一加密向量为(e
pka
(x11),e
pka
(x12),e
pka
(x13)
……
,e
pka
(x1m),e
pka
(x21),e
pka
(x22),e
pka
(x23)
……
,e
pka
(x2m),e
pka
(x31),e
pka
(x32),e
pka
(x33)
……
,e
pka
(x3m),e
pka
(x41),e
pka
(x42),e
pka
(x43)
……
,e
pka
(x4m))。其中该第一加密向量中包含m/2组加密后的第一加密分量和第一加密平方分量。
[0235]
第一设备将该第一目标公钥以及第一加密向量发送给第二设备,第二设备在接收到该第一目标公钥以及第一加密向量后,基于该第一目标公钥对第二向量进行同态加密生成第二加密向量,(y11,y12,y13
……
,y1m,y21,y22,y23
……
,y2m,y31,y32,y33
……
,y3m,y41,y42,y43
……
,y4m)对应的第二加密向量为(e
pka
(y11),e
pka
(y12),e
pka
(y13)
……
,e
pka
(y1m),e
pka
(y21),e
pka
(y22),e
pka
(y23)
……
,e
pka
(y2m),e
pka
(y31),e
pka
(y32),e
pka
(y33)
……
,e
pka
(y3m),e
pka
(y41),e
pka
(y42),e
pka
(y43)
……
,e
pka
(y4m))。其中该第二加密向量中包含m/2组加密后的第二加密分量和第二加密平方分量。
[0236]
针对每个加密后第一子向量以及对应的每个加密后的第二子向量,第二设备确定加密后的第一子向量和该第二子向量之间的距离,基于每个加密后的第一子向量和该第二子向量之间的距离,确定加密后的距离矩阵,并将该加密后的距离矩阵发送给第一设备。
[0237]
第一设备在接收到第二设备发送的加密的距离矩阵后,基于该第一设备生成的第
一目标私钥对该加密的距离矩阵进行解密,也就是说,对每个加密后的第一子向量和该第二子向量之间的距离进行解密,获得目标子距离矩阵,第一设备基于该目标子距离矩阵,确定各个第一子数据与各个第二子数据是否匹配,其中,该目标子距离矩阵中每个元素为对应的目标子距离,将该目标子距离矩阵发送给第二设备,第二设备也获得该目标子距离矩阵,第二设备基于该目标子距离矩阵,确定各个第一子数据与各个第二子数据是否匹配。
[0238]
实施例15:
[0239]
为了获得基于第一加密向量和第二加密向量确定的第一向量和第二向量的目标距离,在上述各实施例的基础上,所述获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离包括:
[0240]
采用自身生成的第二目标公钥对所述第二向量进行同态加密,获得第三加密向量,并将所述第二目标公钥以及所述第三加密向量发送给所述第一设备;
[0241]
接收所述第一设备发送的基于所述第三加密向量以及第四加密向量,确定加密后的所述第二向量和所述第一向量的距离,其中,所述第四加密向量为采用所述第二目标公钥对所述第一向量进行同态加密生成的;
[0242]
基于所述加密后的所述第一向量和第二向量的距离及所述第二目标公钥对应的第二目标私钥,确定所述第一向量和所述第二向量的目标距离,基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0243]
为了使得第一设备以及第二设备都能确定第一数据以及第二数据是否匹配,在本技术实施例中,第二设备也可以获得第一向量和第二向量的目标距离,其中,该第一向量和第二向量的目标距离可以是第二设备对接收到第一设备发送的加密后的第一向量和第二向量的距离进行解密后获得的。
[0244]
具体的,第二设备可以采用自身生成的第二目标公钥对第二向量进行同态加密,获得第三加密向量,并将该第三加密向量以及第二目标公钥发送给该第一设备,第一设备在接收到该第三加密向量以及第二目标公钥后,基于该第二目标公钥对第一向量进行同态加密,获得第四加密向量。第一设备可以根据该第三加密向量以及第四加密向量确定加密后的第一向量和第二向量的距离,并将该加密后的第一向量和第二向量的距离发送给第二设备,第二设备接收到该加密后的第一向量和第二向量的距离后,采用自身生成的第二目标公钥对应的第二目标私钥对该加密后的第一向量和第二向量的距离进行解密,获得第一向量和第二向量的目标距离,并根据该第一向量和第二向量的目标距离以及预设的第一距离阈值,确定第一数据以及第二数据是否匹配。
[0245]
其中,第二设备根据第一向量和第二向量的目标距离以及预设的第一距离阈值,确定第一数据以及第二数据是否匹配的过程,与第一设备根据第一向量和第二向量的目标距离以及预设的第一距离阈值,确定第一数据以及第二数据是否匹配的过程相同,在此不做赘述。
[0246]
由于在本技术实施例中,第二数据均未以原始数据的形式离开过第二设备,实现了原始数据不出库也能实现模糊匹配,进一步保证了匹配过程的安全性。
[0247]
实施例16:
[0248]
为了获得基于第一加密向量和第二加密向量确定的第一向量和第二向量的目标距离,在上述各实施例的基础上,所述将待匹配的第二数据输入到预先训练完成的向量转
化模型中,获得所述第二数据对应的第二向量包括:
[0249]
针对所述第二数据中的每个第二子数据,将该第二子数据输入到预先训练完成的向量转化模型中,获得该第二子数据对应的第二子向量;其中,每个第二子数据对应的第二子向量的长度均为第一预设长度;
[0250]
将所述每个第二子数据对应的第二子向量进行拼接,得到所述第二数据对应的所述第二向量。
[0251]
在本技术实施例中,一个第二数据中可能包含一个第二子数据,也可能包含多个第二子数据,比如,该第二数据中包含“上海市浦东新区晴天小卖部”一个第二子数据,该第二数据中还可以包含三个第二子数据,比如,该三个第二子数据分别为:“上海市浦东新区晴天小卖部”、“上海市天天餐饮店”、以及“高科路杨国福麻辣烫”。
[0252]
为了确定第二数据对应的第二向量,可以针对第二数据中的每个第二子数据,将该第二子数据输入到预先训练完成的向量转化模型中,获得该第二子数据对应的第二子向量,其中,每个第二子数据包含的文本或者数字或者字符的长度可以不相同,但是每个第二子数据对应的第二子向量的长度均为第一预设长度,其中,该第一预设长度可以为3,也可以为4或者6等等,具体的,该第一预设长度可以根据需求进行设置。
[0253]
比如,第二数据中包含“上海市浦东新区晴天小卖部”、“上海市天天餐饮店”、以及“高科路杨国福麻辣烫”三个第二子数据时,将“上海市浦东新区晴天小卖部”输入到预先训练完成的词向量模型中,输出的该“上海市浦东新区晴天小卖部”对应的第二子向量为(2.0,3.0,2.5,1.0,1.5),将“上海市天天餐饮店”输入到预先训练完成的词向量模型中,输出的该“上海市天天餐饮店”对应的第二子向量为(2.3,4.4,3.5,4.5,2.5),将“高科路杨国福麻辣烫”输入到预先训练完成的词向量模型中,输出的该“高科路杨国福麻辣烫”对应的第二子向量为(2.5,2.7,8.3,4.5,1.5)。
[0254]
若第二数据中包含三个第二子数据,每个第二子数据都为数字数据,该三个数字数据分别为“54321”,“00001”,以及“33322”,则将“54321”输入到预先训练完成的词向量模型中,输出的该“54321”对应的第二子向量为(0000100000,0000010000,0000001000,0000000100,0000000010),将“00001”输入到预先训练完成的词向量模型中,输出的该“000011”对应的第二子向量为(0000000000,0000000000,0000000000,0000000010,0000000010),将“33322”输入到预先训练完成的词向量模型中,输出的该“22233”对应的第二子向量为(0000000010,0000000010,0000000010,0000000100,0000000100)。
[0255]
为了确定该第二数据对应的第二向量,在本技术实施例中,在获得第二数据中每个第二子数据对应的第二子向量后,将每个第二子数据对应的第二子向量进行拼接,将拼接的结果确定为该第二数据对应的第二向量,具体的,可以先随机对该第二数据中包含的每个第二子数据进行排序,根据第二子数据的排序结果,对第二子数据进对应的第二子向量进行排序并拼接,得到第二向量。
[0256]
比如,第二数据中包含“上海市浦东新区晴天小卖部”、“上海市天天餐饮店”、以及“高科路杨国福麻辣烫”三个第二子数据时,“上海市浦东新区晴天小卖部”对应的第二子向量为(1.0,2.0,1.5),“上海市天天餐饮店”对应的第二子向量为(3.0,4.0,2.5),“高科路杨国福麻辣烫”对应的第二子向量为(4.5,5.5,7.5),则可以随机对该第二数据中包含的每个第二子数据进行排序后,获得的排序结果为“上海市浦东新区晴天小卖部”、“高科路杨国福
麻辣烫”、“上海市天天餐饮店”,则按照排序结果,对三个第二子数据对应的第二子向量进行拼接后获得的第二数据对应的第二向量为(1.0,2.0,1.5,4.5,5.5,7.5,1.0,2.0,1.5)。
[0257]
为了实现第一数据与第二数据的模糊匹配,在上述各实施例的基础上,所述第一向量和所述第二向量的长度均为第二预设长度。
[0258]
在本技术实施例中,为了实现第一数据与第二数据的模糊匹配,获得的第一数据对应的第一向量的长度以及第二数据对应的第二向量的长度必须是相同的,且均为第二预设长度,其中,该第二预设长度不小于该第一预设长度,第二预设长度为第一预设长度的整数倍,且若该第二数据中若只包含一个第二子数据,则该第一预设长度等于第二预设长度。
[0259]
由于针对第一数据对应的第一向量的长度和第二数据对应的第二长度均为第二预设长度,因此,即使第一数据与第二数据不相同,也能实现模糊匹配,拓宽了使用场景。
[0260]
实施例17:
[0261]
为了确定第二加密向量,在上述各实施例的基础上,所述采用所述第一目标公钥对所述第二向量进行同态加密生成第二加密向量包括:
[0262]
针对所述第二向量中的每个第二分量,确定该第二分量对应的第二平方分量;
[0263]
将每个第二分量对应的第二平方分量按照预设的插入规则插入到所述第二向量中,并将插入第二平方分量后获得的向量更新为所述第二向量;
[0264]
基于所述第一目标公钥对所述第二向量中的每个第二分量及每个第二平方分量分别进行同态加密,生成所述第二加密向量。
[0265]
为了生成第二加密向量,在本技术实施例中,可以直接基于第一目标公钥对该第二向量进行同态加密,获得加密后的第二加密向量。为了保证可以在不对第二加密向量和第二加密向量进行解密的前提下,还可以基于第一加密向量和第二加密向量确定加密后的第一向量和第二向量的距离,在本技术实施例中,还可以先针对第二向量中的每个第二分量,确定该第二分量对应的第二平方分量。
[0266]
比如,若该第二向量为(1,2,4,5,3),则该第二向量中为1的第二分量对应的第二平方分量为1,该第二向量中为2的第二分量对应的第二平方分量为4,该第二向量中为4的第二分量对应的第二平方分量为16,该第二向量中为5的第二分量对应的第二平方分量为25,该第二向量中为3的第二分量对应的第二平方分量为9。
[0267]
在本技术实施例中,可以针对第二向量中的每个第二分量后,在确定该第二分量对应的第二平方分量后,将每个第二分量对应的第二平方分量按照预设的规则插入到第二向量中,并将插入第二平方分量后获得的向量更新为第二向量,具体的,针对每个第二分量对应的第二平方分量,可以将该第二分量对应的第二平方分量插入到第二向量中的任意位置,比如,将该第二分量对应的第二平方分量插入到第二向量中该第二分量的前面,或者将该第二分量对应的第二平方分量插入到该第二向量中该第二分量的后面,或者将第二平方分量按照顺序插入到第二分量的后面,只要保证第一设备和第二设备能够识别每个向量中的第二分量和第二平方分量即可。
[0268]
比如,若该第二向量为(1,2,4,5,3),在确定第二向量中各个第二分量的第二平方分量后,将第二平方分量插入到第二向量中,获得的更新后的第二向量为(1,9,2,16,4,4,5,25,1,3)。
[0269]
为了便于后续基于插入第二平方分量的第二向量确定加密后的第一向量和第二
向量的距离,在本技术实施例中,针对第二向量中的每个第二分量后,在确定该第二分量对应的第二平方分量后,还可以将每个第二分量对应的第二平方分量按照预设的插入规则插入到第二向量中,并将插入第二平方分量后获得的向量更新为第二向量,具体的,可以将该第二分量对应第二平方分量插入到该第二向量中该第二分量后面且与该第二分量相邻的位置。
[0270]
比如,若该第二向量为(1,2,4,5,3),在确定第二向量中各个第二分量的第二平方分量后,将第二平方分量插入到第二向量中,获得的更新后的第二向量为(1,1,2,4,4,16,5,25,3,9)。
[0271]
在确定更新后的第二向量后,为了确定第二加密向量,在本技术实施例中,可以基于该第一目标公钥对第二向量中的每个第二分量及每个第二平方分量分别进行同态加密,生成第二加密向量。
[0272]
比如,若更新后的第二向量为(2,4,3,9),则第二加密向量为(e
pka
(2),e
pka
(4),e
pka
(3),e
pka
(9)),其中,该e
pka
(2)表征基于目标公钥对第二向量中为2的第二分量进行同态加密后的结果,该e
pka
(4)表征基于目标公钥对第二向量中为4的第二分量进行同态加密后的结果,该e
pka
(3)表征基于目标公钥对第二向量中为3的第二分量进行同态加密后的结果,该e
pka
(9)表征基于目标公钥对第二向量中为9的第二分量进行同态加密后的结果。
[0273]
实施例18:
[0274]
为了获得基于第一加密向量和第二加密向量确定的第一向量和第二向量的目标距离,在上述各实施例的基础上,所述根据所述第一加密向量以及所述第二加密向量,确定加密后的所述第一向量和第二向量的距离包括:
[0275]
根据所述预设的插入规则及所述第二加密向量中的每个第二分量,获取每组第二加密分量和第二加密平方分量;并根据所述预设的插入规则及所述第一加密向量中的每个第一分量,获取每组第一加密分量和第一加密平方分量;
[0276]
根据所述预设的插入规则,确定对应的每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;
[0277]
根据每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,确定加密后的每个子距离;
[0278]
根据每个子距离的和值,确定加密后的所述第一向量和所述第二向量的距离。
[0279]
在本技术实施例中,为了确定加密后的第一向量和第二向量的距离,第二设备可以针对预设的插入规则及该第二加密向量中的每个第二分量,获取每组第二加密分量和第二加密平方分量,其中一组第二加密分量和第二加密平方分量中是对同一个分量本身和该分量的平方分量进行同态加密得到的。即每组第二加密分量和第二加密平方分量中,该第二加密平方分量为对该第二加密分量在加密前对应的第二分量对应的第二平方分量进行同态加密后获得的。
[0280]
具体的,若该预设的插入规则为将该第二分量对应的第二平方分量插入到该第二向量中该第二分量后面且与该第二分量相邻的位置。则在确定每组第二加密分量和第二加密分量时,可以直接从该第二向量的第一个分量开始,将待确定分组的分量与该第二向量中该待确定分组的分量的下一个与该待确定分组的分量确定为一组,依次进行划分,直至确定所有分组对应的第二加密分量和第二加密平方分量。
[0281]
比如,该第二加密向量为(e
pka
(2),e
pka
(4),e
pka
(3),e
pka
(9)),则可以获得两组第二加密分量和第二加密平方分量,其中第二组为e
pka
(2)、e
pka
(4),第二组为e
pka
(3)、e
pka
(9)。其中,第二组中的e
pka
(2)为该第二组中的第二加密分量,e
pka
(4)为该第二组中的第二加密平方分量,第二组中的e
pka
(3)为该第二组中的第二加密分量,e
pka
(9)为该第二组中的第二加密平方分量。
[0282]
在本技术实施例中,第二设备在获得第一设备发送的第一加密向量后,也可以针对预设的插入规则及该第一加密向量中的每个第一分量,获取每组第一加密分量和第一加密平方分量,其中,该获得第二向量时对应的预设的插入规则与获得第一向量时对应的预设的插入规则相同,且获得每组第二加密分量和第二加密平方分量的过程与获得每组第一加密分量和第一加密平方分量的过程相同,在此不做赘述。
[0283]
为了确定该加密后的第一向量与第二向量之间的距离,在本技术实施例中,可以根据每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,确定加密后的每个子距离,具体的,针对每组,可以先确定该组中第一加密平方向量,与第二加密平方分量的目标和值,然后确定该组中第一加密分量、第二加密分量以及预设的数值的目标乘积,其中,在本技术实施例中,该预设的数值为2,最后确定该目标和值与该目标乘积的目标差值,将该目标差值确定为该组确定的加密后的子距离。
[0284]
在确定每组的加密后的子距离后,可以根据每个子距离的和值,确定加密后的第一向量和第二向量的距离。
[0285]
实施例19:
[0286]
为了获得基于第一加密向量和第二加密向量确定的第一向量和第二向量的目标距离,在上述各实施例的基础上,所述基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配包括:
[0287]
确定所述目标距离是否小于预设的第一距离阈值;
[0288]
若是,则确定所述第一数据与所述第二数据匹配;
[0289]
否则,确定所述第一数据与所述第二数据不匹配。
[0290]
为了确定该第一数据以及该第二数据是否匹配,在本技术实施例中,将该目标距离以及预设的距离阈值进行比较,若该目标距离小于预设的第一距离阈值,则确定该第一数据以及该第二数据匹配,若该目标距离不小于预设的第一距离阈值,则确定该第一数据以及该第二数据不匹配。其中,该预设的第一距离阈值可以为1,可以为1.5等等,具体的,该预设的第一距离阈值可以根据需求进行设置。其中,该目标距离越小,该第一向量和第二向量越匹配。
[0291]
为了获得基于第一加密向量和第二加密向量确定的第一向量和第二向量的目标距离,在上述各实施例的基础上,所述确定所述第一数据与所述第二数据匹配之后,所述方法还包括:
[0292]
确定所述目标距离是否等于预设的第二距离阈值,若是,则确定所述第一数据与所述第二数据相同。
[0293]
在本技术实施例中,若该目标距离等于预设的第二距离阈值,则说明该第一数据与该第二数据相同,也就是说,该第一数据与该第二数据完全匹配,其中了,该预设的第二距离阈值小于该预设的第一距离阈值,且该预设的第二距离阈值等于0。
[0294]
实施例20:
[0295]
图8为本技术一些实施例提供的一种数据匹配装置结构示意图,该装置包括:
[0296]
第一获取模块801,用于将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得所述第一数据对应的第一向量;
[0297]
第一处理模块802,用于采用自身生成的第一目标公钥对所述第一向量进行同态加密生成第一加密向量,并将所述第一目标公钥发送给第二设备;
[0298]
所述第一获取模块801,还用于获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离,其中所述第二加密向量为采用所述第一目标公钥对所述第二向量进行同态加密后得到的;所述第二向量为将第二数据输入到所述第二设备中的预先训练完成的向量转化模型中获得的;
[0299]
第一确定模块803,用于基于所述加密后的所述第一向量和第二向量的距离及所述第一目标公钥对应的第一目标私钥,确定所述第一向量和所述第二向量的目标距离,基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0300]
在一种可能的实施方式中,所述第一获取模块801,具体用于确定所述第一数据对应的第一目标数据类型;根据所述第一目标数据类型以及预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定所述第一数据对应的预先训练完成的第一目标向量转化模型;将所述第一数据输入到所述预先训练完成的第一目标向量转化模型中,获得所述第一数据对应的所述第一向量。
[0301]
在一种可能的实施方式中,所述第一处理模块802,具体用于将所述第一加密向量以及所述第一目标公钥发送给所述第二设备;
[0302]
所述第一获取模块801,具体用于接收所述第二设备发送的基于所述第一加密向量和所述第二加密向量确定的加密后的所述第一向量和所述第二向量的距离,其中,所述第二加密向量为所述第二设备基于所述第一目标公钥对所述第二向量进行同态加密后得到的。
[0303]
在一种可能的实施方式中,所述第一处理模块802,还用于接收所述第二设备发送的第三加密向量以及所述第二设备生成的第二目标公钥;其中,所述第三加密向量为所述第二设备采用所述第二目标公钥对所述第二向量进行同态加密后得到的;基于所述第二目标公钥对所述第一向量进行同态加密生成第四加密向量;基于所述第三加密向量以及所述第四加密向量,确定加密后的所述第二向量和所述第一向量的距离,并将所述加密后的所述第二向量和所述第一向量的距离发送给所述第二设备,以使所述第二设备根据加密后的所述第二向量和所述第一向量的距离以及所述第二目标公钥对应的第二目标私钥,对所述加密后的所述第二向量和所述第一向量的距离进行解密,确定所述第二向量与所述第一向量的目标距离,并根据所述第二向量与所述第一向量的目标距离及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0304]
在一种可能的实施方式中,所述第一处理模块801,还用于将所述第一向量和所述第二向量的目标距离发送给所述第二设备,使所述第二设备基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0305]
在一种可能的实施方式中,所述第一获取模块801,具体用于采用第一设备自身生
成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一向量和第二向量的距离进行解密,确定所述第一向量和所述第二向量的目标距离。
[0306]
在一种可能的实施方式中,所述第一获取模块801,具体用于针对所述第一数据中的每个第一子数据,将该第一子数据输入到预先训练完成的向量转化模型中,获得该第一子数据对应的第一子向量;其中,每个第一子数据对应的第一子向量的长度均为第一预设长度;将所述每个第一子数据对应的第一子向量进行拼接,得到所述第一数据对应的所述第一向量。
[0307]
在一种可能的实施方式中,所述第一处理模块802,具体用于针对所述第一向量中的每个第一分量,确定该第一分量对应的第一平方分量;将每个第一分量对应的第一平方分量按照预设的插入规则插入到所述第一向量中,并将插入第一平方分量后获得的向量更新为所述第一向量;基于所述第一目标公钥对所述第一向量中的每个第一分量及每个第一平方分量分别进行同态加密,生成所述第一加密向量。
[0308]
在一种可能的实施方式中,所述第一获取模块801,具体用于根据所述预设的插入规则及所述第一加密向量中的每个第一分量,获取每组第一加密分量和第一加密平方分量;并根据所述预设的插入规则及所述第二加密向量中的每个第二分量,获取每组第二加密分量和第二加密平方分量;根据所述预设的插入规则,确定对应的每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;根据每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,确定加密后的每个子距离;根据每个子距离的和值,确定加密后的所述第一向量和所述第二向量的距离。
[0309]
在一种可能的实施方式中,所述第一确定模块803,具体用于确定所述目标距离是否小于预设的第一距离阈值;若是,则确定所述第一数据与所述第二数据匹配;否则,确定所述第一数据与所述第二数据不匹配。
[0310]
在一种可能的实施方式中,所述第一确定模块803,还用于确定所述目标距离是否等于预设的第二距离阈值,若是,则确定所述第一数据与所述第二数据相同。
[0311]
实施例21:
[0312]
图9为本技术一些实施例提供的一种数据匹配装置结构示意图,该装置包括:
[0313]
第二获取模块901,用于将待匹配的第二数据输入到预先训练完成的向量转化模型中,获得所述第二数据对应的第二向量;
[0314]
第二处理模块902,用于接收第一设备发送的第一目标公钥,采用所述第一目标公钥对所述第二向量进行同态加密生成第二加密向量;
[0315]
所述第二获取模块901,还用于获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离,其中,所述第一加密向量为采用所述第一目标公钥对所述第一向量加密后得到的,所述第一向量为将第一数据输入到所述第一设备中的预先训练完成的向量转化模型中获得的;
[0316]
第二确定模块903,用于基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0317]
在一种可能的实施方式中,所述第二获取模块901,具体用于确定所述第二数据对应的第二目标数据类型;根据所述第二目标数据类型以及预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定所述第二数据对应的预先训练完成的第二目标向量
转化模型;将所述第二数据输入到所述预先训练完成的第二目标向量转化模型中,获得所述第二数据对应的所述第二向量。
[0318]
在一种可能的实施方式中,所述第二处理模块902,具体用于接收所述第一设备发送的所述第一目标公钥以及所述第一加密向量,其中,所述第一加密向量为采用所述第一目标公钥对所述第一向量进行同态加密后得到的;
[0319]
所述第二获取模块901,具体用于根据所述第一加密向量以及所述第二加密向量,确定加密后的所述第一向量和第二向量的距离;将所述加密后的所述第一向量和第二向量的距离发送给所述第一设备;接收所述第一设备发送的所述目标距离,其中,所述目标距离为所述第一设备采用自身生成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一向量和第二向量的距离进行解密后得到的。
[0320]
在一种可能的实施方式中,所述第二获取模块901,具体用于向所述第一设备发送所述第二加密向量,以使所述第一设备基于所述第二加密向量以及所述第一加密向量,确定加密后的所述第一加密向量和所述第二加密向量的距离;接收所述第一设备发送的所述第一向量和第二向量的目标距离,其中,所述目标距离为所述第一设备基于自身生成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一加密向量和所述第二加密向量的距离解密得到的。
[0321]
在一种可能的实施方式中,所述第二获取模块901,具体用于采用自身生成的第二目标公钥对所述第二向量进行同态加密,获得第三加密向量,并将所述第二目标公钥以及所述第三加密向量发送给所述第一设备;接收所述第一设备发送的基于所述第三加密向量以及第四加密向量,确定加密后的所述第二向量和所述第一向量的距离,其中,所述第四加密向量为采用所述第二目标公钥对所述第一向量进行同态加密生成的;基于所述加密后的所述第一向量和第二向量的距离及所述第二目标公钥对应的第二目标私钥,确定所述第一向量和所述第二向量的目标距离,基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0322]
在一种可能的实施方式中,所述第二获取模块901,具体用于针对所述第二数据中的每个第二子数据,将该第二子数据输入到预先训练完成的向量转化模型中,获得该第二子数据对应的第二子向量;其中,每个第二子数据对应的第二子向量的长度均为第一预设长度;将所述每个第二子数据对应的第二子向量进行拼接,得到所述第二数据对应的所述第二向量。
[0323]
在一种可能的实施方式中,所述第二处理模块902,具体用于针对所述第二向量中的每个第二分量,确定该第二分量对应的第二平方分量;将每个第二分量对应的第二平方分量按照预设的插入规则插入到所述第二向量中,并将插入第二平方分量后获得的向量更新为所述第二向量;基于所述第一目标公钥对所述第二向量中的每个第二分量及每个第二平方分量分别进行同态加密,生成所述第二加密向量。
[0324]
在一种可能的实施方式中,所述第二获取模块901,具体用于根据所述预设的插入规则及所述第二加密向量中的每个第二分量,获取每组第二加密分量和第二加密平方分量;并根据所述预设的插入规则及所述第一加密向量中的每个第一分量,获取每组第一加密分量和第一加密平方分量;根据所述预设的插入规则,确定对应的每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;根据每组第一加密分量、第一加密平
方分量、第二加密分量和第二加密平方分量,确定加密后的每个子距离;根据每个子距离的和值,确定加密后的所述第一向量和所述第二向量的距离。
[0325]
在一种可能的实施方式中,所述第二确定模块903,具体用于确定所述目标距离是否小于预设的第一距离阈值;若是,则确定所述第一数据与所述第二数据匹配;否则,确定所述第一数据与所述第二数据不匹配。
[0326]
在一种可能的实施方式中,所述第二确定模块903,还用于确定所述目标距离是否等于预设的第二距离阈值,若是,则确定所述第一数据与所述第二数据相同。
[0327]
实施例22:
[0328]
在上述各实施例的基础上,本技术一些实施例还提供了一种电子设备,如图10所示,包括:处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。
[0329]
所述存储器1003中存储有计算机程序,当所述程序被所述处理器1001执行时,使得所述处理器1001执行如下步骤:
[0330]
将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得所述第一数据对应的第一向量;
[0331]
采用自身生成的第一目标公钥对所述第一向量进行同态加密生成第一加密向量,并将所述第一目标公钥发送给第二设备;
[0332]
获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离,其中所述第二加密向量为采用所述第一目标公钥对所述第二向量进行同态加密后得到的;所述第二向量为将第二数据输入到所述第二设备中的预先训练完成的向量转化模型中获得的;
[0333]
基于所述加密后的所述第一向量和第二向量的距离及所述第一目标公钥对应的第一目标私钥,确定所述第一向量和所述第二向量的目标距离,基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0334]
进一步地,所述处理器1001,还用于确定所述第一数据对应的第一目标数据类型;根据所述第一目标数据类型以及预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定所述第一数据对应的预先训练完成的第一目标向量转化模型;将所述第一数据输入到所述预先训练完成的第一目标向量转化模型中,获得所述第一数据对应的所述第一向量。
[0335]
进一步地,所述处理器1001,还用于接收所述第二设备发送的所述第二加密向量,其中,所述第二加密向量为所述第二设备基于所述第一目标公钥对所述第二向量进行同态加密后得到的;基于所述第一加密向量以及所述第二加密向量,确定加密后的所述第一向量和所述第二向量的距离。
[0336]
进一步地,所述处理器1001,还用于将所述第一加密向量以及所述第一目标公钥发送给所述第二设备;接收所述第二设备发送的基于所述第一加密向量和所述第二加密向量确定的加密后的所述第一向量和所述第二向量的距离,其中,所述第二加密向量为所述第二设备基于所述第一目标公钥对所述第二向量进行同态加密后得到的。
[0337]
进一步地,所述处理器1001,还用于接收所述第二设备发送的第三加密向量以及所述第二设备生成的第二目标公钥;其中,所述第三加密向量为所述第二设备采用所述第
二目标公钥对所述第二向量进行同态加密后得到的;基于所述第二目标公钥对所述第一向量进行同态加密生成第四加密向量;基于所述第三加密向量以及所述第四加密向量,确定加密后的所述第二向量和所述第一向量的距离,并将所述加密后的所述第二向量和所述第一向量的距离发送给所述第二设备,以使所述第二设备根据加密后的所述第二向量和所述第一向量的距离以及所述第二目标公钥对应的第二目标私钥,对所述加密后的所述第二向量和所述第一向量的距离进行解密,确定所述第二向量与所述第一向量的目标距离,并根据所述第二向量与所述第一向量的目标距离及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0338]
进一步地,所述处理器1001,还用于将所述第一向量和所述第二向量的目标距离发送给所述第二设备,使所述第二设备基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0339]
进一步地,所述处理器1001,还用于采用第一设备自身生成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一向量和第二向量的距离进行解密,确定所述第一向量和所述第二向量的目标距离。
[0340]
进一步地,所述处理器1001,还用于针对所述第一数据中的每个第一子数据,将该第一子数据输入到预先训练完成的向量转化模型中,获得该第一子数据对应的第一子向量;其中,每个第一子数据对应的第一子向量的长度均为第一预设长度;将所述每个第一子数据对应的第一子向量进行拼接,得到所述第一数据对应的所述第一向量。
[0341]
进一步地,所述处理器1001,还用于针对所述第一向量中的每个第一分量,确定该第一分量对应的第一平方分量;将每个第一分量对应的第一平方分量按照预设的插入规则插入到所述第一向量中,并将插入第一平方分量后获得的向量更新为所述第一向量;基于所述第一目标公钥对所述第一向量中的每个第一分量及每个第一平方分量分别进行同态加密,生成所述第一加密向量。
[0342]
进一步地,所述处理器1001,还用于根据所述预设的插入规则及所述第一加密向量中的每个第一分量,获取每组第一加密分量和第一加密平方分量;并根据所述预设的插入规则及所述第二加密向量中的每个第二分量,获取每组第二加密分量和第二加密平方分量;根据所述预设的插入规则,确定对应的每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;根据每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,确定加密后的每个子距离;根据每个子距离的和值,确定加密后的所述第一向量和所述第二向量的距离。
[0343]
进一步地,所述处理器1001,还用于确定所述目标距离是否小于预设的第一距离阈值;若是,则确定所述第一数据与所述第二数据匹配;否则,确定所述第一数据与所述第二数据不匹配。
[0344]
进一步地,所述处理器1001,还用于确定所述目标距离是否等于预设的第二距离阈值,若是,则确定所述第一数据与所述第二数据相同。
[0345]
上述服务器提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0346]
通信接口1002用于上述电子设备与其他设备之间的通信。
[0347]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0348]
上述处理器可以是通用处理器,包括中央处理器、网络处理器(network processor,np)等;还可以是数字指令处理器(digital signal processing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0349]
实施例23:
[0350]
在上述各实施例的基础上,本技术一些实施例还提供了一种电子设备,如图11所示,包括:处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信。
[0351]
所述存储器1103中存储有计算机程序,当所述程序被所述处理器1101执行时,使得所述处理器1101执行如下步骤:
[0352]
将待匹配的第二数据输入到预先训练完成的向量转化模型中,获得所述第二数据对应的第二向量;
[0353]
接收第一设备发送的第一目标公钥,采用所述第一目标公钥对所述第二向量进行同态加密生成第二加密向量;
[0354]
获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离,其中,所述第一加密向量为采用所述第一目标公钥对所述第一向量加密后得到的,所述第一向量为将第一数据输入到所述第一设备中的预先训练完成的向量转化模型中获得的;
[0355]
基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0356]
进一步地,所述处理器1101,还用于确定所述第二数据对应的第二目标数据类型;根据所述第二目标数据类型以及预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定所述第二数据对应的预先训练完成的第二目标向量转化模型;将所述第二数据输入到所述预先训练完成的第二目标向量转化模型中,获得所述第二数据对应的所述第二向量。
[0357]
进一步地,所述处理器1101,还用于接收所述第一设备发送的所述第一目标公钥以及所述第一加密向量,其中,所述第一加密向量为采用所述第一目标公钥对所述第一向量进行同态加密后得到的;根据所述第一加密向量以及所述第二加密向量,确定加密后的所述第一向量和第二向量的距离;将所述加密后的所述第一向量和第二向量的距离发送给所述第一设备;接收所述第一设备发送的所述目标距离,其中,所述目标距离为所述第一设备采用自身生成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一向量和第二向量的距离进行解密后得到的。
[0358]
进一步地,所述处理器1101,还用于向所述第一设备发送所述第二加密向量,以使所述第一设备基于所述第二加密向量以及所述第一加密向量,确定加密后的所述第一加密向量和所述第二加密向量的距离;接收所述第一设备发送的所述第一向量和第二向量的目
标距离,其中,所述目标距离为所述第一设备基于自身生成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一加密向量和所述第二加密向量的距离解密得到的。
[0359]
进一步地,所述处理器1101,还用于采用自身生成的第二目标公钥对所述第二向量进行同态加密,获得第三加密向量,并将所述第二目标公钥以及所述第三加密向量发送给所述第一设备;接收所述第一设备发送的基于所述第三加密向量以及第四加密向量,确定加密后的所述第二向量和所述第一向量的距离,其中,所述第四加密向量为采用所述第二目标公钥对所述第一向量进行同态加密生成的;基于所述加密后的所述第一向量和第二向量的距离及所述第二目标公钥对应的第二目标私钥,确定所述第一向量和所述第二向量的目标距离,基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0360]
进一步地,所述处理器1101,还用于针对所述第二数据中的每个第二子数据,将该第二子数据输入到预先训练完成的向量转化模型中,获得该第二子数据对应的第二子向量;其中,每个第二子数据对应的第二子向量的长度均为第一预设长度;将所述每个第二子数据对应的第二子向量进行拼接,得到所述第二数据对应的所述第二向量。
[0361]
进一步地,所述处理器1101,还用于针对所述第二向量中的每个第二分量,确定该第二分量对应的第二平方分量;将每个第二分量对应的第二平方分量按照预设的插入规则插入到所述第二向量中,并将插入第二平方分量后获得的向量更新为所述第二向量;基于所述第一目标公钥对所述第二向量中的每个第二分量及每个第二平方分量分别进行同态加密,生成所述第二加密向量。
[0362]
进一步地,所述处理器1101,还用于根据所述预设的插入规则及所述第二加密向量中的每个第二分量,获取每组第二加密分量和第二加密平方分量;并根据所述预设的插入规则及所述第一加密向量中的每个第一分量,获取每组第一加密分量和第一加密平方分量;根据所述预设的插入规则,确定对应的每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;根据每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,确定加密后的每个子距离;根据每个子距离的和值,确定加密后的所述第一向量和所述第二向量的距离。
[0363]
进一步地,所述处理器1101,还用于确定所述目标距离是否小于预设的第一距离阈值;若是,则确定所述第一数据与所述第二数据匹配;否则,确定所述第一数据与所述第二数据不匹配。
[0364]
进一步地,所述处理器1101,还用于确定所述目标距离是否等于预设的第二距离阈值,若是,则确定所述第一数据与所述第二数据相同。
[0365]
上述服务器提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0366]
通信接口1102用于上述电子设备与其他设备之间的通信。
[0367]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0368]
上述处理器可以是通用处理器,包括中央处理器、网络处理器(network processor,np)等;还可以是数字指令处理器(digital signal processing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0369]
实施例24:
[0370]
在上述各实施例的基础上,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
[0371]
将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得所述第一数据对应的第一向量;
[0372]
采用自身生成的第一目标公钥对所述第一向量进行同态加密生成第一加密向量,并将所述第一目标公钥发送给第二设备;
[0373]
获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离,其中所述第二加密向量为采用所述第一目标公钥对所述第二向量进行同态加密后得到的;所述第二向量为将第二数据输入到所述第二设备中的预先训练完成的向量转化模型中获得的;
[0374]
基于所述加密后的所述第一向量和第二向量的距离及所述第一目标公钥对应的第一目标私钥,确定所述第一向量和所述第二向量的目标距离,基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0375]
进一步地,所述将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得所述第一数据对应的第一向量包括:
[0376]
确定所述第一数据对应的第一目标数据类型;
[0377]
根据所述第一目标数据类型以及预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定所述第一数据对应的预先训练完成的第一目标向量转化模型;
[0378]
将所述第一数据输入到所述预先训练完成的第一目标向量转化模型中,获得所述第一数据对应的所述第一向量。
[0379]
进一步地,所述第一目标数据类型为文本类型或数字类型。
[0380]
进一步地,若所述第一目标数据类型为文本类型,对应的预先训练完成的第一目标向量转化模型为词向量模型或句向量模型;若所述第一目标数据类型为数字类型,对应的预先训练完成的第一目标向量转化模型为独热编码模型。
[0381]
进一步地,所述获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离包括:
[0382]
接收所述第二设备发送的所述第二加密向量,其中,所述第二加密向量为所述第二设备基于所述第一目标公钥对所述第二向量进行同态加密后得到的;基于所述第一加密向量以及所述第二加密向量,确定加密后的所述第一向量和所述第二向量的距离。
[0383]
进一步地,所述将所述第一目标公钥发送给第二设备包括:
[0384]
将所述第一加密向量以及所述第一目标公钥发送给所述第二设备;
[0385]
所述获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离包括:
[0386]
接收所述第二设备发送的基于所述第一加密向量和所述第二加密向量确定的加密后的所述第一向量和所述第二向量的距离,其中,所述第二加密向量为所述第二设备基于所述第一目标公钥对所述第二向量进行同态加密后得到的。
[0387]
进一步地,所述方法还包括:
[0388]
接收所述第二设备发送的第三加密向量以及所述第二设备生成的第二目标公钥;其中,所述第三加密向量为所述第二设备采用所述第二目标公钥对所述第二向量进行同态加密后得到的;
[0389]
基于所述第二目标公钥对所述第一向量进行同态加密生成第四加密向量;
[0390]
基于所述第三加密向量以及所述第四加密向量,确定加密后的所述第二向量和所述第一向量的距离,并将所述加密后的所述第二向量和所述第一向量的距离发送给所述第二设备,以使所述第二设备根据加密后的所述第二向量和所述第一向量的距离以及所述第二目标公钥对应的第二目标私钥,对所述加密后的所述第二向量和所述第一向量的距离进行解密,确定所述第二向量与所述第一向量的目标距离,并根据所述第二向量与所述第一向量的目标距离及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0391]
进一步地,所述确定所述第一向量和所述第二向量的目标距离之后,所述方法还包括:
[0392]
将所述第一向量和所述第二向量的目标距离发送给所述第二设备,使所述第二设备基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0393]
进一步地,所述基于所述加密后的所述第一向量和第二向量的距离及所述第一目标公钥对应的第一目标私钥,确定所述第一向量和第二向量的目标距离包括:
[0394]
采用第一设备自身生成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一向量和第二向量的距离进行解密,确定所述第一向量和所述第二向量的目标距离。
[0395]
进一步地,所述将待匹配的第一数据输入到预先训练完成的向量转化模型中,获得所述第一数据对应的第一向量包括:
[0396]
针对所述第一数据中的每个第一子数据,将该第一子数据输入到预先训练完成的向量转化模型中,获得该第一子数据对应的第一子向量;其中,每个第一子数据对应的第一子向量的长度均为第一预设长度;
[0397]
将所述每个第一子数据对应的第一子向量进行拼接,得到所述第一数据对应的所述第一向量。
[0398]
进一步地,所述第一向量和所述第二向量的长度均为第二预设长度。
[0399]
进一步地,所述采用自身生成的第一目标公钥对所述第一向量进行同态加密生成第一加密向量包括:
[0400]
针对所述第一向量中的每个第一分量,确定该第一分量对应的第一平方分量;
[0401]
将每个第一分量对应的第一平方分量按照预设的插入规则插入到所述第一向量中,并将插入第一平方分量后获得的向量更新为所述第一向量;
[0402]
基于所述第一目标公钥对所述第一向量中的每个第一分量及每个第一平方分量分别进行同态加密,生成所述第一加密向量。
[0403]
进一步地,所述获取基于所述第一加密向量和第二加密向量确定的加密后的所述第一向量和第二向量的距离包括:
[0404]
根据所述预设的插入规则及所述第一加密向量中的每个第一分量,获取每组第一加密分量和第一加密平方分量;并根据所述预设的插入规则及所述第二加密向量中的每个第二分量,获取每组第二加密分量和第二加密平方分量;
[0405]
根据所述预设的插入规则,确定对应的每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;
[0406]
根据每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,确定加密后的每个子距离;
[0407]
根据每个子距离的和值,确定加密后的所述第一向量和所述第二向量的距离。
[0408]
进一步地,所述基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配包括:
[0409]
确定所述目标距离是否小于预设的第一距离阈值;
[0410]
若是,则确定所述第一数据与所述第二数据匹配;
[0411]
否则,确定所述第一数据与所述第二数据不匹配。
[0412]
进一步地,所述确定所述第一数据与所述第二数据匹配之后,所述方法还包括:
[0413]
确定所述目标距离是否等于预设的第二距离阈值,若是,则确定所述第一数据与所述第二数据相同。
[0414]
实施例25:
[0415]
在上述各实施例的基础上,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
[0416]
将待匹配的第二数据输入到预先训练完成的向量转化模型中,获得所述第二数据对应的第二向量;
[0417]
接收第一设备发送的第一目标公钥,采用所述第一目标公钥对所述第二向量进行同态加密生成第二加密向量;
[0418]
获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离,其中,所述第一加密向量为采用所述第一目标公钥对所述第一向量加密后得到的,所述第一向量为将第一数据输入到所述第一设备中的预先训练完成的向量转化模型中获得的;
[0419]
基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0420]
进一步地,所述将待匹配的第二数据输入到预先训练完成的向量转化模型中,获得所述第二数据对应的第二向量包括:
[0421]
确定所述第二数据对应的第二目标数据类型;
[0422]
根据所述第二目标数据类型以及预先保存的数据类型和预先训练完成的向量转化模型的对应关系,确定所述第二数据对应的预先训练完成的第二目标向量转化模型;
[0423]
将所述第二数据输入到所述预先训练完成的第二目标向量转化模型中,获得所述第二数据对应的所述第二向量。
[0424]
进一步地,所述第二目标数据类型为文本类型或数字类型。
[0425]
进一步地,若所述第二目标数据类型为文本类型,对应的预先训练完成的第二目标向量转化模型为词向量模型或句向量模型;若所述第二目标数据类型为数字类型,对应的预先训练完成的第二目标向量转化模型为独热编码模型。
[0426]
进一步地,所述接收第一设备发送的第一目标公钥包括:
[0427]
接收所述第一设备发送的所述第一目标公钥以及所述第一加密向量,其中,所述第一加密向量为采用所述第一目标公钥对所述第一向量进行同态加密后得到的;
[0428]
所述获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离包括:
[0429]
根据所述第一加密向量以及所述第二加密向量,确定加密后的所述第一向量和第二向量的距离;
[0430]
将所述加密后的所述第一向量和第二向量的距离发送给所述第一设备;
[0431]
接收所述第一设备发送的所述目标距离,其中,所述目标距离为所述第一设备采用自身生成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一向量和第二向量的距离进行解密后得到的。
[0432]
进一步地,所述获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离包括:
[0433]
向所述第一设备发送所述第二加密向量,以使所述第一设备基于所述第二加密向量以及所述第一加密向量,确定加密后的所述第一加密向量和所述第二加密向量的距离;
[0434]
接收所述第一设备发送的所述第一向量和第二向量的目标距离,其中,所述目标距离为所述第一设备基于自身生成的所述第一目标公钥对应的第一目标私钥对所述加密后的所述第一加密向量和所述第二加密向量的距离解密得到的。
[0435]
进一步地,所述获取基于第一加密向量和所述第二加密向量确定的第一向量和所述第二向量的目标距离包括:
[0436]
采用自身生成的第二目标公钥对所述第二向量进行同态加密,获得第三加密向量,并将所述第二目标公钥以及所述第三加密向量发送给所述第一设备;
[0437]
接收所述第一设备发送的基于所述第三加密向量以及第四加密向量,确定加密后的所述第二向量和所述第一向量的距离,其中,所述第四加密向量为采用所述第二目标公钥对所述第一向量进行同态加密生成的;
[0438]
基于所述加密后的所述第一向量和第二向量的距离及所述第二目标公钥对应的第二目标私钥,确定所述第一向量和所述第二向量的目标距离,基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配。
[0439]
进一步地,所述将待匹配的第二数据输入到预先训练完成的向量转化模型中,获得所述第二数据对应的第二向量包括:
[0440]
针对所述第二数据中的每个第二子数据,将该第二子数据输入到预先训练完成的向量转化模型中,获得该第二子数据对应的第二子向量;其中,每个第二子数据对应的第二子向量的长度均为第一预设长度;
[0441]
将所述每个第二子数据对应的第二子向量进行拼接,得到所述第二数据对应的所述第二向量。
[0442]
进一步地,所述第一向量和所述第二向量的长度均为第二预设长度。
[0443]
进一步地,所述采用所述第一目标公钥对所述第二向量进行同态加密生成第二加密向量包括:
[0444]
针对所述第二向量中的每个第二分量,确定该第二分量对应的第二平方分量;
[0445]
将每个第二分量对应的第二平方分量按照预设的插入规则插入到所述第二向量中,并将插入第二平方分量后获得的向量更新为所述第二向量;
[0446]
基于所述第一目标公钥对所述第二向量中的每个第二分量及每个第二平方分量分别进行同态加密,生成所述第二加密向量。
[0447]
进一步地,所述根据所述第一加密向量以及所述第二加密向量,确定加密后的所述第一向量和第二向量的距离包括:
[0448]
根据所述预设的插入规则及所述第二加密向量中的每个第二分量,获取每组第二加密分量和第二加密平方分量;并根据所述预设的插入规则及所述第一加密向量中的每个第一分量,获取每组第一加密分量和第一加密平方分量;
[0449]
根据所述预设的插入规则,确定对应的每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量;
[0450]
根据每组第一加密分量、第一加密平方分量、第二加密分量和第二加密平方分量,确定加密后的每个子距离;
[0451]
根据每个子距离的和值,确定加密后的所述第一向量和所述第二向量的距离。
[0452]
进一步地,所述基于所述目标距离以及预设的第一距离阈值,确定所述第一数据以及所述第二数据是否匹配包括:
[0453]
确定所述目标距离是否小于预设的第一距离阈值;
[0454]
若是,则确定所述第一数据与所述第二数据匹配;
[0455]
否则,确定所述第一数据与所述第二数据不匹配。
[0456]
进一步地,所述确定所述第一数据与所述第二数据匹配之后,所述方法还包括:
[0457]
确定所述目标距离是否等于预设的第二距离阈值,若是,则确定所述第一数据与所述第二数据相同。
[0458]
由于在本技术实施例中,分别将待匹配的第一数据和第二数据输入到预先训练完成的向量转化模型中,获得该第一数据对应的第一向量以及第二数据对应的第二向量,并基于第一目标公钥获取该第一向量加密后的第一加密向量,以及该第二向量加密后的第二加密向量,并确定加密后的第一向量和第二向量的距离,并基于加密后的第一向量和第二向量的距离以及自身生成的第一目标私钥,确定第一向量和第二向量的目标距离,基于该目标距离以及预设的第一距离阈值确定第一数据和第二数据是否匹配,即实现了第一数据和第二数据不完全相同时,也能实现第一数据和第二数据的模糊匹配,拓宽了使用场景,且在进行模糊匹配过程中引入了第一目标公钥和第一目标私钥分别进行同态加密和解密,实现了安全求交,保证了匹配过程的安全性,且整个匹配的过程中,第一数据以及第二数据均未离开以原始数据的形式离开过对应的第一设备以及第二设备,实现了原始数据不出库也能实现模糊匹配,进一步保证了匹配过程的安全性。
[0459]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0460]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0461]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0462]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0463]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献