CN116016523A - 一种数据访问方法、装置、系统和介质 - Google Patents
一种数据访问方法、装置、系统和介质 Download PDFInfo
- Publication number
- CN116016523A CN116016523A CN202310280736.8A CN202310280736A CN116016523A CN 116016523 A CN116016523 A CN 116016523A CN 202310280736 A CN202310280736 A CN 202310280736A CN 116016523 A CN116016523 A CN 116016523A
- Authority
- CN
- China
- Prior art keywords
- chain
- access
- target
- gateway
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及数据处理技术领域,公开了一种数据访问方法、装置、系统和介质,接入平台层通过接口接收区块链应用下发的操作请求;操作请求中携带有所访问的目标链的标识;通过异构链网关路由将操作请求转发至目标链所属的联盟链网关。联盟链网关获取与目标链的标识匹配的地址信息;基于地址信息访问所述目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。区块链应用通过接入平台可以实现对底层联盟链的访问,降低了区块链应用的接入门槛,降低了区块链应用的开发难度和开发成本。数据访问系统支持平台内部跨链数据互访及互操作,降低了联盟链访问的难度。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据访问方法、装置、系统和计算机可读存储介质。
背景技术
目前市场上存在多种基于区块链的应用系统,不同区块链应用系统往往基于某种联盟链技术开发,目前主流的联盟链技术包括分布式账本(Hyperledger Fabric)、金融区块链合作联盟(FISCO BCOS)、长安链等。不同区块链应用系统的访问接口和区块结构是异构多样的,区块链之间缺少数据共享和数据交互的工具或平台。
异构联盟链之间的区别较大,有不同的区块数据结构、数据协议、基本功能抽象、账本存储方式等,另外不同的上层应用,也存在应用数据结构定义、智能合约及共识机制等差异,为了实现异构联盟链之间的互访,还需解决身份互认、应用数据互认等问题,所以复杂难度大大超过同构联盟链之间的数据互访问题。目前主流的解决办法包括以下两种。
第一种方式是为每个联盟链实现一个与外部区块链交互的适配软件,该适配软件也称为跨链路由,联盟链A要访问联盟链B的数据,需要分别通过跨链路由A和B来实现。跨链路由器可以采用CA认证机制、多维度默克尔证明机制或单签/多签公证人机制实现。
第二种方式是创建一条侧链或中继链(Side chain/relay chain),并利用中继链或侧链实现跨链互联互通网络,与计算机网络类似,该跨链网络分为核心部分和边缘部分。在跨链数据交互过程中,还可能利用一些其它技术,如:利用哈希时间锁定解决跨链交易的原子性、利用可信硬件保障跨链交易的安全性、利用分布式私钥控制增强跨链交易的可靠性等。
由于访问不同联盟链的接口存在较大差异,上层应用需要额外开发多种适配接口,且接口繁杂,不利于系统扩展与集成,增加了上层应用对联盟链访问的难度。并且按照目前主流的解决方式,同构的联盟链会被离散地接入到中继链上,缺少归类和同构资源的汇聚与管理。额外开发适配接口、同构的联盟链被离散地接入到中继链上这些问题都会增加联盟链访问的难度。
可见,如何降低联盟链访问的难度,是本领域技术人员需要解决的问题。
发明内容
本申请实施例的目的是提供一种数据访问方法、装置、系统和计算机可读存储介质,可以降低联盟链访问的难度。
为解决上述技术问题,本申请实施例提供一种数据访问方法,包括:
接收区块链应用下发的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
通过异构链网关路由将所述操作请求转发至所述目标链所属的联盟链网关;
在所述联盟链网关接收到所述异构链网关路由发送的操作请求的情况下,获取与所述目标链的标识匹配的地址信息;
基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作,并将操作结果通过所述异构链网关路由以及接入平台层中匹配的接口反馈至所述区块链应用。
可选地,还包括:
获取满足区块链应用访问需求的目标底层联盟链;
获取所述目标底层联盟链的区块数据;
调用合约接口函数对所述目标底层联盟链上记录的账本数据进行操作。
可选地,还包括:
接收区块链应用发送的用户身份信息,在所述用户身份信息与预先记录的身份信息匹配的情况下,为所述区块链应用开放访问权限。
可选地,在所述通过异构链网关路由将所述操作请求转发至所述目标链所属的联盟链网关之前还包括:
判断下发所述操作请求的区块链应用是否已开放访问权限;
在下发所述操作请求的区块链应用已开放访问权限的情况下,判断所述操作请求所访问的目标链是否属于访问权限所包含的底层联盟链;
在所述操作请求所访问的目标链属于访问权限所包含的底层联盟链的情况下,则执行所述通过异构链网关路由将所述操作请求转发至所述目标链所属的联盟链网关的步骤;
在下发所述操作请求的区块链应用未开放访问权限或者所述操作请求所访问的目标链不属于访问权限所包含的底层联盟链的情况下,向所述区块链应用反馈不具有访问权限的提示信息。
可选地,在为所述区块链应用开放访问权限之后还包括:
记录所述用户身份信息和具有访问权限的底层联盟链的标识的对应关系。
可选地,在为所述区块链应用开放访问权限之后还包括:
记录所述用户身份信息和具有访问权限的底层联盟链的通道或群组的对应关系。
可选地,在所述操作请求为数据读取请求的情况下;所述基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作,并将操作结果通过所述异构链网关路由以及接入平台层中匹配的接口反馈至所述区块链应用包括:
基于所述地址信息访问所述目标链,以获取所需的目标数据;并将所述目标数据通过所述异构链网关路由以及所述接入平台层中匹配的接口反馈至所述区块链应用。
可选地,还包括:
对获取的目标数据进行解析,以确定出所述目标数据的来源链和目标链;
依据所述目标数据的来源链,对所述目标数据的来源进行验证,以获取验证通过的目标数据;
调用链地址映射表查询所述目标链的地址信息;
依据所述目标链的地址信息,向所述目标链发送所述验证通过的目标数据。
可选地,还包括:
接收第一联盟链网关发送的数据请求;
根据所述数据请求中携带的区块头标识信息,获取区块数据;
将所述区块数据转换为目标链的区块格式;
在区块格式转换后的区块数据满足访问权限的情况下,将所述区块格式转换后的区块数据下发至所述目标链所属的第二联盟链网关;其中,所述第一联盟链网关和所述第二联盟链网关属于两种不同类型的网关。
可选地,所述在区块格式转换后的区块数据满足访问权限的情况下,将所述区块格式转换后的区块数据下发至所述目标链所属的第二联盟链网关包括:
从所述接入平台层的访问控制模块中查询访问权限,在确定所述目标链被允许访问的情况下,将所述区块格式转换后的区块数据下发至所述目标链所属的第二联盟链网关。
可选地,还包括:
在所述区块格式转换后的区块数据不满足访问权限的情况下,将错误提示反馈至所述第一联盟链网关。
本申请实施例还提供了一种数据访问装置,包括接收单元、转发单元、获取单元、执行单元和反馈单元;
所述接收单元,用于接收区块链应用下发的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
所述转发单元,用于通过异构链网关路由将所述操作请求转发至所述目标链所属的联盟链网关;
所述获取单元,用于在所述联盟链网关接收到所述异构链网关路由发送的操作请求的情况下,获取与所述目标链的标识匹配的地址信息;
所述执行单元,用于基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作;
所述反馈单元,用于将操作结果通过所述异构链网关路由以及接入平台层中匹配的接口反馈至所述区块链应用。
本申请实施例还提供了一种数据访问系统,包括接入平台层、异构联盟链网关层和底层联盟链;其中,所述接入平台层包括异构链网关路由;所述异构联盟链网关层包括多种类型的联盟链网关;每种类型的联盟链网关与其类型相同的底层联盟链连接;
所述接入平台层,用于通过接口接收区块链应用下发的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;通过所述异构链网关路由将所述操作请求转发至所述目标链所属的联盟链网关;
所述联盟链网关,用于在接收到所述异构链网关路由发送的操作请求的情况下,获取与所述目标链的标识匹配的地址信息;基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作,并将操作结果通过所述异构链网关路由以及所述接入平台层中匹配的接口反馈至所述区块链应用。
可选地,所述异构联盟链网关层包括分布式账本联盟链网关、金融联盟链网关和长安链网关。
可选地,所述分布式账本联盟链网关与其类型相同的各底层联盟链的一个区块节点连接;所述分布式账本联盟链网关记录各底层联盟链的标识与所述分布式账本联盟链网关对接的区块节点的IP地址和端口号之间的对应关系。
可选地,所述分布式账本联盟链网关,用于拷贝访问底层联盟链的区块节点的数字证书并配置相关接口,以完成与其类型相同的各底层联盟链的一个区块节点的连接。
可选地,同类型的联盟链网关包括多个,其中,一个目标联盟链网关与所述异构链网关路由连接;剩余同类型的联盟链网关分别与所述目标联盟链网关连接,并且剩余同类型的各联盟链网关与其所属的底层联盟链连接。
本申请实施例还提供了一种数据访问方法,适用于与区块链应用交互的接入设备;所述方法包括:
接收区块链应用下发的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
将所述操作请求转发至所述目标链所属的联盟链网关,以便于所述联盟链网关获取与所述目标链的标识匹配的地址信息;基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至所述区块链应用。
本申请实施例还提供了一种数据访问装置,适用于与区块链应用交互的接入设备;所述装置包括接收单元和转发单元;
所述接收单元,用于接收区块链应用下发的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
所述转发单元,用于将所述操作请求转发至所述目标链所属的联盟链网关,以便于所述联盟链网关获取与所述目标链的标识匹配的地址信息;基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至所述区块链应用。
本申请实施例还提供了一种数据访问方法,适用于部署有多种类型的联盟链网关的设备,所述方法包括:
接收接入设备发送的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
获取与所述目标链的标识匹配的地址信息;
基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作;
将操作结果通过所述接入设备反馈至区块链应用。
本申请实施例还提供了一种数据访问装置,适用于部署有多种类型的联盟链网关的设备,所述装置包括接收单元、获取单元、操作单元和反馈单元;
所述接收单元,用于接收接入设备发送的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
所述获取单元,用于获取与所述目标链的标识匹配的地址信息;
所述操作单元,用于基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作;
所述反馈单元,用于将操作结果通过所述接入设备反馈至区块链应用。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据访问方法的步骤。
由上述技术方案可以看出,数据访问系统包括接入平台层、异构联盟链网关层和底层联盟链;其中,接入平台层包括异构链网关路由,可以实现与异构联盟链网关层的交互。异构联盟链网关层包括多种类型的联盟链网关;每种类型的联盟链网关与其类型相同的底层联盟链连接。接入平台层,用于通过接口接收区块链应用下发的操作请求;其中,操作请求中携带有所访问的目标链的标识;通过异构链网关路由将操作请求转发至目标链所属的联盟链网关。联盟链网关,用于在接收到异构链网关路由发送的操作请求的情况下,获取与目标链的标识匹配的地址信息;基于地址信息访问所述目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。在该技术方案中,区块链应用通过接入平台可以实现对底层联盟链的访问,屏蔽了不同联盟链实现技术导致的接口差异、数据格式差异、数据协议及智能合约等差异。通过设置统一的接入平台,降低了区块链应用的接入门槛,降低了区块链应用的开发难度和开发成本。数据访问系统支持平台内部跨链数据互访及互操作,解决了不同区块链之间存在信息孤岛和互访难的问题,降低了联盟链访问的难度。并且通过异构联盟链网关层可以实现与多种类型的底层联盟链的连接,从而支持一个区块链应用接入多个底层联盟链,为一些涉及多个底层联盟链的上层应用提供了很好的支持。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据访问方法的流程图;
图2为本申请实施例提供的一种数据访问系统的结构示意图;
图3为本申请实施例提供的另一种数据访问系统的结构示意图;
图4为本申请实施例提供的一种金融联盟链网关的结构示意图;
图5为本申请实施例提供的一种分布式账本联盟链网关的结构示意图;
图6为申请实施例提供的一种异构链网关路由的结构示意图;
图7为本申请实施例提供的一种分布式账本联盟链网关的部署示意图;
图8为本申请实施例提供的一种数据访问装置的结构示意图;
图9为本申请实施例提供的一种适用于与区块链应用交互的接入设备的数据访问方法的流程图;
图10为本申请实施例提供的一种适用于与区块链应用交互的接入设备的数据访问装置的结构示意图;
图11为本申请实施例提供的一种适用于部署有多种类型的联盟链网关的设备的数据访问方法的流程图;
图12为本申请实施例提供的一种适用于部署有多种类型的联盟链网关的设备的数据访问装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
接下来,详细介绍本申请实施例所提供的一种数据访问方法。图1为本申请实施例提供的一种数据访问方法的流程图,该方法包括:
S101:接收区块链应用下发的操作请求。
其中,操作请求中携带有所访问的目标链的标识。
S102:通过异构链网关路由将操作请求转发至目标链所属的联盟链网关。
在本申请实施例中,可以在接入平台层设置不同的接口模块,分别用于获取满足区块链应用访问需求的目标底层联盟链;获取目标底层联盟链的区块数据;调用合约接口函数对目标底层联盟链上记录的账本数据进行操作。
为了提升区块链应用访问的安全性,可以对区块链应用的用户身份进行验证。在具体实现中,在接收到区块链应用发送的用户身份信息的情况下,可以将用户身份信息与预先记录的身份信息进行比较。在用户身份信息与预先记录的身份信息匹配的情况下,为区块链应用开放访问权限。
相应的,在通过异构链网关路由将操作请求转发至目标链所属的联盟链网关之前,可以先判断下发操作请求的区块链应用是否已开放访问权限。
在下发操作请求的区块链应用已开放访问权限的情况下,判断操作请求所访问的目标链是否属于访问权限所包含的底层联盟链。
在操作请求所访问的目标链属于访问权限所包含的底层联盟链的情况下,则执行通过异构链网关路由将操作请求转发至目标链所属的联盟链网关的步骤。
在下发操作请求的区块链应用未开放访问权限或者操作请求所访问的目标链不属于访问权限所包含的底层联盟链的情况下,可以向区块链应用反馈不具有访问权限的提示信息。
S103:在联盟链网关接收到异构链网关路由发送的操作请求的情况下,获取与目标链的标识匹配的地址信息。
S104:基于地址信息访问目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。
操作请求的类型多种多样,以操作请求为数据读取请求为例,在具体实现中,可以基于地址信息访问目标链,以获取所需的目标数据;并将目标数据通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。
在为区块链应用开放访问权限之后,为了便于后续查询区块链应用对底层联盟链的访问权限,可以记录用户身份信息和具有访问权限的底层联盟链的标识的对应关系。
在本申请实施例中,除了设置区块链应用对底层联盟链的访问权限外,还可以对访问权限进行更为细致的划分,具体到对底层联盟链的通道或集群的访问。为了便于后续查询区块链应用对底层联盟链的通道或集群的访问权限,在具体实现中,可以记录用户身份信息和具有访问权限的底层联盟链的通道或群组的对应关系。
在相同类型的底层联盟链进行数据传输时,来源链可以向与其连接的联盟链网关发送目标数据,联盟链网关可以对获取的目标数据进行解析,以确定出目标数据的来源链和目标链;依据目标数据的来源链,对目标数据的来源进行验证,以获取验证通过的目标数据;调用链地址映射表查询目标链的地址信息;依据目标链的地址信息,向目标链发送验证通过的目标数据。
对于不同类型的底层联盟链进行数据传输时,可以基于各类型底层联盟链所属的联盟链网关以及异构链网关路由实现。在具体实现中,异构链网关路由可以接收第一联盟链网关发送的数据请求;根据数据请求中携带的区块头标识信息,获取区块数据;将区块数据转换为目标链的区块格式;在区块格式转换后的区块数据满足访问权限的情况下,将区块格式转换后的区块数据下发至目标链所属的第二联盟链网关;其中,第一联盟链网关和第二联盟链网关属于两种不同类型的网关。
在区块格式转换后的区块数据满足访问权限的情况下,异构链网关路由可以从接入平台层的访问控制模块中查询访问权限,在确定目标链被允许访问的情况下,将区块格式转换后的区块数据下发至目标链所属的第二联盟链网关。在区块格式转换后的区块数据不满足访问权限的情况下,将错误提示反馈至第一联盟链网关。
由上述技术方案可以看出,接收区块链应用下发的操作请求,其中,操作请求中携带有所访问的目标链的标识。通过异构链网关路由将操作请求转发至目标链所属的联盟链网关。在联盟链网关接收到异构链网关路由发送的操作请求的情况下,获取与目标链的标识匹配的地址信息。基于地址信息访问目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。在该技术方案中,区块链应用通过接入平台可以实现对底层联盟链的访问,屏蔽了不同联盟链实现技术导致的接口差异、数据格式差异、数据协议及智能合约等差异。通过设置统一的接入平台,降低了区块链应用的接入门槛,降低了区块链应用的开发难度和开发成本。通过异构链网关路由以及不同类型的联盟链网关,可以支持平台内部跨链数据互访及互操作,解决了不同区块链之间存在信息孤岛和互访难的问题,降低了联盟链访问的难度。并且不同类型的联盟链网关可以实现与多种类型的底层联盟链的连接,从而支持一个区块链应用接入多个底层联盟链,为一些涉及多个底层联盟链的上层应用提供了很好的支持。
图2为本申请实施例提供的一种数据访问系统的结构示意图,该系统包括接入平台层、异构联盟链网关层和底层联盟链;其中,接入平台层包括异构链网关路由,通过异构链网关路由可以实现与各类型联盟链网关的交互。异构联盟链网关层包括多种类型的联盟链网关;每种类型的联盟链网关与其类型相同的底层联盟链连接。
接入平台层,用于通过接口接收区块链应用下发的操作请求;其中,操作请求中携带有所访问的目标链的标识;通过异构链网关路由将操作请求转发至目标链所属的联盟链网关。
联盟链网关,用于在接收到异构链网关路由发送的操作请求的情况下,获取与目标链的标识匹配的地址信息;基于地址信息访问目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。
操作请求的类型有多种,如读取请求、写入请求等。以操作请求为数据读取请求为例,联盟链网关可以基于地址信息访问目标链,以获取所需的目标数据;并将目标数据通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。
通过在接入平台层设置异构链网关路由,可以实现接入平台层与异构联盟链网关层的交互。
为了满足不同区块链应用的访问需求,接入平台层可以为上层区块链应用提供一组统一的访问接口集合,包括链及通道接口模块、链上数据访问接口模块和合约访问接口模块。
链及通道接口模块,用于获取满足区块链应用访问需求的目标底层联盟链。
底层联盟链的类型可以有多种,常见底层联盟链的类型有分布式账本联盟链(Hyperledger Fabric)、金融联盟链(FISCO BCOS)、长安链、海河智链。在本申请实施例中,对于底层联盟链的类型不做限定,各类型底层联盟链有其对应类型的联盟链网关。为了方便介绍,图2中是以分布式账本联盟链、金融联盟链和长安链这三种类型的底层联盟链为例,相应的,联盟链网关层包括分布式账本联盟链网关、金融联盟链网关和长安链网关这三种类型的网关。图2仅为举例说明,并不构成对异构联盟链网关层所包含的网关类型,以及底层联盟链所包含的底层联盟链类型的限制。
为了区分不同的底层联盟链,在图2中以F底层联盟链表示分布式账本联盟链,B底层联盟链表示金融联盟链,L底层联盟链表示长安链。每种类型的底层联盟链的个数不做限定,图2中是以x个分布式账本联盟链,y个金融联盟链,z个长安链为例。
不同类型的底层联盟链的结构有所差异,例如,分布式账本联盟链可以划分为不同的通道,金融联盟链可以划分为不同的群组。在实际访问中,可以细化到具体的通道或群组。
例如,可以查询所有Hyperledger Fabric类型的底层联盟链与通道信息。
链上数据访问接口模块,用于获取目标底层联盟链的区块数据。
在具体实现中,也可以细化到具体的通道或群组,通过链上数据访问接口模块可以获取指定底层联盟链、通道或群组及区块号对应的区块数据。
合约访问接口模块,用于调用合约接口函数对目标底层联盟链上记录的账本数据进行操作。
在具体实现中,通过合约访问接口模块可以调用某个底层联盟链及通道(或群组)上的指定合约的一个接口函数,可以利用合约接口函数获取账本数据,也可以利用合约接口函数往账本中写入数据。
在本申请实施例中,通过在接入平台层设置统一的接口集合,可以屏蔽底层复杂的异构链实现,为上层区块链应用提供获取底层联盟链的数据或资源的方式,而且一个上层区块链应用可以同时访问多个底层联盟链的数据或资源。
区块链应用与用户具有对应关系,在本申请实施例中,为了提升用户通过区块链应用访问底层联盟链的安全性,可以在接入平台层设置身份认证模块。身份认证模块,用于接收区块链应用发送的用户身份信息,在用户身份信息与预先记录的身份信息匹配的情况下,为区块链应用开放访问权限。
接入平台层为区块链应用提供了单点登录服务,上层区块链应用只需完成一次身份认证即可根据用户所对应的访问权限,安全地访问不同的底层联盟链的资源或数据。
为了便于管理各用户对应的访问权限,可以在接入平台层设置访问控制模块。
访问控制模块可以记录用户身份信息和具有访问权限的底层联盟链的标识的对应关系。
对于访问权限也可以进行更为细致的划分,精确到通道或群组,相应的,访问控制模块可以记录用户身份信息和具有访问权限的底层联盟链的通道或群组的对应关系。
访问控制模块的一种简单实现方式可以通过资源访问控制表的形式管理用户的访问权限,例如,可以制作一张用户与底层联盟链的粗粒度访问控制表,用户在访问某个底层联盟链的数据之前,可以通过查询访问控制表即可确定用户是否具有访问权限。系统也可以细化访问控制粒度,例如以底层联盟链的通道或群组为更小的控制粒度。
在实际应用中,接入平台层在接收到区块链应用下发的操作请求时,可以判断下发操作请求的区块链应用是否已开放访问权限。
在下发操作请求的区块链应用已开放访问权限的情况下,判断操作请求所访问的目标链是否属于访问权限所包含的底层联盟链;在操作请求所访问的目标链属于访问权限所包含的底层联盟链的情况下,则可以执行通过异构链网关路由将操作请求转发至目标链所属的联盟链网关的步骤。
在下发操作请求的区块链应用未开放访问权限或者操作请求所访问的目标链不属于访问权限所包含的底层联盟链的情况下,可以向区块链应用反馈不具有访问权限的提示信息。
图3为本申请实施例提供的另一种数据访问系统的结构示意图,接入平台层同时设置有身份认证模块、访问控制模块、链及通道接口模块、链上数据访问接口模块和合约访问接口模块。
在本申请实施例中,接入平台层可以向上层区块链应用提供身份认证及单点访问控制,一次登录即可完成底层多链资源的访问权限控制。并且向上层区块链应用提供了一组统一的访问接口(包括链及通道接口、链上数据访问接口、合约访问接口等),使访问接口统一化及可控化。一个上层区块链应用可以通过接入平台层访问多个底层链的数据或资源,使数据与资源访问透明化,屏蔽了不同联盟链实现技术导致的接口差异、数据格式差异、数据协议及智能合约等差异。
接入平台层通过异构链网关路由与下层的多个异构的联盟链网关连接,图2中是以三种联盟链网关为例,分别是分布式账本联盟链网关(Fabric网关)、金融联盟链网关(BCOS网关)和长安链网关。
其中,Fabric网关是基于Hyperledger Fabric底层技术实现的联盟链的接入网关;BCOS网关是基于FISCO BCOS底层技术实现的联盟链的接入网关;长安链网关是基于长安链底层技术实现的联盟链的接入网关。
这些异构的联盟链网关构成了异构联盟链网关层。为了实现上更简洁,不同联盟链网关与接入平台层对接的接口是一致的。当然也允许不同联盟链网关与接入平台层对接接口不一致,这种情况下,需要在接入平台层的异构链网关路由上实现一个不同联盟链网关的适配模块。
上述介绍中是以区块链应用访问底层联盟链为例,在实际应用中,同类型的底层联盟链之间可以互相访问,并且不同类型的底层联盟链之间也可以互相访问。
一种联盟链网关只与同构的底层联盟链相连,在逻辑上形成了同构底层联盟链的汇聚;同构的底层联盟链之间交互数据只需要将数据请求经过所属联盟链网关转发即可完成跨链数据交互。
以金融联盟链网关为例,如图4所示为本申请实施例提供的一种金融联盟链网关的结构示意图,金融联盟链网关包括数据接收模块、数据发送模块、区块解析与封装模块以及多个底层联盟链数据验证模块。数据接收模块,用于获取发往目标链的目标数据。区块解析与封装模块,用于对目标数据进行解析,以确定出目标数据的来源链和目标链;将目标数据传输至来源链对应的底层联盟链数据验证模块。
来源链对应的底层联盟链数据验证模块,用于对目标数据的来源进行验证,将验证通过的目标数据反馈至区块解析与封装模块。对目标数据的来源进行验证可以是验证数据来源的真实性和有效性。
区块解析与封装模块在接收到来源链对应的底层联盟链数据验证模块反馈的验证通过的目标数据后,可以调用链地址映射表查询目标链的地址信息;将验证通过的目标数据和目标链的地址信息传输至数据发送模块。
数据发送模块,用于依据区块解析与封装模块传输的验证通过的目标数据以及目标链的地址信息,向目标链发送验证通过的目标数据。
以分布式账本联盟链网关为例,如图5所示为本申请实施例提供的一种分布式账本联盟链网关的结构示意图,分布式账本联盟链网关与其类型相同的各底层联盟链的一个区块节点连接;分布式账本联盟链网关记录各底层联盟链的标识与分布式账本联盟链网关对接的区块节点的IP地址和端口号之间的对应关系。对于分布式账本联盟链网关而言,一个底层联盟链只需一个区块节点与对应的联盟链网关建立连接关系,即可实现该底层联盟链与联盟链网关之间的对接。
分布式账本联盟链网关上可以记录底层联盟链地址映射表,在具体实现中,可以使用键值对(key-value)存储该底层联盟链地址映射表,key字段可以是底层联盟链的标识如ID,value字段是底层联盟链与联盟链网关对接的区块节点的IP地址及端口号。联盟链网关通过上述value信息可以生成访问底层联盟链的接口地址。
在实际应用中,分布式账本联盟链网关可以拷贝访问底层联盟链的区块节点的数字证书并配置相关接口,以完成与其类型相同的各底层联盟链的一个区块节点的连接。相关接口可以是底层联盟链的软件开发工具包(Software Development Kit,SDK)接口或命令行接口。除此之外,也可以通过公证人机制、跨链适配软件等方式实现联盟链网关与底层联盟链区块节点之间的连接。
异构的两种联盟链网关之间没有直接的连接关系,需要通过接入平台层的异构链网关路由中转才能实现互联互通。图6为本申请实施例提供的一种异构链网关路由的的结构示意图,包括一个数据接收模块、一个数据发送模块、多个异构联盟链的区块适配模块、一个区块数据转换模块以及一个目标链路由模块。每种类型的底层联盟链有其对应的一个区块适配模块,图6中是以分布式账本联盟链区块适配模块、金融联盟链区块适配模块和长安链区块适配模块为例。当异构的底层联盟链之间交互数据时,需要将数据请求经过来源链所属的联盟链网关转发到接入平台的异构链网关路由,由异构链网关路由的数据接收模块读取数据并根据区块头标识信息调用对应来源链的区块适配模块,接收区块适配模块反馈的区块数据及数据请求。区块数据转换模块会将来源链的区块数据转换成目标链的区块格式,转换后的数据由目标链路由模块进行处理,目标链路由模块会查询外部的访问控制模块确认目标链是否被允许访问,若允许则将转换后的数据由数据发送模块发往目标链所属的联盟链网关,并经过目标链所属的联盟链网关转发到目标链;若不被允许,则由数据发送模块给来源链返回错误提示。
以两种不同类型的联盟链网关的交互为例,可以将两种不同类型的联盟链网关分别称作第一联盟链网关和第二联盟链网关。异构链网关路由的数据接收模块,用于接收第一联盟链网关发送的数据请求;根据数据请求中携带的区块头标识信息,将数据请求转发至第一联盟链网关对应的区块适配模块。依据区块头标识信息可以确定出发送数据请求的来源链的类型,从而可以选取与该来源链类型匹配的区块适配模块。
数据接收模块在接收第一联盟链网关对应的区块适配模块反馈的区块数据及数据请求后,可以将区块数据及数据请求转发至区块数据转换模块。
区块数据转换模块,用于将数据请求携带的区块数据转换为目标链的区块格式;将区块格式转换后的区块数据发送至目标链路由模块。
目标链路由模块,用于接收区块数据转换模块传输的区块格式转换后的区块数据;在区块格式转换后的区块数据满足访问权限的情况下,将区块格式转换后的区块数据传输至数据发送模块。
数据发送模块,用于将区块格式转换后的区块数据下发至目标链所属的第二联盟链网关。
在具体实现中,目标链路由模块可以记录一个底层链查找表,可以使用key-value存储该底层链查找表,key字段可以是底层链的标识如ID,value字段是所属联盟链网关的标识,通过该联盟链网关的标识可以获取到访问联盟链网关的接口地址,以便于数据发送模块基于该接口地址向对应的联盟链网关发送数据。
对于访问权限的查询,在实际应用中,目标链路由模块可以从接入平台层的访问控制模块中查询访问权限,在确定目标链被允许访问的情况下,将区块格式转换后的区块数据传输至数据发送模块。在区块格式转换后的区块数据不满足访问权限的情况下,向数据发送模块传输错误提示,相应的,数据发送模块可以将错误提示反馈至第一联盟链网关。
在本申请实施例中,通过部署接入平台层和异构联盟链网关层为底层联盟链提供了结构简单的多链架构及多链管理结构,简化了外部区块链应用接入的复杂度及异构链资源管理。
一种联盟链网关只与同构的底层联盟链相连,在逻辑上形成了同构底层联盟链资源的汇聚。并且同构的底层联盟链汇聚到同构的联盟链网关上,便于联盟链、数据及资源的管理。异构底层联盟链之间通过各自联盟链网关及接入平台层的异构链网关路由进行桥接实现平台内部异构链之间的数据交互。本申请实施例提供的数据访问系统既可以实现上层区块链应用访问底层联盟链的数据与资源,也可以实现平台内部跨链数据互访及互操作,解决当前区块链信息孤岛的问题和互访难的问题。接入平台层提供单点登录和统一的接口集合,简化了上层区块链应用接入与集成的复杂度,降低了区块链应用的开发难度和开发成本。
由上述技术方案可以看出,数据访问系统包括接入平台层、异构联盟链网关层和底层联盟链;其中,接入平台层包括异构链网关路由,可以实现与异构联盟链网关层的交互。异构联盟链网关层包括多种类型的联盟链网关;每种类型的联盟链网关与其类型相同的底层联盟链连接。接入平台层,用于通过接口接收区块链应用下发的操作请求;其中,操作请求中携带有所访问的目标链的标识;通过异构链网关路由将操作请求转发至目标链所属的联盟链网关。联盟链网关,用于在接收到异构链网关路由发送的操作请求的情况下,获取与目标链的标识匹配的地址信息;基于地址信息访问所述目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。在该技术方案中,区块链应用通过接入平台可以实现对底层联盟链的访问,屏蔽了不同联盟链实现技术导致的接口差异、数据格式差异、数据协议及智能合约等差异。通过设置统一的接入平台,降低了区块链应用的接入门槛,降低了区块链应用的开发难度和开发成本。数据访问系统支持平台内部跨链数据互访及互操作,解决了不同区块链之间存在信息孤岛和互访难的问题,降低了联盟链访问的难度。并且通过异构联盟链网关层可以实现与多种类型的底层联盟链的连接,从而支持一个区块链应用接入多个底层联盟链,为一些涉及多个底层联盟链的上层应用提供了很好的支持。
图2中是以每种类型的联盟链网关部署一个为例,在实际应用中,为了增强平台的可扩展性,相同类型的联盟链网关可以部署多个。以同类型的联盟链网关为例,可以选取任意一个联盟链网关与异构链网关路由连接,为了便于区分,可以将与异构链网关路由连接的联盟链网关称作目标联盟链网关。剩余同类型的联盟链网关可以分别与目标联盟链网关连接,并且剩余同类型的各联盟链网关与其所属的底层联盟链连接。
图7为本申请实施例提供的一种分布式账本联盟链网关的部署示意图,每个联盟链网关可以连接多个同构的底层联盟链,同构的联盟链网关之间可以相互连接形成一个同构链网关网络。图7是以三个分布式账本联盟链网关为例,分别为分布式账本联盟链网关A、分布式账本联盟链网关B和分布式账本联盟链网关C。联盟链网关可以记录底层链查找表,可以使用key-value存储该底层链查找表,其中key字段还是底层链的标识如ID。针对于不同的联盟链网关,value字段有两种数据。对于分布式账本联盟链网关B和分布式账本联盟链网关C而言,其记录的value字段可以包括底层链的一个区块节点的IP地址及端口号。对于分布式账本联盟链网关A而言,其记录的value字段可以是所属联盟链网关的IP地址及端口号。同构的联盟链网关之间可以实现消息的交互,如转发底层链的数据访问请求等。
在本申请实施例中,通过部署多个同构联盟链网关,可以有效的增强数据访问系统的可扩展性,扩大了数据访问系统的处理能力。
图8为本申请实施例提供的一种数据访问装置,包括接收单元81、转发单元82、获取单元83、执行单元84和反馈单元85;
接收单元81,用于接收区块链应用下发的操作请求;其中,操作请求中携带有所访问的目标链的标识;
转发单元82,用于通过异构链网关路由将操作请求转发至目标链所属的联盟链网关;
获取单元83,用于在联盟链网关接收到异构链网关路由发送的操作请求的情况下,获取与目标链的标识匹配的地址信息;
执行单元84,用于基于地址信息访问目标链,以对目标链执行操作请求对应的操作;
反馈单元85,用于将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。
可选地,还包括:
获取满足区块链应用访问需求的目标底层联盟链;
获取目标底层联盟链的区块数据;
调用合约接口函数对目标底层联盟链上记录的账本数据进行操作。
可选地,还包括权限开放单元;
所述权限开放单元,用于接收区块链应用发送的用户身份信息,在用户身份信息与预先记录的身份信息匹配的情况下,为区块链应用开放访问权限。
可选地,还包括第一判断单元和第二判断单元;
所述第一判断单元,用于判断下发操作请求的区块链应用是否已开放访问权限;
所述第二判断单元,用于在下发操作请求的区块链应用已开放访问权限的情况下,判断操作请求所访问的目标链是否属于访问权限所包含的底层联盟链;在操作请求所访问的目标链属于访问权限所包含的底层联盟链的情况下,则触发转发单元执行通过异构链网关路由将操作请求转发至目标链所属的联盟链网关的步骤;
所述反馈单元还用于在下发操作请求的区块链应用未开放访问权限或者操作请求所访问的目标链不属于访问权限所包含的底层联盟链的情况下,向区块链应用反馈不具有访问权限的提示信息。
可选地,还包括第一记录单元;
所述第一记录单元,用于记录用户身份信息和具有访问权限的底层联盟链的标识的对应关系。
可选地,还包括第二记录单元;
所述第二记录单元,用于记录用户身份信息和具有访问权限的底层联盟链的通道或群组的对应关系。
可选地,所述执行单元用于基于地址信息访问目标链,以获取所需的目标数据;
相应的,所述反馈单元用于将目标数据通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。
可选地,还包括解析单元、验证单元、查询单元和发送单元;
所述解析单元,用于对获取的目标数据进行解析,以确定出目标数据的来源链和目标链;
所述验证单元,用于依据目标数据的来源链,对目标数据的来源进行验证,以获取验证通过的目标数据;
所述查询单元,用于调用链地址映射表查询目标链的地址信息;
所述发送单元,用于依据目标链的地址信息,向目标链发送验证通过的目标数据。
可选地,还包括转换单元和下发单元;
接收单元还用于接收第一联盟链网关发送的数据请求;
获取单元还用于根据数据请求中携带的区块头标识信息,获取区块数据;
转换单元,用于将区块数据转换为目标链的区块格式;
下发单元,用于在区块格式转换后的区块数据满足访问权限的情况下,将区块格式转换后的区块数据下发至目标链所属的第二联盟链网关;其中,第一联盟链网关和第二联盟链网关属于两种不同类型的网关。
可选地,下发单元用于从接入平台层的访问控制模块中查询访问权限,在确定目标链被允许访问的情况下,将区块格式转换后的区块数据下发至目标链所属的第二联盟链网关。
可选地,反馈单元还用于在区块格式转换后的区块数据不满足访问权限的情况下,将错误提示反馈至第一联盟链网关。
图8所对应实施例中特征的说明可以参见图1至图7所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,接收区块链应用下发的操作请求,其中,操作请求中携带有所访问的目标链的标识。通过异构链网关路由将操作请求转发至目标链所属的联盟链网关。在联盟链网关接收到异构链网关路由发送的操作请求的情况下,获取与目标链的标识匹配的地址信息。基于地址信息访问目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。在该技术方案中,区块链应用通过接入平台可以实现对底层联盟链的访问,屏蔽了不同联盟链实现技术导致的接口差异、数据格式差异、数据协议及智能合约等差异。通过设置统一的接入平台,降低了区块链应用的接入门槛,降低了区块链应用的开发难度和开发成本。通过异构链网关路由以及不同类型的联盟链网关,可以支持平台内部跨链数据互访及互操作,解决了不同区块链之间存在信息孤岛和互访难的问题,降低了联盟链访问的难度。并且不同类型的联盟链网关可以实现与多种类型的底层联盟链的连接,从而支持一个区块链应用接入多个底层联盟链,为一些涉及多个底层联盟链的上层应用提供了很好的支持。
图9为本申请实施例提供的一种数据访问方法的流程图,适用于与区块链应用交互的接入设备,该方法包括:
S901:接收区块链应用下发的操作请求。
其中,操作请求中携带有所访问的目标链的标识。
S902:将操作请求转发至目标链所属的联盟链网关,以便于联盟链网关获取与目标链的标识匹配的地址信息;基于地址信息访问目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。
图9所对应实施例中特征的说明可以参见图1至图8所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,与区块链应用交互的接入设备接收区块链应用下发的操作请求;其中,操作请求中携带有所访问的目标链的标识;将操作请求转发至目标链所属的联盟链网关,以便于联盟链网关获取与目标链的标识匹配的地址信息;基于地址信息访问目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。在该技术方案中,区块链应用可以直接和接入设备进行交互,接入设备通过联盟链网关可以实现对底层联盟链的访问,对于区块链应用而言,屏蔽了不同联盟链实现技术导致的接口差异、数据格式差异、数据协议及智能合约等差异,降低了区块链应用的接入门槛,降低了区块链应用的开发难度和开发成本。并且基于接入设备和联盟链网关,可以实现平台内部跨链数据互访及互操作,解决了不同区块链之间存在信息孤岛和互访难的问题,降低了联盟链访问的难度。
图10为本申请实施例提供的一种数据访问装置的结构示意图,适用于与区块链应用交互的接入设备;装置包括接收单元1001和转发单元1002;
接收单元1001,用于接收区块链应用下发的操作请求;其中,操作请求中携带有所访问的目标链的标识;
转发单元1002,用于将操作请求转发至目标链所属的联盟链网关,以便于联盟链网关获取与目标链的标识匹配的地址信息;基于地址信息访问目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。
图10所对应实施例中特征的说明可以参见图1至图9所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,与区块链应用交互的接入设备接收区块链应用下发的操作请求;其中,操作请求中携带有所访问的目标链的标识;将操作请求转发至目标链所属的联盟链网关,以便于联盟链网关获取与目标链的标识匹配的地址信息;基于地址信息访问目标链,以对目标链执行操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至区块链应用。在该技术方案中,区块链应用可以直接和接入设备进行交互,接入设备通过联盟链网关可以实现对底层联盟链的访问,对于区块链应用而言,屏蔽了不同联盟链实现技术导致的接口差异、数据格式差异、数据协议及智能合约等差异,降低了区块链应用的接入门槛,降低了区块链应用的开发难度和开发成本。并且基于接入设备和联盟链网关,可以实现平台内部跨链数据互访及互操作,解决了不同区块链之间存在信息孤岛和互访难的问题,降低了联盟链访问的难度。
图11为本申请实施例提供的一种数据访问方法的流程图,适用于部署有多种类型的联盟链网关的设备,该方法包括:
S1101:接收接入设备发送的操作请求;其中,操作请求中携带有所访问的目标链的标识。
S1102:获取与目标链的标识匹配的地址信息。
S1103:基于地址信息访问目标链,以对目标链执行操作请求对应的操作。
S1104:将操作结果通过接入设备反馈至区块链应用。
图11所对应实施例中特征的说明可以参见图1至图8所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,部署有多种类型的联盟链网关的设备可以接收接入设备发送的操作请求;其中,操作请求中携带有所访问的目标链的标识。获取与目标链的标识匹配的地址信息;基于地址信息访问目标链,以对目标链执行操作请求对应的操作;将操作结果通过接入设备反馈至区块链应用。在该技术方案中,部署有多种类型的联盟链网关的设备可以直接与接入设备交互,降低了区块链应用访问底层联盟链的门槛。通过部署多种类型的联盟链网关,可以实现平台内部跨链数据互访及互操作,解决了不同区块链之间存在信息孤岛和互访难的问题,降低了联盟链访问的难度。并且多种类型的联盟链网关可以实现与多种类型的底层联盟链的连接,从而支持一个区块链应用接入多个底层联盟链,为一些涉及多个底层联盟链的上层应用提供了很好的支持。
图12为本申请实施例提供的一种数据访问装置的结构示意图,适用于部署有多种类型的联盟链网关的设备,装置包括接收单元1201、获取单元1202、操作单元1203和反馈单元1204;
接收单元1201,用于接收接入设备发送的操作请求;其中,操作请求中携带有所访问的目标链的标识;
获取单元1202,用于获取与目标链的标识匹配的地址信息;
操作单元1203,用于基于地址信息访问目标链,以对目标链执行操作请求对应的操作;
反馈单元1204,用于将操作结果通过接入设备反馈至区块链应用。
图12所对应实施例中特征的说明可以参见图1至图11所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,部署有多种类型的联盟链网关的设备可以接收接入设备发送的操作请求;其中,操作请求中携带有所访问的目标链的标识。获取与目标链的标识匹配的地址信息;基于地址信息访问目标链,以对目标链执行操作请求对应的操作;将操作结果通过接入设备反馈至区块链应用。在该技术方案中,部署有多种类型的联盟链网关的设备可以直接与接入设备交互,降低了区块链应用访问底层联盟链的门槛。通过部署多种类型的联盟链网关,可以实现平台内部跨链数据互访及互操作,解决了不同区块链之间存在信息孤岛和互访难的问题,降低了联盟链访问的难度。并且多种类型的联盟链网关可以实现与多种类型的底层联盟链的连接,从而支持一个区块链应用接入多个底层联盟链,为一些涉及多个底层联盟链的上层应用提供了很好的支持。
可以理解的是,如果上述实施例中的数据访问方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述数据访问方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
以上对本申请实施例所提供的一种数据访问方法、装置、系统和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上对本申请所提供的一种数据访问方法、装置、系统和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (20)
1.一种数据访问方法,其特征在于,适用于部署有接入平台层和异构联盟链网关层的设备,接入平台层包括异构链网关路由、身份认证模块、访问控制模块、链及通道接口模块、链上数据访问接口模块和合约访问接口模块,方法包括:
接收区块链应用下发的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
通过异构链网关路由将所述操作请求转发至所述目标链所属的联盟链网关;
在所述联盟链网关接收到所述异构链网关路由发送的操作请求的情况下,获取与所述目标链的标识匹配的地址信息;
基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作,并将操作结果通过所述异构链网关路由以及接入平台层中匹配的接口反馈至所述区块链应用。
2.根据权利要求1所述的数据访问方法,其特征在于,还包括:
获取满足区块链应用访问需求的目标底层联盟链;
获取所述目标底层联盟链的区块数据;
调用合约接口函数对所述目标底层联盟链上记录的账本数据进行操作。
3.根据权利要求1所述的数据访问方法,其特征在于,还包括:
接收区块链应用发送的用户身份信息,在所述用户身份信息与预先记录的身份信息匹配的情况下,为所述区块链应用开放访问权限。
4.根据权利要求3所述的数据访问方法,其特征在于,在所述通过异构链网关路由将所述操作请求转发至所述目标链所属的联盟链网关之前还包括:
判断下发所述操作请求的区块链应用是否已开放访问权限;
在下发所述操作请求的区块链应用已开放访问权限的情况下,判断所述操作请求所访问的目标链是否属于访问权限所包含的底层联盟链;
在所述操作请求所访问的目标链属于访问权限所包含的底层联盟链的情况下,则执行所述通过异构链网关路由将所述操作请求转发至所述目标链所属的联盟链网关的步骤;
在下发所述操作请求的区块链应用未开放访问权限或者所述操作请求所访问的目标链不属于访问权限所包含的底层联盟链的情况下,向所述区块链应用反馈不具有访问权限的提示信息。
5.根据权利要求3所述的数据访问方法,其特征在于,在为所述区块链应用开放访问权限之后还包括:
记录所述用户身份信息和具有访问权限的底层联盟链的标识的对应关系。
6.根据权利要求3所述的数据访问方法,其特征在于,在为所述区块链应用开放访问权限之后还包括:
记录所述用户身份信息和具有访问权限的底层联盟链的通道或群组的对应关系。
7.根据权利要求1所述的数据访问方法,其特征在于,在所述操作请求为数据读取请求的情况下;所述基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作,并将操作结果通过所述异构链网关路由以及接入平台层中匹配的接口反馈至所述区块链应用包括:
基于所述地址信息访问所述目标链,以获取所需的目标数据;并将所述目标数据通过所述异构链网关路由以及所述接入平台层中匹配的接口反馈至所述区块链应用。
8.根据权利要求1所述的数据访问方法,其特征在于,还包括:
对获取的目标数据进行解析,以确定出所述目标数据的来源链和目标链;
依据所述目标数据的来源链,对所述目标数据的来源进行验证,以获取验证通过的目标数据;
调用链地址映射表查询所述目标链的地址信息;
依据所述目标链的地址信息,向所述目标链发送所述验证通过的目标数据。
9.根据权利要求1所述的数据访问方法,其特征在于,还包括:
接收第一联盟链网关发送的数据请求;
根据所述数据请求中携带的区块头标识信息,获取区块数据;
将所述区块数据转换为目标链的区块格式;
在区块格式转换后的区块数据满足访问权限的情况下,将所述区块格式转换后的区块数据下发至所述目标链所属的第二联盟链网关;其中,所述第一联盟链网关和所述第二联盟链网关属于两种不同类型的网关。
10.根据权利要求9所述的数据访问方法,其特征在于,所述在区块格式转换后的区块数据满足访问权限的情况下,将所述区块格式转换后的区块数据下发至所述目标链所属的第二联盟链网关包括:
从所述接入平台层的访问控制模块中查询访问权限,在确定所述目标链被允许访问的情况下,将所述区块格式转换后的区块数据下发至所述目标链所属的第二联盟链网关。
11.根据权利要求9所述的数据访问方法,其特征在于,还包括:
在所述区块格式转换后的区块数据不满足访问权限的情况下,将错误提示反馈至所述第一联盟链网关。
12.一种数据访问装置,其特征在于,适用于部署有接入平台层和异构联盟链网关层的设备,接入平台层包括异构链网关路由、身份认证模块、访问控制模块、链及通道接口模块、链上数据访问接口模块和合约访问接口模块,装置包括接收单元、转发单元、获取单元、执行单元和反馈单元;
所述接收单元,用于接收区块链应用下发的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
所述转发单元,用于通过异构链网关路由将所述操作请求转发至所述目标链所属的联盟链网关;
所述获取单元,用于在所述联盟链网关接收到所述异构链网关路由发送的操作请求的情况下,获取与所述目标链的标识匹配的地址信息;
所述执行单元,用于基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作;
所述反馈单元,用于将操作结果通过所述异构链网关路由以及接入平台层中匹配的接口反馈至所述区块链应用。
13.一种数据访问系统,其特征在于,包括接入平台层、异构联盟链网关层和底层联盟链;其中,所述接入平台层包括异构链网关路由、身份认证模块、访问控制模块、链及通道接口模块、链上数据访问接口模块和合约访问接口模块;所述异构联盟链网关层包括多种类型的联盟链网关;每种类型的联盟链网关与其类型相同的底层联盟链连接;
所述接入平台层,用于通过接口接收区块链应用下发的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;通过所述异构链网关路由将所述操作请求转发至所述目标链所属的联盟链网关;
所述联盟链网关,用于在接收到所述异构链网关路由发送的操作请求的情况下,获取与所述目标链的标识匹配的地址信息;基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作,并将操作结果通过所述异构链网关路由以及所述接入平台层中匹配的接口反馈至所述区块链应用。
14.根据权利要求13所述的数据访问系统,其特征在于,所述异构联盟链网关层包括分布式账本联盟链网关、金融联盟链网关和长安链网关。
15.根据权利要求13所述的数据访问系统,其特征在于,同类型的联盟链网关包括多个,其中,一个目标联盟链网关与所述异构链网关路由连接;剩余同类型的联盟链网关分别与所述目标联盟链网关连接,并且剩余同类型的各联盟链网关与其所属的底层联盟链连接。
16.一种数据访问方法,其特征在于,适用于与区块链应用交互的接入设备;所述方法包括:
接收区块链应用下发的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
将所述操作请求转发至所述目标链所属的联盟链网关,以便于所述联盟链网关获取与所述目标链的标识匹配的地址信息;基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至所述区块链应用。
17.一种数据访问装置,其特征在于,适用于与区块链应用交互的接入设备;所述装置包括接收单元和转发单元;
所述接收单元,用于接收区块链应用下发的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
所述转发单元,用于将所述操作请求转发至所述目标链所属的联盟链网关,以便于所述联盟链网关获取与所述目标链的标识匹配的地址信息;基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作,并将操作结果通过异构链网关路由以及接入平台层中匹配的接口反馈至所述区块链应用。
18.一种数据访问方法,其特征在于,适用于部署有多种类型的联盟链网关的设备,所述方法包括:
接收接入设备发送的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
获取与所述目标链的标识匹配的地址信息;
基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作;
将操作结果通过所述接入设备反馈至区块链应用。
19.一种数据访问装置,其特征在于,适用于部署有多种类型的联盟链网关的设备,所述装置包括接收单元、获取单元、操作单元和反馈单元;
所述接收单元,用于接收接入设备发送的操作请求;其中,所述操作请求中携带有所访问的目标链的标识;
所述获取单元,用于获取与所述目标链的标识匹配的地址信息;
所述操作单元,用于基于所述地址信息访问所述目标链,以对所述目标链执行所述操作请求对应的操作;
所述反馈单元,用于将操作结果通过所述接入设备反馈至区块链应用。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11、权利要求16和/或权利要求18任意一项所述数据访问方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310280736.8A CN116016523B (zh) | 2023-03-22 | 2023-03-22 | 一种数据访问方法、装置、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310280736.8A CN116016523B (zh) | 2023-03-22 | 2023-03-22 | 一种数据访问方法、装置、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116016523A true CN116016523A (zh) | 2023-04-25 |
CN116016523B CN116016523B (zh) | 2023-07-14 |
Family
ID=86027120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310280736.8A Active CN116016523B (zh) | 2023-03-22 | 2023-03-22 | 一种数据访问方法、装置、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116016523B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255908A (zh) * | 2011-07-08 | 2011-11-23 | 北京邮电大学 | 一种物联网网关协议一致性的方法 |
US20130290338A1 (en) * | 2010-12-23 | 2013-10-31 | British Telecommunications Public Limited Company | Method and apparatus for processing electronic data |
CN109167811A (zh) * | 2018-07-27 | 2019-01-08 | 阿里巴巴集团控股有限公司 | 一种基于区块链的跨链数据访问方法和装置 |
CN109347955A (zh) * | 2018-10-19 | 2019-02-15 | 北京奇艺世纪科技有限公司 | 一种区块链网络系统以及信息处理方法 |
CN110266655A (zh) * | 2019-05-30 | 2019-09-20 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及系统 |
CN111163129A (zh) * | 2019-12-05 | 2020-05-15 | 深圳前海微众银行股份有限公司 | 一种基于跨链网络的资源处理方法及装置 |
CN113242317A (zh) * | 2021-06-11 | 2021-08-10 | 广东浪潮智慧计算技术有限公司 | 一种面向联盟链监管系统的寻址路由同步方法和相关装置 |
CN115714780A (zh) * | 2022-11-17 | 2023-02-24 | 昆明电力交易中心有限责任公司 | 基于跨多联盟链多中继链的联盟链自发现方法 |
-
2023
- 2023-03-22 CN CN202310280736.8A patent/CN116016523B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130290338A1 (en) * | 2010-12-23 | 2013-10-31 | British Telecommunications Public Limited Company | Method and apparatus for processing electronic data |
CN102255908A (zh) * | 2011-07-08 | 2011-11-23 | 北京邮电大学 | 一种物联网网关协议一致性的方法 |
CN109167811A (zh) * | 2018-07-27 | 2019-01-08 | 阿里巴巴集团控股有限公司 | 一种基于区块链的跨链数据访问方法和装置 |
CN109347955A (zh) * | 2018-10-19 | 2019-02-15 | 北京奇艺世纪科技有限公司 | 一种区块链网络系统以及信息处理方法 |
CN110266655A (zh) * | 2019-05-30 | 2019-09-20 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及系统 |
CN111163129A (zh) * | 2019-12-05 | 2020-05-15 | 深圳前海微众银行股份有限公司 | 一种基于跨链网络的资源处理方法及装置 |
CN113242317A (zh) * | 2021-06-11 | 2021-08-10 | 广东浪潮智慧计算技术有限公司 | 一种面向联盟链监管系统的寻址路由同步方法和相关装置 |
CN115714780A (zh) * | 2022-11-17 | 2023-02-24 | 昆明电力交易中心有限责任公司 | 基于跨多联盟链多中继链的联盟链自发现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116016523B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110351381B (zh) | 一种基于区块链的物联网可信分布式数据共享方法 | |
CN112003703B (zh) | 一种跨链发送可认证消息的方法和装置 | |
WO2019157955A1 (zh) | 设备接入方法、相关平台及计算机存储介质 | |
CN113596184B (zh) | 混合云系统、网闸、网络访问方法及存储介质 | |
CN101399671B (zh) | 一种跨域认证方法及其系统 | |
CN1578215B (zh) | 安全协议的自动协商系统和方法 | |
CN110489486B (zh) | 生成区块链网络的方法、种子节点和介质 | |
US8813243B2 (en) | Reducing a size of a security-related data object stored on a token | |
US9251211B2 (en) | Generation of a query plan for accessing a database | |
CN113364735B (zh) | 多链场景下数据跨链访问控制方法、系统、设备及终端 | |
US8522333B2 (en) | Client/server system for communicating according to the standard protocol OPC UA and having single sign-on mechanisms for authenticating, and method for performing single sign-on in such a system | |
CN109391592A (zh) | 网络功能服务的发现方法及设备 | |
CN103052063B (zh) | 一种接入无线局域网的方法、系统、无线共享设备和终端 | |
US9094409B2 (en) | Method for configuring access rights, control point, device and communication system | |
CN103139234A (zh) | 一种数据服务封装的装置及方法 | |
CN110661798A (zh) | 基于认证鉴权平台的认证鉴权方法 | |
CN112236990A (zh) | 用于实现iot数据的高效分析的基于服务层的方法 | |
CN103888288A (zh) | 一种注册方法、管理器、注册器与系统 | |
WO2013182127A1 (zh) | 一种异构网络中的数据共享方法及装置 | |
CN116016523B (zh) | 一种数据访问方法、装置、系统和介质 | |
CN103533094A (zh) | 标码一体机及标码系统 | |
CN115714781A (zh) | 数据同步方法、混合云架构、终端及计算机可读存储介质 | |
KR101711599B1 (ko) | Inter-SDN 네트워크 도메인 상호 연계 방법 및 장치 | |
CN101719829B (zh) | 一种实现idm系统间互操作的处理方法和系统 | |
CN110287045A (zh) | 一种基于solaris操作系统的存储服务接口管理框架 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |