基于公链的区块链网络寻址方法与流程

文档序号:23676495发布日期:2021-01-23 08:11阅读:155来源:国知局
基于公链的区块链网络寻址方法与流程

[0001]
本申请涉及区块链技术领域,尤其涉及一种基于公链的区块链网络寻址方法。


背景技术:

[0002]
区块链技术的主要任务,是按照去中心化的系统要求,基于公众共识的方式,创建一个相对客观的抗抵赖数字环境。基于区块链技术,可以保证网络信息的真实性,例如,区块链网络中发生一笔交易,网络中的节点会根据交易信息生成记载交易内容的区块数据,并将区块数据进行全网广播,网络中的其他节点同时存储区块数据,形成不可更改的区块链。其中,所述交易具有广义性,不是指传统意义上的“商品买卖”、“物品交换”,而是指区块链网络上的某种数据操作内容或操作结果,例如,在网络上某个区块链节点a发起一个某型号通信设备性能的查询请求a,所述查询请求a对于承担查询服务的区块链节点b来说就是一笔交易。同理,节点b将查询得到的该型号通信设备的性能表b发送给节点a也是一笔交易。信息a、a和信息b、b作为交易信息会被写入区块链的数据块中。
[0003]
可见,基于区块链技术的交易,本质上是两个节点之间的交易。传统交易需要发起节点明确或已经获知目标节点的地址信息,以通过该地址信息查找到目标节点,进而完成交易。然而,由于跨链交易发生在两个不同的区块链之间,每个区块链的信息彼此独立、互不兼容,因此,在跨链交易的情况下,一个区块链的作为交易发起方的节点无法直接获取到另一个区块链的作为交易目标方的节点的地址信息。
[0004]
为了获取到目标节点的地址信息,可以在当前区块链网络中存储其它区块链节点的地址列表,所述地址列表中记载有区块链集合中任何一个区块链的能够作为交易目标的节点地址信息。如果发起节点发起交易,需要在地址列表中查询对应目标节点的地址信息,并按照查询到的地址信息与目标节点进行交易。然而,这种方法仅适用于已经签约的可以进行跨链交易的网络环境下。在实际的区块链部署过程中,根据应用领域不同,会布置不同类型的公链、联盟链或行业链,这些链之间均有发生跨链交易的可能,因此,需要在每个链中的每个节点都存储地址列表,占据大量的存储资源。
[0005]
另外,大部分区块链具有动态调整功能,即每一个区块链中随时都有节点上线或下线,使得节点地址动态变化,因此,对于区块链中的任意节点来说,需要不断更新存储的地址列表,以适应其它区块链中节点的上线或下线,或地址的变化。这使得区块链网络需要不断更新地址列表,浪费或占用网络带宽较多,降低交易效率。


技术实现要素:

[0006]
本申请提供了一种基于公链的区块链网络寻址方法,以解决传统网络寻址方法在节点上线或下线时,需要不断更新地址列表,占用网络带宽的问题。
[0007]
一方面,本申请提供一种基于公链的区块链网络寻址方法,包括:
[0008]
交易发起节点向公链中的地址管理节点发起地址查询交易;所述公链中的部分节点被配置为地址管理节点和存储节点,多个地址管理节点和存储节点组成地址管理网络;
[0009]
所述地址管理节点根据所述地址查询交易生成地址查询信息,以及在地址管理网络内广播所述地址查询信息;
[0010]
地址管理网络中的存储节点根据所述地址查询信息,在地址索引表中匹配交易目标节点的地址信息;
[0011]
如果在地址索引表中匹配到交易目标节点的地址信息,所述存储节点发送所述地址信息至所述交易发起节点。
[0012]
可选的,所述方法还包括:
[0013]
所述地址管理节点周期性广播地址确认信息;
[0014]
接收到所述地址确认信息的节点反馈当前地址信息至所述地址管理节点;所述当前地址信息为节点的网络地址、终端mac地址以及统一标识地址中的一种;
[0015]
所述地址管理节点根据所述当前地址信息创建和/或更新地址索引表中的表项。
[0016]
可选的,交易发起节点向公链中的地址管理节点发起地址查询交易的步骤包括:
[0017]
提取预发起交易中的交易摘要;
[0018]
通过公链智能合约生成带有所述交易摘要的地址查询交易,以及根据所述交易摘要判断预发起交易是否为跨链交易;
[0019]
如果预发起交易不是跨链交易,向公链网络节点广播所述地址查询交易;
[0020]
如果预发起交易是跨链交易,向交易发起节点对应的平行链节点发送所述地址查询交易;
[0021]
平行链节点向公链网络广播所述地址查询交易。
[0022]
可选的,所述平行链节点中存储有邻近地址管理节点的地址信息,所述方法还包括:
[0023]
平行链节点直接向邻近地址管理节点发送所述地址查询交易。
[0024]
可选的,所述方法还包括:
[0025]
新接入节点根据公链网络的地址加密算法将当前地址信息加密为地址公钥,以及在公链网络中广播所述地址公钥;
[0026]
接收到所述地址公钥的地址管理节点,解析所述地址公钥,获得当前地址信息;
[0027]
所述地址管理节点将所述当前地址信息在所述地址管理网络中广播,以存储在存储节点的地址索引表内。
[0028]
另一方面,本申请还提供一种基于公链的区块链网络寻址方法,包括:
[0029]
交易发起节点向公链广播地址查询交易;所述公链中的部分节点被配置为地址管理节点;
[0030]
接收到所述地址查询交易的地址管理节点,在指定范围内公链和/或接入公链的子链中广播地址查询信息;
[0031]
接收到所述地址查询信息的公链节点或子链节点,根据所述地址查询信息反馈当前地址信息至地址管理节点;
[0032]
所述地址管理节点发送当前地址信息至所述交易发起节点。
[0033]
可选的,所述公链节点被划分为多个子区域,每个子区域中包括至少一个所述地址管理节点,所述方法还包括:
[0034]
接收到所述地址查询交易的地址管理节点,在所属子区域内广播地址查询信息;
[0035]
如果所属子区域内的节点未反馈地址信息至地址管理节点,所述地址管理节点向所属子区域邻近的子区域广播地址查询信息。
[0036]
可选的,接收到所述地址查询信息的公链节点或子链节点,根据所述地址查询信息反馈当前地址信息至地址管理节点的步骤包括:
[0037]
接收到所述地址查询信息的公链节点或子链节点解析所述地址查询信息,以及根据预设交易类型判断是否能够完成所述地址查询信息指定的交易;
[0038]
如果所述公链节点或子链节点能够完成所述地址查询信息指定的交易,向所述地址管理节点反馈当前地址信息;
[0039]
如果所述公链节点或子链节点不能完成所述地址查询信息指定的交易,向所述公链节点或子链节点邻近的节点广播所述地址查询信息。
[0040]
可选的,接入公链的子链包括第三方区块链,所述第三方区块链通过平行链接入所述公链,接收到所述地址查询交易的地址管理节点,在指定范围内公链和/或接入公链的子链中广播地址查询信息的步骤,包括:
[0041]
所述地址管理节点向平行链节点广播所述地址查询信息;
[0042]
平行链节点按照对应第三方区块链的智能合约形式,在所述第三方区块链内广播所述地址查询信息。
[0043]
可选的,所述方法还包括:
[0044]
接收到所述地址查询信息的第三方区块链节点根据预设交易类型判断是否能够完成所述地址查询信息指定的交易;
[0045]
如果所述第三方区块链节点能够完成所述地址查询信息指定的交易,向平行链节点反馈当前地址信息;
[0046]
平行链节点将所述当前地址信息按照公链智能合约形式发送至所述地址管理节点;
[0047]
如果所述第三方区块链节点不能完成所述地址查询信息指定的交易,向所述第三方区块链邻近的节点广播所述地址查询信息。
[0048]
由以上技术方案可知,本申请提供一种基于公链的区块链网络寻址方法,所述方法通过公链网络使子链和/或第三方区块链网络组成可进行交易的网络系统,并且在该系统中,公链网络内的部分节点被配置为地址管理节点,可针对交易发起节点发送的地址查询交易反馈交易目标节点的地址信息。并且,通过匹配地址索引表和广播地址查询信息的方式,快速确定交易目标节点的地址,以便交易发起节点和交易目标节点可以进行后续交易。本申请提供的寻址方法,可以通过地址管理节点获取交易目标节点的地址信息,从而避免每一个交易都进行广播寻址,和/或避免在每一个节点都存储、更新地址索引表,因此,可以减小寻址过程对网络带宽的占用,提高交易效率。
附图说明
[0049]
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050]
图1为本申请一种基于公链的区块链网络寻址方法流程示意图;
[0051]
图2为本申请交易发起节点向地址管理节点发起地址查询交易的流程示意图;
[0052]
图3为本申请创建和/或更新地址索引表的流程示意图;
[0053]
图4为本申请新接入节点地址信息存储流程示意图;
[0054]
图5为本申请另一种基于公链的区块链网络寻址方法流程示意图;
[0055]
图6为本申请在子区域广播地址查询信息的流程示意图;
[0056]
图7为本申请在第三方区块链网络广播地址查询信息的流程示意图;
[0057]
图8为本申请通过平行链广播地址查询信息的流程示意图;
[0058]
图9为本申请反馈当前地址信息的流程示意图。
具体实施方式
[0059]
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
[0060]
在本申请提供的技术方案中,所述区块链一方面指网络系统中交易产生的记账数据,另一方面指运行区块链技术的网络,即区块链网络。其中,区块链网络是指具有去中心化应用架构的点对点(p2p)网络,所述区块链网络能够进行分布式存储、公共共识、数字加密、交易记账以及验证。即涵盖了分布式技术、密码学、p2p网络架构以及各种可能被应用的共识算法的交易平台。
[0061]
区块链或区块链信息是在区块链网络中发生交易时,根据交易信息生成的记账信息,即多笔具体的交易组成一个区块,多个区块形成一条区块链。区块链网络中,包括相互建立点对点网络连接的节点,每一个节点都配置有相应的共识机制,如智能合约,并且具有足够的运算能力,以进行交易验证和记账程序。节点上还具有符合某种统一标准的接口规范,以实现通过接口规范接入更多的节点或者其他类型的区块链网络。
[0062]
参见图1,为本申请一种基于公链的区块链网络寻址方法流程示意图。由图1可知,本申请提供的基于公链的区块链网络寻址方法,包括以下步骤:
[0063]
s11:交易发起节点向公链中的地址管理节点发起地址查询交易;所述公链中的部分节点被配置为地址管理节点和存储节点,多个地址管理节点和存储节点组成地址管理网络;
[0064]
在本申请提供的技术方案中,公链、子链和/或第三方区块链均为点对点形式的p2p网络,p2p网络由多个节点组成,每个节点具有独立的运算能力、应用运行能力、存储能力以及提供人机交互的能力。p2p网络中的节点不仅是提供网络信息传递的网关设备,而且可以是被区块链网络认证的任何计算机设备,如个人计算机、计算机机组、服务器以及智能终端设备等。
[0065]
交易发起节点可以是系统中的任意一个节点,例如公链节点、子链节点以及第三方区块链节点。交易发起链节点可以根据实际需要,向系统中的其他节点发起交易,所述交易可以是虚拟货币交易,例如将一种区块链网络中的虚拟货币(证通)兑换为另一种区块链网络中的虚拟货币;或者是信息服务交易,例如一个区块链网络中的节点想要通过另一个区块链网络提供诸如信息查询、数据分析等服务。
[0066]
本申请交易发起节点可以在发起正式的交易前,根据预发起交易中的具体内容先发起一个地址查询交易,地址查询交易的目的一般是发现交易目标节点,地址查询交易中可以指定能够预发起交易的节点特点,以便寻找到能够完成预发起交易的节点。交易发起节点创建地址查询交易后,可以向地址管理节点发起地址查询交易。
[0067]
根据实际网络系统的配置情况不同,本申请中交易发起节点向地址管理节点发起地址查询交易的方式也不同。如果交易发起节点中存储有地址管理节点的地址信息信息,或者交易发起节点可以和地址管理节点直接进行信息交互,则可通过交易发起节点直接向地址管理节点发起地址查询交易;如果交易发起节点不能直接与地址管理节点之间进行信息交互,或者交易发起节点与地址管理节点不在同一个公链网络中,则需要交易发起节点向公链网络广播地址查询交易,以寻找地址管理节点。具体地,如图2所示,交易发起节点向公链中的地址管理节点发起地址查询交易的步骤包括:
[0068]
s111:提取预发起交易中的交易摘要;
[0069]
s112:通过公链智能合约生成带有所述交易摘要的地址查询交易,以及根据所述交易摘要判断预发起交易是否为跨链交易;
[0070]
s113:如果预发起交易不是跨链交易,向公链网络节点广播所述地址查询交易;
[0071]
s114:如果预发起交易是跨链交易,向交易发起节点对应的平行链节点发送所述地址查询交易;
[0072]
s115:平行链节点向公链网络广播所述地址查询交易。
[0073]
由以上步骤可知,本实施例中可以通过提取预发起交易中的交易摘要,确定预发起交易指定的交易目标节点应满足的要求。再通过公链智能合约,生成带有交易摘要的地址查询信息。生成地址查询信息后,还可以根据交易摘要中指定的服务内容判断预发起的交易是否为跨链交易,具体判断方法可以根据交易摘要中指定的服务内容是否能够在当前区块链网络范围内完成,例如,预发起交易是证通转账,即同一个链中的一个节点想把指定数量的证通转账给另一个节点,这样的转账交易不需要跨链进行,因此可以判断预发起的交易不是跨链交易。
[0074]
另外,根据交易摘要确定是否为跨链交易的方式中,还可以在公链智能合约中指定一个转换规则,以生成带有特定编码标识的交易摘要,在判断过程中直接提取编码标识来判断是否为跨链交易。
[0075]
实际应用中,如果判断预发起交易不是跨链交易,则可以直接向公链网络节点广播地址查询交易,以使公链网络中的地址管理节点能够接收到地址查询交易,以反馈交易目标节点的地址信息。如果判断预发起交易是跨链交易,由于不同链之间的交易形式不同,需要进一步进行地址查询交易的广播。具体可以包括以下情况:
[0076]
如果交易发起节点所在的子链,已经配置有公链网络的智能合约形式,则可以通过公链网络的智能合约直接与公链节点进行对接,以将地址查询交易在公链范围内广播;如果交易发起节点所在的子链未配置有公链网络的智能合约,如所在子链为已成型的第三方区块链网络,则需要交易发起节点先将地址查询交易发送给对应的平行链节点,再通过平行链节点的桥接作用,将地址查询交易发送到公链网络中,以在公链网络范围内广播。
[0077]
需要说明的是,在本申请提供的技术方案中,所述平行链是指,公链和/或子链(第三方区块链)中的部分节点被配置为能够执行公链节点的全部数据操作,具有公链节点的
全部功能和信息;还被配置为能够执行第三方区块链节点的全部数据操作,具有第三方区块链节点的全部功能和信息。实际应用中,平行链节点可以在交易时对交易的信息进行传递,并将交易进行桥接。
[0078]
进一步地,所述平行链节点中存储有邻近地址管理节点的地址信息,所述方法还包括:平行链节点直接向邻近地址管理节点发送所述地址查询交易。
[0079]
实际应用中,如果整个区块链系统的规模很庞大,接入公链的子链或第三方区块网络较多时,还可以根据地理位置或网络拓扑关系,对公链中的节点按区域进行划分,每个子区域可以包括至少一个地址管理节点,地址管理节点也可以主要针对当前所在区域内的地址查询交易反馈交易目标链地址。
[0080]
在实际应用中,由于平行链作为第三方区块链网络与公链网络的连接网络,因此平行链节点可以存储有邻近的地址管理节点的地址,从而可以通过平行链节点直接将地址查询交易发送至最近的地址管理节点内,从而避免广播地址查询交易所消耗的时间,提高交易的完成效率。
[0081]
s12:所述地址管理节点根据所述地址查询交易生成地址查询信息,以及在地址管理网络内广播所述地址查询信息。
[0082]
在本申请提供的技术方案中,所述地址管理节点的数量可以为多个,并且多个地址管理节点之间也可以组成一个基于区块链技术的网络,即地址管理网络。在地址管理网络中,可以进一步对地址管理节点进行配置,例如,数据处理性能较好的节点可以配置为用于进行数据收发、解析和进行地址查询,以便在高并发交易时,也拥有足够的处理性能;而存储空间较大的节点,可以配置为用于进行地址数据的存储,即存储节点,以充分利用节点的数据处理能力,以便进行分布式存储。
[0083]
存储节点中,不仅存储各个节点以及各个接入链中节点的地址索引表,而且可以存储在完成地址查询交易过程中所产生的验证数据和区块数据,以便对地址查询结果进行记账,产生抗抵赖效果。另外,为了提高系统内数据的安全性,对于同一个节点的数据,可以同时分别存储在多个存储节点中,并且在地址管理节点在地址管理网络中广播地址查询信息后,分别对地址查询交易进行验证,以获得最准确的交易目标节点地址信息。
[0084]
s13:地址管理网络中的存储节点根据所述地址查询信息,在地址索引表中匹配交易目标节点的地址信息。
[0085]
在地址管理网络中的节点接收到地址查询信息后,可以针对地址查询信息在自身存储的地址索引表中匹配与之对应的地址数据,如果在地址索引表中匹配到交易目标节点的地址信息,则可以将对应的目标节点地址信息进行提取,以完成寻址过程。
[0086]
由于在本申请提供的技术方案中,地址管理节点需要通过地址索引表进行信息匹配,进而本申请的地址管理节点中需要预先创建地址管理节点,并且,所存储的地址管理节点需要不断进行更新以适应系统中的节点进行上线和下线。因此,在本申请的部分实施例中,如图3所示,所述方法还包括:
[0087]
s131:所述地址管理节点周期性广播地址确认信息;
[0088]
s132:接收到所述地址确认信息的节点反馈当前地址信息至所述地址管理节点;所述当前地址信息为节点的网络地址、终端mac地址以及统一标识地址中的一种;
[0089]
s133:所述地址管理节点根据所述当前地址信息创建和/或更新地址索引表中的
表项。
[0090]
本实施例中,更新地址管理节点中的地址索引表,可以采用地址管理节点主动进行地址校核的方式,即地址管理节点可以每隔预设时间广播一次地址确认信息,广播的地址确认信息可以从公链散布到各个子链以及第三方区块链网络,以使子链中的节点在接收到地址确认信息后,可以反馈当前地址信息至地址管理节点。
[0091]
为了适应公链网络的统一标准,在本申请中,各节点反馈的当前地址信息可以包括网络地址、终端mac地址以及统一地址标识中的一种或多种。其中,网络地址可以是网络中的以太网地址、ip地址等,适用于根据当前互联网建立的网络系统环境中的节点地址管理;终端mac地址作为一个终端的唯一识别标识,可以应用节点为单一设备的情况下地址管理,例如,一个节点仅包括一个pc终端情况;统一地址标识可以是一种预先统一约定的网络地址形式,其可以适应全部节点类型,但需要预先对网络节点的地址管理规则进行统一转化。
[0092]
实际应用中,统一地址标识可以与其他地址数据之间进行对应转化,显然,统一地址标识可以与终端设备之间满足一种多对多的关系,即一个统一地址标识可以对应一个节点中的多个终端设备;同一个终端设备还可以根据在不同区块链网络中所充当的角色不同而具有多个统一地址标识,例如,同一个节点,可能同时兼备信息查询和数据处理的服务内容,则可以同时充当信息查询子链和数据处理子链的节点,此时这一节点可以具有多个统一地址标识。但在同一个功能(或交易)下,一个节点只能对应一个统一地址标识,以达到寻址目的。
[0093]
在各节点反馈当前地址信息后,地址管理节点可以对反馈的信息进行处理,如解析、格式转化、数据提取等,将反馈的当前地址信息转化为地址索引表对应的格式规范。再将对应的数据存储在地址索引表中,以完成地址数据的更新。显然,在实际应用中,节点反馈的地址信息可以与之前存储的地址信息相同,即节点地址未发生改变;也可以与之前存储的地址信息不同,即节点地址发生改变。如果节点地址发生改变,可将地址索引表对应的表项替换为改变后的数据即可。
[0094]
另外,对应更新的数据,还可能包括新接入节点的地址信息,这些新接入的节点未被存储的地址索引表包含。因此,可以针对新接入节点的地址信息在地址索引表中创建一个新的表项。显然,地址索引表中应包括节点对应的:终端数据、地址信息以及服务内容等。
[0095]
上述实施例对地址索引表中的数据更新方式主要依赖于地址管理节点主动发送地址确认信息的方式,这种方式无需对子链或第三方区块链网络中的节点进行额外配置,可以与现有的区块链网络进行直接对接,以减少运维初期的成本投入。但在实际应用中,如果采用上述方式进行地址索引表的周期性更新,则会在每次进行更新时,占用部分网络带宽,为了避免对网络带宽的占用,可以适当延长更新周期。而为了在延长更新周期的过程中也能够保持一定实时更新功能,在本申请的部分实施例中,如图4所示,所述方法还包括:
[0096]
s134:新接入节点根据公链网络的地址加密算法将当前地址信息加密为地址公钥,以及在公链网络中广播所述地址公钥;
[0097]
s135:接收到所述地址公钥的地址管理节点,解析所述地址公钥,获得当前地址信息;
[0098]
s136:所述地址管理节点将所述当前地址信息在所述地址管理网络中广播,以存
储在存储节点的地址索引表内。
[0099]
本实施例通过新接入节点主动发送地址信息至地址管理节点,可以在每一个节点上线时对节点地址数据进行存储,以更新地址索引表。实际应用中,为了提高新接入节点的安全性,避免广播地址信息而造成容易受到攻击的危险,可以限定新接入的节点根据公链网络的地址加密算法对当前地址信息进行加密,即生成一种地址公钥。地址加密的算法可以公链网络中规范的hash算法,例如通过64位加密算法得到的hash值作为地址公钥。
[0100]
在生成地址公钥后,新接入节点可以广播地址公钥,具体广播形式可以与常见的广播形式相同,但需要符合公链网络规定的规范要求,以使地址管理节点可以接收到地址公钥。地址管理节点接收到地址公钥后,可以对地址公钥进行解析并且在地址管理网络中进行广播,以存储在对应的地址索引表内。
[0101]
s14:所述存储节点发送所述地址信息至所述交易发起节点。
[0102]
实际应用中,存储节点在提取到地址信息后,可以将地址信息发送给地址管理网络中用于数据处理分析的节点,该节点再通过内置的筛选程序判断该地址信息是否完整,以及地址信息格式是否能够被交易发起节点识别。并且,在地址信息格式不能直接被交易发起节点识别时,将提取的地址信息进行格式转化,以适应多种不同第三方区块链网络的寻址需求。
[0103]
由以上技术方案可知,本申请提供的基于公链的区块链网络寻址方法,可以通过将公链网络中的部分节点配置为地址管理节点,从而在发生交易时,先通过地址查询交易和地址管理节点中存储的地址索引表快速定位到交易目标节点,因此,本申请提供的技术方案可以在没有中心化平台的基础上,通过地址管理节点反馈地址信息,减少对系统网络带宽的占用。
[0104]
在本申请的另一个实施例中,还提供一种基于公链的区块链网络寻址方法,如图5所示,所示寻址方法包括以下步骤:
[0105]
s21:交易发起节点向公链广播地址查询交易;所述公链中的部分节点被配置为地址管理节点;
[0106]
s22:接收到所述地址查询交易的地址管理节点,在指定范围内公链和/或接入公链的子链中广播地址查询信息;
[0107]
s23:接收到所述地址查询信息的公链节点或子链节点,根据所述地址查询信息反馈当前地址信息至地址管理节点;
[0108]
s24:所述地址管理节点发送当前地址信息至所述交易发起节点。
[0109]
本实施例与上述实施例的区别在于,本实施例中地址管理节点内可以不保存地址索引表,而是通过地址管理节点在公链或子链范围内广播地址查询信息,从而使接收到地址查询信息的节点可以将其地址信息反馈给地址管理节点,并通过地址管理节点发送给交易发起节点。本实施例通过地址管理节点定向广播指定范围内的节点,从而在实际应用中可以避免每一个交易都需要在全网范围内进行寻址,提高交易效率。
[0110]
为了实现在指定范围内的公链和子链中广播地址查询信息,所述公链节点被划分为多个子区域,每个子区域中包括至少一个所述地址管理节点,如图6所示,所述方法还包括:
[0111]
s221:接收到所述地址查询交易的地址管理节点,在所属子区域内广播地址查询
信息;
[0112]
s222:如果所属子区域内的节点未反馈地址信息至地址管理节点,所述地址管理节点向所属子区域邻近的子区域广播地址查询信息。
[0113]
公链子区域的划分可以根据节点所处的地理位置、节点连接的不同子链以及节点所配置的不同角色进行划分。由于处在邻近地址区域内的节点的传输时间较短,并且功能一般趋于一致,因此本申请优选按照地理位置进行划分的技术方案。实际应用中,接收到所述地址查询交易的地址管理节点可以优先在所属的子区域内广播地址查询信息。如果所属子区域内存在满足预发起交易的交易目标节点,则该节点可以反馈当前地址信息给地址管理节点。
[0114]
如果所属子区域内不存在满足预发起交易的交易目标节点,则需要向所属子区域邻近的子区域进一步广播该地址查询信息,直至有节点反馈当前地址信息至地址管理节点。可见,在本实施例中,通过合理的分片机制,可以避免在全网范围内进行寻址,从而缩短交易目标节点地址的获取时间,提高寻址效率。而先在所属子区域广播再从所属子区域邻近区域广播的方式,可以在避免寻址失败的基础上,最小程度的占用网络带宽。
[0115]
进一步地,如图7所示,如果接入公链的子链包括第三方区块链,所述第三方区块链通过平行链接入所述公链,接收到所述地址查询交易的地址管理节点,在指定范围内公链和/或接入公链的子链中广播地址查询信息的步骤,包括:
[0116]
s223:所述地址管理节点向平行链节点广播所述地址查询信息;
[0117]
s224:平行链节点按照对应第三方区块链的智能合约形式,在所述第三方区块链内广播所述地址查询信息。
[0118]
实际应用中,由于第三方区块链具有独立的区块链交易模式和记账模式,导致第三方区块链网络不能直接接收地址管理节点的广播地址查询信息。因此,可以由地址管理节点先向第三方区块链对应的平行链广播地址查询信息。再通过平行链按照第三方区块链的智能合约对地址查询信息进行转化,并在第三方区块链网络内广播该地址查询信息,从而实现对地址查询信息的转发和交易桥接。
[0119]
相应的,如图8所示,所述方法还包括以下步骤:
[0120]
s225:接收到所述地址查询信息的第三方区块链节点根据预设交易类型判断是否能够完成所述地址查询信息指定的交易;
[0121]
s226:如果所述第三方区块链节点能够完成所述地址查询信息指定的交易,向平行链节点反馈当前地址信息;
[0122]
s227:平行链节点将所述当前地址信息按照公链智能合约形式发送至所述地址管理节点;
[0123]
s228:如果所述第三方区块链节点不能完成所述地址查询信息指定的交易,向所述第三方区块链邻近的节点广播所述地址查询信息。
[0124]
在本申请的部分实施例中,如图9所示,接收到所述地址查询信息的公链节点或子链节点,根据所述地址查询信息反馈当前地址信息至地址管理节点的步骤包括:
[0125]
s231:接收到所述地址查询信息的公链节点或子链节点解析所述地址查询信息,以及根据预设交易类型判断是否能够完成所述地址查询信息指定的交易;
[0126]
s232:如果所述公链节点或子链节点能够完成所述地址查询信息指定的交易,向
所述地址管理节点反馈当前地址信息;
[0127]
s233:如果所述公链节点或子链节点不能完成所述地址查询信息指定的交易,向所述公链节点或子链节点邻近的节点广播所述地址查询信息。
[0128]
实际应用中,每一个接收到所述地址查询信息的节点可以按照预设数据传输协议对地址查询信息进行解析,确定地址查询交易中指定的预发起交易类型。再通过与自身所支持的交易类型进行对比,确定自身是否能够作为交易目标节点。
[0129]
可见,在本实施例中,可以通过在指定的范围内广播地址查询信息,以使全网广播转化为部分网络范围内广播,可以适应大部分p2p网络的广播形式,并缩短区块链交易的寻址时间,提高交易效率。并且,由于多数寻址过程发生在部分网络范围内,因此可以减少在广播过程中,对全网带宽资源的占用。
[0130]
由以上技术方案可知,本申请提供一种基于公链的区块链网络寻址方法,所述方法通过公链网络使子链和/或第三方区块链网络组成可进行交易的网络系统,并且在该系统中,公链网络内的部分节点被配置为地址管理节点,可针对交易发起节点发送的地址查询交易反馈交易目标节点的地址信息。并且,通过匹配地址索引表和广播地址查询信息的方式,快速确定交易目标节点的地址,以便交易发起节点和交易目标节点可以进行后续交易。本申请提供的寻址方法,可以通过地址管理节点获取交易目标节点的地址信息,从而避免每一个交易都进行广播寻址,和/或避免在每一个节点都存储、更新地址索引表,因此,可以减小寻址过程对网络带宽的占用,提高交易效率。
[0131]
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1