自动化部署区块链节点的方法、装置、计算机设备和存储介质与流程

文档序号:28700593发布日期:2022-01-29 13:06阅读:139来源:国知局
自动化部署区块链节点的方法、装置、计算机设备和存储介质与流程

1.本发明涉及区块链技术领域,具体涉及一种自动化部署区块链节点的方法、装置、计算机设备和存储介质。


背景技术:

2.区块链技术也被称为分布式账本技术,是一种去中心化的分布式数据库技术,其特点是去中心化、公开透明且不可篡改。具体地说,区块链网络中的每条数据都会被广播到全部的区块链节点,每个区块链节点均可通过相应的存储资源存储相同的数据。
3.部署区块链网络节点时,若部署过程中的任何一部出现错误,均会导致区块链网络系统无法正常运行,若在部署完成后,在测试运行效果,将极大地降低区块链网络节点的部署效率,因此,需要有一种新的技术方案,以期能够的更快速、更精确地完成部署区块链网络节点。


技术实现要素:

4.本发明目的在于提供一种自动化部署区块链节点的方法、装置及云计算平台来克服现有技术的不足;为实现上述目的,本发明所采用的技术方案是:第一方面:一种自动化部署区块链节点的方法,包括以下步骤:步骤s1;获取区块链节点部署请求,其中,所述区块链节点部署请求包括节点信息和数字签名数据;执行步骤s1;步骤s2:验证区块链节点部署请求的正确性,其中,所述区块链节点部署请求的正确性包括节点信息传输的正确性和节点信息的正确性,执行步骤s3;步骤s3:根据正确的区块链节点部署请求生成配置文件,其中,所述配置文件包括功能模块,执行步骤s4;步骤s4:验证配置文件的正确性,其中,所述配置文件正确性的验证包括功能模块正确性的验证,执行步骤s5;步骤s5:根据正确的配置文件生成安装包,执行步骤s6;步骤s6:根据所述安装包部署区块链网络。
5.优选的,验证部署请求的正确性的方法包括以下步骤:步骤s21:根据节点信息和数字签名验证节点信息传输的正确性,若节点传输信息正确,则执行步骤s22,若节点传输信息不正确,则执行步骤s23;步骤s22:根据传输正确的节点信息验证节点信息的正确性,若节点信息正确,则执行步骤s3,若节点信息不正确,则执行步骤s23;步骤s23:驳回区块链节点部署请求。
6.优选的,步骤s22中,根据节点信息和数字签名验证节点信息传输的正确性的方法为:
步骤s101:利用区块链公匙对所述数字签名数据进行解密,获得第一哈希值,执行步骤s102;步骤s102:对所述节点信息进行哈希处理,获取第二哈希值,执行步骤s103;步骤s103:判断第一哈希值与第二哈希值是否一致,若一致,则节点信息传输正确,执行步骤s22,若不一致,则节点信息传输不正确,执行步骤s23。
7.优选的,步骤s22中,根据传输正确的节点信息验证节点信息的正确性的方法为:步骤s201:获取正确的节点信息中目标节点类别、目标节点级别,执行步骤s202;步骤s202:搜索数据库,所述数据库中预设有节点类别、节点类别对应的节点级别、节点级别对应的节点数量阈值、节点级别对应的节点数量实际值,执行步骤s203;步骤s203:判断所述目标节点类别是否为预设节点类别中的一种,若是,执行步骤s204,若不是,执行步骤s23;步骤s204:判断所述目标节点级别是否为预设节点类别对应的节点级别中的一种,若是,执行步骤s205,若不是,执行步骤s23:步骤s205:判断所述节点级别对应的节点数量实际值是否小于所述节点级别对应的节点数量阈值,若是,执行步骤s3,若不是,执行步骤s23。
8.优选的,步骤s4中,验证所述配置文件正确性的方法为:步骤s51:获取节点信息中的ip地址,执行步骤s52;步骤s52:根据所述ip地址,确定该ip地址所在地的官方语言,执行步骤s53;步骤s53:判断所述功能模块版本是否为与所述官方语音对应的版本;若是,执行步骤s54,若不是,执行步骤s55;步骤s54:验证功能模块的完整性;步骤s55:删除配置文件并进行报警,其中,所述报警信息包括校准参数,所述校准参数包括适用于所述官方语音功能模块版本、数据库中存在的子功能模块的编号中的至少一种。
9.优选的,验证功能模块的完整性的方法为:步骤s61将配置文件中的功能模块作为待验证功能模块,所述待验证功能模块包括目标功能模块以及目标功能模块对应的编号,执行步骤s62;步骤s62:根据所述编号搜索数据库,获得数据库中所述编号对应的子功能模块,步骤s63:判断所述子功能模块是否与目标功能模块一致,若一致,则确认所述配置文件为正确的配置文件,执行步骤s5,若不一致,则执行步骤s55。
10.第二方面:一种自动化部署区块链节点的装置,包括获取模块、验证模块、生成模块、部署模块,所述验证模块包括第一验证模块、第二验证模块,所述生成模块包括第一生成模块、第二生成模块,其中:所述获取模块,用于获取部署请求;所述第一验证模块,用于验证部署请求的正确性;所述第一生成模块,用于根据正确的部署请求生成配置文件;所述第二验证模块,用于验证配置文件的正确性;所述第二生成模块,用于根据正确的配置文件生成安装包;所述部署模块,用于根据安装包部署区块链。
11.优选的,所述验证模块包括第一验证单元、第二验证单元,其中:所述第一验证单元用于验证节点信息传输的正确性;所述第二验证单元用于验证节点信息的正确性。
12.第三方面:一种计算设备,包括存储器和处理器,所述存储器存储有计算机程序,其所述处理器执行所述计算机程序时实现本发明任意实施例所述的一种自动化部署区块链节点的方法。
13.第四方面:一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明任意实施例所述的一种自动化部署区块链节点的方法本发明的有益效果为:本发明采用多级验证的思想,在获取部署请求时,对部署请求的正确性进行第一次验证,在获取配置文件时,对配置文件的正确性进行第二次验证,能够通过多级验证确保安装包的准确性,进而能够根据正确的安装包部署满足要求的区块链网络节点,能够提前发现部署过程中存在的问题,减少不必要的运算,避免部署完成的区块链网络节点无法正常运行,提高区块链网络节点部署效率。
附图说明
14.图1为本发明实施例1提供的一种自动化部署区块链网络节点的方法结构示意图;图2为本发明实施例2提供的一种自动化部署区块链网络节点的方法结构示意图;图3为本发明实施例3提供的一种自动化部署区块链网络节点的方法结构示意图;图4为本发明实施例4提供的一种自动化部署区块链节点的装置结构示意图;图5为本发明实施例5提供的一种设备的结构示意图。
具体实施方式
15.下面结合本发明的附图1~5,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施。
16.在本发明的描述中,需要理解的是,术语“逆时针”、“顺时针”“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
17.实施例1:如图1所示,一种自动化部署区块链网络节点的方法,包括以下步骤:步骤s1;获取区块链节点部署请求,其中,所述区块链节点部署请求包括节点信息和数字签名数据;执行步骤s1;步骤s2:验证区块链节点部署请求的正确性,其中,所述区块链节点部署请求的正确性包括节点信息传输的正确性和节点信息的正确性,执行步骤s3;步骤s3:根据正确的区块链节点部署请求生成配置文件,其中,所述配置文件包括功能模块,执行步骤s4;
步骤s4:验证配置文件的正确性,其中,所述配置文件正确性的验证包括功能模块正确性的验证,执行步骤s5;步骤s5:根据正确的配置文件生成安装包,执行步骤s6;步骤s6:根据所述安装包部署区块链网络。
18.本发明提供的一种自动化部署区块链网络节点的方法,采用多级验证的思想,在获取部署请求时,对部署请求的正确性进行第一次验证,在获取配置文件时,对配置文件的正确性进行第二次验证,能够通过多级验证确保安装包的准确性,进而能够根据正确的安装包部署满足要求的区块链网络节点,能够提前发现部署过程中存在的问题,减少不必要的运算,避免部署完成的区块链网络节点无法正常运行,提高区块链网络节点部署效率。
19.实施例2如图2所示,在本实施例中,验证部署请求的正确性的方法包括以下步骤:步骤s21:根据节点信息和数字签名验证节点信息传输的正确性,若节点传输信息正确,则执行步骤s22,若节点传输信息不正确,则执行步骤s23;步骤s22:根据传输正确的节点信息验证节点信息的正确性,若节点信息正确,则执行步骤s3,若节点信息不正确,则执行步骤s23;步骤s23:驳回区块链节点部署请求。
20.在终端设备(包括笔记本电脑、台式电脑以及移动终端等)向区块链部署装置通过网络发送区块链节点部署请求过程中,区块链部署请求中的节点信息可能因为网络的不稳定性导致节点信息不完整或者缺失,因此需要对传输后,区块链节点部署装置获得的节点信息进行验证,另外,即使传输的节点信息正确,但是由于终端设备发送区块链节点部署请求不满足区块链节点部署的要求,也将直接生成的配置文件发送错误,导致部署完成的区块链节点无法正常运行,因此需要对区块链部署请求进行双重验证。
21.值得说明的,步骤s22中,根据节点信息和数字签名验证节点信息传输的正确性的方法为:步骤s101:利用区块链公匙对所述数字签名数据进行解密,获得第一哈希值,执行步骤s102;步骤s102:对所述节点信息进行哈希处理,获取第二哈希值,执行步骤s103;步骤s103:判断第一哈希值与第二哈希值是否一致,若一致,则节点信息传输正确,执行步骤s22,若不一致,则节点信息传输不正确,执行步骤s23。
22.在获取区块链及节点部署请求之前还包括终端设备获取区块链的节点信息,对节点信息进行哈希处理,获得第一哈希值,通过区块链的私匙对区块链节点进行加密,获得数字签名数据,终端设备将所述节点信息和数字签名数据打包生产区块链部署请求,并将区块链部署请求发送给部署装置,其中,进行哈希处理的算法可以根据需求确定,例如sha-256。
23.值得说明的,步骤s22中,根据传输正确的节点信息验证节点信息的正确性的方法为:步骤s201:获取正确的节点信息中目标节点类别、目标节点级别、目标节点数量,执行步骤s202;步骤s202:搜索数据库,所述数据库中预设有节点类别、节点类别对应的节点级
别、节点级别对应的节点数量阈值、节点级别对应的节点数量实际值,执行步骤s203;步骤s203:判断所述目标节点类别是否为预设节点类别中的一种,若是,执行步骤s204,若不是,执行步骤s23;步骤s204:判断所述目标节点级别是否为预设节点类别对应的节点级别中的一种,若是,执行步骤s205,若不是,执行步骤s23:步骤s205:判断所述目标节点数量是否小于所述节点级别对应的节点数量阈值,若是,执行步骤s3,若不是,执行步骤s23。
24.在本实施例中,节点信息包括节点类别、节点级别、节点数量信息,节点类别包括排序节点、peer节点、服务器节点,节点级别包括一级排序节点、二级排序节点、三级排序节点,一级peer节点、二级peer节点、三级peer节点,一级服务器节点、二级服务器节点、三级服务器节点,各个类别下各个级别节点的数量需要是小于预设各个类别下各个级别节点数量阈值的任意数值,只有这样才能够保证区块链节点的正常运行,避免区块链节点过多,发生冲突,导致区块链网络系统无法正常运行。
25.实施例3如图3所示,在本实施例中,验证所述配置文件正确性的方法为:步骤s51:获取节点信息中的ip地址,执行步骤s52;步骤s52:根据所述ip地址,确定该ip地址所在地的官方语言,执行步骤s53;步骤s53:判断所述功能模块版本是否为与所述官方语音对应的版本;若是,执行步骤s54,若不是,执行步骤s55;步骤s54:验证功能模块的完整性;步骤s55:删除配置文件并进行报警,其中,所述报警信息包括校准参数,所述校准参数包括适用于所述官方语音功能模块版本、数据库中存在的子功能模块的编号中的至少一种。
26.不同地区的官方语音(包括中文、英语、日语、法语等)不同,因此需要设置不同版本的功能模块以满足不同地区的区块链节点运行需求,本实施例能够通过ip地址获取地理位置信息,根据地理位置信息确定该地区的官方语音,进而验证功能模块版本的正确性,有利于提高区块链节点的适用范围。
27.值得说明的,验证功能模块的完整性的方法为:步骤s61将配置文件中的功能模块作为待验证功能模块,所述待验证功能模块包括目标功能模块以及目标功能模块对应的编号,执行步骤s62;步骤s62:根据所述编号搜索数据库,获得数据库中所述编号对应的子功能模块,步骤s63:判断所述子功能模块是否与目标功能模块一致,若一致,则确认所述配置文件为正确的配置文件,执行步骤s5,若不一致,则执行步骤s55。
28.数据库中预设有许多子功能模块以及子功能模块对应的编号,例如,数据库中预设有1-功能模块、2-钱包模块、3-智能合约模块、4-身份验证模块、5-侧链模块,所述例如目标功能模块的数量可以是一个或者多个,例如,配置文件中的目标功能模块以及编号为2-智能合约模块,根据2搜索数据库中编号为2的子功能模块,获得2-钱包模块,所述钱包模块与智能合约模块不一致,则确认所述配置文件为不正确的配置文件,需要停止部署,有利于对配置文件中功能模块类型的进行验证,避免在配置文件生成过程中发生数据传输错误。
29.实施例4如图4所示,本实施例可适用于远程批量部署区块链节点的情况,该装置可实现本发明任意实施例所述的区块链节点部署方法。该装置具体包括获取模块、验证模块、生成模块、部署模块,所述验证模块包括第一验证模块、第二验证模块,所述生成模块包括第一生成模块、第二生成模块,其中:所述获取模块用于获取部署请求;所述第一验证模块用于验证部署请求的正确性;所述第一生成模块用于根据正确的部署请求生成配置文件;所述第二验证模块用于验证配置文件的正确性;所述第二生成模块用于根据正确的配置文件生成安装包;所述部署模块用于根据安装包部署区块链网络节点。
30.值得说明的,所述第一验证模块包括第一验证单元、第二验证单元,其中:所述第一验证单元用于验证节点信息传输的正确性;所述第二验证单元用于验证节点信息的正确性。
31.值得说明的,所述第二验证模块包括验证单元、报警单元,所述验证单元用于验证配置文件的正确性,所述报警单元用于配置文件不正确报警并输出矫正参数。
32.实施例5如图5所示,该设备具体包括:包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本发明任意实施例所述的一种自动化部署区块链网络节点的方法,处理器与存储器可以通过总线或其他方式连接,图5中以通过总线连接为例。
33.实施例6一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现任意实施例中的一种自动化部署区块链节点的方法。
34.本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1