CN110661658B - 一种区块链网络的节点管理方法、装置及计算机存储介质 - Google Patents
一种区块链网络的节点管理方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN110661658B CN110661658B CN201910900043.8A CN201910900043A CN110661658B CN 110661658 B CN110661658 B CN 110661658B CN 201910900043 A CN201910900043 A CN 201910900043A CN 110661658 B CN110661658 B CN 110661658B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- target node
- intelligent contract
- management request
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种区块链网络的节点管理方法、装置及计算机存储介质,该区块链网络可以包括多个节点,该方法包括:检测节点管理请求;若检测到该节点管理请求,则向该多个节点中的其他节点广播该节点管理请求,以使得该其他节点对该节点管理请求进行共识验证,该节点管理请求包括第一目标节点的标识信息和操作类型;若智能合约检测出该其他节点的共识验证结果满足预设条件,则调用该智能合约根据该第一目标节点的标识信息对该第一目标节点执行与该操作类型对应的管理操作,以更新节点成员列表,该节点成员列表包括该多个节点中至少两个节点的标识信息。采用本发明,能够提升对区块链网络的节点管理效率。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链网络的节点管理方法、装置及计算机存储介质。
背景技术
随着区块链技术的发展,基于区块链网络的业务模式愈发常见,如何有效地管理区块链网络成为研究的热点。通常来说,针对区块链网络往往会配有专门的管理人员对其进行管理,例如,该管理人员会经常对区块链网络的配置进行修改,以满足时常变化的业务需求。在该过程中,管理人员若针对区块链网络中的任一节点的配置信息进行修改,需对其它节点存储的配置信息逐一进行相同的修改,从而完成对整个区块链网络的配置修改,并且实现节点管理的代码通常是用区块链的原生语言编写,内置在区块链代码中,当需要变更节点管理逻辑时,需要重启所有节点的配置,可见,上述方式对区块链网络的节点管理效率较低。
发明内容
本发明实施例提供了一种区块链网络的节点管理方法、装置及电子设备,可以提高对区块链网络的节点管理效率。
第一方面,本发明实施例提供了一种区块链网络的节点管理方法,所述区块链网络包括多个节点,所述方法包括:
检测节点管理请求;
若检测到所述节点管理请求,则向所述多个节点中的其他节点广播所述节点管理请求,以使得所述其他节点对所述节点管理请求进行共识验证,所述节点管理请求包括第一目标节点的标识信息和操作类型;
若智能合约检测出所述其他节点的共识验证结果满足预设条件,则调用所述智能合约根据所述第一目标节点的标识信息对所述第一目标节点执行与所述操作类型对应的管理操作,以更新节点成员列表,所述节点成员列表包括所述多个节点中至少两个节点的标识信息。
第二方面,本发明实施例提供了一种节点管理装置,所述区块链网络包括多个节点,所述装置包括:
检测模块,用于检测节点管理请求;
通信模块,用于若检测到所述节点管理请求,则向所述多个节点中的其他节点广播所述节点管理请求,以使得所述其他节点对所述节点管理请求进行共识验证,所述节点管理请求包括第一目标节点的标识信息和操作类型;
处理模块,用于若智能合约检测出所述其他节点的共识验证结果满足预设条件,则调用所述智能合约根据所述第一目标节点的标识信息对所述第一目标节点执行与所述操作类型对应的管理操作,以更新节点成员列表,所述节点成员列表包括所述多个节点中至少两个节点的标识信息。
第三方面,本发明实施例提供了一种电子设备,包括:处理器、输出设备和存储器;所述存储器,用于存储程序指令;所述处理器,调用所述程序指令,用于实现上述区块链网络的节点管理方法。
第四方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质中存储有程序指令,所述程序指令被执行时,用于实现上述区块链网络的节点管理方法。
综上所述,可以在检测到节点管理请求时,向区块链网络中的多个节点中的其它节点广播该节点管理请求,以便其他节点进行共识验证;若智能合约检测出其他节点的共识验证结果满足预设条件按,则调用智能合约对相应节点执行管理操作,相较于现有技术需要管理人员逐一进行管理的过程,本发明实施例能够提升对区块链网络的节点管理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明实施例提供的一种节点管理***的结构示意图;
图1B是本发明实施例提供的一种区块链的示意图;
图1C是本发明实施例提供的一种区块产生过程的示意图;
图1D是本发明实施例提供的一种智能合约的部署示意图;
图1E是现有技术提供的一种记账委员管理模块的部署示意图;
图2是本发明实施例提供的一种区块链网络的节点管理方法的流程示意图;
图3是本发明实施例提供的另一种区块链网络的节点管理方法的流程示意图;
图4是本发明实施例提供的一种节点管理装置的结构示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参见图1A所示的节点管理***,该节点管理***可以包括区块链网络100和终端设备102。其中:
区块链网络100是指用于进行节点与节点之间数据共享的网络。该区块链网络中可以包括多个节点101,多个节点101可以是指区块链网络中各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链网络内的共享数据。为了保证区块链网络内的信息互通,区块链网络中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链网络中的任意节点接收到输入信息时,区块链网络中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
终端设备102可以接入该区块链网络,并可以与区块链网络中的节点进行通信,例如,向节点发起节点管理请求,等等。其中,终端设备102具体可以是智能手机、平板电脑、笔记本电脑、台式电脑、车载智能终端等,本发明实施例不做限定。需要说明的是,图1A中所示的节点的数量仅仅是示意性的,根据实际需要,可以部署任意数量的节点。
对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有区块链网络中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链网络中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1B,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图1C,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据区块链网络中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链网络中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
其中,区块链网络的节点上可以运行智能合约,智能合约是用于在满足一定条件时而执行的代码实现,开发人员可以通过编程语言定义合约逻辑,发布到区块链上(智能合约注册),根据合约条款的逻辑,调用密钥或者其他的事件触发执行,完成合约逻辑,同时还提供对智能合约升级、注销的功能。
在一个实施例中,该智能合约可以运行在虚拟机上。在一个实施例中,该智能合约可以为用于管理节点的智能合约。
在一个实施例中,该智能合约在虚拟机的部署方式可以如下:接收广播的该智能合约,该智能合约指示了预设条件;在该其他节点对该智能合约共识通过后,将该智能合约运行在虚拟机上。例如,以图1D为例,节点1、2、3具体为记账节点,节点2可以接收广播的智能合约(具体是记账节点委员会合约),该记账委员会合约可以用于对记账节点进行管理。当节点1和节点3对该记账节点委员会合约共识通过后,将该记账节点委员会合约运行在虚拟机上。相较于如图1E所示的现有技术中将记账委员管理模块嵌入到区块链代码中的方式,本发明实施例将记账节点委员会合约运行在虚拟机上可以方便管理记账节点,实现对记账节点的灵活变更,而无需重启所有节点的配置。
在一些可行的实施方式中,区块链网络中的某一节点101可以在检测到节点管理请求时,向多个节点101中的其他节点101广播节点管理请求,以使得其他节点101对节点管理请求进行共识验证,节点管理请求包括第一目标节点的标识信息和操作类型;若智能合约检测出其他节点101的共识验证结果满足预设条件,则调用智能合约根据第一目标节点的标识对第一目标节点执行与操作类型对应的管理操作,以更新节点成员列表,节点成员列表包括多个节点101中至少两个节点101的标识信息,该标识信息包括但不限于前述提及的节点名称和/或节点标识。采用该过程能够基于共识验证和智能合约提高对区块链网络的节点管理效率。
在一些可行的实施方式中,该节点成员列表可以为前述提及的节点标识列表,如表1。
在一些可行的实施方式中,该至少两个节点101可以用于记账,并将记账产生的区块写入区块链中,即该至少两个节点101可以为记账节点。相应地,该节点成员列表可以为记账节点信息列表。
基于上述描述,本发明实施例提供了一种区块链网络的节点管理方法,能够应用于目标节点。其中,该目标节点可以为区块链网络包括的多个节点中的节点。请参阅图2,该方法具体可以包括以下步骤:
S201、检测节点管理请求。
其中,节点管理请求包括但不限于以下任一项:节点删除请求、节点增加请求、节点修改请求。该节点修改请求可以为节点信息修改请求,如节点权限修改请求。
在一个实施例中,节点管理请求可以由该目标节点自己生成。
在一个应用场景中,目标节点可以获取节点成员列表,并显示节点成员列表。用户(如管理员)可以点击该节点成员列表包括的节点1的信息对应的删除按钮,目标节点可以响应对该删除按钮的点击操作,得到节点管理请求,即节点删除请求,该节点管理请求携带节点1的标识以及操作类型:删除节点。
在一个实施例中,节点管理请求可以由终端设备发送至该节点。
在一个应用场景中,第一设备可以获取节点成员列表,并显示节点成员列表。用户可以点击该节点成员列表包括的节点1的信息对应的删除按钮,第一可以响应对该删除按钮的点击操作,显示确认提示信息。用户可以点击该确认提示信息包括的确认按钮,第一设备可以响应对该确认按钮的点击操作,得到节点管理请求,即节点删除请求,并可以将该节点管理请求发送至目标节点,目标节点可以接收该节点管理请求。
在一个实施例中,节点管理请求可以由节点广播至该目标节点。
S202、若检测到所述节点管理请求,则向所述多个节点中的其他节点广播所述节点管理请求,以使得所述其他节点对所述节点管理请求进行共识验证,所述节点管理请求包括第一目标节点的标识信息和操作类型。
其中,标识信息可以包括节点名称和/或节点标识等信息。操作类型可以包括以下任一项:删除节点、添加节点、修改节点信息,如修改节点权限。当节点管理请求为节点删除请求时,该节点管理请求包括的操作类型为删除节点。当节点管理请求为节点增加请求时,该节点管理请求包括的操作类型为添加节点。当节点管理请求为节点修改请求时,该节点管理请求包括的操作类型为修改节点信息。进一步地,当节点管理请求为节点权限修改请求时,该节点管理请求包括的操作类型为修改节点权限。
本发明实施例中,目标节点若检测到该节点管理请求,则向该多个节点中的其他节点广播该节点管理请求,该其他节点可以接收该节点管理请求,并对该节点管理请求进行共识验证。
在一个实施例中,该目标节点可以为多个节点中的任一节点。在一个实施例中,该其他节点可以是指多个节点中除目标节点之外的所有节点。
例如,结合图1来看,若目标节点为图1左上角的节点101,当该节点101检测到节点管理请求,则可以向其余三个节点101广播该节点管理请求,其余三个节点101可以接收该节点管理请求,并对该节点管理请求进行共识验证。
在一个实施例中,该目标节点可以为多个节点中的第一节点集合中的任一节点,该其他节点可以是指第一节点集合除该目标节点之外的所有节点。
在一个实施例中,该目标节点可以为第一节点集合中的任一记账节点。
在一个实施例中,该第一节点集合可以为记账节点集合,该其他节点可以是指第一节点集合中除目标节点之外的所有记账节点。
例如,结合图1来看,若目标节点为图1左上角的节点101,该图1左上角的节点为记账节点,当该节点101检测到节点管理请求,则可以向其余三个节点101中所有记账节点广播该节点管理请求,其余三个节点101中的所有记账节点可以接收该节点管理请求,并对该节点管理请求进行共识验证。
S203、若智能合约检测出所述其他节点的共识验证结果满足预设条件,则调用所述智能合约根据所述第一目标节点的标识信息对所述第一目标节点执行与所述操作类型对应的管理操作,以更新节点成员列表,所述节点成员列表包括所述多个节点中至少两个节点的标识信息。
例如,节点成员列表可以相当于前文所述的记账节点委员会,对记账节点委员会进行管理相当于对节点成员列表中的成员进行管理。
具体的,任意一个节点将自己的共识验证结果向区块链网络中的各个节点进行广播,节点调用智能合约检测其他节点的共识验证结果是否满足预设条件,若满足,则调用智能合约根据第一目标节点的标识信息对第一目标节点执行与操作类型对应的管理操作。
在一个实施例中,该满足预设条件,可以包括验证通过的数量达到预设数值。其中,该预设数值可以小于该其他节点包括的节点的数量。或还可以等于该其他节点包括的节点的数量。
在一个实施例中,该操作类型为删除节点,目标节点调用该智能合约根据该第一目标节点的标识对该第一目标节点执行与该操作类型对应的管理操作的过程可以为:目标节点调用该智能合约从节点成员列表中删除该第一目标节点的标识信息。具体地,该目标节点可以调用该智能合约根据该第一目标节点的标识信息,从节点成员列表中查到该第一目标节点的标识信息,并在该节点成员表中删除该第一目标节点的标识信息。
在一个实施例中,该操作类型为添加节点,目标节点调用该智能合约根据该第一目标节点的标识对该第一目标节点执行与该操作类型对应的管理操作的过程可以为:目标节点调用该智能合约在节点成员列表中添加该第一目标节点的标识信息。
在一个实施例中,该节点管理请求也可以携带除上述第一目标节点的标识信息之外的该第一目标节点的其它信息,如权限,并将该第一目标节点的其它信息添加至节点成员列表中。在一个实施例中,目标节点调用该智能合约在节点成员列表中添加该第一目标节点的标识信息之后,还可以为该第一目标节点赋予初始权限或其它信息包括的权限。
在一个实施例中,该操作类型为修改节点信息,目标节点调用该智能合约根据该第一目标节点的标识对该第一目标节点执行与该操作类型对应的管理操作的过程可以为:目标节点调用该智能合约在节点成员列表中修改该第一目标节点的信息。在一个实施例中,该节点管理请求可以携带修改配置信息(如修改的权限等信息),目标节点调用该智能合约,根据该修改配置信息在节点成员列表中修改该第一目标节点的信息。
可见,图2所示的实施例中,目标节点若检测到节点管理请求,则向该多个节点中的其他节点广播该节点管理请求,以使得该其他节点对该节点管理请求进行共识验证,该节点管理请求包括第一目标节点的标识信息和操作类型;若智能合约检测出该其他节点的共识验证结果满足预设条件,则目标节点调用该智能合约根据该第一目标节点的标识信息对该第一目标节点执行与该操作类型对应的管理操作,以更新节点成员列表,从而提升对区块链网络的节点管理效率。
请参阅图3,为本发明实施例提供的另一种区块链网络的节点管理方法的流程示意图。该方法可以应用于目标节点。其中,该目标节点可以为区块链网络包括的多个节点中的节点。具体地,该方法可以包括以下步骤:
S301、调用所述智能合约检测所述多个节点中各个节点的运行状态。
本发明实施例,目标节点可以调用智能合约检测该多个节点中各个节点的运行状态,以便确定出需要管理的节点。
在一个实施例中,该目标节点可以调用智能合约检测该多个节点中第一节点集合中各个节点的运行状态。在一个实施例中,该第一节点集合可以是记账节点集合。该记账节点集合可以由多个记账节点构成。
在一个实施例中,该运行状态包括但不限于以下任一项或多项:登录状态、在线次数、通信状态、更新状态、违规操作状态、执行违规操作的次数(如传播违规数据的次数,恶意攻击其他节点的次数,等等)状态。其中,登录状态可以分为离线状态和在线状态。通信状态可以分为异常通信状态和正常通信状态。节点的在线次数可以是指节点在预设时间范围内(如近一个月)的在线次数。更新状态可以分为异常更新状态和正常更新状态。异常更新状态是指不能正常更新的状态。正常更新状态是指能正常更新的状态。违规操作状态可以分为已执行违规操作状态和未执行违规操作状态。
S302、根据所述各个节点的运行状态从所述多个节点中确定出第一目标节点。
S303、生成针对所述第一目标节点的节点管理请求。
本发明实施例中,目标节点可以根据该各个节点的运行状态从该多个节点中确定出第一目标节点,并生成针对该第一目标节点的节点管理请求。采用上述过程,可以根据该各个节点的运行状态确定出一些异常节点以进行删除,或确定出一些关键节点以开放更多的权限。
在一个实施例中,目标节点根据该各个节点的运行状态从该多个节点中确定出第一目标节点的方式可以为:目标节点根据该各个节点的运行状态从该多个节点中确定出异常节点;目标节点将该异常节点作为第一目标节点。
在一个实施例中,当该第一目标节点为异常节点时,该节点管理请求包括的操作类型可以为删除节点或为修改节点权限(如删减部分权限)。
在一个实施例中,上述异常节点可以包括恶意节点和/或非工作状态节点。
在一个实施例中,目标节点根据该各个节点的运行状态从该多个节点中确定出第一目标节点的方式具体可以如下:目标节点根据该各个节点的登录状态从该多个节点中确定出恶意节点和处于非工作状态的节点;目标节点将该恶意节点和该处于非工作状态的节点作为第一目标节点。
在一个实施例中,该运行状态包括登录状态,目标节点根据该各个节点的运行状态从该多个节点中确定出处于非工作状态的节点的方式可以如下:目标节点根据该各个节点的登录状态,从该多个节点中确定出处于离线状态的节点作为处于非工作状态的节点。
在一个实施例中,该运行状态包括登录次数,目标节点根据该各个节点的运行状态从该多个节点中确定出处于非工作状态的节点的方式可以如下:目标节点根据该各个节点的在线次数,从该多个节点中确定出在线次数小于或等于第一预设次数(如3次)的节点作为处于非工作状态的节点。
在一个实施例中,该运行状态包括通信状态,目标节点根据该各个节点的运行状态从该多个节点中确定出处于非工作状态的节点的方式可以如下:目标节点根据该各个节点的通信状态,从该多个节点中确定出为异常通信状态的节点作为处于非工作状态的节点。
在一个实施例中,该运行状态包括违规操作状态,目标节点根据该各个节点的运行状态从该多个节点中确定出恶意节点的方式可以如下:目标节点根据该各个节点的违规操作状态,从该多个节点中确定出为已执行违规操作状态的节点作为恶意节点。
在一个实施例中,该运行状态可以包括执行违规操作的次数,目标节点根据该各个节点的运行状态从该多个节点中确定出处于非工作状态的节点的方式可以如下:目标节点根据该各个节点的执行违规操作的次数,从该多个节点中确定出执行违规操作次数大于或等于第二预设次数(如1次或2次)的节点作为恶意节点。
在一个实施例中,该运行状态可以包括登录次数和执行违规操作的次数,目标节点根据该各个节点的运行状态从该多个节点中确定出恶意节点的方式可以如下:目标节点根据该各个节点的登录次数和执行违规操作的次数,从该多个节点中确定出处于登录次数小于或等于第一预设次数,且执行违规操作的次数大于或等于第二预设次数的节点作为恶意节点。
在一个实施例中,目标节点可以从候选节点集合确定出至少一个候选节点,并将该至少一个候选节点确定为第二目标节点,并可以生成针对该第二目标节点的节点管理请求,该节点管理请求包括的操作类型可以为添加节点。
相应地,目标节点若检测到该节点管理请求,则向该多个节点中的其他节点广播该节点管理请求,以使得该其他节点对该节点管理请求进行共识验证,该节点管理请求包括第二目标节点的标识信息和操作类型(添加节点)。若智能合约检测出该其他节点的共识验证结果满足预设条件,则调用该智能合约根据该第二目标节点的标识信息对该第二目标节点执行与该操作类型(添加节点)对应的管理操作,以更新节点成员列表。在一个实施例中,上述确定出该至少一个候选节点的方式包括但不限于随机选取的方式或根据该候选节点集合中各个候选节点的性能参数等信息选取的方式。
在一个实施例中,上述从候选节点集合确定出至少一个候选节点的步骤,可以是目标节点可以在根据该各个节点的运行状态从该多个节点中确定出异常节点之后执行的,或还可以是智能合约统计出该节点成员列表指示的节点数量小于指定数量之后执行的。
在一个实施例中,目标节点根据该各个节点的运行状态从该多个节点中确定出第一目标节点的方式可以为:目标节点根据该各个节点的运行状态从该多个节点中确定出关键节点;目标节点将该关键节点作为第一目标节点。当该第一目标节点为关键节点时,该节点管理请求包括的操作类型可以为修改节点权限(如增加节点权限)。
在一个实施例中,该运行状态包括登录次数和违规操作状态,目标节点根据该各个节点的运行状态从该多个节点中确定出关键节点的方式可以为:目标节点根据该各个节点的运行状态,从该多个节点中确定出登录次数大于或等于第三预设次数(第三预设次数大于第一预设次数),且为未执行违规操作状态的节点作为关键节点。
在一个实施例中,还可以根据该各个节点的运行状态对该各个节点进行评级,并根据评级结果从该多个节点中选取位于最高等级的节点作为关键节点。级别越高,表示运行状态越好。
S304、检测节点管理请求。
S305、若检测到所述节点管理请求,则向所述多个节点中的其他节点广播所述节点管理请求,以使得所述其他节点对所述节点管理请求进行共识验证,所述节点管理请求包括第一目标节点的标识信息和操作类型。
S306、若智能合约检测出所述其他节点的共识验证结果满足预设条件,则调用所述智能合约根据所述第一目标节点的标识信息对所述第一目标节点执行与所述操作类型对应的管理操作,以更新节点成员列表,所述节点成员列表包括所述多个节点中至少两个节点的标识信息。
其中,步骤S304-S306可参见图2实施例中的步骤S201-S203,本发明实施例在此不做赘述。
在一种可选的实施方式中,该智能合约还指示了该至少两个节点之间的出块顺序,目标节点还可以当获取到提交的交易信息时,按照该出块顺序将该交易信息发送给该至少两个节点包括的第二目标节点,以使得该第二目标节点对该交易信息进行记账处理。指定出块顺序,可以方便进行记账管理,能够提升对记账节点的管理效率。
在一个实施例中,上述目标节点可以为记账节点。上述至少两个节点可以为记账节点。
在一个实施例中,当该出块顺序指示当前由该目标节点出块时,该目标节点可以当获取到提交的交易信息时,对该交易信息进行记账处理。
可见,图3所示的实施例中,目标节点可以根据该各个节点的运行状态从该多个节点中确定出第一目标节点,并生成针对该第一目标节点的节点管理请求,从而根据该节点管理请求执行共识验证、基于智能合约执行管理操作等步骤,实现了对节点自动化、灵活管理的过程,提升了对区块链网络的节点管理效率。
基于上述方法实施例的描述,在一个实施例中,本发明实施例还提供了一种如图4所示的节点管理装置的结构示意图。该节点管理装置可以应用于前述提及的目标节点。如图4所示,本发明实施例中的节点管理装置可包括:
检测模块401,用于检测节点管理请求。
通信模块402,用于若检测到所述节点管理请求,则向所述多个节点中的其他节点广播所述节点管理请求,以使得所述其他节点对所述节点管理请求进行共识验证,所述节点管理请求包括第一目标节点的标识信息和操作类型。
处理模块403,用于若智能合约检测出所述其他节点的共识验证结果满足预设条件,则调用所述智能合约根据所述第一目标节点的标识信息对所述第一目标节点执行与所述操作类型对应的管理操作,以更新节点成员列表,所述节点成员列表包括所述多个节点中至少两个节点的标识信息。
在一种可选的实施方式中,所述操作类型包括添加节点、删除节点或修改节点权限。
在一种可选的实施方式中,处理模块403,还用于调用所述智能合约检测所述多个节点中各个节点的运行状态;根据所述各个节点的运行状态从所述多个节点中确定出第一目标节点;生成针对所述第一目标节点的节点管理请求。
在一种可选的实施方式中,确定模块,具体用于根据所述各个节点的运行状态从所述多个节点中确定出恶意节点和处于非工作状态的节点;将所述恶意节点和所述处于非工作状态的节点作为第一目标节点;其中,所述操作类型为删除节点。
在一种可选的实施方式中,所述预设条件包括验证通过的节点的数量达到预设数值。
在一种可选的实施方式中,通信模块402,还用于在检测模块401检测节点管理请求之前,接收广播的所述智能合约,所述智能合约指示了所述预设条件。
在一种可选的实施方式中,处理模块403,还用于在所述其他节点对所述智能合约共识通过后,将所述智能合约运行在虚拟机上。
在一种可选的实施方式中,所述至少两个节点用于记账,并将记账产生的区块添加到区块链中。
在一种可选的实施方式中,所述智能合约还指示了所述至少两个节点之间的出块顺序,处理模块403,还用于当获取到提交的交易信息时,按照所述出块顺序将所述交易信息发送给所述至少两个节点包括的第二目标节点,以使得所述第二目标节点对所述交易信息进行记账处理。
可见,图4所示的实施例中,该节点管理装置若检测到节点管理请求,则向该多个节点中的其他节点广播该节点管理请求,以使得该其他节点对该节点管理请求进行共识验证,该节点管理请求包括第一目标节点的标识信息和操作类型;若智能合约检测出该其他节点的共识验证结果满足预设条件,则该节点管理装置可以调用该智能合约根据该第一目标节点的标识信息对该第一目标节点执行与该操作类型对应的管理操作,以更新节点成员列表,从而提升对区块链网络的节点管理效率。
请参阅图5,为本发明实施例提供的一种电子设备的结构示意图。该电子设备可以为前述提及的目标节点。如图5所示的本实施例中的电子设备可以包括:一个或多个处理器501;一个或多个输入设备502,一个或多个输出设备503和存储器504。上述处理器501、输入设备502、输出设备503和存储器504通过总线或其他方式连接。其中,输入设备502是可选的设备。存储器504用于存储计算机程序,所述计算机程序包括程序指令,处理器501用于执行所述存储器504存储的程序指令,以实现上述涉及的各种方法。
所述存储器504可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器504也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储器504还可以包括上述种类的存储器的组合。
在一个实施例中,该处理器501可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器,即微处理器或者任何常规的处理器。该存储器504可以包括只读存储器和随机存取存储器。因此,在此对于处理器501和存储器504不作限定。
在一个实施例中,处理器501调用所述存储器504中存储的程序指令,用于检测节点管理请求;若检测到所述节点管理请求,则通过输出设备503向所述多个节点中的其他节点广播所述节点管理请求,以使得所述其他节点对所述节点管理请求进行共识验证,所述节点管理请求包括第一目标节点的标识信息和操作类型;若智能合约检测出所述其他节点的共识验证结果满足预设条件,则调用所述智能合约根据所述第一目标节点的标识信息对所述第一目标节点执行与所述操作类型对应的管理操作,以更新节点成员列表,所述节点成员列表包括所述多个节点中至少两个节点的标识信息。
在一个实施例中,所述操作类型包括添加节点、删除节点或修改节点权限。
在一个实施例中,处理器501调用所述存储器504中存储的程序指令,还用于调用所述智能合约检测所述多个节点中各个节点的运行状态;根据所述各个节点的运行状态从所述多个节点中确定出第一目标节点;生成针对所述第一目标节点的节点管理请求。
在一个实施例中,处理器501调用所述存储器504中存储的程序指令执行所述根据所述各个节点的运行状态从所述多个节点中确定出第一目标节点,具体用于根据所述各个节点的运行状态从所述多个节点中确定出恶意节点和处于非工作状态的节点;将所述恶意节点和所述处于非工作状态的节点作为第一目标节点;其中,所述操作类型为删除节点。
在一个实施例中,所述预设条件包括验证通过的节点的数量达到预设数值。
在一个实施例中,处理器501调用所述存储器504中存储的程序指令,还用于在检测节点管理请求之前,通过输入设备502接收广播的所述智能合约,所述智能合约指示了所述预设条件;在所述其他节点对所述智能合约共识通过后,将所述智能合约运行在虚拟机上。
在一个实施例中,所述至少两个节点用于记账,并将记账产生的区块添加到区块链中。
在一个实施例中,所述智能合约还指示了所述至少两个节点之间的出块顺序,处理器501调用所述存储器504中存储的程序指令,还用于当获取到提交的交易信息时,按照所述出块顺序将所述交易信息发送给所述至少两个节点包括的第二目标节点,以使得所述第二目标节点对所述交易信息进行记账处理。
需要说明的是,上述描述的电子设备和单元的具体工作过程,可以参考前述各个实施例中的相关描述,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机存储介质中,该计算机存储介质可以为计算机可读存储介质,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (9)
1.一种区块链网络的节点管理方法,其特征在于,应用于区块链网络中的目标节点,所述区块链网络包括多个节点,所述多个节点中的每个节点存储一条相同的区块链,所述目标节点为所述多个节点中的任一节点,所述方法包括:
接收广播的智能合约,所述智能合约包括所述多个节点中除所述目标节点的其他节点的共识验证通过所要满足的预设条件;
在所述其他节点对所述智能合约共识通过后,将所述智能合约独立于所述区块链运行在虚拟机上;
检测节点管理请求;
若检测到所述节点管理请求,则向所述多个节点中的所述其他节点广播所述节点管理请求,以使得所述其他节点对所述节点管理请求进行共识验证,所述节点管理请求包括第一目标节点的标识信息和操作类型,所述第一目标节点是根据调用所述智能合约检测到的所述多个节点中各个节点的运行状态从所述多个节点中确定出的满足预设管理条件的节点;
若所述智能合约检测出所述其他节点的共识验证结果满足所述预设条件,则调用所述智能合约根据所述第一目标节点的标识信息对所述第一目标节点执行与所述操作类型对应的管理操作,以更新节点成员列表,所述节点成员列表包括所述多个节点中至少两个节点的标识信息。
2.根据权利要求1所述方法,其特征在于,所述操作类型包括添加节点、删除节点或修改节点权限。
3.根据权利要求1或2所述方法,其特征在于,所述方法还包括:
调用所述智能合约检测所述多个节点中各个节点的运行状态;
根据所述各个节点的运行状态从所述多个节点中确定出所述第一目标节点;
生成针对所述第一目标节点的节点管理请求。
4.根据权利要求3所述方法,其特征在于,所述根据所述各个节点的运行状态从所述多个节点中确定出第一目标节点,包括:
根据所述各个节点的运行状态从所述多个节点中确定出恶意节点和处于非工作状态的节点;
将所述恶意节点和所述处于非工作状态的节点作为第一目标节点;
其中,所述操作类型为删除节点。
5.根据权利要求1所述方法,其特征在于,所述预设条件包括验证通过的节点的数量达到预设数值。
6.根据权利要求1所述方法,其特征在于,所述至少两个节点用于记账,并将记账产生的区块添加到区块链中。
7.根据权利要求1或6所述方法,其特征在于,所述智能合约还指示了所述至少两个节点之间的出块顺序,所述方法还包括:
当获取到提交的交易信息时,按照所述出块顺序将所述交易信息发送给所述至少两个节点包括的第二目标节点,以使得所述第二目标节点对所述交易信息进行记账处理。
8.一种节点管理装置,其特征在于,应用于区块链网络中的目标节点,所述区块链网络包括多个节点,所述多个节点中的每个节点存储一条相同的区块链,所述目标节点为所述多个节点中的任一节点,所述装置包括:
检测模块,用于检测节点管理请求;
通信模块,用于若检测到所述节点管理请求,则向所述多个节点中的其他节点广播所述节点管理请求,以使得所述其他节点对所述节点管理请求进行共识验证,所述节点管理请求包括第一目标节点的标识信息和操作类型,所述第一目标节点是根据调用智能合约检测到的所述多个节点中各个节点的运行状态从所述多个节点中确定出的满足预设管理条件的节点;
处理模块,用于若智能合约检测出所述其他节点的共识验证结果满足预设条件,则调用所述智能合约根据所述第一目标节点的标识信息对所述第一目标节点执行与所述操作类型对应的管理操作,以更新节点成员列表,所述节点成员列表包括所述多个节点中至少两个节点的标识信息;
所述通信模块,还用于在检测模块检测节点管理请求之前,接收广播的所述智能合约,所述智能合约指示有所述预设条件;
所述处理模块,还用于在所述其他节点对所述智能合约共识通过后,将所述智能合约独立于所述区块链运行在虚拟机上。
9.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有程序指令,所述程序指令被执行时,用于实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910900043.8A CN110661658B (zh) | 2019-09-23 | 2019-09-23 | 一种区块链网络的节点管理方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910900043.8A CN110661658B (zh) | 2019-09-23 | 2019-09-23 | 一种区块链网络的节点管理方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110661658A CN110661658A (zh) | 2020-01-07 |
CN110661658B true CN110661658B (zh) | 2022-08-12 |
Family
ID=69038953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910900043.8A Active CN110661658B (zh) | 2019-09-23 | 2019-09-23 | 一种区块链网络的节点管理方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110661658B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444210B (zh) * | 2020-03-26 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 区块链共识节点管理方法、装置、设备以及存储介质 |
CN111464353B (zh) * | 2020-03-31 | 2022-12-09 | 财付通支付科技有限公司 | 区块链节点管理方法、装置、计算机以及可读存储介质 |
CN111459676B (zh) * | 2020-03-31 | 2024-06-18 | 腾讯科技(深圳)有限公司 | 一种节点资源管理方法、装置及存储介质 |
CN111461885B (zh) * | 2020-03-31 | 2024-03-19 | 财付通支付科技有限公司 | 共识网络管理方法、装置、计算机以及可读存储介质 |
CN111784103B (zh) * | 2020-05-22 | 2024-05-07 | 上海飞鱼医疗科技有限公司 | 一种基于区块链技术的试剂质量全流程管理*** |
CN111786812B (zh) * | 2020-05-27 | 2023-06-20 | 金蝶软件(中国)有限公司 | 节点管理方法、装置、计算机设备和存储介质 |
CN111405074B (zh) * | 2020-06-08 | 2020-09-08 | 南京邮电大学 | 一种基于混合链的数据中心网络故障诊断和自动配置方法 |
CN112055067B (zh) * | 2020-08-28 | 2023-04-18 | 杭州复杂美科技有限公司 | 节点连接方法、设备和存储介质 |
CN113010600B (zh) * | 2021-02-02 | 2023-01-31 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据管理***、方法、相关设备及介质 |
CN113190285B (zh) * | 2021-04-23 | 2023-06-20 | 神荼科技(山东)有限公司 | 基于区块链的虚拟环境安全检测方法、装置以及存储介质 |
CN113222757A (zh) * | 2021-05-06 | 2021-08-06 | 永旗(北京)科技有限公司 | 一种区块链智能合约管理方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
CN107332701A (zh) * | 2017-06-26 | 2017-11-07 | 中国人民银行数字货币研究所 | 管理节点的方法和*** |
WO2018111295A1 (en) * | 2016-12-16 | 2018-06-21 | Hitachi, Ltd. | Blockchain monitoring and management |
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
CN109831425A (zh) * | 2019-01-25 | 2019-05-31 | 中国联合网络通信集团有限公司 | 区块链共识方法、装置、设备及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11170371B2 (en) * | 2016-03-03 | 2021-11-09 | Nec Corporation | Method for managing data in a network of nodes |
US10764142B2 (en) * | 2017-11-16 | 2020-09-01 | International Business Machines Corporation | Clustered application management with a blockchain |
-
2019
- 2019-09-23 CN CN201910900043.8A patent/CN110661658B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018111295A1 (en) * | 2016-12-16 | 2018-06-21 | Hitachi, Ltd. | Blockchain monitoring and management |
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
CN107332701A (zh) * | 2017-06-26 | 2017-11-07 | 中国人民银行数字货币研究所 | 管理节点的方法和*** |
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
CN109831425A (zh) * | 2019-01-25 | 2019-05-31 | 中国联合网络通信集团有限公司 | 区块链共识方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于区块链的地学大数据管理;王亮等;《国防科技》;20180420(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110661658A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110661658B (zh) | 一种区块链网络的节点管理方法、装置及计算机存储介质 | |
CN108549580B (zh) | 自动部署Kubernetes从节点的方法及终端设备 | |
WO2021036545A1 (zh) | 一种基于智能合约的数据处理方法、设备及存储介质 | |
CN110569251A (zh) | 一种数据处理方法、相关设备及计算机可读存储介质 | |
CN111343142B (zh) | 一种基于区块链网络的数据处理方法、装置及存储介质 | |
EP3178011B1 (en) | Method and system for facilitating terminal identifiers | |
CN111523890B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN110597918B (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
CN111460458B (zh) | 一种数据处理方法、相关装置及计算机可存储介质 | |
CN111061685B (zh) | 日志查询方法、装置、节点设备及存储介质 | |
CN103077345B (zh) | 基于虚拟机的软件授权方法及*** | |
CN111464353A (zh) | 区块链节点管理方法、装置、计算机以及可读存储介质 | |
CN112714158A (zh) | 事务处理方法、中继网络、跨链网关、***、介质和设备 | |
CN115131022B (zh) | 基于区块链的数字资产交易方法、装置、设备及介质 | |
CN112651001A (zh) | 访问请求的鉴权方法、装置、设备及可读存储介质 | |
CN108390786B (zh) | 一种业务运维方法、装置及电子设备 | |
CN110336813B (zh) | 一种访问控制方法、装置、设备及存储介质 | |
CN111459676A (zh) | 一种节点资源管理方法、装置及存储介质 | |
CN112037055B (zh) | 交易处理方法、装置、电子设备及可读存储介质 | |
CN109299053B (zh) | 文件的操作方法、设备和计算机存储介质 | |
WO2022133827A1 (zh) | 一种任务处理请求的处理方法、装置以及区块链节点设备 | |
CN111353150B (zh) | 一种可信启动方法、装置、电子设备及可读存储介质 | |
US20200401561A1 (en) | Method, device, and computer program product for managing data object | |
CN114490135A (zh) | 一种任务处理方法、装置、电子设备以及存储介质 | |
US20210089497A1 (en) | Method, device, and computer program product for managing data object |
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 |