首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 区块链部署方法与系统

链部署方法与系统

阅读:0发布:2021-03-21

专利汇可以提供链部署方法与系统专利检索,专利查询,专利分析的服务。并且本公开的 实施例 公开了一种 区 块 链 部署方法与系统。该区块链部署方法包括:确定区块链网络的配置参数,所述区块链网络包括一个或多个待部署 节点 ;针对所述一个或多个待部署节点中的至少一个待部署节点,确定相应的配置信息并确定相应的节点程序;以及向所述至少一个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序,以使得所述至少一个待部署节点基于所述配置参数和相应的配置信息来执行所述相应的节点程序。相较于传统方法,通过本公开的技术方案,提高了区块链部署效率和便利性,避免了人工操作导致结果不一致的情况,并且能够减少运维人员的学习成本。,下面是链部署方法与系统专利的具体信息内容。

1.一种链部署方法,其特征在于,包括以下步骤:
A.确定区块链网络的配置参数,所述区块链网络包括一个或多个待部署节点
B.针对所述一个或多个待部署节点中的至少一个待部署节点,确定相应的配置信息并确定相应的节点程序;以及
C.向所述至少一个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序,以使得所述至少一个待部署节点基于所述配置参数和所述相应的配置信息来执行所述相应的节点程序。
2.如权利要求1所述的方法,其特征在于,步骤A.确定区块链网络的配置参数包括:
确定所述区块链网络的网络拓扑参数,所述网络拓扑参数包括所述区块链网络中的节点的数量和地址信息;
确定所述区块链网络的安全性参数,所述安全性参数包括所述区块链网络的加密机制。
3.如权利要求2所述的方法,其特征在于,步骤B中针对所述一个或多个待部署节点中的至少一个待部署节点,确定相应的配置信息包括:
确定所述至少一个待部署节点的相应的公私钥和证书信息、运行环境信息、初始化数据信息中的至少一个。
4.如权利要求1所述的方法,其特征在于,步骤C.向所述至少一个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序包括:
当所述至少一个待部署节点包括两个或更多个待部署节点时,经由多个线程并发地向所述两个或更多个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序。
5.如权利要求1所述的方法,其特征在于,所述相应的节点程序包括用于对区块链进行管理的可执行程序,以使得所述至少一个待部署节点在接收到对所述区块链进行管理的管理命令时执行与所述管理命令相关联的管理操作。
6.如权利要求5所述的方法,其特征在于,所述相应的节点程序包括用于对区块链进行管理的可执行程序,以使得所述至少一个待部署节点在接收到对所述区块链的数据进行清理的特定管理命令时基于所述相应的配置信息中的运行环境信息来执行与所述特定管理命令相关联的清理操作,从而实现对所述区块链的数据的清理。
7.一种区块链部署系统,其特征在于,包括:
位于区块链网络中的至少一个待部署节点;以及
部署装置,其通信地耦合到所述至少一个待部署节点,其中,所述部署装置被配置为执行以下步骤:
A.确定所述区块链网络的配置参数;
B.针对至少一个待部署节点,确定相应的配置信息并确定相应的节点程序;以及C.向所述至少一个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序,以使得所述至少一个待部署节点基于所述配置参数和所述相应的配置信息来执行所述相应的节点程序。
8.如权利要求7所述的区块链部署系统,其特征在于,步骤A.确定区块链网络的配置参数包括:
确定所述区块链网络的网络拓扑参数,所述网络拓扑参数包括所述区块链网络中的节点的数量和地址信息;
确定所述区块链网络的安全性参数,所述安全性参数包括所述区块链网络的加密机制。
9.如权利要求7所述的区块链部署系统,其特征在于,步骤B中针对所述一个或多个待部署节点中的至少一个待部署节点,确定相应的配置信息包括:
确定所述至少一个待部署节点的相应的公私钥和证书信息、运行环境信息、初始化数据信息中的至少一个。
10.如权利要求7所述的区块链部署系统,其特征在于,步骤C.向所述至少一个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序包括:
当所述至少一个待部署节点包括两个或更多个待部署节点时,经由多个线程并发地向所述两个或更多个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序。
11.如权利要求7所述的区块链部署系统,其特征在于,所述相应的节点程序包括用于对区块链进行管理的可执行程序,以使得所述至少一个待部署节点在接收到对所述区块链进行管理的管理命令时执行与所述管理命令相关联的管理操作。
12.如权利要求11所述的区块链部署系统,其特征在于,所述相应的节点程序包括用于对区块链进行管理的可执行程序,以使得所述至少一个待部署节点在接收到对所述区块链的数据进行清理的特定管理命令时基于所述相应的配置信息中的运行环境信息来执行与所述特定管理命令相关联的清理操作,从而实现对所述区块链的数据的清理。
13.一种区块链部署装置,其特征在于,包括:
处理器;以及
存储器,其用于存储指令,当所述指令在执行时使得所述处理器执行如权利要求1-6任一项所述的区块链部署方法。
14.一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,其特征在于,当所述指令被执行时,执行如权利要求1-6中任一项所述的区块链部署方法。

说明书全文

链部署方法与系统

技术领域

[0001] 本公开公开总体上涉及区块链领域,尤其涉及一种区块链部署方法与系统。

背景技术

[0002] 区块链(block chain)是一种结合了分布式数据存储、点对点传输、加密算法以及共识机制等计算机技术的新型分布式系统,它由多个参与节点共同维护一套分布式账本,实现了数据信息的防篡改、可追溯等特性,创造了一套安全的分布式信任体系。
[0003] 在目前主流的区块链项目中,通常需要根据不同的目的来部署不同的区块链网络,以便发挥具体场景下使用区块链技术的优势。在这种情况下,虽然使用的底层链是相同的,但是需要针对不同区块链网络进行独立配置,并且快速测试或者使用该区块链,这就对区块链的部署方式提出了较高的要求。传统的部署方式需要人为地为每个区块链节点单独配置环境,或者由一些主流的部署工具通过管理复杂的配置文件来实现。这些部署方式缺乏扩展性和定制化,并且人工操作在对区块链的频繁部署(例如,在研发过程中)中会引起大量重复劳动,导致过高的运维成本,而且可能导致结果不一致。
[0004] 因此,亟需一种改进的区块链部署方法与系统。发明内容
[0005] 总体上,本公开的实施例提供了区块链部署方法、区块链部署系统、区块链部署装置及相应的计算机可读存储介质以至少部分地解决现有技术的上述及其它潜在问题。
[0006] 本公开的实施例的第一方面提供了一种区块链部署方法,所述方法包括以下步骤:A.确定区块链网络的配置参数,所述区块链网络包括一个或多个待部署节点;B.针对所述一个或多个待部署节点中的至少一个待部署节点,确定相应的配置信息并确定相应的节点程序;C.向所述至少一个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序,以使得所述至少一个待部署节点基于所述配置参数和所述相应的配置信息来执行所述相应的节点程序。
[0007] 本公开的实施例的第二方面提供了一种区块链部署系统,所述系统包括:位于区块链网络中的至少一个待部署节点;以及部署装置,其通信地耦合到所述至少一个待部署节点,其中,所述部署装置被配置为执行以下步骤:A.确定所述区块链网络的配置参数;B.针对至少一个待部署节点,确定相应的配置信息并确定相应的节点程序;以及C.向所述至少一个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序,以使得所述至少一个待部署节点基于所述配置参数和所述相应的配置信息来执行所述相应的节点程序。
[0008] 在前述的第一方面或第二方面的一些实施例中,步骤A.确定区块链网络的配置参数包括:确定所述区块链网络的网络拓扑参数,所述网络拓扑参数包括所述区块链网络中的节点的数量和地址信息;确定所述区块链网络的安全性参数,所述安全性参数包括所述区块链网络的加密机制。
[0009] 在一些实施例中,步骤B中针对所述一个或多个待部署节点中的至少一个待部署节点,确定相应的配置信息包括:确定所述至少一个待部署节点的相应的公私钥和证书信息、运行环境信息、初始化数据信息中的至少一个。
[0010] 在一些实施例中,步骤C.向所述至少一个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序包括:当所述至少一个待部署节点包括两个或更多个待部署节点时,经由多个线程并发地向所述两个或更多个待部署节点发送所述配置参数、所述相应的配置信息和所述相应的节点程序。
[0011] 在一些实施例中,所述相应的节点程序包括用于对区块链进行管理的可执行程序,以使得所述至少一个待部署节点在接收到对所述区块链进行管理的管理命令时执行与所述管理命令相关联的管理操作。
[0012] 在一些实施例中,所述相应的节点程序包括用于对区块链进行管理的可执行程序,以使得所述至少一个待部署节点在接收到对所述区块链的数据进行清理的特定管理命令时基于所述相应的配置信息中的运行环境信息来执行与所述特定管理命令相关联的清理操作,从而实现对所述区块链的数据的清理。
[0013] 本公开的实施例的第三方面提供了一种区块链部署装置,所述装置包括:处理器;以及存储器,其用于存储指令,所述指令在执行时使得所述处理器执行根据本公开的实施例的第一方面描述的方法。
[0014] 本公开的实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有指令,所述指令用于执行根据本公开的实施例的第一方面描述的方法。
[0015] 相较于传统方法,通过本公开的技术方案,提高了区块链部署效率和便利性,避免了人工操作导致结果不一致的情况,并且能够减少运维人员的学习成本。附图说明
[0016] 参考附图示出并阐明实施例。这些附图用于阐明基本原理,从而仅仅示出了对于理解基本原理必要的方面。这些附图不是按比例的。在附图中,相同的附图标记表示相似的特征。
[0017] 图1示出了其中可以实现本公开实施例的示例性区块链部署系统架构100。
[0018] 图2示出了根据本公开实施例的示例性区块链部署方法200的流程图
[0019] 图3示出了根据本公开实施例的示例性区块链部署装置300。

具体实施方式

[0020] 在以下优选的实施例的具体描述中,将参考构成本公开一部分的所附的附图。所附的附图通过示例的方式示出了能够实现本公开的特定的实施例。示例的实施例并不旨在穷尽根据本公开的所有实施例。可以理解,在不偏离本公开的范围的前提下,可以利用其他实施例,也可以进行结构性或者逻辑性的修改。因此,以下的具体描述并非限制性的,且本公开的范围由所附的权利要求所限定。
[0021] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0022] 如前所述,通常需要根据不同的目的来部署不同的区块链网络,这样才可以最大限度的发挥具体场景下使用区块链技术的优势。虽然使用的底层区块链是相同的,但是需要针对网络的规模、链的用途、安全性等参数进行独立配置,并且快速测试或者使用区块链,这就对区块链的部署方式提出了较高的要求。由于不同的场景下还涉及到具体的业务问题,这也给区块链项目的研发和使用带来了大量的挑战,尤其对于一些扩展性强、通用平台型的区块链来说,定制化的统一部署显得尤为重要。传统的部署方式需要人为地为每个节点单独配置环境,或者由一些主流的部署工具(例如,Ansible)通过管理复杂的配置文件来实现。例如,传统部署方式通过登录到目标区块链节点来人为地单独配置环境,可能导致结果不一致;诸如Ansible之类的部署工具需要运维人员掌握Ansible自身的配置项信息,并且进行繁琐地配置,需要较高的学习成本。有鉴于此,本公开的实施例提供了一种改进的区块链部署方法与系统。
[0023] 根据区块链参与方的不同,区块链通常被分为公有链、联盟链和私有链三种类型。公有链对外开放,用户无需任何授权就可以访问区块链网络和区块数据,发起各种事务。联盟链限制了只有联盟中的成员才能参与,区块链上的操作权限根据联盟定制的相关规则来确定。私有链一般在私有组织内部使用,区块链上的操作权限根据私有组织的自行规定执行。本公开的实施例可以适用于各种类型的区块链。
[0024] 图1示出了其中可以实现本公开实施例的示例性区块链部署系统架构100。如图1所示,该区块链部署系统架构100包括待部署的区块链网络110以及区块链部署装置160,区块链网络110包括一个或多个待部署的区块链节点120、130、140、150,部署装置160可以通信地耦合或连接到该一个或多个待部署的区块链节点。例如,部署装置160能够以指定的通信协议(譬如,SSH等协议)与区块链节点120-150进行通信。应当理解,图1中的区块链网络以及区块链节点仅是示意而非限制,其可以是任意数量。例如,区块链部署装置160可以用于部署多个不同的区块链网络。
[0025] 图2示出了根据本公开实施例的示例性区块链部署方法200的流程图。可以将该方法200实现在图1的区块链部署系统架构100中,下面将参照图1和图2来描述方法200。方法200可以由图1中的部署装置160执行。如流程图所示,方法200可以包括以下步骤:
[0026] 步骤201:确定区块链网络的配置参数,该区块链网络包括一个或多个待部署节点。例如,在该步骤中,部署装置160确定(例如,生成等)用于区块链网络110的配置参数,该区块链网络包括例如4个待部署的区块链节点120-150。例如,区块链网络的配置参数可以包括但不限于网络拓扑参数、安全性参数、数据存储参数(例如,数据目录、日志目录、数据库类型等)等。
[0027] 步骤202:针对该一个或多个待部署节点中的至少一个待部署节点,确定相应的配置信息并确定相应的节点程序。例如,在该步骤中,部署装置160针对待部署的区块链节点120-150中的至少一个待部署的区块链节点(例如,全部的待部署节点等),确定(例如,生成等)与该至少一个待部署节点相对应的配置信息和节点程序。在一些实施例中,该至少一个待部署节点的配置信息中的至少一部分(例如,节点的通信地址和端口、公私钥和证书信息等)可以至少部分地基于区块链网络的配置参数(例如,网络拓扑参数、安全性参数等)来生成,使得所有待部署节点的配置信息中的至少一部分(例如,节点的通信地址和端口、公私钥和证书信息等)都已经经过注册。节点程序可以例如是由节点运行的二进制代码,例如节点程序可以包括但不限于:节点钱包及图形化界面、挖矿、区块链管理、脚本引擎及网络管理等。
[0028] 步骤203:向该至少一个待部署节点发送该配置参数、该相应的配置信息和该相应的节点程序,以使得该至少一个待部署节点基于该配置参数和该相应的配置信息来执行该相应的节点程序。在该步骤中,部署装置160向该至少一个待部署节点发送(例如,经由SSH协议等的安全通信方式)该配置参数、该相应的配置信息和该相应的节点程序。相应地,该至少一个待部署节点接收该配置参数、该相应的配置信息和该相应的节点程序,并基于该配置参数和该相应的配置信息来执行该相应的节点程序,从而实现区块链运行的初始化(例如,运行环境的搭建(诸如建立与其它区块链节点的P2P通信等)等)。由于基于配置参数和配置信息来执行相应的节点程序,使得运行的初始化是完全的定制化和自动化。
[0029] 在一些实施例中,步骤201可以包括:确定区块链网络的网络拓扑参数,该网络拓扑参数包括区块链网络中的节点的数量和地址信息;确定区块链网络的安全性参数,该安全性参数包括所述区块链网络的加密机制。例如,区块链网络的配置参数可以包括但不限于网络拓扑参数和安全性参数,网络拓扑参数可以包括例如节点的数量、地址信息(例如,节点的IP地址、P2P端口等)和类型信息(例如,在联盟链的情况下,存在不同类型的节点)等,安全性参数可以包括例如区块链网络的加密机制(例如,所采用的加密算法,诸如椭圆曲线签名算法,例如ED25519、Secp256k1等)。
[0030] 在一些实施例中,步骤202中针对该一个或多个待部署节点中的至少一个待部署节点,确定相应的配置信息可以包括:确定该至少一个待部署节点的相应的公私钥和证书信息、运行环境信息、初始化数据信息中的至少一个。例如,该至少一个待部署节点的相应的配置信息可以包括以下中的一个或多个:公私钥和证书信息(例如,公钥、私钥、证书等)、运行环境信息(例如,私钥目录、数据目录等)、初始化数据信息(例如,在初始化时需要的或需要生成的数据文件等)。
[0031] 在一些实施例中,步骤203中向该至少一个待部署节点发送该配置参数、相应的配置信息和相应的节点程序可以包括:当该至少一个待部署节点包括两个或更多个待部署节点时,经由多个线程并发地向该两个或更多个待部署节点发送该配置参数、相应的配置信息和相应的节点程序。例如,在该步骤中,一个优化的方式是部署装置160可以经由多个线程并发地部署多个节点,以加快部署的速度,从而实现将独立的节点环境直接迁移到对应的各个节点。
[0032] 在一些实施例中,相应的节点程序包括用于对区块链进行管理的可执行程序,以使得该至少一个待部署节点在接收到对区块链进行管理的管理命令时执行与该管理命令相关联的管理操作。例如,节点程序可以包括用于对区块链进行管理的可执行程序,以提供区块链管理功能,例如,区块链的启动、暂停、恢复、重置等,使得该至少一个待部署节点在接收到对区块链进行管理的管理命令时执行与该管理命令相关联的管理操作。可以对所有区块链节点进行一键控制和管理,或者可以针对单个区块链节点独立地配置功能。例如,对于总节点数为N的区块链网络,可以对其中的一个或多个(例如,x个)节点独立地管理。例如,待部署链节点可以从部署装置160或其它任何设备接收管理命令。
[0033] 在一些实施例中,相应的节点程序包括用于对区块链进行管理的可执行程序,以使得该至少一个待部署节点在接收到对区块链的数据进行清理的特定管理命令时基于该相应的配置信息中的运行环境信息来执行与该特定管理命令相关联的清理操作,从而实现对所述区块链的数据的清理。例如,当待部署节点接收到特定管理命令(例如,在区块链项目的研发过程中,需要频繁清理区块链的数据)时,可以基于该相应的配置信息中的运行环境信息(例如,私钥目录、数据目录等)来执行清理操作,从而快速地清理区块链数据。相比之下,传统部署方式不能快速地实现区块链数据的清理。
[0034] 根据图2描述的实施例,提供了一种改进的区块链部署方法,该方法具有如下优点:
[0035] 1、该方法部署速度快速高效,只需简单配置,便可以迅速搭建一个区块链网络。充分利用了单机环境在操作时快速高效的条件,只需一次整体的网络环境配置,就可以生成所有节点所需的信息,并且高速启动该区块链网络。
[0036] 2、使用场景不受限制。该方法既可以支持远程真实节点部署,又可以支持本地模拟多节点部署。即使只有单台机器,也可以快速搭建一个区块链网络。在研发环境中,尤其对于测试网络或者需要方便地研究节点之间交互情况的场景非常有用。
[0037] 3、减少了运维人员的学习成本,通过使用该方法,无需额外学习一套独立的配置和使用方式,只需要掌握原有的区块链的相关配置方式,就可以快速搭建区块链网络。相比之下,诸如Ansible之类的部署工具需要运维人员掌握Ansible自身的配置项信息,并且需要进行繁琐地配置,才能搭建起一个区块链网络,需要较高的学习成本。
[0038] 图3示出了根据本公开实施例的示例性区块链部署装置300的示意图。装置300可以包括:存储器301和耦合到存储器301的处理器302。存储器301用于存储指令,处理器302被配置为基于存储器301存储的指令来使装置300实现针对本公开实施例所描述的区块链部署方法(例如,图2的方法200)的步骤中的任何步骤中的一个或多个。
[0039] 如图3所示,装置300还可以包括通信接口303,用于与其它设备进行信息交互。此外,装置300还可以包括总线304,存储器301、处理器302和通信接口303通过总线304来彼此进行通信。
[0040] 存储器301可以包括易失性存储器,也可以包括非易失性存储器。处理器302可以是中央处理器(CPU)、微控制器、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程阵列(FPGA)或其它可编程逻辑器件、或是被配置为实现本发明的实施例的一个或多个集成电路。
[0041] 此外,替代地,上述的区块链部署方法的流程还代表机器可读指令,该机器可读指令包括由处理器执行的程序。该编程指令存储于有形计算机可读介质上,如硬盘、闪存、只读存储器(ROM)、光盘(CD)、数字通用光盘(DVD)、高速缓存器、随机访问存储器(RAM)和/或任何其他存储介质,在该存储介质上信息可以存储任意时间(例如,长时间,永久地,短暂的情况,临时缓冲,和/或信息的缓存)。如在此所用的,该术语有形计算机可读介质被明确定义为包括任意类型的计算机可读存储的信息。附加地或替代地,可利用编码指令(如计算机可读指令)实现附图中的示例过程,该编码指令存储于非暂时性计算机可读介质,在该存储介质信息可以存储任意时间。可以理解的,该计算机可读指令还可以存储在网络服务器中、端平台上,以便于用户使用。
[0042] 另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何公开或权利要求的范围,而应解释为对可以针对特定公开的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈