一种区块链网络节点删除方法、系统、存储介质和装置与流程

文档序号:24053609发布日期:2021-02-24 00:15阅读:133来源:国知局
一种区块链网络节点删除方法、系统、存储介质和装置与流程

[0001]
本发明属于区块链技术领域,具体涉及一种区块链网络节点删除方法、系统、存储介质和装置。


背景技术:

[0002]
区块链是分布式数据存储、点对点传输、共识机制、加密算法计算机技术的新型应用模式,是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造,具有去中心化、开放性、信息不可篡改等特征。区块链主要分为公有链、联盟链和私有链三种。其中联盟链是联盟组织间常用的区块链类型,其作为联盟组织间的数据交换的基础设施平台,即为各联盟组织成员提供交易平台,各组织在联盟区块链上实现交易过程。随着联盟链的应用推广,各项技术也日趋进步,区块链节点时刻面临需要添加或删除的情况,目前涉及删除节点方面需要高效的方法,现有的一些方案效率较低,无法适应区块链动态变化的网络。
[0003]
专利号为cn2019103148198的专利《一种区块链可视化节点组织配置管理方法》公开了一种区块链可视化组织配置管理方法,提供了一种区块链节点(peer节点、orderer节点)组织配置界面,同时区块链节点的管理职能也可以通过集成页面进行增加节点、吊销节点、配置节点组织下的user用户等行为也可以通过此方法进行操作,其节点增加、吊销和配置节点还需要通过人工进行操作。
[0004]
专利号为cn2019108387335的专利《区块链网络中删除节点的方法和区块链系统》公开了一种区块链网络中删除节点的方法和区块链系统,该方法包括:区块链网络中的第一共识节点接收删除节点的交易请求,并针对该删除节点的交易请求发起共识;达成共识后,共识节点执行所述删除节点的交易,以对待删除节点之外的剩余共识节点顺序编号;所述共识节点发起视图切换;所述视图切换完成后,所述剩余节点参与所述区块链的共识过程。这种删除节点的方法要通过共识非法和切换视图来实现,其效率和使用范围具有一定的局限性。
[0005]
针对此,需要提供新的一种区块链网络节点删除的方法。


技术实现要素:

[0006]
本发明基于上述背景和现有技术所存在的问题,拟设计一种区块链网络节点删除方法,其能够提高区块链删除节点的效率。本发明的方案结合智能合约和数据库进行交互实现一种高效的区块链自动删除节点过程。
[0007]
为了实现本发明的这些目的和其它优点,提供了一种区块链网络节点删除方法,所述删除节点包括添加节点和删除节点过程,所述添加和删除节点通过设置智能合约完成,同时还包括触发所述智能合约对数据库在删除节点的过程中进行信息更新,具体设计实现步骤包括:
[0008]
(a)删除用户节点:将用户节点容器删除;所述删除用户节点通过用户节点名进行
删除对应的用户节点,所述对应的节点为本组织的节点,所述本组织为删除节点的组织为添加过的组织;删除用户节点成功后,其他组织在获取信息时会更新自己的节点路由信息;
[0009]
(b)删除排序节点:首先将排序节点容器删除;然后,删除区块链上配置块里的相关配置信息。所述删除排序节点通过排序节点名进行删除对应的排序节点,所述对应的节点为本组织的排序节点,所述本组织为删除节点的组织添加过所述排序节点的组织;所述排序节点一次只能删除一个。
[0010]
进一步地,所述删除用户节点还包括:
[0011]
验证对应的用户节点是否可删除,所述对应的用户节点为已添加的用户节点而且不能为第0号用户节点,所述第0号用户节点为初始化用户节点;
[0012]
撤销所述用户节点的证书信息,将数据库中的证书状态置为不存在,所述数据库用于存储本地的数据;
[0013]
删除所述用户节点实例及相关的内容,所述相关内容包括账本数据、证书文件;
[0014]
删除相关组织各节点的路由信息,所述相关组织为删除用户节点所在的组织;
[0015]
删除公共链上组织内相关节点信息,所述相关节点为删除用户节点,其他组织在获取信息时更新自己的路由信息并且删除所述用户节点的路由信息;
[0016]
删除数据库中用户节点信息。
[0017]
进一步地,所述删除排序节点的具体实现步骤还包括:
[0018]
校验需要删除的排序节点是否真实存在,所述排序节点为被添加过的排序节点,所述真实存在为真实存在于区块链网络中;
[0019]
从公共链上获取所述添加过的排序节点的组织列表,校验当前组织之前是否添加过节点;
[0020]
删除所述排序节点的容器;所述删除所述排序节点的容器还包括删除证书信息,删除服务,删除实例,删除初始化时保存的文件和后续区块链上产生并保存到本地的账本数据。
[0021]
更新删除所述排序节点相关的配置块;
[0022]
删除相关路由信息;
[0023]
删除公共链上组织信息里的所述排序节点信息;
[0024]
删除数据库中的排序节点信息,所述数据库为本地数据库。
[0025]
进一步地,所述更新删除所述排序节点相关的配置块的具体实现步骤包括:
[0026]
删除所述配置块上对应所述排序节点的地址信息和共识节点信息;
[0027]
对所述配置块进行签名;
[0028]
将所述配置块广播到区块链上。
[0029]
另一方面,本发明提出了一种区块链删除节点系统,具体组成包括:
[0030]
添加用户节点模块:用于申请证书及从排序节点上同步账本数据;
[0031]
用户节点删除模块:用于将用户节点容器删除,具体还包括:验证对应的用户节点是否可删除;撤销所述用户节点的证书信息,将数据库中的证书状态置为不存在,所述数据库用于存储本地的数据;删除所述用户节点实例及相关的内容,所述相关内容包括账本数据、证书文件;删除相关组织各节点的路由信息,所述相关组织为删除用户节点所在的组织;删除公共链上组织内相关节点信息,其他组织在获取信息时更新自己的路由信息并且
删除所述用户节点的路由信息;删除数据库中用户节点信息。
[0032]
排序节点删除模块:用于删除排序节点容器及区块链上配置块里的相关配置信息,还包括:校验需要删除的排序节点是否真实存在;从公共链上获取所述添加过的排序节点的组织列表,校验当前组织之前是否添加过节点;删除所述排序节点的容器;更新删除所述排序节点相关的配置块,在区块链上删除配置块里的相关配置信息;删除相关路由信息;删除公共链上组织信息里的所述排序节点信息;删除数据库中的排序节点信息。
[0033]
节点删除智能合约模块:用于管理和维护增加节点涉及到的智能合约,实现智能合约的触发和调用,以及相关智能合约配置模块的安装、部署和实例化;用于被处理器执行时实现以上任意一项所述的方法步骤;
[0034]
节点删除数据库模块:用于存储节点增加方法步骤中增加节点涉及到的各类各种信息。所述数据库为本地数据库。
[0035]
第三方面,本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现以上任意一项的方法和步骤。
[0036]
第四方面,本发明提出了一种区块链删除节点装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时可实现以上任意一项的方法和步骤。
[0037]
本发明至少包括的有益效果:本发明设计实现了一种用户节点和排序节点自动删除的方法,自动删除通过设置触发智能合约实现,其触发智能合约的过程还包括与数据库的交互,保证区块链(联盟链)全网相关组织、节点数据在实时同步和更新过程中的稳定,通过智能合约自动地维护区块链节点的信息更新,实现了一种区块链高效删除节点的过程。本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
[0038]
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,本发明的附图内容作为本发明的实施例,落入本发明的保护范围。
[0039]
图1为本发明删除用户节点的实现流程图;
[0040]
图2为本发明删除排序节点的实现流程图。
具体实施方式
[0041]
为了清晰地阐述本发明,使本发明实施例的目的、技术方案和优点更加清楚,下面结合了本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,以令本领域技术人员参照说明书文字能够据以实施。下面将附图结合具体实施方式对本发明的技术加以详细说明。
[0042]
本发明实现了一种区块链自动删除节点的设计方法,所述删除节点包括添加节点和删除节点过程,所述添加和删除节点通过设置智能合约完成,同时还包括触发所述智能合约对数据库(例如采用couchdb数据库)在删除节点的过程中进行信息更新,具体实现步
骤包括:
[0043]
具体实施例1:
[0044]
step1:如图1所示为本发明删除用户节点的一种实现形式,其实现在于将用户节点容器删除;所述删除用户节点通过用户节点名进行删除对应的用户节点,所述对应的用户节点为本组织已经添加过的用户节点;删除用户节点成功后,其他组织在获取信息时会更新自己的节点路由信息;所述删除用户节点还包括:
[0045]
s11:验证对应的用户节点是否可删除,所述对应的用户节点为已添加的用户节点而且不能为第0号用户节点,所述第0号用户节点为初始化用户节点;
[0046]
s12:撤销所述用户节点的证书信息,将数据库中的证书状态置为不存在,所述数据库用于存储本地的数据;
[0047]
s13:删除所述用户节点实例及相关的内容,所述相关内容包括账本数据、证书文件;
[0048]
s14:删除相关组织各节点的路由信息,所述相关组织为删除用户节点所在的组织;
[0049]
s15:删除公共链上组织内相关节点信息,所述相关节点为删除用户节点,其他组织在获取信息时更新自己的路由信息并且删除所述用户节点的路由信息;
[0050]
s16:删除数据库中用户节点信息。
[0051]
具体实施例2:
[0052]
step2:如图2所示为本发明删除排序节点的一种实现形式,主要包括:首先将排序节点容器删除;然后,删除区块链上配置块里的相关配置信息。所述删除排序节点通过排序节点名进行删除对应的排序节点,所述对应的节点为本组织的排序节点,所述本组织为删除节点的组织添加过所述排序节点的组织;所述排序节点一次只能删除一个;所述删除排序节点的具体实现步骤还包括:
[0053]
s21:校验需要删除的排序节点是否真实存在,所述排序节点为被添加过的排序节点,所述真实存在为真实存在于区块链网络中;
[0054]
s22:从公共链上获取所述添加过的排序节点的组织列表,校验当前组织之前是否添加过节点;
[0055]
s23:删除所述排序节点的容器;所述删除所述排序节点的容器还包括删除证书信息,删除服务,删除实例,删除初始化时保存的文件和后续区块链上产生并保存到本地的账本数据;
[0056]
s24:更新删除所述排序节点相关的配置块;所述更新删除所述排序节点相关的配置块的具体实现步骤包括:
[0057]
s241:删除所述配置块上对应所述排序节点的地址信息和共识节点信息;
[0058]
s242:对所述配置块进行签名;
[0059]
s243:将所述配置块广播到区块链上。
[0060]
s25:删除相关路由信息;
[0061]
s26:删除公共链上组织信息里的所述排序节点信息;
[0062]
s27:删除数据库中的排序节点信息,所述数据库为本地数据库。
[0063]
具体实施例3:
[0064]
本实施例提出了一种区块链删除节点系统,具体组成包括:
[0065]
a.删除用户节点模块:用于将用户节点容器删除,具体还包括:验证对应的用户节点是否可删除;撤销所述用户节点的证书信息,将数据库中的证书状态置为不存在,所述数据库用于存储本地的数据;删除所述用户节点实例及相关的内容,所述相关内容包括账本数据、证书文件;删除相关组织各节点的路由信息,所述相关组织为删除用户节点所在的组织;删除公共链上组织内相关节点信息,其他组织在获取信息时更新自己的路由信息并且删除所述用户节点的路由信息;删除数据库中用户节点信息。
[0066]
b.删除排序节点模块:用于删除排序节点容器及区块链上配置块里的相关配置信息,还包括:校验需要删除的排序节点是否真实存在;从公共链上获取所述添加过的排序节点的组织列表,校验当前组织之前是否添加过节点;删除所述排序节点的容器;更新删除所述排序节点相关的配置块,在区块链上删除配置块里的相关配置信息;删除相关路由信息;删除公共链上组织信息里的所述排序节点信息;删除数据库中的排序节点信息。
[0067]
c.删除节点智能合约模块:包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,用于管理和维护删除节点涉及到的智能合约,实现智能合约的触发和调用,以及相关智能合约配置模块的安装、部署和实例化;所述处理器执行所述计算机程序时实现以上step1到step2中所述任意一项的方法步骤;
[0068]
d.删除节点数据库模块:用于存储本发明上述任意一项所述的方法步骤中删除节点涉及到的各类各种信息,例如用户节点信息、排序节点信息、节点启动时的环境变量信息、运行的端口信息、挂载的文件信息(证书信息)、使用的证书信息、节点的标识信息(身份标识信息)、配置块信息,容器信息、启动用户容器信息、账本数据、路由信息、组织信息、共识集群节点信息、创世区块数据、地址信息、共识节点信息和各种更新信息等。所述数据库为本地数据库。
[0069]
具体实施例4:
[0070]
本实施例提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现以下的方法和步骤,所述删除节点通过设置智能合约完成,同时还包括触发所述智能合约对数据库在删除节点的过程中进行信息更新,具体设计实现步骤包括:
[0071]
第1步:删除用户节点:将用户节点容器删除;
[0072]
第2步:删除排序节点:首先将排序节点容器删除;然后,在区块链上删除配置块里的相关配置信息。
[0073]
在一个实施例中,处理器执行计算机程序时,所述删除用户节点通过用户节点名进行删除对应的用户节点,所述对应的用户节点为本组织的用户节点,所述本组织为删除节点的组织为添加过的组织;删除用户节点成功后,其他组织在获取信息时更新自己的节点路由信息。
[0074]
在一个实施例中,处理器执行计算机程序时,所述删除用户节点具体实现步骤包括:
[0075]
第1步:验证对应的用户节点是否可删除,所述对应的用户节点为已添加的用户节点而且不能为第0号用户节点,所述第0号用户节点为初始化用户节点;
[0076]
第2步:撤销所述用户节点的证书信息,将数据库中的证书状态置为不存在,所述
数据库用于存储本地的数据;
[0077]
第3步:删除所述用户节点实例及相关的内容,所述相关内容包括账本数据、证书文件;
[0078]
第4步:删除相关组织各节点的路由信息,所述相关组织为删除用户节点所在的组织;
[0079]
第5步:删除公共链上组织内相关节点信息,所述相关节点为删除用户节点,其他组织在获取信息时更新自己的路由信息并且删除所述用户节点的路由信息;
[0080]
第6步:删除数据库中用户节点信息。
[0081]
在一个实施例中,处理器执行计算机程序时,所述删除排序节点通过排序节点名进行删除对应的排序节点,所述对应的节点为本组织的排序节点,所述本组织为删除节点的组织添加过所述排序节点的组织;所述排序节点一次只能删除一个。
[0082]
在一个实施例中,处理器执行计算机程序时,所述删除排序节点的具体实现步骤包括:
[0083]
第1步:校验需要删除的排序节点是否真实存在,所述排序节点为被添加过的排序节点,所述真实存在为真实存在于区块链网络中;
[0084]
第2步:从公共链上获取所述添加过的排序节点的组织列表,校验当前组织之前是否添加过节点;
[0085]
第3步:删除所述排序节点的容器;
[0086]
第4步:更新删除所述排序节点相关的配置块;
[0087]
第5步:删除相关路由信息;
[0088]
第6步:删除公共链上组织信息里的所述排序节点信息;
[0089]
第7步:删除数据库中的排序节点信息,所述数据库为本地数据库。
[0090]
在一个实施例中,处理器执行计算机程序时,所述删除所述排序节点的容器还包括删除证书信息,删除服务,删除实例,删除初始化时保存的文件和后续区块链上产生并保存到本地的账本数据。
[0091]
在一个实施例中,处理器执行计算机程序时,所述更新删除所述排序节点相关的配置块的具体实现步骤包括:
[0092]
第1步:删除所述配置块上对应所述排序节点的地址信息和共识节点信息;
[0093]
第2步:对所述配置块进行签名;
[0094]
第3步:将所述配置块广播到区块链上。
[0095]
实施例5:
[0096]
本实施例提出了一种区块链网络节点删除装置,该区块链删除节点装置可以是服务器也可以是移动终端。该装置也是一种计算机设备,包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该数据库用于计算机设备的所有数据的存储。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现区块链网络删除节点方法。
[0097]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0098]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0099]
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0100]
本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0101]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0102]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0103]
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1