CN108768994B - 数据匹配方法、装置及计算机可读存储介质 - Google Patents
数据匹配方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108768994B CN108768994B CN201810493217.9A CN201810493217A CN108768994B CN 108768994 B CN108768994 B CN 108768994B CN 201810493217 A CN201810493217 A CN 201810493217A CN 108768994 B CN108768994 B CN 108768994B
- Authority
- CN
- China
- Prior art keywords
- data
- algorithm
- node
- filtering
- filtering algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开是关于一种数据匹配方法、装置及计算机可读存储介质,属于互联网技术领域。所述方法包括:基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据;根据至少一个第一前缀数据生成第一过滤算法,将第一待匹配数据的第一数据量、第一过滤算法及第一公钥添加至区块链;在区块链中获取第二过滤算法,基于第二过滤算法对第一待匹配数据进行过滤,得到交集数据。本公开中第一节点生成第一过滤算法,由第二节点生成第二过滤算法,以便第一节点基于第二过滤算法,得到交集数据,使得第一节点和第二节点仅需公开生成的过滤算法,无需公开原待匹配数据,提高了确定交集数据的保密性,保证了数据共享系统的区块链上各个节点的平等性。
Description
技术领域
本公开涉及互联网技术领域,特别涉及一种数据匹配方法、装置及计算机可读存储介质。
背景技术
随着互联网技术的不断发展,为了实现多方的共赢,多个独立方可以组成联盟,并在联盟中进行数据的共享,确定多个独立方之间的交集数据。对于联盟中进行数据共享的两方或者多方而言,将各个独立方的数据进行匹配,便可以得到多个独立方之间的交集数据,进而基于交集数据,可以有针对性的进行方案的策划等。例如,两个或更多国家可能希望通过共享某一案件中嫌疑人的信息,确定各个国家正在监视的相同的嫌疑人的信息,以便更全面的对嫌疑人进行监视。
相关技术中,联盟中的多个独立方在确定相互之间存在的交集数据时,多个独立方中的某一独立方需将全部数据直接分享给与其存在联盟的其他独立方,其他独立方在接收到数据后,将某一独立方的数据与自身的数据进行匹配,确定交集数据。
在实现本公开的过程中,发明人发现相关技术至少存在以下问题:
由于在进行数据的匹配时,多个独立方中的某一独立方需要将待匹配的全部数据分享给联盟中其他的独立方,导致某一独立方需要公开暴露自己待匹配的全部数据,使得有时若联盟中的全部独立方均不愿将待匹配的数据公开暴露给其他独立方时,便无法达成数据匹配,使得多个独立方构成的联盟具有不平等性,且保密性不高。
发明内容
为克服相关技术中存在的有时若联盟中的全部独立方均不愿将待匹配的数据公开暴露给其他独立方时,便无法达成数据匹配,使得多个独立方构成的联盟具有不平等性,且保密性不高的问题,本公开提供一种数据匹配方法、装置及计算机可读存储介质。
根据本公开实施例的第一方面,提供一种数据匹配方法,所述方法应用于数据共享系统的区块链上的第一节点,所述方法包括:
基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据;
根据所述至少一个第一前缀数据生成第一过滤算法,将所述第一待匹配数据的第一数据量、所述第一过滤算法及所述第一节点的第一公钥添加至所述数据共享系统中的区块链;
在所述区块链中获取第二过滤算法,基于所述第二过滤算法对所述第一待匹配数据进行过滤,得到交集数据,所述第二过滤算法由第二节点基于所述第一数据量和所述第一过滤算法对所述第二待匹配数据进行过滤生成。
在另一个实施例中,所述基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据包括:
基于第一预设算法,对所述至少一条第一单条数据进行运算处理,生成至少一个第一运算结果,所述第一预设算法至少为哈希算法;
采用第二预设算法,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据,所述第二预设算法至少为截取算法。
在另一个实施例中,所述采用第二预设算法,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据包括:
确定所述第一待匹配数据的第一数据量;
基于所述第二预设算法,对所述第一数据量进行运算,生成截取系数;
根据所述截取系数,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据。
在另一个实施例中,所述在所述区块链中获取第二过滤算法包括:
在所述区块链中提取所述第二节点的算法密文,所述算法密文由所述第二节点对所述第二过滤算法进行加密得到的;
获取所述第二节点的第二公钥,基于第三预设算法,对所述第一节点的第一私钥和所述第二公钥进行处理,生成解密密钥;
采用所述解密密钥,对所述算法密文进行解密,获取所述第二过滤算法。
根据本公开实施例的第二方面,提供一种数据匹配方法,所述方法应用于数据共享系统的区块链上的第二节点,所述方法包括:
从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据所述第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据;
采用所述第一过滤算法对所述至少一个第二前缀数据进行过滤,得到过滤数据;
根据所述过滤数据,生成第二过滤算法,将所述第二过滤算法添加至所述数据共享系统中的区块链,以使所述第一节点在所述区块链中获取所述第二过滤算法,基于所述第二过滤算法确定交集数据。
在另一个实施例中,所述从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据所述第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据包括:
从所述区块链获取所述第一节点的所述第一数据量、所述第一过滤算法及所述第一公钥;
基于第一预设算法,对所述至少一条第二单条数据进行运算处理,生成至少一个第二运算结果,所述第一预设算法至少为哈希算法;
根据第二预设算法及所述第一数据量,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据,所述第二预设算法至少为截取算法。
在另一个实施例中,所述根据第二预设算法及所述第一数据量,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据包括:
基于所述第二预设算法,对所述第一数据量进行运算,生成截取系数;
根据所述截取系数,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据。
在另一个实施例中,所述将所述第二过滤算法添加至所述数据共享系统中的区块链包括:
基于第三预设算法,对所述第一公钥和所述第二节点的第二私钥进行处理,生成加密密钥;
采用所述加密密钥,对所述第二过滤算法进行加密,生成算法密文;
将所述算法密文添加至所述数据共享系统中的区块链。
根据本公开实施例的第三方面,提供一种数据匹配装置,所述装置应用于数据共享系统的区块链上的第一节点,所述装置包括:
生成模块,被配置为基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据;
添加模块,被配置为根据所述至少一个第一前缀数据生成第一过滤算法,将所述第一待匹配数据的第一数据量、所述第一过滤算法及所述第一节点的第一公钥添加至所述数据共享系统中的区块链;
过滤模块,被配置为在所述区块链中获取第二过滤算法,基于所述第二过滤算法对所述第一待匹配数据进行过滤,得到交集数据,所述第二过滤算法由第二节点基于所述第一数据量和所述第一过滤算法对所述第二待匹配数据进行过滤生成。
在另一个实施例中,所述生成模块包括:
处理子模块,被配置为基于第一预设算法,对所述至少一条第一单条数据进行运算处理,生成至少一个第一运算结果,所述第一预设算法至少为哈希算法;
截取子模块,被配置为采用第二预设算法,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据,所述第二预设算法至少为截取算法。
在另一个实施例中,所述截取子模块,被配置为确定所述第一待匹配数据的第一数据量;基于所述第二预设算法,对所述第一数据量进行运算,生成截取系数;根据所述截取系数,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据。
在另一个实施例中,所述过滤模块包括:
提取子模块,被配置为在所述区块链中提取所述第二节点的算法密文,所述算法密文由所述第二节点对所述第二过滤算法进行加密得到的;
处理子模块,被配置为获取所述第二节点的第二公钥,基于第三预设算法,对所述第一节点的第一私钥和所述第二公钥进行处理,生成解密密钥;
解密子模块,被配置为采用所述解密密钥,对所述算法密文进行解密,获取所述第二过滤算法。
根据本公开实施例的第四方面,提供一种数据匹配装置,所述装置应用于数据共享系统的区块链上的第二节点,所述装置包括:
生成模块,被配置为从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据所述第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据;
过滤模块,被配置为采用所述第一过滤算法对所述至少一个第二前缀数据进行过滤,得到过滤数据;
添加模块,被配置为根据所述过滤数据,生成第二过滤算法,将所述第二过滤算法添加至所述数据共享系统中的区块链,以使所述第一节点在所述区块链中获取所述第二过滤算法,基于所述第二过滤算法确定交集数据。
在另一个实施例中,所述生成模块包括:
获取子模块,被配置为从所述区块链获取所述第一节点的所述第一数据量、所述第一过滤算法及所述第一公钥;
处理子模块,被配置为基于第一预设算法,对所述至少一条第二单条数据进行运算处理,生成至少一个第二运算结果,所述第一预设算法至少为哈希算法;
截取子模块,被配置为根据第二预设算法及所述第一数据量,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据,所述第二预设算法至少为截取算法。
在另一个实施例中,所述截取子模块,被配置为基于所述第二预设算法,对所述第一数据量进行运算,生成截取系数;根据所述截取系数,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据。
在另一个实施例中,所述添加模块包括:
处理子模块,被配置为基于第三预设算法,对所述第一公钥和所述第二节点的第二私钥进行处理,生成加密密钥;
加密子模块,被配置为采用所述加密密钥,对所述第二过滤算法进行加密,生成算法密文;
添加子模块,被配置为将所述算法密文添加至所述数据共享系统中的区块链。
根据本公开实施例的第五方面,提供一种数据匹配装置,所述装置应用于数据共享系统的区块链上的第一节点,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据;根据所述至少一个第一前缀数据生成第一过滤算法,将所述第一待匹配数据的第一数据量、所述第一过滤算法及所述第一节点的第一公钥添加至所述数据共享系统中的区块链;在所述区块链中获取第二过滤算法,基于所述第二过滤算法对所述第一待匹配数据进行过滤,得到交集数据,所述第二过滤算法由第二节点基于所述第一数据量和所述第一过滤算法对所述第二待匹配数据进行过滤生成。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行以完成上述第一方面所述的数据匹配方法。
根据本公开实施例的第七方面,提供一种数据匹配装置,所述装置应用于数据共享系统的区块链上的第二节点,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据所述第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据;采用所述第一过滤算法对所述至少一个第二前缀数据进行过滤,得到过滤数据;根据所述过滤数据,生成第二过滤算法,将所述第二过滤算法添加至所述数据共享系统中的区块链,以使所述第一节点在所述区块链中获取所述第二过滤算法,基于所述第二过滤算法确定交集数据。
根据本公开实施例的第八方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行以完成上述第二方面所述的数据匹配方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
数据共享系统的区块链上的第一节点基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据,根据至少一个第一前缀数据生成第一过滤算法,将第一待匹配数据的第一数据量、第一过滤算法及第一节点的第一公钥添加至数据共享系统中的区块链,由第二节点基于第一数据量、第一过滤算法和第二节点的第二待匹配数据,生成第二过滤算法,并将第二过滤算法添加至区块链中,以便第一节点可以在区块链中获取第二过滤算法,基于第二过滤算法对第一待匹配数据进行过滤,得到交集数据,使得第一节点和第二节点仅需公开对待匹配数据进行处理后生成的过滤算法,无需公开原待匹配数据,也不会泄露待匹配数据以外的数据,提高了确定交集数据时的保密性,保证了数据共享系统的区块链上各个节点的平等性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种数据匹配方法的流程图。
图2是根据一示例性实施例示出的一种数据匹配方法的流程图。
图3A是根据一示例性实施例示出的一种数据匹配方法的流程图。
图3B是根据一示例性实施例示出的一种数据匹配方法的流程图。
图4A是根据一示例性实施例示出的一种数据匹配装置的框图。
图4B是根据一示例性实施例示出的一种数据匹配装置的框图。
图4C是根据一示例性实施例示出的一种数据匹配装置的框图。
图5A是根据一示例性实施例示出的一种数据匹配装置的框图。
图5B是根据一示例性实施例示出的一种数据匹配装置的框图。
图5C是根据一示例性实施例示出的一种数据匹配装置的框图。
图6是根据一示例性实施例示出的一种数据匹配装置600的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种数据匹配方法的流程图,如图1所示,该方法包括以下步骤。
在步骤101中,基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据。
在步骤102中,根据至少一个第一前缀数据生成第一过滤算法,将第一待匹配数据的第一数据量、第一过滤算法及第一节点的第一公钥添加至数据共享系统中的区块链。
在步骤103中,在区块链中获取第二过滤算法,基于第二过滤算法对第一待匹配数据进行过滤,得到交集数据,第二过滤算法由第二节点基于第一数据量和第一过滤算法对第二待匹配数据进行过滤生成。
本公开实施例提供的方法,第一节点基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据,根据至少一个第一前缀数据生成第一过滤算法,将第一待匹配数据的第一数据量、第一过滤算法及第一节点的第一公钥添加至数据共享系统中的区块链,并由第一节点在区块链中获取第二节点添加至区块链的第二过滤算法,基于第二过滤算法对第一待匹配数据进行过滤,得到交集数据,使得第一节点和第二节点仅需公开对待匹配数据进行处理后生成的过滤算法,无需公开原待匹配数据,也不会泄露待匹配数据以外的数据,提高了确定交集数据时的保密性,保证了数据共享系统的区块链上各个节点的平等性。
在另一个实施例中,基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据包括:
基于第一预设算法,对至少一条第一单条数据进行运算处理,生成至少一个第一运算结果,第一预设算法至少为哈希算法;
采用第二预设算法,对至少一个第一运算结果进行截取,得到至少一个第一前缀数据,第二预设算法至少为截取算法。
在另一个实施例中,采用第二预设算法,对至少一个第一运算结果进行截取,得到至少一个第一前缀数据包括:
确定第一待匹配数据的第一数据量;
基于第二预设算法,对第一数据量进行运算,生成截取系数;
根据截取系数,对至少一个第一运算结果进行截取,得到至少一个第一前缀数据。
在另一个实施例中,在区块链中获取第二过滤算法包括:
在区块链中提取第二节点的算法密文,算法密文由第二节点对第二过滤算法进行加密得到的;
获取第二节点的第二公钥,基于第三预设算法,对第一节点的第一私钥和第二公钥进行处理,生成解密密钥;
采用解密密钥,对算法密文进行解密,获取第二过滤算法。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图2是根据一示例性实施例示出的一种数据匹配方法的流程图,如图2所示,该方法包括以下步骤。
在步骤201中,从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据。
在步骤202中,采用第一过滤算法对至少一个第二前缀数据进行过滤,得到过滤数据。
在步骤203中,根据过滤数据,生成第二过滤算法,将第二过滤算法添加至数据共享系统中的区块链,以使第一节点在区块链中获取第二过滤算法,基于第二过滤算法确定交集数据。
本公开实施例提供的方法,第二节点从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据,采用第一过滤算法对至少一个第二前缀数据进行过滤,得到过滤数据,并根据过滤数据,生成第二过滤算法,将第二过滤算法添加至数据共享系统中的区块链,以便第一节点在区块链中获取第二过滤算法,基于第二过滤算法确定交集数据,使得第一节点和第二节点仅需公开对待匹配数据进行处理后生成的过滤算法,无需公开原待匹配数据,也不会泄露待匹配数据以外的数据,提高了确定交集数据时的保密性,保证了数据共享系统的区块链上各个节点的平等性。
在另一个实施例中,从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据包括:
从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥;
基于第一预设算法,对至少一条第二单条数据进行运算处理,生成至少一个第二运算结果,第一预设算法至少为哈希算法;
根据第二预设算法及第一数据量,对至少一个第二运算结果进行截取,得到至少一个第二前缀数据,第二预设算法至少为截取算法。
在另一个实施例中,根据第二预设算法及第一数据量,对至少一个第二运算结果进行截取,得到至少一个第二前缀数据包括:
基于第二预设算法,对第一数据量进行运算,生成截取系数;
根据截取系数,对至少一个第二运算结果进行截取,得到至少一个第二前缀数据。
在另一个实施例中,将第二过滤算法添加至数据共享系统中的区块链包括:
基于第三预设算法,对第一公钥和第二节点的第二私钥进行处理,生成加密密钥;
采用加密密钥,对第二过滤算法进行加密,生成算法密文;
将算法密文添加至数据共享系统中的区块链。
图3A是根据一示例性实施例示出的一种数据匹配方法的流程图,如图3A所示,该方法包括以下步骤。
在步骤301中,第一节点基于第一预设算法,对至少一条第一单条数据进行运算处理,生成至少一个第一运算结果,第一预设算法至少为哈希算法。
在本公开实施例中,第一节点为数据共享系统的区块链上的任一节点。数据共享系统是指用于进行节点与节点之间数据共享,确定节点与节点交集数据的系统。数据共享系统中的每个节点均存储一条相同的区块链,区块链由多个区块组成,每个区块均存储有不同的数据,区块链上的全部区块存储的数据组成了区块链所在节点的共享数据。当数据共享系统中的某一节点向区块链中添加诸如算法密文、过滤算法等数据时,数据共享系统中全部节点的区块链中均会新增一个区块,保证数据共享中的各个节点区块链的数据均保持一致。
发明人认识到,数据共享系统中的节点在确定交集数据时,如果通过共享待匹配数据实现,则进行数据共享的两个节点中的某一个节点需要将自身的全部数据共享给另一个节点,导致对共享自身全部数据的节点的保密性不高,很可能会将该节点的待匹配数据泄露,因此,可以通过对节点上待匹配数据进行运算处理,生成前缀数据,进而根据前缀数据生成过滤算法,使得与该节点进行数据匹配的节点可以基于过滤算法对待匹配数据进行过滤,确定交集数据,无需将待匹配数据进行公开。
在对某一节点中的待匹配数据进行运算处理,生成前缀数据时,由于每个节点中存储的数据为多条,并非一条数据,因此,某一节点基于第一预设算法,先对自身的待匹配数据中至少一条单条数据进行运算处理,生成至少一个运算结果,以便后续对至少一个运算结果进行截取得到至少一个前缀数据,进而基于至少一个前缀数据生成过滤算法。另外,为了便于说明,在本公开实施例中,以第一节点和第二节点进行数据匹配为例进行说明,这样,上述过程即可描述为:第一节点中的第一待匹配数据包括至少一条第一单条数据,第一节点基于第一预设算法对至少一条第一单条数据处理后,得到至少一个第一运算结果。需要说明的是,第一预设算法可为诸如MD5(Message-Digest Algorithm 5,信息摘要算法5)的哈希算法,经过第一预设算法处理得到的至少一个运算结果为固定长度的运算结果,例如,如果采用的第一预设算法为MD5,则经过第一预设算法处理得到的运算结果的长度为128bits(比特),本发明实施例对第一预设算法具体为哪种算法不进行具体限定。
在步骤302中,第一节点确定第一待匹配数据的第一数据量,基于第二预设算法,对第一数据量进行运算,生成截取系数,并根据截取系数,对至少一个第一运算结果进行截取,得到至少一个第一前缀数据,第二预设算法至少为截取算法。
在本公开实施例中,第一节点在生成至少一个第一运算结果后,会基于第二预设算法对至少一个第一运算结果进行处理,得到至少一个第一前缀数据。其中,在对至少一个第一运算结果进行处理时,由于不同的节点中的数据量是不同的,为了避免得到的至少一个第一运算结果的数据量过大,对第一节点造成较大的负载,可以基于第二预设算法,对第一数据量进行运算,生成截取系数,根据截取系数对至少一个第一运算结果进行截取,得到至少一个第一前缀数据,使得可以综合考虑第一节点的第一数据量生成至少一个第一前缀数据。其中,第一数据量可以用A_lineCount表示,第二预设算法可为截取算法,例如,第二预设算法可为下述公式1:
公式1:K=Log2(A_lineCount)+8
其中,公式1中的K用于表示截取系数,A_lineCount用于表示第一数据量,本发明实施例对第二预设算法具体为哪种公式不进行具体限定。在生成第一节点的截取系数后,对于至少一个第一运算结果中的任一第一运算结果,在该第一运算结果的前面截取与截取系统大小一致的字符串作为该第一运算结果的第一前缀数据。例如,假设第一节点的A_lineCount为1000000,则将第一节点的A_lineCount代入上述公式1中为K=Log2(1000000)+8=27.93,为了便于对第一运算结果进行截取,将计算结果27.93向上取整为28,则得到的截取系数即为28,这样,对于至少一个第一运算结果中的任一第一运算结果,截取该第一运算结果的前28bits作为该第一运算结果的第一前缀数据。
在步骤303中,第一节点根据至少一个第一前缀数据生成第一过滤算法,将第一待匹配数据的第一数据量、第一过滤算法及第一节点的第一公钥添加至数据共享系统中的区块链。
在本公开实施例中,当第一节点对至少一个第一运算结果进行截取得到至少一个第一前缀数据后,便可以基于至少一个第一前缀数据生成第一过滤算法。其中,第一过滤算法可以提供为一个过滤器,具体可为Bloom Filter(布隆过滤器)。
当第一节点生成第一过滤算法后,为了保证后续第二节点生成的第二前缀数据的与第一节点的第一前缀数据的位数相同,保证对第一待匹配数据进行过滤的标准是一致的,第一节点还需要将第一数据量添加至区块链,以便第二节点基于第一数据量对自身的第二待匹配数据进行处理。另外,对于数据共享系统中的每个节点,可以为每个节点生成与其对应的公钥和私钥,数据共享系统中每个节点的公钥均被数据共享系统中的其他节点获知,而每个节点的私钥只有其自身知晓。其中,可以采用ECDSA(Elliptic Curve DigitalSignature Algorithm,椭圆曲线数字签名算法)算法为每个节点生成公钥和私钥,本发明实施例对生成节点公钥和私钥的算法不进行具体限定。由于在同一时间可能存在多组需要进行数据匹配的节点,为了避免在进行数据匹配时发生错误,因此,第一节点在将第一过滤算法和第一数据量共享给第二节点时,还会将其自身的第一公钥添加至区块链,以便第二节点基于区块链上的公钥区分哪一个为当前自身需要获取的过滤算法和数据量,并在后续可以基于第一公钥生成加密密钥,采用加密密钥对第二节点生成的第二过滤算法进行加密,使得第一节点可以获取解密成功的过滤算法作为第二过滤算法,避免由于区块链中的过滤算法过多发生错误,以及避免了数据的泄露。
第一节点在将第一数据量、第一过滤算法及第一公钥添加至数据共享系统中的区块链时,如果区块链支持添加数据至State DB(State DataBase,状态数据库),则第一节点可以将第一数据量、第一过滤算法及第一公钥添加至区块链的State DB中;如果区块链支持分布式存储,则第一节点可以生成第一数据量、第一过滤算法及第一公钥的哈希链接,将哈希链接添加至区块链中,本公开实施例对第一节点将第一数据量、第一过滤算法及第一公钥添加至区块链中的方式不进行具体限定。
需要说明的是,由于第一过滤算法并未涉及到第二节点中的有关数据,且是经过第一预设算法处理后得到的,无法进行还原,因此,第一节点在将第一数据量、第一过滤算法及第一公钥添加至区块链中时,无需对第一数据量、第一过滤算法及第一公钥进行加密,进而简化了数据匹配的过程,减少了大量工作量,提升了数据匹配的效率。
在实际应用的过程中,上述步骤301至步骤303中所示的第一节点生成第一过滤算法并将第一数据量、第一过滤算法及第一公钥添加至区块链中的过程可以在第二节点向第一节点请求数据匹配时执行,也可在第一节点中设置更新周期,使得第二节点未向第一节点请求时,第一节点可以每隔更新周期生成并更新第一过滤算法,本公开实施例对第一节点生成第一过滤算法并将第一数据量、第一过滤算法及第一公钥添加至区块链中的时机不进行具体限定。
在步骤304中,第二节点从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,基于第一预设算法,对至少一条第二单条数据进行运算处理,生成至少一个第二运算结果。
在本公开实施例中,第二节点包括第二待匹配数据,第二待匹配数据由至少一条第二单条数据组成。当第二节点需要与第一节点进行数据匹配时,由于第二节点中存储有区块链中多个节点的公钥,因此,第二节点可以根据第一节点的第一公钥在区块链中查找并获取第一公钥对应的第一过滤算法及第一数据量,进而基于第一预设算法,对至少一条第二单条数据进行运算处理,生成至少一个第二运算结果。其中,第二节点生成至少一个第二运算结果的方式与上述步骤301中所示的第一节点生成至少一个第一运算结果的方式一致,此处不再进行赘述。
在步骤305中,第二节点基于第二预设算法,对第一数据量进行运算,生成截取系数,根据截取系数,对至少一个第二运算结果进行截取,得到至少一个第二前缀数据。
在本公开实施例中,为了保证第二节点生成的至少一个第二前缀数据的位数与第一节点生成的至少一个第一前缀数据的位数一致,第二节点在对至少一个第二运算结果进行截取时,需要基于第二预设算法,对第一数据量进行运算,生成截取系数,并根据该截取系数,对至少一个第二运算结果进行截取,得到至少一个第二前缀数据。其中,第二节点生成截取系数及根据截取系数对至少一个第二运算结果进行截取的过程与上述步骤302中所示的过程一致,此处不再进行赘述。
在步骤306中,第二节点采用第一过滤算法对至少一个第二前缀数据进行过滤,得到过滤数据,根据过滤数据,生成第二过滤算法。
在本公开实施例中,为了使第一节点在后续可以基于第二节点生成的第二过滤算法对第一待匹配数据进行过滤,保证得到的交集数据的准确性,第二节点可以先对至少一个第二前缀数据进行第一次的过滤,得到过滤数据,并根据过滤数据,生成第二过滤算法,使得数据匹配的过程中可以分别经过第一节点和第二节点的两次过滤,保证了得到的交集数据的准确性。
第二节点在基于第一过滤算法对至少一个第二前缀数据进行过滤时,第一过滤算法可将至少一个第二前缀数据中与至少一个第一前缀数据不匹配的数据过滤掉,将当前确定的至少一个第二前缀数据中可能与至少一个第一前缀数据匹配的数据作为过滤数据。例如,若当前至少一个第二前缀数据中包括0、1、2、3、4、5,第二节点在基于第一过滤算法对至少一个第二前缀数据进行过滤后,确定3为与至少一个第一前缀数据不匹配的数据,则将3过滤掉,将0、1、2、4、5作为过滤数据。
当第二节点得到过滤数据后,便可以根据过滤数据,生成第二过滤算法,第二节点生成第二过滤算法的方式与上述步骤303中第一节点生成第一过滤算法的方式一致,此处不再进行赘述。其中,第二过滤算法也可以提供为一个过滤器,具体可为Bloom Filter。
在步骤307中,第二节点基于第三预设算法,对第一公钥和第二节点的第二私钥进行处理,生成加密密钥,采用加密密钥,对第二过滤算法进行加密,生成算法密文,将算法密文添加至数据共享系统中的区块链。
在本公开实施例中,由于第二过滤算法根据第一节点的第一数据量和第二节点的第二待匹配数据生成,因此,为了避免泄露第一节点和第二节点的数据,第二节点在将第二过滤算法添加至区块链中时,可以对第二过滤算法进行加密,生成算法密文,将算法密文添加至区块链中。其中,由于第一节点的第一公钥是公开的,第二节点的第二公钥也是公开的,也即第二节点知晓第一节点的第一公钥,第一节点知晓第二节点的第二公钥,且区块链中各个节点的公钥和私钥都是一一对应的,因此,第二节点可以基于第一节点的第一公钥和第二节点的第二私钥生成加密密钥,以便第一节点在获取算法密文后,可以基于第一节点的第一私钥和第二节点的第二公钥生成解密密钥,进而对算法密文进行解密,得到第二过滤算法。
第二节点在生成加密密钥时,可以基于第三预设算法,对第一公钥和第二节点的第二私钥进行处理,生成加密密钥。其中,第一公钥可以用A_publicKey表示,第二私钥可以用B_privateKey表示,加密密钥可以用AB_key表示。在实际应用的过程中,如果区块链中节点的公钥和私钥是采用ECDSA算法生成的,则第二节点在生成加密密钥时采用的第三预设算法可为ECDH(Elliptic Curve Diffie-Hellman,椭圆曲线密码体制密钥交换算法)算法,本发明实施例对第三预设算法具体为哪种算法不进行具体限制。
当第二节点生成加密密钥后,便可以基于加密密钥对第二过滤算法进行加密,生成算法密文,将算法密文添加至区块链中。其中,具体地,第二节点在将算法密文添加至区块链中时,可以将算法密文以Encrypted_B_bloomfilter(加密布隆过滤器)的方式记录至区块链中,也可以采用上述步骤303中第一节点将第一数据量、第一过滤算法及第一公钥添加至区块链中的方式,本公开实施例对第二节点将第二过滤算法添加至区块链中的方式不进行具体限定。
在步骤308中,第一节点在区块链中提取第二节点的算法密文,获取第二节点的第二公钥,基于第三预设算法,对第一节点的第一私钥和第二公钥进行处理,生成解密密钥。
在本公开实施例中,当第二节点将算法密文添加至区块链中后,第一节点便在区块链中获取算法密文,对算法密文进行解析,进而获取第二过滤算法。由于第二节点对第二过滤算法进行加密采用的加密密钥是根据第一节点的第一公钥和第二节点的第二私钥生成的,为了对算法密文进行解密,第一节点需要获取第二节点的第二公钥,基于自身的第一私钥和第二公钥生成解密密钥,以便后续基于解密密钥对算法密文进行解密。其中,第一节点的第一私钥可以用A_privateKey表示,第二节点的第二公钥可以用B_publicKey表示,第一节点基于第一私钥和第二公钥生成解密密钥的过程与上述步骤308中第二节点生成加密密钥的方式一致,此处不再进行赘述。
在步骤309中,第一节点采用解密密钥,对算法密文进行解密,获取第二过滤算法,基于第二过滤算法对第一待匹配数据进行过滤,得到交集数据。
在本公开实施例中,当第一节点生成解密密钥后,便可以采用解密密钥对算法密文进行解密,获取第二过滤算法,基于第二过滤算法对第一待匹配数据进行过滤,得到交集数据。其中,第一节点基于第二过滤算法对第一待匹配数据进行过滤的过程与上述步骤306中所述的第二节点采用第一过滤算法对至少一个第二前缀数据进行过滤得到过滤数据的过程一致,此处不再进行赘述。
需要说明的是,当第一节点获取到交集数据后,可以通过区块链将交集数据共享给第二节点,以便第二节点也可以获取该交集数据,第二节点无需再次执行上述过程确定交集数据。
在实际应用的过程中,可以通过执行图3B中所示的流程确定第一节点与第二节点之间的交集数据:
参见图3B,首先,第一节点基于第一预设算法生成至少一个第一运算结果,对至少一个第一运算结果进行截取,得到至少一个第一前缀数据,并基于至少一个前缀数据计算第一过滤算法,将第一数据量、第一过滤算法及第一节点的第一公钥添加至区块链;随后,第二节点在区块链中获取第一数据量、第一过滤算法及第一节点的第一公钥,采用第一数据量对至少一个第二运算结果进行截取,生成至少一个第二前缀数据,采用第一过滤算法对至少一个第二前缀数据进行过滤,得到过滤数据,根据过滤数据生成第二过滤算法,根据第一节点的第一公钥和第二节点的第二密钥生成加密密钥,采用加密密钥对第二过滤算法进行加密,生成算法密文,将算法密文添加至区块链;最后,第一节点在区块链中获取算法密文,根据第一节点的第一密钥和第二节点的第二公钥生成解密密钥,采用解密密钥对算法密文进行解密,得到第二过滤算法,采用第二过滤算法对第一待匹配数据进行过滤,得到交集数据。一般来说,仅需要执行上述的一次生成过滤算法对数据进行过滤的过程便可确定第一节点与第二节点之间的交集数据,简化了数据匹配的过程。
本公开实施例提供的方法,数据共享系统的区块链上的第一节点基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据,根据至少一个第一前缀数据生成第一过滤算法,将第一待匹配数据的第一数据量、第一过滤算法及第一节点的第一公钥添加至数据共享系统中的区块链,由第二节点基于第一数据量、第一过滤算法和第二节点的第二待匹配数据,生成第二过滤算法,并将第二过滤算法添加至区块链中,以便第一节点可以在区块链中获取第二过滤算法,基于第二过滤算法对第一待匹配数据进行过滤,得到交集数据,使得第一节点和第二节点仅需公开对待匹配数据进行处理后生成的过滤算法,无需公开原待匹配数据,也不会泄露待匹配数据以外的数据,提高了确定交集数据时的保密性,保证了数据共享系统的区块链上各个节点的平等性。
图4A是根据一示例性实施例示出的一种数据匹配装置的框图。参照图4A,该装置包括生成模块401,添加模块402和过滤模块403。
该生成模块401,被配置为基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据;
该添加模块402,被配置为根据至少一个第一前缀数据生成第一过滤算法,将第一待匹配数据的第一数据量、第一过滤算法及第一节点的第一公钥添加至数据共享系统中的区块链;
该过滤模块403,被配置为在区块链中获取第二过滤算法,基于第二过滤算法对第一待匹配数据进行过滤,得到交集数据,所述第二过滤算法由第二节点基于所述第一数据量和所述第一过滤算法对所述第二待匹配数据进行过滤生成。
本公开实施例提供的装置,第一节点基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据,根据至少一个第一前缀数据生成第一过滤算法,将第一待匹配数据的第一数据量、第一过滤算法及第一节点的第一公钥添加至数据共享系统中的区块链,并由第一节点在区块链中获取第二节点添加至区块链的第二过滤算法,基于第二过滤算法对第一待匹配数据进行过滤,得到交集数据,使得第一节点和第二节点仅需公开对待匹配数据进行处理后生成的过滤算法,无需公开原待匹配数据,也不会泄露待匹配数据以外的数据,提高了确定交集数据时的保密性,保证了数据共享系统的区块链上各个节点的平等性。
在另一个实施例中,参见图4B,该生成模块401包括处理子模块4011和截取子模块4012。
该处理子模块4011,被配置为基于第一预设算法,对至少一条第一单条数据进行运算处理,生成至少一个第一运算结果,第一预设算法至少为哈希算法;
该截取子模块4012,被配置为采用第二预设算法,对至少一个第一运算结果进行截取,得到至少一个第一前缀数据,第二预设算法至少为截取算法。
在另一个实施例中,该截取子模块4012,被配置为确定第一待匹配数据的第一数据量;基于第二预设算法,对第一数据量进行运算,生成截取系数;根据截取系数,对至少一个第一运算结果进行截取,得到至少一个第一前缀数据。
在另一个实施例中,参见图4C,该过滤模块403包括提取子模块4031,处理子模块4032和解密子模块4033。
该提取子模块4031,被配置为在区块链中提取第二节点的算法密文,算法密文由第二节点对第二过滤算法进行加密得到的;
该处理子模块4032,被配置为获取第二节点的第二公钥,基于第三预设算法,对第一节点的第一私钥和第二公钥进行处理,生成解密密钥;
该解密子模块4033,被配置为采用解密密钥,对算法密文进行解密,获取第二过滤算法。
图5A是根据一示例性实施例示出的一种数据匹配装置的框图。参照图5A,该装置包括生成模块501,过滤模块502和添加模块503。
该生成模块501,被配置为从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据;
该过滤模块502,被配置为采用第一过滤算法对至少一个第二前缀数据进行过滤,得到过滤数据;
该添加模块503,被配置为根据过滤数据,生成第二过滤算法,将第二过滤算法添加至数据共享系统中的区块链,以使第一节点在区块链中获取第二过滤算法,基于第二过滤算法确定交集数据。
本公开实施例提供的装置,第二节点从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据,采用第一过滤算法对至少一个第二前缀数据进行过滤,得到过滤数据,并根据过滤数据,生成第二过滤算法,将第二过滤算法添加至数据共享系统中的区块链,以便第一节点在区块链中获取第二过滤算法,基于第二过滤算法确定交集数据,使得第一节点和第二节点仅需公开对待匹配数据进行处理后生成的过滤算法,无需公开原待匹配数据,也不会泄露待匹配数据以外的数据,提高了确定交集数据时的保密性,保证了数据共享系统的区块链上各个节点的平等性。
在另一个实施例中,参见图5B,该生成模块501包括获取子模块5011,处理子模块5012和截取子模块5013。
该获取子模块5011,被配置为从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥;
该处理子模块5012,被配置为基于第一预设算法,对至少一条第二单条数据进行运算处理,生成至少一个第二运算结果,第一预设算法至少为哈希算法;
该截取子模块5013,被配置为根据第二预设算法及第一数据量,对至少一个第二运算结果进行截取,得到至少一个第二前缀数据,第二预设算法至少为截取算法。
在另一个实施例中,该截取子模块5013,被配置为基于第二预设算法,对第一数据量进行运算,生成截取系数;根据截取系数,对至少一个第二运算结果进行截取,得到至少一个第二前缀数据。
在另一个实施例中,参见图5C,该添加模块503包括处理子模块5031,加密子模块5032和添加子模块5033。
该处理子模块5031,被配置为基于第三预设算法,对第一公钥和第二节点的第二私钥进行处理,生成加密密钥;
该加密子模块5032,被配置为采用加密密钥,对第二过滤算法进行加密,生成算法密文;
该添加子模块5033,被配置为将算法密文添加至数据共享系统中的区块链。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种数据匹配装置600的框图。例如,装置600可以被提供为一服务器。参照图6,装置600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理组件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述数据匹配方法。
装置600还可以包括一个电源组件626被配置为执行装置600的电源管理,一个有线或无线网络接口650被配置为将装置600连接到网络,和一个输入输出(I/O)接口658。装置600可以操作基于存储在存储器632的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
一种计算机可读存储介质,计算机可读存储介质上存储有指令,该指令被处理器执行以完成上述的数据匹配方法。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可执行指令,所述处理器执行所述计算机可执行指令时实现上述的数据匹配方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (12)
1.一种数据匹配方法,其特征在于,所述方法应用于数据共享系统的区块链上的第一节点,所述方法包括:
基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据;
根据所述至少一个第一前缀数据生成第一过滤算法,将所述第一待匹配数据的第一数据量、所述第一过滤算法及所述第一节点的第一公钥添加至所述数据共享系统中的区块链;
在所述区块链中获取第二过滤算法,基于所述第二过滤算法对所述第一待匹配数据进行过滤,得到交集数据,所述第二过滤算法由第二节点基于所述第一数据量和所述第一过滤算法对所述第二待匹配数据进行过滤生成;
所述基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据包括:
基于第一预设算法,对所述至少一条第一单条数据进行运算处理,生成至少一个第一运算结果,所述第一预设算法至少为哈希算法;
采用第二预设算法,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据,包括:确定所述第一待匹配数据的第一数据量;基于所述第二预设算法,对所述第一数据量进行运算,生成截取系数;根据所述截取系数,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据,其中,所述第二预设算法至少为截取算法。
2.根据权利要求1所述的方法,其特征在于,所述在所述区块链中获取第二过滤算法包括:
在所述区块链中提取所述第二节点的算法密文,所述算法密文由所述第二节点对所述第二过滤算法进行加密得到的;
获取所述第二节点的第二公钥,基于第三预设算法,对所述第一节点的第一私钥和所述第二公钥进行处理,生成解密密钥;
采用所述解密密钥,对所述算法密文进行解密,获取所述第二过滤算法。
3.一种数据匹配方法,其特征在于,所述方法应用于数据共享系统的区块链上的第二节点,所述方法包括:
从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据所述第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据;
采用所述第一过滤算法对所述至少一个第二前缀数据进行过滤,得到过滤数据;
根据所述过滤数据,生成第二过滤算法,将所述第二过滤算法添加至所述数据共享系统中的区块链,以使所述第一节点在所述区块链中获取所述第二过滤算法,基于所述第二过滤算法确定交集数据;
所述从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据所述第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据包括:
从所述区块链获取所述第一节点的所述第一数据量、所述第一过滤算法及所述第一公钥;
基于第一预设算法,对所述至少一条第二单条数据进行运算处理,生成至少一个第二运算结果,所述第一预设算法至少为哈希算法;
根据第二预设算法及所述第一数据量,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据,包括:基于所述第二预设算法,对所述第一数据量进行运算,生成截取系数;根据所述截取系数,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据,其中,所述第二预设算法至少为截取算法。
4.根据权利要求3所述的方法,其特征在于,所述将所述第二过滤算法添加至所述数据共享系统中的区块链包括:
基于第三预设算法,对所述第一公钥和所述第二节点的第二私钥进行处理,生成加密密钥;
采用所述加密密钥,对所述第二过滤算法进行加密,生成算法密文;
将所述算法密文添加至所述数据共享系统中的区块链。
5.一种数据匹配装置,其特征在于,所述装置应用于数据共享系统的区块链上的第一节点,所述装置包括:
生成模块,被配置为基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据;
添加模块,被配置为根据所述至少一个第一前缀数据生成第一过滤算法,将所述第一待匹配数据的第一数据量、所述第一过滤算法及所述第一节点的第一公钥添加至所述数据共享系统中的区块链;
过滤模块,被配置为在所述区块链中获取第二过滤算法,基于所述第二过滤算法对所述第一待匹配数据进行过滤,得到交集数据,所述第二过滤算法由第二节点基于所述第一数据量和所述第一过滤算法对所述第二待匹配数据进行过滤生成;
所述生成模块包括:
处理子模块,被配置为基于第一预设算法,对所述至少一条第一单条数据进行运算处理,生成至少一个第一运算结果,所述第一预设算法至少为哈希算法;
截取子模块,被配置为采用第二预设算法,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据,包括:确定所述第一待匹配数据的第一数据量;基于所述第二预设算法,对所述第一数据量进行运算,生成截取系数;根据所述截取系数,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据,其中,所述第二预设算法至少为截取算法。
6.根据权利要求5所述的装置,其特征在于,所述过滤模块包括:
提取子模块,被配置为在所述区块链中提取所述第二节点的算法密文,所述算法密文由所述第二节点对所述第二过滤算法进行加密得到的;
处理子模块,被配置为获取所述第二节点的第二公钥,基于第三预设算法,对所述第一节点的第一私钥和所述第二公钥进行处理,生成解密密钥;
解密子模块,被配置为采用所述解密密钥,对所述算法密文进行解密,获取所述第二过滤算法。
7.一种数据匹配装置,其特征在于,所述装置应用于数据共享系统的区块链上的第二节点,所述装置包括:
生成模块,被配置为从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据所述第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据;
过滤模块,被配置为采用所述第一过滤算法对所述至少一个第二前缀数据进行过滤,得到过滤数据;
添加模块,被配置为根据所述过滤数据,生成第二过滤算法,将所述第二过滤算法添加至所述数据共享系统中的区块链,以使所述第一节点在所述区块链中获取所述第二过滤算法,基于所述第二过滤算法确定交集数据;
所述生成模块包括:
获取子模块,被配置为从所述区块链获取所述第一节点的所述第一数据量、所述第一过滤算法及所述第一公钥;
处理子模块,被配置为基于第一预设算法,对所述至少一条第二单条数据进行运算处理,生成至少一个第二运算结果,所述第一预设算法至少为哈希算法;
截取子模块,被配置为根据第二预设算法及所述第一数据量,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据,包括:基于所述第二预设算法,对所述第一数据量进行运算,生成截取系数;根据所述截取系数,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据,其中,所述第二预设算法至少为截取算法。
8.根据权利要求7所述的装置,其特征在于,所述添加模块包括:
处理子模块,被配置为基于第三预设算法,对所述第一公钥和所述第二节点的第二私钥进行处理,生成加密密钥;
加密子模块,被配置为采用所述加密密钥,对所述第二过滤算法进行加密,生成算法密文;
添加子模块,被配置为将所述算法密文添加至所述数据共享系统中的区块链。
9.一种数据匹配装置,其特征在于,所述装置应用于数据共享系统的区块链上的第一节点,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据;根据所述至少一个第一前缀数据生成第一过滤算法,将所述第一待匹配数据的第一数据量、所述第一过滤算法及所述第一节点的第一公钥添加至所述数据共享系统中的区块链;在所述区块链中获取第二过滤算法,基于所述第二过滤算法对所述第一待匹配数据进行过滤,得到交集数据,所述第二过滤算法由第二节点基于所述第一数据量和所述第一过滤算法对所述第二待匹配数据进行过滤生成;
所述基于第一待匹配数据中的至少一条第一单条数据,生成至少一个第一前缀数据包括:
基于第一预设算法,对所述至少一条第一单条数据进行运算处理,生成至少一个第一运算结果,所述第一预设算法至少为哈希算法;
采用第二预设算法,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据,包括:确定所述第一待匹配数据的第一数据量;基于所述第二预设算法,对所述第一数据量进行运算,生成截取系数;根据所述截取系数,对所述至少一个第一运算结果进行截取,得到所述至少一个第一前缀数据,其中,所述第二预设算法至少为截取算法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令被处理器执行以完成权利要求1-2任一项所述的数据匹配方法。
11.一种数据匹配装置,其特征在于,所述装置应用于数据共享系统的区块链上的第二节点,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据所述第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据;采用所述第一过滤算法对所述至少一个第二前缀数据进行过滤,得到过滤数据;根据所述过滤数据,生成第二过滤算法,将所述第二过滤算法添加至所述数据共享系统中的区块链,以使所述第一节点在所述区块链中获取所述第二过滤算法,基于所述第二过滤算法确定交集数据;
所述从区块链获取第一节点的第一数据量、第一过滤算法及第一公钥,根据所述第一数据量对第二待匹配数据中的至少一条第二单条数据进行处理,生成至少一个第二前缀数据包括:
从所述区块链获取所述第一节点的所述第一数据量、所述第一过滤算法及所述第一公钥;
基于第一预设算法,对所述至少一条第二单条数据进行运算处理,生成至少一个第二运算结果,所述第一预设算法至少为哈希算法;
根据第二预设算法及所述第一数据量,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据,包括:基于所述第二预设算法,对所述第一数据量进行运算,生成截取系数;根据所述截取系数,对所述至少一个第二运算结果进行截取,得到所述至少一个第二前缀数据,其中,所述第二预设算法至少为截取算法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令被处理器执行以完成权利要求3-4任一项所述的数据匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810493217.9A CN108768994B (zh) | 2018-05-22 | 2018-05-22 | 数据匹配方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810493217.9A CN108768994B (zh) | 2018-05-22 | 2018-05-22 | 数据匹配方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108768994A CN108768994A (zh) | 2018-11-06 |
CN108768994B true CN108768994B (zh) | 2021-07-27 |
Family
ID=64007602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810493217.9A Active CN108768994B (zh) | 2018-05-22 | 2018-05-22 | 数据匹配方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108768994B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109543772B (zh) * | 2018-12-03 | 2020-08-25 | 北京锐安科技有限公司 | 数据集自动匹配方法、装置、设备和计算机可读存储介质 |
CN112783971B (zh) * | 2020-12-30 | 2023-03-24 | 杭州趣链科技有限公司 | 交易记录方法、交易查询方法、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610995A (zh) * | 2015-10-23 | 2017-05-03 | 华为技术有限公司 | 一种创建密文索引的方法、装置及系统 |
CN107315967A (zh) * | 2017-06-23 | 2017-11-03 | 北京小米移动软件有限公司 | 数据匹配方法、装置及计算机可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9871775B2 (en) * | 2015-08-10 | 2018-01-16 | Cisco Technology, Inc. | Group membership block chain |
CN106131048B (zh) * | 2016-08-13 | 2020-05-19 | 广州商品清算中心股份有限公司 | 一种用于区块链的非信任远程交易文件安全存储系统 |
CN106980649B (zh) * | 2017-02-28 | 2020-07-10 | 创新先进技术有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
CN107196918B (zh) * | 2017-04-27 | 2020-10-30 | 北京小米移动软件有限公司 | 一种匹配数据的方法和装置 |
CN107294709A (zh) * | 2017-06-27 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种区块链数据处理方法、装置及系统 |
CN107483446A (zh) * | 2017-08-23 | 2017-12-15 | 上海点融信息科技有限责任公司 | 用于区块链的加密方法、设备以及系统 |
-
2018
- 2018-05-22 CN CN201810493217.9A patent/CN108768994B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610995A (zh) * | 2015-10-23 | 2017-05-03 | 华为技术有限公司 | 一种创建密文索引的方法、装置及系统 |
CN107315967A (zh) * | 2017-06-23 | 2017-11-03 | 北京小米移动软件有限公司 | 数据匹配方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108768994A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11943343B2 (en) | ECDHE key exchange for server authentication and a key server | |
US11706026B2 (en) | Location aware cryptography | |
Li et al. | KSF-OABE: Outsourced attribute-based encryption with keyword search function for cloud storage | |
US10630472B2 (en) | Method and system for providing encrypted data on a client | |
CN107347096B (zh) | 一种基于云服务器的位置隐私保护方法 | |
US20180013555A1 (en) | Data transmission method and apparatus | |
WO2019214070A1 (zh) | 区块链上用户通信加密方法、装置、终端设备及存储介质 | |
US20180302380A1 (en) | Data tokenization | |
CN107315967B (zh) | 数据匹配方法、装置及计算机可读存储介质 | |
CN105812141A (zh) | 一种面向外包加密数据的可验证交集运算方法及系统 | |
US11128452B2 (en) | Encrypted data sharing with a hierarchical key structure | |
US20230019301A1 (en) | Attribute-based encryption (abe) method with multiple tracing attribute authorities for cloud-assisted internet-of-things (iot) | |
US10887085B2 (en) | System and method for controlling usage of cryptographic keys | |
CN114157415A (zh) | 数据处理方法、计算节点、系统、计算机设备和存储介质 | |
US10929402B1 (en) | Secure join protocol in encrypted databases | |
CN110688666A (zh) | 一种分布式存储中数据加密保存方法 | |
CN111400728A (zh) | 应用于区块链的数据加密解密方法及装置 | |
CN111404892B (zh) | 数据监管方法、装置和服务器 | |
CN108768994B (zh) | 数据匹配方法、装置及计算机可读存储介质 | |
Zhang et al. | Secdedup: Secure encrypted data deduplication with dynamic ownership updating | |
WO2022141014A1 (zh) | 一种基于多用户数据的安全求均值方法 | |
Mohammed et al. | Secure third party auditor (tpa) for ensuring data integrity in fog computing | |
He et al. | Public auditing for encrypted data with client-side deduplication in cloud storage | |
Tang et al. | Efficient cross-user deduplication of encrypted data through re-encryption | |
Yao et al. | A secure hierarchical deduplication system in cloud storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |