掌桥专利:专业的专利平台
掌桥专利
首页

节点部署方法、装置、计算机设备和存储介质

文献发布时间:2024-04-18 19:52:40


节点部署方法、装置、计算机设备和存储介质

技术领域

本申请涉及区块链技术领域,特别是涉及一种节点部署方法、装置、计算机设备和存储介质。

背景技术

随着区块链技术的发展,出现了一种将区块链子网作为外网,接入区块链主网,即内网的技术。区块链子网中包含的子网节点可以访问区块链主网数据,同时区块链主网也可以实现区块链子网节点的监控和管理,从而可以保证区块链子网与主网之间数据传输的安全稳定。

传统技术中,在区块链子网新增加子网节点时,在子网与主网双方网络互通的情况下,也需要部署人员在新增的子节点中针对主网连接进行单独配置,因此,现有的区块链子网节点部署方法中,节点部署成本较高,节点部署灵活性较低。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高子网节点部署灵活性的节点部署方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种节点部署方法,应用于区块链子网的主管控节点,所述主管控节点与区块链主网通信连接,所述方法包括:

响应于所述区块链子网中待部署子网节点的节点注册请求,获取所述节点注册请求携带的所述待部署子网节点的节点信息;

将所述节点信息写入预先存储的节点映射表,并将所述节点映射表同步至所述区块链主网;所述区块链主网用于从所述节点映射表中获取所述待部署子网节点的节点信息,并根据所述节点信息得到所述待部署子网节点的审批结果并返回;

在所述审批结果表征审批通过的情况下,向所述待部署子网节点触发部署请求,以部署所述待部署子网节点。

在其中一个实施例中,所述待部署子网节点的数量为多个;所述将所述节点信息写入预先存储的节点映射表,并将所述节点映射表同步至所述区块链主网,包括:将各所述待部署子网节点的节点信息写入所述节点映射表,并在所述节点映射表中对所述节点信息添加临时数据标识;按照预设周期将所述节点映射表同步至所述区块链主网;所述区块链主网用于从所述节点映射表中获取添加有所述临时数据标识的节点信息,并根据所述添加有所述临时数据标识的节点信息,得到对应子网节点的审批结果并返回;所述在所述审批结果表征审批通过的情况下,向所述待部署子网节点触发部署请求,以部署所述待部署子网节点,包括:获取审批结果表征审批通过的第一待部署子网节点,并将所述节点映射表中存储的所述第一待部署子网节点的节点信息中添加的临时数据标识,更新为生效标识;向所述第一待部署子网节点触发部署请求,以部署所述第一待部署子网节点。

在其中一个实施例中,所述方法还包括:获取审批结果表征审批不通过的第二待部署子网节点,并删除所述节点映射表中存储的所述第二待部署子网节点的节点信息,以取消部署所述第二待部署子网节点。

在其中一个实施例中,所述节点信息中包含所述待部署子网节点提供的第一证书信息;所述将所述节点信息写入预先存储的节点映射表,包括:根据所述第一证书信息,对所述待部署子网节点进行证书认证,获取所述待部署子网节点的证书认证结果;在所述证书认证结果为证书认证通过的情况下,对所述区块链子网中包含的子网节点数量进行数量校验,获取所述区块链子网的数量校验结果;在所述数量校验结果为校验通过的情况下,将所述节点信息写入预先存储的节点映射表。

在其中一个实施例中,所述根据所述第一证书信息,对所述待部署子网节点进行证书认证,获取所述待部署子网节点的证书认证结果,包括:获取预先存储的第二证书信息;在所述第一证书信息为根据所述第二证书信息签发得到的证书信息的情况下,将所述证书认证结果确定为证书认证通过。

在其中一个实施例中,对所述区块链子网中包含的子网节点数量进行数量校验,获取所述区块链子网的数量校验结果,包括:获取所述区块链主网预先针对所述区块链子网设定的子网节点数量阈值;在所述区块链子网中包含的子网节点数量未达到所述子网节点数量阈值的情况下,将所述数量校验结果确定为数量校验通过。

在其中一个实施例中,所述方法还包括:在所述证书认证结果为证书认证不通过,或者所述数量校验结果为校验不通过的情况下,取消将所述节点信息写入预先存储的节点映射表,以取消部署所述待部署子网节点。

在其中一个实施例中,所述节点信息包含所述待部署子网节点的地址信息;所述在所述审批结果表征审批通过的情况下,向所述待部署子网节点触发部署请求,以部署所述待部署子网节点之后,还包括:响应于已部署的目标子网节点触发的主网交互请求,获取所述目标子网节点的节点标识,并将携带有所述节点标识的主网交互请求发送至所述区块链主网;所述区块链主网用于获取所述主网交互请求对应的响应结果,并将携带有所述节点标识的响应结果返回;接收所述区块链主网返回的所述响应结果,并从所述节点映射表中,根据所述节点标识获取所述目标子网节点的目标地址信息;按照所述目标地址信息,将所述响应结果返回所述目标子网节点。

第二方面,本申请还提供了一种节点部署装置,应用于区块链子网的主管控节点,所述主管控节点与区块链主网通信连接,所述装置包括:

注册请求响应模块,用于响应于所述区块链子网中待部署子网节点的节点注册请求,获取所述节点注册请求携带的所述待部署子网节点的节点信息;

节点映射同步模块,用于将所述节点信息写入预先存储的节点映射表,并将所述节点映射表同步至所述区块链主网;所述区块链主网用于从所述节点映射表中获取所述待部署子网节点的节点信息,并根据所述节点信息得到所述待部署子网节点的审批结果并返回;

子网节点部署模块,用于在所述审批结果表征审批通过的情况下,向所述待部署子网节点触发部署请求,以部署所述待部署子网节点。

第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

响应于所述区块链子网中待部署子网节点的节点注册请求,获取所述节点注册请求携带的所述待部署子网节点的节点信息;

将所述节点信息写入预先存储的节点映射表,并将所述节点映射表同步至所述区块链主网;所述区块链主网用于从所述节点映射表中获取所述待部署子网节点的节点信息,并根据所述节点信息得到所述待部署子网节点的审批结果并返回;

在所述审批结果表征审批通过的情况下,向所述待部署子网节点触发部署请求,以部署所述待部署子网节点。

第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

响应于所述区块链子网中待部署子网节点的节点注册请求,获取所述节点注册请求携带的所述待部署子网节点的节点信息;

将所述节点信息写入预先存储的节点映射表,并将所述节点映射表同步至所述区块链主网;所述区块链主网用于从所述节点映射表中获取所述待部署子网节点的节点信息,并根据所述节点信息得到所述待部署子网节点的审批结果并返回;

在所述审批结果表征审批通过的情况下,向所述待部署子网节点触发部署请求,以部署所述待部署子网节点。

第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

响应于所述区块链子网中待部署子网节点的节点注册请求,获取所述节点注册请求携带的所述待部署子网节点的节点信息;

将所述节点信息写入预先存储的节点映射表,并将所述节点映射表同步至所述区块链主网;所述区块链主网用于从所述节点映射表中获取所述待部署子网节点的节点信息,并根据所述节点信息得到所述待部署子网节点的审批结果并返回;

在所述审批结果表征审批通过的情况下,向所述待部署子网节点触发部署请求,以部署所述待部署子网节点。

上述节点部署方法、装置、计算机设备、存储介质和计算机程序产品,通过与区块链主网通信连接的区块链子网的主管控节点,响应于区块链子网中待部署子网节点的节点注册请求,获取节点注册请求携带的待部署子网节点的节点信息;将节点信息写入预先存储的节点映射表,并将节点映射表同步至区块链主网;区块链主网用于从节点映射表中获取待部署子网节点的节点信息,并根据节点信息得到待部署子网节点的审批结果并返回;在审批结果表征审批通过的情况下,向待部署子网节点触发部署请求,以部署待部署子网节点。本申请通过在区块链子网中设置用于与区块链主网通信连接的主管控节点,从而可以在子网节点部署时,通过将待部署子网节点的节点信息写入预先在主管控节点中存储的节点映射表,即可由主管控节点将节点映射表同步到区块链主网,并由区块链主网得到该待部署子网节点审批结果,审批通过后则可以执行子网节点的部署,通过该方式部署子网节点时可以通过主管控节点与区块链主网的交互实现子网节点的部署,而不需要对子网节点与区块链主网的连接进行单独配置,从而可以减少节点部署成本,以及提高节点部署灵活性。

附图说明

图1为一个实施例中节点部署方法的应用环境图;

图2为一个实施例中节点部署方法的流程示意图;

图3为一个实施例中部署待部署子网节点的流程示意图;

图4为一个实施例中将节点信息写入节点映射表的流程示意图;

图5为一个实施例中获取与区块链主网的交互响应结果的流程示意图;

图6为一个应用实例中联盟链节点的跨网监控和管理系统的架构图;

图7为一个应用实例中节点准入的流程示意图;

图8为一个实施例中节点部署装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例提供的节点部署方法,可以应用于如图1所示的应用环境中。其中,区块链子网101包含主管控节点101a以及待配置子网节点101b,并且待配置子网节点101b通过主管控节点101a,来实现与区块链主网102进行通信。具体来说,在需要对待配置子网节点101b进行节点配置时,待配置子网节点101b可以向区块链子链101中的主管控节点101a触发节点注册请求,之后主管控节点101a则可以对该注册请求进行响应,从该节点注册请求中得到待配置子网节点101b的节点信息,并且将上述节点信息写入至主管控节点101a中预先存储的节点映射表中,该节点映射表可以由主管控节点101a同步至区块链主网102。区块链主网102接收到主管控节点101a同步的节点映射表后,则可以从节点映射表中提取出待配置子网节点101b的节点信息,从而实现对待配置子网节点101b的节点配置审批,得到待配置子网节点101b的审批结果后,可以将该审批结果返回至主管控节点101a。如果该审批结果表征审批通过,主管控节点101a还可以向待部署子网节点101b触发用于部署待部署子网节点101b的部署请求,来实现对待部署子网节点101b的部署。其中,区块链子链101以及区块链主链102可以是由多个服务器节点所组成的区块链,主管控节点101a与待部署子网节点101b则可以通过独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种节点部署方法,以该方法应用于图1中的主管控节点101a为例进行说明,包括以下步骤:

步骤S201,响应于区块链子网101中待部署子网节点101b的节点注册请求,获取节点注册请求携带的待部署子网节点101b的节点信息。

其中,节点注册请求是待部署子网节点101b触发的用于注册子网节点,来实现子网节点部署的请求,而节点信息则是待部署子网节点101b的相关信息,例如可以包括该子网节点的IP地址,端口号等等。具体来说,在需要对待部署子网节点101b进行节点部署时,待部署子网节点101b可以向主管控节点101a触发节点注册请求,并在节点注册请求中携带该待部署子网节点101b相关的节点信息。之后主管控节点101a接收到上述节点注册请求后,则可以对该请求进行响应,并可以从节点注册请求中提取出待部署子网节点101b的节点信息。

步骤S202,将节点信息写入预先存储的节点映射表,并将节点映射表同步至区块链主网102;区块链主网102用于从节点映射表中获取待部署子网节点的节点信息,并根据节点信息得到待部署子网节点的审批结果并返回。

节点映射表则是用于存储区块链子网101中各个子网节点的节点信息的映射表,该节点映射表可以预先存储于主管控节点101a。具体来说,主管控节点101a在接收到待部署子网节点101b的节点信息后,则可以将上述节点信息写入预先在主管控节点101a中存储的节点映射表中。之后,主管控节点101a则可以将写有待部署子网节点101b的节点信息的节点映射表发送至区块链主网102进行同步。区块链主网102接收到主管控节点101a发送的节点映射表后,则可以从节点映射表中得到待部署子网节点101b的节点信息,从而对待部署子网节点101b进行审批处理,并得到待部署子网节点101b的审批结果后,将该审批结果返回至主管控节点101a。

步骤S203,在审批结果表征审批通过的情况下,向待部署子网节点触发部署请求,以部署待部署子网节点。

如果区块链主网102对待部署子网节点101b的审批结果是审批通过,即区块链主网102同意对待部署子网节点101b的部署后,主管控节点101a则可以向待部署子网节点101b触发用于执行待部署子网节点101b的部署操作的部署请求,之后待部署子网节点101b则可以对该部署请求进行响应,从而实现对待部署子网节点101b的部署处理。

上述节点部署方法中,通过与区块链主网102通信连接的区块链子网101的主管控节点101a,响应于区块链子网101中待部署子网节点101b的节点注册请求,获取节点注册请求携带的待部署子网节点101b的节点信息;将节点信息写入预先存储的节点映射表,并将节点映射表同步至区块链主网102;区块链主网102用于从节点映射表中获取待部署子网节点的节点信息,并根据节点信息得到待部署子网节点的审批结果并返回;在审批结果表征审批通过的情况下,向待部署子网节点101b触发部署请求,以部署待部署子网节点101b。本申请通过在区块链子网101中设置用于与区块链主网102通信连接的主管控节点101a,从而可以在子网节点部署时,通过将待部署子网节点101b的节点信息写入预先在主管控节点中存储的节点映射表,即可由主管控节点将节点映射表同步到区块链主网,并由区块链主网得到该待部署子网节点101b审批结果,审批通过后则可以执行子网节点的部署,通过该方式部署子网节点时可以通过主管控节点101a与区块链主网102的交互实现子网节点的部署,而不需要对子网节点与区块链主网的连接进行单独配置,从而可以减少节点部署成本,以及提高节点部署灵活性。

在一个实施例中,待部署子网节点的数量为多个;如图3所示,步骤S202可以进一步包括:

步骤S301,将各待部署子网节点101b的节点信息写入节点映射表,并在节点映射表中对节点信息添加临时数据标识;

步骤S302,按照预设周期将节点映射表同步至区块链主网102;区块链主网102用于从节点映射表中获取添加有临时数据标识的节点信息,并根据添加有临时数据标识的节点信息,得到对应子网节点的审批结果并返回。

临时数据标识是用于表征该节点信息为临时数据,即对应的待部署子网节点101b属于未被区块链主网102审批的子网节点。本实施例中,在区块链子网101中需要进行节点部署的待部署子网节点101b的数量可以是多个,如果每个待部署子网节点在节点信息写入节点映射表后,即将节点映射表同步至区块链主网102,那么就需要多次构建主管控节点101a与区块链主网102之间的连接,来执行区块链主网102对每个待部署子网节点101b的审批处理,该方式可能造成传输资源的浪费。因此在本实施例中,为了减少网络资源的浪费,区块链主网102对多个待部署子网节点101b的审批处理可以是批量进行,在这种方式下,主管控节点101a只需要与区块链主网102进行一次网络连接,则可以将记录有多个待部署子网节点101b的节点信息的节点映射表同步至区块链主网102,再由区块链主网102对各个待部署子网节点101b进行批量审批。

具体来说,主管控节点101a每次将待部署子网节点101b的节点信息写入节点映射表后,主管控节点101a还可以对写入的节点信息添加临时数据标识,用于表征该节点信息为临时数据,并且对应的待部署子网节点101b属于未被区块链主网102审批通过的子网节点。之后,主管控节点101a还可以按照预先设定的周期,例如每天或者每周将节点映射表同步至区块链主网102。区块链主网102接收到节点映射表后,则可以先从节点映射表中提取出添加有临时数据标识的节点信息,即识别出未审批的子网节点,并且对每个未审批的子网节点分别进行审批处理,从而得到每一个子网节点的审批结果后,返回主管控节点101a。

步骤S203则可以进一步包括:

步骤S303,获取审批结果表征审批通过的第一待部署子网节点,并将节点映射表中存储的第一待部署子网节点的节点信息中添加的临时数据标识,更新为生效标识;

步骤S304,向第一待部署子网节点触发部署请求,以部署第一待部署子网节点。

第一待部署子网节点则指的是多个待部署子网节点101b中,审批结果为审批通过的待部署子网节点101b,而生效标识则可以用于表征对应的节点信息为生效数据,即对应的待部署子网节点101b属于已被区块链主网102审批,并且审批通过的子网节点。具体来说,主管控节点101a接收到区块链主网102返回的针对于每个待部署子网节点101b的审批结果后,还可以从待部署子网节点101b中确定出审批结果表征审批通过的待部署子网节点101b,作为第一待部署子网节点。并且,还可以将节点映射表中存储的第一待部署子网节点的节点信息中添加的临时数据标识,更新为生效标识。同时还可以向每个第一待部署子网节点触发部署请求,来实现针对每个第一待部署子网节点的部署处理。

本实施例中,主管控节点101a在每次将待部署子网节点101b的节点信息写入节点映射表时,还可以为节点信息添加临时数据标识,并且按照一个设定的周期将节点映射表同步至区块链主网102,区块链主网102这可以基于上述临时数据标识,来实现对待部署子网节点101b的批量审批处理。之后,如果审批通过,主管控节点101a还可以将临时数据标识更新为生效标识,来实现批量部署子网节点,从而可以减少传输资源的浪费,提高传输资源的利用率。

另外,节点部署方法,还包括:获取审批结果表征审批不通过的第二待部署子网节点,并删除节点映射表中存储的第二待部署子网节点的节点信息,以取消部署第二待部署子网节点。

第二待部署子网节点指的是审批结果为审批通过的待部署子网节点101b,而如果某个待部署子网节点101b为第二待部署子网节点,即区块链主网102不同意该第二待部署子网节点的部署,那么主管控节点101a则可以删除节点映射表中存储的上述第二待部署子网节点的节点信息,从而取消对第二待部署子网节点的部署处理。

例如,多个待部署子网节点101b可以分别为节点1、节点2以及节点3,主管控节点101a在每次将上述节点1、节点2以及节点3的节点信息写入节点映射表时,还可以分别对每个节点信息添加临时数据标识。之后,主管控节点101a按照预设周期将节点映射表同步至区块链主网102,区块链主网102则可以从节点映射表中筛选出添加有临时数据标识的节点信息,即节点1、节点2以及节点3的节点信息,并分别进行审批处理,审批结果可以是节点1和节点2审批通过,而节点3审批不通过。那么在区块链主网102返回审批结果后,节点1和节点2则可以作为第一待部署子网节点,因此主管控节点101a则可以将节点1和节点2的节点信息的临时数据标识更新为生效标识,并且触发对节点1和节点2的部署,来实现节点1和节点2的部署。而节点3则作为第二待部署子网节点,此时主管控节点101a则可以删除节点映射表中节点3的节点信息,并取消对节点3的部署处理。

本实施例中,如果审批结果表征审批不通过,主管控节点101a则可以删除该待部署子网节点101b的节点信息在节点映射表中的存储,从而可以取消该子网节点的部署,并释放节点映射表的存储量,进一步提高了节点映射表的存储利用率。

在一个实施例中,节点信息中包含待部署子网节点101b提供的第一证书信息;如图4所示,步骤S202可以进一步包括:

步骤S401,根据第一证书信息,对待部署子网节点101b进行证书认证,获取待部署子网节点101b的证书认证结果。

第一证书信息指的是由待部署子网节点101b提供至主管控节点101a的证书信息,本实施例中,待部署子网节点101b向主管控节点101a发起节点注册请求时,还可以将其携带的证书信息,即第一证书信息作为节点信息的一部分,发送至主管控节点101a。主管控节点101a接收到待部署子网节点101b发送的节点信息后,则可以从中得到第一证书信息,从而对第一证书信息进行证书认证,来得到待部署子网节点101b的证书认证结果。

步骤S402,在证书认证结果为证书认证通过的情况下,对区块链子网101中包含的子网节点数量进行数量校验,获取区块链子网101的数量校验结果。

数量校验则指的是对区块链子网101中包含的节点数量进行校验,如果步骤S401中主管控节点101a完成对待部署子网节点101b的证书认证,并且证书认证通过后,主管控节点101a还可以进一步地对区块链子网101中包含的子网节点的数量进行校验,来得到区块链子网101的数量校验结果。

步骤S403,在数量校验结果为校验通过的情况下,将节点信息写入预先存储的节点映射表。

之后,如果步骤S402得到的块链子网101的数量校验结果为校验通过时,即区块链子网101满足数量校验条件时,主管控节点101a则可以将到待部署子网节点101b的节点信息写入节点映射表中,以供区块链主网102通过节点映射表来对待部署子网节点101b的节点信息进行审批处理。

本实施例中,主管控节点101a在得到待部署子网节点101b的节点信息后,还可以先对待部署子网节点101b进行证书认证,以及对区块链子网101中包含的子网节点数量进行数量校验,只有在证书认证以及数量校验都通过的情况下,才执行将待部署子网节点101b的节点信息写入节点映射表,从而可以提高子网节点部署的安全性。

进一步地,步骤S401可以进一步包括:获取预先存储的第二证书信息;在第一证书信息为根据第二证书信息签发得到的证书信息的情况下,将证书认证结果确定为证书认证通过。

第二证书信息指的是主管控节点101a中携带的证书信息,本实施例中,主管控节点101a对待部署子网节点101b进行证书认证的过程是,先获取预先在主管控节点101a中存储的证书信息,作为第二证书信息,之后再判断由待部署子网节点101b提供的第一证书信息,是否是根据第二证书信息签发得到的证书信息,如果第一证书信息是根据第二证书信息签发得到的证书信息,则可以代表待部署子网节点101b所提供的子证书,是由主管控节点101a存储的根证书签发得到,此时主管控节点101a可以将证书认证结果确定为证书认证通过。

本实施例中,对待部署子网节点101b进行证书认证的方式是,通过判断待部署子网节点101b所提供的第一证书信息,是否是主管控节点101a存储的第二证书信息签发得到,从而通过判断子证书是否由根证书签发得到的方式,来实现对待部署子网节点101b的证书认证,从而可以提高证书认证的安全性。

另外,步骤S402可以进一步包括:获取区块链主网102预先针对区块链子网101设定的子网节点数量阈值;在区块链子网101中包含的子网节点数量未达到子网节点数量阈值的情况下,将数量校验结果确定为数量校验通过。

子网节点数量阈值表征的是在区块链子网101中可包含的最大子网节点数量,该数量阈值可以是区块链主网102预先针对区块链子网101设置得到,来保证区块链子网101的子网节点数量不可超过上述子网节点数量阈值。

具体来说,区块链主网102可以预先设置针对区块链子网101的最大子网节点数量,即子网节点数量阈值,并且可以将该子网节点数量阈值进行上链处理。之后在证书认证结果为证书认证通过的情况下,主管控节点101a则可以从链上获取区块链主网102预先设置的子网节点数量阈值,并判断当前区块链子网101中包含的子网节点数量,是否已经达到了上述子网节点数量阈值,如果还未达到,那么则表明区块链子网101还可以增加子网节点数量,因此此时主管控节点101a可以将区块链子网101的数量校验结果确定为数量校验通过。

本实施例中,区块链主网102还可以对区块链子网101设置最大子网节点数量,并且只有在区块链子网101的子网节点数量未达到最大子网节点数量的情况下,主管控节点101a才会将区块链子网101的数量校验结果确定为数量校验通过,从而可以控制区块链子网101的节点数量,进一步提高节点部署的智能性。

在一个实施例中,节点部署方法,还可以包括:在证书认证结果为证书认证不通过,或者数量校验结果为校验不通过的情况下,取消将节点信息写入预先存储的节点映射表,以取消部署待部署子网节点。

而如果证书认证的结果为认证不通过,或者数量校验结果为校验不通过,那么则表明待部署子网节点101b所持的子证书信息,即第一证书信息,并非是由主管控节点101a所持有的根证书信息,即第二证书信息签发得到,又或者是表明当前区块链子网101所包含的子网节点的数量,已经达到了区块链主网102对其设置的最大数量,那么此时主管控节点101a则不允许将上述待部署子网节点101b的节点信息写入节点映射表,并禁止部署上述待部署子网节点101b。

本实施例中,如果待部署子网节点101b的证书认证不通过,或者区块链子网101的数量校验不通过,那么主管控节点101a可以停止将待部署子网节点101b的节点信息写入节点映射表,并禁止部署上述待部署子网节点101b,从而可以保证子网节点部署的安全性。

在一个实施例中,节点信息包含待部署子网节点101b的地址信息;如图5所示,步骤S203之后,还可以包括:

步骤S501,响应于已部署的目标子网节点触发的主网交互请求,获取目标子网节点的节点标识,并将携带有节点标识的主网交互请求发送至区块链主网;区块链主网用于获取主网交互请求对应的响应结果,并将携带有节点标识的响应结果返回。

对待部署子网节点101b进行部署时,由待部署子网节点101b的节点信息可以包含有待部署子网节点101b的地址信息,例如待部署子网节点101b的IP地址信息,而目标子网节点则可以是区块链子链101中任意一个已经完成部署的子网节点,主网交互请求则是上述目标子网节点触发的,用于执行与区块链主链102进行交互的请求,例如可以是更新区块链主链102的数据,或者查询区块链主链102的数据的交互请求。而响应结果则指的是上述主网交互请求的响应结果,节点标识则是用于表征触发主网交互请求的目标子网节点的标识。

本实施例中,在完成区块链子网101的子网节点的部署后,如果某个子网节点,即目标子网节点需要执行与区块链主网102的交互,也需要先向主管控节点101a触发与区块链主网102进行主网交互的交互请求,而不是直接向区块链主网102发起上述交互请求。之后区块链子网101接收到主网交互请求后,则可以先确定触发上述交互请求的目标子网节点的节点标识,并且可以将携带有上述节点标识的主网交互请求发送至区块链主网102。区块链主网102接收到上述携带有节点标识的主网交互请求后,则可以对主网交互请求进行响应,得到响应结果后,则可以携带节点标识的响应结果返回主管控节点101a。

步骤S502,接收区块链主网102返回的响应结果,并从节点映射表中,根据节点标识获取目标子网节点的目标地址信息;

步骤S503,按照目标地址信息,将响应结果返回目标子网节点。

目标地址信息指的是目标子网节点所对应的地址信息,该地址信息可以存储于节点映射表中包含的目标子网节点的节点信息中。具体来说,在主管控节点101a接收到区块链主网102返回的响应结果后,则可以基于响应结果中携带的节点标识,查询节点映射表,并从节点映射表中得到该节点标识所对应的目标子网节点的地址信息,作为目标地址信息,并且按照目标地址信息,将上述响应结果返回至目标地址信息所对应的子网节点,即可将上述响应结果返回目标子网节点。

本实施例中,在完成子网节点的部署后,如果已经部署完成的子网节点需要与区块链主网102的执行交互,则可以向主管控节点101a触发主网交互请求,并由主管控节点101a将携带上述子网节点的节点标识的主网交互请求发送至区块链主网102。区块链主网102得到对应的响应结果后,也可以将携带节点标识的响应结果返回主管控节点101a,再由主管控节点101a查询该节点标识对应的目标地址信息,来实现将响应结果返回目标子网节点。上述方式通过主管控节点101a实现了已部署子网节点与区块链主链102的交互,而不需要已部署子网节点直接与区块链主链102进行交互,从而可以提高节点交互管理的便捷性。

在一个应用实例中,还提供了一种联盟链节点的跨网监控和管理方法,该方法可以应用于如图6所示的区块链系统中,其中管控程序主要实现如下功能:

1、Docker:该模块集成go-dockerclient封装了对Docker API的访问,实现了对Docker的调用,通过Docker与区块链节点镜像进行节点启动、关闭、节点监控以及节点镜像管理;

2、网络:通过GRPC构建标准的通讯模块,实现管控程序、节点、BaaS主网的多方网络通讯;

3、映射表:管理并维护子网内部节点与从管控程序IP与端口等信息的映射表,用于请求的定位与转发,新增节点需要登记并注册至映射表;

4、证书认证:由主管控程序持有子网根证书A,子网中节点只有持有根证书A签发的子证书才能通过证书校验注册至映射表并进行通讯;

5、节点准入:子网内新增节点并向主管控程序注册之后,由主管控程序统一向主网BaaS和共识节点进行同步。优化了子网内部的节点准入流程,子网的节点的准入由子网管控服务控制,同时BaaS可以对各子网的主管控程序的子节点数量上限值进行上链处理,节点注册时主管控程序查询链上信息,节点数量达到上线则拒绝子网节点的新增,具体流程可如图7所示。

上述应用实例提出了一种以管控程序为核心的联盟链跨网节点管理的方法,管控程序具备易接入性,对区块链节点无侵入,自身以Docker容器化方式运行,具备跨平台、轻量、易部署等特性;在多方跨网环境下只需将管控程序镜像交给各自网络环境的工作人员,通过简单的脚本就能部署,降低区块链外网部署成本;在子网的节点接入方面通过管控程序的主从模式、映射表以及证书认证,支持子网节点内部认证准入管理,不再单个节点的反复与主网BaaS交互。因此具备以下优势:(1)方案具备轻量化、跨平台、易部署的优势。该方案主要由管控程序实现,管控程序以Docker方式运行部署简单,相较于现有的直接在外网部署重量级BaaS的方法,该方案成本低、操作简单。(2)方案实现了高效的外部节点管理。管控程序实现了Docker的标准API通过区块链节点镜像进行节点启动、关闭、节点监控以及节点镜像管理。(3)方案以主从管控程序、映射表、证书体系,将子网节点与BaaS主网进行一定程度隔离,子网节点的新增不再需要一个个反复同BaaS主网进行交互,而是由主管控程序统一管理,提升了子网管理的灵活性,这在存在多部门、大机构的大型联盟链场景中具备较大优势。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的节点部署方法的节点部署装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个节点部署装置实施例中的具体限定可以参见上文中对于节点部署方法的限定,在此不再赘述。

在一个实施例中,如图8所示,提供了一种节点部署装置,应用于区块链子网的主管控节点,主管控节点与区块链主网通信连接,包括:注册请求响应模块801、节点映射同步模块802和节点映射同步模块803,其中:

注册请求响应模块801,用于响应于区块链子网中待部署子网节点的节点注册请求,获取节点注册请求携带的待部署子网节点的节点信息;

节点映射同步模块802,用于将节点信息写入预先存储的节点映射表,并将节点映射表同步至区块链主网;区块链主网用于从节点映射表中获取待部署子网节点的节点信息,并根据节点信息得到待部署子网节点的审批结果并返回;

子网节点部署模块803,用于在审批结果表征审批通过的情况下,向待部署子网节点触发部署请求,以部署待部署子网节点。

在一个实施例中,待部署子网节点的数量为多个;节点映射同步模块802,进一步用于将各待部署子网节点的节点信息写入节点映射表,并在节点映射表中对节点信息添加临时数据标识;按照预设周期将节点映射表同步至区块链主网;区块链主网用于从节点映射表中获取添加有临时数据标识的节点信息,并根据添加有临时数据标识的节点信息,得到对应子网节点的审批结果并返回;子网节点部署模块803,进一步用于获取审批结果表征审批通过的第一待部署子网节点,并将节点映射表中存储的第一待部署子网节点的节点信息中添加的临时数据标识,更新为生效标识;向第一待部署子网节点触发部署请求,以部署第一待部署子网节点。

在一个实施例中,节点部署装置,还包括:节点部署取消模块,用于获取审批结果表征审批不通过的第二待部署子网节点,并删除节点映射表中存储的第二待部署子网节点的节点信息,以取消部署第二待部署子网节点。

在一个实施例中,节点信息中包含待部署子网节点提供的第一证书信息;节点映射同步模块802,进一步用于根据第一证书信息,对待部署子网节点进行证书认证,获取待部署子网节点的证书认证结果;在证书认证结果为证书认证通过的情况下,对区块链子网中包含的子网节点数量进行数量校验,获取区块链子网的数量校验结果;在数量校验结果为校验通过的情况下,将节点信息写入预先存储的节点映射表。

在一个实施例中,节点映射同步模块802,进一步用于获取预先存储的第二证书信息;在第一证书信息为根据第二证书信息签发得到的证书信息的情况下,将证书认证结果确定为证书认证通过。

在一个实施例中,节点映射同步模块802,进一步用于获取区块链主网预先针对区块链子网设定的子网节点数量阈值;在区块链子网中包含的子网节点数量未达到子网节点数量阈值的情况下,将数量校验结果确定为数量校验通过。

在一个实施例中,节点部署装置,还包括:节点部署取消模块,用于在证书认证结果为证书认证不通过,或者数量校验结果为校验不通过的情况下,取消将节点信息写入预先存储的节点映射表,以取消部署待部署子网节点。

在一个实施例中,节点信息包含待部署子网节点的地址信息;节点部署装置,还包括:主网交互响应模块,用于响应于已部署的目标子网节点触发的主网交互请求,获取目标子网节点的节点标识,并将携带有节点标识的主网交互请求发送至区块链主网;区块链主网用于获取主网交互请求对应的响应结果,并将携带有节点标识的响应结果返回;接收区块链主网返回的响应结果,并从节点映射表中,根据节点标识获取目标子网节点的目标地址信息;按照目标地址信息,将响应结果返回目标子网节点。

上述节点部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储节点信息数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种节点部署方法。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 代表节点设备选举方法、装置、计算机设备及存储介质
  • 流程节点处理方法、装置、计算机设备及存储介质
  • 基于微表情的节点信息处理方法、装置、计算机设备及存储介质
  • 保单节点流程的发送方法、装置、计算机设备和存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 自动化部署区块链节点的方法、装置、计算机设备和存储介质
  • 中继节点的部署方法、装置与设备、计算机可读存储介质
技术分类

06120116334746