一种信息跨链传输方法、系统、计算机设备及存储介质与流程

文档序号:33379774发布日期:2023-03-08 05:18阅读:23来源:国知局
一种信息跨链传输方法、系统、计算机设备及存储介质与流程

1.本技术属于区块链技术领域,尤其涉及一种信息跨链传输方法、系统、计算机设备及存储介质。


背景技术:

2.现有的跨链技术常见的有公证人机制(notary schemes),中继(relay)链模式,哈希锁(hash locking),分布式私钥控制(distributed private key control)等几大类。
3.在中继链模式下,现有的跨链互操作处理过程具体为:
4.来源链系统抛出跨链事件,由跨链网关根据跨链传输协议封装为跨链交易,发送跨链交易到中继链系统,再由中继链系统转发到指定的目的链系统的跨链网关,最后由目的链系统的跨链网关转发到目的链系统。
5.但在现实应用中,不同应用链系统之间存在网络类型和网络安全等级的差别设置,导致来源链系统或者目的链系统与中继链系统之间形成网络隔离。一种情况如图1所示,应用链系统a与网关a处于网络a的内网中,中继链系统处于外网,此时由于网络a与外网存在网络物理隔离,因此网关a无法直接将跨链交易发送至中继链系统,同样地,当网络b与外网之间也存在网络物理隔离时,也会导致中继链系统无法直接将跨链交易发送至网关b,导致跨链互操作处理受阻。
6.现有的中继链模式下的跨链技术无法满足网络隔离场景下的信息传递需求。


技术实现要素:

7.本技术实施例提供了一种信息跨链传输方法、系统、计算机设备及存储介质,以解决现有技术中中继链模式下的跨链技术无法满足网络隔离场景下的信息传递需求的问题。
8.本技术实施例的第一方面提供了一种信息跨链传输方法,应用于区块链网络,所述区块链网络中具有代理节点,所述方法包括:
9.所述代理节点获取来源于第一区块链系统的第一业务数据,所述第一业务数据的目的地址为第二区块链系统;
10.所述代理节点依照与跨网策略对应的数据格式处理所述第一业务数据,得到第二业务数据;
11.所述代理节点将所述第二业务数据写入所述代理节点的写文件目录中,以使得所述第二业务数据被摆渡到与所述代理节点对应的另一代理节点的读文件目录中,所述另一代理节点和所述代理节点属于不同的区块链网络。
12.本技术实施例的第二方面提供了一种信息跨链传输方法,应用于区块链网络,所述区块链网络中具有代理节点,所述方法包括:
13.所述代理节点从所述代理节点的读文件目录中读取第二业务数据,所述第二业务数据由第一业务数据依照与跨网策略对应的数据格式处理得到,所述第一业务数据的源地址为第一区块链系统,目的地址为第二区块链系统;
14.所述代理节点基于所述数据格式将所述第二业务数据转换得到所述第一业务数据;
15.所述代理节点向所述区块链网络中的区块链系统发送所述第一业务数据。
16.本技术实施例的第三方面提供了一种信息跨链传输方法,应用于区块链网络,所述区块链网络包括网关、代理节点及区块链系统,所述方法包括:
17.所述网关对所述区块链系统进行跨链事件监听;
18.在监听到所述区块链系统中产生跨链事件的情况下,所述网关向所述代理节点发送携带有与所述跨链事件对应的第一业务数据的信息跨链传递指令;
19.所述信息跨链传递指令用于指示所述代理节点将所述第一业务数据依照与跨网策略对应的数据格式处理得到第二业务数据后存储在所述代理节点的写目录文件中。
20.本技术实施例的第四方面提供了一种信息跨链传输系统,包括:第一区块链网络、中继链网络以及第二区块链网络,所述中继链网络通过跨网设备与所述第一区块链网络通信;
21.其中,所述第一区块链网络包括第一代理节点,所述第一代理节点用于执行如上第一方面所述的信息跨链传输方法;和/或,所述中继链网络包括第二代理节点,所述第二代理节点用于执行如上第二方面所述的信息跨链传输方法;和/或,所述第一区块链网络包括网关,所述网关用于执行如上第三方面所述的信息跨链传输方法。
22.本技术实施例的第五方面提供了一种信息跨链传输系统,包括:第一区块链网络、中继链网络以及第二区块链网络,所述中继链网络通过跨网设备与所述第二区块链网络通信;
23.其中,所述中继链网络包括第三代理节点,所述第三代理节点用于执行如如上第一方面所述的信息跨链传输方法;和/或,所述第二区块链网络包括第四代理节点,所述第四代理节点用于执行如上第二方面所述的信息跨链传输方法;和/或,所述中继链网络包括网关,所述网关用于执行如上第三方面所述的信息跨链传输方法。
24.本技术实施例的第六方面提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述方法的步骤。
25.本技术实施例的第七方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述方法的步骤。
26.本技术的第八方面提供了一种计算机程序产品,当所述计算机程序产品在计算机设备上运行时,使得所述计算机设备执行上述各方面所述方法的步骤。
27.由上可见,本技术实施例,通过在区块链网络中设置代理节点,通过代理节点在获取到源地址为第一区块链系统,目的地址为第二区块链系统的跨链业务数据时,依照与跨网策略对应的数据格式处理该跨链业务数据,得到第二业务数据并写入至自身的写文件目录中,以能够使该第二业务数据被摆渡到处于不同的区块链网络中的另一代理节点的读文件目录中,该过程能够借助于代理节点依照配备的跨网策略实现数据的跨网域通信传输,实现网络隔离场景下的跨链互操作,满足网络隔离场景下的信息传递需求。
附图说明
28.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是现有的中继链模式下来源链系统、目的链系统与中继链系统之间形成网络隔离的架构示意图;
30.图2是本技术实施例提供的一种区块链系统的结构示意图;
31.图3是本技术实施例提供的在区块链网络中引入代理节点的网络架构示意图一;
32.图4是本技术实施例提供的在区块链网络中引入代理节点的网络架构示意图二;
33.图5是本技术实施例提供的在区块链网络中引入代理节点的网络架构示意图三;
34.图6是本技术实施例提供的在区块链网络中引入代理节点的网络架构示意图四;
35.图7是本技术实施例提供的信息跨链传输方法的流程图一;
36.图8是本技术实施例提供的信息跨链传输方法的流程图二;
37.图9是本技术实施例提供的信息跨链传输方法的流程图三;
38.图10是本技术实施例提供的在区块链网络中引入多个代理节点的网络架构示意图一;
39.图11是本技术实施例提供的在区块链网络中引入多个代理节点的网络架构示意图二;
40.图12是本技术实施例中位于跨网设备两侧的代理节点间的关系对应示意图;
41.图13是本技术实施例中代理节点在哈希环上的位置映射示意图;
42.图14是本技术实施例提供的一种计算机设备的结构图。
具体实施方式
43.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
44.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
45.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
46.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
47.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确
定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0048]
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0049]
在对本技术实施例进行解释说明之前,先对区块链的相关内容予以说明。
[0050]
图2是本技术实施例提供的一种区块链系统的结构示意图。
[0051]
参见图2,区块链系统200是指用于进行节点与节点之间数据共享的系统,区块链系统200中可以包括多个节点201。每个节点201在进行正常工作时可以接收到输入信息,并基于接收到的输入信息维护区块链系统200内的共享数据。为了保证区块链系统200内的信息互通,区块链系统200中的每个节点201之间可以存在信息连接,节点201之间可以通过该信息连接进行信息传输。比如,当区块链系统200中的任意节点201接收到输入信息时,区块链系统200中的其他节点201便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链系统200中全部节点201上存储的数据一致。也即,区块链系统200中的每个节点201均存储一条相同的区块链。
[0052]
区块链系统200具有分布式数据存储、点对点传输、共识机制、加密算法等计算机技术。区块链系统200是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的共享开放、真实完整和安全可靠。
[0053]
其中,区块链系统可以是来源链系统、目的链系统或者中继链系统。
[0054]
来源链系统:来源链系统是发起跨链交易的区块链系统。
[0055]
目的链系统:目的链系统是对来源链系统发起的跨链交易进行响应的区块链系统。
[0056]
中继链系统:目的链系统是位于来源链系统与目的链系统之间的区块链系统,其能在目的链系统与来源链系统之间进行跨链交易数据传递,并对目的链系统与来源链系统之间的跨链交易进行上链记录。
[0057]
网关:网关是来源链系统和目的链系统之间的转接器。网关可以捕获来源链系统中产生的跨链事件,提交跨链交易数据至目的链系统;或者,网关可以接收目的链系统反馈的回执信息,提交回执信息到来源链系统。
[0058]
跨链交易:跨链交易是两个应用链系统之间的交易,可以包含来源链系统标识、目的链系统标识、跨链交易序号、调用信息等信息。
[0059]
进一步地,不同的区块链系统处于各自所在的区块链网络中。例如,来源链系统处于来源链网络中,目的链系统处于目的链网络,中继链系统处于中继链网络。
[0060]
其中,区块链网络中包含有区块链系统中的各个节点设备及其他设备。该其他设备例如为网关和/或代理节点。
[0061]
由于网络类型和网络安全等级的差别设置,不同的区块链网络之间形成网络物理隔离,无法实现数据的跨网传输。
[0062]
本技术实施例中,为满足网络隔离场景下的信息跨链传输需求,提出了增加代理节点的方式,在来源链系统与中继链系统之间增加代理节点,和/或,在中继链系统与目的链系统之间增加代理节点,通过代理节点实现在分别处于不同的区块链网络中的区块链系统之间进行跨物理隔离的数据跨链传递。
[0063]
下面,结合具体的图例,对本技术实施例中在中继链模式下增加代理节点的网络架构进行具体说明。
[0064]
一方面,结合图3所示,本技术实施例中,提供一种信息跨链传输系统,包括:第一区块链网络、中继链网络以及第二区块链网络,所述中继链网络通过跨网设备与所述第一区块链网络通信。
[0065]
其中,所述第一区块链网络包括第一代理节点(参照图3中的代理1),所述中继链网络包括第二代理节点(参照图3中的代理2)。
[0066]
可选地,第一区块链网络包括网关(参照图3中的网关a)。
[0067]
或者,中继链网络中包括网关(参照图4中的网关c)。在该实施方式中,中继链系统所在网络一侧可以设置网关,而在与之进行数据跨物理隔离传递的第一区块链系统中,则可以将原本需要设置的网关a中与第一区块链系统交互的功能部分独立为应用链插件服务,部署在第一区块链网络中的代理节点中,同步在中继链系统所在的中继链网络中设置网关c,即在中继链系统一侧设置跨链网关,实现数据的跨链传递。
[0068]
该系统中,在第一区块链系统所在的第一区块链网络中,增加代理节点(参照图中的代理1)。在中继链系统所在的中继链网络中也对应增加代理节点(参照图中的代理2)。
[0069]
代理2与代理1之间依照跨网设备中配备的跨网策略进行信息传递,实现数据的跨物理隔离传递。
[0070]
另一方面,结合图5所示,本技术实施例中,提供一种信息跨链传输系统,包括:第一区块链网络、中继链网络以及第二区块链网络,所述中继链网络通过跨网设备与所述第二区块链网络通信。
[0071]
其中,所述中继链网络包括第三代理节点(参照图5中的代理3),所述第二区块链网络包括第四代理节点(参照图5中的代理4)。
[0072]
可选地,第二区块链网络包括网关(参照图5中的网关b)。
[0073]
或者,中继链网络中包括网关(参照图6中的网关c)。
[0074]
在该实施方式中,中继链系统所在网络一侧可以设置网关,而在与之进行数据跨物理隔离传递的第二区块链系统中,则可以将原本需要设置的网关b中与第二区块链系统交互的功能部分独立为应用链插件服务,部署在第二区块链网络中的代理节点中,同步在中继链系统所在的中继链网络中设置网关c,即在中继链系统一侧设置跨链网关,实现数据的跨链传递。
[0075]
该系统中,在第二区块链系统所在的第二区块链网络中,增加代理节点(参照图中的代理4)。在中继链系统所在的中继链网络中也对应增加代理节点(参照图中的代理3)。
[0076]
代理3与代理4之间依照跨网设备中配备的跨网策略进行信息传递,实现数据的跨物理隔离传递。
[0077]
其中,物理隔离,是指采用物理方法将不同网域进行隔离从而避免入侵或信息泄露的风险的技术手段。物理隔离包含隔离网闸技术、物理隔离卡等。
[0078]
其中,跨网设备例如为网闸、光闸。跨网设备中配备的跨网策略例如为文件摆渡策略或者tcp(transmission control protocol,传输控制协议)传输策略。
[0079]
文件摆渡策略具体采用创新的数字包裹概念,将待处理和交换的一个批次的业务数据封装进一个安全数字文件包裹,并且生成一个包含包裹内容信息(发货清单)和投递信
息(快递单)的包裹元数据,确保一个批次业务数据的完整性和正确性,同时可以防止后续的篡改行为。与文件摆渡策略对应的数据格式为文件格式。
[0080]
在文件摆渡策略下,以第一区块链网络与中继链网络之间的数据跨网传递为例,第一区块链网络中的代理1依照与跨网策略对应的数据格式将第一区块链系统抛出的跨链业务数据转换为文件格式,随后代理1将数据以文件格式通过跨网设备发送至中继链网络中的代理2,以能够将数据输出至中继链网络中的中继链系统,实现信息的跨物理隔离传递。
[0081]
进一步地,中继链网络中的代理2在获取到来源于第一区块链网络中第一区块链系统的跨链业务数据后,代理2对其进行解格式,实现将文件格式的跨链业务数据转换成原有的数据格式,然后将该跨链业务数据发送至中继链系统进行跨链业务上链记录,随后,中继链网络中的代理3将跨链业务数据写入至文件中,将数据转换为文件格式,代理3依照与跨网策略对应的数据格式将跨链业务数据转换成文件格式后通过跨网设备发送至第二区块链网络中的代理4,代理4对文件格式的跨链业务数据进行解格式后,将其发送至第二区块链网络中第二区块链系统,实现信息的跨物理隔离传递。
[0082]
在一个可选的实施方式中,中继链网络中的代理2与代理3可以为同一代理节点,也或者为独立的两个代理节点。
[0083]
本技术实施例中,为满足网络隔离场景下的信息传递需求,在上述网络架构基础上,还提出了不同设备执行的信息跨链传输方法。
[0084]
在一个具体的实施方式中,提出一种信息跨链传输方法,应用于区块链网络,所述区块链网络中具有代理节点。
[0085]
具体地,结合图7所示,所述信息跨链传输方法包括:
[0086]
步骤701,代理节点获取来源于第一区块链系统的第一业务数据。
[0087]
其中,所述第一业务数据的目的地址为第二区块链系统。
[0088]
即,第一区块链系统为来源链系统,第二区块链系统为目的链系统。
[0089]
具体地,在一个实施方式中,区块链网络为中继链网络,所述中继链网络用于连接第二区块链网络和第一区块链系统所在的第一区块链网络。
[0090]
在这种情况下,代理节点获取来源于第一区块链系统的第一业务数据的过程,具体为:
[0091]
代理节点从中继链网络中的中继链系统处获取来源于第一区块链系统的第一业务数据。
[0092]
即,该代理节点为中继链网络中的代理节点。且在该实施例中,该代理节点具体对应于图5中的代理3。
[0093]
其中,结合图6所示,当中继链网络中设置有与中继链系统连接的网关(即图5中的网关c)时,可以是代理节点(图5中的代理3)从中继链网络中的中继链系统所连接的网关处获取来源于第一区块链系统的第一业务数据。该过程中,中继链系统在获取到来源于第一区块链系统的第一业务数据后,中继链系统进一步将该第一业务数据经由网关c发送至代理节点,进而通过代理节点向第二区块链网络中的第二区块链系统进行跨物理隔离传递,实现数据的跨链传输。
[0094]
不同地,在另一个实施方式中,所述区块链网络为第一区块链系统所在的第一区
块链网络。即,代理节点为第一区块链网络中设置的代理节点。
[0095]
一种情况,具体对应于图3中的代理1。在这种情况下,代理节点获取来源于第一区块链系统的第一业务数据的过程,具体为:
[0096]
代理节点从所述第一区块链网络中的网关处获取来源于所述第一区块链系统的第一业务数据。
[0097]
其中,第一区块链网络中的网关与第一区块链网络中第一区块链系统通信连接。该网关可以对第一区块链系统中抛出的跨链事件进行监听,基于监听到的跨链事件生成跨链业务数据,并将该跨链业务数据发送给第一区块链网络中的代理节点。
[0098]
或者,另一种情况,具体对应于图4中的代理1。在这种情况下,代理节点调用自身的应用链插件服务对第一区块链系统进行数据监听即可,直接获取到来源于第一区块链系统的第一业务数据。
[0099]
步骤702,代理节点依照与跨网策略对应的数据格式处理所述第一业务数据,得到第二业务数据。
[0100]
其中,跨网策略例如为文件摆渡策略或者tcp(transmission control protocol,传输控制协议)传输策略。与文件摆渡策略对应的数据格式为文件格式。与tcp传输策略对应的数据格式为tcp对应的数据格式。
[0101]
业务数据例如为交易数据、凭证数据等。
[0102]
步骤703,代理节点将第二业务数据写入所述代理节点的写文件目录中,以使得所述第二业务数据被摆渡到与所述代理节点对应的另一代理节点的读文件目录中。
[0103]
其中,所述另一代理节点和所述代理节点属于不同的区块链网络。
[0104]
每一代理节点中可以设置读文件目录及写文件目录,写文件目录供代理节点写入自身依照与跨网策略对应的数据格式处理得到的业务数据,读文件目录写入外部设备传输来的业务数据。
[0105]
其中,可选地,在代理节点将第二业务数据写入所述代理节点的写文件目录中的情况下,所述方法还包括:
[0106]
代理节点向跨网设备发送第一通知。
[0107]
该第一通知用于通知所述跨网设备将所述第二业务数据摆渡到与所述代理节点对应的另一代理节点的读文件目录中,所述跨网设备位于所述区块链网络和所述另一代理节点所在的区块链网络之间。
[0108]
其中,跨网设备分别连接分属于不同区块链网络中的两个代理节点。
[0109]
跨网设备将一个代理节点的写文件目录中所写入的业务数据,写入到与该一代理节点对应的另一代理节点的读文件目录中。
[0110]
该跨网设备例如为网闸、光闸。
[0111]
在可选的实施方式中,当代理节点为第一区块链网络中的代理节点时,另一代理节点为中继链网络中的代理节点;当代理节点为中继链网络中的代理节点时,另一代理节点为第二区块链网络中的代理节点。
[0112]
上述过程,在区块链网络中设置代理节点,通过代理节点在获取到源地址为第一区块链系统,目的地址为第二区块链系统的跨链业务数据时,依照与跨网策略对应的数据格式处理该跨链业务数据,得到第二业务数据并写入至自身的写文件目录中,以能够使该
第二业务数据被摆渡到处于不同的区块链网络中的另一代理节点的读文件目录中,借助于代理节点依照配备的跨网策略实现数据的跨网域通信传输,实现网络隔离场景下的跨链互操作,满足网络隔离场景下的信息传递需求。
[0113]
在另一个具体的实施方式中,提出一种信息跨链传输方法,应用于区块链网络,所述区块链网络中具有代理节点。
[0114]
结合图8所示,所述信息跨链传输方法包括:
[0115]
步骤801,代理节点从所述代理节点的读文件目录中读取第二业务数据。
[0116]
其中,第二业务数据由第一业务数据依照与跨网策略对应的数据格式处理得到,所述第一业务数据的源地址为第一区块链系统,目的地址为第二区块链系统。
[0117]
即,第一区块链系统为来源链系统,第二区块链系统为目的链系统。
[0118]
其中,跨网策略例如为文件摆渡策略或者tcp(transmission control protocol,传输控制协议)传输策略。与文件摆渡策略对应的数据格式为文件格式。与tcp传输策略对应的数据格式为tcp对应的数据格式。
[0119]
业务数据例如为交易数据、凭证数据等。
[0120]
步骤802,代理节点基于所述数据格式将所述第二业务数据转换得到所述第一业务数据。
[0121]
该过程,代理节点将从读文件目录中读取得到的第二业务数据进行解格式处理,得到第一业务数据,即可将该第一业务数据向自身所在的区块链网络中的区块链系统进行发送。
[0122]
步骤803,代理节点向所述区块链网络中的区块链系统发送所述第一业务数据。
[0123]
具体地,在一个实施方式中,该区块链网络为中继链网络,区块链系统为中继链网络中的中继链系统。
[0124]
即,代理节点为中继链网络中的代理节点。
[0125]
具体地,该代理节点具体对应于图3中的代理2。这种情况下代理节点直接向中继链网络中的中继链系统发送第一业务数据即可。或者,该代理节点具体对应于图4中的代理2。这种情况下代理节点通过中继链网络中设置的网关(即网关c)向中继链系统发送第一业务数据。
[0126]
不同地,在另一个实施方式中,区块链网络为所述第二区块链系统所在的第二区块链网络。
[0127]
一种情况,代理节点为第二区块链网络中的代理节点,具体对应于图5中的代理4。在这种情况下,代理节点向区块链网络中的区块链系统发送所述第一业务数据的过程,具体为:
[0128]
代理节点将所述第一业务数据发送至所述第二区块链网络中与所述第二区块链系统连接的网关,经由所述网关将所述第一业务数据发送至所述第二区块链系统。
[0129]
或者,另一种情况,代理节点为第二区块链网络中的代理节点,具体对应于图6中的代理4。在这种情况下,代理节点向区块链网络中的区块链系统发送所述第一业务数据的过程,具体为:
[0130]
代理节点调用自身的应用链插件服务直接向第二区块链网络中的第二区块链系统发送所述第一业务数据。
[0131]
上述实施过程,通过在区块链网络中设置代理节点,通过代理节点从读文件目录中读取由第一业务数据依照与跨网策略对应的数据格式处理得到的第二业务数据,并进一步基于该数据格式将第二业务数据转换得到第一业务数据,向区块链网络中的区块链系统发送第一业务数据,该过程能够借助于代理节点依照配备的跨网策略实现数据的跨网域通信传输,实现网络隔离场景下的跨链互操作,满足网络隔离场景下的信息传递需求。
[0132]
在又一个具体的实施方式中,提出一种信息跨链传输方法,应用于区块链网络,所述区块链网络包括网关、代理节点及区块链系统。
[0133]
该区块链网络可以是第一区块链网络,或者为中继链网络。
[0134]
具体地,在一个具体的实施例中,如图3所示,该区块链网络为第一区块链网络,网关为图中的网关a,代理节点为所述第一区块链网络中的第一代理节点(参照图中的代理1)。
[0135]
或者,在另一个具体的实施例中,结合图6所示,该区块链网络为中继链网络,网关为图中的网关c,代理节点为所述中继链网络中的第三代理节点(参照图中的代理3)。跨链网关的服务功能部署在中继链系统所在的中继链网络中,即在中继链系统一侧设置网关。
[0136]
与之对应地,结合图9所示,信息跨链传输方法包括:
[0137]
步骤901,网关对所述区块链系统进行跨链事件监听。
[0138]
步骤902,在监听到所述区块链系统中产生跨链事件的情况下,所述网关向所述代理节点发送携带有与所述跨链事件对应的第一业务数据的信息跨链传递指令。
[0139]
其中,信息跨链传递指令用于指示所述代理节点将所述第一业务数据依照与跨网策略对应的数据格式处理得到第二业务数据后存储在所述代理节点的写目录文件中。
[0140]
其中,跨网策略例如为文件摆渡策略或者tcp(transmission control protocol,传输控制协议)传输策略。与文件摆渡策略对应的数据格式为文件格式。与tcp传输策略对应的数据格式为tcp对应的数据格式。
[0141]
业务数据例如为交易数据、凭证数据等。
[0142]
接下来,以图2及图3为例,对上述各个实施方式中的信息跨链传输方法的具体应用过程,进行具体说明。
[0143]
其中,第一区块链系统具体为来源链系统,第二区块链系统具体为目的链系统,第一区块链系统通过中继链系统向第二区块链系统进行信息的跨链传输。为实现信息的跨链传输,第一区块链系统所在的第一区块链网络中会配置代理节点,第一区块链系统连接的网关a中会配置代理节点的地址,具体配置图3中代理1与代理8的地址,并分别将代理1、代理8与中继链网络中的代理2及代理7建立点对点连接。
[0144]
第一区块链系统抛出跨链事件,由网关a捕获该跨链事件后,根据跨链传输协议封装为跨链交易,发送跨链交易tx1到代理1,代理1将收到的tx1封装为文件的形式存储到指定的写文件目录中。跨网设备配置文件摆渡策略,并依照该文件摆渡策略,将代理1的写文件目录中的数据跨物理隔离传递给代理2,代理2获取到跨网设备传递的文件格式的数据后,将其还原为交易tx格式的数据,得到tx1,再通过点对点网络传输到中继链系统。
[0145]
对应地,中继链网络中中继链系统与第二区块链网络中第二区块链系统之间的信息传输方式与上述步骤大致相同,如图5所示,中继链系统将跨链交易上链记录,并发起与该跨链交易对应的跨链事件,将该跨链事件对应的跨链交易tx3点对点传输到代理3,代理3
将tx3封装为文件的形式存储到指定的写文件目录,由跨网设备将代理3的写文件目录中的数据跨物理隔离传递给代理4,代理4获取到跨网设备传递的文件格式的数据后,将其还原为交易tx格式的数据,得到tx3后将其发送至网关b,最终由网关b将数据传递至第二区块链系统,完成数据向目的链系统的跨链传递。
[0146]
第二区块链系统进行交易上链后,需要反馈上链回执。当第二区块链系统向第一区块链系统反馈上链回执时,第二区块链系统将成为数据跨链传输的来源链系统,第一区块链系统将成为数据跨链传输的目的链系统。此时第二区块链系统抛出跨链回执事件,网关b捕获到该事件后将其封装为tx4,通过代理6、代理5采用前述数据处理操作转发到中继链系统,中继链系统则进一步通过代理7、代理8采用前述数据处理操作将信息最终转发到第一区块链系统。最终整个跨链生命周期结束。
[0147]
上述过程中,通过在存在网络隔离的两个网络中分别设置代理节点,使需要进行数据跨链传递的区块链能够借助于代理节点依照配备的跨网策略实现与中继链间的信息跨网传输,实现了网络不互通场景下的跨链互操作。
[0148]
且上述过程中,代理节点只对消息依照跨网策略对应的格式进行信息格式转换,以确保信息的跨网络隔离传递,并不会解析跨链传递信息本身,能够保障数据传递过程中全链路的数据安全性,且对中继链系统、来源链系统及目的链系统的侵入较小,对原有信息传递链路改造小,成本低,配置灵活。
[0149]
其中,代理节点与网关、中继链系统之间进行信息传递时,可以采取安全传输层协议进行信息的加密传输,确保数据安全性及不被篡改性。
[0150]
因此,本技术实施例中提出的信息跨链传输方法,能够在应用链系统与中继链系统存在网络隔离场景下,通过代理节点进行跨网域通信,保证跨链数据在传输链路的安全性、高效性,让应用链系统与中继链系统能够在网络隔离环境下进行跨链交易传输。
[0151]
进一步地,为了确保代理节点的高可用性,避免因为代理节点宕机导致的跨链操作无法正常进行的问题。
[0152]
本技术实施例中,还提出了代理节点的网络负载均衡功能。
[0153]
具体地,可以在不同的区块链系统中设置多个代理节点。结合图10、图11所示,在一个实施例中,具体在第一区块链网络或者中继链网络中配置一组代理节点。图10中具体为在第一区块链网络中配置代理节点集合,该代理节点集合中包含n个代理节点(参见图10中的代理a,代理a中包含代理a1至代理an;及图11中的代理f,代理f中包含代理f1至代理fn)。
[0154]
与之对应地,可以在中继链网络中同样配置代理节点集合,该代理节点集合中包含n个代理节点(参见图10中的代理b,代理b中包含代理b1至代理bn;及图11中的代理e,代理e中包含代理e1至代理en)。其中,需要将代理a与代理b之间的各个代理节点间建立点对点连接,及将代理e与代理f之间的各个代理节点间建立点对点连接,即将一组代理节点中的每一代理节点均与另一组代理节点中的每一代理节点间建立起点对点的一一对应的连接关系。其中,这两组代理节点处于不同的区块链网络中。
[0155]
结合图12所示,代理a1与代理b1相对应,代理a2与代理b2相对应,代理a3与代理b3相对应,并依照指定的文件摆渡策略执行信息摆渡操作。
[0156]
在进行文件跨网传输时,跨网设备可以是将代理a1、代理a2、代理a3中写文件目录
下的文件摆渡到对应的代理b1、代理b2、代理b3的读文件目录下,实现信息在跨链传输过程中的有序可靠传递。
[0157]
上述实施例中,即同一区块链网络中配置的代理节点可以为多个,形成代理节点集合。
[0158]
与之对应地,在一个可选的实施方式中,步骤702,网关向所述代理节点发送携带有与所述跨链事件对应的第一业务数据的信息跨链传递指令,具体包括:
[0159]
网关基于设定映射关系,确定与所述跨链事件对应的第二业务数据的第一映射值;
[0160]
网关从映射值集合中选取数值与所述第一映射值差值最小的第二映射值,其中,所述映射值集合中包括将每一所述代理节点的节点标识依照所述设定映射关系映射生成的多个映射值;
[0161]
网关基于所述第二映射值确定目标代理节点,所述目标代理节点为多个所述代理节点中节点标识与所述第二映射值对应的代理节点;
[0162]
网关将携带有所述第二业务数据的所述信息跨链传递指令输出至目标代理节点。
[0163]
在具体实施中,可以是直接依照业务数据与二进制数值之间的映射关系,将跨链事件对应的业务数据映射成相应的二进制值。
[0164]
具体地,可以根据一致性哈希算法将各个代理节点加入至哈希环中。一个哈希环与一组代理节点相对应。哈希环的构造方法如下:
[0165]
每个代理节点的节点标识通过特定的哈希算法映射为一个32位的二进制数,如图13所示,假设一个环由0至2
32-1个数组成,将每个代理节点的节点标识转换为二进制数,映射至哈希环上某个数字所处位置。
[0166]
当需要通过代理节点向外传输业务数据时,将该业务数据通过特定的哈希算法映射到哈希环的某个位置,将该信息分配给沿着该位置顺时针或逆时针方向上距离最近的节点(可以认为该节点在哈希环上的映射值与待传输信息在环上的映射值之间的差值最小)。如图13所示,信息tx将分配给代理a3进行转发,实现代理节点资源的合理利用,确保代理节点负载均衡。
[0167]
进一步地,将所有代理节点加入哈希环后,有些节点可能负载较少,有些节点负载较大,也会造成负载不均衡的情况发生。
[0168]
针对此问题,本技术实施例中还根据负载均衡原则,提出采用构造虚拟代理节点的方式来平衡代理节点的负载压力。
[0169]
即,所述映射值集合中还包括将至少一个虚拟代理节点的节点标识依照所述设定映射关系映射生成的多个映射值,所述虚拟代理节点与多个所述代理节点中的设定代理节点具有一一对应关系。
[0170]
则对应地,其中,网关基于第二映射值确定目标代理节点,包括:
[0171]
在所述第二映射值对应的代理节点为第一虚拟代理节点的情况下,所述网关基于所述虚拟代理节点与所述设定代理节点间的一一对应关系,从多个所述代理节点中确定与所述第一虚拟代理节点对应的节点作为所述目标代理节点。
[0172]
所述虚拟代理节点为基于与所述虚拟代理节点具有一一对应关系的所述代理节点进行节点标识虚拟化后得到的节点。
[0173]
每一虚拟代理节点具有自己的节点标识,与虚拟代理节点具有一一对应关系的代理节点也具有自己的节点标识,两者的节点标识不同,因此会对应不同的映射值。以实现通过构造虚拟代理节点的方式来平衡代理节点的负载均衡。
[0174]
结合图13所示,在哈希环上增加虚拟代理节点(对应于图13中虚线的半圆形图示),在哈希环上增加两个虚拟代理节点的节点标识对应的映射值,分别为代理a1-1及代理a2-1,其中代理a1-1为代理a1的虚拟代理节点,代理a2-1为代理a2的虚拟代理节点。
[0175]
如果没有代理a1-1与代理a2-1,大部分信息的数值位置将大部分映射到代理a3上。因此构造代理a1-1与代理a2-1加入哈希环,并建立物理代理节点与虚拟代理节点间的对应关系,如基于信息的映射值在哈希环上将其匹配到代理a1-1时,则基于虚拟代理节点与物理代理节点之间的对应关系,找到实际与该信息对应的代理节点为代理a1,则此时将该信息分配给代理a1进行转发。
[0176]
上述实施方式可以避免因为代理节点宕机导致的跨链操作无法正常进行的问题,实现了代理节点负载均衡,提高了高并发环境下的系统性能,减轻了代理节点压力。
[0177]
进一步地,本技术实施例提供了一种信息跨链传输系统,包括:第一区块链网络、中继链网络以及第二区块链网络,所述中继链网络通过跨网设备与所述第一区块链网络通信。
[0178]
其中,所述第一区块链网络包括第一代理节点,所述第一代理节点用于执行如上述实施例中所述的信息跨链传输方法;和/或,
[0179]
所述中继链网络包括第二代理节点,所述第二代理节点用于执行如上述实施例中所述的信息跨链传输方法;和/或,
[0180]
所述第一区块链网络包括网关,所述网关用于执行如上述实施例中所述的信息跨链传输方法。
[0181]
进一步地,本技术实施例还提供了一种信息跨链传输系统,包括:第一区块链网络、中继链网络以及第二区块链网络,所述中继链网络通过跨网设备与所述第二区块链网络通信。
[0182]
其中,所述中继链网络包括第三代理节点,所述第三代理节点用于执行如上述实施例中所述的信息跨链传输方法;和/或,
[0183]
所述第二区块链网络包括第四代理节点,所述第四代理节点用于执行如上述实施例中所述的信息跨链传输方法;和/或,
[0184]
所述中继链网络包括网关,所述网关用于执行如上述实施例中所述的信息跨链传输方法。
[0185]
本技术实施例提供的信息跨链传输系统能够实现上述信息跨链传输方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0186]
图14是本技术实施例提供的一种计算机设备的结构图。如该图所示,该实施例的计算机设备14包括:至少一个处理器140(图14中仅示出一个)、存储器141以及存储在所述存储器141中并可在所述至少一个处理器140上运行的计算机程序142,所述处理器140执行所述计算机程序142时实现上述任意各个方法实施例中的步骤。
[0187]
所述计算机设备14可包括,但不仅限于,处理器140、存储器141。本领域技术人员可以理解,图14仅仅是计算机设备14的示例,并不构成对计算机设备14的限定,可以包括比
图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机设备还可以包括输入输出设备、网络接入设备、总线等。
[0188]
所述处理器140可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0189]
所述存储器141可以是所述计算机设备14的内部存储单元,例如计算机设备14的硬盘或内存。所述存储器141也可以是所述计算机设备14的外部存储设备,例如所述计算机设备14上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器141还可以既包括所述计算机设备14的内部存储单元也包括外部存储设备。所述存储器141用于存储所述计算机程序以及所述计算机设备所需的其他程序和数据。所述存储器141还可以用于暂时地存储已经输出或者将要输出的数据。
[0190]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0191]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0192]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0193]
本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序产品来实现,当计算机程序产品在计算机设备上运行时,使得所述计算机设备执行时实现可实现
上述各个方法实施例中的步骤。
[0194]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1