区块链配置更新方法、装置、设备及存储介质转让专利

申请号 : CN201811202989.9

文献号 : CN109634679B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张松松冯承勇

申请人 : 平安科技(深圳)有限公司

摘要 :

本发明公开了一种区块链配置更新方法、装置、设备及存储介质,所述方法包括:首先从数据库中获取用于区块链系统配置更新的待配置信息;然后从所述区块链系统中选取一区块节点作为当前区块节点,从当前区块节点中获取节点原始配置信息;将节点原始配置信息与待配置信息进行比较,根据比较结果生成配置变更集合;最后通过配置变更集合对区块链系统进行更新。本发明从一个持久化存储数据库中获取更新配置信息,再将该更新配置信息对区块链网络下的某一区块节点更新,最后对整个区块链系统进行更新可以有效降低链的配置更新难度,提高区块链更新效率,降低对正在运行的区块链的影响。

权利要求 :

1.一种区块链配置更新方法,其特征在于,所述区块链配置更新方法包括:从数据库中获取用于区块链系统配置更新的待配置信息;

从所述区块链系统中选取一区块节点作为当前区块节点,从所述当前区块节点中获取节点原始配置信息;

将所述节点原始配置信息与所述待配置信息进行比较,根据比较结果生成配置变更集合;

通过所述配置变更集合对所述区块链系统进行更新;

所述通过所述配置变更集合对所述区块链系统进行更新,包括:

将所述配置变更集合推送到所述当前区块节点,以使得所述当前区块节点通过所述配置变更集合进行配置更新,并由所述当前区块节点将所述配置变更集合广播到所述区块链系统的其他各个区别节点,以使得所述区块链系统的其他各个区别节点分别根据所述配置变更集合完成配置更新。

2.如权利要求1所述的方法,其特征在于,所述待配置信息的数据格式为第一格式,所述第一格式表征为适用于数据库的配置格式,所述节点原始配置信息的数据格式为第二格式,所述第二格式表征为适用于区块链的配置格式;

相应地,所述将所述节点原始配置信息与所述待配置信息进行比较,根据比较结果生成配置变更集合,包括:将所述待配置信息的数据格式由所述第一格式转换为所述第二格式,将数据格式为第二格式的待配置信息作为待比较配置数据;

将所述待比较配置数据与所述节点原始配置信息进行比较,根据比较结果生成配置变更集合。

3.如权利要求2所述的方法,其特征在于,所述从数据库中获取用于区块链系统配置更新的待配置信息之前,所述方法还包括:获取用户输入的格式设置指令,根据所述格式设置指令将区块链系统的要素信息的数据格式设置为第一格式,所述第一格式表征为适用于数据库的配置格式;

将数据格式设置为第一格式的所述区块链系统的要素信息保存到数据库中;

在检测到与所述要素信息相关的更新请求时,根据所述更新请求并基于所述数据库中的要素信息生成数据格式为所述第一格式的待配置信息。

4.如权利要求1所述的方法,其特征在于,所述将所述配置变更集合推送到所述当前区块节点之前,还包括:对所述配置变更集合进行展示;

接收用户基于展示中的配置变更集合输入的推送确认指令,根据所述推送确认指令执行所述将所述配置变更集合推送到所述当前区块节点的步骤。

5.如权利要求3所述的方法,其特征在于,所述更新请求包括指定更新时间;

相应地,所述将所述配置变更集合推送到所述当前区块节点,以使得所述当前区块节点通过所述配置变更集合进行配置更新,包括:按照所述指定更新时间将所述配置变更集合推送到所述当前区块节点,以使得所述当前区块节点通过所述配置变更集合进行配置更新。

6.如权利要求1‑5任一项所述的方法,其特征在于,所述由所述当前区块节点将所述配置变更集合广播到所述区块链系统的其他各个区别节点,以使得所述区块链系统的其他各个区别节点分别根据所述配置变更集合完成配置更新,包括:由所述当前区块节点将所述配置变更集合广播到所述区块链系统的其他各个区别节点,以使得所述区块链系统的其他各个区别节点分别对所述配置变更集合进行验证,在验证通过后根据所述配置变更集合完成配置更新。

7.一种区块链配置更新管理装置,其特征在于,所述装置包括:

获取模块,用于从数据库中获取用于区块链系统配置更新的待配置信息;

选取模块,用于从所述区块链系统中选取一区块节点作为当前区块节点,从所述当前区块节点中获取节点原始配置信息;

比较模块,用于将所述节点原始配置信息与所述待配置信息进行比较,根据比较结果生成配置变更集合;

更新模块,用于通过所述配置变更集合对所述区块链系统进行更新;

所述更新模块,还用于将所述配置变更集合推送到所述当前区块节点,以使得所述当前区块节点通过所述配置变更集合进行配置更新,并由所述当前区块节点将所述配置变更集合广播到所述区块链系统的其他各个区别节点,以使得所述区块链系统的其他各个区别节点分别根据所述配置变更集合完成配置更新。

8.一种用于区块链配置更新的设备,其特征在于,所述用于区块链配置更新的设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块链配置更新程序,所述区块链配置更新程序配置为实现如权利要求1至6中任一项所述的区块链配置更新方法的步骤。

9.一种存储介质,其特征在于,所述存储介质上存储有区块链配置更新程序,所述区块链配置更新程序被处理器执行时实现如权利要求1至6中任一项所述区块链配置更新方法的步骤。

说明书 :

区块链配置更新方法、装置、设备及存储介质

技术领域

[0001] 本发明涉及计算机信息技术领域,尤其涉及一种区块链配置更新方法、装置、设备及存储介质。

背景技术

[0002] 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所述共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。区块链技术具有去中心化、时序数据、集体维护、可编程和安全可信等特点。
[0003] 区块链的配置更新往往都具有很大的复杂度,需要操作人员对区块链底层有着较深入的理解。另外每次配置更新本身也会对正在运行的链有着较大的影响,配置更新请求需要广播到所有参与链的相关节点上,然后每个节点都要实施相同的配置更新流程。这是一个相对耗时的流程,而在实际中,更新的配置信息往往都保存在配置文件中,而在链的运行过程中,经常需要根据链上的业务变化,调节和组合多个配置参数以适应这些变化,这就需要频繁的更新配置文件,频繁的提交链的配置更新请求。这大大增加了配置区块链出错的概率,并且对区块链的配置更新也缺乏可靠的追踪和审查手段。
[0004] 上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

[0005] 本发明的主要目的在于提供一种区块链配置更新方法、装置、设备及存储介质,旨在解决区块链系统在配置更新时更新流程复杂导致易出错的问题。
[0006] 为实现上述目的,本发明提供一种区块链配置更新方法,所述区块链配置更新方法包括:
[0007] 从数据库中获取用于区块链系统配置更新的待配置信息;
[0008] 从所述区块链系统中选取一区块节点作为当前区块节点,从所述当前区块节点中获取节点原始配置信息;
[0009] 将所述节点原始配置信息与所述待配置信息进行比较,根据比较结果生成配置变更集合;
[0010] 通过所述配置变更集合对所述区块链系统进行更新。
[0011] 优选地,所述待配置信息的数据格式为第一格式,所述第一格式表征为适用于数据库的配置格式,所述节点原始配置信息的数据格式为第二格式,所述第二格式表征为适用于区块链的配置格式;
[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] 图1是本发明实施例方案涉及的硬件运行环境的用于区块链配置更新的设备的结构示意图;
[0038] 图2为本发明一种区块链配置更新方法第一实施例的流程示意图;
[0039] 图3为本发明一种区块链配置更新方法第三实施例的流程示意图;
[0040] 图4为本发明一种区块链配置更新管理装置的结构框图。
[0041] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0042] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0043] 参照图1,图1为本发明实施例方案涉及的硬件运行环境的用于区块链配置更新的设备示意图。
[0044] 如图1所示,用于区块链配置更新的设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口  1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口 1004可选的可以包括标准的有线接口、无线接口,网络接口用于和区块链系统网络进行通讯连接。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non‑volatile memory),例如磁盘存储器。需要说明的是,本发明的用于区块链配置更新的设备可以是服务器、PC 电脑主机等设备。图1中示出的结构并不构成对所述设备的限定,可以包括比图示更多或更少的部件,或者不同的部件布置。
[0045] 如图1所示,所述存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及区块链配置更新程序。
[0046] 在图1所示的设备中,网络接口1004主要用于连入区块链系统网络,并与区块链系统网络下的各个区块节点进行数据通信;用户接口1003主要用于连接与用户的交互的设备,如键盘、显示屏等;本发明监控系统通过处理器1001调用存储器1005中存储的区块链配置更新程序,并执行所述区块链配置更新方法的步骤。
[0047] 参照图1,图1为本发明提供的一种区块链配置更新方法的第一实施例流程示意图,所述区块链配置更新方法包括:
[0048] 步骤S10:从数据库中获取用于区块链系统配置更新的待配置数据;
[0049] 需要说明的是,本实施例的执行主体是区块链管理服务器。
[0050] 可理解的是,本实施例每次对区块链的链的配置需要更新时,并不是像现有技术那样将需要更新配置信息直接提交到正在运行的节点上,而是将更新配置信息先记录到一个持久化存储中,优选地,可将需要更新配置信息记录到一个关系型数据库中,该关系型数据库可以是SQL Server、Oracle、MySql等数据库。
[0051] 在具体实现中,在步骤S10之前,本实施例获取用户输入的格式设置指令,根据所述格式设置指令将区块链系统的要素信息的数据格式设置为第一格式,所述第一格式表征为适用于数据库的配置格式;然后将数据格式设置为第一格式的所述区块链系统的要素信息保存到数据库中;
[0052] 可理解的是,所述区块链系统的要素信息可以包括:区块链的共识参数、以及每个区块节点的区块结构,每个区块记录的区块头,区块头包括上一区块头哈希值,作用在于以保证区块按顺序串联;区块头也包括时间戳,作用在于记录该区块的生成时间;区块头还包括交易详情、交易计数器以及区块大小等基本要素信息。将区块链的基本要素信息转换成关系型数据库可以接受的格式保存;
[0053] 进一步地,在检测到与所述要素信息相关的更新请求时,根据所述更新请求并基于所述数据库中的要素信息生成数据格式为所述第一格式的待配置信息;所述待配置信息用于区块链系统配置更新,所述待配置信息预先保存于数据库中,因此本实施例每次发现区块链的链的配置需要更新时,不会像现有技术那样将需要更新的配置信息 (即待配置信息)直接提交到正在运行的各区块节点上,而是将需要更新的配置信息(即待配置信息)预先记录到一个持久化存储的数据库中,方便操作人员追踪和审查区块链的配置更新数据。
[0054] 本实施例的更新请求可以是用户想要更改在上述用于区块链配置更新的设备上展示的基本要素信息输入的更新请求;具体地,本实施例的上述设备装载的区块链配置更新程序与所述数据库建立连接,如该数据库是SqlServer数据库时,区块链配置更新程序的底层代码通过SqlConnection类使得区块链配置更新程序与SqlServer数据库建立连接关系,进而可通过可视化页面展示SqlServer数据库中保存的区块链下的基本要素信息,用户可以基于展示中的各个基本要素信息输入的相应的更新操作,进而生成更新请求;根据更新请求并基于已调用出来的SqlServer数据库中的要素信息生成适用于SqlServer数据库的配置格式的待配置信息。
[0055] 步骤S20:从所述区块链系统中选取一区块节点作为当前区块节点,从所述当前区块节点中获取节点原始配置信息;
[0056] 具体地,所述节点原始配置信息为第二格式,所述第二格式为适用于区块链的配置格式,即所述第二格式为区块链的要素信息的文件的原始格式;
[0057] 区块链可理解为一个共享账本,随机从当前区块链网络下的任意一个节点获取原始配置信息都可以。
[0058] 步骤S30:将所述节点原始配置信息与所述待更新配置信息进行比较,根据比较结果生成配置变更集合;
[0059] 在具体实现中,将所述待配置信息的数据格式由所述第一格式转换为所述第二格式,将数据格式为第二格式的待配置信息作为待比较配置数据,将所述待比较配置数据与所述节点原始配置信息进行比较,根据比较结果生成配置变更集合。
[0060] 即将数据库中的区块链的待更新配置信息转换成区块链上可接受的配置格式,步骤S30中一共有两个配置信息,区块链配置更新程序连接的数据库有一个待更新配置信息,正在运行的当前区块节点上有一份原始配置信息。步骤S30需要做的就算是将这两个做一个比对,获取到配置变更集合。
[0061] 步骤S40:通过所述配置变更集合对所述区块链系统进行更新。
[0062] 在具体实现中,首先将所述配置变更集合推送到所述当前区块节点,以使得所述当前区块节点通过所述配置变更集合进行配置更新;然后由所述当前区块节点将所述配置变更集合广播到所述区块链系统的其他各个区别节点,以使得所述区块链系统的其他各个区别节点分别根据所述配置变更集合完成配置更新。
[0063] 优选地,当所述区块链系统的其他各个区别节点接收到经广播的配置变更集合时,其他各个区别节点会分别对所述配置变更集合进行验证,例如会对配置变更集合进行合理性和权限验证,在验证通过后根据所述配置变更集合完成配置更新。
[0064] 可理解的是,区块链可理解为一个共享账本,只需要从区块链网络下任意一个当前处于运行状态的节点获取原始配置信息就可以,然后将变更集合推送给该节点,最后该节点会将配置变更请求同步到所有其他节点,实现整个区块链网络下各个节点的配置更新。
[0065] 本实施例首先从数据库中获取用于区块链系统配置更新的待配置信息;然后从所述区块链系统中选取一区块节点作为当前区块节点,从当前区块节点中获取节点原始配置信息;将节点原始配置信息与待配置信息进行比较,根据比较结果生成配置变更集合;最后通过配置变更集合对区块链系统进行更新。本实施例从一个持久化存储数据库中获取更新配置信息,再将该更新配置信息对区块链网络下的某一区块节点更新,最后对整个区块链系统进行更新,可以有效降低链的配置更新难度,同时可以提高区块链更新效率,并尽可能降低对正在运行的区块链的影响。
[0066] 进一步地,基于上述图2所示的实施例,提出本发明区块链配置更新方法的第二实施例。
[0067] 本实施例中,所述更新请求包括指定更新时间;
[0068] 相应地,区块链管理服务器在执行所述步骤S40中将所述配置变更集合推送到所述当前区块节点,以使得所述当前区块节点通过所述配置变更集合进行配置更新,包括:按照指定更新时间将所述配置变更集合推送到所述当前区块节点,以使得所述当前区块节点通过所述配置变更集合进行配置更新。
[0069] 可理解的是,本实施例的更新请求可以是用户输入的更新请求,用户想要更改所述用于区块链配置更新的设备上展示的基本要素信息时,可以设置一个指定更新时间,所述设备响应所述更新请求,在检测到当前时间到达所述指定更新时间时,执行将所述配置变更集合推送到所述当前区块节点的步骤。
[0070] 区块链系统每次更新之后,会记录相应的更新时间,将相应的更新时间保持到所述数据库中,便于用户后续对更新记录的追踪和审查。
[0071] 进一步地,参考图3,基于上述图2所示的实施例,提出本发明区块链配置更新方法的第三实施例。
[0072] 本实施例中,在所述步骤S40的将所述配置变更集合推送到所述当前区块节点之前,还包括:
[0073] 步骤S031:对所述配置变更集合进行展示;
[0074] 步骤S032:接收用户基于展示中的配置变更集合输入的推送确认指令,根据所述推送确认指令执行所述将所述配置变更集合推送到所述当前区块节点的步骤。
[0075] 可理解的是,通过可视化页面对所述配置变更集合进行展示,方便区块链操作员即用户能够清楚明了地看到区块链配置变更集合的具体内容,用户确认上述配置变更无误后,选择确认推送配置更新。
[0076] 例如用户看到配置变更集合觉得不理想,可以重新通过所述所述用于区块链配置更新的设备对区块链系统的基本要素信息进行更改,即重新执行步骤S10到S30,以生成新的区块链配置变更集合,用户能够对区块链系统的待配置信息进行多次修改,相当于能够对区块链配置变更集合进行多次修改,直至用户对更新的配置满意为止,方便了操作人员对区块链配置更新数据的审查。
[0077] 此外,参考图4,本发明实施例还提出一种区块链配置更新管理装置,所述装置包括:
[0078] 获取模块10,用于从数据库中获取用于区块链系统配置更新的待配置信息,所述待配置信息的数据格式为第一格式,所述第一格式表征为适用于数据库的配置格式;
[0079] 选取模块20,用于从所述区块链系统中选取一区块节点作为当前区块节点,从所述当前区块节点中获取节点原始配置信息;
[0080] 比较模块30,用于将所述节点原始配置信息与所述待配置信息进行比较,根据比较结果生成配置变更集合;
[0081] 更新模块40,用于通过所述配置变更集合对所述区块链系统进行更新。
[0082] 可理解的是,本实施例的区块链配置更新管理装置可以是一种用于进行区块链配置更新的应用程序软件,并装载于所述用于区块链配置更新的设备中,本实施例的区块链配置更新管理装置的具体实施方式请参照上述区块链配置更新方法实施例,本实施例在此不予赘述。
[0083] 此外,本发明实施例还提出一种存储介质,所述存储介质上存储有区块链配置更新程序,所述区块链配置更新程序被处理器执行时实现如上所述区块链配置更新方法的步骤。
[0084] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0085] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0086] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0087] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。