CN111786812B - 节点管理方法、装置、计算机设备和存储介质 - Google Patents

节点管理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111786812B
CN111786812B CN202010461404.6A CN202010461404A CN111786812B CN 111786812 B CN111786812 B CN 111786812B CN 202010461404 A CN202010461404 A CN 202010461404A CN 111786812 B CN111786812 B CN 111786812B
Authority
CN
China
Prior art keywords
node
blockchain
list
consensus
target
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
Application number
CN202010461404.6A
Other languages
English (en)
Other versions
CN111786812A (zh
Inventor
郑建林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN202010461404.6A priority Critical patent/CN111786812B/zh
Publication of CN111786812A publication Critical patent/CN111786812A/zh
Application granted granted Critical
Publication of CN111786812B publication Critical patent/CN111786812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种节点管理方法、装置、计算机设备和存储介质。所述方法包括:接收节点管理请求,节点管理请求携带目标节点的节点标识和操作类型;获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表;获取共识节点列表,根据目标区块链节点列表更新共识节点列表;将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储;将节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新。采用本方法能够提高节点管理的有效性。

Description

节点管理方法、装置、计算机设备和存储介质
技术领域
本申请涉及区块链技术领域,特别是涉及一种节点管理方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了区块链技术。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
目前,工作量证明机制(PoW)是在区块链中被广泛使用的共识机制。工作量证明机制规定全网所有节点都可以处理交易、参与共识出块,全网节点可以自由进出。
然而,上述共识机制中全网节点实行自我管理,当区块链中节点数目过多时,无法保障节点的有效管理。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高区块链节点管理有效性的节点管理方法、装置、计算机设备和存储介质。
一种节点管理方法,应用于区块链网络中的管理员节点,所述方法包括:
接收节点管理请求,节点管理请求携带目标节点的节点标识和操作类型;
获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表;
获取共识节点列表,根据目标区块链节点列表更新共识节点列表;
将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储;
将节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新。
一种节点管理装置,所述装置包括:
请求接收模块,用于接收节点管理请求,节点管理请求携带目标节点的节点标识和操作类型;
列表更新模块,用于获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表;获取共识节点列表,根据目标区块链节点列表更新共识节点列表;
列表同步模块,用于将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储;
请求发送模块,用于将节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收节点管理请求,节点管理请求携带目标节点的节点标识和操作类型;
获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表;
获取共识节点列表,根据目标区块链节点列表更新共识节点列表;
将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储;
将节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收节点管理请求,节点管理请求携带目标节点的节点标识和操作类型;
获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表;
获取共识节点列表,根据目标区块链节点列表更新共识节点列表;
将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储;
将节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新。
上述节点管理方法、装置、计算机设备和存储介质,区块链网络中的管理员节点可以接收目标节点的节点标识和操作类型的节点管理请求,获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表,获取共识节点列表,根据目标区块链节点列表更新共识节点列表,将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储,将节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新。这样,在区块链网络中设置管理员节点,管理员节点可以通过区块链节点列表对区块链网络中的普通节点进行集中管理,通过共识节点列表对区块链网络中参与共识的普通节点进行集中管理,从而提高了区块链网络的节点管理有效性。
附图说明
图1为一个实施例中节点管理方法的应用环境图;
图2为一个实施例中节点管理方法的流程示意图;
图3为一个实施例中区块链生成步骤的流程示意图;
图4A为一个实施例中区块链网络中区块链节点的结构框图;
图4B为另一个实施例中区块链网络中区块链节点的结构框图;
图4C为又一个实施例中区块链网络中区块链节点的结构框图;
图5为一个实施例中节点加入区块链步骤的流程示意图;
图6为一个实施例中节点管理装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的节点管理方法,可以应用于如图1所示的应用环境中。该应用环境包括终端102、管理员节点104和普通节点106。其中,终端102与管理员节点104通过网络进行通信,管理员节点104和普通节点106通过网络进行通信,各个普通节点106之间也通过网络进行通信。管理员节点104和普通节点106处于相同的区块链网络中。该区块链网络具体可以包括一个或多个管理员节点104、以及多个普通节点106。管理员节点104和普通节点106均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端102具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。
管理员节点104接收终端102发送的节点管理请求,节点管理请求携带目标节点的节点标识和操作类型。管理员节点104获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表,获取共识节点列表,根据目标区块链节点列表更新共识节点列表。管理员节点104将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储。管理员节点104将节点管理请求发送至目标区块链节点列表中的普通节点106,以使普通节点对本地的区块链节点列表和共识节点列表进行更新。本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案相关的部分场景,并不构成对本申请方案应用环境的限定。
在一个实施例中,如图2所示,提供了一种节点管理方法,以该方法应用于图1中的管理员节点104为例进行说明,包括以下步骤:
S202,接收节点管理请求,节点管理请求携带目标节点的节点标识和操作类型。
其中,区块链网络是运行区块链技术的载体和组织方式。区块链技术,简称BT(Blockchain Technology),也被称为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据记录。区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
区块链网络包括管理员节点和普通节点。管理员节点是区块链网络中具备管理权和投票权的区块链节点,用于在区块链网络中管理其他区块链节点和参与共识。普通节点包括共识节点和观察者节点。共识节点是区块链网络中具备投票权的节点,用于在区块链网络中参与共识。观察者节点是区块链网络中的备份节点,不具备投票权,用于在区块链网络中备份共识节点中的数据。
节点管理请求是一种具备管理功能的请求,用于指示管理员节点对目标节点进行管理。目标节点包括共识节点和观察者节点中的至少一种。节点标识是一种标识,用于唯一标识目标节点,具体可以包括字母、数字和符号中至少一种字符的字符串。操作类型是管理操作的类型,包括删除节点和修改节点权限中的至少一种。
具体地,节点管理请求可以是由终端发送至管理员节点。终端可以通过管理员账号登陆访问节点管理客户端,通过节点管理客户端向管理员节点发送节点管理请求。节点管理客户端可以展示区块链节点列表。区块链节点列表包括当前区块链网络中所有区块链节点的节点信息,每个区块链节点的节点信息均设置有节点管理按钮,节点管理按钮与操作类型存在对应关系。节点管理按钮包括删除按钮和修改权限按钮中的至少一种。删除按钮对应的操作类型为删除节点,修改权限按钮对应的操作类型为修改节点权限。当检测到某个区块链节点对应的节点管理按钮的触发操作时,根据该区块链节点的节点标识和该节点管理按钮对应的操作类型生成节点管理请求,将节点管理请求发送至区块链网络中的管理员节点。
在一个实施例中,节点管理请求可以是管理员节点自己生成的。当共识节点发生故障时,共识节点可以向管理员节点上报故障事件,管理员节点接收到该故障事件后可以生成节点管理请求。共识节点发生故障可以是共识节点本身的硬件性能故障。比如,该共识节点的CPU(Central Processing Unit,中央处理器)、电源或者机箱等硬件部件发生损坏。共识节点发生故障也可以是共识节点本身的软件性故障。比如,该共识节点的软件发生了错误,共识节点所存储的区块的数据被人为篡改,以及该共识节点受到了病毒入侵等情况,导致了该共识节点成为了恶意的共识节点。管理员节点可以根据故障事件对应的故障类型确定节点管理请求中的操作类型,例如软件性故障对应的操作类型为删除节点,硬件性能故障对应的操作类型为修改节点权限。
在一个实施例中,区块链网络包括多个区块链节点,区块链节点与区块链节点之间通过广播模块进行通信。每个区块链节点上分别运行有节点模块、智能合约模块、共识模块、存储模块和广播模块。广播模块可以提供区块链网络中节点之间通信的服务,以及对区块链节点列表和共识节点列表进行存储的服务。节点模块可以提供请求接收,对请求进行校验,对证书和私钥进行存储以及通过广播模块对请求进行广播的服务。请求包括终端发送的请求和节点发送的请求中的至少一种。智能合约模块可以提供根据计算机协议对交易数据进行处理得到处理结果的服务。共识模块可以提供区块链网络中共识节点之间通过共识运算以达成共识和生成区块,对共识节点列表进行存储的服务。存储模块可以提供将生成的区块存储至硬盘或数据库中的服务。
在一个实施例中,区块链网络中节点之间以及节点中模块之间可以通过gRPC(Google Remote Procedure Call Protocol,谷歌远程过程调用协议)来实现进行通信。gRPC是一种远程过程调用框架,可以通过protobuf(Protocol Buffers)将数据序列化为二进制编码,从而大幅减少需要传输的数据量,大幅提高数据传输性能。
在一个实施例中,管理员节点接收到节点管理请求后,可以对节点管理请求进行有效性验证,通过有效性验证的节点管理请求是正确且没有被篡改过的请求。节点管理请求的有效性验证具体可以是签名验证。终端在生成节点管理请求时可以对请求中的数据进行哈希计算,通过私钥对计算得到的哈希值进行加密,得到签名数据,将签名数据和公钥携带至请求中。管理员节点接收到请求后通过公钥对签名数据进行解密,得到解密数据,对请求中的数据通过同一哈希算法进行哈希计算,当计算得到的哈希值和解密数据一致时,节点管理请求的有效性验证通过。
S204,获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表。
其中,区块链节点列表包括当前区块链网络中管理员节点所管理的所有区块链节点的节点信息。节点信息包括节点标识、节点地址、节点权限、根证书和子证书中的至少一种。节点地址可以是节点的IP地址和端口号。节点权限包括有共识权限和无共识权限。有共识权限的节点包括管理员节点和共识节点。无共识权限的节点为观察者节点。
具体地,管理员节点可以获取存储在广播模块的区块链节点列表,在区块链节点列表中查找目标节点的节点标识对应的区块链节点的节点信息,根据操作类型对查找到的区块链节点的节点信息进行修改,以更新区块链节点列表,得到目标区块链节点列表。管理员节点可以将目标区块链节点列表存储至广播模块,将广播模块内的区块链节点列表替换为目标区块链节点列表,以保障广播模块始终存储最新的区块链节点列表。
S206,获取共识节点列表,根据目标区块链节点列表更新共识节点列表。
其中,共识节点列表包括当前区块链网络中管理员节点所管理的有共识权限的区块链节点的节点信息。
具体地,管理员节点可以根据目标区块链节点列表生成目标共识节点列表,将存储在广播模块的共识节点列表替换为目标共识节点列表,以保障共识模块始终存储最新的共识节点列表。
在一个实施例中,步骤S206,也就是获取共识节点列表,根据目标区块链节点列表更新共识节点列表具体包括:从目标区块链节点列表中获取目标区块链节点的节点信息,目标区块链节点的节点权限为有共识权限;根据目标区块链节点的节点信息生成目标共识节点列表;将共识节点列表更新为目标共识节点列表。
具体地,管理员节点可以从目标区块链节点列表中获取节点权限为有共识权限的区块链节点的节点信息,即从目标区块链节点列表中获取管理员节点和共识节点的节点信息,根据获取到的节点信息生成目标共识节点列表,将存储在广播模块的共识节点列表替换为目标共识节点列表。这样,当区块链节点列表更新时,即可根据更新后的区块链节点列表快速更新共识节点列表,保障了节点管理的效率。
S208,将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储。
其中,消息队列是消息传输过程中保存消息的容器。消息队列可以实时在消息发布者和消息订阅者之间同步消息,并确保消息发布者和消息订阅者之间消息一致。
具体地,广播模块可以发布携带主题的消息,广播模块发布的消息可以存入消息队列中。共识模块可以订阅携带主题的消息,消息队列可以向共识模块发送共识模块所订阅的消息。区块链节点的广播模块可以发布主题为共识节点列表的消息,区块链节点的共识模块可以订阅主题为共识节点列表的消息。管理员节点的广播模块获取到目标共识节点列表后,可将目标共识节点列表加入主题为共识节点列表的消息队列中,管理员节点的共识模块可以从主题为共识节点列表的消息队列中获取目标共识节点列表,并存储获取到的目标共识节点列表。这样,通过消息队列传输共识节点列表,可以保障在广播模块和共识模块之间实时同步最新的共识节点列表,保障广播模块和共识模块所存储的共识节点列表的一致性。
在一个实施例中,区块链网络中的节点A获取到终端发送的交易数据时,可以根据共识节点列表快速确定区块链网络中参与共识的其他节点,通过广播模块将交易数据发送至其他节点进行处理。其他节点可以将交易数据的处理结果反馈至节点A。节点A可以将其他节点反馈的处理结果发送至本地的共识模块,共识模块根据共识节点列表可以再次确认能够进行共识运算的处理结果,保障共识结果的有效性。记录在共识节点列表中节点所反馈的处理结果才可以进行共识运算。当节点A与其他节点达成共识后,共识模块可以根据交易数据相关的数据生成区块。其中,进行共识运算具体可以是对处理结果进行投票。当共识节点列表中超过第一预设阈值的节点,对交易数据进行处理所得到的处理结果一致时,则表示共识通过。当共识节点列表中超过第二预设阈值的节点,对交易数据进行处理所得到的处理结果不一致时,则表示共识不通过,则需要重新对交易数据进行处理,直至共识节点列表中超过第一预设阈值的节点,对交易数据进行处理所得到的处理结果一致。其中,第一预设阈值和第二预设阈值可以根据需要自定义,例如第一预设阈值为共识节点列表所记录节点总数的三分之二,第二预设阈值为共识节点列表所记录节点总数的三分之一。
S210,将节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新。
具体地,管理员节点可以通过广播模块将节点管理请求广播给目标区块链节点列表中的普通节点。目标区块链节点列表中的普通节点接收到节点管理请求后,可以按照与管理员节点相同的处理,对本地的区块链节点列表和共识节点列表进行更新。由于节点管理请求的数据量比更新后的区块链节点列表和共识节点列表的数据量小很多,通过广播节点管理请求而不是更新后的区块链节点列表和共识节点列表可以降低网络传输的数据量,并且传输节点管理请求比传输更新后的区块链节点列表和共识节点列表的速度快,从而可以提高节点管理的效率。
上述节点管理方法,区块链网络中的管理员节点可以接收目标节点的节点标识和操作类型的节点管理请求,获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表,获取共识节点列表,根据目标区块链节点列表更新共识节点列表,将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储,将节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新。这样,在区块链网络中设置管理员节点,管理员节点可以通过区块链节点列表对区块链网络中的普通节点进行集中管理,通过共识节点列表对区块链网络中参与共识的普通节点进行集中管理,从而提高了区块链网络的节点管理有效性。
在一个实施例中,如图3所示,步骤S202,也就是接收节点管理请求步骤之前,节点管理方法还包括:
S302,接收区块链生成请求,区块链生成请求携带待生成的区块链对应的区块链节点的节点信息,区块链节点包括管理员节点和普通节点。
其中,区块链生成请求是一种具备创建功能的请求,用于指示管理员节点创建区块链。
具体地,区块链生成请求可以是由终端发送至管理员节点,区块链生成请求携带有待生成的区块链对应的区块链节点的节点信息,也就是待生成的区块链对应的初始共识节点的节点信息,初始共识节点为多个。管理员节点接收到区块链生成请求后,可以按照对节点管理请求进行有效性验证相同的方法,对区块链生成请求进行有效性验证。当区块链生成请求的有效性验证通过时,管理员节点可以响应于区块链生成请求创建区块链。
S304,根据区块链生成请求在本地生成区块链对应的区块链信息、区块链对应的根证书、根证书对应的私钥、普通节点对应的子证书和子证书对应的私钥。
S306,根据区块链对应的根证书和区块链节点的节点信息生成区块链节点列表和共识节点列表。
S308,将共识节点列表通过消息队列同步到本地的共识模块进行存储。
其中,区块链信息是指各个模块中区块链对应的实例信息。根证书和子证书是数字证书,数字证书包括公钥、证书有效期、证书授权中心的信息以及证书授权中心的数字签名。根证书可以用于标识区块链的身份信息,同一区块链上的节点持有相同的根证书。管理员节点可以根据根证书确定自己管理的区块链。子证书可以用于标识节点的身份信息,不同的节点持有不同的子证书。管理员节点可以根据子证书确定自己管理的普通节点。根证书和子证书的证书授权中心为管理员节点。每个公钥存在对应的私钥,私钥用于对数据进行签名,公钥用于对数据进行验签。数字签名用于对证书进行有效性验证,子证书中的数字签名是用根证书对应的私钥进行签名。
可以理解,数字证书具体可以是利用x509证书算法生成,x509证书算法是数字证书标准,规定了数字证书的数据内容和数据格式,数字证书的数据内容具体可以包括版本号、序列号、签名算法、颁布者、有效期、公钥、签名值等。按照x509证书算法的相关规范即可解析出数字证书的数据内容。其中,签名算法是生成公钥和私钥的非对称加密算法,具体可以是Ed25519算法、ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线签名算法)算法、RSA算法,DSA(Digital Signature Algorithm,数字签名算法)算法或者国密算法(例如SM2算法、SM3算法)等,本申请实施例在此不做限定。
具体地,管理员节点接收到区块链生成请求后,可以执行创建区块链的操作。执行创建区块链的操作具体包括在本地的各个模块中创建区块链对应的实例,生成区块链对应的根证书和根证书对应的私钥,生成各个其他初始共识节点对应的子证书和子证书对应的私钥,将生成的证书和证书对应的私钥存储至节点模块,生成区块链节点列表和共识节点列表,将生成的区块链节点列表和共识节点列表存储至广播模块,将生成的共识节点列表通过消息队列同步到本地的共识模块进行存储。因为区块链是新建的,每个区块链节点都是具备投票权的节点,所以区块链节点列表和共识节点列表包括相同的信息。
S310,将区块链生成请求、根证书、子证书和子证书对应的私钥广播给普通节点,以使普通节点根据区块链生成请求在本地生成区块链对应的区块链信息、生成区块链节点列表和共识节点列表以及存储根证书、子证书、区块链节点列表和共识节点列表。
具体地,管理员节点可以将生成的子证书和子证书对应的私钥广播给相应的普通节点,例如,将子证书a和子证书a对应的私钥广播给普通节点A,将子证书b和子证书b对应的私钥广播给普通节点B。普通节点可以将接收到的子证书和子证书对应的私钥存储至本地的节点模块。此外,管理员节点可以将区块链生成请求和生成的根证书广播给所有普通节点。普通节点接收到区块链生成请求后,按照与管理员节点相同的操作,在本地生成区块链对应的区块链信息,生成区块链节点列表和共识节点列表,将生成的区块链节点列表和共识节点列表存储至广播模块,将生成的共识节点列表通过消息队列同步到本地的共识模块进行存储。
上述实施例中,管理员节点接收到区块链生成请求后,可以在本地生成区块链的相关信息,将区块链生成请求发送至普通节点,管理普通节点生成区块链的相关信息,进一步提高管理的有效性。管理员节点接收到区块链生成请求后,还可以生成区块链对应的根证书和普通节点对应的子证书,将根证书和子证书发送至普通节点,方便后续管理员节点在接收到普通节点发送的请求时,确定该普通节点是否是自己管理的普通节点,确定是否响应该请求。
在一个实施例中,操作类型为修改节点权限,修改节点权限包括取消节点共识权限和增加节点共识权限中的至少一种,步骤S206,也就是获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表的步骤具体包括:当修改节点权限为取消节点共识权限时,从区块链节点列表中将目标节点的节点权限修改为无共识权限,得到目标区块链节点列表;当修改节点权限为增加节点共识权限时,从区块链节点列表中将目标节点的节点权限修改为有共识权限,得到目标区块链节点列表。
具体地,节点管理请求可以用于修改普通节点的节点权限。当节点管理请求中的操作类型为取消节点共识权限,即该节点管理请求用于将目标节点的节点权限从有共识权限修改为无共识权限,管理员节点接收到该节点管理请求后,在区块链节点列表中将目标节点的节点权限修改为无共识权限,得到目标区块链节点列表。目标节点的节点权限为无共识权限时,该目标节点为观察者节点,该目标节点可以同步拉取共识节点生成的区块,实现数据查看的功能。当节点管理请求中的操作类型为增加节点共识权限,即该节点管理请求用于将目标节点的节点权限从无共识权限修改为有共识权限,管理员节点接收到该节点管理请求后,在区块链节点列表中将目标节点的节点权限修改为有共识权限,得到目标区块链节点列表。目标节点的节点权限为有共识权限时,该目标节点为共识节点,该目标节点可以参与共识生成区块,也可以查看生成的区块。
上述实施例中,当节点管理请求用于修改节点权限时,管理员节点可以及时更新区块链节点列表,保障区块链节点列表数据的准确性。同时,管理员节点管理共识节点的数量还可以提高区块链处理交易共识出块的效率。
在一个实施例中,操作类型为删除节点,步骤S206,也就是获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表的步骤具体包括:从区块链节点列表中删除节点标识对应的节点信息,得到目标区块链节点列表。节点管理方法还包括:获取目标节点对应的子证书,将目标节点对应的子证书加入无效证书列表。
具体地,节点管理请求可以用于删除节点。管理员节点接收到用于删除节点的节点管理请求后,在区块链节点列表中删除目标节点的节点信息,得到目标区块链节点列表。当目标区块链节点列表没有目标节点的节点信息时,表明管理员节点不管理该目标节点,管理员节点断开与该目标节点的通信连接。并且,管理员节点还可以将该目标节点对应的子证书加入无效证书列表,进一步取消对该目标节点的管理。
参照图4A,图4A为一个实施例中区块链网络中区块链节点的结构框图。举例说明,参考图4区块链网络中存在四个区块链节点:节点1(管理员节点)、节点2(共识节点)、节点3(共识节点)和节点4(共识节点)。管理员节点的节点模块存储有根证书和无效证书列表。各个共识节点的节点模块存储有各自的子证书。各个区块链节点的广播模块存储有区块链节点列表和共识节点列表。广播模块的共识节点列表可以通过消息队列实时同步到共识模块。当前区块链网络中的区块链节点列表和共识节点列表均包括节点1、节点2、节点3和节点4的节点信息。节点管理客户端可以向管理员节点发送取消节点4节点共识权限的节点管理请求,管理员节点根据该节点管理请求可以在区块链节点列表中修改节点4的节点信息,在共识节点列表中删除节点4的节点信息,并将该节点管理请求发送至节点2、节点3和节点4,以使节点2、节点3和节点4同样在在区块链节点列表中修改节点4的节点信息,在共识节点列表中删除节点4的节点信息。取消节点4的节点共识权限后,节点4成为观察者节点,节点4仍可以接收区块和请求,但是无法参与交易处理、共识和生成区块。取消节点4的节点共识权限后,区块链网络中区块链节点的结构框图如图4B所示。进一步的,节点管理客户端还可以向管理员节点发送删除节点4的节点管理请求,管理员节点根据该节点管理请求可以在区块链节点列表中删除节点4的节点信息,将节点4的子证书加入无效证书列表,并将该节点管理请求发送至节点2、节点3和节点4,以使节点2、节点3和节点4同样在在区块链节点列表中删除节点4的节点信息。删除节点4后,区块链网络中区块链节点的结构框图如图4C所示。
上述实施例中,当节点管理请求用于删除节点时,管理员节点可以及时更新区块链节点列表,保障区块链节点列表数据的准确性。
在一个实施例中,如图5所示,节点管理方法还包括:
S502,接收节点加入请求,节点加入请求携带请求发送节点的子证书和节点信息。
其中,节点加入请求是一种具备添加功能的请求,用于指示管理员节点将请求发送节点加入区块链。请求发送节点为发送节点加入请求的节点。
具体地,请求发送节点可以向管理员节点申请子证书和子证书对应的私钥,然后请求发送节点可以将获取到的子证书和自身的节点信息携带至节点加入请求,将节点加入请求发送至管理员节点,向管理员节点请求加入区块链。
S504,获取根证书,根据根证书对子证书进行有效性验证。
S506,当有效性验证通过时,将请求发送节点的节点信息加入区块链节点列表,得到更新区块链节点列表。
具体地,因为子证书中的数字签名是用根证书对应的私钥进行签名,所以管理员节点接收到节点加入请求后,可以根据根证书验证子证书的数字签名,以确定该子证书的有效性,具体可以是验证子证书是否是自己颁发的,是否在有效期内等。当节点加入请求的有效性验证通过时,表明节点加入请求携带的子证书是管理员节点颁发的且在有效期内,那么管理员节点可以将请求发送节点的节点信息加入区块链节点列表,得到更新区块链节点列表。更新区块链节点列表中该请求发送节点的节点权限为无共识权限,若想修改请求发送节点的节点权限,可以发送节点管理请求至管理员节点。
S508,将根证书、更新区块链节点列表和共识节点列表发送至请求发送节点,以使请求发送节点根据更新区块链网络节点列表加入区块链,存储接收到的根证书、更新区块链节点列表和共识节点列表。
具体地,管理员节点可以向请求发送节点返回更新区块链节点列表、当前共识节点列表和根证书。请求发送节点接收到更新区块链节点列表后,将更新区块链节点列表存储至广播模块,并主动和更新区块链节点列表中的普通节点建立通信连接。请求发送节点接收到根证书后,将根证书存储至节点模块。请求发送节点接收到共识节点列表后,将共识节点列表存储至广播模块,并将共识节点列表通过消息队列同步到本地的共识模块进行存储。普通节点和请求发送节点建立通信连接后,普通节点可以根据通信连接获取请求发送节点的节点信息,将请求发送节点的节点信息加入本地的区块链节点列表。
上述实施例中,在新节点加入区块链前,先对新节点进行有效性验证,可以保障新节点是管理员节点信任的节点,也就是安全的节点,这样就保障了区块链网络的安全性。
在一个实施例中,根证书包括公钥,步骤S210,也就是将节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新的步骤具体包括:对节点管理请求进行哈希处理,得到哈希处理结果;获取根证书对应的私钥,根据获取到的私钥对所述哈希处理结果进行签名,得到签名数据;将所述节点管理请求、哈希处理结果和签名数据发送至目标区块链节点列表中的普通节点,以使普通节点根据所述哈希处理结果和本地根证书中的公钥对所述签名数据进行签名验证,当签名验证通过时,根据所述节点管理请求携带的节点标识和操作类型对本地的区块链节点列表和共识节点列表进行更新。
具体地,管理员节点将节点管理请求发送至普通节点之前,可以通过哈希算法对节点管理请求中的数据进行哈希处理,得到哈希处理结果,通过根证书对应的私钥对哈希处理结果进行签名,也就是通过根证书对应的私钥对节点管理请求中的数据进行加密,得到签名数据。管理员节点将签名数据、哈希处理结果和节点管理请求一起发送至目标区块链节点列表中的普通节点。普通节点接收到签名数据、哈希处理结果和节点管理请求后,通过本地存储的根证书中的公钥和接收到的哈希处理结果对签名数据进行签名验证。当通过根证书中的公钥对签名数据进行解密得到的解密数据和接收到的哈希处理结果一致时,表明签名验证通过,确定节点管理请求是管理员节点发送的,普通节点即可响应于节点管理请求,根据节点管理请求中的节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表,根据目标区块链节点列表更新共识节点列表,得到目标共识节点列表,将目标区块链节点列表和目标共识节点列表存储至广播模块,将目标共识节点列表通过消息队列同步到本地的共识模块进行存储。其中,哈希算法具体可以是MD4(Message Digest 4、消息摘要4)算法、SM3算法(一种密码散列函数标准)。MD5(Message Digest 5,消息摘要5)算法、SHA(Secure Hash Algorithm,安全散列算法)算法等,本申请实施例在此不做限定。
在一个实施例中,还可以进一步验证节点管理请求的数据完整性,防止节点管理请求被篡改。对节点管理请求进行完整性验证具体是普通节点通过根证书中的公钥对签名数据进行解密,得到解密数据,通过同一哈希算法对节点管理请求中的数据进行哈希计算,当计算得到的哈希值和解密数据一致时,节点管理请求的完整性验证通过。
上述实施例中,管理员节点发送节点管理请求至目标区块链节点列表中的普通节点之前,对节点管理请求进行哈希处理,得到哈希处理结果,根据根证书对应的私钥对哈希处理结果进行签名得到签名数据,普通节点接收到节点管理请求、哈希处理结果和签名数据之后,根据根证书和哈希处理结果对签名数据进行签名验证,只有签名验证通过,普通节点才会响应节点管理请求。这样,通过非对称加密算法来验证节点管理请求的发送方信息,可以保障节点管理请求是管理员节点发送的,进而保障了区块链网络的安全性。
应该理解的是,上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种节点管理装置,包括:请求接收模块602、列表更新模块604、列表同步模块606和请求发送模块608,其中:
请求接收模块602,用于接收节点管理请求,节点管理请求携带目标节点的节点标识和操作类型;
列表更新模块604,用于获取区块链节点列表,根据节点标识和操作类型更新区块链节点列表,得到目标区块链节点列表;获取共识节点列表,根据目标区块链节点列表更新共识节点列表;
列表同步模块606,用于将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储;
请求发送模块608,用于将节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新。
在一个实施例中,节点管理装置还包括:
区块链生成模块,用于接收区块链生成请求,区块链生成请求携带待生成的区块链对应的区块链节点的节点信息,区块链节点包括管理员节点和普通节点;根据区块链生成请求在本地生成区块链对应的区块链信息、区块链对应的根证书、根证书对应的私钥、普通节点对应的子证书和子证书对应的私钥;根据区块链对应的根证书和区块链节点的节点信息生成区块链节点列表和共识节点列表;将共识节点列表通过消息队列同步到本地的共识模块进行存储;将区块链生成请求、根证书、子证书和子证书对应的私钥广播给普通节点,以使普通节点根据区块链生成请求在本地生成区块链对应的区块链信息、生成区块链节点列表和共识节点列表以及存储根证书、子证书、区块链节点列表和共识节点列表。
在一个实施例中,操作类型为修改节点权限,修改节点权限包括取消节点共识权限和增加节点共识权限中的至少一种,列表更新模块还用于当修改节点权限为取消节点共识权限时,从区块链节点列表中将目标节点的节点权限修改为无共识权限,得到目标区块链节点列表;当修改节点权限为增加节点共识权限时,从区块链节点列表中将目标节点的节点权限修改为有共识权限,得到目标区块链节点列表。
在一个实施例中,操作类型为删除节点,列表更新模块还用于从区块链节点列表中删除节点标识对应的节点信息,得到目标区块链节点列表。列表更新模块还用于获取目标节点对应的子证书,将目标节点对应的子证书加入无效证书列表。
在一个实施例中,节点管理装置还包括:
节点加入模块,用于接收节点加入请求,节点加入请求携带请求发送节点的子证书和节点信息;获取根证书,根据根证书对所述子证书进行有效性验证;当有效性验证通过时,将请求发送节点的节点信息加入区块链节点列表,得到更新区块链节点列表;将根证书、更新区块链节点列表和共识节点列表发送至请求发送节点,以使请求发送节点根据更新区块链网络节点列表加入区块链,存储接收到的根证书、更新区块链节点列表和共识节点列表。
在一个实施例中,根证书包括公钥,请求发送模块还用于对节点管理请求进行哈希处理,得到哈希处理结果;获取根证书对应的私钥,根据获取到的私钥对所述哈希处理结果进行签名,得到签名数据;将所述节点管理请求、哈希处理结果和签名数据发送至目标区块链节点列表中的普通节点,以使普通节点根据所述哈希处理结果和本地根证书中的公钥对所述签名数据进行签名验证,当签名验证通过时,根据所述节点管理请求携带的节点标识和操作类型对本地的区块链节点列表和共识节点列表进行更新。
在一个实施例中,列表更新模块还用于从目标区块链节点列表中获取目标区块链节点的节点信息,目标区块链节点的节点权限为有共识权限;根据目标区块链节点的节点信息生成目标共识节点列表;将共识节点列表更新为目标共识节点列表。
在一个实施例中,管理员节点和普通节点包括节点模块、共识模块和广播模块;管理员节点的节点模块用于接收第一目标请求和存储第一目标数据,第一目标请求包括节点管理请求、区块链生成请求和节点加入请求中的至少一种,第一目标数据包括区块链对应的根证书、根证书对应的私钥、普通节点对应的子证书、子证书对应的私钥以及无效证书列表中的至少一种;普通节点的节点模块用于接收第二目标请求和存储第二目标数据,第二目标请求包括节点管理请求和区块链生成请求中的至少一种,第二目标数据包括区块链对应的根证书、普通节点对应的子证书和子证书对应的私钥中的至少一种;共识模块用于存储共识节点列表、共识节点列表中节点之间共识和生成区块;广播模块用于区块链网络中节点之间通信以及存储区块链节点列表和共识节点列表。
关于节点管理装置的具体限定可以参见上文中对于节点管理方法的限定,在此不再赘述。上述节点管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储区块链网络的相关数据,例如根证书、区块链节点列表、共识节点列表等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种节点管理方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述节点管理方法的步骤。此处节点管理方法的步骤可以是上述各个实施例的节点管理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述节点管理方法的步骤。此处节点管理方法的步骤可以是上述各个实施例的节点管理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种节点管理方法,应用于区块链网络中的管理员节点,其特征在于,所述方法包括:
接收节点管理请求,所述节点管理请求携带目标节点的节点标识和操作类型;
获取区块链节点列表,根据所述节点标识和操作类型更新所述区块链节点列表,得到目标区块链节点列表;
获取共识节点列表,根据所述目标区块链节点列表更新所述共识节点列表;
将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储;
将所述节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新;
其中,所述管理员节点是在区块链网络中具备管理权和投票权的区块链节点,用于在区块链网络中管理其他区块链节点和参与共识;所述普通节点包括共识节点和观察者节点;所述共识节点是在区块链网络中具备投票权的节点,用于在区块链网络中参与共识;所述观察者节点是区块链网络中的备份节点,用于在区块链网络中备份共识节点中的数据。
2.根据权利要求1所述的方法,其特征在于,所述接收节点管理请求之前,所述方法还包括:
接收区块链生成请求,所述区块链生成请求携带待生成的区块链对应的区块链节点的节点信息,所述区块链节点包括管理员节点和普通节点;
根据所述区块链生成请求在本地生成所述区块链对应的区块链信息、所述区块链对应的根证书、根证书对应的私钥、所述普通节点对应的子证书和子证书对应的私钥;
根据所述区块链对应的根证书和所述区块链节点的节点信息生成区块链节点列表和共识节点列表;
将所述共识节点列表通过消息队列同步到本地的共识模块进行存储;
将所述区块链生成请求、根证书、子证书和子证书对应的私钥广播给所述普通节点,以使普通节点根据所述区块链生成请求在本地生成所述区块链对应的区块链信息、生成区块链节点列表和共识节点列表以及存储所述根证书、子证书、区块链节点列表和共识节点列表。
3.根据权利要求1所述的方法,其特征在于,所述操作类型为修改节点权限,所述修改节点权限包括取消节点共识权限和增加节点共识权限中的至少一种,所述获取区块链节点列表,根据所述节点标识和操作类型更新所述区块链节点列表,得到目标区块链节点列表,包括:
当所述修改节点权限为取消节点共识权限时,从所述区块链节点列表中将所述目标节点的节点权限修改为无共识权限,得到目标区块链节点列表;
当所述修改节点权限为增加节点共识权限时,从所述区块链节点列表中将所述目标节点的节点权限修改为有共识权限,得到目标区块链节点列表。
4.根据权利要求1所述的方法,其特征在于,所述操作类型为删除节点,所述获取区块链节点列表,根据所述节点标识和操作类型更新所述区块链节点列表,得到目标区块链节点列表包括:
从区块链节点列表中删除所述节点标识对应的节点信息,得到目标区块链节点列表;
所述方法还包括:
获取所述目标节点对应的子证书,将所述目标节点对应的子证书加入无效证书列表。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收节点加入请求,所述节点加入请求携带请求发送节点的子证书和节点信息;
获取根证书,根据所述根证书对所述子证书进行有效性验证;
当有效性验证通过时,将所述请求发送节点的节点信息加入区块链节点列表,得到更新区块链节点列表;
将所述根证书、更新区块链节点列表和共识节点列表发送至所述请求发送节点,以使所述请求发送节点根据所述更新区块链网络节点列表加入区块链,存储接收到的根证书、更新区块链节点列表和共识节点列表。
6.根据权利要求2所述的方法,其特征在于,所述根证书包括公钥,所述将所述节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新,包括:
对节点管理请求进行哈希处理,得到哈希处理结果;
获取根证书对应的私钥,根据获取到的私钥对所述哈希处理结果进行签名,得到签名数据;
将所述节点管理请求、哈希处理结果和签名数据发送至目标区块链节点列表中的普通节点,以使普通节点根据所述哈希处理结果和本地根证书中的公钥对所述签名数据进行签名验证,当签名验证通过时,根据所述节点管理请求携带的节点标识和操作类型对本地的区块链节点列表和共识节点列表进行更新。
7.根据权利要求1所述的方法,其特征在于,所述获取共识节点列表,根据所述目标区块链节点列表更新所述共识节点列表,包括:
从所述目标区块链节点列表中获取目标区块链节点的节点信息,所述目标区块链节点的节点权限为有共识权限;
根据所述目标区块链节点的节点信息生成目标共识节点列表;
将所述共识节点列表更新为所述目标共识节点列表。
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述管理员节点和普通节点包括节点模块、共识模块和广播模块;
所述管理员节点的节点模块用于接收第一目标请求和存储第一目标数据,所述第一目标请求包括节点管理请求、区块链生成请求和节点加入请求中的至少一种,所述第一目标数据包括区块链对应的根证书、根证书对应的私钥、普通节点对应的子证书、子证书对应的私钥以及无效证书列表中的至少一种;
所述普通节点的节点模块用于接收第二目标请求和存储第二目标数据,所述第二目标请求包括节点管理请求和区块链生成请求中的至少一种,所述第二目标数据包括区块链对应的根证书、普通节点对应的子证书和子证书对应的私钥中的至少一种;
所述共识模块用于存储共识节点列表、共识节点列表中节点之间共识和生成区块;
所述广播模块用于区块链网络中节点之间通信以及存储区块链节点列表和共识节点列表。
9.一种节点管理装置,其特征在于,所述装置包括:
请求接收模块,用于接收节点管理请求,所述节点管理请求携带目标节点的节点标识和操作类型;
列表更新模块,用于获取区块链节点列表,根据所述节点标识和操作类型更新所述区块链节点列表,得到目标区块链节点列表;获取共识节点列表,根据所述目标区块链节点列表更新所述共识节点列表;
列表同步模块,用于将更新后的共识节点列表通过消息队列同步到本地的共识模块进行存储;
请求发送模块,用于将所述节点管理请求发送至目标区块链节点列表中的普通节点,以使普通节点对本地的区块链节点列表和共识节点列表进行更新;
其中,区块链网络包括管理员节点和普通节点,所述管理员节点是在区块链网络中具备管理权和投票权的区块链节点,用于在区块链网络中管理其他区块链节点和参与共识;所述普通节点包括共识节点和观察者节点;所述共识节点是在区块链网络中具备投票权的节点,用于在区块链网络中参与共识;所述观察者节点是区块链网络中的备份节点,用于在区块链网络中备份共识节点中的数据。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN202010461404.6A 2020-05-27 2020-05-27 节点管理方法、装置、计算机设备和存储介质 Active CN111786812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010461404.6A CN111786812B (zh) 2020-05-27 2020-05-27 节点管理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010461404.6A CN111786812B (zh) 2020-05-27 2020-05-27 节点管理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111786812A CN111786812A (zh) 2020-10-16
CN111786812B true CN111786812B (zh) 2023-06-20

Family

ID=72753856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010461404.6A Active CN111786812B (zh) 2020-05-27 2020-05-27 节点管理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111786812B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162971B (zh) * 2020-12-03 2022-07-22 腾讯科技(深圳)有限公司 区块链节点管理方法、装置、计算机以及可读存储介质
CN112822267B (zh) * 2021-01-05 2022-08-26 支付宝(杭州)信息技术有限公司 基于区块链的数据处理方法和装置
CN113157709A (zh) * 2021-01-29 2021-07-23 百果园技术(新加坡)有限公司 分布式系统节点动态变更方法、装置、设备及存储介质
CN113010600B (zh) * 2021-02-02 2023-01-31 腾讯科技(深圳)有限公司 一种基于区块链的数据管理系统、方法、相关设备及介质
CN113157810B (zh) * 2021-04-29 2023-02-03 网易(杭州)网络有限公司 一种区块同步方法、计算机设备和存储介质
CN113259118B (zh) * 2021-06-02 2021-09-24 支付宝(杭州)信息技术有限公司 同步节点信息列表的方法
CN114710296B (zh) * 2022-05-17 2022-08-23 奇安信科技集团股份有限公司 网络安全事件的处理方法、系统以及区块链平台

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107332701A (zh) * 2017-06-26 2017-11-07 中国人民银行数字货币研究所 管理节点的方法和系统
CN107579848A (zh) * 2017-08-30 2018-01-12 上海保险交易所股份有限公司 实用拜占庭容错共识机制中动态更改共识节点的方法
CN110187831A (zh) * 2019-05-13 2019-08-30 华宇金信(北京)软件有限公司 区块链联盟链的区块数据存储系统及方法
CN110661658A (zh) * 2019-09-23 2020-01-07 腾讯科技(深圳)有限公司 一种区块链网络的节点管理方法、装置及计算机存储介质
WO2020011284A2 (en) * 2019-09-05 2020-01-16 Alibaba Group Holding Limited System and method for adding node in blockchain network
CN110855777A (zh) * 2019-11-12 2020-02-28 腾讯科技(深圳)有限公司 一种基于区块链的节点管理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107332701A (zh) * 2017-06-26 2017-11-07 中国人民银行数字货币研究所 管理节点的方法和系统
CN107579848A (zh) * 2017-08-30 2018-01-12 上海保险交易所股份有限公司 实用拜占庭容错共识机制中动态更改共识节点的方法
CN110187831A (zh) * 2019-05-13 2019-08-30 华宇金信(北京)软件有限公司 区块链联盟链的区块数据存储系统及方法
WO2020011284A2 (en) * 2019-09-05 2020-01-16 Alibaba Group Holding Limited System and method for adding node in blockchain network
CN110661658A (zh) * 2019-09-23 2020-01-07 腾讯科技(深圳)有限公司 一种区块链网络的节点管理方法、装置及计算机存储介质
CN110855777A (zh) * 2019-11-12 2020-02-28 腾讯科技(深圳)有限公司 一种基于区块链的节点管理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于分组的区块链共识算法;张思贤等;《计算机应用与软件》;20200312;第37卷(第03期);全文 *

Also Published As

Publication number Publication date
CN111786812A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN111786812B (zh) 节点管理方法、装置、计算机设备和存储介质
CN110998556B (zh) 区块链网络中的数据隔离
US10790976B1 (en) System and method of blockchain wallet recovery
KR102472231B1 (ko) 블록체인 구현 방법 및 시스템
CN111133733B (zh) 用于基于云平台的自动区块链部署的方法和系统
US7620824B2 (en) Data communicating apparatus, data communicating method, and program
US7213147B2 (en) Methods and apparatus for managing secure collaborative transactions
EP3831012B1 (en) Bidirectional blockchain
CN111625869B (zh) 数据处理方法及数据处理装置
CN113328997B (zh) 联盟链跨链系统及方法
JP2023504535A (ja) アイデンティティ(id)ベース公開鍵生成プロトコル
CN109754226B (zh) 数据管理方法、设备和存储介质
Kollmann et al. Snapdoc: Authenticated snapshots with history privacy in peer-to-peer collaborative editing
CN116032613A (zh) 区块链数字凭证交换方法、文件存储访问方法和系统
US20160080336A1 (en) Key Usage Detection
CN110737725A (zh) 电子信息检验方法、装置、设备、介质及系统
CN110784318B (zh) 群密钥更新方法、装置、电子设备、存储介质及通信系统
CN115242471B (zh) 信息传输方法、装置、电子设备及计算机可读存储介质
CN113342802A (zh) 区块链数据存储的方法和装置
CN112350920A (zh) 基于区块链的即时通讯系统
CN111083122A (zh) 一种基于区块链的电子证据处理方法、系统及存储介质
CN116561820B (zh) 可信数据处理方法及相关装置
CN114793220B (zh) 即时消息通信方法、装置、程序、介质及设备
KR102329376B1 (ko) 수정 가능한 블록체인 아키텍처
CN114143098B (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
GR01 Patent grant
GR01 Patent grant