首页> 中国专利> 基于联盟区块链的标识解析方法、装置、存储介质及服务器

基于联盟区块链的标识解析方法、装置、存储介质及服务器

摘要

本申请实施例公开了一种基于联盟区块链的标识解析方法、装置、存储介质及服务器,属于计算机技术领域。方法包括:在第一对外节点接收到标识解析请求的情况下,从第一对外节点对应的本地数据库中查询是否存在与标识解析请求中的标识符对应的IPFS哈希值;若未查询到IPFS哈希值,则基于标识解析请求向联盟区块链中除第一对外节点之外的其他节点发送第一查询请求;接收由联盟区块链中响应于第一查询请求的节点发送的IPFS哈希值,并基于IPFS哈希值通过第一对外节点访问IPFS服务,以获取IPFS哈希值对应的标识解析信息,由此可有效提高对标识解析过程的安全性,保证通过标识解析得到的数据不易被篡改。

著录项

  • 公开/公告号CN113315811A

    专利类型发明专利

  • 公开/公告日2021-08-27

    原文格式PDF

  • 申请/专利号CN202110477150.1

  • 申请日2021-04-29

  • 分类号H04L29/08(20060101);H04L29/06(20060101);G06F16/22(20190101);G06F16/23(20190101);G06F16/2458(20190101);

  • 代理机构11528 北京恒博知识产权代理有限公司;

  • 代理人范胜祥

  • 地址 100020 北京市西城区新街口外大街28号D座112室(德胜园区)

  • 入库时间 2023-06-19 12:21:13

说明书

技术领域

本申请涉及计算机技术领域,尤其涉及一种基于联盟区块链的标识解析方法、装置、存储介质及服务器。

背景技术

随着工业互联网的发展,工业互联网标识解析体系也随之得到了广泛应用,在工业互联网中可通过标识控制工业设备、获取和处理工业数据以及实现工业智能化。但随着工业生产的进一步扩展,工业相关的数据将会呈现爆炸式增长,现有的工业互联网标识解析体系难以存储大量的数据,对于标识解析过程的安全性难以保障,且工业互联网标识解析体系中存储的数据还容易遭到篡改。

发明内容

本申请实施例提供了一种基于联盟区块链的标识解析方法、装置、存储介质及服务器,可以解决相关技术中标识解析过程中安全性较低的问题。所述技术方案如下:

第一方面,本申请实施例提供了一种基于联盟区块链的标识解析方法,所述联盟区块链包括至少两个节点,每个所述节点上运行有分布式文件系统IPFS服务,所述方法包括:

在第一对外节点接收到标识解析请求的情况下,从所述第一对外节点对应的本地数据库中查询是否存在与所述标识解析请求中的标识符对应的IPFS哈希值;其中,所述第一对外节点是指所述联盟区块链中用于提供外部访问的节点,所述本地数据库中存储有多个标识符以及各个所述标识符对应的IPFS哈希值;

若未查询到所述IPFS哈希值,则基于所述标识解析请求向所述联盟区块链中除所述第一对外节点之外的其他节点发送第一查询请求;其中,所述第一查询请求用于请求查询与所述标识解析请求中的标识符对应的IPFS哈希值;

接收由所述联盟区块链中响应于所述第一查询请求的节点发送的所述IPFS哈希值,并基于所述IPFS哈希值通过所述第一对外节点访问所述IPFS服务,以获取所述IPFS哈希值对应的标识解析信息。

可选地,所述标识解析请求是指由用户通过终端上传的标识符生成的解析请求,所述标识符用于唯一标识实体。

可选地,所述联盟区块链中的任意一个对外节点中包括部分分布式哈希表,所述部分分布式哈希表为全局分布式哈希表的一部分,所述全局分布式哈希表分布在至少两个不同的联盟区块链的对外节点中,所述全局分布式哈希表至少包括所述第一对外节点及第二对外节点的IP地址与所述IP地址各自对应的标识符;

所述第一对外节点的IP地址由所述第二对外节点基于所述标识解析请求携带的标识符查询所述全局分布式哈希表并发送至所述终端;所述第二对外节点用于接收所述终端发送的标识解析请求。

可选地,所述接收由所述联盟区块链中响应于所述第一查询请求的节点发送的所述IPFS哈希值,并基于所述IPFS哈希值通过所述第一对外节点访问所述IPFS服务,以获取所述IPFS服务中所述IPFS哈希值对应的标识解析信息之后,还包括:

向所述终端发送所述标识解析信息。

可选地,所述接收由所述联盟区块链中响应于所述第一查询请求的节点发送的所述IPFS哈希值之后,还包括:

基于所述IPFS哈希值更新所述第一对外节点对应的本地数据库。

可选地,所述方法,还包括:

若查询到所述IPFS哈希值,基于所述IPFS哈希值通过所述第一对外节点访问IPFS服务,以获取所述IPFS哈希值对应的标识解析信息,并向所述终端发送所述标识解析信息。

可选地,所述获取所述IPFS哈希值对应的标识解析信息之后,还包括:

接收标识验证请求,并基于所述标识验证请求向所述联盟区块链中除所述第一对外节点之外的其他节点发送第二查询请求;其中,所述第二查询请求用于请求查询与所述标识验证请求中的标识符对应的验证哈希值,所述标识验证请求中的标识符与所述标识解析请求中的标识符相同;

接收由所述联盟区块链中响应于所述第二查询请求的节点发送的所述验证哈希值;

对所述验证哈希值与所述IPFS哈希值进行比对分析得到验证结果,并将所述验证结果发送给所述终端。

可选地,所述验证结果用于表征所述标识解析信息是否真实。

第二方面,本申请实施例提供了一种基于联盟区块链的标识解析装置,所述联盟区块链包括至少两个节点,每个所述节点上运行有分布式文件系统IPFS服务,所述装置包括:

查询模块,用于在第一对外节点接收到标识解析请求的情况下,从所述第一对外节点对应的本地数据库中查询是否存在与所述标识解析请求中的标识符对应的IPFS哈希值;其中,所述第一对外节点是指所述联盟区块链中用于提供外部访问的节点,所述本地数据库中存储有多个标识符以及各个所述标识符对应的IPFS哈希值;

第一发送模块,用于若未查询到所述IPFS哈希值,则基于所述标识解析请求向所述联盟区块链中除所述第一对外节点之外的其他节点发送第一查询请求;其中,所述第一查询请求用于请求查询与所述标识解析请求中的标识符对应的IPFS哈希值;

第一接收模块,用于接收由所述联盟区块链中响应于所述第一查询请求的节点发送的所述IPFS哈希值,并基于所述IPFS哈希值通过所述第一对外节点访问所述IPFS服务,以获取所述IPFS哈希值对应的标识解析信息。

可选地,所述标识解析请求是指由用户通过终端上传的标识符生成的解析请求,所述标识符用于唯一标识实体。

可选地,所述联盟区块链中的任意一个对外节点中包括部分分布式哈希表,所述部分分布式哈希表为全局分布式哈希表的一部分,所述全局分布式哈希表分布在至少两个不同的联盟区块链的对外节点中,所述全局分布式哈希表至少包括所述第一对外节点及第二对外节点的IP地址与所述IP地址各自对应的标识符;

所述第一对外节点的IP地址由所述第二对外节点基于所述标识解析请求携带的标识符查询所述全局分布式哈希表并发送至所述终端;所述第二对外节点用于接收所述终端发送的标识解析请求。

可选地,所述装置还包括:

第二发送模块,用于向所述终端发送所述标识解析信息。

可选地,所述装置还包括:

更新模块,用于基于所述IPFS哈希值更新所述第一对外节点对应的本地数据库。

可选地,所述装置还包括:

第一处理模块,用于若查询到所述IPFS哈希值,基于所述IPFS哈希值通过所述第一对外节点访问IPFS服务,以获取所述IPFS哈希值对应的标识解析信息,并向所述终端发送所述标识解析信息。

可选地,所述装置还包括:

第二处理模块,用于接收标识验证请求,并基于所述标识验证请求向所述联盟区块链中除所述第一对外节点之外的其他节点发送第二查询请求;其中,所述第二查询请求用于请求查询与所述标识验证请求中的标识符对应的验证哈希值,所述标识验证请求中的标识符与所述标识解析请求中的标识符相同;

第二接收模块,用于接收由所述联盟区块链中响应于所述第二查询请求的节点发送的所述验证哈希值;

分析模块,用于对所述验证哈希值与所述IPFS哈希值进行比对分析得到验证结果,并将所述验证结果发送给所述终端。

可选地,所述验证结果用于表征所述标识解析信息是否真实。

第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

第四方面,本申请实施例提供一种服务器,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

本申请实施例的方案在执行时,在第一对外节点接收到标识解析请求的情况下,从第一对外节点对应的本地数据库中查询是否存在与标识解析请求中的标识符对应的IPFS哈希值,第一对外节点是指联盟区块链中用于提供外部访问的节点,本地数据库中存储有多个标识符以及各个标识符对应的IPFS哈希值;若未查询到IPFS哈希值,则基于标识解析请求向联盟区块链中除第一对外节点之外的其他节点发送第一查询请求,第一查询请求用于请求查询与标识解析请求中的标识符对应的IPFS哈希值;接收由联盟区块链中响应于第一查询请求的节点发送的IPFS哈希值,并基于IPFS哈希值通过第一对外节点访问IPFS服务,以获取IPFS哈希值对应的标识解析信息,由此可有效提高对标识解析过程的安全性,保证通过标识解析得到的数据不易被篡改。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种系统架构图;

图2是本申请实施例提供的基于联盟区块链的标识解析方法的流程示意图;

图3是本申请实施例提供的基于联盟区块链的标识解析方法的另一流程示意图;

图4是本申请实施例提供的基于联盟区块链的标识解析方法的全局分布式哈希表;

图5是本申请实施例提供的基于联盟区块链的标识解析方法的全局对外节点分布的架构示意图;

图6是本申请实施例提供的一种装置的结构示意图;

图7是本申请实施例提供的一种装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。

图1示出了可以应用于本申请的基于联盟区块链的标识解析方法的示例性系统架构。

本申请以行业类别划分出多个联盟区块链,每个行业类别对应一个联盟区块链,每个联盟区块链可由其对应的行业内的多个管理者共同参与管理,如:按照行业类别可分为农业、科技、艺术三个行业,农业、科技、艺术各自对应有一个联盟区块链,每个联盟区块链由其对应的行业内的管理者共同维护;农业行业对应的联盟区块链上的所有节点由农业行业内的管理者共同维护,科技行业对应的联盟区块链上的所有节点由科技行业内的管理者共同维护,艺术行业对应的联盟区块链上的所有节点由艺术行业内的管理者共同维护。

联盟区块链中包括多个节点,每个节点之间具有一定的互信度,每个节点上运行有分布式文件系统(InterPlanetary File System,IPFS)服务,可将联盟区块链对应的行业的标识解析数据存储在IPFS中,IPFS可根据标识解析数据生成其对应的IPFS哈希值;再将标识解析数据对应的标识符和其对应的IPFS哈希值形成键值对的形式记录到该联盟区块链中,也即将标识符作为键、IPFS哈希值作为值存储到联盟区块链上,记录到联盟区块链中相当于在联盟区块链的每个节点上都写上这条记录。通过使用IPFS服务可降低联盟区块链中的数据冗余、减轻区块链节点的存储负担,可提升了存储空间的利用率。

如图1所示,按照行业类别可划分为行业A联盟区块链101、行业B联盟区块链102和行业C联盟区块链103,行业A联盟区块链101中的各个节点由行业A内的多个管理者共同管理,行业B联盟区块链102中的各个节点由行业B内的多个管理者共同管理,行业C联盟区块链103中的各个节点由行业C内的多个管理者共同管理。以行业A联盟区块链103为例对联盟区块链进行说明,行业A联盟区块链103内有多个节点,包括节点1、节点2、节点3、节点4、……、节点n(如:节点1011、节点1014、节点1015),这n个节点之间互为对等加点,通过P2P动态组网构成一个区中心化的系统。行业A联盟区块链103内的多个管理者可根据需要通过投票选举的方式,从行业A联盟区块链103的多个节点中选举出至少一个对外节点(如:对外节点1012、对外节点1013),对外节点可提供行业A联盟区块链对外的访问接口(提供查询、交互等功能),对外节点也可实现与行业A联盟区块链外部的其他联盟区块链互相访问。相同地,行业B联盟区块链102和行业C联盟区块链103各自对应有至少一个对外节点。

同时,行业A联盟区块链101、行业B联盟区块链102和行业C联盟区块链103各自对应的至少一个对外节点共同构成了全局分布式哈希表(Distributed Hash Table,DHT),全局分布式哈希表中包括不同行业联盟区块链中的至少一个对外节点,其中的每个对外节点均会存储有部分其他对外节点的互联网协议地址(Internet Protocol Address,IP地址),也即每个行业联盟区块链中的任意一个对外节点中包括部分分布式哈希表,部分分布式哈希表为全局DHT的一部分,全局DHT分布在至少两个不同的联盟区块链的对外节点中,全局DHT至少包括至少一个对外节点的IP地址与所述IP地址各自对应的标识符。

需要说明的是,本申请实施例提供的基于联盟区块链的标识解析方法一般由联盟区块链中的对外节点(服务器)执行,相应的,基于联盟区块链的标识解析装置一般设置于联盟区块链中的对外节点(服务器)中。

应理解,图1中的联盟区块链、联盟区块链中的节点和对外节点的数目仅是示意性的。根据现实需要,可以是任意数量的联盟区块链,以及任意数量的节点和对外节点。

下面将结合附图2至附图5,对本申请实施例提供的基于联盟区块链的标识解析方法进行详细介绍。

请参见图2,为本申请实施例提供了一种基于联盟区块链的标识解析方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤:

S201,在第一对外节点接收到标识解析请求的情况下,从第一对外节点对应的本地数据库中查询是否存在与标识解析请求中的标识符对应的IPFS哈希值。

其中,第一对外节点是指联盟区块链中用于提供外部访问的节点(服务器)。标识解析请求是指由用户通过终端上传的标识符生成的解析请求,标识符用于唯一标识实体。对外节点的本地数据库中存储有多个标识符以及各个标识符对应的IPFS哈希值。IPFS哈希值是指IPFS根据上传的内容数据产生与该内容数据唯一对应的存储地址。本地数据库是指第一对外节点中按照数据结构来组织、管理和存储数据的仓库,第一对外节点的本地数据库中可存储有第一对外节点所在联盟区块链中其他节点存储的数据。

一般的,联盟区块链对应的行业内的管理者会通过投票选举的方式从联盟区块链的多个节点中选择至少一个节点作为对外节点,联盟区块链中存储的标识符与IPFS哈希值的对应关系(以键值对的形式存放在区块链的节点中),在确定联盟区块链中的对外节点后,可将联盟区块链中存储的标识符与IPFS哈希值的对应关系全部复制到联盟区块链的对外节点的本地数据库中。用户可通过终端访问第一对外节点提供的万维网(WEB,WorldWide Web)服务,并在WEB服务处输入用户需要获得解析数据的标识符,由该标识符可生成对应的标识解析请求,进而第一对外节点可接收到由终端发送的标识解析请求。第一对外节点可基于该标识解析请求从其对应的本地数据库中查询是否存在与该标识解析请求中的标识符对应的IPFS哈希值。

在一种可行的实施方式中,若第一对外节点可在其本地数据库中查询到标识解析请求中的标识符对应的IPFS哈希值,则直接将查询结果(标识解析请求中的标识符对应的IPFS哈希值)返回给终端,用户可在终端的显示界面上查看到查询结果,再由用户通过终端在第一对外节点的WEB服务上输入IPFS哈希值,使第一对外节点可基于该IPFS哈希值访问第一对外节点上运行的IPFS服务,进而从IPFS服务中获取IPFS哈希值对应的标识解析信息,也即标识解析请求中的标识符对应的标识解析信息。

其中,在第一对外节点从其本地数据库中查询到标识解析请求中的标识符对应的IPFS哈希值时,也可直接通过第一对外节点的WEB服务直接访问第一对外节点上的IPFS服务,以获取该IPFS哈希值对应的标识解析信息。

在另一种可行的实施方式中,若第一对外节点不能在其本地数据库中查询到标识解析请求中的标识符对应的IPFS哈希值时,则第一对外节点可通过向其所在的联盟区块链发起查询请求,以获取标识解析请求中的标识符对应的IPFS哈希值。

S202,若未查询到IPFS哈希值,则基于标识解析请求向联盟区块链中除第一对外节点之外的其他节点发送第一查询请求。

其中,第一查询请求用于请求查询与所述标识解析请求中的标识符对应的IPFS哈希值。

一般的,在第一对外节点未能在其本地数据库中查询到与标识解析请求中的标识符对应的IPFS哈希值时,第一对外节点会向其所在的联盟区块链中的除第一对外节点之外的其他节点发送第一查询请求,联盟区块链中的其他节点会根据该第一查询请求从各自对应的数据库中查询是否存在与所述标识解析请求中的标识符对应的IPFS哈希值。若联盟区块链中的其他节点能查询到该IPFS哈希值,则该节点会响应于所述第一查询请求,从该节点对应的数据库中获取该IPFS哈希值,并将该IPFS哈希值发送给第一对外节点。若联盟区块链中的其他节点未能查询到该IPFS哈希值,则向所述第一对外节点发送查询失败的查询结果。

S203,接收由联盟区块链中响应于第一查询请求的节点发送的IPFS哈希值,并基于IPFS哈希值通过第一对外节点访问IPFS服务,以获取IPFS哈希值对应的标识解析信息。

其中,IPFS服务是指分布式文件存储服务,IPFS是一种点对点的分布式版本文件系统,将所有具有相同文件系统的设备(节点)连接在一起,通过接收用户发送的哈希值获取IPFS中存储的与所述哈希值对应的内容。IPFS可根据上传的内容数据产生与该内容数据唯一对应的存储地址(IPFS哈希值)。在联盟区块链中,联盟区块链上的各个节点上均运行有IPFS服务,可通过联盟区块链上的各个节点向IPFS发送需要查询的IPFS哈希值的方式,从IPFS中获取该IPFS哈希值对应的内容数据。标识解析信息是指标识符对应的实体详细的内容数据,如:唯一标识一辆汽车的标识符可唯一对应有一份标识解析信息,该标识解析信息可以包括汽车的生产日期、生产材料、生产地址、生产规格、生产商、生产员工等一系列与该汽车相关的详细信息。

一般的,在第一对外节点接收到由联盟区块链中的节点发送的IPFS哈希值后,可通过第一对外节点的WEB服务直接访问第一对外节点上的IPFS服务,并将该IPFS哈希值上传至IPFS。IPFS可基于第一对外节点上传的IPFS哈希值,可查询到与该IPFS哈希值对应的标识解析信息,并将该标识解析信息返回给第一对外节点,第一对外节点将该标识解析信息转发给用户使用的终端,使用户可通过终端的显示单元上查看到用户输入的标识符对应的标识解析信息。

举例说明:汽车行业对应有汽车联盟区块链,该汽车联盟区块链的每个节点上均运行有IPFS服务,在一台汽车A生产出来之后,会生成一个与该汽车A对应的标识符A。同时,汽车联盟区块链的管理者会将该标识符A和该汽车A对应的生产日期、生产材料、生产地址、生产规格、生产商、生产员工等一系列与该汽车相关的详细信息,通过联盟区块链上的任意一个节点上传至IPFS中,也即将该标识符和该汽车A对应的标识解析信息通过联盟区块链上的任意一个节点上传至IPFS中。同时,IPFS会根据该标识符和该汽车A对应的标识解析信息生成与该标识解析信息对应的IPFS哈希值,并对标识符A和该IPFS哈希值进行处理形成键值对(标识符A作为键值对中的键,IPFS哈希值作为键值对中的值)后记录到汽车联盟区块链上。

用户在需要对标识符A进行标识解析时,可通过终端访问第一对外节点,并在第一对外节点提供的WEB服务界面上输入的标识符A,由该标识符A可生成其对应的标识解析请求,进而第一对外节点可接收到由终端发送的标识解析请求。第一对外节点可基于该标识解析请求从其对应的本地数据库中查询是否存在与该标识解析请求中的标识符A对应的IPFS哈希值。

若第一对外节点可在其本地数据库中查询到标识解析请求中的标识符A对应的IPFS哈希值,则直接通过第一对外节点的WEB服务直接访问第一对外节点上的IPFS服务,以获取该IPFS哈希值对应的标识解析信息。在第一对外节点获取到该标识解析信息后,会将该标识解析信息发送给终端,使用户可通过终端查看到汽车A对应的生产日期、生产材料、生产地址、生产规格、生产商、生产员工等一系列与该汽车相关的详细信息。

若第一对外节点不能在其本地数据库中查询到标识解析请求中的标识符A对应的IPFS哈希值时,则第一对外节点可通过向其所在的汽车联盟区块链发起查询请求,以获取标识解析请求中的标识符A对应的IPFS哈希值。汽车联盟区块链中的其他节点在查询到标识符A对应的IPFS哈希值后,会将该IPFS哈希值发送给第一对外节点。第一对外节点会基于该IPFS哈希值通过访问IPFS服务,以获取IPFS哈希值对应的标识解析信息。在第一对外节点获取到该标识解析信息后,会将该标识解析信息发送给终端,使用户可通过终端查看到汽车A对应的生产日期、生产材料、生产地址、生产规格、生产商、生产员工等一系列与该汽车相关的详细信息。

本申请实施例的方案在执行时,在第一对外节点接收到标识解析请求的情况下,从第一对外节点对应的本地数据库中查询是否存在与标识解析请求中的标识符对应的IPFS哈希值,第一对外节点是指联盟区块链中用于提供外部访问的节点,本地数据库中存储有多个标识符以及各个标识符对应的IPFS哈希值;若未查询到IPFS哈希值,则基于标识解析请求向联盟区块链中除第一对外节点之外的其他节点发送第一查询请求,第一查询请求用于请求查询与标识解析请求中的标识符对应的IPFS哈希值;接收由联盟区块链中响应于第一查询请求的节点发送的IPFS哈希值,并基于IPFS哈希值通过第一对外节点访问IPFS服务,以获取IPFS哈希值对应的标识解析信息。由于本申请同时利用了区块链、IPFS服务以及全局DHT的特性,故可支持解析各种不同类型的标识符,兼容性极强,并有效提高了标识解析过程的安全性,保证通过标识解析得到的数据不易被篡改。

请参见图3,为本申请实施例提供了一种基于联盟区块链的标识解析方法的流程示意图。本实施例以基于联盟区块链的标识解析方法应用于服务器中来举例说明。该基于联盟区块链的标识解析方法可以包括以下步骤:

需要说明的是:在本申请中以行业类别划分出多个联盟区块链,每个行业类别对应一个联盟区块链,每个联盟区块链可由其对应的行业内的多个管理者共同参与管理。每个联盟区块链对应的行业内的管理者会通过投票选举的方式从各自的联盟区块链的多个节点中选择至少一个节点作为对外节点。每个联盟区块链中均存储由其行业内的标识符与IPFS哈希值的对应关系(以键值对的形式存放在联盟区块链的节点中),在确定各个联盟区块链中的至少一个对外节点后,可将各个联盟区块链中各自存储的标识符与IPFS哈希值的对应关系全部复制到各个联盟区块链对应的至少一个对外节点的本地数据库中,使得至少一个对外节点可查询到终端发送的标识符对应的IPFS哈希值。

同时,各个联盟区块链中各自对应的至少一个对外节点共同构成了全局分布式哈希表DHT,全局分布式哈希表中包括各个联盟区块链中的至少一个对外节点,也即全局DHT中可以包括各个不同行业联盟区块链中的多个对外节点,也可以包括一个行业联盟区块链中的多个对外节点。其中的每个对外节点均会存储有部分其他对外节点的IP地址,也即每个联盟区块链中的任意一个对外节点中包括部分分布式哈希表。部分分布式哈希表为全局DHT的一部分,全局DHT分布在至少两个不同的联盟区块链的对外节点中,全局DHT至少包括至少一个对外节点的IP地址与所述IP地址各自对应的标识符。任意一个对外节点在获取到终端发送的一个未知标识符后,若该对外节点不能查询该未知标识符对应的信息时,该对外节点可通过全局DHT查询到该未知标识符对应的对外节点的IP地址,并将该IP地址返回给终端,使用户可基于该IP地址确定可查询该未知标识符的对外节点。

举例说明:请参见图4的全局分布式哈希表,全局分布式哈希表中可包对外节点40、对外节点41、对外节点42、对外节点43、对外节点44和对外节点45,以及各个对外节点各自对应的IP地址和各自可进行标识解析的标识符。每个对外节点中均存储有部分全局分布式哈希表中其他对外节点的IP地址及IP地址对应的标识符,请参见表1所示的上述对外节点中各自存储的标识符与标识符对应的对外节点IP地址的关系。若用户首次通过终端访问的对外节点为对外节点40,且用户需要查询的标识符为0110,则对外节点40接收到该标识符0110后,通过查询其本地存储的数据可知,对外节点40不是能对该标识符0110进行标识解析的对外节点,对外节点40只能对标识符0011进行标识解析。对外节点40可根据其本地存储的数据向IP地址为192.168.139.5的对外节点42发送标识符0110,对外节点42接收到该标识符0110后,通过查询其本地存储的数据可知,对外节点42也不是能对该标识符0110进行标识解析的对外节点,对外节点42只能对标识符0101进行标识解析,但对外节点42查询到标识符0110对应的对外节点的IP地址为192.168.139.6,也即标识符0110对应的对外节点为对外节点43。此时,对外节点42可将所查询到的结果(标识符0110对应的对外节点为对外节点43)返回给对外节点40,进而对外节点40将标识符0110对应的IP地址返回给终端,使用户可通过终端获知标识符0110需要通过对外节点43才能进行标识解析,进而用户可将当前的对外节点40切换到对外节点43对标识符0110进行标识解析。

表1

举例说明:请参见图5的全局对外节点分布的架构示意图,图中包括三个不同行业的联盟区块链:行业A联盟区块链50、行业B联盟区块链51和行业C联盟区块链52。行业A联盟区块链50中有对外节点A,行业B联盟区块链51中有对外节点B,行业C联盟区块链52中有对外节点C。若用户需要查询标识符0110,且通过终端首次访问的是对外节点A,对外节点A通过直接查询本地保存的部分分布式哈希表可知,标识符0110对应的对外节点的IP地址为行业B联盟区块链51中的对外节点B的IP地址,故对外节点A将对外节点B的IP地址返回给终端,用户在通过终端获知标识符0110需要在行业B联盟区块链51的对外节点B处查询后,可将当前的对外节点A切换至对外节点B,并在行业B联盟区块链51的对外节点B上执行对标识符的标识解析过程。

S301,在第一对外节点接收到标识解析请求的情况下,从第一对外节点对应的本地数据库中查询是否存在与标识解析请求中的标识符对应的IPFS哈希值。

其中,第一对外节点是可以对标识解析请求中的标识符进行标识解析的对外节点。若用户首次通过终端访问的对外节点(第二对外节点,此时第二对外节点接收终端发送的标识解析请求)不是用户需要进行标识解析的标识符对应的对外节点时,该对外节点(第二对外节点)可基于该标识解析请求携带的标识符通过查询DHT获知该标识符对应的对外节点的IP地址(第一对外节点的IP地址),并将该IP地址(第一对外节点的IP地址)返回给终端,使用户可通过终端将当前的对外节点切换到该IP地址对应的对外节点(第一对外节点),并基于切换后的对外节点(第一对外节点)进行标识解析。

具体地,请参见步骤S201,此处不再赘述。

S302,若查询到IPFS哈希值,基于IPFS哈希值通过第一对外节点访问IPFS服务,以获取IPFS哈希值对应的标识解析信息,并向终端发送标识解析信息。

其中,IPFS服务是指分布式文件存储服务,IPFS是一种点对点的分布式版本文件系统,将所有具有相同文件系统的设备连接在一起,通过接收用户发送的哈希值获取IPFS中存储的与所述哈希值对应的内容。IPFS可根据上传的内容数据产生与该内容数据唯一对应的存储地址(IPFS哈希值)。

一般的,在联盟区块链中,联盟区块链上的各个节点上均运行有IPFS服务,可通过联盟区块链上的各个节点向IPFS发送需要查询的IPFS哈希值的方式,从IPFS中获取该IPFS哈希值对应的内容数据。

在一种可行的实施方式中,第一对外节点会根据在其对应的本地数据库中查询到的IPFS哈希值,通过第一对外节点的WEB服务直接访问第一对外节点上的IPFS服务,并将该IPFS哈希值上传至IPFS。IPFS可基于第一对外节点上传的IPFS哈希值,可查询到与该IPFS哈希值对应的标识解析信息,并将该标识解析信息返回给第一对外节点,第一对外节点将该标识解析信息转发给用户使用的终端,使用户可通过终端的显示单元上查看到用户输入的标识符对应的标识解析信息。

在另一种可行的实施方式中,第一对外节点会将在其对应的本地数据库中查询到的IPFS哈希值发送给终端,由终端处的用户根据需要,通过终端将IPFS哈希值输入到第一对外节点的WEB服务中,第一对外节点可基于WEB服务处获取的IPFS哈希值访问第一对外节点上运行的IPFS服务,进而从IPFS服务中获取IPFS哈希值对应的标识解析信息,并将该标识解析信息返回给第一对外节点,第一对外节点将该标识解析信息转发给用户使用的终端,使用户可通过终端的显示单元上查看到用户输入的标识符对应的标识解析信息。

S303,若未查询到IPFS哈希值,则基于标识解析请求向联盟区块链中除第一对外节点之外的其他节点发送第一查询请求。

具体地,可参见步骤S202,此处不再赘述。

S304,接收由联盟区块链中响应于第一查询请求的节点发送的IPFS哈希值,并基于IPFS哈希值通过第一对外节点访问IPFS服务,以获取IPFS哈希值对应的标识解析信息。

具体地,可参见步骤S203,此处不再赘述。

S305,基于IPFS哈希值更新第一对外节点对应的本地数据库,并向终端发送标识解析信息。

一般的,联盟区块链中会有多个节点,联盟区块链的管理者可根据实际需要,通过投票选举的方式从多个节点中选择至少一个对外节点,并将联盟区块链的其他节点存储的数据备份到至少一个对外节点的本地数据库中。即第一对外节点对应的本地数据库中会存储有第一对外节点所在联盟区块链中其他节点存储的数据,也即第一对外节点对应的本地数据库中存储的数据可与联盟区块链的其他节点中存储的数据相同。通常,从第一对外节点中查询数据可相当于从联盟区块链中查询数据,但由于联盟区块链中的其他节点可能会随时更新数据,而第一对外节点的本地数据库中存储的数据可能会存在更新滞后情况。当联盟区块链的其他节点中存储有新的标识符与其对应的IPFS哈希值的键值对,而第一对外节点的本地数据库中又未能备份到该键值对信息时,在第一对外节点像联盟区块链中的其他节点发起查询请求,并获得联盟区块链中的其他节点发送的IPFS哈希值,第一对外节点会基于本次查询的标识符和由联盟区块链查询到的IPFS哈希值对本地数据库中存储的信息进行更新,便于后续对该标识符进行快速标识解析。同时,第一对外节点会将由联盟区块链的其他节点查询到标识解析信息发送给终端,使用户可通过终端的显示单元上直观地查看到用户所查询的标识符对应的标识解析信息,由此实现标识解析过程,极大地保证了标识解析过程的安全性。

S306,接收标识验证请求,并基于标识验证请求向联盟区块链中除第一对外节点之外的其他节点发送第二查询请求。

其中,标识验证请求是指由用户通过终端输入待验证的标识符生成的验证请求,且标识验证请求中的标识符与上述标识解析请求中的标识符相同。第二查询请求用于请求查询与标识验证请求中的标识符对应的验证哈希值,验证哈希值也即从联盟区块链中除第一对外节点之外的其他节点中查询到的IPFS哈希值。

一般的,用户可通过终端访问第一对外节点提供的WEB服务,并在WEB服务处输入用户需要获得验证的标识符,由该标识符可生成对应的标识验证请求,进而第一对外节点可接收到由终端发送的标识验证请求。此时,第一对外节点可基于该标识验证请求生成第二查询请求,并向联盟区块链中除第一对外节点之外的其他节点发送该第二查询请求。联盟区块链中的其他节点接收到该第二查询请求后,会查询各自对应的数据库中是否存在与该第二查询请求中的标识符对应的IPFS哈希值,若联盟区块链中有节点查询到该IPFS哈希值,则该节点响应于第二查询请求,向第一对外节点发送该IPFS哈希值,也即向第一对外节点发送验证哈希值。

S307,接收由联盟区块链中响应于第二查询请求的节点发送的验证哈希值。

其中,验证哈希值是指在标识验证过程中根据需要验证的标识符查询得到的IPFS哈希值,该验证哈希值是直接从联盟区块链中查询得到的。标识解析过程中查询得到的IPFS哈希值,可以是直接从第一对外节点的本地数据库中查询得到的,也可以是从联盟区块链中查询得到的。

S308,对验证哈希值与IPFS哈希值进行比对分析得到验证结果,并将验证结果发送给终端。

其中,验证结果用于表征由标识解析过程得到的标识解析信息是否真实。

一般的,用户通过上述标识解析过程获得标识符对应的标识解析信息后,用户对于所得到的标识解析信息是否真实是未知的,故用户可通过向第一对外节点发起验证请求。第一对外节点基于由终端发送的用户需要验证的标识符,向联盟区块链发送第二查询请求,此时是直接通过向联盟区块链中的其他节点进行查询的过程,所能获得到的是用户需要验证的标识符对应的IPFS哈希值(验证哈希值)。由于联盟区块链中存储的数据不易被篡改、安全性高,直接从联盟区块链中查询得到的验证哈希值可以认为是真实的、未被篡改的IPFS哈希值。而第一对外节点的本地数据库中存储的IPFS哈希值容易出现失效、丢失、被篡改的情况,导致第一对外节点从本地数据库中查询得到的IPFS哈希值可能是错误的IPFS哈希值,进而导致第一对外节点基于错误的IPFS哈希值从IPFS中查询得到的标识解析信息并非用户需要解析的标识符对应的标识解析信息。

用户在需要验证所得到的标识解析信息是否为用户查询的标识符对应的标识解析信息时,用户可通过在终端访问第一对外节点提供的WEB服务,并在WEB服务处输入用户需要获得验证的标识符,第一对外节点基于该标识符向其所在的联盟区块链发送查询该标识符对应的IPFS哈希值的查询请求,进而可直接从联盟区块链的数据库中查询到该标识符对应的IPFS哈希值(验证哈希值)。以验证哈希值为验证的标准,将所得到的验证哈希值与上述标识解析过程得到IPFS哈希值进行比对分析:若上述标识解析过程得到IPFS哈希值与验证哈希值相同,则表明在上述标识解析过程中查询到的IPFS哈希值未被篡改或丢失,验证结果为标识解析信息真实;若上述标识解析过程得到IPFS哈希值与验证哈希值不同,则表明在上述标识解析过程中查询到的IPFS哈希值可能遭到被篡改或丢失,验证结果为标识解析信息不真实。由此,可快速实现对标识解析过程的验证,用户可便捷地获知得到的标识解析信息是否有效或真实,以及通过标识符进行标识溯源和标识验证,极大地提升了用户体验。

举例说明:用户通过上述标识解析过程查询得到汽车A的标识符A对应的IPFS哈希值为123(该IPFS哈希值是通过第一对外节点对应的本地数据库中查询得到的),基于该IPFS哈希值进一步可查询得到其对应的标识解析信息A。用户想要对所得到的标识解析信息A进行验证,则用户通过在终端访问第一对外节点提供的WEB服务,并在WEB服务处输入标识符A。第一对外节点基于标识符A向其所在的联盟区块链发送查询该标识符A对应的IPFS哈希值的查询请求,进而可直接从联盟区块链的数据库中查询到该标识符A对应的IPFS哈希值为223,也即直接从联盟区块链中查询到标识符A对应的验证哈希值为223。以验证哈希值223为标准,将标识解析过程得到的IPFS哈希值123与该验证哈希值进行比对分析,可知标识解析过程得到的IPFS哈希值不正确,也即第一对外节点对应的本地数据库中存储的标识符A对应的IPFS哈希值遭到篡改,因而标识解析过程中得到的标识解析信息A不真实。

本申请实施例的方案在执行时,在第一对外节点接收到标识解析请求的情况下,从第一对外节点对应的本地数据库中查询是否存在与标识解析请求中的标识符对应的IPFS哈希值,若查询到IPFS哈希值,基于IPFS哈希值通过第一对外节点访问IPFS服务,以获取IPFS哈希值对应的标识解析信息,并向终端发送标识解析信息,若未查询到IPFS哈希值,则基于标识解析请求向联盟区块链中除第一对外节点之外的其他节点发送第一查询请求,接收由联盟区块链中响应于第一查询请求的节点发送的IPFS哈希值,并基于IPFS哈希值通过第一对外节点访问IPFS服务,以获取IPFS哈希值对应的标识解析信息,基于IPFS哈希值更新第一对外节点对应的本地数据库,并向终端发送标识解析信息,接收标识验证请求,并基于标识验证请求向联盟区块链中除第一对外节点之外的其他节点发送第二查询请求,接收由联盟区块链中响应于第二查询请求的节点发送的验证哈希值,对验证哈希值与IPFS哈希值进行比对分析得到验证结果,并将验证结果发送给终端。由于本申请同时利用了区块链、IPFS服务以及全局DHT的特性,故可支持解析各种不同类型的标识符,兼容性极强,并有效提高了标识解析过程的安全性,保证通过标识解析得到的数据不易被篡改,同时也能对通过标识解析得到的数据进行验证,以确定得到的数据是否遭到篡改,提升用户使用体验。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参见图6,其示出了本申请一个示例性实施例提供的基于联盟区块链的标识解析装置的结构示意图。以下简称装置6,装置6可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。装置6包括查询模块601、第一发送模块602和第一接收模块603。

查询模块601,用于在第一对外节点接收到标识解析请求的情况下,从所述第一对外节点对应的本地数据库中查询是否存在与所述标识解析请求中的标识符对应的IPFS哈希值;其中,所述第一对外节点是指所述联盟区块链中用于提供外部访问的节点,所述本地数据库中存储有多个标识符以及各个所述标识符对应的IPFS哈希值;

第一发送模块602,用于若未查询到所述IPFS哈希值,则基于所述标识解析请求向所述联盟区块链中除所述第一对外节点之外的其他节点发送第一查询请求;其中,所述第一查询请求用于请求查询与所述标识解析请求中的标识符对应的IPFS哈希值;

第一接收模块603,用于接收由所述联盟区块链中响应于所述第一查询请求的节点发送的所述IPFS哈希值,并基于所述IPFS哈希值通过所述第一对外节点访问所述IPFS服务,以获取所述IPFS哈希值对应的标识解析信息。

可选地,所述标识解析请求是指由用户通过终端上传的标识符生成的解析请求,所述标识符用于唯一标识实体。

可选地,所述联盟区块链中的任意一个对外节点中包括部分分布式哈希表,所述部分分布式哈希表为全局分布式哈希表的一部分,所述全局分布式哈希表分布在至少两个不同的联盟区块链的对外节点中,所述全局分布式哈希表至少包括所述第一对外节点及第二对外节点的IP地址与所述IP地址各自对应的标识符;

所述第一对外节点的IP地址由所述第二对外节点基于所述标识解析请求携带的标识符查询所述全局分布式哈希表并发送至所述终端;所述第二对外节点用于接收所述终端发送的标识解析请求。

可选地,所述装置6还包括:

第二发送模块,用于向所述终端发送所述标识解析信息。

可选地,所述装置6还包括:

更新模块,用于基于所述IPFS哈希值更新所述第一对外节点对应的本地数据库。

可选地,所述装置6还包括:

第一处理模块,用于若查询到所述IPFS哈希值,基于所述IPFS哈希值通过所述第一对外节点访问IPFS服务,以获取所述IPFS哈希值对应的标识解析信息,并向所述终端发送所述标识解析信息。

可选地,所述装置6还包括:

第二处理模块,用于接收标识验证请求,并基于所述标识验证请求向所述联盟区块链中除所述第一对外节点之外的其他节点发送第二查询请求;其中,所述第二查询请求用于请求查询与所述标识验证请求中的标识符对应的验证哈希值,所述标识验证请求中的标识符与所述标识解析请求中的标识符相同;

第二接收模块,用于接收由所述联盟区块链中响应于所述第二查询请求的节点发送的所述验证哈希值;

分析模块,用于对所述验证哈希值与所述IPFS哈希值进行比对分析得到验证结果,并将所述验证结果发送给所述终端。

可选地,所述验证结果用于表征所述标识解析信息是否真实。

需要说明的是,上述实施例提供的装置6在执行基于联盟区块链的标识解析方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于联盟区块链的标识解析方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2~图3所示实施例的方法步骤,具体执行过程可以参见图2~图3所示实施例的具体说明,在此不进行赘述。

本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的基于联盟区块链的标识解析方法。

图7为本申请实施例提供的一种基于联盟区块链的标识解析装置结构示意图,以下简称装置7,装置7可以集成于前述服务器或终端设备中,如图7所示,该装置包括:存储器702、处理器701、输入装置703、输出装置704和通信接口。

存储器702可以是独立的物理单元,与处理器701、输入装置703和输出装置704可以通过总线连接。存储器702、处理器701、输入装置703和输出装置704也可以集成在一起,通过硬件实现等。

存储器702用于存储实现以上方法实施例,或者装置实施例各个模块的程序,处理器701调用该程序,执行以上方法实施例的操作。

输入装置702包括但不限于键盘、鼠标、触摸面板、摄像头和麦克风;输出装置包括但限于显示屏。

通信接口用于收发各种类型的消息,通信接口包括但不限于无线接口或有线接口。

可选地,当上述实施例的基于联盟区块链的标识解析方法中的部分或全部通过软件实现时,装置也可以只包括处理器。用于存储程序的存储器位于装置之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。

处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。

处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。

存储器可以包括易失性存储器(volatile memory),例如存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。

其中,处理器701调用存储器702中的程序代码用于执行以下步骤:

在第一对外节点接收到标识解析请求的情况下,从所述第一对外节点对应的本地数据库中查询是否存在与所述标识解析请求中的标识符对应的IPFS哈希值;其中,所述第一对外节点是指所述联盟区块链中用于提供外部访问的节点,所述本地数据库中存储有多个标识符以及各个所述标识符对应的IPFS哈希值;

若未查询到所述IPFS哈希值,则基于所述标识解析请求向所述联盟区块链中除所述第一对外节点之外的其他节点发送第一查询请求;其中,所述第一查询请求用于请求查询与所述标识解析请求中的标识符对应的IPFS哈希值;

接收由所述联盟区块链中响应于所述第一查询请求的节点发送的所述IPFS哈希值,并基于所述IPFS哈希值通过所述第一对外节点访问所述IPFS服务,以获取所述IPFS哈希值对应的标识解析信息。

在一个或多个实施例中,所述标识解析请求是指由用户通过终端上传的标识符生成的解析请求,所述标识符用于唯一标识实体。

在一个或多个实施例中,所述联盟区块链中的任意一个对外节点中包括部分分布式哈希表,所述部分分布式哈希表为全局分布式哈希表的一部分,所述全局分布式哈希表分布在至少两个不同的联盟区块链的对外节点中,所述全局分布式哈希表至少包括所述第一对外节点及第二对外节点的IP地址与所述IP地址各自对应的标识符;

所述第一对外节点的IP地址由所述第二对外节点基于所述标识解析请求携带的标识符查询所述全局分布式哈希表并发送至所述终端;所述第二对外节点用于接收所述终端发送的标识解析请求。

在一个或多个实施例中,处理器701还用于:

向所述终端发送所述标识解析信息。

在一个或多个实施例中,处理器701还用于:

基于所述IPFS哈希值更新所述第一对外节点对应的本地数据库。

在一个或多个实施例中,处理器701还用于:

若查询到所述IPFS哈希值,基于所述IPFS哈希值通过所述第一对外节点访问IPFS服务,以获取所述IPFS哈希值对应的标识解析信息,并向所述终端发送所述标识解析信息。

在一个或多个实施例中,处理器701还用于:

接收标识验证请求,并基于所述标识验证请求向所述联盟区块链中除所述第一对外节点之外的其他节点发送第二查询请求;其中,所述第二查询请求用于请求查询与所述标识验证请求中的标识符对应的验证哈希值,所述标识验证请求中的标识符与所述标识解析请求中的标识符相同;

接收由所述联盟区块链中响应于所述第二查询请求的节点发送的所述验证哈希值;

对所述验证哈希值与所述IPFS哈希值进行比对分析得到验证结果,并将所述验证结果发送给所述终端。

在一个或多个实施例中,所述验证结果用于表征所述标识解析信息是否真实。

本申请实施例还提供了一种计算机存储介质,存储有计算机程序,该计算机程序用于执行上述实施例提供的基于联盟区块链的标识解析方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的基于联盟区块链的标识解析方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号