发明内容
本说明书实施例旨在提供一种更有效的跨链读取数据的方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种基于中继设备网络跨链读取数据的方法,所述中继设备网络中包括第一中继设备和第二中继设备,所述第一中继设备与第一区块链连接、并存储有第一查找表,所述第一查找表中记录了预定数目个中继设备各自连接的区块链,所述第二中继设备与第二区块链连接,所述方法由所述第一中继设备执行,包括:
从所述第一区块链获取对所述第二区块链中的第一数据的读取请求;
确定本地是否与所述第二区块链连接;
在确定本地不与所述第二区块链连接的情况中,基于所述第一查找表,将所述读取请求发送给所述预定数目个中继设备中的至少一个中继设备,以用于将所述读取请求发送给所述第二中继设备;
从所述预定数目个中继设备中的一个中继设备接收第一数据;
将所述第一数据提供给所述第一区块链。
在一种实施方式中,所述预定数目个中继设备中包括所述第二中继设备,其中,基于所述第一查找表,将所述读取请求发送给所述预定数目个中继设备中的至少一个中继设备包括,基于所述第一查找表,将所述读取请求发送给所述第二中继设备。
在一种实施方式中,所述预定数目个中继设备中不包括所述第二中继设备,其中,基于所述第一查找表,将所述读取请求发送给所述预定数目个中继设备中的至少一个中继设备包括,基于所述第一查找表,将所述读取请求发送给所述预定数目个中继设备中的第三中继设备,以用于将所述读取请求发送给所述第二中继设备。
在一种实施方式中,所述方法还包括,在确定本地与所述第二区块链连接的情况中,从所述第二区块链读取所述第一数据。
在一种实施方式中,从所述预定数目个中继设备中的一个中继设备接收第一数据包括,从所述预定数目个中继设备中的一个中继设备接收第一数据及其证明数据,将所述第一数据提供给所述第一区块链包括,将所述第一数据及其证明数据提供给所述第一区块链。
在一种实施方式中,所述第一数据为所述第二区块链中的以下任一种数据:区块头数据、交易数据、收据数据、账户状态数据。
本说明书另一方面提供一种基于中继设备网络跨链读取数据的方法,所述中继设备网络中包括第一中继设备和第二中继设备,所述第一中继设备与第一区块链连接,所述第二中继设备与第二区块链连接、并存储有第二查找表,所述第二查找表中记录了预定数目个中继设备各自连接的区块链,所述方法由所述第二中继设备执行,包括:
从所述中继设备网络接收对所述第二区块链中的第一数据的读取请求,其中,所述读取请求由所述第一中继设备从所述第一区块链获取;
基于所述读取请求从所述第二区块链读取所述第一数据;
基于所述第二查找表将所述第一数据发送给所述预定数目个中继设备中的至少一个中继设备,以用于将所述第一数据发送给所述第一中继设备。
在一种实施方式中,基于所述读取请求从所述第二区块链读取所述第一数据包括,基于所述读取请求从所述第二区块链读取所述第一数据及其证明数据,基于所述第二查找表将所述第一数据发送给所述预定数目个中继设备中的至少一个中继设备包括,基于所述第二查找表将所述第一数据及其证明数据发送给所述预定数目个中继设备中的至少一个中继设备。
本说明书另一方面提供一种基于中继设备网络跨链读取数据的装置,所述中继设备网络中包括第一中继设备和第二中继设备,所述第一中继设备与第一区块链连接、并存储有第一查找表,所述第一查找表中记录了预定数目个中继设备各自连接的区块链,所述第二中继设备与第二区块链连接,所述装置部署于所述第一中继设备,包括:
获取单元,配置为,从所述第一区块链获取对所述第二区块链中的第一数据的读取请求;
确定单元,配置为,确定本地是否与所述第二区块链连接;
发送单元,配置为,在确定本地不与所述第二区块链连接的情况中,基于所述第一查找表,将所述读取请求发送给所述预定数目个中继设备中的至少一个中继设备,以用于将所述读取请求发送给所述第二中继设备;
接收单元,配置为,从所述预定数目个中继设备中的一个中继设备接收第一数据;
提供单元,配置为,将所述第一数据提供给所述第一区块链。
在一种实施方式中,所述预定数目个中继设备中包括所述第二中继设备,其中,所述发送单元还配置为,基于所述第一查找表,将所述读取请求发送给所述第二中继设备。
在一种实施方式中,所述预定数目个中继设备中不包括所述第二中继设备,其中,所述发送单元还配置为,基于所述第一查找表,将所述读取请求发送给所述预定数目个中继设备中的第三中继设备,以用于将所述读取请求发送给所述第二中继设备。
在一种实施方式中,所述装置还包括,读取单元,配置为,在确定本地与所述第二区块链连接的情况中,从所述第二区块链读取所述第一数据。
在一种实施方式中,所述接收单元还配置为,从所述预定数目个中继设备中的一个中继设备接收第一数据及其证明数据,所述提供单元还配置为,将所述第一数据及其证明数据提供给所述第一区块链。
本说明书另一方面提供一种基于中继设备网络跨链读取数据的装置,所述中继设备网络中包括第一中继设备和第二中继设备,所述第一中继设备与第一区块链连接,所述第二中继设备与第二区块链连接、并存储有第二查找表,所述第二查找表中记录了预定数目个中继设备各自连接的区块链,所述装置部署于所述第二中继设备,包括:
接收单元,配置为,从所述中继设备网络接收对所述第二区块链中的第一数据的读取请求,其中,所述读取请求由所述第一中继设备从所述第一区块链获取;
读取单元,配置为,基于所述读取请求从所述第二区块链读取所述第一数据;
发送单元,配置为,基于所述第二查找表将所述第一数据发送给所述预定数目个中继设备中的至少一个中继设备,以用于将所述第一数据发送给所述第一中继设备。
在一种实施方式中,所述读取单元还配置为,基于所述读取请求从所述第二区块链读取所述第一数据及其证明数据,所述发送单元还配置为,基于所述第二查找表将所述第一数据及其证明数据发送给所述预定数目个中继设备中的至少一个中继设备。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器在执行所述计算机程序或指令时,实现上述任一项方法。
通过根据本说明书实施例的跨链读取数据的方案,可在区块链的链下实现支持路由的中继设备网络,可基于该中继设备网络形成跨链网络拓扑,该跨链网络拓扑支持大规模跨链网络连接,从而区块链通过接入中继设备即可在跨链网络拓扑中寻址区块链账本信息。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出根据本说明书实施例的跨链系统的示意图。如图1所示,所述跨链系统包括第一区块链11、中继设备网络12和第二区块链13。其中,所述中继设备网络12中包括多个具有预定连接关系的中继设备,图1仅示意示出第一中继设备121和第二中继设备122,其中以虚线示出的云朵表示,第一中继设备121与第二中继设备122有可能直接连接,或者有可能通过其它中继设备连接。中继设备网络12中的每个中继设备与至少一个区块链连接,每个中继设备中存储有查找表,该查找表记录了预定数目个中继设备与其连接的区块链的对应关系,从而通过中继设备网络12中的多个中继设备,中继设备网络可与更多个区块链连接。图1中示意示出了,第一区块链11与第一中继设备121连接,第二区块链13与第二中继设备122连接。
其中,第一区块链11中部署有第一合约和请求发出合约。第一合约例如为用于计算第二区块链中的账户A的账户余额,在执行第一合约时,需要读取第二区块链中账户A与其它账户之间的转账交易过程,以用于计算账户A的余额,在第二区块链13中例如通过收据n对该转账交易进行了记录。为此,第一合约中调用请求发出合约,以发出读取第二区块链13中的收据n的读取请求。当在第一区块链11中执行该请求发出合约时,在第一区块链11中存入收据m,收据m中包括所述读取请求。
当在第一区块链11中存入收据m之后,第一中继设备121可从第一区块链11中获取所述收据m,从而可获取所述读取请求。第一中继设备121基于读取请求中的内容可确定该读取请求用于请求读取第二区块链13中的收据n,第一中继设备121确定其是否与第二区块链13连接,如果与第二区块链13连接,则第一中继设备121可直接从第二区块链13读取收据n(该情况在图1中未示出)。如果第一中继设备121确定其不与第二区块链13连接,则可如图1中所示,通过读取查找表,确定到第二区块链13的路由路径,从而第一中继设备121可将读取请求发送到中继设备网络12中,以最后发送给第二中继设备122。
第二中继设备122在接收到读取请求之后,从第二区块链13读取收据n及其简单支付验证(Spv)证明数据,并将收据n及其Spv证明数据发回给第一中继设备121。之后,第一中继设备121可通过向第一区块链11发送交易(未示出)而将收据n及其Spv证明数据回传给请求发出合约,其中,在该交易中以收据n及其Spv证明数据为传入参数调用请求发出合约。请求发出合约在收到收据n及其Spv证明数据之后,通过Spv证明数据对收据n进行验证,在验证通过之后,以收据n作为传入参数调用第一合约,从而将收据n提供给第一合约。
可以理解,上述参考图1的描述只是示意性的,而不是用于限制本说明书实施例。例如,所述中继设备不限于为图1中所示的形式,所述第一合约不限于为上述合约,等等。
下面将具体描述上述跨链读取数据的过程。
图2示意示出根据本说明书实施例的跨链读取数据的方法时序图。
在本说明书实施例中,第一区块链11和第二区块链13可以为任意区块链,如比特币链、以太坊链、Hyperledger Fabric区块链等等。不同的区块链具有不同的链上数据证明方式,例如,Fabric链使用背书节点签名的方式,以太坊链使用Spv证明的方式。下文中将以第一区块链11为以太坊链为例进行描述。
参考图2,首先,在步骤S202,第一中继设备121从第一区块链11获取读取请求。
如上文所述,第一区块链11中的第一合约通过调用请求发出合约而将读取请求作为传入参数提供给请求发出合约,从而通过执行请求发出合约,可在第一区块链11中存入收据m,该收据m中包括所述读取请求,例如,在收据m的预定名称的日志中的数据字段中包括该读取请求。可预先设定读取请求的数据结构,在该数据结构中例如包括请求数据的区块链标识、收据标识等。例如,该读取请求希望读取第二区块链13中的收据n,从而,在该读取请求的内容中,可在预定数据结构中包括:第二区块链13的链标识、以及收据n的标识,该收据n的标识例如包括收据n所在的区块标识(例如区块号、或区块头哈希值等)、以及收据n在区块中的编号等等。在一种实施方式中,收据n的标识不限于包括上述内容,只要可以唯一确定收据n即可,例如,在如上文所述收据n为账户A与其它账户之间的转账交易的收据的情况中,收据n的标识可以为账户A以及交易发送时间,从而基于该标识内容可唯一确定收据n。可以理解,请求发出合约不限于通过收据m的形式向第一区块链11中存入读取请求,而也可以通过其它数据,如交易数据。另外,读取请求不限于请求读取第二区块链13中的收据,而是可以读取第二区块链13中的任意数据,该任意数据例如包括可证明(即经共识的)数据,如区块头、交易数据、账户状态数据等等。这些可证明数据的共性为,其都在第二区块链13中经过多个节点的共识之后存入第二区块链中,并且,基于区块的数据结构,可通过Spv验证方式验证这些数据确实是第二区块链中的数据。相对应地,在读取请求的数据结构中,可包括与数据类型对应的字段,以指示读取请求的数据的数据类型,所述数据类型例如为区块头类型、交易数据类型、收据数据类型等等。
从而,第一中继设备121可对与请求发出合约对应的收据进行监听,每当确定第一区块链11中存入了执行请求发出合约所产生的收据时,即可从第一区块链11中读取该收据,并相应地从该收据中的具有预定名称的日志中读取该收据中的数据读取请求。或者,第一区块链11中可主动进行信息推送,每次在确定第一区块链11中存入了执行请求发出合约所产生的收据时,将该收据主动推送给第一中继设备121。可以理解,在本说明书实施例中,不限于通过调用请求发出合约的方式来发出跨链读取请求,而是可通过执行任何交易来跨链读取数据,只要通过执行该交易可以将读取请求存入第一区块链11中且可辨识其中包括跨链读取请求即可。
在步骤S204,第一中继设备121确定本地是否与第二区块链13连接。
第一中继设备121在从第一区块链11获取收据m之后,即可读取其中的读取请求,基于该读取请求中的请求数据的区块链标识字段内容,可确定该读取请求用于请求读取第二区块链13中的数据。
如前文所述,第一中继设备121与预定数目的区块链连接,第一中继设备121在本地记录有如表1所示的数据表,该数据表中记录了与其连接的区块链的连接地址。
表1
区块链ID |
连接地址 |
区块链ID1 |
IP地址1,端口/IP地址2,端口/… |
区块链ID2 |
IP地址3,端口/IP地址4,端口/… |
… |
… |
其中,在表1中,左侧的区块链ID即为第一中继设备121连接的各个区块链的标识,右侧的连接地址为相应的区块链中的至少一个节点的连接地址。
第一中继设备121通过查询表1,可确定表1中是否记录了第二区块链13的区块链标识(区块链ID),如果记录了,则可基于表1中与第二区块链13对应的连接地址中的任一连接地址连接第二区块链13中的与该连接地址对应的节点,以用于读取第二区块链13中的数据。如果表1中未记录第二区块链13的区块链ID,则说明第一中继设备121不与第二区块链13直接连接,从而需要如下文所述通过链下中继设备的中转来与第二区块链建立连接。
在步骤S206,在第一中继设备121确定本地不与第二区块链13连接的情况中,第一中继设备121基于本地的查找表将读取请求直接或间接地发送给第二中继设备122。
在一种实施方式中,中继设备和区块链的数目较少,从而可在一个查找表中记录全部中继设备与其各自连接的区块链的对应关系。从而,中继设备网络中的各个中继设备中可存储同样的查找表。表2示意示出了根据该实施方式的查找表。
表2
假设第二区块链13的区块链标识为表2中的区块链ID2,第一中继设备121在查找表2之后,可确定第二区块链13与第二中继设备122连接。第一中继设备121可在表2中还记录各个中继设备的连接地址,或者第一中继设备121可在另外的表格中记录各个中继设备的连接地址,从而,第一中继设备121在确定第二区块链13与第二中继设备122连接之后,可从本地获取第二中继设备122的连接地址,连接第二中继设备122,从而将读取请求发送给第二中继设备122。
在一种实施方式中,区块链的数目较多,中继设备网络中的中继设备的数目也较多,在该情况中,每个中继设备不一定与中继设备网络中的其它各个中继设备连接,例如,第一中继设备121不与第二中继设备122直接连接,从而,需要通过其它中继设备的中转来使得第一中继设备121与第二中继设备122间接连接。也就是说,各个中继设备仅与中继设备网络中的预定数目的中继设备连接,各个中继设备中存储的查找表中仅记录了该中继设备连接的中继设备与区块链的连接关系,因此,各个中继设备的查找表是不同的表。假设第一中继设备121与中继设备ID3和中继设备ID4连接,中继设备ID3与第二中继设备122和中继设备ID5连接,表3示意示出根据该实施方式的第一中继设备121中的查找表。表4示意示出根据该实施方式的中继设备ID3中的查找表
表3
表4
第一中继设备121在读取本地的查找表(表3)之后,可基于预定路由算法将读取请求发送给其连接的至少一个中继设备,从而通过中继设备网络中的其它中继设备的中转最终将读取请求发送到第二中继设备122。
例如,表3和表4可以为分布式散列表(DHT表),在该情况中,表3和表4中的中继设备ID与区块链ID可以是同构的,例如各个中继设备ID为通过对各个中继设备编号取哈希值而获取的不同的第一数值,所述多个第一数值构成多个均匀的取值范围,各个区块链ID为通过对区块链域名取哈希值获取的不同第二数值,所述多个第二数值分布在所述多个取值范围中,并基于其所分布的取值范围确定该区块链ID对应的区块链与哪个中继设备连接。例如,第二中继设备122的中继设备ID为中继设备ID2,则将分布于以中继设备ID2为中心的预定范围中的区块链ID对应的区块链确定为与第二中继设备122连接。从而,第一中继设备121可基于DHT算法计算路由路径,使得以最少的中转次数将读取请求发送到第二中继设备122。
例如,参考表3和表4,可确定路由路径中继设备ID3→中继设备ID2是最优的路径,从而,第一中继设备121基于本地存储的中继设备ID3的连接地址将读取请求发送给中继设备ID3。中继设备ID3在接收到读取请求之后,确定该读取请求用于请求第二区块链13中的数据,从而,中继设备ID3通过查找其本地的查找表(表4)确定其连接的第二中继设备122与第二区块链13连接,从而,中继设备ID3将读取请求直接发送给第二中继设备122。
在步骤S208,第二中继设备122从第二区块链13读取收据n及其证明。
如上文所述,读取请求具有预定数据结构,其中包括请求读取的区块链标识和数据标识,例如,其中包括第二区块链13中的收据n的标识,该收据n的标识例如包括:区块号(例如区块1)、收据编号(例如收据n)。从而,第二中继设备122在接收到读取请求之后,基于读取请求的内容确定其需要连接第二区块链13。第二中继设备122中也具有与表1类似的数据表,第二中继设备122基于本地的数据表获取第二区块链13的连接地址连接到第二区块链13,并从第二区块链13读取相应的数据。具体是,在第二中继设备122中例如安装了第二区块链13的客户端,该客户端中设置有上述数据表,并且在客户端的界面中直接显示了可连接的区块链的选项,该选项中包括第二区块链13的标识,从而,与第二中继设备122对应的业务人员直接点击第二区块链13的标识,即可通过客户端连接到第二区块链13。在连接到第二区块链13之后,客户端的界面中将显示用于读取数据的按钮或输入框,业务人员通过在客户端中进行点击或输入,从而可读取到第二区块链13中的相应数据。例如,通过在客户端中选择区块1中的收据n,从而可读取到收据n,通过点击客户端中的与收据n对应的Spv证明数据按钮,从而可读取到收据n的Spv证明数据。在以太坊链中,Spv证明数据为用于对数据进行Spv验证的数据,例如,收据n的Spv证明数据包括:区块1的区块头哈希值、区块1中包括的收据树根哈希值、收据树中从收据m到根节点的树路径中其它各个节点的哈希值。
可以理解,这里,第二中继设备122读取收据n及其证明数据仅仅为本说明书实施例的一种示例描述,而不是用于限制本说明书实施例的范围。例如,在第一区块链11不需要证明数据的情况中,第二中继设备122可以仅读取收据n,以用于传回给第一区块链11。再例如,在第一区块链11请求读取的数据不是可证明数据的情况中,第二中继设备122可以仅读取请求读取的数据,而不需要读取其证明数据。
在步骤S210,第二中继设备122将收据n及其Spv证明数据直接或间接地发送给第一中继设备121。
在一种实施方式中,如上文所述,第一中继设备121与第二中继设备122直接连接,从而,第二中继设备122可直接将收据n及其Spv证明数据发送给第一中继设备121。在发送时,第二中继设备122对发送的数据标注其为与所述读取请求对应的请求数据,从而便于第一中继设备121的后续处理。
在一种实施方式中,第一中继设备121通过其它中继设备的中转而将读取请求发送给第二中继设备122,在各个中继设备发送的过程中,可对读取请求附加上其从第一中继设备121到第二中继设备122的发送路径,例如,其发送路径为第一中继设备121→中继设备ID3→第二中继设备122,从而,第二中继设备122可基于该发送路径将读取的数据发送回第一中继设备121。
在一种实施方式中,在读取请求中包括请求发出区块链的链标识(即第一区块链11),第二中继设备122可基于其本地的查找表确定将收据n及其Spv证明数据提供给第一区块链的路由路径,从而通过该路由路径将收据n及其Spv证明数据发送回第一中继设备121。
可以理解,在第一区块链11不需要收据n的证明数据的情况中,第二中继设备122仅读取收据n,并仅将收据n直接或间接地发送给第一中继设备121。
在步骤S212,第一中继设备121将收据n及其Spv证明数据提供给第一区块链11。
如上文所述,参考图1,第一中继设备121在从中继设备网络接收到收据n及其Spv证明数据之后,通过向第一区块链11发送交易而向第一区块链11提供收据n及其Spv证明数据,在该交易中,以收据n及其Spv证明数据作为传入参数调用请求发出合约。具体是,在传入收据n及其Spv证明数据时,还标明,其与所述读取请求相对应。从而,当在第一区块链11中执行请求发出合约时,在使用Spv证明数据对收据n验证通过之后,请求发出合约基于预先记录的读取请求与第一合约的对应关系回调第一合约,从而将收据n提供给第一合约,即完成了跨链数据的读取过程。
其中,通过Spv证明数据对收据n进行验证的过程具体可包括如下步骤:计算获取的收据n的哈希值;基于Spv证明数据中包括的树路径中其它各节点的哈希值,计算区块1中收据树的根哈希值;将计算的根哈希值与Spv证明数据中包括的区块1的收据树的根哈希值进行比较,以确定收据m是否为区块1中的收据m;以及,基于Spv证明数据中包括区块1的区块头哈希值、以及请求发出合约中预先设置的第二区块链13的创世区块的相关信息(例如创世区块哈希值),确定区块1是否为第二区块链13中的区块,从而可验证收据n的真实可信性。
可以理解,在第一中继设备121仅从中继设备网络中接收到数据2的情况中,第一中继设备121仅将收据n提供给第一区块链11。
图3示出根据本说明书实施例的一种基于中继设备网络跨链读取数据的装置300,所述中继设备网络中包括第一中继设备和第二中继设备,所述第一中继设备与第一区块链连接、并存储有第一查找表,所述第一查找表中记录了预定数目个中继设备各自连接的区块链,所述第二中继设备与第二区块链连接,所述装置部署于所述第一中继设备,包括:
获取单元31,配置为,从所述第一区块链获取对所述第二区块链中的第一数据的读取请求;
确定单元32,配置为,确定本地是否与所述第二区块链连接;
发送单元33,配置为,在确定本地不与所述第二区块链连接的情况中,基于所述第一查找表,将所述读取请求发送给所述预定数目个中继设备中的至少一个中继设备,以用于将所述读取请求发送给所述第二中继设备;
接收单元34,配置为,从所述预定数目个中继设备中的一个中继设备接收第一数据;
提供单元35,配置为,将所述第一数据提供给所述第一区块链。
在一种实施方式中,所述预定数目个中继设备中包括所述第二中继设备,其中,所述发送单元33还配置为,基于所述第一查找表,将所述读取请求发送给所述第二中继设备。
在一种实施方式中,所述预定数目个中继设备中不包括所述第二中继设备,其中,所述发送单元33还配置为,基于所述第一查找表,将所述读取请求发送给所述预定数目个中继设备中的第三中继设备,以用于将所述读取请求发送给所述第二中继设备。
在一种实施方式中,所述装置还包括,读取单元36,配置为,在确定本地与所述第二区块链连接的情况中,从所述第二区块链读取所述第一数据。
在一种实施方式中,所述接收单元34还配置为,从所述预定数目个中继设备中的一个中继设备接收第一数据及其证明数据,所述提供单元35还配置为,将所述第一数据及其证明数据提供给所述第一区块链。
图4示出根据本说明书实施例的一种基于中继设备网络跨链读取数据的装置,所述中继设备网络中包括第一中继设备和第二中继设备,所述第一中继设备与第一区块链连接,所述第二中继设备与第二区块链连接、并存储有第二查找表,所述第二查找表中记录了预定数目个中继设备各自连接的区块链,所述装置部署于所述第二中继设备,包括:
接收单元41,配置为,从所述中继设备网络接收对所述第二区块链中的第一数据的读取请求,其中,所述读取请求由所述第一中继设备从所述第一区块链获取;
读取单元42,配置为,基于所述读取请求从所述第二区块链读取所述第一数据;
发送单元43,配置为,基于所述第二查找表将所述第一数据发送给所述中继设备网络,以用于将所述第一数据及其证明数据发送给所述第一中继设备。
在一种实施方式中,所述读取单元42还配置为,基于所述读取请求从所述第二区块链读取所述第一数据及其证明数据,所述发送单元43还配置为,基于所述第二查找表将所述第一数据及其证明数据发送给所述预定数目个中继设备中的至少一个中继设备。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器在执行所述计算机程序或指令时,实现上述任一项方法。
通过根据本说明书实施例的跨链读取数据的方案,可在区块链的链下实现支持路由的中继设备网络,可基于该中继设备网络形成跨链网络拓扑,该跨链网络拓扑支持大规模跨链网络连接,从而区块链通过接入中继设备即可在跨链网络拓扑中寻址区块链账本信息。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。