一种区块链升级方法和装置制造方法及图纸

技术编号:36111946 阅读:19 留言:0更新日期:2022-12-28 14:14
本说明书实施例公开了一种区块链升级方法和装置,其中所述方法在升级前暂停第一区块链业务,包括:暂停第一区块链节点,以及保存所述第一区块链节点的第一备份数据;生成第二区块链配置,所述第二区块链配置中创世区块配置和系统配置与所述第一区块链对应配置相同;发起验证者更新交易,以将第一区块链的共识节点列表替换为第二区块链的共识节点列表;保存更新验证者后所述第一区块链节点的第二备份数据;恢复所述第一区块链节点的第二备份数据至所述第二区块链节点;启动所述第二区块链并确认区块链是否升级成功。本发明专利技术方案采用舍弃原有节点身份和配置直接生成新节点,无需配置迁移工具,配置变化不影响升级过程,可实现相邻版本或跨版本升级。版本或跨版本升级。版本或跨版本升级。

【技术实现步骤摘要】
一种区块链升级方法和装置


[0001]本说明书涉及计算机软件
,尤其涉及一种区块链升级方法、装置、电子设备和存储介质。

技术介绍

[0002]区块链升级是比较复杂的过程,其特殊之处主要是区块链节点是有身份的,且共识节点的身份是被写在链上数据中的,因此一般情况下就需要保留节点身份,对节点进行配置迁移。特别是对于基于云原生的区块链框架,因其采用微服务架构将区块链拆分为多个微服务,用户可以通过选择不同的微服务实现定制一条符合需求的区块链。这类区块链提供了相应的配置工具,用来为不同的组合生成对应的微服务配置文件,它们的核心数据结构如交易、区块等,是一样的,即数据是兼容的。但是由于微服务的实现不同,或者不同版本之间的差异,配置文件存在差异。一个经过初始配置并已经在运行的区块链,想要升级到新版本,升级过程虽然不涉及数据迁移,但是配置文件的变化也可能非常复杂,需要提供单独的配置迁移工具。配置迁移工具需要非常多额外的测试,工作量比较大,且配置迁移工具通常仅针对两个具体的版本之间的升级。如果用户是跨越多个版本升级,只能一次一个版本的升级,或者再针对性的开发配置迁移工具。因此,如何实现在没有配置迁移工具下实现区块链相邻版本和跨版本升级,是亟待解决的技术问题。

技术实现思路

[0003]本说明书实施例的目的是针对上述问题,提供一种区块链升级方法、装置、电子设备和存储介质。
[0004]为解决上述技术问题,本说明书实施例是这样实现的:
[0005]第一方面,提出了一种区块链升级方法,在升级前暂停第一区块链业务,包括:
[0006]暂停第一区块链节点,以及保存所述第一区块链节点的第一备份数据;
[0007]生成第二区块链配置,所述第二区块链配置中创世区块配置和系统配置与所述第一区块链对应配置相同;
[0008]发起验证者更新交易,以将第一区块链的共识节点列表替换为第二区块链的共识节点列表;
[0009]保存更新验证者后所述第一区块链节点的第二备份数据;
[0010]恢复所述第一区块链节点的第二备份数据至所述第二区块链节点;
[0011]启动所述第二区块链并确认区块链是否升级成功。
[0012]第二方面,提出了一种区块链升级装置,包括:
[0013]第一模块,用于暂停第一区块链节点,以及保存所述第一区块链节点的第一备份数据;
[0014]第二模块,用于生成第二区块链配置,所述第二区块链配置中创世区块配置和系统配置与所述第一区块链对应配置相同;
[0015]第三模块,用于发起验证者更新交易,以将第一区块链的共识节点列表替换为第二区块链的共识节点列表;
[0016]第四模块,用于保存更新验证者后所述第一区块链节点的第二备份数据;
[0017]第五模块,用于恢复所述第一区块链节点的第二备份数据至所述第二区块链节点;
[0018]第六模块,用于启动所述第二区块链并确认区块链是否升级成功。
[0019]第三方面,提出了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的方法。
[0020]第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的方法。
[0021]本说明书可以达到至少以下技术效果:
[0022]本专利技术方案采用舍弃原有节点身份和配置直接生成新节点的方式,无需配置数据和配置迁移工具,区块链初始配置变化不影响升级过程,可实现相邻版本或跨版本升级。
附图说明
[0023]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0024]图1为本说明书实施例提供的区块链升级方法示意图之一。
[0025]图2为本说明书实施例提供的区块链升级方法示意图之二。
[0026]图3为本说明书实施例提供的区块链升级方法示意图之三。
[0027]图4为本说明书实施例提供的区块链升级方法示意图之四。
[0028]图5为本说明书实施例提供的区块链升级装置示意图之一。
[0029]图6为本说明书实施例提供的区块链升级装置示意图之二。
[0030]图7为本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
[0031]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0032]下面通过具体的实例对本说明书所涉及的一种区块链升级方案进行详述。
[0033]关键术语
[0034]云原生区块链框架:是一套精简的联盟链协议和微服务框架。通过在联盟链框架中整合云原生组件,可以提升联盟链技术与云原生技术的兼容性,让更多的企业以及开发者能够加入到联盟链生态中。CITA Cloud包括六大微服务:(1)Network微服务,主要提供网
络部分的功能,分为收/发两大部分功能。(2)Storage微服务,主要提供KV存储相关的功能,涵盖了常用的增删改查功能。(3)KMS微服务,主要提供私钥加密存储,以及相关的密码学服务。(4)Executor微服务,主要提供根据交易改变链上状态以及查询链上状态的功能。(5)Consensus微服务,主要提供让提案在多个共识参与方之间达成一致的功能。(6)Controller微服务在整个区块链中处于核心的位置,主导所有主要的流程,以及提供准对用户的RPC接口。
[0035]本专利技术的关注点是如何解决无需配置数据和配置迁移工具而区块链配置变化不影响升级过程的问题。对于传统应用或者软件、系统,如果升级前版本和升级后版本的数据是兼容的,那么升级不需要使用迁移工具。但由于区块链节点是有身份的,且共识节点的身份是被写在链上数据中的,所以一般情况下就需要保留节点身份对节点进行配置迁移。因此,针对区块链升级前后数据兼容的前提下,配置迁移复杂的问题,本专利技术方案提出一种通用的区块链升级方案,无需专门开发配置迁移工具,不论是相邻版本升级还是跨越多个版本升级都一样简单,大大降低了区块链升级过程中的复杂性和工作量,同时也让新版本开发可以放开手脚,不用为了顾虑升级的方便而不敢改动配置。
[0036]如图1所示本专利技术实施例的一种区块链升级方法示意图。首先,停止业务准备升级,即老链停掉一个节点进行数据备份。其次,生成新链的配置,新链中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链升级方法,其特征在于,在升级前暂停第一区块链业务,包括:暂停第一区块链节点,以及保存所述第一区块链节点的第一备份数据;生成第二区块链配置,所述第二区块链配置中创世区块配置和系统配置与所述第一区块链对应配置相同;获取所述第一区块链的管理员私钥并发起验证者更新交易,以将第一区块链的共识节点列表替换为第二区块链的共识节点列表;保存更新验证者后所述第一区块链节点的第二备份数据;恢复所述第一区块链节点的第二备份数据至所述第二区块链节点;启动所述第二区块链并确认区块链是否升级成功。2.根据权利要求1所述的区块链升级方法,其特征在于,验证区块链是否升级成功的过程,包括:若所述第二区块链运行正常,则确认升级成功并删除所述第一区块链;若所述第二区块链运行异常,则确认升级失败,并恢复所述第一备份数据至所述第一区块链节点后启动第一区块链。3.根据权利要求1所述的区块链升级方法,其特征在于,生成第二区块链配置之后还包括:运行所述第二区块链以验证配置是否正确。4.根据权利要求1所述的区块链升级方法,其特征在于,恢复所述第一区块链节点的第二备份数据至第二区块链节点之前,还包括:停止第二区块链运行并删除第二区块链节点数据。5.根据权利要求1至4任一项所述的区块链升级方法,其特征在于,所述第一区块链和/或所述第二区块链由包括若干具有相应配置和/或相应版本的微服务组合进行构建。6.一种区块链升级装置,其特征在于,包括:第一模块,用于暂停第一区块链节点,以及保存所述第一区块链节点的第一备份数据;第二模块,用于生成第二区块链配置,所述第二区块链配置中创世区块配置和系统配置与所述第一区块链对应配置相同;第三模块,用于发起...

【专利技术属性】
技术研发人员:王晓亮宁志伟
申请(专利权)人:苏州长通互联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1