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

数据对齐方法、系统、电子装置及存储介质与流程

2022-06-11 23:00:06 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种数据对齐方法、系统、电子装置及计算机可读存储介质。


背景技术:

2.鉴于数据隐私的重要性,国内外对于数据的保护意识逐步加强。联邦学习的本质是基于数据隐私保护一种分布式机器学习技术或机器学习框架,它的目标是在保证数据隐私安全及合法合规的基础上,在模型无损的前提实现共同建模,提升ai模型的效果,进行业务的赋能。联邦学习系统中用于模型训练的数据通常是用户的敏感数据,在对数据隐私保护越来越重视的当下,数据使用监管越来越趋向严格的情况下如何通过联邦学习技术连接数据孤岛,在各机构间进行安全有效快速的数据对齐融合成为急需解决的技术问题。
3.常规的数据融合方法通过一条一条地数据对比,当集合里面的数据量非常大的时候,这个时候常规的数据对齐融合方法的问题就凸显出来了,对齐的速度会随着对齐数据量的增加而成倍增加,而通过布隆过滤器来对齐数据,用内存少,插入和查询速度快,时间复杂度都为o(k),与集合中元素的多少无关,会大大提高对齐的速度。本发明在满足数据隐私、安全和监管的前提下,数据合作各方可以快速、准确、安全地共同使用各自的数据进行对齐融合,帮助企业保护自己数据的同时,获得更加精准的用户数据以支撑业务的持续优化。


技术实现要素:

4.鉴于以上内容,有必要提供一种数据对齐方法,用于在保障满足数据安全的前提下提高数据对齐的速度和效率。
5.为实现上述目的,本发明提供一种数据对齐方法,应用于数据提供端,包括:
6.生成包含公钥和私钥的密钥对,将待对齐数据进行hash处理,将处理后的数据通过所述私钥生成布隆过滤器二进制文件,并将所述公钥及所述布隆过滤器二进制文件发送至数据对齐端;
7.接收所述数据对齐端将数据对齐样本进行hash处理后通过所述公钥进行加密得到的第一加密数据;
8.将所述第一加密数据通过所述私钥进行对齐加密得到第二加密数据,将所述第二加密数据发送至所述数据对齐端;
9.接收所述数据对齐端返回的对齐数据,所述对齐数据由所述数据对齐端对所述第二加密数据进行解密得到的第三加密数据与所述布隆过滤器二进制文件进行碰撞得到。
10.可选地,所述待对齐数据包含多个样本标识,所述将待对齐数据进行hash处理,将处理后的数据通过所述私钥生成布隆过滤器二进制文件包括:
11.根据所述待对齐数据的样本标识的值计算得到hash值;
12.根据所述待对齐数据的行数生成对应大小的布隆过滤器;
13.根据所述私钥对所述待对齐数据的hash值进行加密并插入所述布隆过滤器得到布隆过滤器二进制文件。
14.此外,为实现上述目的,本发明还提供一种数据对齐方法,应用于数据对齐端,包括:
15.接收数据提供端发送的公钥及布隆过滤器二进制文件,所述布隆过滤器二进制文件由所述数据提供端将待对齐数据进行hash处理后通过与所述公钥在同一密钥对的私钥加密生成;
16.对数据对齐样本进行hash处理,将处理后的数据通过所述公钥进行加密得到第一加密数据,将所述第一加密数据发送至所述数据提供端;
17.接收所述数据提供端将所述第一加密数据通过所述私钥进行对齐加密得到的第二加密数据;
18.对所述第二加密数据进行解密得到第三加密数据,将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据,并将所述对齐数据发送至所述数据提供端。
19.可选地,对数据对齐样本进行hash处理,将处理后的数据通过所述公钥进行加密得到第一加密数据包括:
20.筛选出数据对齐样本中与所述数据提供端的待对齐数据具有共同标识的数据列;
21.基于所述数据提供端计算待对齐数据对应的hash值的计算公式,对筛选出的数据列进行计算得到所述数据对齐端的数据对齐样本对应的hash值;
22.根据数据对齐样本的数据行数生成对应数量的第一随机数;
23.根据所述第一随机数计算生成第二随机数;
24.根据所述公钥对所述第一随机数计算得到第三随机数;
25.基于所述第三随机数对数据对齐样本的hash值进行计算得到第一加密数据。
26.可选地,将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据包括:
27.获取所述布隆过滤器二进制文件中包含第三加密数据的数据行,并将所述数据行存储为对齐数据。
28.可选地,当所述数据提供端的数量不小于二时,将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据,并将所述对齐数据发送至数据提供端包括:
29.获取各个布隆过滤器二进制文件中包含第三加密数据的数据行,并分别存储为对应的数据表;
30.将所有数据表根据index数据列取交集得到各个数据表对应的对齐数据;
31.将各个对齐数据分别发送至对应的所述数据提供端。
32.此外,为实现上述目的,本发明还提供一种数据对齐系统,该系统包括:
33.数据提供端:用于生成包含公钥和私钥的密钥对,将待对齐数据进行hash处理,将处理后的数据通过所述私钥生成布隆过滤器二进制文件,并将所述公钥及所述布隆过滤器二进制文件发送至数据对齐端;接收所述数据对齐端将数据对齐样本进行hash处理后通过所述公钥进行加密得到的第一加密数据;将所述第一加密数据通过所述私钥进行对齐加密得到第二加密数据,将所述第二加密数据发送至所述数据对齐端;接收所述数据对齐端返回的对齐数据,所述对齐数据由所述数据对齐端对所述第二加密数据进行解密得到的第三
加密数据与所述布隆过滤器二进制文件进行碰撞得到;
34.数据对齐端:用于接收数据提供端发送的公钥及布隆过滤器二进制文件,所述布隆过滤器二进制文件由所述数据提供端将待对齐数据进行hash处理后通过与所述公钥在同一密钥对的私钥加密生成;对数据对齐样本进行hash处理,将处理后的数据通过所述公钥进行加密得到第一加密数据,将所述第一加密数据发送至所述数据提供端;接收所述数据提供端将所述第一加密数据通过所述私钥进行对齐加密得到的第二加密数据;对所述第二加密数据进行解密得到第三加密数据,将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据,并将所述对齐数据发送至所述数据提供端。
35.此外,为实现上述目的,本发明还提供一种电子装置,应用于数据提供端,该电子装置包括:存储器、处理器,所述处理器与所述存储器电连接,所述存储器上存储有可在所述处理器上运行的数据提供端对齐程序,所述数据提供端对齐程序被所述处理器执行时实现如上所述的应用于数据提供端的数据对齐方法。
36.此外,为实现上述目的,本发明还提供一种电子装置,应用于数据对齐端,该电子装置包括:存储器、处理器,所述处理器与所述存储器电连接,所述存储器上存储有可在所述处理器上运行的数据对齐端对齐程序,所述数据对齐端对齐程序被所述处理器执行时实现如上所述的应用于数据对齐端的数据对齐方法。
37.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据对齐程序,所述数据对齐程序可被一个或者多个处理器执行,以实现如上所述的数据对齐方法。
附图说明
38.图1为本发明数据对齐方法第一实施例的流程图;
39.图2为本发明数据对齐方法第二实施例的流程图;
40.图3为本发明电子装置第一实施例的示意图;
41.图4为本发明电子装置第二实施例的示意图;
42.图5为本发明数据对齐系统第一实施例的示意图;
43.图6为本发明数据对齐系统第二实施例的示意图。
44.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
45.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求
的保护范围之内。
47.如图1所示,为本发明数据对齐方法第一实施例的流程图,该数据对齐方法应用于数据提供端,包括步骤s11-s14。
48.s11、生成包含公钥和私钥的密钥对,将待对齐数据进行hash处理,将处理后的数据通过所述私钥生成布隆过滤器二进制文件,并将所述公钥及所述布隆过滤器二进制文件发送至数据对齐端。
49.具体地,所述待对齐数据包含多个样本标识,所述将待对齐数据进行hash处理包括:根据所述待对齐数据的样本标识的值计算得到hash值。
50.在一实施例中,数据提供端的待对齐数据包含样本标识tel和cnid对应的值组成的数据列,以及索引数据列index,例如:
51.indextelcnid1139222222224******22139333333334******33139444444444******4
………
100000159111111115******3
52.其中,hash值计算公式如下:
53.hash=md5(tel) sha256(cnid)
54.上述例子计算结果如下:
55.indexhash1md5(13922222222) sha256(4******2)2md5(13933333333) sha256(4******3)3md5(13944444444) sha256(4******4)
……
100000md5(15911111111) sha256(5******3)
56.具体地,所述将处理后的数据通过所述私钥生成布隆过滤器二进制文件包括:根据待对齐数据的行数生成对应大小的布隆过滤器,通过所述私钥对待对齐数据的hash值进行加密并插入所述布隆过滤器得到布隆过滤器二进制文件。所述hash加密计算公式为(hash)
d mod n,其中d和n为数据提供端生成的rsa私钥。
57.s12、接收所述数据对齐端将数据对齐样本进行hash处理后通过所述公钥进行加密得到的第一加密数据。
58.具体地,数据对齐端将数据对齐样本进行hash处理包括:数据对齐端筛选出数据对齐样本中与数据提供端待对齐数据具有共同标识数据列;基于数据提供端计算待对齐数据对应的hash值的计算公式,对筛选出的数据列进行计算得到该数据提供端对应的数据对齐样本hash值。
59.例如:数据提供端的待对齐数据包含样本标识tel和cnid,其hash值计算公式为:hash=md5(tel) sha256(cnid),数据对齐端的数据对齐样本如下:
60.indextelcnidname
1139111111114******1赵**2139222222224******2钱**3139333333334******3张**
61.筛选出数据对齐样本中样本标识tel和cnid对应的数据列,计算hash=md5(tel) sha256(cnid)如下:
62.indexhash1md5(13911111111) sha256(4******1)2md5(13922222222) sha256(4******2)3md5(13933333333) sha256(4******3)
63.具体地,数据对齐端将处理后的数据通过所述公钥进行加密得到第一加密数据包括:所述数据对齐端根据数据对齐样本的数据行数生成对应数量的第一随机数r1,r2...ri;根据所述第一随机数计算生成第二随机数rr1,rr2...rri;根据公钥对所述第一随机数计算得到第三随机数r1’
,r2’
...r
i’;所述数据对齐端基于所述第三随机数对数据对齐样本的hash值进行计算得到第一加密数据α。
64.具体地,根据所述第一随机数计算生成第二随机数的公式为rri=r
i-1
mod n;
65.根据公钥对所述第一随机数计算得到第三随机数的公式为r
i’=r
ie mod n,其中e和n为数据提供端生成的rsa公钥;
66.基于所述第三随机数对数据对齐样本的hash值进行计算得到第一加密数据的公式为α=hash
×ri’mod n。
67.s13、将所述第一加密数据通过所述私钥进行对齐加密得到第二加密数据,将所述第二加密数据发送至所述数据对齐端。
68.具体地,所述第二加密数据β的计算公式为β=α
d mod n。
69.在一实施例中,当参与数据对齐融合的数据提供端数量不小于二时,各数据提供端根据待对齐数据样本标识的值采用md5和/或sha算法计算对应的hash值。例如:第一数据提供端的待对齐数据包含样本标识a1和a2,其hash值计算公式为:hash=md5(a1) sha256(a2);第二数据提供端的待对齐数据包含样本标识a1和a3,其hash值计算公式为:hash=md5(a1) md5(a3);第三数据提供端的待对齐数据包含样本标识a1、a2和a3,其hash值计算公式为:hash=md5(a1) sha256(a2) md5(a3)。
70.s14、接收所述数据对齐端返回的对齐数据,所述对齐数据由所述数据对齐端对所述第二加密数据进行解密得到的第三加密数据与所述布隆过滤器二进制文件进行碰撞得到。
71.具体地,所述数据对齐端对所述第二加密数据β进行解密得到第三加密数据γ的公式为γ=(β
×
rri)mod n。
72.具体地,所述数据对齐端将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据包括:获取所述布隆过滤器二进制文件中包含第三加密数据γ的数据行,并将所述数据行存储为对齐数据γs。
73.具体地,当参与数据对齐融合的数据提供端数量不小于二时,所述数据对齐端将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据,并将所述对齐数据发送至数据提供端包括:
74.获取各个布隆过滤器二进制文件中包含第三加密数据γ的数据行,并分别存储为数据表γs1,γs2,...,γsn;
75.将所有数据表γs1,γs2,...,γsn根据index列取交集得到各个数据表对应的对齐数据γ
s1’
,γ
s2’
,...,γsn’;
76.将对齐数据γ
s1’
,γ
s2’
,...,γsn’分别发送至对应的数据提供端。
77.如图2所示,为本发明数据对齐方法第二实施例的流程图,该数据对齐方法应用于数据对齐端,包括步骤s21-s24。
78.s21、接收数据提供端发送的公钥及布隆过滤器二进制文件,所述布隆过滤器二进制文件由所述数据提供端将待对齐数据进行hash处理后通过与所述公钥在同一密钥对的私钥加密生成。
79.具体地,所述待对齐数据包含多个样本标识,所述数据提供端将待对齐数据进行hash处理包括:根据所述待对齐数据的样本标识的值计算得到hash值。
80.在一实施例中,数据提供端的待对齐数据包含样本标识tel和cnid对应的值组成的数据列,以及索引数据列index,例如:
81.indextelcnid1139222222224******22139333333334******33139444444444******4
………
100000159111111115******3
82.其中,hash值计算公式如下:
83.hash=md5(tel) sha256(cnid)
84.上述例子计算结果如下:
85.indexhash1md5(13922222222) sha256(4******2)2md5(13933333333) sha256(4******3)3md5(13944444444) sha256(4******4)
……
100000md5(15911111111) sha256(5******3)
86.具体地,所述数据提供端将处理后的数据通过所述私钥生成布隆过滤器二进制文件包括:根据待对齐数据的行数生成对应大小的布隆过滤器,通过所述私钥对待对齐数据的hash值进行加密并插入所述布隆过滤器得到布隆过滤器二进制文件。所述hash加密计算公式为(hash)
d mod n,其中d和n为数据提供端生成的rsa私钥。
87.s22、对数据对齐样本进行hash处理,将处理后的数据通过所述公钥进行加密得到第一加密数据,将所述第一加密数据发送至所述数据提供端。
88.具体地,对数据对齐样本进行hash处理包括:数据对齐端筛选出数据对齐样本中与数据提供端待对齐数据具有共同标识数据列;基于数据提供端计算待对齐数据对应的hash值的计算公式,对筛选出的数据列进行计算得到该数据提供端对应的数据对齐样本hash值。
89.例如:数据提供端的待对齐数据包含样本标识tel和cnid,其hash值计算公式为:hash=md5(tel) sha256(cnid),数据对齐端的数据对齐样本如下:
90.indextelcnidname1139111111114******1赵**2139222222224******2钱**3139333333334******3张**
91.筛选出数据对齐样本中样本标识tel和cnid对应的数据列,计算hash=
92.md5(tel) sha256(cnid)如下:
93.indexhash1md5(13911111111) sha256(4******1)2md5(13922222222) sha256(4******2)3md5(13933333333) sha256(4******3)
94.具体地,数据对齐端将处理后的数据通过所述公钥进行加密得到第一加密数据包括:所述数据对齐端根据数据对齐样本的数据行数生成对应数量的第一随机数r1,r2...ri;根据所述第一随机数计算生成第二随机数rr1,rr2...rri;根据公钥对所述第一随机数计算得到第三随机数r1’
,r2’
...r
i’;所述数据对齐端基于所述第三随机数对数据对齐样本的hash值进行计算得到第一加密数据α。
95.具体地,根据所述第一随机数计算生成第二随机数的公式为rri=r
i-1
mod n;
96.根据公钥对所述第一随机数计算得到第三随机数的公式为r
i’=r
ie mod n,其中e和n为数据提供端生成的rsa公钥;
97.基于所述第三随机数对数据对齐样本的hash值进行计算得到第一加密数据的公式为α=hash
×ri’mod n。
98.s23、接收所述数据提供端将所述第一加密数据通过所述私钥进行对齐加密得到的第二加密数据。
99.具体地,所述第二加密数据β的计算公式为β=α
d mod n。
100.在一实施例中,当参与数据对齐融合的数据提供端数量不小于二时,各数据提供端根据待对齐数据样本标识的值采用md5和/或sha算法计算对应的hash值。例如:第一数据提供端的待对齐数据包含样本标识a1和a2,其hash值计算公式为:hash=md5(a1) sha256(a2);第二数据提供端的待对齐数据包含样本标识a1和a3,其hash值计算公式为:hash=md5(a1) md5(a3);第三数据提供端的待对齐数据包含样本标识a1、a2和a3,其hash值计算公式为:hash=md5(a1) sha256(a2) md5(a3)。
101.s24、对所述第二加密数据进行解密得到第三加密数据,将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据,并将所述对齐数据发送至所述数据提供端。
102.具体地,所述数据对齐端对所述第二加密数据β进行解密得到第三加密数据γ的公式为γ=(β
×
rri)mod n。
103.具体地,所述数据对齐端将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据包括:获取所述布隆过滤器二进制文件中包含第三加密数据γ的数据行,并将所述数据行存储为对齐数据γs。
104.具体地,当参与数据对齐融合的数据提供端数量不小于二时,所述数据对齐端将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据,并将所述对齐数据发送至数据提供端包括:
105.获取各个布隆过滤器二进制文件中包含第三加密数据γ的数据行,并分别存储为数据表γs1,γs2,...,γsn;
106.将所有数据表γs1,γs2,...,γsn根据index列取交集得到各个数据表对应的对齐数据γ
s1’
,γ
s2’
,...,γsn’;
107.将对齐数据γ
s1’
,γ
s2’
,...,γsn’分别发送至对应的数据提供端。
108.由上述实施例可知,本发明提出的数据对齐方法,基于md5/sha/rsa加密技术以及布隆过滤器的结合使用,在满足数据隐私、安全和监管的前提下大大提高了数据对齐的速度和效率,数据合作各方可以快速、准确、安全地共同使用各自的数据进行对齐融合。
109.如图3所示,为本发明电子装置第一实施例的示意图。电子装置1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述电子装置1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
110.在本实施例中,电子装置1包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,该存储器11中存储有数据提供端对齐程序10,所述数据提供端对齐程序10可被所述处理器12执行。图3仅示出了具有组件11-13以及数据提供端对齐程序10的电子装置1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
111.其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子装置1的运行提供缓存;可读存储介质可以是易失性的,也可以是非易失性的。具体的,可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等的存储介质。在一些实施例中,可读存储介质可以是电子装置1的内部存储单元,例如该电子装置1的硬盘;在另一些实施例中,该存储介质也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。本实施例中,存储器11的可读存储介质主要包括存储程序区和存储数据区,其中,存储程序区通常用于存储安装于电子装置1的操作系统和各类应用软件,例如存储本发明一实施例中的数据提供端对齐程序10的代码等;存储数据区可存储根据区块链节点的使用所创建的数据等,例如已经输出或者将要输出的各类数据。
112.处理器12在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子装置1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行数据提供端对齐程序10等。
113.网络接口13可包括无线网络接口或有线网络接口,该网络接口13用于在所述电子
装置1与客户端(图中未画出)之间建立通信连接。
114.可选的,所述电子装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
115.在本发明的一实施例中,所述数据提供端对齐程序10被所述处理器12执行时实现如下步骤s11-s14。
116.s11、生成包含公钥和私钥的密钥对,将待对齐数据进行hash处理,将处理后的数据通过所述私钥生成布隆过滤器二进制文件,并将所述公钥及所述布隆过滤器二进制文件发送至数据对齐端。
117.s12、接收所述数据对齐端将数据对齐样本进行hash处理后通过所述公钥进行加密得到的第一加密数据。
118.s13、将所述第一加密数据通过所述私钥进行对齐加密得到第二加密数据,将所述第二加密数据发送至所述数据对齐端。
119.s14、接收所述数据对齐端返回的对齐数据,所述对齐数据由所述数据对齐端对所述第二加密数据进行解密得到的第三加密数据与所述布隆过滤器二进制文件进行碰撞得到。
120.上述步骤s11-s14所实现的具体操作步骤与本发明数据对齐方法第一实施例大体相同,在此不再赘述。
121.在其他实施例中,数据提供端对齐程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述数据提供端对齐程序10在电子装置1中的执行过程。
122.如图4所示,为本发明电子装置第二实施例的示意图。电子装置2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述电子装置2可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
123.在本实施例中,电子装置2包括,但不仅限于,可通过系统总线相互通信连接的存储器21、处理器22、网络接口23,该存储器21中存储有数据对齐端对齐程序20,所述数据对齐端对齐程序20可被所述处理器22执行。图4仅示出了具有组件21-23以及数据对齐端对齐程序20的电子装置2,本领域技术人员可以理解的是,图4示出的结构并不构成对电子装置2的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
124.其中,存储器21包括内存及至少一种类型的可读存储介质。内存为电子装置2的运行提供缓存;可读存储介质可以是易失性的,也可以是非易失性的。具体的,可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可
编程只读存储器(prom)、磁性存储器、磁盘、光盘等的存储介质。在一些实施例中,可读存储介质可以是电子装置2的内部存储单元,例如该电子装置2的硬盘;在另一些实施例中,该存储介质也可以是电子装置2的外部存储设备,例如电子装置2上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。本实施例中,存储器21的可读存储介质主要包括存储程序区和存储数据区,其中,存储程序区通常用于存储安装于电子装置2的操作系统和各类应用软件,例如存储本发明一实施例中的数据对齐端对齐程序20的代码等;存储数据区可存储根据区块链节点的使用所创建的数据等,例如已经输出或者将要输出的各类数据。
125.处理器22在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述电子装置2的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行数据对齐端对齐程序20等。
126.网络接口23可包括无线网络接口或有线网络接口,该网络接口23用于在所述电子装置2与客户端(图中未画出)之间建立通信连接。
127.可选的,所述电子装置2还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置2中处理的信息以及用于显示可视化的用户界面。
128.在本发明的一实施例中,所述数据对齐端对齐程序20被所述处理器22执行时实现如下步骤s21-s24。
129.s21、接收数据提供端发送的公钥及布隆过滤器二进制文件,所述布隆过滤器二进制文件由所述数据提供端将待对齐数据进行hash处理后通过与所述公钥在同一密钥对的私钥加密生成。
130.s22、对数据对齐样本进行hash处理,将处理后的数据通过所述公钥进行加密得到第一加密数据,将所述第一加密数据发送至所述数据提供端。
131.s23、接收所述数据提供端将所述第一加密数据通过所述私钥进行对齐加密得到的第二加密数据。
132.s24、对所述第二加密数据进行解密得到第三加密数据,将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据,并将所述对齐数据发送至所述数据提供端。
133.上述步骤s21-s24所实现的具体操作步骤与本发明数据对齐方法第二实施例大体相同,在此不再赘述。
134.在其他实施例中,数据对齐端对齐程序20还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述数据对齐端对齐程序20在电子装置2中的执行过程。
135.由上述实施例可知,本发明提出的电子装置1、2,基于md5/sha/rsa加密技术以及布隆过滤器的结合使用,在满足数据隐私、安全和监管的前提下大大提高了数据对齐的速度和效率,数据合作各方可以快速、准确、安全地共同使用各自的数据进行对齐融合。
136.如图5所示,为本发明数据对齐系统第一实施例的示意图。
137.在本发明的第一实施例中,数据对齐系统10,包括数据提供端110及数据对齐端120,示例性地:
138.所述数据提供端110,用于生成包含公钥和私钥的密钥对,将待对齐数据进行hash处理,将处理后的数据通过所述私钥生成布隆过滤器二进制文件,并将所述公钥及所述布隆过滤器二进制文件发送至数据对齐端120;接收所述数据对齐端120将数据对齐样本进行hash处理后通过所述公钥进行加密得到的第一加密数据;将所述第一加密数据通过所述私钥进行对齐加密得到第二加密数据,将所述第二加密数据发送至所述数据对齐端120;接收所述数据对齐端120返回的对齐数据,所述对齐数据由所述数据对齐端120对所述第二加密数据进行解密得到的第三加密数据与所述布隆过滤器二进制文件进行碰撞得到;
139.所述数据对齐端120,用于接收数据提供端110发送的公钥及布隆过滤器二进制文件,所述布隆过滤器二进制文件由所述数据提供端110将待对齐数据进行hash处理后通过与所述公钥在同一密钥对的私钥加密生成;对数据对齐样本进行hash处理,将处理后的数据通过所述公钥进行加密得到第一加密数据,将所述第一加密数据发送至所述数据提供端110;接收所述数据提供端110将所述第一加密数据通过所述私钥进行对齐加密得到的第二加密数据;对所述第二加密数据进行解密得到第三加密数据,获取所述布隆过滤器二进制文件中包含第三加密数据的数据行,并将所述数据行存储为对齐数据,将所述对齐数据发送至所述数据提供端110。
140.上述数据提供端110及数据对齐端120被执行时所实现的具体操作步骤与上述实施例大体相同,在此不再赘述。
141.如图6所示,为本发明数据对齐系统第二实施例的示意图。
142.在本发明的第二实施例中,数据对齐系统20,包括第一数据提供端210、第二数据提供端220、第三数据提供端230及数据对齐端240,示例性地:
143.所述第一数据提供端210,用于生成包含公钥和私钥的密钥对,将待对齐数据进行hash处理,将处理后的数据通过所述私钥生成布隆过滤器二进制文件,并将所述公钥及所述布隆过滤器二进制文件发送至数据对齐端240;接收所述数据对齐端240将数据对齐样本进行hash处理后通过所述公钥进行加密得到的第一加密数据;将所述第一加密数据通过所述私钥进行对齐加密得到第二加密数据,将所述第二加密数据发送至所述数据对齐端240;接收所述数据对齐端240返回的对齐数据,所述对齐数据由所述数据对齐端240对所述第二加密数据进行解密得到的第三加密数据与所述布隆过滤器二进制文件进行碰撞得到;
144.所述第二数据提供端220及所述第三数据提供端230被执行时所实现的功能或操作步骤与上述数据提供端210相同,在此不再赘述。
145.所述数据对齐端240,用于接收第一数据提供端210发送的公钥1及布隆过滤器二进制文件1,所述布隆过滤器二进制文件1由所述第一数据提供端210将待对齐数据1进行hash处理后通过与所述公钥1在同一密钥对的私钥1加密生成;对数据对齐样本进行hash处理,将处理后的数据通过所述公钥1进行加密得到第一加密数据1,将所述第一加密数据1发
送至所述第一数据提供端210;接收所述第一数据提供端210将所述第一加密数据1通过所述私钥进行对齐加密得到的第二加密数据1;对所述第二加密数据进行解密得到第三加密数据1,获取所述布隆过滤器二进制文件1中包含第三加密数据1的数据行1,将所述数据行1存储为第一数据表;对所述第二数据提供端220及所述第三数据提供端230分别执行与对所述第一数据提供端210相同的操作步骤得到对应的第二数据表及第三数据表;将第一数据表、第二数据表及第三数据表根据index数据列取交集得到第一数据表对应的第一对齐数据、第二数据表对应的第二对齐数据以及第三数据表对应的第三对齐数据;将第一对齐数据发送至第一数据提供端210,将第二对齐数据发送至第二数据提供端220,将第三对齐数据发送至第三数据提供端230。
146.上述第一数据提供端210、第二数据提供端220、第三数据提供端230及数据对齐端240被执行时所实现的具体操作步骤与上述实施例大体相同,在此不再赘述。
147.此外,本发明实施例还提出一种计算机可读存储介质,可读存储介质可以是易失性的,也可以是非易失性的。具体的,计算机可读存储介质可以是硬盘、多媒体卡、sd卡、闪存卡、smc、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器等中的任意一种或者几种的任意组合。计算机可读存储介质中存储有数据对齐程序,所述数据对齐程序包括数据提供端对齐程序10及数据对齐端对齐程序20。
148.所述数据提供端对齐程序10被处理器执行时实现如下操作:
149.a11、生成包含公钥和私钥的密钥对,将待对齐数据进行hash处理,将处理后的数据通过所述私钥生成布隆过滤器二进制文件,并将所述公钥及所述布隆过滤器二进制文件发送至数据对齐端;
150.a12、接收所述数据对齐端将数据对齐样本进行hash处理后通过所述公钥进行加密得到的第一加密数据;
151.a13、将所述第一加密数据通过所述私钥进行对齐加密得到第二加密数据,将所述第二加密数据发送至所述数据对齐端;
152.a14、接收所述数据对齐端返回的对齐数据,所述对齐数据由所述数据对齐端对所述第二加密数据进行解密得到的第三加密数据与所述布隆过滤器二进制文件进行碰撞得到。
153.所述数据对齐端对齐程序20被处理器执行时实现如下操作:
154.a21、接收数据提供端发送的公钥及布隆过滤器二进制文件,所述布隆过滤器二进制文件由所述数据提供端将待对齐数据进行hash处理后通过与所述公钥在同一密钥对的私钥加密生成;
155.a22、对数据对齐样本进行hash处理,将处理后的数据通过所述公钥进行加密得到第一加密数据,将所述第一加密数据发送至所述数据提供端;
156.a23、接收所述数据提供端将所述第一加密数据通过所述私钥进行对齐加密得到的第二加密数据;
157.a24、对所述第二加密数据进行解密得到第三加密数据,将所述第三加密数据与所述布隆过滤器二进制文件进行碰撞得到对齐数据,并将所述对齐数据发送至所述数据提供端。
158.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
159.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
160.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
161.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

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

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

相关文献