CN113949632B - 一种区块链的节点动态配置方法及装置 - Google Patents

一种区块链的节点动态配置方法及装置 Download PDF

Info

Publication number
CN113949632B
CN113949632B CN202111573063.2A CN202111573063A CN113949632B CN 113949632 B CN113949632 B CN 113949632B CN 202111573063 A CN202111573063 A CN 202111573063A CN 113949632 B CN113949632 B CN 113949632B
Authority
CN
China
Prior art keywords
license
block chain
node
target
network configuration
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
CN202111573063.2A
Other languages
English (en)
Other versions
CN113949632A (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.)
Beijing Xita Technology Co ltd
Original Assignee
Beijing Xita Technology 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 Beijing Xita Technology Co ltd filed Critical Beijing Xita Technology Co ltd
Priority to CN202111573063.2A priority Critical patent/CN113949632B/zh
Publication of CN113949632A publication Critical patent/CN113949632A/zh
Application granted granted Critical
Publication of CN113949632B publication Critical patent/CN113949632B/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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • 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/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration

Abstract

一种区块链的节点动态配置方法及装置,应用于区块链的节点设备,所述方法包括:接收目标节点请求加入所述区块链的加入请求,所述加入请求中携带所述目标节点的网络配置信息、以及目标许可证;基于所述区块链的分布式账本中存证的许可证校验信息,校验所述目标许可证的有效性;若所述目标许可证被校验有效,将所述目标节点的网络配置信息,写入所述节点设备的区块链网络配置表,并向所述区块链网络中的其他节点设备发送携带所述目标节点的网络配置信息的节点更新消息,以使所述区块链网络中的其他节点设备将所述目标节点的网络配置信息,写入所述其他节点设备的区块链网络配置表。应用该方案,可以提升区块链节点配置的效率。

Description

一种区块链的节点动态配置方法及装置
技术领域
本说明书涉及区块链技术领域,尤其涉及一种区块链的节点动态配置。
背景技术
在区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的技术。在实际业务中,为了提高区块链网络的可靠性,或者为了进行业务扩展,可能需要向已有的区块链网络中添加新的区块链节点设备。
在相关技术中,现有区块链网络中各节点的IP地址、端口等网络配置信息可以存放在各节点的配置文件中,在需要向区块链网络中添加新的区块链节点设备时,可以通过更新现有的配置文件的方式,使得现有区块链网络中各节点“获知”新的区块链节点设备的IP地址、端口等网络配置信息,从而使得新的区块链节点能够与上述各节点建立通信连接。
然而,在云原生环境中,出于安全性考虑,区块链节点通常没有自动修改对应的配置文件的权限,在区块链网络规模较大的情况下,上述配置文件的更新只能由运维人员手动完成,效率低下且容易出错。
发明内容
有鉴于此,本说明书公开了一种区块链的节点动态配置方法和装置。
根据本说明书实施例的第一方面,公开了一种区块链的节点动态配置方法,应用于区块链的节点设备,包括:
接收目标节点请求加入所述区块链的加入请求,所述加入请求中携带所述目标节点的网络配置信息、以及目标许可证;
基于所述区块链的分布式账本中存证的许可证校验信息,校验所述目标许可证的有效性;
若所述目标许可证被校验有效,将所述目标节点的网络配置信息,写入所述节点设备的区块链网络配置表,并向所述区块链网络中的其他节点设备发送携带所述目标节点的网络配置信息的节点更新消息,以使所述区块链网络中的其他节点设备将所述目标节点的网络配置信息,写入所述其他节点设备的区块链网络配置表。
可选的,所述节点设备的区块链网络配置表,包括存储在所述节点设备搭载的数据库中设立的区块链网络配置表。
可选的,所述目标许可证为一次性许可证;
若所述目标许可证被校验有效,所述方法还包括:
使用所述目标许可证的已使用信息,对所述区块链的分布式账本中存证的许可证校验信息进行更新。
可选的,所述方法还包括:
在所述区块链的分布式账本中,存证区块链管理服务端发送的许可证校验信息。
可选的,所述方法还包括:
获取区块链管理服务端发送的许可证有效性确认请求;
基于所述区块链的分布式账本中存证的所述许可证校验信息,确定所述许可证有效性确认请求指示的许可证是否有效;
若所述许可证有效性确认请求指示的许可证有效,则向所述区块链管理服务端发送有效性确认信息,以使所述区块链管理服务端响应于所述有效性确认信息,向请求许可证的客户端下发所述许可证有效性确认请求指示的许可证。
根据本说明书实施例的第二方面,公开了一种区块链的节点动态配置装置,应用于区块链的节点设备,包括:
接收模块,接收目标节点请求加入所述区块链的加入请求,所述加入请求中携带所述目标节点的网络配置信息、以及目标许可证;
校验模块,基于所述区块链的分布式账本中存证的许可证校验信息,校验所述目标许可证的有效性;
写入模块,若所述目标许可证被校验有效,将所述目标节点的网络配置信息,写入所述节点设备的区块链网络配置表,并向所述区块链网络中的其他节点设备发送携带所述目标节点的网络配置信息的节点更新消息,以使所述区块链网络中的其他节点设备将所述目标节点的网络配置信息,写入所述其他节点设备的区块链网络配置表。
可选的,所述节点设备的区块链网络配置表,包括存储在所述节点设备搭载的数据库中设立的区块链网络配置表。
可选的,所述目标许可证为一次性许可证;
所述装置还包括:
更新模块,在所述目标许可证被校验有效的情况下,使用所述目标许可证的已使用信息,对所述区块链的分布式账本中存证的许可证校验信息进行更新。
可选的,所述装置还包括:
存证模块,在所述区块链的分布式账本中,存证区块链管理服务端发送的许可证校验信息。
可选的,所述装置还包括:
下发模块,获取区块链管理服务端发送的许可证有效性确认请求;基于所述区块链的分布式账本中存证的所述许可证校验信息,确定所述许可证有效性确认请求指示的许可证是否有效;若所述许可证有效性确认请求指示的许可证有效,则向所述区块链管理服务端发送有效性确认信息,以使所述区块链管理服务端响应于所述有效性确认信息,向请求许可证的客户端下发所述许可证有效性确认请求指示的许可证。
根据本说明书实施例的第三方面,公开了一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现上述任一方面实施例所述的方法。
根据本说明书实施例的第四方面,公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方面实施例所述的方法。
以上技术方案中,一方面,由于目标节点请求加入上述区块链的加入请求中携带有目标许可证,而接收到上述加入请求的区块链节点设备可以根据区块链分布式账本中存证到许可证校验信息校验上述目标许可证的有效性,因此,该方案可以实现自动化的权限校验,免除对新加入区块链的节点的人工审核,提高工作效率并降低错误率。
另一方面,即使在云原生环境下,上述区块链的节点设备用于存储链上其他节点的网络配置信息的载体可以是节点能够读写的区块链网络配置表,而不再是云原生环境下需要人工编写的配置文件,亦可以提高工作效率并降低错误率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书文本一同用于解释原理。
图1是本说明书示出的一种区块链网络扩展的情景示例图;
图2是本说明书示出的一种区块链的节点动态配置方法的流程示例图;
图3是本说明书示出的一种使用许可证控制节点加入区块链网络的交互逻辑示例图;
图4是本说明书示出的一种区块链的节点动态配置装置的结构示例图;
图5是本说明书示出的一种用于区块链的节点动态配置的计算机设备的结构示例图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与本说明书的一些方面相一致的系统和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的技术。在实际业务中,为了提高区块链网络的可靠性,或者为了进行业务扩展,可能需要向已有的区块链网络中添加新的区块链节点设备。
请参见图1,图1是本说明书示出的一种区块链网络扩展的情景示例图;具体而言,在该示例中,为了实现对于图示的区块链的扩展,需要将图示的目标节点与上述区块链之间建立通信连接、使得该目标节点得以加入区块链网络。在具体实现时,由于区块链是一个分布式的网络系统,区块链中的节点需要彼此明确对方的IP地址、端口等网络配置信息,才能够实现区块链的功能。在相关技术中,现有区块链网络中各节点的IP地址、端口等网络配置信息可以存放在各节点的配置文件中,在需要向区块链网络中添加新的区块链节点设备时,可以通过更新现有的配置文件的方式,使得现有区块链网络中各节点“获知”新的区块链节点设备的IP地址、端口等网络配置信息,从而使得新的区块链节点能够与上述各节点建立通信连接。
举例而言,若某节点的配置文件的部分内容如下所示:
Lua
# Current node ip is 172.16.37.115
port = 4000
enable_discovery = false
[[peers]]
ip = "172.16.37.113"
port = 4001
[[peers]]
ip = "172.16.37.114"
port = 4002
[[peers]]
ip = "172.16.37.116"
port = 4003
则可以确认,该IP地址为172.16.37.115且使用的端口号为4000的当前节点(Current node)已“获知”的区块链中的其他节点至少包括:IP地址为172.16.37.113且端口号为4001的一个节点、IP地址为172.16.37.114且端口号为4002的一个节点、以及IP地址为172.16.37.116且端口号为4003的一个节点。
然而,在云原生环境中,区块链节点可以运行在云计算集群的容器环境中,出于安全性考虑,上述运行在容器环境中的区块链节点通常没有主动修改对应的配置文件的权限,需要向区块链添加新的区块链节点时,需要由授权的运维人员对上述新的区块链节点进行审核,并在审核通过的情况下手动完成对上述配置文件进行内容更新;显然,在区块链网络规模较大的情况下,上述方案效率低下、且容易出错。
基于此,本说明书提出一种基于许可证校验机制对待加入区块链的目标节点进行校验,并通过各个节点各自的区块链网络配置表对新加入区块链的目标节点的网络配置信息进行存储的区块链节点动态配置方案。
在实现时,目标节点可以向待加入的区块链网络中的任意节点发起加入请求,并在该加入请求中携带其网络配置信息以及用于权限校验的目标许可证,以使上述任意节点首先根据区块链分布式账本中存证的许可证校验信息对上述目标许可证进行校验,并在校验通过之后将上述目标节点的网络配置信息更新到自身以及其他区块链节点的区块链网络配置表中。
以上技术方案中,一方面,由于目标节点请求加入上述区块链的加入请求中携带有目标许可证,而接收到上述加入请求的区块链节点设备可以根据区块链分布式账本中存证到许可证校验信息校验上述目标许可证的有效性,因此,该方案可以实现自动化的权限校验,免除对新加入区块链的节点的人工审核,提高工作效率并降低错误率。
另一方面,即使在云原生环境下,上述区块链的节点设备用于存储链上其他节点的网络配置信息的载体可以是节点能够读写的区块链网络配置表,而不再是云原生环境下需要人工编写的配置文件,亦可以提高工作效率并降低错误率。
下面通过具体实施例并结合具体的应用场景对本说明书进行描述。
请参考图2,图2是本说明书一实施例提供的一种区块链的节点动态配置方法,应用于区块链的节点设备,该方法可以包括如下步骤:
S201,接收目标节点请求加入所述区块链的加入请求,所述加入请求中携带所述目标节点的网络配置信息、以及目标许可证;
S202,基于所述区块链的分布式账本中存证的许可证校验信息,校验所述目标许可证的有效性;
S203,若所述目标许可证被校验有效,将所述目标节点的网络配置信息,写入所述节点设备的区块链网络配置表,并向所述区块链网络中的其他节点设备发送携带所述目标节点的网络配置信息的节点更新消息,以使所述区块链网络中的其他节点设备将所述目标节点的网络配置信息,写入所述其他节点设备的区块链网络配置表。
上述区块链,可以包括任意形式的区块链;在本领域中,区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(Private Blockchain)和联盟链(ConsortiumBlockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。其中,去中心化程度最高的是公有链,私有链则可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少,联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。本领域技术人员可以根据具体的业务需求自行选择具体使用的区块链类型,本说明书对此不作详细限定。
上述节点设备,可以包括类型或形态的节点设备;从功能角度上划分,区块链节点设备可以包括全功能节点、只读节点、轻量化节点等等,其中全功能节点可以参与共识、智能合约逻辑计算、数据存储等等业务,而只读节点则通常不参与共识投票,仅提供数据保存的功能,用于提高区块链的稳定性,轻量化节点则可以仅存储有最新的若干个区块的数据,其能够处理的业务也相对受限,但能够降低节点设备所需付出的存储成本。从形态角度上划分,区块链节点设备可以包括独立运行区块链节点客户端的个人计算机、智能手机等物理设备,也可以指运行在云服务器中的区块链节点虚拟机;当然可以理解的是,通过云原生引擎运行多个区块链节点的云计算集群,亦可以视为一种节点设备,但在讨论区块链节点个体时,则指上述云计算集群中相对独立运行的各个区块链节点进程。
在本说明书中,上述区块链中的任意节点设备可以首先接收目标节点请求加入上述区块链的加入请求,其中,上述加入请求中可以携带上述目标节点的网络配置信息、以及目标许可证;举例而言,假设某一行业协会所运营的联盟链需要进行扩张,某个新加入该行业协会的企业所运行的目标节点即需要加入该联盟链,则该企业的目标节点即可向上述联盟链中的任意节点发送加入请求,并在该加入请求中携带该目标节点预先持有的许可证、以及该目标节点的IP地址、端口号、公钥等等网络配置信息。
当然可以理解的是,上述加入请求并非是严格限定的一个请求,而也可以指用于实现上述请求加入区块链这一功能的一组子请求;例如,上述网络配置信息以及目标许可证也可以分别由两个子请求承载,对此类数据结构、通信方式等方案细节,本领域技术人员可以根据具体的业务需求进行设计,本说明书无需进行进一步列举或者限定。
亦可以理解的是,上述网络配置信息,可以指任意的用于建立网络通信连接的参数集合,除IP地址、端口号、公钥以外还可以包括vlan信息、运维人员自定义标准的标识号等等,本说明书对此无需进行详细限定。
在本说明书中,上述节点设备可以基于上述区块链的分布式账本中存证的许可证校验信息,校验上述目标许可证的有效性;举例而言,假设上述许可证中包含的是一个经过许可证的签发机构的私钥加密的字符串,并事先约定该字符串的原文为“yyyy-mm-dd-[随机数]”的格式,其中yyyy-mm-dd为许可证过期日期,则存证在上述区块链的分布式账本中的则是对应的解密公钥、以及用于校验解密后的字符串是否符合上述格式的校验规则。上述区块链节点设备在获取到上述许可证之后,即可通过区块链的分布式账本中存证的解密公钥对上述加密字符串进行解密,再使用上述校验规则校验解密后的上述字符串是否合法。
当然可以理解的是,本说明书的技术效果的实现更加依赖于交互流程的设计,而不依赖于某一具体的许可证数据结构、内容、或者校验方式,因此上述许可证的具体内容以及校验算法等等均可以由本领域普通技术人员根据具体的业务需求自行确定。
在本说明书中,若上述目标许可证被校验有效,上述节点设备可以将上述目标节点的网络配置信息,写入上述节点设备的区块链网络配置表,并进一步向上述区块链网络中的其他节点设备发送携带上述目标节点的网络配置信息的节点更新消息,从而使上述区块链网络中的其他节点设备将上述目标节点的网络配置信息,写入上述其他节点设备的区块链网络配置表。
可以理解的是,通常对于运行在云原生集群的容器中的区块链节点而言,传统意义上的配置文件是用于指导容器以及容器中的应用完成任务的外置文件,运行在容器中的区块链节点通常只能读取而不能主动修改;因此,上述节点设备的区块链网络配置表显然不能等同于节点设备无法直接操作的配置文件,换言之,在本说明书中所指的区块链网络配置表,指的是功能上用于存储区块链中各节点的网络配置信息、性质上能够由对应的节点进行读取和修改的数据文件。
在示出的一种实施方式中,所述节点设备的区块链网络配置表,包括存储在所述节点设备搭载的数据库中设立的区块链网络配置表。通常对于区块链节点设备而言,其不仅可以维护属于区块链系统的分布式数据库,还可以维护一个属于自己的本地数据库;因此,上述区块链网络配置表,还可以存储在上述节点的本地数据库中,方便该节点进行高效的读取和修改。
在示出的一种实施方式中,上述目标许可证为一次性许可证;在此种情况下,若上述目标许可证被校验有效,则上述方法还可以包括:使用上述目标许可证的已使用信息,对上述区块链的分布式账本中存证的许可证校验信息进行更新。举例而言,上述目标许可证使用的一种基于计数器的校验流程,每个合法的许可证各自对应于不同的许可数字作为校验信息,且可以预设每个目标许可证在校验一次成功之后,即销毁校验信息中对应的许可数字;那么,只要合法用户完成了目标许可证的首次校验,链上更新后的校验信息中就不再包含该目标许可证对应的许可数字,即使目标许可证遭到盗用,盗用者也无法再通过合法性校验。
因此,应用上述方案,可以进一步提升上述节点动态配置过程的安全性。
在示出的一种实施方式中,上述方法还可以包括上述许可证校验信息的初始化过程;具体而言,上述区块链节点设备可以在上述区块链的分布式账本中,存证区块链管理服务端发送的许可证校验信息。通常认为,上述许可证,可以由中心化的区块链管理服务端进行下发;继续以前述某一行业协会所运营的联盟链需要进行扩张的情景为例,则该区块链管理服务端可以由上述行业协会的理事会管理,而每个实际加入了上述行业协会的企业,都可以从该行业协会的理事会管理的区块链管理服务端中申领到许可证。
虽然,通常认为上述初始化过程应首先完成,但可以理解的是,上述过程也可以随时进行;例如,1月1日,区块链管理服务端下发了50个可用的许可证,并在上述区块链的分布式账本中存证了这50个许可证对应的许可证校验信息;但在1月10日时发现上述50个许可证已经用掉了45个,则区块链管理服务端可以再新增100个许可证,并将新增的100个许可证对应的许可证校验信息存证到上述区块链的分布式账本中。
因此,本说明书中所指的许可证校验信息,既可以随着许可证的新增而增加,也可以随着许可证的作废而减少,从而宏观上呈现为动态管理的形态。
在示出的一种实施方式中,上述方法还可以包括对于待下发的许可证的有效性检查步骤;具体而言,上述区块链节点设备可以首先获取区块链管理服务端发送的许可证有效性确认请求;再基于上述区块链的分布式账本中存证的上述许可证校验信息,确定上述许可证有效性确认请求指示的许可证是否有效;若上述许可证有效性确认请求指示的许可证有效,则向上述区块链管理服务端发送有效性确认信息,以使上述区块链管理服务端响应于上述有效性确认信息,向请求许可证的客户端下发上述许可证有效性确认请求指示的许可证。
继续以前述1月1日,区块链管理服务端下发了50个可用的许可证为例,在实际使用的过程中,有可能出现区块链管理服务端与区块链的分布式账本信息不同步的情况;例如,某一次性的许可证License-123已经被张三使用,并在区块链的分布式账本中标记销毁,但区块链管理服务端未同步到该信息,则可能将该License-123再次下发给李四,而李四则会由于License-123对应的校验信息已经被销毁而无法通过合法性校验,业务受阻。因此,上述区块链管理服务端在下发许可证之前,可以首先与上述区块链的节点设备通信、以确认待下发的许可证仍然是区块链的分布式账本中承认的可用的许可证,再将该许可证实际下发至目标节点。
请参见图3,图3是本说明书示出的一种使用许可证控制节点加入区块链网络的交互逻辑示例图;在该示例中,交互流程整体可以划分为申请许可证和应用许可证两大环节;其中,在申请许可证阶段,新节点可以首先向区块链管理服务端请求许可证,区块链服务端在收到该请求之后,则可以从其管理的若干许可证中选取一个假设有效的许可证,并通过与上述区块链的任意区块链节点沟通的方式,从区块链的分布式账本中确认上述假设有效的许可证是否有效;若该假设有效的许可证确认有效,即可将该假设有效的许可证下发给上述新节点。
在应用上述许可证的阶段,则可以由上述新节点与上述区块链中的任意节点建立数据通道,并使用从前述区块链管理服务端中得到的许可证提出加入该区块链的请求;上述任意节点在校验上述许可证有效之后,则可以将上述新节点的IP地址、端口信息、公钥等网络配置信息写入该任意节点的数据库中的区块链网络配置表,并进一步向区块链中的其他区块链节点发送更新消息,使得其他节点也能够将上述新节点的IP地址、端口信息、公钥等网络配置信息写入对应的数据库中的区块链网络配置表中,至此,区块链中的原有节点设备均能够通过更新后的区块链网络配置表连接到上述新节点,上述新节点也就成功地加入了上述区块链网络。
上述内容即为本说明书针对所述区块链的节点动态配置方法的全部实施例。基于以上叙述可知,应用上述技术方案,可以实现自动化的权限校验,免除对新加入区块链的节点的人工审核、以及对配置文件的人工修改,提高工作效率并降低错误率。
本说明书还提供了对应的区块链的节点动态配置装置的实施例如下:
本说明书提出一种区块链的节点动态配置装置,应用于区块链的节点设备,其结构示例如图4所示,可以包括如下模块:
接收模块401,接收目标节点请求加入所述区块链的加入请求,所述加入请求中携带所述目标节点的网络配置信息、以及目标许可证;
校验模块402,基于所述区块链的分布式账本中存证的许可证校验信息,校验所述目标许可证的有效性;
写入模块403,若所述目标许可证被校验有效,将所述目标节点的网络配置信息,写入所述节点设备的区块链网络配置表,并向所述区块链网络中的其他节点设备发送携带所述目标节点的网络配置信息的节点更新消息,以使所述区块链网络中的其他节点设备将所述目标节点的网络配置信息,写入所述其他节点设备的区块链网络配置表。
在一种具体实施方式中,上述节点设备的区块链网络配置表,可以包括存储在上述节点设备搭载的数据库中设立的区块链网络配置表。应用该方案,可以方便上述节点对区块链网络配置表进行高效的读取和修改。
在一种具体实施方式中,上述目标许可证为一次性许可证;上述装置还可以包括:更新模块,在上述目标许可证被校验有效的情况下,使用上述目标许可证的已使用信息,对上述区块链的分布式账本中存证的许可证校验信息进行更新。应用该方案,可以对上述区块链的分布式账本中存证的许可证校验信息进行及时的更新,保障一次性使用的许可证不被二次滥用,提高节点加入机制的安全性。
在一种具体实施方式中,上述装置还可以包括:存证模块,在上述区块链的分布式账本中,存证区块链管理服务端发送的许可证校验信息。使用该方案,可以进一步改善区块链管理服务端与上述区块链的分布式账本的信息同步,避免许可证的误发,提高目标节点加入区块链的成功率。
在一种具体实施方式中,上述装置还可以包括:下发模块,获取区块链管理服务端发送的许可证有效性确认请求;基于上述区块链的分布式账本中存证的上述许可证校验信息,确定上述许可证有效性确认请求指示的许可证是否有效;若上述许可证有效性确认请求指示的许可证有效,则向上述区块链管理服务端发送有效性确认信息,以使上述区块链管理服务端响应于上述有效性确认信息,向请求许可证的客户端下发上述许可证有效性确认请求指示的许可证。使用该方案,可以进一步避免许可证的误发,提高目标节点加入区块链的成功率。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的区块链的节点动态配置方法。
图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的区块链的节点动态配置方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (10)

1.一种区块链的节点动态配置方法,应用于区块链的节点设备,包括:
接收目标节点请求加入所述区块链的加入请求,所述加入请求中携带所述目标节点的网络配置信息、以及目标许可证;
基于所述区块链的分布式账本中存证的许可证校验信息,校验所述目标许可证的有效性;
若所述目标许可证被校验有效,将所述目标节点的网络配置信息,写入所述节点设备的区块链网络配置表,并向所述区块链网络中的其他节点设备发送携带所述目标节点的网络配置信息的节点更新消息,以使所述区块链网络中的其他节点设备将所述目标节点的网络配置信息,写入所述其他节点设备的区块链网络配置表;
所述区块链的节点设备还对接到区块链管理服务端,所述区块链管理服务端用于向所述区块链的节点设备发送待存证的许可证校验信息、以及下发许可证,所述方法还包括:
获取所述区块链管理服务端发送的许可证有效性确认请求;
基于所述区块链的分布式账本中存证的所述许可证校验信息,确定所述许可证有效性确认请求指示的许可证是否有效;
若所述许可证有效性确认请求指示的许可证有效,则向所述区块链管理服务端发送有效性确认信息,以使所述区块链管理服务端响应于所述有效性确认信息,向请求许可证的客户端下发所述许可证有效性确认请求指示的许可证。
2.根据权利要求1所述的方法,所述节点设备的区块链网络配置表,包括存储在所述节点设备搭载的数据库中设立的区块链网络配置表。
3.根据权利要求1所述的方法,所述目标许可证为一次性许可证;
若所述目标许可证被校验有效,所述方法还包括:
使用所述目标许可证的已使用信息,对所述区块链的分布式账本中存证的许可证校验信息进行更新。
4.根据权利要求1所述的方法,所述方法还包括:
在所述区块链的分布式账本中,存证区块链管理服务端发送的许可证校验信息。
5.一种区块链的节点动态配置装置,应用于区块链的节点设备,包括:
接收模块,接收目标节点请求加入所述区块链的加入请求,所述加入请求中携带所述目标节点的网络配置信息、以及目标许可证;
校验模块,基于所述区块链的分布式账本中存证的许可证校验信息,校验所述目标许可证的有效性;
写入模块,若所述目标许可证被校验有效,将所述目标节点的网络配置信息,写入所述节点设备的区块链网络配置表,并向所述区块链网络中的其他节点设备发送携带所述目标节点的网络配置信息的节点更新消息,以使所述区块链网络中的其他节点设备将所述目标节点的网络配置信息,写入所述其他节点设备的区块链网络配置表;
所述区块链的节点设备还对接到用于向所述区块链的节点设备发送待存证的许可证校验信息、以及下发许可证的区块链管理服务端,所述装置还包括:
下发模块,获取所述区块链管理服务端发送的许可证有效性确认请求;基于所述区块链的分布式账本中存证的所述许可证校验信息,确定所述许可证有效性确认请求指示的许可证是否有效;若所述许可证有效性确认请求指示的许可证有效,则向所述区块链管理服务端发送有效性确认信息,以使所述区块链管理服务端响应于所述有效性确认信息,向请求许可证的客户端下发所述许可证有效性确认请求指示的许可证。
6.根据权利要求5所述的装置,所述节点设备的区块链网络配置表,包括存储在所述节点设备搭载的数据库中设立的区块链网络配置表。
7.根据权利要求5所述的装置,所述目标许可证为一次性许可证;
所述装置还包括:
更新模块,在所述目标许可证被校验有效的情况下,使用所述目标许可证的已使用信息,对所述区块链的分布式账本中存证的许可证校验信息进行更新。
8.根据权利要求5所述的装置,所述装置还包括:
存证模块,在所述区块链的分布式账本中,存证区块链管理服务端发送的许可证校验信息。
9.一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现权利要求1~4任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~4任一所述的方法。
CN202111573063.2A 2021-12-21 2021-12-21 一种区块链的节点动态配置方法及装置 Active CN113949632B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111573063.2A CN113949632B (zh) 2021-12-21 2021-12-21 一种区块链的节点动态配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111573063.2A CN113949632B (zh) 2021-12-21 2021-12-21 一种区块链的节点动态配置方法及装置

Publications (2)

Publication Number Publication Date
CN113949632A CN113949632A (zh) 2022-01-18
CN113949632B true CN113949632B (zh) 2022-06-28

Family

ID=79339473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111573063.2A Active CN113949632B (zh) 2021-12-21 2021-12-21 一种区块链的节点动态配置方法及装置

Country Status (1)

Country Link
CN (1) CN113949632B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361390B (zh) * 2022-10-21 2023-01-20 中国信息通信研究院 用于加入区块链网络的方法、计算机存储介质及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018120121A1 (zh) * 2016-12-30 2018-07-05 深圳前海达闼云端智能科技有限公司 区块链权限控制方法、装置及节点设备
CN109379429A (zh) * 2018-10-25 2019-02-22 龚玉环 一种基于区块链的多链管理方法及系统
US11184446B2 (en) * 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
CN110011978B (zh) * 2019-03-08 2021-02-12 创新先进技术有限公司 修改区块链网络配置的方法、系统、装置及计算机设备
CN112202612B (zh) * 2020-09-29 2023-06-20 东软集团股份有限公司 区块链节点管理方法、存储介质、节点以及区块链系统
CN112380064A (zh) * 2020-11-18 2021-02-19 深圳前海微众银行股份有限公司 一种区块链中的共识节点容错方法、装置及系统
CN113206893B (zh) * 2021-07-05 2021-09-14 支付宝(杭州)信息技术有限公司 区块同步、节点加入区块链网络的方法

Also Published As

Publication number Publication date
CN113949632A (zh) 2022-01-18

Similar Documents

Publication Publication Date Title
TWI724391B (zh) 基於區塊鏈的節點管理方法和裝置
TWI737944B (zh) 基於區塊鏈的交易執行方法及裝置、電子設備
CN109218079B (zh) 一种区块链网络、部署方法及存储介质
CN110442652B (zh) 一种基于区块链的跨链数据处理方法及装置
EP3522088B1 (en) Securing blockchain access through a gateway
JP7228322B2 (ja) ブロックチェーン・ネットワークにおける自動コミット・トランザクション管理
WO2019013890A1 (en) BLOCK CHAIN
CN111382168B (zh) 在联盟链网络中创建节点组、基于节点组的交易方法
CN110390525B (zh) 区块链世界状态的直接访问方法及区块链节点
TW202018619A (zh) 基於區塊鏈的隱私交易及其應用方法和裝置
CN109447645B (zh) 一种设备联动方法、区块链网络及存储介质
CN111461723A (zh) 基于区块链的数据处理系统及方法、装置
CN111510333B (zh) 基于k3s平台的联盟区块链系统、实现方法及装置
CN109992285B (zh) 区块链代码块独立升级方法、装置及电子设备
WO2020258858A1 (zh) 块链式账本中的授权方法、系统、装置及设备
CN113837760B (zh) 数据处理方法、装置、计算机设备以及存储介质
CN112287033A (zh) 一种数据同步方法、设备以及计算机可读存储介质
US11360966B2 (en) Information processing system and method of controlling information processing system
CN110855688B (zh) 一种区块链信息处理方法及相关设备
CN114971827A (zh) 一种基于区块链的对账方法、装置、电子设备及存储介质
CN113949632B (zh) 一种区块链的节点动态配置方法及装置
CN113221165A (zh) 一种基于区块链的用户要素认证方法及装置
CN109388923B (zh) 一种程序执行方法及装置
CN114372280A (zh) 一种基于多签智能合约的区块链业务执行方法及装置
JP7452687B2 (ja) 識別子変更管理装置、識別子変更管理方法及び識別子変更管理プログラム

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