一种启动/关闭区块链节点服务的方法和装置制造方法及图纸

技术编号:33131055 阅读:20 留言:0更新日期:2022-04-17 00:47
本说明书提供一种启动/关闭区块链节点服务的方法和装置,应用于第一节点设备,其中,启动区块链节点服务的方法包括:获取区块链节点服务的启动控制信息;在确定本地部署的区块链主网中的第一主网节点启动完成且本地部署有所述区块链主网管理的区块链子网中的多个子网节点的情况下,响应于所述启动控制信息创建至少两个节点启动线程;将所述多个子网节点分别对应的节点启动任务分配至所述至少两个节点启动线程中,以基于所述至少两个节点启动线程并行启动所述多个子网节点。程并行启动所述多个子网节点。程并行启动所述多个子网节点。

【技术实现步骤摘要】
一种启动/关闭区块链节点服务的方法和装置


[0001]本说明书实施例属于区块链
,尤其涉及一种启动/关闭区块链节点服务的方法和装置。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。在一些区块链网络中,部分节点有时存在实现小范围交易的需求,以避免其他节点获得这些交易及其相关数据。因此可以在区块链主网的基础上进一步建立区块链子网。
[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]图1是一示例性实施例提供的一种基于区块链主网组建区块链子网的示意图。
[0029]图2是一示例性实施例提供的一种启动区块链节点服务的方法的流程图。
[0030]图3是一示例性实施例提供的一种关闭区块链节点服务的方法的流程图。
[0031]图4是一示例性实施例提供的一种设备的结构示意图。
[0032]图5是一示例性实施例提供的一种启动区块链节点服务的装置的框图。
[0033]图6是一示例性实施例提供的一种关闭区块链节点服务的装置的框图。
具体实施方式
[0034]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0035]由于区块链网络的去中心化特性,使得区块链网络中的所有区块链节点均会维护相同的区块数据,无法满足部分节点的特殊需求。以联盟链为例,所有联盟成员(即联盟内的节点成员)可以组成一区块链网络,所有联盟成员在该区块链网络中分别存在对应的区块链节点,并可以通过对应的区块链节点获得该区块链网络上发生的所有交易和相关数据。但在一些情况下,可能存在部分联盟成员希望完成一些具有保密需求的交易,这些联盟成员既希望这些交易能够在区块链上存证或借助于区块链技术的其他优势,又能够避免其他联盟成员查看到这些交易和相关数据。虽然这些联盟成员可以额外组建一新的区块链网络,其建立方式与上述包含所有联盟成员的区块链网络类似,但是从头开始建立一条新的区块链网络需要消耗大量的资源,且无论是该区块链网络的建立过程或是建成后的配置过程都非常耗时。联盟成员之间的需求往往是临时的或者具有一定的时效性,使得新建的区块链网络很快就会由于需求消失而失去存在的意义,从而进一步增加了上述区块链网络的建链成本。而联盟成员之间的需求经常会变化,而每一需求所对应的联盟成员也往往不同,因而每当联盟成员发生变化时就可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种启动区块链节点服务的方法,应用于第一节点设备,包括:获取区块链节点服务的启动控制信息;在确定本地部署的区块链主网中的第一主网节点启动完成且本地部署有所述区块链主网管理的区块链子网中的多个子网节点的情况下,响应于所述启动控制信息创建至少两个节点启动线程;将所述多个子网节点分别对应的节点启动任务分配至所述至少两个节点启动线程中,以基于所述至少两个节点启动线程并行启动所述多个子网节点。2.根据权利要求1所述的方法,第一节点设备维护有本地部署的所述多个子网节点对应的节点启动任务的任务耗时;所述将所述多个子网节点分别对应的节点启动任务分配至所述至少两个节点启动线程中,包括:依次选取当前未分配的各个节点启动任务,并将每次选取的目标子网节点对应的目标节点启动任务分配至所述至少两个节点启动线程中当前总耗时最少的目标节点启动线程,直至所述多个子网节点对应的节点启动任务分配完成,其中,任一节点启动线程的总耗时为所述任一节点启动线程当前包含的节点启动任务的任务耗时之和。3.根据权利要求2所述的方法,所述依次选取当前未分配的各个节点启动任务,包括:按照优先级从高至低的顺序依次选取当前未分配的节点启动任务;所述将每次选取的目标子网节点对应的目标节点启动任务分配至所述至少两个节点启动线程中当前总耗时最少的目标节点启动线程,包括:将所述目标节点启动任务添加至所述目标节点启动线程的任务执行序列的末端。4.根据权利要求3所述的方法,所述多个子网节点对应的节点启动任务的优先级维护在第一节点设备或者包含于所述启动控制信息。5.根据权利要求2所述的方法,任一区块链节点对应的节点启动任务的任务耗时由用于构成所述任一区块链节点的插件模块的启动时长所确定。6.根据权利要求2所述的方法,还包括:在用于构成所述目标子网节点的插件模块中包括运行需求为共享运行的第一插件模块、且当前已分配的节点启动任务中已分配有第一插件模块对应的插件启动子任务的情况下,基于除第一插件模块之外的用于构成所述目标子网节点的插件模块的启动时长确定所述目标节点启动任务的任务耗时。7.根据权利要求6所述的方法,所述当前已分配的节点启动任务中已分配有第一插件模块对应的插件启动子任务,包括:所述当前已分配的节点启动任务中已分配的第一插件模块对应的插件启动子任务在其所处节点启动线程中的第一完成时刻不大于所述目标节点启动任务中描述的第一插件模块对应的插件启动子任务在所述目标节点启动线程中的第一开始时刻。8.根据权利要求2所述的方法,还包括:在用于构成所述目标子网节点对应的插件模块中包括运行需求为共享运行的第二插件模块、且当前已分配的节点启动任务中已分配有第二插件模块对应的插件启动子任务的情况下,确定所述当前已分配的节点启动任务中已分配的第二插件模块对应的插件启动子任务在其所处节点启动线程中的第二开始时刻,以及所述目标节点启动任务中描述的第二插件模块对应的插件启动子任务在所述目标节点启动线程中的第三开始时刻;
在第三开始时刻小于第二开始时刻的情况下,将第二插件模块对应的插件启动子任务从所述当前已分配的节点启动任务转移分配至所述目标节点启动任务,以更新所述当前已分配的节点启动任务的任务耗时。9.根据权利要求1所述的方法,第一节点设备启动任一区块链节点,包括:启动用于构成所述任一区块链节点的插件模块。10.根据权利要求9所述的方法,所述启动用于构成所述任一区块链节点的插件模块,包括:通过所述任一区块链节点对应的插件管理器启动用于构成所述任一区块链节点的插件模块。11.根据权利要求9所述的方法,所述启动用于构成所述任一区块链节点的插件模块,包括:确定用于构成所述任一区块链节点的各插件模块的插件描述信息,以及各插件模块的运行需求;在任一插件模块的运行需求为共享运行的情况下,若存在匹配于所述任一插件模块的插件描述信息的已开启插件模块,且所述已开启插件模块的运行模式为共享模式,则将所述已开启插件模块共享至所述任一区块链节点;在所述任一插件模块的运行需求为共享运行的情况下,若不存在匹配于所述插件描述信息且运行模式为共享模式的已开启插件模块,则启动所述任一插件模块;在所述任一插件模块的运行需求为独立运行的情况下,启动所述任一插件模块。12.根据权利要求11所述的方法,还包括:在启动所述插件描述信息对应的插件模块时,基于所述运行需求设置所启动的插件模块的运行模式。13.根据权利要求9所述的方法,所述启动用于构成所述任一区块链节点的插件模块,包括:根据用于构成所述任一区块链节点的各插件模块之间的依赖关系,依次启动用于构成所述任一区块链节点的各插件模块。14.一种关闭区块链节点服务的方法,应用于第一节点设备,包括:获取区块链节点服务的关闭控制信息;在确定本地部署有所述区块链主网管理的区块链子网中的多个子网节点的情况下,响应于所述关闭控制信息创建至少两个节点关闭线程;将所述多个子网节点分别对应的节点关闭任务分配至所述至少两个节点关闭线程中,以基于所述至少两个节点关闭线程并行关闭所述多个子网节点。15.根据权利要求14所述的方法,第一节点设备维护有本地部署的所述多个子网节点对应的节点关闭任务的任务耗时;所述将所述多个子网节点分别对应的节点关闭任务分配至所述至少两个节点关闭线程中,包括:依次选取当前未分配的各个节点关闭任务,并将每次选取的目标子网节点对应的目标节点关闭任务分配至所述至少两个节点关闭线程中当前总耗时最少的目标节点关闭线程,直至所述多...

【专利技术属性】
技术研发人员:陶友贤
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1