【技术实现步骤摘要】
一种启动/关闭区块链节点服务的方法和装置
[0001]本说明书实施例属于区块链
,尤其涉及一种启动/关闭区块链节点服务的方法和装置。
技术介绍
[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。在一些区块链网络中,部分节点有时存在实现小范围交易的需求,以避免其他节点获得这些交易及其相关数据。因此可以在区块链主网的基础上进一步建立区块链子网。
[0003]在基于区块链主网组建区块链子网的场景下,同一个节点设备上往往会部署并运行多个区块链节点,当用户希望启动或关闭节点设备时,将涉及到对多个区块链节点的启动或关闭,因此,如何高效地对节点设备上的区块链节点进行高效的启动和关闭,是在该场景下亟待解决的问题。
技术实现思路
[0004]本专利技术的目的在于提供一种启动/关闭区块链节点服务的方法和装置。
[0005]根据本说明书一个或多个实施例的第一方面,提出了一种启动区块链节点服务的方法,应用于第一节点设备,包括:
[0006]获取区块链节点服务的启动控制信息;
[0007]在确定本地部署的区块链主网中的第一主网节点启动完成且本地部署有所述区块链主网管理的区块链子网中的多个子网节点的情况下,响应于所述 ...
【技术保护点】
【技术特征摘要】
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所述的方法,第一节点设备维护有本地部署的所述多个子网节点对应的节点关闭任务的任务耗时;所述将所述多个子网节点分别对应的节点关闭任务分配至所述至少两个节点关闭线程中,包括:依次选取当前未分配的各个节点关闭任务,并将每次选取的目标子网节点对应的目标节点关闭任务分配至所述至少两个节点关闭线程中当前总耗时最少的目标节点关闭线程,直至所述多...
【专利技术属性】
技术研发人员:陶友贤,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。