CN110535872B - 在区块链网络中处理数据请求的方法和装置 - Google Patents
在区块链网络中处理数据请求的方法和装置 Download PDFInfo
- Publication number
- CN110535872B CN110535872B CN201910866469.6A CN201910866469A CN110535872B CN 110535872 B CN110535872 B CN 110535872B CN 201910866469 A CN201910866469 A CN 201910866469A CN 110535872 B CN110535872 B CN 110535872B
- Authority
- CN
- China
- Prior art keywords
- sub
- network
- consensus
- node
- chain
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种在区块链网络中处理数据请求的方法和装置,方法包括:接收业务子网络中的业务节点发送的数据请求,数据请求携带对应于业务节点的身份证书、待访问的子区块链对应的子链标识和待访问共识节点的地址;用颁发身份证书的证书认证中心的公钥对身份证书进行验证;当验证通过时,检查业务节点的身份证书中是否包括子链标识;若是则确定用于维护子链标识对应的子区块链的目标共识分支网络,并获取目标共识分支网络中各共识节点的地址;当获取的地址中包括待访问共识节点的地址时,将数据请求转发至共识子网络中的目标共识分支网络。本申请提供的方案可以有效地提升整个区块链网络的处理性能。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种在区块链网络中处理数据请求的方法、装置、计算机可读存储介质和计算机设备。
背景技术
传统的联盟区块链网络,不同于公有区块链中数据区块生成速度较慢、数据量生成较少、节点较多的特点,联盟区块链网络的应用场景往往更倾向于数据量更大、数据流动和请求更加频繁的具体业务。
在联盟区块链网络接收到频繁的数据请求时,需要进行频繁的处理。如何满足联盟区块链网络的具体业务需求,在保证不同业务类型的数据可以分离、业务数据的一致性和安全性的同时,还能提升整个区块链网络的对频繁的请求进行处理的性能,是现有技术面临的一个难题。
发明内容
基于此,有必要针对现有技术中的面临的如何在保证不同业务类型的数据可以分离、业务数据的一致性和安全性的同时,还能提升整个区块链网络的对频繁的请求进行处理的性能的问题,提供一种在区块链网络中处理数据请求的方法、装置、计算机可读存储介质和计算机设备。
一种在区块链网络中处理数据请求的方法,所述区块链网络包括业务子网络、共识子网络和用于隔离所述业务子网络与所述共识子网络的路由层,所述共识子网络包括多个用于维护相应子区块链的共识分支网络,所述方法包括:
接收所述业务子网络中的业务节点发送的数据请求,所述数据请求携带对应于所述业务节点的身份证书、待访问的子区块链对应的子链标识和待访问共识节点的地址;
用颁发所述身份证书的证书认证中心的公钥对所述身份证书进行验证;
当验证通过时,检查所述业务节点的身份证书中是否包括所述子链标识;
若是,则确定用于维护所述子链标识对应的子区块链的目标共识分支网络,并获取所述目标共识分支网络中各共识节点的地址;
当获取的地址中包括所述待访问共识节点的地址时,将所述数据请求转发至所述共识子网络中的目标共识分支网络。
一种在区块链网络中处理数据请求的装置,所述区块链网络包括业务子网络、共识子网络和用于隔离所述业务子网络与所述共识子网络的路由层,所述共识子网络包括多个用于维护相应子区块链的共识分支网络,所述装置包括:
接收模块,用于接收所述业务子网络中的业务节点发送的数据请求,所述数据请求携带对应于所述业务节点的身份证书、待访问的子区块链对应的子链标识和待访问共识节点的地址;
身份证书验证模块,用于用颁发所述身份证书的证书认证中心的公钥对所述身份证书进行验证;
子链标识校验模块,用于当所述身份证书验证通过时,检查所述业务节点的身份证书中是否包括所述子链标识;
地址校验模块,用于当子链标识校验通过时,则确定用于维护所述子链标识对应的子区块链的目标共识分支网络,并获取所述目标共识分支网络中各共识节点的地址;
转发模块,用于当获取的地址中包括所述待访问共识节点的地址时,将所述数据请求转发至所述共识子网络中的目标共识分支网络。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述在区块链网络中处理数据请求的方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行在区块链网络中处理数据请求的方法的步骤。
上述在区块链网络中处理数据请求的方法、装置、计算机可读存储介质和计算机设备,区块链网络包括业务子网络、路由层和共识子网络,共识子网络包括多个用于维护相应子区块链的共识分支网络,通过在共识子网络中划分多个共识分支网络,不同的业务数据可以经过统一的路由层安全地分发至不同的共识分支网络中,保证了不同业务类型的数据可以分离、业务数据的一致性和业务数据的安全性。在业务子网络中的业务节点发出要访问共识子网络的数据请求时,通过路由层中的路由节点根据数据请求中携带的子链标识、身份证书、和待访问共识节点的地址去验证该业务节点的访问权限,进而确定所要访问的目标共识分支网络,实现对数据请求的分发,可以避免共识子网络中的共识节点频繁地接收请求并验证从而降低共识子网络处理性能的情况,业务子网络与共识子网络之间的通信通过路由层来调度,可以有效地提升整个区块链网络的处理性能。
附图说明
图1为一个实施例中在区块链网络中处理数据请求的方法的应用环境图;
图2为一个实施例中区块链网络的架构示意图;
图3为一个具体的实施例中区块链网络应用于电子票据场景的架构示意图;
图4为一个实施例中在区块链网络中处理数据请求的方法的流程示意图;
图5为一个实施例中将数据请求转发至共识子网络中的目标共识分支网络的流程示意图;
图6为一个实施例中确定共识子网络中的可用共识分支网络的流程示意图;
图7为一个具体的实施例中区块链网络的功能模块示意图;
图8为一个具体的实施例中在区块链网络中处理数据请求的方法的流程示意图;
图9为一个实施例中在区块链网络中处理数据请求的装置的结构框图;
图10为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中在区块链网络中处理数据请求的方法的应用环境图。参照图1,该在区块链网络中处理数据请求的方法应用于区块链网络100。区块链网络包括对区块链上的数据区块进行记录和查询的相关节点构成的网络,区块链网络中的每个节点即为区块链节点,是能够对数据区块进行查询或记录的计算机设备。如图1所示,该区块链网络100包括业务子网络110、路由层120和共识子网络130。业务子网络110中的业务节点112和路由层120中的路由节点122通过网络连接。路由节点122和共识子网络130中的共识节点132通过网络连接。因此业务子网络110与共识子网络130之间需要通过路由节点122通信。
业务节点112具体可以是产生交易信息的业务方所使用的台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。路由节点122可以用独立的服务器或者是多个服务器组成的服务器集群来实现。共识子网络130包括用于维护相应子区块链的共识分支网络131,不同的共识网络分支131用于维护记录业务节点产生的不同业务类型的数据。共识网络分支131中的共识节点132可以将业务节点112产生的交易信息记录至区块链上,共识节点132可以用独立的服务器或者是多个服务器组成的服务器集群来实现,在区块链网络应用于处理电子票据数据的应用场景中时,共识子网络中的共识节点通常是由监管机构授权设置的。
区块链是运行区块链技术的载体和组织方式。区块链技术,简称BT(Blockchaintechnology),也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种分布式基础架构与计算方式。
如图2所示,为一个实施例中区块链网络的架构示意图。参照图2,区块链网络200包括业务子网络210、路由层220和共识子网络230。业务子网络210包括对共识节点记录到区块链上的数据区块进行验证的业务节点211,共识子网络230包括将数据区块记录至区块链上的共识节点231。业务子网络210与共识子网络230之间通过路由层220连接,路由层220中的路由节点221可以向共识节点231传递业务节点211发送的数据处理请求,路由节点221还可以向业务节点211转发从共识节点231获取的区块链上的交易信息。业务节点211部署在处于公网的业务子网络中,而运行区块链共识协议的共识节点231则部署在私有的共识子网络中,二者通过路由节点进行交互,路由节点221起到对于业务子网络210和核心的共识子网络230之间的隔离作用。在业务子网络210中,每个业务节点之间是对等的,业务节点之间形成点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。业务节点211可以将从路由节点221接收到的消息向周围的业务节点传递,使得该消息能够在业务子网络中的每个业务节点之间传播。
如图3所示为一个具体的实施例中区块链网络应用于电子票据场景的架构示意图。当上述的区块链网络应用于电子票据的场景时,区块链网络可以为电子票据的整个流转过程中产生的交易信息进行记录。参照图3,该区块链网络包括业务子网络32、路由层34和共识子网络36。
电子票据的流转过程包括电子票据的申领、电子票据的开具、电子票据的报销、电子票据的报税等过程,其中,电子票据的开具也叫做电子票据的生成,由于整个电子票据的流转过程涉及到的角色包括监管机构、开票方、报销方和报税方,因此业务子网络32中包括为监管机构提供相关服务的监管机构专网321,还包括为开票方、报销方、报税方提供相关服务的公有云322,还包括为消费者提供电子票据保存服务的私有云323。其中,监管机构专网321中包括电子票据所涉及的监管机构所使用的计算机设备,包括监管机构终端3211。公有云322中包括电子票据所涉及的开票方、报销费、报税方所使用的计算机设备,包括开票方终端3221、报销方终端3222和报税方终端3223,其中,开票方可以是开票服务商,报销方可以是报销服务商,企业终端可以访问公有云。私有云323中包括电子票据所涉及的用户所使用的计算机设备,包括用于进行支付的支付终端3231,还包括用于临时为用户保存电子票据的电子票据流转终端3232,还包括一些企业的专用终端3233,消费者终端可以访问私有云。监管机构专网321、公有云322以及私有云323中的计算机设备均可以作为业务节点通过路由节点向共识子网络发送针对电子票据的数据上链请求或数据查询请求。
路由节点34中的任一路由节点包括提供认证服务341、证书缓存342、路由服务343和P2P服务344的功能模块。认证服务341用于对业务子网络中的业务节点进行身份验证,证书缓存342用于缓存各节点的身份证书,路由服务343用于实现业务子网络与共识子网络之间的网络隔离,P2P服务用于在具备幂等性的路由节点之间分配任务,路由节点之间形成组成点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。
共识子网络36包括多个共识分支网络360,每个共识分支网络360包括多个共识节点361,这多个共识节点361维护该共识分支网络360所对应的子区块链。比如,有的子区块链用于记录属于某个票据号段区间的电子票据相关的交易信息,有的子区块链用于记录冲红的电子票据相关的交易信息。在需要记录电子票据相关的数据时,可根据业务节点的权限确定要记录至的子区块链,然后由维护该子区块链的共识分支网络来记录。共识节点361通常可以是各个地区的监管机构所使用的计算机设备。每个共识分支网络360中的共识节点361包括权限合约,权限合约存储了关于电子票据的整个生命周期的流转逻辑,比如电子票据的票据状态、流转流程、数据的访问权限、电子票据申领条件、电子票据开具条件等等。共识节点361还包括高速缓存和数据区块,这些功能可以为交易信息的上链与查询提供支持。
如图4所示,在一个实施例中,提供了一种在区块链网络中处理数据请求的方法。该区块链网络包括业务子网络、共识子网络以及用于隔离业务子网络与共识子网络的路由层,共识子网络包括多个用于维护相应子区块链的共识分支网络,本实施例主要以该方法应用于上述图1中的路由节点122来举例说明。参照图4,该在区块链网络中处理数据请求的方法具体包括如下步骤:
S402,接收业务子网络中的业务节点发送的数据请求,数据请求携带对应于业务节点的身份证书、待访问的子区块链对应的子链标识和待访问共识节点的地址。
在本实施例中,业务子网络中的业务节点需要通过路由节点向共识子网络中的共识节点转发数据请求,数据请求包括数据上链请求、数据查询请求等等。在电子票据的应用场景中,数据请求包括票据申领请求、票据开具请求、票据报销请求、票据报税请求及票据信息查询请求,等等。
在共识子网络中包括多条用于维护相应子区块链的共识分支网络,共识分支网络中各个共识节点按区块号依次记录的数据区块构成了子区块链,子区块链对应了子链标识。需要说明的是,不同共识分支网络所包括的共识节点的数量不受限制,共识分支网络中共识节点的数量可以是根据当前共识分支网络所维护的子区块链上存储的业务数据相关的参与方来确定的。并且,同一个共识节点可能用于维护多个不同的共识分支网络,也就是同一个共识节点可能与多个子区块链标识对应,比如,子区块链1对应的子链标识为001,用于维护子区块链1的共识分支网络包括共识节点A、共识节点B和共识节点C,子区块链2对应的子链标识为002,用于维护子区块链2的共识分支网络包括共识节点A、共识节点E、共识节点F和共识节点G,可见共识节点A既对应了子链标识001,也与子链标识002对应。
为了保证区块链网络的安全,业务节点发起的数据请求都需要经过统一的路由层安全地分发至不同的共识分支网络中,不仅可以实现将不同的业务数据分离,也可以避免共识子网络不断地直接响应大量数据请求导致整个区块链网络处理性能下降的问题。
具体地,业务节点在发起数据请求时,需要携带对应于业务节点的身份证书、待访问的子区块链对应的子链标识和待访问共识节点的地址,待访问共识节点的地址可以是待访问共识节点的IP地址,发起的数据请求先经过路由层中的路由节点,经过路由节点验证后调度分发至相应的共识分支网络中的共识节点。也就是说,业务节点对子链标识所对应的子区块链的访问权限是由路由层来验证。
对应于业务节点的身份证书,是由证书认证中心颁发的。身份证书是业务节点在区块链网络中与路由节点通信、建立连接的凭证。身份证书中含有业务节点的节点标识、具有访问权限的子区块链所对应的子链标识,和对应于该业务节点的公钥。业务节点可以对多个子区块都具备相应的访问权限,那么身份证书中可包括多个不同的子区块链所对应的子链标识。
在一个实施例中,业务节点的身份证书由证书认证中心按照以下步骤生成:
接收业务节点发送的认证请求,认证请求携带业务节点的节点标识、具有访问权限的子区块链对应的子链标识和对应于业务节点的私钥;根据认证请求中对应于业务节点的私钥,生成对应于业务节点的公钥;根据认证请求中业务节点的节点标识、子链标识,和对应于业务节点的公钥,生成业务节点的身份证书。
具体地,业务节点可以自己生成私钥,并根据该业务节点的节点标识、具有访问权限的子区块链对应的子链标识和生成的私钥,生成认证请求,并将认证请求发送至证书认证中心,由证书认证中心对业务节点的身份进行认证,认证通过后,根据对应于该业务节点的私钥生成对应于该业务节点的公钥,并根据生成的公钥、节点标识、子链标识生成对应于该业务节点的身份证书。需要说明的是,在一张身份证书中,可以同时声明对多个子区块链的访问权限,也就是包括多个子区块链对应的子链标识。可选地,在身份证书的扩展字段中,不仅包含了该身份证书所代表的实体的身份,还可以包括具有访问权限的子区块链对应的子链标识。身份证书中所携带的子链标识仅用于证明业务节点对相应的子区块链的访问权限,在接入了相应的子区块链后,该业务节点是否具有相应的数据插入权限、合约执行权限就需要用于维护该子区块链的共识分支网络自行验证。
证书认证中心还可以将生成的身份证书发送至路由层中的路由节点,以便业务节点向路由节点发送数据请求时,路由节点可以对发起数据请求的业务节点的身份进行验证。为了明确身份证书是由证书认证中心颁发的合法证书,还可以由证书认证中心对身份证书的证书内容进行加密后得到相应的签名,并将该签名写入到身份证书中。
S404,用颁发身份证书的证书认证中心的公钥对身份证书进行验证。
具体地,在接收到业务节点发送的数据请求后,路由节点可以用颁发身份证书的证书认证中心的公钥对身份证书进行验证,具体方法是路由节点用对应于证书认证中心的公钥对业务节点的身份证书中携带的签名进行解密,得到证书内容的哈希值,然后再用签名所采用的相同的加密算法对证书内容直接计算相应的哈希值,若解密得到的哈希值与直接计算得到的哈希值一致,则对身份证书的合法性的验证成功。
在一个实施例中,数据请求还包括用对应于业务节点的私钥对数据请求生成的签名;在用颁发身份证书的证书认证中心的公钥对身份证书进行验证,并验证成功后,上述方法还包括:从身份证书中,获取对应于业务节点的公钥;用对应于业务节点的公钥对签名进行验证。
具体地,在路由节点验证了身份证书的合法性之后,还可以对数据请求的真实性进行验证,路由节点用对应于该业务节点的公钥对根据数据请求生成的签名进行解密,得到数据请求的哈希值,再按照签名时使用的相同的加密算法对数据请求直接计算相应的哈希值,如果解密得到的哈希值与直接计算得到的哈希值一致,则验证成功,说明发起数据请的业务节点的身份合法。
在本实施例中,通过对发起数据请求的业务节点的身份证书和数据请求进行验证,可以保证要接入共识子网络的业务节点的合法性。
在一个实施例中,若路由节点对业务节点的身份证书进行验证时,未能通过验证,则路由节点可以向业务节点返回验证失败的信息,以通知业务节点未能通过路由节点的权限验证,路由节点也就不能将业务节点发送的数据请求转发至共识子网络。
S406,当验证通过时,检查业务节点的身份证书中是否包括子链标识。
具体地,在路由节点对业务节点的身份证书进行验证且验证通过后,获取数据请求中所携带的子链标识,并检查业务节点的身份证书中是否包括携带的子链标识。
若业务节点的身份证书中不包括数据请求携带的子链标识,则说明业务节点不具备访问所携带的子链标识对应的子区块链的权限,路由节点可以向业务节点返回验证失败的信息,以通知业务节点未能通过路由节点的权限验证,路由节点也就不能将业务节点发送的数据请求转发至共识子网络。若业务节点的身份证书包括数据请求携带的子链标识,则继续进行下一步的验证。
S408,若是,则确定用于维护子链标识对应的子区块链的目标共识分支网络,并获取目标共识分支网络中各共识节点的地址。
具体地,若路由节点检查业务节点的身份证书中包括数据请求所携带的子链标识,则路由节点需要进一步从共识子网络中确定用于维护该子链标识对应的子区块链的目标共识分支网络。确定的目标共识网络是共识子网络中当前的可用共识分支网络,可用共识分支网络是当前能够正常提供区块链功能的共识分支网络。
需要说明的是,在共识子网络中,包括多个不同的用于维护相应子区块链的共识分支网络,不同的共识分支网络可以是按照业务类型或者数据类型(如票据信息数据、身份数据和金融数据,等等)区分的,各个共识分支网络相互无感知,且是独立运行的。可选地,共识分支网络之间直接通信会大大增加每个共识节点的复杂性和整个共识子网络设计的复杂性,因此,各个共识分支网络之间可以通过路由节点来通信,路由节点可以有效地记录和监控共识分支网络之间的数据交流和请求互动,而且,在路由节点可以无状态扩展的情况下,这样的网络架构也不会造成整个区块链网络的性能瓶颈。在一些特殊情况下,比如某一类业务需要关停、升级或者是限制访问时,路由层中的路由节点可以暂停对相应的共识分支网络的访问,同时又不会影响其它共识分支网络的正常运行,这些被暂停访问的共识分支网络为不可用共识分支网络。显然,上述路由节点确定的目标共识分支网络属于可用共识分支网络。
在一个实施例中,路由节点可在初始化启动的过程中,根据本地配置的子链标识来确定当前共识子网络中的可用共识分支网络和不可用共识分支网络。
进一步地,路由节点还要对数据请求中携带的待访问共识节点的地址进行校验。为了保证数据请求能够正确地调度分发至相应的共识分支网络中的某个共识节点,路由节点可以在确定了用于维护数据请求中携带的子链标识所对应的子区块链的目标共识分支网络,路由节点可以获取目标共识分支网络中各共识节点的地址。
S410,当获取的地址中包括待访问共识节点的地址时,将数据请求转发至共识子网络中的目标共识分支网络。
具体地,当路由节点检查到目标共识分支网络中各个共识节点的地址包括数据请求中所携带的待访问共识节点的地址时,路由节点就判定发起数据请求的业务节点的权限验证通过,并将数据请求转发至共识子网络中的目标共识分支网络,目标共识分支网络对数据请求继续相应的处理。
同样地,当路由节点检查到目标共识分支网络中各个共识节点的地址不包括数据请求中所携带的待访问共识节点的地址时,说明业务节点不具备访问所携带的子链标识对应的子区块链的权限,路由节点可以向业务节点返回验证失败的信息,以通知业务节点未能通过路由节点的权限验证,路由节点也就不能将业务节点发送的数据请求转发至共识子网络。
在一个实施例中,如图5所示,将数据请求转发至共识子网络中的目标共识分支网络,包括:
S502,从数据请求中提取业务节点的原始请求。
具体地,当业务节点通过身份验证、子链标识检查和地址验证之后,路由节点可以剔除数据请求中的子链标识,提取出原始请求。
S504,用对应于路由节点的私钥对原始请求进行签名。
具体地,路由节点在访问共识子网络时,也需要保证所发送请求的真实可靠性,因此路由节点可以用自己的私钥对原始请求采用特定加密算法进行加密,得到相应的签名,并将原始请求和得到的签名发送至与数据请求中携带的地址对应的待访问共识节点。
S506,将原始请求、签名发送至待访问共识节点,以使待访问共识节点根据路由节点的身份证书对签名进行验证,并在验证通过后,返回与原始请求对应的请求数据。
具体地,路由节点可以将提取的原始请求和生成的签名发送至目标共识分支网络中的待访问共识节点,待访问共识节点可以获取对应于路由节点的身份证书,从路由节点的身份证书中获取对应的该路由节点的公钥,用路由节点的公钥对签名进行解密,得到原始请求的哈希值,同时采用相同的加密算法直接计算原始请求的哈希值,若解密得到的哈希值与直接计算得到的哈希值一致,则待访问共识节点可以响应于原始请求,通过路由节点向业务节点返回对应的请求数据。
上述在区块链网络中处理数据请求的方法,区块链网络包括业务子网络、路由层和共识子网络,共识子网络包括多个用于维护相应子区块链的共识分支网络,通过在共识子网络中划分多个共识分支网络,不同的业务数据可以经过统一的路由层安全地分发至不同的共识分支网络中,保证了不同业务类型的数据可以分离、业务数据的一致性和业务数据的安全性。在业务子网络中的业务节点发出要访问共识子网络的数据请求时,通过路由层中的路由节点根据数据请求中携带的子链标识、身份证书、和待访问共识节点的地址去验证该业务节点的访问权限,进而确定所要访问的目标共识分支网络,实现对数据请求的分发,可以避免共识子网络中的共识节点频繁地接收请求并验证从而降低共识子网络处理性能的情况,业务子网络与共识子网络之间的通信通过路由层来调度,可以有效地提升整个区块链网络的处理性能。
在一个实施例中,如图6所示,目标共识分支网络为共识子网络中的可用共识分支网络,可用共识分支网络通过以下步骤确定:
S602,在路由层启动时,获取配置的子链标识。
具体地,在路由节点上配置了共识子网络中各个共识分支网络的链信息,其中配置的链信息包括各个共识分支网络所维护的子区块链对应的子链标识。在路由层中各个路由节点每一次启动的初始化过程中,路由节点都会根据配置的链信息来确定当前共识子网络中的可用共识分支网络。
S604,向各共识分支网络请求所维护的子区块链对应的子链标识。
由于在同一个共识分支网络中,多个共识节点共同维护一个子区块链,这多个共识节点所记录的关于该子区块链的数据是一致的,每个共识节点上的数据区块记录了所维护的子区块链对应的子链标识,因此,在确定当前共识子网络中的可用共识分支网络时,路由节点可以主动向各个共识分支网络请求所维护的子区块链对应的子链标识。可选地,路由节点可以向各个共识分支网络中的任意一个共识节点请求所维护的子区块链对应的子链标识。
在一个实施例中,向各共识分支网络请求所维护的子区块链对应的子链标识,包括:从各共识分支网络请求所维护的子区块链的创世区块;从各子区块链的创世区块中提取各子区块链对应的子链标识。
具体地,在共识分支网络创建每个子区块链时,可以在创世区块中记录该子区块链对应的子链标识。因此,路由节点在获取共识子网络中生成的子区块链对应的子链标识时,可以从共识分支网络请求所维护的子区块链的创世区块,并从请求得到的各个创世区块中提取各个子区块链对应的子链标识。
在一个实施例中,子链标识由共识节点按照以下步骤记录至对应的区块链中:创建区块链,并确定用于维护区块链的共识分支网络;生成区块链对应的子链标识;当获取到用于生成创世区块的交易信息时,根据子链标识、交易信息生成区块链的创世区块;通过共识分支网络对创世区块进行共识,并在共识通过后,将创世区块记录至区块链上。
具体地,在多个共识节点组成的共识分支网络中,当共识节点在创建区块链时,会生成区块链对应的子链标识,并且在共识节点获取到生成创世区块的交易信息时,共识节点可以将交易信息、生成的子链标识生成区块链的创世区块,在经过共识之后,将创世区块记录至区块链上。这样,共识分支网络中的各个共识节点都会获取到相同的创世区块,也就获取了所维护的区块链所对应的子链标识。当路由节点向共识节点请求创世区块时,共识节点就可以返回所维护的子区块链对应的创世区块。
S606,根据请求的子链标识对配置的子链标识进行校验。
具体地,路由节点可以根据请求的子链标识对配置的子链标识进行校验,可以保证路由节点上配置的子链标识是正确的,若不正确,则需要根据请求的子链标识对配置的子链标识进行修改,以保证配置的子链标识与实际的子链标识一致,这样路由节点在下次初始化时可以将一致的子链标识所对应的共识分支网络确定为可用共识分支网络。在路由节点根据请求的子链标识对配置的子链标识进行校验时,不仅不需要校验子链标识是否一致,还需要校验配置信息中记录的共识节点是否属于该子链标识对应的共识节点,也就是是否属于维护同一子区块链的共识分支网络中的共识节点。可选地,路由节点还可以验证该共识分支网络中各个共识节点是否可用。
在一个实施例中,根据请求的子链标识对配置的子链标识进行校验,包括:检查配置的子链标识是否与从共识分支网络请求的子链标识一致;若是,则确定用于维护子链标识对应的子区块链的共识分支网络,向确定的共识分支网络中的各共识节点请求创世区块,检查请求得到的创世区块中记录的子链标识是否与从共识分支网络请求的子链标识一致;若是,则判定配置的子链标识通过校验。
具体地,路由节点需要检查配置信息中子链标识是否与从共识分支网络请求的子链标识一致,若是,则进一步向该子链标识对应的共识分支网络中的各个共识节点请求创世区块,若各个共识节点返回的创世区块中的记录的子链标识与从共识分支网络请求的子链标识一致,则说明这些共识节点是属于同一个共识分支网络的节点。
S608,在校验通过时,将用于维护子链标识对应的子区块链的共识分支网络确定为可用共识分支网络。
在本实施例中,在路由节点完成对配置的链信息的校验后,就可以将合法的数据请求转发至共识子网络中的可用共识网络分支。可选地,路由节点可以获取各个共识分支网络的处理负荷,根据处理负荷按照负载均衡的方式向共识分支网络转发合法的数据请求。
在一个实施例中,上述方法还包括:当配置的子链标识未通过校验时,则将用于维护子链标识对应的子区块链的共识分支网络确定为不可用共识分支网络。
对于共识子网络中的不可用共识分支网络,路由节点可以暂停对这些共识分支网络的访问,也就是拒绝将业务节点的数据请求转发至共识子网络。
在一个实施例中,当业务节点为具有管理员权限的节点时,则业务节点的身份证书中包括各共识分支网络所维护的子区块链对应的子链标识。
在本实施例中,具有管理员权限的节点具备对共识子网络中各个共识分支网络的访问权限,因此这种节点的身份证书中需要添加各个共识分支网络所维护的子区块链对应的子链标识,以便具有管理员权限的节点能够接入各个子区块链。
在一个实施例中,如图7所示,为一个具体的实施例中区块链网络的功能模块示意图。参照图7,业务子网络中的各个业务节点通过路由节点访问共识子网络中的各个共识节点,每个路由节点所包括的功能模块包括网络流量/速率限制模块,用于控制整个区块链网络中的网络流量和数据包数量,还包括用于限制外部业务节点访问共识子网络部分功能的区块链功能限制模块,还包括对发起请求的每个外部业务节点进行身份验证的身份验证模块,还包括用于对不同类型的业务请求进行分发的业务功能分发模块,还包括用于转发插入交易请求的插入交易模块、用于转发请求数据区块的请求区块模块、用于转发地址注册请求的地址注册模块,还包括控制各个共识节点能够均衡地处理请求的负载均衡分发模块,还包括用于维护共识节点目前是否可用的共识节点状态维护模块,还包括用于接收共识节点返回的日志数据后进行分析的回包检查模块和日志与错误告警模块。
如图8所示,在一个具体的实施例中,在区块链网络中处理数据请求的方法具体包括以下步骤:
S802,在路由层启动时,获取配置的子链标识。
S804,从各共识分支网络请求所维护的子区块链的创世区块。
S806,从各子区块链的创世区块中提取各子区块链对应的子链标识。
S808,检查配置的子链标识是否与从共识分支网络请求的子链标识一致,若是,执行步骤S810,若否,执行步骤S814。
S810,确定用于维护子链标识对应的子区块链的共识分支网络,向确定的共识分支网络中的各共识节点请求创世区块,当请求得到的创世区块中记录的子链标识与从共识分支网络请求的子链标识一致时,则判定配置的子链标识通过校验。
S812,在校验通过时,将用于维护子链标识对应的子区块链的共识分支网络确定为可用共识分支网络。
S814,将用于维护子链标识对应的子区块链的共识分支网络确定为不可用共识分支网络。
S816,接收业务子网络中的业务节点发送的数据请求,数据请求携带对应于业务节点的身份证书、待访问的子区块链对应的子链标识、待访问共识节点的地址以及用对应于业务节点的私钥对数据请求生成的签名。
S818,用颁发身份证书的证书认证中心的公钥对身份证书进行验证,并验证成功后,从身份证书中,获取对应于业务节点的公钥;用对应于业务节点的公钥对签名进行验证。
S820,当验证通过时,检查业务节点的身份证书中是否包括子链标识;若是,则执行步骤S822,若否,执行步骤S830。
S822,确定用于维护子链标识对应的子区块链的目标共识分支网络,并获取目标共识分支网络中各共识节点的地址。
S824,当目标共识分支网络属于可用共识分支网络,且获取的地址中包括待访问共识节点的地址时,从数据请求中提取业务节点的原始请求。
S826,用对应于路由节点的私钥对原始请求进行签名。
S828,将原始请求、签名发送至目标共识分支网络中的待访问共识节点,以使待访问共识节点根据路由节点的身份证书对签名进行验证,并在验证通过后,返回与原始请求对应的请求数据。
S830,向业务节点反馈权限验证失败的通知。
上述在区块链网络中处理数据请求的方法,区块链网络包括业务子网络、路由层和共识子网络,共识子网络包括多个用于维护相应子区块链的共识分支网络,通过在共识子网络中划分多个共识分支网络,不同的业务数据可以经过统一的路由层安全地分发至不同的共识分支网络中,保证了不同业务类型的数据可以分离、业务数据的一致性和业务数据的安全性。在业务子网络中的业务节点发出要访问共识子网络的数据请求时,通过路由层中的路由节点根据数据请求中携带的子链标识、身份证书、和待访问共识节点的地址去验证该业务节点的访问权限,进而确定所要访问的目标共识分支网络,实现对数据请求的分发,可以避免共识子网络中的共识节点频繁地接收请求并验证从而降低共识子网络处理性能的情况,业务子网络与共识子网络之间的通信通过路由层来调度,可以有效地提升整个区块链网络的处理性能。
图8为一个实施例中在区块链网络中处理数据请求的方法的流程示意图。应该理解的是,虽然图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种在区块链网络中处理数据请求的装置900,区块链网络包括业务子网络、共识子网络和用于隔离业务子网络与共识子网络的路由层,共识子网络包括多个用于维护相应子区块链的共识分支网络,装置应用于路由层中的路由节点,该装置包括接收模块902、身份证书验证模块904、子链标识校验模块906、地址校验模块908和转发模块910,其中:
接收模块902,用于接收业务子网络中的业务节点发送的数据请求,数据请求携带对应于业务节点的身份证书、待访问的子区块链对应的子链标识和待访问共识节点的地址;
身份证书验证模块904,用于用颁发身份证书的证书认证中心的公钥对身份证书进行验证;
子链标识校验模块906,用于当身份证书验证通过时,检查业务节点的身份证书中是否包括子链标识;
地址校验模块908,用于当子链标识校验通过时,则确定用于维护子链标识对应的子区块链的目标共识分支网络,并获取目标共识分支网络中各共识节点的地址;
转发模块910,用于当获取的地址中包括待访问共识节点的地址时,将数据请求转发至共识子网络中的目标共识分支网络。
在一个实施例中,数据请求还包括用对应于业务节点的私钥对数据请求生成的签名;上述装置还包括数据请求校验模块,用于从身份证书中,获取对应于业务节点的公钥;用对应于业务节点的公钥对签名进行验证。
在一个实施例中,目标共识分支网络为共识子网络中的可用共识分支网络,上述装置还包括可用共识分支网络确定模块,用于在路由层启动时,获取配置的子链标识;向各共识分支网络请求所维护的子区块链对应的子链标识;根据请求的子链标识对配置的子链标识进行校验;在校验通过时,将用于维护子链标识对应的子区块链的共识分支网络确定为可用共识分支网络。
在一个实施例中,可用共识分支网络确定模块还用于从各共识分支网络请求所维护的子区块链的创世区块;从各子区块链的创世区块中提取各子区块链对应的子链标识。
在一个实施例中,可用共识分支网络确定模块还用于检查配置的子链标识是否与从共识分支网络请求的子链标识一致;若是,则确定用于维护子链标识对应的子区块链的共识分支网络,向确定的共识分支网络中的各共识节点请求创世区块,检查请求得到的创世区块中记录的子链标识是否与从共识分支网络请求的子链标识一致;若是,则判定配置的子链标识通过校验。
在一个实施例中,可用共识分支网络确定模块还用于当配置的子链标识未通过校验时,则将用于维护子链标识对应的子区块链的共识分支网络确定为不可用共识分支网络。
在一个实施例中,子链标识由共识节点按照以下步骤记录至对应的区块链中:创建区块链,并确定用于维护区块链的共识分支网络;生成区块链对应的子链标识;当获取到用于生成创世区块的交易信息时,根据子链标识、交易信息生成区块链的创世区块;通过共识分支网络对创世区块进行共识,并在共识通过后,将创世区块记录至区块链上。
在一个实施例中,业务节点的身份证书由证书认证中心按照以下步骤生成:接收业务节点发送的认证请求,认证请求携带业务节点的节点标识、具有访问权限的子区块链对应的子链标识和对应于业务节点的私钥;根据认证请求中对应于业务节点的私钥,生成对应于业务节点的公钥;根据认证请求中业务节点的节点标识、子链标识,和对应于业务节点的公钥,生成业务节点的身份证书。
在一个实施例中,转发模块910还用于从数据请求中提取业务节点的原始请求;用对应于路由节点的私钥对原始请求进行签名;将原始请求、签名发送至目标共识分支网络中的待访问共识节点,以使待访问共识节点根据路由节点的身份证书对签名进行验证,并在验证通过后,返回与原始请求对应的请求数据。
在一个实施例中,当业务节点为具有管理员权限的节点时,则业务节点的身份证书中包括各共识分支网络所维护的子区块链对应的子链标识。
上述在区块链网络中处理数据请求的装置900,区块链网络包括业务子网络、路由层和共识子网络,共识子网络包括多个用于维护相应子区块链的共识分支网络,通过在共识子网络中划分多个共识分支网络,不同的业务数据可以经过统一的路由层安全地分发至不同的共识分支网络中,保证了不同业务类型的数据可以分离、业务数据的一致性和业务数据的安全性。在业务子网络中的业务节点发出要访问共识子网络的数据请求时,通过路由层中的路由节点根据数据请求中携带的子链标识、身份证书、和待访问共识节点的地址去验证该业务节点的访问权限,进而确定所要访问的目标共识分支网络,实现对数据请求的分发,可以避免共识子网络中的共识节点频繁地接收请求并验证从而降低共识子网络处理性能的情况,业务子网络与共识子网络之间的通信通过路由层来调度,可以有效地提升整个区块链网络的处理性能。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的路由节点122。如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现在区块链网络中处理数据请求的方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行在区块链网络中处理数据请求的方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的在区块链网络中处理数据请求的装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该在区块链网络中处理数据请求的装置的各个程序模块,比如,图9所示的接收模块902、身份证书验证模块904、子链标识校验模块906、地址校验模块908和转发模块910。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的在区块链网络中处理数据请求的方法中的步骤。
例如,图10所示的计算机设备可以通过如图9所示的在区块链网络中处理数据请求的装置900中的接收模块902执行步骤S402。计算机设备可通过身份证书验证模块904执行步骤S404。计算机设备可通过子链标识校验模块906执行步骤S406。计算机设备可通过地址校验模块908执行步骤S408。计算机设备可通过转发模块910执行步骤S410。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述在区块链网络中处理数据请求的方法的步骤。此处在区块链网络中处理数据请求的方法的步骤可以是上述各个实施例的在区块链网络中处理数据请求的方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述在区块链网络中处理数据请求的方法的步骤。此处在区块链网络中处理数据请求的方法的步骤可以是上述各个实施例的在区块链网络中处理数据请求的方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (20)
1.一种在区块链网络中处理数据请求的方法,所述区块链网络包括业务子网络、共识子网络和用于隔离所述业务子网络与所述共识子网络的路由层,所述共识子网络包括多个用于维护相应子区块链的共识分支网络,所述方法包括:
接收所述业务子网络中的业务节点发送的数据请求,所述数据请求携带对应于所述业务节点的身份证书、待访问的子区块链对应的子链标识和待访问共识节点的地址;
用颁发所述身份证书的证书认证中心的公钥对所述身份证书进行验证;
当验证通过时,检查所述业务节点的身份证书中是否包括所述子链标识;
若是,则确定用于维护所述子链标识对应的子区块链的目标共识分支网络,并获取所述目标共识分支网络中各共识节点的地址;
当所述目标共识分支网络为当前共识子网络中的可用共识分支网络,且获取的地址中包括所述待访问共识节点的地址时,将所述数据请求转发至所述共识子网络中的目标共识分支网络。
2.根据权利要求1所述的方法,其特征在于,所述数据请求还包括用对应于所述业务节点的私钥对所述数据请求生成的签名;在所述用颁发所述身份证书的证书认证中心的公钥对所述身份证书进行验证,并验证成功后,所述方法还包括:
从所述身份证书中,获取对应于所述业务节点的公钥;
用对应于所述业务节点的公钥对所述签名进行验证。
3.根据权利要求1所述的方法,其特征在于,所述目标共识分支网络为所述共识子网络中的可用共识分支网络,所述可用共识分支网络通过以下步骤确定:
在路由层启动时,获取配置的子链标识;
向各所述共识分支网络请求所维护的子区块链对应的子链标识;
根据请求的子链标识对配置的子链标识进行校验;
在校验通过时,将用于维护所述子链标识对应的子区块链的共识分支网络确定为可用共识分支网络。
4.根据权利要求3所述的方法,其特征在于,所述向各所述共识分支网络请求所维护的子区块链对应的子链标识,包括:
从各所述共识分支网络请求所维护的子区块链的创世区块;
从各所述子区块链的创世区块中提取各所述子区块链对应的子链标识。
5.根据权利要求3所述的方法,其特征在于,所述根据请求的子链标识对配置的子链标识进行校验,包括:
检查配置的子链标识是否与从共识分支网络请求的子链标识一致;
若是,则确定用于维护所述子链标识对应的子区块链的共识分支网络,向确定的所述共识分支网络中的各共识节点请求创世区块,检查请求得到的所述创世区块中记录的子链标识是否与从共识分支网络请求的子链标识一致;
若是,则判定配置的所述子链标识通过校验。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当配置的所述子链标识未通过校验时,则将用于维护所述子链标识对应的子区块链的共识分支网络确定为不可用共识分支网络。
7.根据权利要求1所述的方法,其特征在于,所述子链标识由共识节点按照以下步骤记录至对应的区块链中:
创建区块链,并确定用于维护所述区块链的共识分支网络;
生成所述区块链对应的子链标识;
当获取到用于生成创世区块的交易信息时,根据所述子链标识、所述交易信息生成所述区块链的创世区块;
通过所述共识分支网络对所述创世区块进行共识,并在共识通过后,将所述创世区块记录至所述区块链上。
8.根据权利要求1所述的方法,其特征在于,所述业务节点的身份证书由证书认证中心按照以下步骤生成:
接收业务节点发送的认证请求,所述认证请求携带所述业务节点的节点标识、具有访问权限的子区块链对应的子链标识和对应于所述业务节点的私钥;
根据所述认证请求中对应于所述业务节点的私钥,生成对应于所述业务节点的公钥;
根据所述认证请求中所述业务节点的节点标识、所述子链标识,和对应于所述业务节点的公钥,生成所述业务节点的身份证书。
9.根据权利要求1所述的方法,其特征在于,所述方法由所述路由层中的路由节点执行,所述将所述数据请求转发至所述共识子网络中的目标共识分支网络,包括:
从所述数据请求中提取所述业务节点的原始请求;
用对应于所述路由节点的私钥对所述原始请求进行签名;
将所述原始请求、所述签名发送至所述目标共识分支网络中的所述待访问共识节点,以使所述待访问共识节点根据所述路由节点的身份证书对所述签名进行验证,并在验证通过后,返回与所述原始请求对应的请求数据。
10.根据权利要求1至9中任一项所述的方法,其特征在于,当所述业务节点为具有管理员权限的节点时,则所述业务节点的身份证书中包括各所述共识分支网络所维护的子区块链对应的子链标识。
11.一种在区块链网络中处理数据请求的装置,所述区块链网络包括业务子网络、共识子网络和用于隔离所述业务子网络与所述共识子网络的路由层,所述共识子网络包括多个用于维护相应子区块链的共识分支网络,所述装置包括:
接收模块,用于接收所述业务子网络中的业务节点发送的数据请求,所述数据请求携带对应于所述业务节点的身份证书、待访问的子区块链对应的子链标识和待访问共识节点的地址;
身份证书验证模块,用于用颁发所述身份证书的证书认证中心的公钥对所述身份证书进行验证;
子链标识校验模块,用于当所述身份证书验证通过时,检查所述业务节点的身份证书中是否包括所述子链标识;
地址校验模块,用于当子链标识校验通过时,则确定用于维护所述子链标识对应的子区块链的目标共识分支网络,并获取所述目标共识分支网络中各共识节点的地址;
转发模块,用于当所述目标共识分支网络为当前共识子网络中的可用共识分支网络,且获取的地址中包括所述待访问共识节点的地址时,将所述数据请求转发至所述共识子网络中的目标共识分支网络。
12.根据权利要求11所述的装置,其特征在于,所述数据请求还包括用对应于所述业务节点的私钥对所述数据请求生成的签名;所述装置还包括数据请求校验模块,用于从所述身份证书中,获取对应于所述业务节点的公钥;用对应于所述业务节点的公钥对所述签名进行验证。
13.根据权利要求11所述的装置,其特征在于,所述目标共识分支网络为所述共识子网络中的可用共识分支网络,所述装置还包括可用共识分支网络确定模块,所述可用共识分支网络确定模块包括:
配置信息获取模块,用于在路由层启动时,获取配置的子链标识;
子链标识请求模块,用于向各所述共识分支网络请求所维护的子区块链对应的子链标识;
子链标识校验模块,用于根据请求的子链标识对配置的子链标识进行校验;
判定模块,用于在配置的子链标识通过校验时,将用于维护所述子链标识对应的子区块链的共识分支网络确定为可用共识分支网络。
14.根据权利要求13所述的装置,其特征在于,所述子链标识请求模块还用于从各所述共识分支网络请求所维护的子区块链的创世区块;从各所述子区块链的创世区块中提取各所述子区块链对应的子链标识。
15.根据权利要求13所述的装置,其特征在于,所述子链标识校验模块还用于检查配置的子链标识是否与从共识分支网络请求的子链标识一致;若是,则确定用于维护所述子链标识对应的子区块链的共识分支网络,向确定的所述共识分支网络中的各共识节点请求创世区块,检查请求得到的所述创世区块中记录的子链标识是否与从共识分支网络请求的子链标识一致;若是,则判定配置的所述子链标识通过校验。
16.根据权利要求15所述的装置,其特征在于,所述可用共识分支网络确定模块还用于当配置的所述子链标识未通过校验时,则将用于维护所述子链标识对应的子区块链的共识分支网络确定为不可用共识分支网络。
17.根据权利要求11所述的装置,其特征在于,所述装置应用于所述路由层中的路由节点,所述转发模块还用于从所述数据请求中提取所述业务节点的原始请求;用对应于所述路由节点的私钥对所述原始请求进行签名;将所述原始请求、所述签名和所述路由节点的身份证书发送至所述待访问共识节点,以使所述待访问共识节点对所述路由节点的身份证书进行验证,并在验证通过后,返回与所述原始请求对应的请求数据。
18.根据权利要求11至17任一项所述的装置,其特征在于,当所述业务节点为具有管理员权限的节点时,则所述业务节点的身份证书中包括各所述共识分支网络所维护的子区块链对应的子链标识。
19.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
20.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911240359.5A CN111010382B (zh) | 2019-09-12 | 2019-09-12 | 在区块链网络中处理数据请求的方法和装置 |
CN201910866469.6A CN110535872B (zh) | 2019-09-12 | 2019-09-12 | 在区块链网络中处理数据请求的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866469.6A CN110535872B (zh) | 2019-09-12 | 2019-09-12 | 在区块链网络中处理数据请求的方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911240359.5A Division CN111010382B (zh) | 2019-09-12 | 2019-09-12 | 在区块链网络中处理数据请求的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535872A CN110535872A (zh) | 2019-12-03 |
CN110535872B true CN110535872B (zh) | 2021-06-01 |
Family
ID=68668500
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910866469.6A Active CN110535872B (zh) | 2019-09-12 | 2019-09-12 | 在区块链网络中处理数据请求的方法和装置 |
CN201911240359.5A Active CN111010382B (zh) | 2019-09-12 | 2019-09-12 | 在区块链网络中处理数据请求的方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911240359.5A Active CN111010382B (zh) | 2019-09-12 | 2019-09-12 | 在区块链网络中处理数据请求的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110535872B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602108B (zh) * | 2019-09-16 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据通信方法、装置、设备及存储介质 |
CN111241104A (zh) * | 2020-01-14 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 操作审计方法、装置及电子设备和计算机可读存储介质 |
CN114418574A (zh) * | 2020-01-17 | 2022-04-29 | 厦门潭宏信息科技有限公司 | 一种共识和资源传输方法、设备及存储介质 |
CN111324591B (zh) * | 2020-01-20 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 区块链分叉的检测方法及相关装置 |
CN111526154A (zh) * | 2020-04-30 | 2020-08-11 | 余伟霞 | 一种基于区块链网络的业务数据共享系统 |
CN111597537B (zh) * | 2020-05-20 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 基于区块链网络的证书签发方法、相关设备及介质 |
CN111597268B (zh) * | 2020-05-21 | 2023-09-12 | 昆明大棒客科技有限公司 | 一种区块链扩展方法、区块链节点及区块链系统 |
CN111680282B (zh) * | 2020-06-01 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 基于区块链网络的节点管理方法、装置、设备及介质 |
CN112100234B (zh) * | 2020-08-12 | 2021-09-10 | 北京大学 | 基于随机共识的图式账本的内容寻址方法和系统 |
CN111815454B (zh) * | 2020-08-21 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 数据上链方法及装置、电子设备、存储介质 |
CN112152778B (zh) * | 2020-09-22 | 2022-03-15 | 腾讯科技(深圳)有限公司 | 一种节点管理方法、装置、及电子设备 |
CN112364371B (zh) * | 2020-10-16 | 2024-04-16 | 杭州甘道智能科技有限公司 | 基于区块链的疫苗转移监控的装置及方法 |
CN112733174B (zh) * | 2020-10-29 | 2022-07-19 | 腾讯科技(深圳)有限公司 | 区块链系统的认证管理方法、系统及电子设备 |
CN112104517B (zh) * | 2020-11-23 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据处理方法及相关装置 |
CN112231741B (zh) * | 2020-12-14 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 基于区块链系统的数据处理方法、装置、介质及电子设备 |
CN112685505B (zh) * | 2021-01-07 | 2022-06-24 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、计算机设备及存储介质 |
CN113177234A (zh) * | 2021-04-29 | 2021-07-27 | 中国工商银行股份有限公司 | 一种灰度开关切换方法及装置 |
CN113283987A (zh) * | 2021-05-17 | 2021-08-20 | 网易(杭州)网络有限公司 | 业务处理方法、装置、区块链网关、区块链节点及存储介质 |
CN113420086A (zh) * | 2021-06-21 | 2021-09-21 | 北京众享比特科技有限公司 | 用于区块链的方法和相关产品 |
CN113569279B (zh) * | 2021-07-06 | 2024-03-26 | 招商银行股份有限公司 | 数据处理方法、装置、设备、介质及计算机程序产品 |
CN113421097B (zh) * | 2021-08-23 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN114155091A (zh) * | 2021-12-07 | 2022-03-08 | 工银科技有限公司 | 基于区块链的融资方法、装置及系统 |
CN114866595B (zh) * | 2022-04-02 | 2024-02-27 | 深圳力维智联技术有限公司 | 连接方法、端站数据采集器、管理平台 |
CN115065542A (zh) * | 2022-06-23 | 2022-09-16 | 中国工商银行股份有限公司 | 权限验证方法、装置、处理器及电子设备 |
CN116866009B (zh) * | 2023-06-15 | 2024-03-26 | 蚂蚁区块链科技(上海)有限公司 | 基于认证网络的跨链身份验证方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107396360A (zh) * | 2017-08-15 | 2017-11-24 | 中国联合网络通信集团有限公司 | 区块验证方法及装置 |
CN108599954A (zh) * | 2018-03-16 | 2018-09-28 | 西安电子科技大学 | 基于分布式账本的身份验证方法 |
CN108777684A (zh) * | 2018-05-30 | 2018-11-09 | 招商银行股份有限公司 | 身份认证方法、系统及计算机可读存储介质 |
CN109067801A (zh) * | 2018-09-29 | 2018-12-21 | 平安科技(深圳)有限公司 | 一种身份认证方法、身份认证装置及计算机可读介质 |
CN109635585A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市智税链科技有限公司 | 在区块链网络中查询交易信息的方法、代理节点和介质 |
CN109687963A (zh) * | 2019-01-15 | 2019-04-26 | 如般量子科技有限公司 | 基于公钥池的抗量子计算联盟链交易方法和系统 |
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051609B (zh) * | 2012-12-07 | 2015-11-18 | 东软集团股份有限公司 | 网关设备及由其执行的网络访问控制的可视化交互方法 |
US20170346639A1 (en) * | 2016-05-24 | 2017-11-30 | Business Information Exchange System Corp. | Public Key Infrastructure based on the Public Certificates Ledger |
CN107276762B (zh) * | 2017-05-08 | 2019-08-30 | 飞天诚信科技股份有限公司 | 一种多协议区块链的工作方法及装置 |
CN107257340B (zh) * | 2017-06-19 | 2019-10-01 | 阿里巴巴集团控股有限公司 | 一种认证方法、基于区块链的认证数据处理方法及设备 |
CN108347486A (zh) * | 2018-02-12 | 2018-07-31 | 众安信息技术服务有限公司 | 基于区块链的跨链通信方法、装置以及系统 |
CN108769171B (zh) * | 2018-05-18 | 2021-09-17 | 百度在线网络技术(北京)有限公司 | 分布式存储的副本保持验证方法、装置、设备及存储介质 |
CN109101241A (zh) * | 2018-07-06 | 2018-12-28 | 深圳付贝科技有限公司 | 一种区块链安装包生成方法及其装置、电子设备 |
CN109308410A (zh) * | 2018-10-16 | 2019-02-05 | 翟红鹰 | 获取区块链数据的方法、系统及计算机可读存储介质 |
CN109359994B (zh) * | 2018-10-31 | 2020-12-22 | 巴马平方米区块链有限公司 | 基于区块链的业务处理方法、装置及系统 |
CN110851496B (zh) * | 2018-12-07 | 2023-03-14 | 深圳市智税链科技有限公司 | 在区块链网络中查询交易信息的方法、装置、记账节点和介质 |
CN110083462A (zh) * | 2019-04-17 | 2019-08-02 | 江苏全链通信息科技有限公司 | 基于分布式应用程序的通信方法、设备及存储介质 |
-
2019
- 2019-09-12 CN CN201910866469.6A patent/CN110535872B/zh active Active
- 2019-09-12 CN CN201911240359.5A patent/CN111010382B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107396360A (zh) * | 2017-08-15 | 2017-11-24 | 中国联合网络通信集团有限公司 | 区块验证方法及装置 |
CN108599954A (zh) * | 2018-03-16 | 2018-09-28 | 西安电子科技大学 | 基于分布式账本的身份验证方法 |
CN108777684A (zh) * | 2018-05-30 | 2018-11-09 | 招商银行股份有限公司 | 身份认证方法、系统及计算机可读存储介质 |
CN109067801A (zh) * | 2018-09-29 | 2018-12-21 | 平安科技(深圳)有限公司 | 一种身份认证方法、身份认证装置及计算机可读介质 |
CN109635585A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市智税链科技有限公司 | 在区块链网络中查询交易信息的方法、代理节点和介质 |
CN109687963A (zh) * | 2019-01-15 | 2019-04-26 | 如般量子科技有限公司 | 基于公钥池的抗量子计算联盟链交易方法和系统 |
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110535872A (zh) | 2019-12-03 |
CN111010382B (zh) | 2021-06-01 |
CN111010382A (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535872B (zh) | 在区块链网络中处理数据请求的方法和装置 | |
CN110602096B (zh) | 区块链网络中的数据处理方法、装置、存储介质和设备 | |
US11461773B2 (en) | Blockchain-based node management methods and apparatuses | |
CN113141259B (zh) | 在区块链网络中更换身份证书的方法和装置 | |
CN112311735B (zh) | 可信认证方法,网络设备、系统及存储介质 | |
CN112686668B (zh) | 联盟链跨链系统及方法 | |
Zhong et al. | Distributed blockchain‐based authentication and authorization protocol for smart grid | |
CN112527912B (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN113328997B (zh) | 联盟链跨链系统及方法 | |
CN113055176B (zh) | 终端认证方法和系统、终端设备、p2p验证平台和介质 | |
CN111314172A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN111880919A (zh) | 数据调度方法、系统和计算机设备 | |
CN113196703A (zh) | 保护计算机网络免受中间人攻击的系统和方法 | |
CN115879080A (zh) | 证书认证方法及装置 | |
WO2023082883A1 (zh) | 跨区块链处理事务的方法、装置、计算机设备、计算机存储介质及计算机程序产品 | |
CN115001707B (zh) | 基于区块链的设备认证方法和相关设备 | |
KR20200063034A (ko) | 블록체인 기반 IoT 인증 시스템 | |
KR102343461B1 (ko) | 스마트 컨트랙트의 외부 IoT 데이터 공급 방법 및 이를 위한 오라클 시스템 | |
CN114710362B (zh) | 基于区块链的身份认证方法、装置及电子设备 | |
CN116366254A (zh) | 跨链信息生成方法、跨链信息验证方法及跨链信息验证系统 | |
CN114679330A (zh) | 一种基于区块链的万物互联数据访问控制方法 | |
CN117743455A (zh) | 基于区块链的数据处理方法、装置、设备、介质及产品 | |
CN117081764A (zh) | 通信方法、装置、相关设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40016891 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |