掌桥专利:专业的专利平台
掌桥专利
首页

区块链跨链访问方法及装置

文献发布时间:2023-06-19 09:57:26


区块链跨链访问方法及装置

技术领域

本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种区块链跨链访问方法及装置。

背景技术

区块链技术(也被称之为,分布式账本技术)是一种去中心化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。随着区块链技术的快速发展,面对不同应用场景、维护有不同数据的区块链系统不断出现,但是由于各个区块链系统之间的较大差异,使得不同区块链系统之间难以实现数据通信等跨链交互。相关技术中,为了实现不同区块链系统之间的跨链交互,通常需要由相关人员在线下对各个区块链系统进行统一的配置和开发,这一过程十分繁琐且容易出现错误。

发明内容

有鉴于此,本说明书一个或多个实施例提供一种区块链跨链访问方法及装置。

为实现上述目的,本说明书一个或多个实施例提供技术方案如下:

根据本说明书一个或多个实施例的第一方面,提出了一种区块链跨链访问方法,应用于区块链域名管理系统,所述方法包括:

分别存储各个区块链系统所含区块链节点的节点访问信息与相应区块链系统的链域名之间的映射关系;

响应于第一区块链系统发送的包含第二区块链系统的目标链域名的域名识别请求,根据所述映射关系确定所述目标链域名对应的目标节点访问信息;

将所述目标节点访问信息返回至所述第一区块链系统,以使所述第一区块链系统根据所述目标节点访问信息对所述第二区块链系统进行跨链访问。

根据本说明书一个或多个实施例的第二方面,提出了一种区块链跨链访问方法,应用于区块链系统,所述方法包括:

生成注册请求,所述注册请求中包括所述区块链系统所含区块链节点的节点访问信息;

向区块链域名管理系统发送所述注册请求,以使所述区块链域名管理系统根据所述注册请求获取并存储所述节点访问信息与所述区块链系统对应的目标链域名之间的映射关系,所述映射关系被所述区块链域名管理系统用于确定接收到的目标链域名对应的节点访问信息,所述节点访问信息被用于对所述区块链系统进行跨链访问。

根据本说明书一个或多个实施例的第三方面,提出了一种区块链跨链访问方法,应用于区块链系统,所述方法包括:

生成域名识别请求,所述域名识别请求中包含目标链域名;

向区块链域名管理系统发送所述域名识别请求,以使所述区块链域名管理系统根据维护的各个区块链系统所含区块链节点的节点访问信息与相应区块链系统的链域名之间的映射关系,确定所述目标链域名对应的目标节点访问信息;

接收所述区块链域名管理系统返回的所述目标节点访问信息,并根据所述目标节点访问信息对所述目标链域名对应的区块链系统进行跨链访问。

根据本说明书一个或多个实施例的第四方面,提出了一种区块链跨链访问装置,应用于区块链域名管理系统;所述装置包括:

存储单元,用于分别存储各个区块链系统所含区块链节点的节点访问信息与相应区块链系统的链域名之间的映射关系;

确定单元,用于响应于第一区块链系统发送的包含第二区块链系统的目标链域名的域名识别请求,根据所述映射关系确定所述目标链域名对应的目标节点访问信息;

信息发送单元,用于将所述目标节点访问信息返回至所述第一区块链系统,以使所述第一区块链系统根据所述目标节点访问信息对所述第二区块链系统进行跨链访问。

根据本说明书一个或多个实施例的第五方面,提出了一种区块链跨链访问装置,应用于区块链系统;所述装置包括:

第一生成单元,用于生成注册请求,所述注册请求中包括所述区块链系统所含区块链节点的节点访问信息;

第一请求发送单元,用于向区块链域名管理系统发送所述注册请求,以使所述区块链域名管理系统根据所述注册请求获取并存储所述节点访问信息与所述区块链系统对应的目标链域名之间的映射关系,所述映射关系被所述区块链域名管理系统用于确定接收到的目标链域名对应的节点访问信息,所述节点访问信息被用于对所述区块链系统进行跨链访问。

根据本说明书一个或多个实施例的第六方面,提出了一种区块链跨链访问装置,应用于区块链系统;所述装置包括:

第二生成单元,用于生成域名识别请求,所述域名识别请求中包含目标链域名;

第二请求发送单元,用于向区块链域名管理系统发送所述域名识别请求,以使所述区块链域名管理系统根据维护的各个区块链系统所含区块链节点的节点访问信息与相应区块链系统的链域名之间的映射关系,确定所述目标链域名对应的目标节点访问信息;

接收单元,用于接收所述区块链域名管理系统返回的所述目标节点访问信息,并根据所述目标节点访问信息对所述目标链域名对应的区块链系统进行跨链访问。

根据本说明书一个或多个实施例的第七方面,提供一种电子设备。所述电子设备包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现如第一方面、第二方面或第三方面所述的方法。

根据本说明书一个或多个实施例的第八方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面、第二方面或第三方面所述方法的步骤。

由以上技术方案可见,本说明书中区块链域名管理系统可以存储有各个区块链系统所含区块链节点的节点访问信息与相应区块链系统的链域名之间的映射关系,区块链域名管理系统可以响应于第一区块链系统发送的包含第二区块链系统的目标链域名的域名识别请求,根据映射关系确定出目标链域名对应的目标节点访问信息,那么此时第一区块链系统内仅需要维护第二区块链系统的目标链域名即可,无需预先存储第二区块链系统较为复杂的节点访问信息,可以节省第一区块链系统的存储空间,同时当第二区块链系统的节点访问信息或者链域名发生改变时,仅需要对区块链域名管理系统内存储的相应的映射关系进行更新即可,保证了区块链域名管理系统内存储的映射关系的准确性,区块链域名管理系统可以将确定出的目标节点访问信息返回至第一区块链系统,第一区块链系统可以根据该目标节点访问信息对第二区块链系统进行跨链访问,那么第一区块链系统可以安全、快速地访问到第二区块链系统对应的链上数据,而无需人工进行大量的配置与开发,可以提升跨链访问的效率。

附图说明

图1是本说明书一示例性实施例提供的一种网络架构的示意图。

图2是本说明书一示例性实施例提供的一种区块链跨链访问方法的流程图。

图3是本说明书一示例性实施例提供的一种区块链域名管理系统的示意图。

图4是本说明书一示例性实施例提供的另一种区块链跨链访问方法的流程图。

图5是本说明书一示例性实施例提供的另一种区块链跨链访问方法的流程图。

图6是本说明书一示例性实施例提供的另一种区块链跨链访问方法的流程图。

图7是本说明书一示例性实施例提供的一种电子设备的结构示意图。

图8是本说明书一示例性实施例提供的一种区块链跨链访问装置的框图。

图9是本说明书一示例性实施例提供的另一种区块链跨链访问装置的框图。

图10是本说明书一示例性实施例提供的另一种区块链跨链访问装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

图1是一示例性实施例提供的一种网络架构的示意图。如图1所示,可以包括第一区块链系统11、区块链域名管理系统12和第二区块链系统13。区块链域名管理系统12可以存储有任意一个区块链系统内至少一个区块链节点对应的节点访问信息与该区块链系统对应的链域名之间的映射关系,节点访问信息可以包括节点地址或者节点名称等用于表示相应的区块链节点的信息,链域名可以用于表示相应的区块链系统。第一区块链系统11可以通过向区块链域名管理系统12发送包含目标链域名的域名识别请求,获取区块链域名管理系统12返回的目标链域名对应的目标节点访问信息,那么第一区块链系统11可以根据确定出的目标节点访问信息对目标链域名对应的第二区块链系统13进行跨链访问。

而第一区块链系统11和第二区块链系统13均包含有若干区块链节点,通过向区块链系统内的区块链节点提交相应的区块链交易,可以由区块链交易触发执行对应的智能合约,可以通过调用智能合约实现复杂的功能。而智能合约是区块链上预先部署的可执行代码,智能合约允许在没有第三方的情况下进行可信交易,且该交易可追踪且不可逆转。其中,智能合约中可以定义一个或多个接口,每一接口用于实现相应的功能。

区块链域名管理系统12可以是维护有任一区块链系统内至少一个区块链节点的节点访问信息与相应的区块链系统的链域名之间的映射关系的服务器,也可以是部署了用于存证上述映射关系的可信认证区块链的区块链系统,本说明书中并不对此进行限制。

本说明书中可以通过区块链域名管理系统实现各个区块链系统之间的跨链访问。下面结合实施例进行详细说明。

图2是一示例性实施例提供的一种区块链跨链访问方法的流程图。如图2所示,该方法应用于区块链域名管理系统(如图1所示的区块链域名管理系统12);该方法可以包括以下步骤:

步骤202,分别存储各个区块链系统所含区块链节点的节点访问信息与相应区块链系统的链域名之间的映射关系。

在一实施例中,区块链域名管理系统可以分别接收到任意一个区块链系统发送的注册请求,该注册请求中可以包括相应的区块链系统内至少一个区块链节点的节点访问信息,区块链域名管理系统可以根据注册请求为区块链系统生成相应的链域名,那么区块链域名管理系统内可以存储有各个区块链系统所含区块链节点的节点访问信息与相应的链域名之间的映射关系。其中,节点访问信息可以为节点地址等,而链域名相对于节点访问信息更加简洁和便于记忆。

在一实施例中,区块链域名管理系统可以部署有可信认证区块链,那么可以将上述映射关系存证在可信认证区块链中,从而可以保证区块链域名管理系统内维护的映射关系的安全性和可靠性,可以避免映射关系被篡改。当然,区块链域名管理系统还可以直接在本地存储上述映射关系,本说明书并不对此进行限制。

在一实施例中,区块链域名管理系统内可以包含多个存储区域,并且不同存储区域对应的区块链系统分别属于不同的区块链类型,其中,区块链类型可以按照区块链系统内维护的数据类型来划分,例如维护有教育相关数据的区块链系统可以被划分为教育类型、维护有与医院相关数据的区块链系统可以被划分为医务类型等,本说明书并不对此进行限制。

那么区块链域名管理系统在对各个区块链系统内包含的节点访问信息与相应区块链系统的链域名之间的映射关系进行存储时,可以先确定各个区块链系统对应的区块链类型,然后可以将每一区块链系统对应的映射关系存储至确定出的区块链类型对应的存储区域,从而便于区块链域名管理系统后续快速从相应的存储区域查询到各个区块链系统所含区块链节点的节点访问信息,可以提升区块链域名管理系统的运行效率。

步骤204,响应于第一区块链系统发送的包含第二区块链系统的目标链域名的域名识别请求,根据所述映射关系确定所述目标链域名对应的目标节点访问信息。

在一实施例中,区块链域名管理系统可以接收到第一区块链系统发送的包含第二区块链系统的目标链域名的域名识别请求,那么响应于该域名识别请求,区块链域名管理系统可以通过查找到包含目标链域名的映射关系,确定出目标链域名对应的目标节点访问信息,此时第一区块链系统仅需要维护第二区块链系统的目标链域名即可,无需预先存储第二区块链系统较为复杂的节点访问信息,可以节省第一区块链系统的存储空间。并且当第二区块链系统的节点访问信息或者链域名发生改变时,仅需要对区块链域名管理系统内存储的相应的映射关系的内容进行更新,可以保证节点访问信息和链域名更新的及时性,保证了区块链域名管理系统内存储的映射关系的准确性。

在一实施例中,在区块链域名管理系统部署有可信认证区块链并且将映射关系存证在可信认证区块链中的情况下,区块链域名管理系统可以通过执行用于识别链域名的智能合约代码,确定出目标链域名对应的目标节点访问信息,可以快速、准确地确定出目标链域名对应的目标节点访问信息。

步骤206,将所述目标节点访问信息返回至所述第一区块链系统,以使所述第一区块链系统根据所述目标节点访问信息对所述第二区块链系统进行跨链访问。

在一实施例中,区块链域名管理系统可以将确定出的目标节点访问信息返回至第一区块链系统,第一区块链系统可以根据该目标节点访问信息对第二区块链系统进行跨链访问,第一区块链系统可以安全、快速地访问到第二区块链系统对应的链上数据。其中,当确定出的目标节点访问信息对应第二区块链系统内的多个区块链节点时,区块链域名管理系统可以将随机选择出的一个区块链节点对应的节点访问信息返回至第一区块链系统,可以节省传输目标节点访问信息的资源消耗,可以提升传输目标节点访问信息的效率。或者,区块链域名管理系统可以按照预先设置的区块链节点的优先级顺序选取出相应的区块链节点对应的节点访问信息,或者区块链域名管理系统可以将所有的节点访问信息都返回至第一区块链系统,本说明书并不对此进行限制。

在一实施例中,区块链域名管理系统可以维护有从各个区块链系统获取的权限凭证,区块链域名管理系统可以确定目标链域名对应的目标权限凭证,那么区块链域名管理系统可以将该目标权限凭证传输至第一区块链系统,当然,区块链域名管理系统可以将目标权限凭证与上述目标节点访问信息一同传输至第一区块链系统,或者区块链域名管理系统可以将目标权限凭证和目标节点访问信息分别单独传输至第一区块链系统,本说明书并不对此进行限制。

第一区块链系统可以根据接收到的目标权限凭证调用第二区块链系统内匹配于该目标权限凭证的智能合约接口,从而可以实现对第二区块链系统有限的跨链访问,可以避免第一区块链系统获取第二区块链系统内的隐私数据,保证第二区块链系统内的相关数据的安全性。例如,假定区块链域名管理系统内维护的是第二区块链系统的权限凭证为权限根密钥时,区块链域名管理系统接收到第一区块链系统发送的域名识别请求后,区块链域名管理系统可以确定出域名识别请求包含的目标链域名对应的权限根密钥,从而可以根据该确定出的权限根密钥为第一区块链系统生成相应的访问密钥,第二区块链系统内预先设定有访问密钥可以访问的智能合约接口,那么第一区块链系统可以根据该访问密钥调用第二区块链系统内相应的智能合约接口。其中,由同一权限根密钥生成的不同访问密钥可以访问的智能合约接口相同,或者由同一权限根密钥生成的不同访问密钥可以访问的智能合约接口不同,匹配于访问密钥的智能合约接口可以根据实际需求进行配置,本说明书并不对此进行限制。

在一实施例中,区块链域名管理系统还可以维护有跨链合约,该跨链合约中可以预先设定有该跨链合约的数据返回结构和数据请求结构等标准化的跨链访问机制。区块链域名管理系统可以向第一区块链系统部署该跨链合约,那么第一区块链系统可以通过调用该跨链合约生成标准结构的跨链访问请求,而该跨链访问请求可以被第一区块链系统用于对第二区块链系统发起跨链访问。

区块链域名管理系统可以向第二区块链系统部署该跨链合约,那么第二区块链系统可以通过调用该跨链合约生成标准结构的跨链访问数据,第二区块链系统可以响应于上述跨链访问请求将该跨链访问数据反馈至第一区块链系统。在第一区块链系统和第二区块链系统维护的链上数据结构不同的情况下,可以通过跨链合约生成标准结构的跨链访问请求和跨链访问数据等,从而可以实现第一区块链系统和第二区块链系统之间的跨链访问,而无需进行大量的配置与开发,可以提升跨链访问的效率。

在一实施例中,区块链域名管理系统内也可以部署有跨链合约,那么在第一区块链系统、第二区块链系统和区块链域名管理系统内维护的链上数据结构不同的情况下,区块链域名管理系统可以通过跨链合约生成标准化的跨链访问请求和跨链访问数据等,从而可以实现区块链域名管理系统、第一区块链系统和第二区块链系统之间的正常访问和交互。

在一实施例中,区块链域名管理系统可以通过调用跨链合约中相应的接口,从而实现预设的功能,当然,区块链域名管理系统还可以通过调用跨链合约的接口,执行区块链域名管理系统内部署的其他智能合约的合约代码。例如,如图3所示,区块链域名管理系统可以分别通过调用跨链合约301内预先设置的接口,执行根域合约302、根域合约303、游客密钥生成合约304和访问接口信息合约305的合约代码。假定区块链域名管理系统需要通过调用不同根域合约和子域合约为相应的区块链系统生成完整的链域名,并且区块链域名管理系统内预先设置有相应的根域合约302、根域合约303以及子域合约1-6等,同时假定根域合约302对应的根域为education,根域合约303对应的根域为hospital。此时,若区块链域名管理系统接收到区块链系统的注册请求中包含标识3021,那么区块链域名管理系统可以按照预先设定的调用规则,执行根域合约302和子域合约1的合约代码为该区块链系统生成完整的链域名:chain.test01.education,其中chain.test01由子域合约1生成,education由根域合约302生成;若接收到区块链系统的注册请求中包含3034,那么区块链域名管理系统可以按照预先设定的调用规则,执行根域合约303和子域合约4的合约代码为该区块链系统生成完整的链域名:chain.test04.hospital,其中chain.test04由子域合约4生成,hospital由根域合约303生成等,可以为属于不同区块链类型的区块链系统生成包含不同根域和子域的链域名,从而便于后续分区存储,以及便于准确记忆各个区块链系统的链域名。

另外,若区块链域名管理系统接收到第一区块链系统发送的包含目标链域名的域名识别请求后,区块链域名管理系统可以按照预先设定的调用规则,执行游客密钥生成合约304的合约代码,从而可以为第一区块链系统生成相应的访问密钥,那么第一区块链系统就可以根据该访问密钥调用目标链域名对应的第二区块链系统内相应的智能合约接口。同时,区块链域名管理系统还可以按照预先设定的调用规则,执行访问接口信息合约305的合约代码,从而可以获取目标链域名对应的第二区块链系统内可以被访问的数据接口信息,第一区块链系统可以接收到区块链域名管理系统返回的数据接口信息,此时第一区块链系统就可以根据该数据接口信息有针对性地调用第二区块链系统内相应的智能合约接口。当然,区块链域名管理系统可以根据实际需求设定相应的调用规则以及部署相应的跨链合约和其他智能合约,本说明书中并不对此进行限制。

在一实施例中,区块链域名管理系统还可以直接维护有从各个区块链系统获取到的数据访问接口信息,该数据访问接口信息可以用于表明通过相应的区块链系统的节点访问信息可以直接调用的智能合约接口信息,那么区块链域名管理系统可以将该数据访问接口信息传输至第一区块链系统,可以使得第一区块链系统有针对性地调用相应的智能合约接口,从而提升跨链访问的效率。

在一实施例中,第一区块链系统和第二区块链系统并不存在本质区别,向域名管理系统发送包含目标链域名的域名识别请求的区块链系统可以被认为是第一区块链系统,而目标链域名对应的区块链系统可以被认为是第二区块链系统。换言之,任何区块链系统都可能成为第一区块链系统或第二区块链系统。

在一实施例中,区块链域名管理系统与各个区块链系统之间的交互过程、第一区块链系统与第二区块链系统之间的交互过程可以通过可信物理通道完成,本说明书并不对此进行限制。

图4是本说明书示出的另一种区块链跨链访问方法的流程图。如图4所示,该方法应用于区块链系统(如图1所示的第二区块链系统13);该方法可以包括以下步骤:

步骤402,生成注册请求,所述注册请求中包括所述区块链系统所含区块链节点的节点访问信息。

步骤404,向区块链域名管理系统发送所述注册请求,以使所述区块链域名管理系统根据所述注册请求获取并存储所述节点访问信息与所述区块链系统对应的目标链域名之间的映射关系,所述映射关系被所述区块链域名管理系统用于确定接收到的目标链域名对应的节点访问信息,所述节点访问信息被用于对所述区块链系统进行跨链访问。

步骤402-步骤404的具体实施过程与图2所示的实施例相类似,此处不再赘述。

图5是本说明书示出的另一种区块链跨链访问方法的流程图。如图5所示,该方法应用于区块链系统(如图1所示的第一区块链系统11);该方法可以包括以下步骤:

步骤502,生成域名识别请求,所述域名识别请求中包含目标链域名。

步骤504,向区块链域名管理系统发送所述域名识别请求,以使所述区块链域名管理系统根据维护的各个区块链系统所含区块链节点的节点访问信息与相应区块链系统的链域名之间的映射关系,确定所述目标链域名对应的目标节点访问信息。

步骤506,接收所述区块链域名管理系统返回的所述目标节点访问信息,并根据所述目标节点访问信息对所述目标链域名对应的区块链系统进行跨链访问。

步骤502-步骤506的具体实施过程与图2所示的实施例相类似,此处不再赘述。

为了便于理解,下面针对第一区块链系统A、第二区块链系统B和区块链域名管理系统C之间的交互过程,结合图6对本说明书的技术方案进行描述。假定第一区块链系统A和第二区块链系统B维护的链上数据结构不同,因而区块链域名管理系统C预先向第一区块链系统A和第二区块链系统B部署有跨链合约X。图6是本说明书一示例性实施例一种区块链跨链访问方法的流程图。如图6所示,可以包括以下步骤:

步骤601,第二区块链系统B向区块链域名管理系统C发送注册请求。

在本实施例中,第二区块链系统B可以向区块链域名管理系统C发送注册请求,该注册请求中可以包括第二区块链系统B内的节点11的节点地址172.1.2.3和节点12的节点地址172.1.2.4,当然该注册请求中还可以包括第二区块链系统B的游客访问根密钥Y。

在本实施例中,区块链域名管理系统C可以根据该注册请求为第二区块链系统B生成相应的链域名chain.test.blockchain。

步骤602,区块链域名管理系统C存储第二区块链系统B对应的映射关系。

步骤603,区块链域名管理系统C向第二区块链系统B返回受理通知消息。

在本实施例中,区块链域名管理系统C可以获取第二区块链系统B对应的映射关系如下:节点地址172.1.2.3和节点地址172.1.2.4—游客访问根密钥Y—链域名chain.test.blockchain。并且区块链域名管理系统C可以将该映射关系存证到其部署的可信认证区块链中,从而可以保证该映射关系的真实性和可靠性,可以避免该映射关系被随意篡改。

在本实施例中,区块链域名管理系统C在对上述映射关系进行存储后,可以向第二区块链系统B返回相应的受理通知消息,那么第二区块链系统B可以根据该受理通知消息确定第二区块链系统B已经注册成功。

步骤604,第一区块链系统A向区块链域名管理系统C发送域名识别请求。

步骤605,区块链域名管理系统C确定出相应的跨链信息。

在本实施例中,第一区块链系统A可以向区块链域名管理系统C发送包含有链域名chain.test.blockchain的域名识别请求,区块链域名管理系统C可以通过执行用于识别链域名的智能合约代码,确定出该链域名chain.test.blockchain对应的跨链信息,即节点地址172.1.2.3和节点地址172.1.2.4,以及游客访问根密钥Y。

在本实施例中,区块链域名管理系统C还可以根据游客访问根密钥Y为第一区块链系统A生成访问密钥Z。

步骤606,区块链域名管理系统C向第一区块链系统A返回跨链信息。

在本实施例中,区块链域名管理系统C可以将选取的节点地址172.1.2.3和访问密钥Z发送至第一区块链系统A,其中,链域名chain.test.blockchain对应多个节点地址的情况下,区块链域名管理系统C可以从多个节点地址中随机选择一个节点地址发送至第一区块链系统A。当然,区块链域名管理系统C可以将多个节点地址都发送至第一区块链系统A,本说明书并不对此进行限制。

步骤607,第一区块链系统A向第二区块链系统B发送跨链访问请求。

在本实施例中,第一区块链系统A可以通过调用跨链合约X生成标准结构的跨链访问请求,第一区块链系统A可以根据节点地址172.1.2.3将该跨链访问请求传输至第二区块链系统B中相应的区块链节点11,该跨链访问请求中可以包含访问密钥Z。

步骤608,第二区块链系统B向第一区块链系统A返回跨链访问数据。

在本实施例中,假定第二区块链系统B内预先设定了访问密钥Z对应的可调用的跨链合约X的特定接口,那么第二区块链系统B内的区块链节点11可以根据跨链访问请求调用预先部署的跨链合约X中的特定接口,获取标准结构的跨链访问数据,并将获取的跨链访问数据返回至第一区块链系统A,其中,该跨链访问数据可以是区块链节点11内跨链合约X的特定接口对应的预设功能的执行情况,例如执行成功或者执行失败等,该跨链访问数据还可以是查询到的第二区块链系统B内维护的链上数据等,本说明书中并不对此进行限制。

在本实施例中,区块链节点11可以通过调用跨链合约X的特定接口,执行跨链合约X中对应于特定接口的合约代码,或者区块链节点11可以通过调用跨链合约X的特定接口,执行区别于该跨链合约X的另一智能合约中对应于特定接口的智能合约代码,本说明书中并不对此进行限制。

图7示出了根据本说明书的一示例性实施例的电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器702、内部总线704、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他业务所需要的硬件。处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行,在逻辑层面上形成区块链跨链访问装置。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

请参考图8,在软件实施方式中,该区块链跨链访问装置可以包括存储单元801、确定单元802和信息发送单元803。其中:

存储单元801,用于分别存储各个区块链系统所含区块链节点的节点访问信息与相应区块链系统的链域名之间的映射关系;

确定单元802,用于响应于第一区块链系统发送的包含第二区块链系统的目标链域名的域名识别请求,根据所述映射关系确定所述目标链域名对应的目标节点访问信息;

信息发送单元803,用于将所述目标节点访问信息返回至所述第一区块链系统,以使所述第一区块链系统根据所述目标节点访问信息对所述第二区块链系统进行跨链访问。

可选的,所述存储单元801具体用于:

分别接收各个区块链系统发送的注册请求,所述注册请求中包含所述节点访问信息;

根据所述注册请求分别生成各个区块链系统对应的链域名,并存储所述节点访问信息与所述链域名之间的映射关系。

可选的,所述存储单元801具体用于:

将所述映射关系存证至所述区块链系统内部署的可信认证区块链中。

可选的,所述存储单元801具体用于:

通过执行用于识别链域名的智能合约代码,确定所述目标链域名对应的目标节点访问信息。

可选的,所述区块链域名管理系统包括多个存储区域且不同存储区域对应的区块链系统分别属于不同的区块链类型;所述存储单元801具体用于:

确定每一区块链系统对应的区块链类型;

将每一区块链系统对应的映射关系存储至相应的区块链类型对应的存储区域。

可选的,还包括:

凭证确定单元804,用于确定所述目标链域名对应的目标权限凭证,所述区块链域名管理系统维护有从各个区块链系统获取的权限凭证;

传输单元805,用于将所述目标权限凭证传输至所述第一区块链系统,使所述第一区块链系统调用所述第二区块链系统内匹配于所述目标权限凭证的智能合约接口,以实现对所述第二区块链系统的跨链访问。

可选的,还包括:

所述区块链域名管理系统维护有跨链合约;

第一部署单元806,用于向所述第一区块链系统部署所述跨链合约,所述跨链合约被所述第一区块链系统调用以生成标准结构的跨链访问请求,所述跨链访问请求被所述第一区块链系统用于对所述第二区块链系统发起跨链访问;

第二部署单元807,用于向所述第二区块链系统部署所述跨链合约,所述跨链合约被所述第二区块链系统调用以获取标准结构的跨链访问数据,并响应于所述跨链访问请求而反馈至所述第一区块链系统。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

请参考图9,在软件实施方式中,该区块链跨链访问装置可以包括第一生成单元901和第一请求发送单元902。其中:

第一生成单元901,用于生成注册请求,所述注册请求中包括所述区块链系统所含区块链节点的节点访问信息;

第一请求发送单元902,用于向所述区块链域名管理系统发送所述注册请求,以使所述区块链域名管理系统根据所述注册请求获取并存储所述节点访问信息与所述区块链系统对应的目标链域名之间的映射关系,所述映射关系被所述区块链域名管理系统用于确定接收到的目标链域名对应的节点访问信息,所述节点访问信息被用于对所述区块链系统进行跨链访问。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

请参考图10,在软件实施方式中,该区块链跨链访问装置可以包括第二生成单元1001、第二请求发送单元1002和接收单元1003。其中:

第二生成单元1001,用于生成域名识别请求,所述域名识别请求中包含目标链域名;

第二请求发送单元1002,用于向区块链域名管理系统发送所述域名识别请求,以使所述区块链域名管理系统根据维护的各个区块链系统所含区块链节点的节点访问信息与相应区块链系统的链域名之间的映射关系,确定所述目标链域名对应的目标节点访问信息;

接收单元1003,用于接收所述区块链域名管理系统返回的所述目标节点访问信息,并根据所述目标节点访问信息对所述目标链域名对应的区块链系统进行跨链访问。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

相关技术
  • 区块链跨链访问方法及装置
  • 一种基于区块链的跨链数据访问方法和装置
技术分类

06120112363623