CN111786952A - 区块链系统的共识方法、装置、设备及介质 - Google Patents
区块链系统的共识方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111786952A CN111786952A CN202010478177.8A CN202010478177A CN111786952A CN 111786952 A CN111786952 A CN 111786952A CN 202010478177 A CN202010478177 A CN 202010478177A CN 111786952 A CN111786952 A CN 111786952A
- Authority
- CN
- China
- Prior art keywords
- cluster
- consensus
- target
- node
- information
- 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
-
- 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
- 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
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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)
- Supplying Of Containers To The Packaging Station (AREA)
- Adornments (AREA)
- Meat, Egg Or Seafood Products (AREA)
Abstract
本发明公开了一种区块链系统的共识方法、装置、设备及介质。其中,一种区块链系统的共识方法包括:接收目标对等节点发送的共识集群路由请求;解析共识集群路由请求,得到路由请求信息;其中,路由请求信息包括目标对等节点的节点位置;根据节点位置,在至少一个可用共识集群中,确定目标共识集群;其中,可用共识集群为区块链系统中处于正常工作状态的共识集群;向目标对等节点发送目标共识集群的目标集群地址。根据本发明实施例,能够解决已有的共识机制已经不足以满足区块链系统对高吞吐量的需求的问题。
Description
技术领域
本发明属于区块链技术领域,尤其涉及一种区块链系统的共识方法、装置、设备及介质。
背景技术
共识机制是区块链系统中的各个节点就区块信息达成全网一致共识的机制,可以保证最新区块被准确添加至区块链以及各个节点所存储的区块链信息一致不分叉,甚至还可以抵御恶意攻击。
随着区块链系统中节点数量的不断增加,已有的共识机制已经不足以满足区块链系统对高吞吐量的需求。
发明内容
本发明实施例提供一种区块链系统的共识方法、装置、设备及介质,能够解决已有的共识机制已经不足以满足区块链系统对高吞吐量的需求的问题。
第一方面,本发明实施例提供了一种区块链系统的共识方法,包括:
接收目标对等节点发送的共识集群路由请求;
解析共识集群路由请求,得到路由请求信息;其中,路由请求信息包括目标对等节点的节点位置;
根据节点位置,在至少一个可用共识集群中,确定目标共识集群;其中,可用共识集群为区块链系统中处于正常工作状态的共识集群;
向目标对等节点发送目标共识集群的目标集群地址。
第二方面,本发明实施例提供了一种区块链系统的共识方法,包括:
接收目标对等节点发送的交易请求;其中,目标对等节点基于目标集群地址发送交易请求,目标集群地址根据目标对等节点的节点位置在至少一个可用共识集群中确定,可用共识集群为区块链系统中处于正常工作状态的共识集群;
解析交易请求,得到交易请求信息;其中,交易请求信息包括交易信息;
针对交易信息发起共识;
在共识成功的情况下,执行交易信息对应的交易。
第三方面,本发明实施例提供了一种区块链系统的共识方法,包括:
接收目标共识集群发送的地址查询请求;其中,地址查询请求根据目标共识集群所接收的交易请求所携带的目标通道信息生成;
解析地址查询请求,得到地址查询请求信息;其中,地址查询请求信息包括目标通道信息;
在分布式数据库中,查询目标通道信息对应的集群地址;
在地址查询请求信息还包括节点地址的情况下,向节点地址对应的对等节点发送目标通道信息对应的集群地址。
第四方面,本发明实施例提供了一种区块链系统的共识方法,包括:
向集群调度节点发送共识集群路由请求,使集群调度节点响应于共识集群路由请求,根据共识集群路由请求的路由请求信息中包括的节点位置,在至少一个可用共识集群中确定目标共识集群,并反馈目标共识集群对应的目标集群地址;其中,可用共识集群为区块链系统中处于正常工作状态的共识集群;
接收集群调度节点反馈的目标集群地址;
基于目标集群地址,向目标共识集群发送交易请求。
第五方面,本发明实施例提供了一种区块链系统的共识装置,包括:
第一接收模块,用于接收目标对等节点发送的共识集群路由请求;
第一解析模块,用于解析共识集群路由请求,得到路由请求信息;其中,路由请求信息包括目标对等节点的节点位置;
第一确定模块,用于根据节点位置,在至少一个可用共识集群中,确定目标共识集群;其中,可用共识集群为区块链系统中处于正常工作状态的共识集群;
第一发送模块,用于向目标对等节点发送目标共识集群的目标集群地址。
第六方面,本发明实施例提供了一种区块链系统的共识装置,包括:
第二接收模块,用于接收目标对等节点发送的交易请求;其中,目标对等节点基于目标集群地址发送交易请求,目标集群地址根据目标对等节点的节点位置在至少一个可用共识集群中确定,可用共识集群为区块链系统中处于正常工作状态的共识集群;
第二解析模块,用于解析交易请求,得到交易请求信息;其中,交易请求信息包括交易信息;
信息共识模块,用于针对交易信息发起共识;
交易执行模块,用于在共识成功的情况下,执行交易信息对应的交易。
第七方面,本发明实施例提供了一种区块链系统的共识装置,包括:
第三接收模块,用于接收目标共识集群发送的地址查询请求;其中,地址查询请求根据目标共识集群所接收的交易请求所携带的目标通道信息生成;
第三解析模块,用于解析地址查询请求,得到地址查询请求信息;其中,地址查询请求信息包括目标通道信息;
地址查询模块,用于在分布式数据库中,查询目标通道信息对应的集群地址;
第二发送模块,用于在地址查询请求信息还包括节点地址的情况下,向节点地址对应的对等节点发送目标通道信息对应的集群地址。
第八方面,本发明实施例提供了一种区块链系统的共识装置,包括:
第三发送模块,用于向集群调度节点发送共识集群路由请求,使集群调度节点响应于共识集群路由请求,根据共识集群路由请求的路由请求信息中包括的节点位置,在至少一个可用共识集群中确定目标共识集群,并反馈目标共识集群对应的目标集群地址;其中,可用共识集群为区块链系统中处于正常工作状态的共识集群;
第四接收模块,用于接收集群调度节点反馈的目标集群地址;
第四发送模块,用于基于目标集群地址,向目标共识集群发送交易请求。
第九方面,本发明实施例提供了一种区块链系统的共识设备,该设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如第一方面、第二方面、第三方面或第四方面所述的区块链系统的共识方法。
第十方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面、第二方面、第三方面或第四方面所述的区块链系统的共识方法。
本发明实施例的区块链系统的共识方法、装置、设备及介质,能够基于目标对等节点发送的共识集群路由请求所携带的目标对等节点的节点位置,为在区块链系统的至少一个处于正常工作状态的可用共识集群中,为目标对等节点分配目标共识集群,并且向目标对应节点发送目标共识集群的目标集群地址,以通过节点位置实现对等节点的分流,使不同的对等节点可以基于其节点位置匹配不同的共识集群,从而可以利用多个共识集群并行对大量的对等节点进行共识,提高了区块链系统的吞吐量,进而能够满足区块链系统对高吞吐量的需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的一种区块链系统的结构示意图;
图2是图1中的区块链系统的系统架构图;
图3是本发明一个实施例提供的区块链系统的系统架构图;
图4是图3所示系统架构下的一种区块链系统的结构示意图;
图5是本发明一个实施例提供的区块链系统的共识方法的流程示意图;
图6是本发明另一个实施例提供的区块链系统的共识方法的流程示意图;
图7是本发明又一个实施例提供的区块链系统的共识方法的流程示意图;
图8是本发明再一个实施例提供的区块链系统的共识方法的流程示意图;
图9是本发明一个实施例提供的区块链系统的共识装置的结构示意图;
图10是本发明另一个实施例提供的区块链系统的共识装置的结构示意图;
图11是本发明又一个实施例提供的区块链系统的共识装置的结构示意图;
图12是本发明再一个实施例提供的区块链系统的共识装置的结构示意图;
图13是本发明一个实施例提供的区块链系统的共识设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
共识机制是区块链系统中的各个节点就区块信息达成全网一致共识的机制,可以保证最新区块被准确添加至区块链以及各个节点所存储的区块链信息一致不分叉,甚至还可以抵御恶意攻击。
图1示出了现有技术中的一种区块链系统的结构示意图。
如图1所示,该区块链系统包括共识集群OC、对等集群PC-1、对等集群PC-2和用户集群CC。其中,共识集群OC包括至少一个共识节点。对等集群PC1和对等集群PC2分别包括至少一个对等节点,对等节点可以根据节点位置被划分至不同的对等集群。区块链账本BC-1,BC-2,BC-3,BC-4,BC-5,BC-6分别为共识集群OC与不同对等节点所形成的不同通道(例如子区块链)对应的区块链账本。用户集群CC包括至少一个用户节点。
图2示出了图1中的区块链系统的系统架构图。
如图2所示,该区块链系统为超级账本(Hyperledger Fabric)架构,HyperledgerFabric架构包括证书颁发机构(Certificate Authority,CA)层201、共识层202和对等层203。其中,CA层201包括CA管理节点,负责所有层级节点的证书分发、吊销以及其他与区块链交易相关的权限控制操作。共识层202包括图1所示的共识集群OC,对等层203包括图1所示的对等集群PC1和对等集群PC2。
在图1和图2所示的区块链系统中,每个用户节点可以与对应的对等集群中的对等节点通信,向对等节点发送服务请求或者接收对等节点反馈的请求结果。每个对等节点也可以与共识集群OC通信,基于所接收到的服务请求向共识集群OC发送交易请求或者接收共识集群OC反馈的请求结果。
但是,随着区块链系统中节点数量的不断增加,尤其是对等节点数量的不断增加,已有的共识机制已经不足以满足区块链系统对高吞吐量的需求。
已有的提高区块链系统的吞吐量的方法一般为在不改变区块链系统的系统架构的情况下,对共识集群的共识算法进行改进,来提高区块链系统的吞吐量。
但是,申请人发现,随着接入的用户节点的增多,用户侧每秒能被处理的交易量会迅速下降,仅依靠对共识算法的改进来满足区块链系统对高吞吐量的需求的难度较大,致使区块链系统的吞吐量依然较低。
为了解决上述的问题,本发明实施例一种新的应用于区块链系统的系统架构以及该系统架构对应的区块链系统。
图3示出了本发明一个实施例提供的区块链系统的系统架构图。
如图3所示,该系统架构图包括CA层301、通道协同层302、共识集群层303、集群调度层304和对等层305。其中,CA层301包括CA管理节点,负责所有层级节点的证书分发、吊销以及其他与区块链交易相关的权限控制操作。共识集群层303可以包括一个或一个以上共识集群,用于基于交易请求进行共识,实现对区块链交易的统一排序。通道协同层302包括通道协同节点,用于对跨共识集群的交易请求进行通道协同路由,以提升系统跨区域服务能力。对等层305包括至少一个对等集群,用于向共识集群层发起交易请求。集群调度层304包括集群调度节点,用于为对等集群中的每个对等节点分配共识集群,以实现对共识集群的动态分配。
在本发明一些实施例中,该系统架构可以为Hyperledger Fabric架构。在本发明另一些实施例中,该系统架构还可以为其他与Hyperledger Fabric架构相似的架构。
图4示出了图3所示系统架构下的一种区块链系统的结构示意图。
如图4所示,该区块链系统包括通道协同层、共识集群OC-1、共识集群OC-2、共识集群OC-3、对等集群PC-1、集群调度层、对等集群PC-2和用户集群CC。其中,通道协同层包括分别位于每个共识集群内的通道协同节点。共识集群OC-1、共识集群OC-2和共识集群OC-3分别包括至少一个共识节点,不同的共识集群对应不同的位置区域。对等集群PC1和对等集群PC2分别包括至少一个对等节点,对等节点可以根据节点位置被划分至不同的对等集群。集群调度层包括至少一个集群调度节点。区块链账本BC-1,BC-2,BC-3,BC-4分别为不同共识集群为不同对等节点所建立的不同通道(例如子区块链)对应的区块链账本。用户集群CC包括至少一个用户节点。
在图3和图4所示的区块链系统中,每个用户节点可以与对应的对等集群中的对等节点通信,向对等节点发送服务请求或者接收对等节点反馈的请求结果。每个对等节点也可以与集群调度节点通信,基于所接收到的服务请求向集群调度节点发送共识集群路由请求,使集群调度节点基于共识集群路由请求所携带的对等节点的节点位置为该对等节点分配共识集群。每个对等节点也可以与集群调度节点为其分配的共识集群通信,基于所接收到的服务请求向共识集群发送交易请求或者接收共识集群反馈的请求结果。在共识集群接收到跨共识集群的交易请求的情况下,还可以通过通道协同节点为该交易请求进行通道协同路由,查找该交易请求对应的通道所属的共识集群,以使发送该交易请求的对等节点能够重新向交易请求交易请求对应的通道所属的共识集群发送该交易请求。
由此,本发明实施例提供的区块链系统,能够通过节点位置实现对等节点的分流,使不同的对等节点可以基于其节点位置匹配不同的共识集群,从而可以利用多个共识集群并行对大量的对等节点进行共识,提高了区块链系统的吞吐量,进而能够满足区块链系统对高吞吐量的需求,并且能够适应高效、安全的业务需求。
需要说明的是,在图4所示的区块链系统中,通道协同节点分别内嵌于对应的共识集群中。在另一些实施例中,通道协同节点也可以与对应的共识集群分离设置,在此不做限制。
基于本发明实施例提供的区块链系统,本发明实施例提供了一种区块链系统的共识方法、装置、设备及介质。下面首先对本发明实施例所提供的区块链系统的共识方法进行介绍。
图5示出了本发明一个实施例提供的区块链系统的共识方法的流程示意图。
在本发明一些实施例中,图5所示的方法可以由图4所示的集群调度节点执行。其中,集群调度节点可以为服务器或者服务器集群。
如图5所示,该区块链系统的共识方法可以包括:
S510、接收目标对等节点发送的共识集群路由请求。
在本发明一些实施例中,目标对等节点可以为区块链系统中的任意对等节点。例如,目标对等节点可以为图4所示的区块链系统中的任一个对等节点。
在本发明一些实施例中,集群调度节点所接收的共识集群路由请求的路由请求类型可以包括第一路由类型和第二路由类型。其中,第一路由类型可以用于表征该路由请求为对等节点在首次建立通道时所发送的共识集群路由请求,第二路由类型可以用于表征该路由请求为对等节点在加入已有通道时所发送的共识集群路由请求。
在本发明一些实施例中,一个通道可以为一个子区块链。
S520、解析共识集群路由请求,得到路由请求信息;其中,路由请求信息包括目标对等节点的节点位置。
在本发明一些实施例中,集群调度节点可以对所接收的共识集群路由请求进行请求解析处理,得到共识集群路由请求中所包含的路由请求信息。
在一些实施例中,路由请求信息可以包括目标对等节点的节点位置,其中,节点位置包括目标对等节点的地理位置。在另一些实施例中,路由请求信息还可以包括路由请求类型。在又一些实施例中,路由请求信息也可以包括节点验证信息,其中,节点验证信息包括用于验证目标对等节点的证书合法性的信息。在再一些实施例中,路由请求信息还可以包括目标对等节点的节点地址,其中,节点地址包括目标对等节点的节点互联网协议(Internet Protocol,IP)地址。
需要说明的是,路由请求信息中还可以包括其他用于辅助集群调度节点为目标对等节点分配目标共识集群的信息,在此不做限制。
S530、根据节点位置,在至少一个可用共识集群中,确定目标共识集群;其中,可用共识集群为区块链系统中处于正常工作状态的共识集群。
在本发明一些实施例中,集群调度节点可以基于最短时间原则,根据节点位置和每个可用共识集群的集群位置,为目标对等节点分配目标共识集群。
具体地,集群调度节点可以持续监听共识集群层中的各个共识集群的心跳,并计算各个共识集群的响应时间,在接收到共识集群路由请求之后,可以基于共识集群路由请求所携带的目标对等节点的节点位置,在多个共识集群中选取位于该节点位置对应的预设距离范围内的共识集群,并在所选取的共识集群中选取响应时间最短的共识集群,作为目标共识集群,以基于最短时间原则为目标对等节点分配目标共识集群。
其中,预设距离范围可以根据需要设置,在此不做限制。
由此,在本发明实施例中,集群调度节点可以为目标对等节点分配响应时间最短的目标共识集群,进而提高交易处理的效率,提高用户的使用体验。
在本发明另一些实施例中,集群调度节点还可以基于最短距离原则,根据节点位置和每个可用共识集群的集群位置,为目标对等节点分配目标共识集群。
其中,集群位置可以包括共识集群的地理位置。
具体地,集群调度节点在接收到共识集群路由请求之后,可以基于共识集群路由请求所携带的目标对等节点的节点位置,在多个共识集群中选取集群位置与该节点位置的距离最近的共识集群,作为目标共识集群,以基于最短距离原则为目标对等节点分配目标共识集群。
由此,在本发明实施例中,集群调度节点可以为目标对等节点分配距离最近的目标共识集群,进而提高交易处理的效率,提高用户的使用体验。
在本发明一些实施例中,每个共识集群可以包括至少一个共识节点,共识节点可以为服务器或者服务器集群。
在本发明一些实施例中,正常工作状态为正常运行的工作状态。
S540、向目标对等节点发送目标共识集群的目标集群地址。
在本发明一些实施例中,集群调度节点在确定了目标共识集群之后,可以查询该目标共识集群的目标集群地址,并且向目标对等节点发送目标共识集群的目标集群地址。
在本发明一些实施例中,路由请求信息可以包括目标对等节点的节点地址,集群调度节点可以通过节点地址向目标对等节点发送目标共识集群的目标集群地址。
在本发明实施例中,能够基于目标对等节点发送的共识集群路由请求所携带的目标对等节点的节点位置,为在区块链系统的至少一个处于正常工作状态的可用共识集群中,为目标对等节点分配目标共识集群,并且向目标对应节点发送目标共识集群的目标集群地址,以通过节点位置实现对等节点的分流,使不同的对等节点可以基于其节点位置匹配不同的共识集群,从而可以利用多个共识集群并行对大量的对等节点进行共识,提高了区块链系统的吞吐量,进而能够满足区块链系统对高吞吐量的需求。
下面将详细介绍S530的具体实现方式。
在本发明一些实施例中,为了提高区块链系统的安全性,路由请求信息中还可以包括节点验证信息;
在集群调度节点执行S530之前,还可以对节点验证信息进行验证。
相应地,S530的具体方法可以包括:
在节点验证信息通过验证的情况下,根据节点位置,在至少一个可用共识集群中,确定目标共识集群。
在一些实施例中,节点验证信息可以由目标对等节点根据证书颁发机构节点为其分发的证书生成。例如,证书颁发机构节点可以为图3所示的CA层301中的节点。节点验证信息可以用于验证目标对等节点的证书合法性,以使集群调度节点确定目标对等节点是否为区块链系统的合法节点。
在这些实施例中,若节点验证信息通过验证,则说明目标对等节点是区块链系统的合法节点,集群调度节点可以根据节点位置,在至少一个可用共识集群中,确定目标共识集群;若节点验证信息未通过验证,则说明目标对等节点不是区块链系统的合法节点,集群调度节点停止响应共识集群路由请求,不为目标对等节点分配任何的共识集群。
由此,在本发明实施例中,集群调度节点可以首先验证目标对等节点的节点验证信息的合法性,并且在节点验证信息通过验证的情况下,为目标对等节点分配目标共识集群,进而提高区块链系统的安全性。
在本发明一些实施例中,为了提高区块链系统的可靠性,在S530之前,该区块链系统的共识方法还可以包括:
接收共识集群发送的集群注册请求;
解析集群注册请求,得到集群注册请求信息;其中,所述集群注册请求信息包括集群验证信息;
在集群验证信息通过验证的情况下,监听共识集群;
在监听到共识集群处于正常工作状态的情况下,将共识集群作为可用共识集群。
具体地,每个共识集群在初次启动时,均会向集群调度节点发送集群注册请求,以在集群注册请求中进行注册。集群调度节点在接收到共识集群发送的集群注册请求之后,可以解析集群注册请求,得到集群验证信息,然后基于集群验证信息验证该共识集群的合法性,并且在集群验证信息通过验证的情况下,该共识集群注册成功,集群调度节点可以持续监听该共识集群。如果监听到共识集群处于正常工作状态,则将该共识集群作为可用共识集群,加入共识集群动态网络地图;如果监听到共识集群未处于正常工作状态,则将该共识集群作为不可用共识集群,并且将该共识集群从共识集群动态网络地图中移除。
其中,集群验证信息包括用于验证共识集群的证书合法性的信息。集群验证信息可以由共识集群根据证书颁发机构节点为其分发的证书生成。例如,证书颁发机构节点可以为图3所示的CA层301中的节点。集群验证信息可以用于验证共识集群的证书合法性,以使集群调度节点确定共识集群是否为区块链系统的合法集群。
在本发明一些实施例中,共识集群在注册成功之后,可以向集群调度节点发送共识集群的心跳,集群调度节点可以基于共识集群的心跳,对共识集群进行监听,以确定共识集群是否处于正常工作状态。
在这些实施例中,可选地,S530的具体方法可以包括:
根据节点位置,在共识集群动态网络地图中的至少一个可用共识集群中,确定目标共识集群。
由于共识集群动态网络地图中的可用共识集群是基于各个共识集群的工作状态动态变化的,因此,集群调度节点可以为目标对等节点动态地分配处于正常工作状态的目标共识集群,以提高区块链系统的可靠性。
在本发明另一些实施例中,集群注册请求信息还可以包括集群配置信息。其中,集群配置信息可以包括共识集群的集群标识(Identity document,ID)、集群IP地址和集群位置等于共识集群的配置相关的信息。
在这些实施例中,可选地,在S540之前,该区块链系统的共识方法还可以包括:
查询目标共识集群对应的目标集群配置信息;
在目标集群配置信息中,提取目标集群地址。
具体地,集群调度节点可以在各个已经注册的共识集群的集群配置信息中,基于目标共识集群的目标集群ID,查询目标共识集群对应的目标集群配置信息,并且在目标集群配置信息中,提取目标集群地址,以向目标对等节点发送为其分配的目标共识集群的目标集群地址。
在本发明一些实施例中,为了提高区块链系统的交易处理效率,在将响应时间最短的可用共识集群作为目标共识集群之前,该区块链系统的共识方法还可以包括:
判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件。
其中,集群性能参数可以包括共识集群的吞吐量和交易平均延时等参数。交易平均延时可以从与该共识集群通信的对等节点获取,对等节点在向该共识集群发送交易请求后,可以每隔一定时间向集群调度节点发送与其通信的共识集群通信的交易平均延时。
在这些实施例中,可选地,将响应时间最短的可用共识集群作为目标共识集群的具体方法可以包括:
在集群性能参数不满足第一预设条件的情况下,将响应时间最短的可用共识集群作为目标共识集。
具体地,集群调度节点可以在确定了对目标对等节点的响应时间最短的可用共识集群之后,判断该可用共识集群的集群性能参数是否满足第一预设条件,确定该可用共识集群是否达到了饱和状态。如果确定集群性能参数不满足第一预设条件,即该可用共识集群未达到饱和状态,则可以将响应时间最短的可用共识集群作为目标共识集群。
在另一些实施例中,在判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件之后,该区块链系统的共识方法还可以包括:
在集群性能参数满足第一预设条件的情况下,将响应时间次最短的可用共识集群作为目标共识集群。
具体地,集群调度节点还可以在判断该可用共识集群的集群性能参数是否满足第一预设条件之后,如果确定集群性能参数满足第一预设条件,即该可用共识集群达到饱和状态,则可以将响应时间次最短的可用共识集群作为目标共识集群。
由此,在本发明实施例中,可以进一步基于可用共识集群的饱和情况和响应时间进行综合判断,以为目标对等节点动态地分配处于正常工作状态的目标共识集群,进一步提高区块链系统的可靠性。
在本发明一些实施例中,还可以对响应时间次最短的可用共识集群进行饱和情况的判断,并且确定是否将响应时间次最短的可用共识集群作为目标共识集群。
需要说明的是,对响应时间次最短的可用共识集群进行饱和情况的判断的方法与对响应时间最短的可用共识集群进行饱和情况的判断的方法相似,确定是否将响应时间次最短的可用共识集群作为目标共识集群的方法与确定是否将响应时间最短的可用共识集群作为目标共识集群的方法相似,在此不做赘述。
在本发明一些实施例中,为了进一步提高区块链系统的交易处理效率,路由请求信息还可以包括路由请求类型;
在这些实施例中,判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件的具体方法还可以包括:
在路由请求类型为第一路由类型的情况下,判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件。
具体地,在判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件之前,还可以判断共识集群路由请求的路由请求类型。如果路由请求类型为第一路由类型,即路由请求类型为对等节点在首次建立通道时所发送的共识集群路由请求,则判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件,并且不再考虑已经为饱和状态的共识集群。如果路由请求类型为第二路由类型,即路由请求类型为对等节点在加入已有通道时所发送的共识集群路由请求,则无需判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件,仍可考虑已经为饱和状态的共识集群。
在本发明一些实施例中,第一预设条件可以包括下列中的至少一项:
集群性能参数中的吞吐量大于或等于预设吞吐量阈值;
吞吐量大于或等于预设吞吐量阈值的第一时长大于或等于第一预设时长;
集群性能参数中的交易平均延时大于或等于预设延时阈值;
交易平均延时大于或等于预设延时阈值的第二时长大于或等于第二预设时长。
具体地,预设吞吐量阈值可以对应基准技术指标临界水平,例如,预设吞吐量阈值可以为90%,也可以为根据需要设置的其他阈值。交易平均延时也可以对应基准技术指标临界水平,例如,预设延时阈值可以为10%,也可以为根据需要设置的其他阈值。第一预设时长和第二预设时长可以分别为根据需要设置的时长,在此不做限制。
在一些实施例中,交易平均延时大于或等于预设延时阈值可以为共识集群中的全部共识节点的交易平均延时大于或等于预设延时阈值。在另一些实施例中,交易平均延时大于或等于预设延时阈值可以为共识集群中的预定数量的共识节点的交易平均延时大于或等于预设延时阈值。
其中,预定数量可以为共识集群中共识节点总数的10%,也可以为根据需要设置的其他数量。
在本发明一些实施例中,集群调度节点可以直接基于集群性能参数来判断该可用共识集群的集群性能参数是否满足第一预设条件。
在另一些实施例中,为了减少集群调度节点的数据处理量,判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件的具体方法还包括:
检测响应时间最短的可用共识集群是否具有饱和状态标记;
在检测到具有饱和状态标记的情况下,确定响应时间最短的可用共识集群的集群性能参数满足第一预设条件;
在检测到不具有饱和状态标记的情况下,确定响应时间最短的可用共识集群的集群性能参数不满足第一预设条件。
具体地,集群调度节点可以每隔一定时间判断每个可用共识集群的集群性能参数是否满足第一预设条件,并为集群性能参数满足第一预设条件的可用共识集群添加饱和状态标记。
在集群调度节点获取了响应时间最短的可用共识集群之后,既可以通过饱和状态标记判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件,进而可以减少集群调度节点的数据处理量,提高数据处理效率。
在本发明一些实施例中,一个共识集群可以对应一个位置区域(即地理区域),一个位置区域可以对应至少一个共识集群,集群调度节点可以基于不同位置区域间由于经济发展程度不同而可能导致所关联区块链业务在活跃程度上的差异,实现负载均衡机制,为每个对等节点合理分配共识集群,从而实现将对等节点进行区域划分,以解决单一共识集群的共识算法性能限制而使该位置区域的交易共识处理能力饱和的情况。
图6示出了本发明另一个实施例提供的区块链系统的共识方法的流程示意图。
在本发明一些实施例中,图6所示的方法可以由图4所示的任一个共识集群执行。其中,共识集群可以包括至少一个共识节点,共识节点可以为服务器或者服务器集群。
如图6所示,该区块链系统的共识方法可以包括:
S610、接收目标对等节点发送的交易请求;其中,目标对等节点基于目标集群地址发送交易请求,目标集群地址根据目标对等节点的节点位置在至少一个可用共识集群中确定,可用共识集群为区块链系统中处于正常工作状态的共识集群;
在本发明一些实施例中,目标对等节点可以为区块链系统中的任意对等节点。例如,目标对等节点可以为图4所示的区块链系统中的任一个对等节点。
在本发明一些实施例中,共识集群所接收的交易请求的交易请求类型可以包括第一交易类型、第二交易类型和第三交易类型。其中,第一交易类型可以用于表征交易请求为建立通道的交易请求,第二交易类型可以用于表征交易请求为加入已有通道的交易请求,第三交易类型可以用于表征交易请求为发起已有通道内的交易的交易请求。
S620、解析交易请求,得到交易请求信息;其中,交易请求信息包括交易信息;
在本发明一些实施例中,共识集群可以对所接收的交易请求进行请求解析处理,得到交易请求所包含的交易请求信息。
在一些实施例中,交易请求信息可以包括交易信息,其中,交易信息为用于发起共识的信息。在另一些实施例中,交易请求信息可以包括交易请求类型。在又一些实施例中,交易请求信息也可以包括目标通道信息。在再一些实施例中,交易请求信息还可以包括目标对等节点的节点地址,其中,节点地址包括目标对等节点的节点IP地址。在再一些实施例中,交易请求信息还可以包括节点验证信息,其中,节点验证信息包括用于验证目标对等节点的证书合法性的信息。
需要说明的是,交易请求信息中还可以包括其他用于辅助共识集群为目标对等节点进行交易共识的信息,在此不做限制。
S630、针对交易信息发起共识;
在本发明一些实施例中,共识集群可以基于单一的zookeeper共识算法针对交易信息发起共识。在本发明另一些实施例中,共识集群也可以基于支持的raft共识算法针对交易信息发起共识。在本发明其他实施例中,共识集群也可以基于其他共识算法针对交易信息发起共识,在此不做限制。
S640、在共识成功的情况下,执行交易信息对应的交易。
在本发明实施例中,共识集群能够接收基于节点位置分配的目标对等节点发送的交易请求,以通过节点位置实现对等节点的分流,使不同的对等节点可以基于其节点位置匹配不同的共识集群,从而可以利用多个共识集群并行对大量的对等节点进行共识,提高了区块链系统的吞吐量,进而能够满足大量节点接入时区块链系统对高吞吐量的需求。同时,即使参与节点增多,区块链系统的扩展性能也可以继续保持。
下面将详细介绍S630的具体实现方式。
在本发明一些实施例中,为了提高共识集群的数据处理效率,交易请求信息还可以包括交易请求类型。
在这些实施例中,可选地,针对交易信息发起共识的具体方法可以包括:
在交易请求类型为第一交易类型的情况下,针对交易信息发起共识。
具体地,在针对交易信息发起共识之前,可以首先判断交易请求的交易请求类型,如果交易请求类型为第一交易类型,即交易请求可以为表征建立通道的交易请求,则可以直接针对交易信息发起共识,进而提高共识集群的数据处理效率。
在本发明另一些实施例中,为了提高共识集群的可靠性,交易请求信息还可以包括目标通道信息。
在这些实施例中,可选地,解析交易请求得到交易请求信息之后,该区块链系统的共识方法还可以包括:
在交易请求类型不是第一交易类型的情况下,获取目标通道信息;
在目标通道列表中查询目标通道信息;其中,目标通道列表为本地存储的通道列表,目标通道列表中可以包括多个第一通道信息,每个第一通道信息可以根据一个本地建立的通道的属性信息生成。
在这些实施例中,可选地,针对所述交易信息发起共识的具体方法可以包括:
在查询到目标通道信息的情况下,针对交易信息发起共识。
具体地,在针对交易信息发起共识之前,在解析交易请求得到交易请求信息之后,可以首先判断交易请求的交易请求类型,如果交易请求类型不是第一交易类型,而是第二交易类型或第三交易类型,即交易请求为加入已有通道的交易请求或发起已有通道内的交易的交易请求,则需要进一步在本地存储的目标通道列表中的多个根据本地建立的通道的属性信息生成的第一通道信息中查询目标通道信息,如果在目标通道列表中的多个第一通道信息中查询到目标通道信息,则可以针对交易信息发起共识,进而可以避免共识集群处理其他共识集群对应的交易请求,提高共识集群的可靠性。
在这些实施例中,本地存储的通道列表指的是目标集群地址对应的共识集群中所存储的通道列表,本地建立的通道指的是目标集群地址对应的共识集群所建立的通道。当目标对等节点想要加入一个已有通道或者发起已有通道内的交易时,仅能通过建立该已有通道的共识集群发起共识,因此,交易请求类型不是第一交易类型,而是第二交易类型或第三交易类型,则需要通过交易请求信息中的目标通道信息确定目标对等节点所针对的已有通道是否为该共识集群所建立的通道,由于目标通道信息中仅会存储该共识集群所建立的通道对应的通道信息,如果在目标通道列表中查询目标通道信息,则说明目标对等节点所针对的已有通道为该共识集群所建立的通道,则可以针对交易信息发起共识。
在另一些实施例中,在目标通道列表中查询目标通道信息之后,该区块链系统的共识方法还可以包括:
在未查询到目标通道信息的情况下,根据目标通道信息,生成地址查询请求;
向通道协同节点发送地址查询请求;其中,地址查询请求用于使通道协同节点查询目标通道信息对应的集群地址。
具体地,共识集群在预设通道列表中查询目标通道信息之后,如果在预设通道列表中未查询到目标通道信息,则可以确定该交易请求为其他共识集群对应的交易请求,则可以生成该目标通道信息对应的地址查询请求,并且向通道协同节点发送地址查询请求,使通道协同节点响应于地址查询请求查询目标通道信息对应的集群地址。
在本发明一些实施例中,在向通道协同节点发送地址查询请求之后,该区块链系统的共识方法还可以包括:
接收通道协同节点反馈的目标通道信息对应的集群地址;
向目标对等节点发送目标通道信息对应的集群地址。
在这些实施例中,通道协同节点可以在查询到目标通道信息对应的集群地址之后,向发送该地址查询请求的共识集群反馈目标通道信息对应的集群地址。共识集群接收到通道协同节点反馈的目标通道信息对应的集群地址之后,可以将目标通道信息对应的集群地址发送给目标对等节点,使目标对等节点基于目标通道信息对应的集群地址向正确的共识集群重新发送交易请求,进而保证区块链系统的可靠性。
在本发明另一些实施例中,地址查询请求还可以携带有目标对等节点的节点地址,通道协同节点可以在查询到目标通道信息对应的集群地址之后,可以直接基于节点地址,向目标对等节点反馈的目标通道信息对应的集群地址,进而减少信息转发次数,提高对目标对等节点的交易请求的响应速度。
需要说明的是,通道协同节点响应于地址查询请求反馈目标通道信息对应的集群地址的具体方法将在下文详细说明,在此不做赘述。
在这些实施例中,由于目标通道信息中仅会存储该共识集群所建立的通道对应的通道信息,如果在目标通道列表中未查询目标通道信息,则说明目标对等节点所针对的已有通道不是该共识集群所建立的通道,则需要通过通道协同节点为其查找建立该已有通道的共识集群的集群地址。
在本发明一些实施例中,目标通道信息为目标哈希值,目标哈希值根据交易请求对应的目标通道的属性信息生成;目标通道列表为目标哈希表,目标哈希表包括多个第一哈希值,每个第一哈希值根据一个本地建立的通道的属性信息生成。
具体地,在共识集群每创建一个通道时,该共识集群可以将所创建的通道的属性信息通过预设哈希算法转换为唯一的哈希值,并作为第一哈希值存储在该共识集群的目标哈希表中。
在共识集群针对交易信息发起共识之前,在解析交易请求得到交易请求信息之后,如果交易请求类型不是第一交易类型,则需要进一步在目标哈希表的多个第一哈希值中查询目标哈希值。如果查询到目标哈希值,则可以针对交易信息发起共识;如果未查询到目标哈希值,则可以确定该交易请求为其他共识集群对应的交易请求。
由此,在本发明实施例中,每个通道对应的通道信息可以对应一个哈希值,可以提高利用通道信息的安全性,进而提高区块链系统的安全性。
在本发明一些实施例中,属性信息包括下列中的至少一项:
通道名称、通道创建者、通道创建时间。
在一些实施例中,属性信息可以包括通道名称、通道创建者和通道创建时间中的任意一个。在另一些实施例中,属性信息还可以包括通道名称、通道创建者和通道创建时间中的任意两个。在又一些实施例中,属性信息也可以包括通道名称、通道创建者和通道创建时间。
在一些实施例中,通道创建者可以通过请求创建通道的对等节点的节点IP地址表示。在另一些实施例中,通道创建者也可以通过请求创建通道的的对等节点的公钥表示,在此不做限制。
在一些实施例中,通道创建时间可以为通道创建的时间戳。
图7示出了本发明又一个实施例提供的区块链系统的共识方法的流程示意图。
在本发明一些实施例中,图7所示的方法可以由图4所示的任一个通道协同节点执行。其中,通道协同节点可以为服务器或者服务器集群。
如图7所示,该区块链系统的共识方法可以包括:
S710、接收目标共识集群发送的地址查询请求;其中,地址查询请求根据目标共识集群所接收的交易请求所携带的目标通道信息生成。
在本发明一些实施例中,目标共识集群可以为区块链系统中的任意共识集群。例如,目标共识集群可以为图4所示的区块链系统中的任一个共识集群。
S720、解析地址查询请求,得到地址查询请求信息;其中,地址查询请求信息包括目标通道信息。
在一些实施例中,地址查询请求信息可以包括目标通道信息。在另一些实施例中,地址查询请求信息还可以包括节点地址,其中,节点地址可以为向目标共识集群发送交易请求的对等节点的节点地址,节点地址可以包括对等节点的节点IP地址。在又一些实施例中,地址查询请求信息还可以包括目标共识集群的集群地址,其中,目标共识集群的集群地址可以包括目标共识集群的集群IP地址。
需要说明的是,地址查询请求信息中还可以包括其他用于辅助通道协同节点为查询集群地址的信息,在此不做限制。
S730、在分布式数据库中,查询目标通道信息对应的集群地址;
在本发明一些实施例中,分布式数据库中可以存储有区块链系统中的至少一个第二通道信息,分布式数据库中的每个子数据库存储于一个共识集群对应的预设通道协同节点中,使得各个预设通道协同节点可以基于分布式数据库的协议在分布式数据库中,查询存储有目标通道信息的目标通道协同节点,并将目标通道协同节点对应的共识集群的集群地址作为目标通道信息对应的集群地址。
其中,一个第二通道信息对应区块链系统中的一个已有通道。预设通道协同节点为区块链系统中用于维护分布式数据库的节点,一个预设通道协同节点对应一个共识集群。
需要说明的是,每个共识集群建立新的通道以后,会将该通道的路由信息发送给该共识集群对应的预设通道协同节点,每个预设通道协同节点中可以存储分布式数据库中属于该预设通道协同节点的子数据库,各个预设通道协同节点基于分布式数据库查找存储有目标通道信息的目标通道协同节点的方法可以利用已有的分布式数据库的查询方法实现,即在相邻的共识集群对应的预设通道协同节点之间转发地址查询请求,以使接收到地址查询请求的预设通道协同节点在本地存储的子数据库中查询该目标通道信息,以实现对目标通道协同节点的查询,在此不做赘述。
S740、在地址查询请求信息还包括节点地址的情况下,向节点地址对应的对等节点发送目标通道信息对应的集群地址。
具体地,地址查询请求还可以根据节点地址生成,使地址查询请求携带有节点地址,进而使地址查询请求信息包括节点地址。此时,通道协同节点在查询到目标通道信息对应的集群地址之后,可以直接基于节点地址,向节点地址对应的对等节点发送目标通道信息对应的集群地址,进而使该对等节点基于目标通道信息对应的集群地址向正确的共识集群重新发送交易请求。
由此,通道协同节点可以直接向对等节点发送目标通道信息对应的集群地址,提高对对等节点的响应速度。
在本发明实施例中,对于跨共识集群的交易请求,可以通过通道协同节点查询交易请求对应的共识集群的集群地址,从而保障跨共识集群的交易请求的有序进行,提高区块链系统的可靠性。
下面将详细介绍S730的具体实现方式。
在本发明一些实施例中,目标通道信息为目标哈希值,目标哈希值根据交易请求对应的目标通道的属性信息生成;分布式数据库包括分布式哈希表,分布式哈希表包括多个第二哈希值,每个第二哈希值根据区块链系统中的一个通道的属性信息生成。
在这些实施例中,可选地,S730的具体方法可以包括:
基于分布式哈希表,在多个预设通道协同节点中,查询存储有目标哈希值的目标通道协同节点;其中,预设通道协同节点为区块链系统中用于维护分布式哈希表的节点,一个预设通道协同节点对应一个共识集群;
将目标通道协同节点对应的共识集群的集群地址,作为目标通道信息对应的集群地址。
具体地,一个第二哈希值对应一个通道,每个共识集群建立新的通道以后,可以利用该通道的属性信息生成该通道对应的哈希值,然后将该通道对应的哈希值发送给该共识集群对应的预设通道协同节点,预设通道协同节点会将接收到的哈希值作为第二哈希值存储在分布式哈希表中。
每个预设通道协同节点中可以存储分布式哈希表中属于该预设通道协同节点的哈希子表,各个预设通道协同节点基于分布式哈希表查找存储有目标通道信息的目标通道协同节点的方法可以利用已有的分布式哈希表的查询方法实现,即由于目标共识集群相对应的通道协同节点开始,在相邻的共识集群对应的预设通道协同节点之间转发地址查询请求,以使接收到地址查询请求的预设通道协同节点解析地址查询请求中的目标哈希值后,然后将解析得到的目标哈希值与在本地存储的哈希子表中的各个第二哈希值进行对比,进而确定目标哈希值是否存在于本地存储的哈希子表中,如果存在于本地存储的哈希子表中,则该预设通道协同节点可以确定其为目标通道协同节点,并将其对应的共识集群的集群地址反馈给向其发送地址查询请求的通道协同节点,最终返回至需要查询目标通道信息对应的集群地址的通道协同节点,即与目标共识集群相对应的通道协同节点。当与目标共识集群相对应的通道协同节点接收到目标通道协同节点对应的共识集群的集群地址后,可以将其作为目标通道信息对应的集群地址。
在本发明实施例中,分布式哈希表可以为基于Kademlia协议的分布式哈希表,也可以为基于其他协议的分布式哈希表,在此不做限制。
在本发明一些实施例中,属性信息包括下列中的至少一项:
通道名称、通道创建者、通道创建时间。
其中,属性信息已在上文说明,在此不做赘述。
以上为S730的具体实现方式。
在本发明一些实施例中,在S730之后,该区块链系统的共识方法还可以包括:
在地址查询请求信息不包括节点地址的情况下,向目标共识集群发送目标通道信息对应的集群地址。
具体地,地址查询请求还可以不根据节点地址生成,使地址查询请求不携带节点地址,进而使地址查询请求信息不包括节点地址。此时,通道协同节点在查询到目标通道信息对应的集群地址之后,可以基于目标共识集群的集群地址,向目标共识集群发送目标通道信息对应的集群地址,以使目标共识集群将目标通道信息对应的集群地址转发至发送该携带有目标通道信息的交易请求的对等节点,进而使该对等节点基于目标通道信息对应的集群地址向正确的共识集群重新发送交易请求。
由此,通道协同节点可以通过目标共识集群向对等节点转发目标通道信息对应的集群地址,以减少地址查询请求所携带的数据量。
以基于区块链系统的供应链溯源场景为例,假设地区A的生产企业B需要将所生产产品分销至地区C的经销企业D,并需要在区块链上对货物进行追踪。为不失一般性,假设生产企业A所分配的共识集群为共识集群O1,并通过共识集群O1首先建立通道E。此后,经销企业B向集群调度节点所分配的共识集群O2发起加入该通道E的交易请求。由于共识集群O2不含有通道E相关信息,无法处理该交易请求,因此,向通道协同节点发送地址查询请求。通道协同节点在通道协同层的各个通道协同节点之间转发地址查询请求(最终至共识集群O1)并查找到该通道对应的共识集群O1的集群地址,最终返回对应集群地址给经销企业B,B更新通道E所对应的集群地址。此后,生产企业A与经销企业B可以基于通道E对应的集群地址正常沟通创建符合双方业务需求和利益的具体智能合约,协同开展供应链溯源业务。
综上所述,通道协同节点可以实现面向通道的共识集群动态切换机制,能够在多共识集群调度基础上保障区块链交易在全局任一可用共识集群中的存续与流转,并最终上链,保证区块链系统的安全性与完备性。
图8示出了本发明再一个实施例提供的区块链系统的共识方法的流程示意图。
在本发明一些实施例中,图8所示的方法可以由图4所示的任一个对等节点执行。其中,对等节点可以为服务器或者服务器集群。
如图8所示,该区块链系统的共识方法可以包括:
S810、向集群调度节点发送共识集群路由请求,使集群调度节点响应于共识集群路由请求,根据共识集群路由请求的路由请求信息中包括的节点位置,在至少一个可用共识集群中确定目标共识集群,并反馈目标共识集群对应的目标集群地址;其中,可用共识集群为区块链系统中处于正常工作状态的共识集群;
S820、接收集群调度节点反馈的目标集群地址;
S830、基于目标集群地址,向目标共识集群发送交易请求。
在本发明实施例中,能够通过节点位置实现对等节点的分流,使不同的对等节点可以基于其节点位置匹配不同的共识集群,从而可以利用多个共识集群并行对大量的对等节点进行共识,提高了区块链系统的吞吐量,进而能够满足区块链系统对高吞吐量的需求。
在本发明一些实施例中,在交易请求的交易请求类型是第一交易类型的情况下,目标共识集群可以直接基于交易请求发起共识。
在本发明另一些实施例中,交易请求中可以携带有该交易请求对应的目标通道的目标通道信息,在S830之后,该区块链系统的共识方法还可以包括:
在交易请求的交易请求类型不是第一交易类型的情况下,接收目标共识集群或通道协同节点反馈的目标通道信息对应的集群地址;
基于目标通道信息对应的集群地址,向交易请求对应的目标通道所属的共识集群发送交易请求。
综上所述,本发明实施例能够满足大量区块链节点接入时对区块链系统的高吞吐量需求,通过多共识集群的共识架构和共识调度机制,使得区块链系统性能得到并行的提升,吞吐量大大提高。
图9示出了本发明一个实施例提供的区块链系统的共识装置的结构示意图。
在本发明一些实施例中,图9所示的装置可以设置于图4所示的集群调度节点内。其中,集群调度节点可以为服务器或者服务器集群。
如图9所示,该区块链系统的共识装置可以包括:
第一接收模块910,用于接收目标对等节点发送的共识集群路由请求;
第一解析模块920,用于解析共识集群路由请求,得到路由请求信息;其中,路由请求信息包括目标对等节点的节点位置;
第一确定模块930,用于根据节点位置,在至少一个可用共识集群中,确定目标共识集群;其中,可用共识集群为区块链系统中处于正常工作状态的共识集群;
第一发送模块940,用于向目标对等节点发送目标共识集群的目标集群地址。
在本发明实施例中,能够基于目标对等节点发送的共识集群路由请求所携带的目标对等节点的节点位置,为在区块链系统的至少一个处于正常工作状态的可用共识集群中,为目标对等节点分配目标共识集群,并且向目标对应节点发送目标共识集群的目标集群地址,以通过节点位置实现对等节点的分流,使不同的对等节点可以基于其节点位置匹配不同的共识集群,从而可以利用多个共识集群并行对大量的对等节点进行共识,提高了区块链系统的吞吐量,进而能够满足区块链系统对高吞吐量的需求。
在本发明一些实施例中,第一确定模块930具体用于:
获取每个可用共识集群的集群位置;
根据节点位置和所述集群位置,确定每个可用共识集群对目标对等节点的响应时间;
将响应时间最短的可用共识集群作为目标共识集群。
在本发明一些实施例中,该区块链系统的共识装置还可以包括:
第一判断模块,用于判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件;
其中,第一确定模块930进一步用于:
在集群性能参数不满足第一预设条件的情况下,将响应时间最短的可用共识集群作为目标共识集。
在本发明一些实施例中,第一确定模块930还进一步用于:
在集群性能参数满足第一预设条件的情况下,将响应时间次最短的可用共识集群作为目标共识集群。
在本发明一些实施例中,路由请求信息还包括路由请求类型;
其中,第一判断模块具体用于:
在路由请求类型为第一路由类型的情况下,判断响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件。
在本发明一些实施例中,第一判断模块进一步用于:
检测响应时间最短的可用共识集群是否具有饱和状态标记;
在检测到具有饱和状态标记的情况下,确定响应时间最短的可用共识集群的集群性能参数满足第一预设条件;
在检测到不具有饱和状态标记的情况下,确定响应时间最短的可用共识集群的集群性能参数不满足第一预设条件。
在本发明一些实施例中,第一预设条件包括下列中的至少一项:
集群性能参数中的吞吐量大于或等于预设吞吐量阈值;
吞吐量大于或等于预设吞吐量阈值的第一时长大于或等于第一预设时长;
集群性能参数中的交易平均延时大于或等于预设延时阈值;
交易平均延时大于或等于预设延时阈值的第二时长大于或等于第二预设时长。
在本发明一些实施例中,该区块链系统的共识装置还可以包括:
第五接收模块,用于接收共识集群发送的集群注册请求;
第四解析模块,用于解析集群注册请求,得到集群注册请求信息;其中,集群注册请求信息包括集群验证信息;
集群监听模块,用于在集群验证信息通过验证的情况下,监听共识集群;
第一处理模块,用于在监听到共识集群处于正常工作状态的情况下,将共识集群作为可用共识集群。
在本发明一些实施例中,集群注册请求信息还包括集群配置信息;
其中,所述向所述目标对等节点发送所述目标共识集群的目标集群地址之前,该区块链系统的共识装置还可以包括:
信息查询模块,用于查询目标共识集群对应的目标集群配置信息;
地址提取模块,用于在目标集群配置信息中,提取目标集群地址。
在本发明一些实施例中,路由请求信息还包括节点验证信息;
其中,第一确定模块930还具体用于:
在节点验证信息通过验证的情况下,根据节点位置,在至少一个可用共识集群中,确定目标共识集群。
图10示出了本发明另一个实施例提供的区块链系统的共识装置的结构示意图。
在本发明一些实施例中,图10所示的装置可以设置于图4所示的任一个共识集群内。其中,共识集群可以包括至少一个共识节点,共识节点可以为服务器或者服务器集群。
如图10所示,该区块链系统的共识装置可以包括:
第二接收模块1010,用于接收目标对等节点发送的交易请求;其中,目标对等节点基于目标集群地址发送交易请求,目标集群地址根据目标对等节点的节点位置在至少一个可用共识集群中确定,可用共识集群为区块链系统中处于正常工作状态的共识集群;
第二解析模块1020,用于解析易请求,得到交易请求信息;其中,交易请求信息包括交易信息;
信息共识模块1030,用于针对交易信息发起共识;
交易执行模块1040,用于在共识成功的情况下,执行交易信息对应的交易。
在本发明实施例中,共识集群能够接收基于节点位置分配的目标对等节点发送的交易请求,以通过节点位置实现对等节点的分流,使不同的对等节点可以基于其节点位置匹配不同的共识集群,从而可以利用多个共识集群并行对大量的对等节点进行共识,提高了区块链系统的吞吐量,进而能够满足大量节点接入时区块链系统对高吞吐量的需求。同时,即使参与节点增多,区块链系统的扩展性能也可以继续保持。
在本发明一些实施例中,交易请求信息还包括交易请求类型;
其中,信息共识模块1030具体用于:
在交易请求类型为第一交易类型的情况下,针对交易信息发起共识。
在本发明一些实施例中,交易请求信息还包括目标通道信息;
其中,在本发明一些实施例中,该区块链系统的共识装置还可以包括:
第一获取模块,用于在交易请求类型不是第一交易类型的情况下,获取目标通道信息;
通道查询模块,用于在目标通道列表中查询目标通道信息;其中,目标通道列表为本地存储的通道列表;
其中,信息共识模块1030进一步用于:
在查询到目标通道信息的情况下,针对交易信息发起共识。
在本发明一些实施例中,该区块链系统的共识装置还可以包括:
第一生成模块,用于在未查询到目标通道信息的情况下,根据目标通道信息,生成地址查询请求;
第五发送模块,用于向通道协同节点发送地址查询请求;其中,地址查询请求用于使通道协同节点查询目标通道信息对应的集群地址。
在本发明一些实施例中,该区块链系统的共识装置还可以包括:
第六接收模块,用于接收通道协同节点反馈的目标通道信息对应的集群地址;
第六发送模块,用于向目标对等节点发送目标通道信息对应的集群地址。
在本发明一些实施例中,目标通道信息为目标哈希值,目标哈希值根据交易请求对应的目标通道的属性信息生成;目标通道列表为目标哈希表,目标哈希表包括多个第一哈希值,每个第一哈希值根据一个本地建立的通道的属性信息生成。
在本发明一些实施例中,属性信息包括下列中的至少一项:
通道名称、通道创建者、通道创建时间。
图11示出了本发明又一个实施例提供的区块链系统的共识装置的结构示意图。
在本发明一些实施例中,图11所示的装置可以设置于图4所示的任一个通道协同节点内。其中,通道协同节点可以为服务器或者服务器集群。
如图11所示,该区块链系统的共识装置可以包括:
第三接收模块1110,用于接收目标共识集群发送的地址查询请求;其中,地址查询请求根据目标共识集群所接收的交易请求所携带的目标通道信息生成;
第三解析模块1120,用于解析地址查询请求,得到地址查询请求信息;其中,地址查询请求信息包括目标通道信息;
地址查询模块1130,用于在分布式数据库中,查询目标通道信息对应的集群地址;
第二发送模块1140,用于在地址查询请求信息还包括节点地址的情况下,向节点地址对应的对等节点发送目标通道信息对应的集群地址。
在本发明实施例中,对于跨共识集群的交易请求,可以通过通道协同节点查询交易请求对应的共识集群的集群地址,从而保障跨共识集群的交易请求的有序进行,提高区块链系统的可靠性。
在本发明一些实施例中,目标通道信息为目标哈希值,目标哈希值根据交易请求对应的目标通道的属性信息生成;分布式数据库包括分布式哈希表,分布式哈希表包括多个第二哈希值,每个第二哈希值根据区块链系统中的一个通道的属性信息生成;
其中,地址查询模块1130具体用于:
基于分布式哈希表,在多个预设通道协同节点中,查询存储有目标哈希值的目标通道协同节点;其中,预设通道协同节点为区块链系统中用于维护分布式哈希表的节点,一个预设通道协同节点对应一个共识集群;
将目标通道协同节点对应的共识集群的集群地址,作为目标通道信息对应的集群地址。
在本发明一些实施例中,属性信息包括下列中的至少一项:
通道名称、通道创建者、通道创建时间。
在本发明一些实施例中,该区块链系统的共识装置还可以包括:
第七发送模块,用于在地址查询请求信息不包括节点地址的情况下,向目标共识集群发送目标通道信息对应的集群地址。
图12示出了本发明再一个实施例提供的区块链系统的共识装置的结构示意图。
在本发明一些实施例中,图12所示的装置可以设置于图4所示的任一个对等节点内。其中,对等节点可以为服务器或者服务器集群。
如图12所示,该区块链系统的共识装置可以包括:
第三发送模块1210,用于向集群调度节点发送共识集群路由请求,使集群调度节点响应于共识集群路由请求,根据共识集群路由请求的路由请求信息中包括的节点位置,在至少一个可用共识集群中确定目标共识集群,并反馈目标共识集群对应的目标集群地址;其中,可用共识集群为区块链系统中处于正常工作状态的共识集群;
第四接收模块1220,用于接收集群调度节点反馈的目标集群地址;
第四发送模块1230,用于基于目标集群地址,向目标共识集群发送交易请求。
在本发明实施例中,能够通过节点位置实现对等节点的分流,使不同的对等节点可以基于其节点位置匹配不同的共识集群,从而可以利用多个共识集群并行对大量的对等节点进行共识,提高了区块链系统的吞吐量,进而能够满足区块链系统对高吞吐量的需求。
在本发明一些实施例中,交易请求携带有目标通道信息;
其中,该区块链系统的共识装置还可以包括:
第七接收模块,用于在交易请求的交易请求类型不是第一交易类型的情况下,接收目标共识集群或通道协同节点反馈的目标通道信息对应的集群地址;
第八发送模块,用于基于目标通道信息对应的集群地址,向交易请求对应的目标通道所属的共识集群发送交易请求。
图13示出了本发明一个实施例提供的区块链系统的共识设备的结构示意图。
如图13所示,区块链系统的共识设备1300包括输入设备1301、输入接口1302、中央处理器1303、存储器1304、输出接口1305、以及输出设备1306。其中,输入接口1302、中央处理器1303、存储器1304、以及输出接口1305通过总线1310相互连接,输入设备1301和输出设备1306分别通过输入接口1302和输出接口1305与总线1310连接,进而与区块链系统的共识设备1300的其他组件连接。
具体地,输入设备1301接收来自外部的输入信息,并通过输入接口1302将输入信息传送到中央处理器1303;中央处理器1303基于存储器1304中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器1304中,然后通过输出接口1305将输出信息传送到输出设备1306;输出设备1306将输出信息输出到区块链系统的共识设备1300的外部供用户使用。
也就是说,图13所示的区块链系统的共识设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现本发明实施例描述的区块链系统的共识方法和装置。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的区块链系统的共识方法。
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,上述对本发明特定实施例进行了描述。其它实施例在所附权利要求的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (29)
1.一种区块链系统的共识方法,包括:
接收目标对等节点发送的共识集群路由请求;
解析所述共识集群路由请求,得到路由请求信息;其中,所述路由请求信息包括所述目标对等节点的节点位置;
根据所述节点位置,在至少一个可用共识集群中,确定目标共识集群;其中,所述可用共识集群为所述区块链系统中处于正常工作状态的共识集群;
向所述目标对等节点发送所述目标共识集群的目标集群地址。
2.根据权利要求1所述的方法,其中,所述根据所述节点位置,在至少一个可用共识集群中,确定目标共识集群,包括:
获取每个所述可用共识集群的集群位置;
根据所述节点位置和所述集群位置,确定每个所述可用共识集群对所述目标对等节点的响应时间;
将响应时间最短的可用共识集群作为所述目标共识集群。
3.根据权利要求2所述的方法,其中,所述将响应时间最短的可用共识集群作为所述目标共识集群之前,所述方法还包括:
判断所述响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件;
其中,所述将响应时间最短的可用共识集群作为所述目标共识集群,包括:
在所述集群性能参数不满足所述第一预设条件的情况下,将所述响应时间最短的可用共识集群作为所述目标共识集。
4.根据权利要求3所述的方法,其中,所述判断所述响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件之后,所述方法还包括:
在所述集群性能参数满足所述第一预设条件的情况下,将响应时间次最短的可用共识集群作为所述目标共识集群。
5.根据权利要求3所述的方法,其中,所述路由请求信息还包括路由请求类型;
其中,所述判断所述响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件,包括:
在所述路由请求类型为第一路由类型的情况下,判断所述响应时间最短的可用共识集群的集群性能参数是否满足所述第一预设条件。
6.根据权利要求3-5中任一项所述的方法,其中,所述判断所述响应时间最短的可用共识集群的集群性能参数是否满足第一预设条件,包括:
检测所述响应时间最短的可用共识集群是否具有饱和状态标记;
在检测到具有所述饱和状态标记的情况下,确定所述响应时间最短的可用共识集群的集群性能参数满足所述第一预设条件;
在检测到不具有所述饱和状态标记的情况下,确定所述响应时间最短的可用共识集群的集群性能参数不满足所述第一预设条件。
7.根据权利要求3-5中任一项所述的方法,其中,所述第一预设条件包括下列中的至少一项:
所述集群性能参数中的吞吐量大于或等于预设吞吐量阈值;
所述吞吐量大于或等于所述预设吞吐量阈值的第一时长大于或等于第一预设时长;
所述集群性能参数中的交易平均延时大于或等于预设延时阈值;
所述交易平均延时大于或等于所述预设延时阈值的第二时长大于或等于第二预设时长。
8.根据权利要求1所述的方法,其中,所述根据所述节点位置,在至少一个可用共识集群中,确定目标共识集群之前,所述方法还包括:
接收所述共识集群发送的集群注册请求;
解析所述集群注册请求,得到集群注册请求信息;其中,所述集群注册请求信息包括集群验证信息;
在所述集群验证信息通过验证的情况下,监听所述共识集群;
在监听到所述共识集群处于正常工作状态的情况下,将所述共识集群作为所述可用共识集群。
9.根据权利要求8所述的方法,其中,所述集群注册请求信息还包括集群配置信息;
其中,所述向所述目标对等节点发送所述目标共识集群的目标集群地址之前,所述方法还包括:
查询所述目标共识集群对应的目标集群配置信息;
在所述目标集群配置信息中,提取所述目标集群地址。
10.根据权利要求1所述的方法,其中,所述路由请求信息还包括节点验证信息;
其中,所述根据所述节点位置,在至少一个可用共识集群中,确定目标共识集群,包括:
在所述节点验证信息通过验证的情况下,根据所述节点位置,在至少一个所述可用共识集群中,确定所述目标共识集群。
11.一种区块链系统的共识方法,包括:
接收目标对等节点发送的交易请求;其中,所述目标对等节点基于目标集群地址发送所述交易请求,所述目标集群地址根据所述目标对等节点的节点位置在至少一个可用共识集群中确定,所述可用共识集群为所述区块链系统中处于正常工作状态的共识集群;
解析所述交易请求,得到交易请求信息;其中,所述交易请求信息包括交易信息;
针对所述交易信息发起共识;
在共识成功的情况下,执行所述交易信息对应的交易。
12.根据权利要求11所述的方法,其中,所述交易请求信息还包括交易请求类型;
其中,所述针对所述交易信息发起共识,包括:
在所述交易请求类型为第一交易类型的情况下,针对所述交易信息发起共识。
13.根据权利要求12所述的方法,其中,所述交易请求信息还包括目标通道信息;
其中,所述解析所述交易请求,得到交易请求信息之后,所述方法还包括:
在所述交易请求类型不是所述第一交易类型的情况下,获取所述目标通道信息;
在目标通道列表中查询所述目标通道信息;其中,所述目标通道列表为本地存储的通道列表;
其中,所述针对所述交易信息发起共识,包括:
在查询到所述目标通道信息的情况下,针对所述交易信息发起共识。
14.根据权利要求13所述的方法,其中,所述在目标通道列表中查询所述目标通道信息之后,所述方法还包括:
在未查询到所述目标通道信息的情况下,根据所述目标通道信息,生成地址查询请求;
向通道协同节点发送所述地址查询请求;其中,所述地址查询请求用于使所述通道协同节点查询所述目标通道信息对应的集群地址。
15.根据权利要求14所述的方法,其中,所述向通道协同节点发送所述地址查询请求之后,所述方法还包括:
接收所述通道协同节点反馈的所述目标通道信息对应的集群地址;
向所述目标对等节点发送所述目标通道信息对应的集群地址。
16.根据权利要求13-15任一项所述的方法,其中,所述目标通道信息为目标哈希值,所述目标哈希值根据所述交易请求对应的目标通道的属性信息生成;所述目标通道列表为目标哈希表,所述目标哈希表包括多个第一哈希值,每个所述第一哈希值根据一个本地建立的通道的属性信息生成。
17.根据权利要求16所述的方法,其中,所述属性信息包括下列中的至少一项:
通道名称、通道创建者、通道创建时间。
18.一种区块链系统的共识方法,包括:
接收目标共识集群发送的地址查询请求;其中,所述地址查询请求根据所述目标共识集群所接收的交易请求所携带的目标通道信息生成;
解析所述地址查询请求,得到地址查询请求信息;其中,所述地址查询请求信息包括所述目标通道信息;
在分布式数据库中,查询所述目标通道信息对应的集群地址;
在所述地址查询请求信息还包括节点地址的情况下,向所述节点地址对应的对等节点发送所述目标通道信息对应的集群地址。
19.根据权利要求18所述的方法,其中,所述目标通道信息为目标哈希值,所述目标哈希值根据所述交易请求对应的目标通道的属性信息生成;所述分布式数据库包括分布式哈希表,所述分布式哈希表包括多个第二哈希值,每个所述第二哈希值根据所述区块链系统中的一个通道的属性信息生成;
其中,所述在分布式数据库中,查询所述目标通道信息对应的集群地址,包括:
基于所述分布式哈希表,在多个预设通道协同节点中,查询存储有所述目标哈希值的目标通道协同节点;其中,所述预设通道协同节点为所述区块链系统中用于维护所述分布式哈希表的节点,一个所述预设通道协同节点对应一个共识集群;
将所述目标通道协同节点对应的共识集群的集群地址,作为所述目标通道信息对应的集群地址。
20.根据权利要求19所述的方法,其中,所述属性信息包括下列中的至少一项:
通道名称、通道创建者、通道创建时间。
21.根据权利要求18所述的方法,其中,所述在分布式数据库中,查询所述目标通道信息对应的集群地址之后,所述方法还包括:
在所述地址查询请求信息不包括所述节点地址的情况下,向所述目标共识集群发送所述目标通道信息对应的集群地址。
22.一种区块链系统的共识方法,包括:
向集群调度节点发送共识集群路由请求,使所述集群调度节点响应于所述共识集群路由请求,根据所述共识集群路由请求的路由请求信息中包括的节点位置,在至少一个可用共识集群中确定目标共识集群,并反馈所述目标共识集群对应的目标集群地址;其中,所述可用共识集群为所述区块链系统中处于正常工作状态的共识集群;
接收所述集群调度节点反馈的所述目标集群地址;
基于所述目标集群地址,向所述目标共识集群发送交易请求。
23.根据权利要求22所述的方法,其中,所述交易请求携带有目标通道信息;
其中,所述基于所述目标集群地址,向所述目标共识集群发送交易请求之后,所述方法还包括:
在所述交易请求的交易请求类型不是第一交易类型的情况下,接收所述目标共识集群或通道协同节点反馈的所述目标通道信息对应的集群地址;
基于所述目标通道信息对应的集群地址,向所述交易请求对应的目标通道所属的共识集群发送所述交易请求。
24.一种区块链系统的共识装置,包括:
第一接收模块,用于接收目标对等节点发送的共识集群路由请求;
第一解析模块,用于解析所述共识集群路由请求,得到路由请求信息;其中,所述路由请求信息包括所述目标对等节点的节点位置;
第一确定模块,用于根据所述节点位置,在至少一个可用共识集群中,确定目标共识集群;其中,所述可用共识集群为所述区块链系统中处于正常工作状态的共识集群;
第一发送模块,用于向所述目标对等节点发送所述目标共识集群的目标集群地址。
25.一种区块链系统的共识装置,包括:
第二接收模块,用于接收目标对等节点发送的交易请求;其中,所述目标对等节点基于目标集群地址发送所述交易请求,所述目标集群地址根据所述目标对等节点的节点位置在至少一个可用共识集群中确定,所述可用共识集群为所述区块链系统中处于正常工作状态的共识集群;
第二解析模块,用于解析所述交易请求,得到交易请求信息;其中,所述交易请求信息包括交易信息;
信息共识模块,用于针对所述交易信息发起共识;
交易执行模块,用于在共识成功的情况下,执行所述交易信息对应的交易。
26.一种区块链系统的共识装置,包括:
第三接收模块,用于接收目标共识集群发送的地址查询请求;其中,所述地址查询请求根据所述目标共识集群所接收的交易请求所携带的目标通道信息生成;
第三解析模块,用于解析所述地址查询请求,得到地址查询请求信息;其中,所述地址查询请求信息包括所述目标通道信息;
地址查询模块,用于在分布式数据库中,查询所述目标通道信息对应的集群地址;
第二发送模块,用于在所述地址查询请求信息还包括节点地址的情况下,向所述节点地址对应的对等节点发送所述目标通道信息对应的集群地址。
27.一种区块链系统的共识装置,包括:
第三发送模块,用于向集群调度节点发送共识集群路由请求,使所述集群调度节点响应于所述共识集群路由请求,根据所述共识集群路由请求的路由请求信息中包括的节点位置,在至少一个可用共识集群中确定目标共识集群,并反馈所述目标共识集群对应的目标集群地址;其中,所述可用共识集群为所述区块链系统中处于正常工作状态的共识集群;
第四接收模块,用于接收所述集群调度节点反馈的所述目标集群地址;
第四发送模块,用于基于所述目标集群地址,向所述目标共识集群发送交易请求。
28.一种区块链系统的共识设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-10、权利要求11-17、权利要求18-21或权利要求22-23中任意一项所述的区块链系统的共识方法。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-10、权利要求11-17、权利要求18-21或权利要求22-23中任意一项所述的区块链系统的共识方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478177.8A CN111786952B (zh) | 2020-05-29 | 2020-05-29 | 区块链系统的共识方法、装置、设备及介质 |
PCT/CN2021/075339 WO2021238298A1 (zh) | 2020-05-29 | 2021-02-04 | 区块链系统的共识方法、装置、设备及介质 |
TW110117064A TWI790611B (zh) | 2020-05-29 | 2021-05-12 | 區塊鏈系統的共識方法、裝置、設備及介質 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478177.8A CN111786952B (zh) | 2020-05-29 | 2020-05-29 | 区块链系统的共识方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111786952A true CN111786952A (zh) | 2020-10-16 |
CN111786952B CN111786952B (zh) | 2023-03-17 |
Family
ID=72754441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010478177.8A Active CN111786952B (zh) | 2020-05-29 | 2020-05-29 | 区块链系统的共识方法、装置、设备及介质 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN111786952B (zh) |
TW (1) | TWI790611B (zh) |
WO (1) | WO2021238298A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242286A (zh) * | 2021-05-06 | 2021-08-10 | 杭州复杂美科技有限公司 | 一种弹性提高交易吞吐量的方法、设备及储存介质 |
WO2021238298A1 (zh) * | 2020-05-29 | 2021-12-02 | 中国银联股份有限公司 | 区块链系统的共识方法、装置、设备及介质 |
CN114884962A (zh) * | 2022-04-29 | 2022-08-09 | 蚂蚁区块链科技(上海)有限公司 | 负载均衡方法及装置和电子设备 |
CN114979166A (zh) * | 2022-06-09 | 2022-08-30 | 中国联合网络通信集团有限公司 | 共识节点确定方法、装置及存储介质 |
CN115883315A (zh) * | 2023-03-01 | 2023-03-31 | 中国信息通信研究院 | 区块链网络中节点加入方法、装置、电子设备和存储介质 |
WO2023071373A1 (zh) * | 2021-10-30 | 2023-05-04 | 中国银联股份有限公司 | 一种区块链共识方法、装置、设备及存储介质 |
WO2023185042A1 (zh) * | 2022-03-31 | 2023-10-05 | 蚂蚁区块链科技(上海)有限公司 | 直连通道的建立方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338677B (zh) * | 2021-12-30 | 2022-10-21 | 中山大学 | 一种区块链系统中的区块生成方法和相关装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623686A (zh) * | 2017-09-12 | 2018-01-23 | 深圳先进技术研究院 | 区块链共识达成方法、装置、设备及存储介质 |
US20180101560A1 (en) * | 2016-10-07 | 2018-04-12 | International Business Machines Corporation | Establishing overlay trust consensus for blockchain trust validation system |
CN108154367A (zh) * | 2017-12-26 | 2018-06-12 | 质数链网科技成都有限公司 | 一种区块链业务校验方法及装置 |
CN108805404A (zh) * | 2018-05-02 | 2018-11-13 | 大国创新智能科技(东莞)有限公司 | 基于区块链的机器人调度方法和系统 |
CN110046036A (zh) * | 2018-12-25 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种操作请求分配方法、装置及设备 |
US20190334725A1 (en) * | 2017-03-21 | 2019-10-31 | Alibaba Group Holding Limited | Method and device for processing service request |
US20190342422A1 (en) * | 2017-03-28 | 2019-11-07 | Alibaba Group Holding Limited | Service processing and consensus method and device |
CN110601849A (zh) * | 2019-08-21 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种可信时间戳添加方法、装置和存储介质 |
CN110647559A (zh) * | 2019-09-24 | 2020-01-03 | 腾讯科技(深圳)有限公司 | 数据处理方法、相关节点及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9172750B2 (en) * | 2011-04-26 | 2015-10-27 | Brian J. Bulkowski | Cluster-node load balancing in a distributed database system |
CN108256999B (zh) * | 2018-01-19 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 资金流转方法及装置、电子设备 |
CN110113388B (zh) * | 2019-04-17 | 2020-01-14 | 四川大学 | 一种基于改进型聚类算法的区块链系统共识的方法和装置 |
CN111786952B (zh) * | 2020-05-29 | 2023-03-17 | 中国银联股份有限公司 | 区块链系统的共识方法、装置、设备及介质 |
-
2020
- 2020-05-29 CN CN202010478177.8A patent/CN111786952B/zh active Active
-
2021
- 2021-02-04 WO PCT/CN2021/075339 patent/WO2021238298A1/zh active Application Filing
- 2021-05-12 TW TW110117064A patent/TWI790611B/zh active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180101560A1 (en) * | 2016-10-07 | 2018-04-12 | International Business Machines Corporation | Establishing overlay trust consensus for blockchain trust validation system |
US20190334725A1 (en) * | 2017-03-21 | 2019-10-31 | Alibaba Group Holding Limited | Method and device for processing service request |
US20190342422A1 (en) * | 2017-03-28 | 2019-11-07 | Alibaba Group Holding Limited | Service processing and consensus method and device |
CN107623686A (zh) * | 2017-09-12 | 2018-01-23 | 深圳先进技术研究院 | 区块链共识达成方法、装置、设备及存储介质 |
CN108154367A (zh) * | 2017-12-26 | 2018-06-12 | 质数链网科技成都有限公司 | 一种区块链业务校验方法及装置 |
CN108805404A (zh) * | 2018-05-02 | 2018-11-13 | 大国创新智能科技(东莞)有限公司 | 基于区块链的机器人调度方法和系统 |
CN110046036A (zh) * | 2018-12-25 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种操作请求分配方法、装置及设备 |
CN110601849A (zh) * | 2019-08-21 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种可信时间戳添加方法、装置和存储介质 |
CN110647559A (zh) * | 2019-09-24 | 2020-01-03 | 腾讯科技(深圳)有限公司 | 数据处理方法、相关节点及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021238298A1 (zh) * | 2020-05-29 | 2021-12-02 | 中国银联股份有限公司 | 区块链系统的共识方法、装置、设备及介质 |
CN113242286A (zh) * | 2021-05-06 | 2021-08-10 | 杭州复杂美科技有限公司 | 一种弹性提高交易吞吐量的方法、设备及储存介质 |
CN113242286B (zh) * | 2021-05-06 | 2022-05-24 | 杭州复杂美科技有限公司 | 一种弹性提高交易吞吐量的方法、设备及储存介质 |
WO2023071373A1 (zh) * | 2021-10-30 | 2023-05-04 | 中国银联股份有限公司 | 一种区块链共识方法、装置、设备及存储介质 |
WO2023185042A1 (zh) * | 2022-03-31 | 2023-10-05 | 蚂蚁区块链科技(上海)有限公司 | 直连通道的建立方法及装置 |
CN114884962A (zh) * | 2022-04-29 | 2022-08-09 | 蚂蚁区块链科技(上海)有限公司 | 负载均衡方法及装置和电子设备 |
CN114884962B (zh) * | 2022-04-29 | 2024-03-26 | 蚂蚁区块链科技(上海)有限公司 | 负载均衡方法及装置和电子设备 |
CN114979166A (zh) * | 2022-06-09 | 2022-08-30 | 中国联合网络通信集团有限公司 | 共识节点确定方法、装置及存储介质 |
CN114979166B (zh) * | 2022-06-09 | 2023-05-16 | 中国联合网络通信集团有限公司 | 共识节点确定方法、装置及存储介质 |
CN115883315A (zh) * | 2023-03-01 | 2023-03-31 | 中国信息通信研究院 | 区块链网络中节点加入方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021238298A1 (zh) | 2021-12-02 |
TW202145116A (zh) | 2021-12-01 |
CN111786952B (zh) | 2023-03-17 |
TWI790611B (zh) | 2023-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111786952B (zh) | 区块链系统的共识方法、装置、设备及介质 | |
US10616243B2 (en) | Route updating method, communication system, and relevant devices | |
Manogaran et al. | Blockchain assisted secure data sharing model for Internet of Things based smart industries | |
CN110945853B (zh) | 基于联盟链投票共识算法产生及管理多模标识网络的方法 | |
EP2380324B1 (en) | Secure node identifier assignment in a distributed hash table for peer-to-peer networks | |
CN101193103B (zh) | 一种分配和验证身份标识的方法及系统 | |
CN110135194B (zh) | 一种基于区块链的工业互联网数字对象的管理方法 | |
CN111865993B (zh) | 身份认证管理方法、分布式系统及可读存储介质 | |
CN113824563A (zh) | 一种基于区块链证书的跨域身份认证方法 | |
CN112861106B (zh) | 数字证书处理方法及系统、电子设备及存储介质 | |
CN118282673B (zh) | 多源异构设备数据一致性处理方法 | |
CN108933804B (zh) | 一种对等网络构建方法和装置 | |
US20150156259A1 (en) | Load balancing apparatus, information processing system, method and medium | |
CN111866993B (zh) | 无线局域网连接管理方法、装置、软件程序及存储介质 | |
CN103546439B (zh) | 内容请求的处理方法及装置 | |
CN114218558A (zh) | 安全多方计算中的跨域身份验证方法及服务器 | |
CN112543236A (zh) | 数据共享方法及区块链节点 | |
CN117240900B (zh) | 基于软件定义网络的区块链节点发现与组网方法及装置 | |
CN109995698B (zh) | 一种资产设备认证方法、装置及系统 | |
CN115550472B (zh) | 异构数据处理方法及装置 | |
CN111541733B (zh) | 在p2p网络中测试消息存储的方法、计算机可读存储介质和p2p网络 | |
CN111343002B (zh) | 服务器扩容部署的方法、装置及服务器 | |
CN118803030A (zh) | 离线验证方法、系统、验证终端、可读存储介质及产品 | |
CN117094415A (zh) | 异步聚类联邦学习方法及装置 | |
CN113741818A (zh) | 一种数据分离及分散存储的方法 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40039396 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |