一种区块链服务管理方法和区块链节点技术

技术编号:34638890 阅读:6 留言:0更新日期:2022-08-24 15:13
一种区块链服务管理方法和区块链节点,该方法由区块链节点执行,区块链节点中运行有第一进程和第二进程,第一进程为第二进程的父进程,第二进程用于提供第一区块链服务,第一进程用于侦听第一端口,第二进程用于通过第一端口对应的缓冲区,获取访问信息,该方法包括:第一进程接收用于指示第二进程已退出的退出消息;第一进程响应于退出消息,启动对应于第一区块链服务的第三进程,使得第三进程通过第一端口对应的缓冲区,获取访问信息;第三进程为第一进程的子进程。第一进程的子进程。第一进程的子进程。

【技术实现步骤摘要】
一种区块链服务管理方法和区块链节点


[0001]本说明书实施例属于区块链
,尤其涉及一种区块链服务管理方法和区块链节点。

技术介绍

[0002]区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视,已在众多的领域中进行了广泛的应用。

技术实现思路

[0003]本专利技术的目的在于提供一种区块链服务管理方法和区块链节点,达到不丢失对于区块链服务的访问信息的效果。
[0004]本说明书第一方面提供一种区块链服务管理方法,由区块链节点执行,所述区块链节点中运行有第一进程和第二进程,所述第一进程为所述第二进程的父进程,所述第二进程用于提供第一区块链服务,所述第一进程用于侦听第一端口,所述第二进程用于通过所述第一端口对应的缓冲区,获取访问信息;所述方法包括:
[0005]所述第一进程接收用于指示第二进程已退出的退出消息;
[0006]所述第一进程响应于所述退出消息,启动对应于所述第一区块链服务的第三进程,使得所述第三进程通过所述缓冲区获取访问信息;所述第三进程为所述第一进程的子进程。
[0007]本说明书第二方面提供一种区块链节点,所述区块链节点中运行有第一进程和第二进程,所述第一进程为所述第二进程的父进程,所述第二进程用于提供第一区块链服务,所述第一进程用于侦听第一端口,所述第二进程用于通过所述第一端口对应的缓冲区,获取访问信息,所述第一进程用于接收用于指示第二进程已退出的退出消息;
[0008]所述第一进程还用于响应于所述退出消息,启动对应于所述第一区块链服务的第三进程,使得所述第三进程通过第一端口对应的缓冲区,获取访问信息;所述第三进程为所述第一进程的子进程。
[0009]第三方面,提供一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行第一方面所述的方法。
[0010]第四方面,提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器在执行所述计算机程序或指令时,实现第一方面所述的方法。
[0011]利用以上各个方面中的方法、节点、计算设备、存储介质中的一个或多个,可以达到不丢失区块链服务访问信息的效果。
附图说明
[0012]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0013]图1示出一实施例中的区块链架构图;
[0014]图2是本说明书一实施例中一种区块链服务管理方法的示意图;
[0015]图3是本说明书一实施例中一种区块链服务管理方法的流程图;
[0016]图4是本说明书一实施例中一种区块链节点的示意图;
[0017]图5是本说明书一实施例中另一种区块链节点的示意图;
[0018]图6是本说明书一实施例中又一种区块链节点的示意图;
[0019]图7是本说明书另一实施例中一种区块链服务管理方法的示意图。
具体实施方式
[0020]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0021]图1示出一实施例中的区块链架构图。如图1所示,区块链100中例如包含6个节点。节点之间的连线示意性的表示P2P(Peer to Peer,点对点)连接。这些节点上可存储全量的账本,即存储全部区块和全部账户的状态。其中,区块链中的每个节点通过执行相同的交易而产生区块链中的相同的状态,区块链中的每个节点存储相同的状态数据库。可以理解,图1中虽然示出了区块链中包括6个节点,本说明书实施例不限于此,而是可以包括其他数目的节点。具体是,区块链中包含的节点可以满足拜占庭容错(Byzantine Fault Tolerance,BFT)要求。所述的拜占庭容错要求可以理解为在区块链内部可以存在拜占庭节点,而区块链对外不体现拜占庭行为。一般的,一些拜占庭容错算法中要求节点个数大于3f+1,f为拜占庭节点个数,例如实用拜占庭容错算法PBFT(Practical Byzantine Fault Tolerance)。
[0022]由于区块链节点通常具有多种功能,因此区块链节点通常会运行多种区块链服务,用于提供区块链节点的不同功能,例如计算服务、共识服务、缓存服务、预执行服务、区块管理服务、网络服务等中的一种或多种。现有的区块链节点服务配置方案,通常是基于单物理节点单进程进行服务配置,也就是说在单个物理节点上运行区块链节点的多个区块链服务,并且各个区块链服务,通常均通过物理节点上的单进程的执行来提供。这样的方案存在以下的问题:第一、由于单个物理节点的处理能力有限,会出现无法满足高吞吐量区块链业务的处理需求的状况。而对于单个物理节点的处理能力的扩充,常常是通过提高该物理节点的硬件处理资源,例如CPU升级、内存扩容等。但是,单物理节点的处理资源的提高并不容易,且其常常具有升级程度的极限。也就是说,这种方案难以满足高伸缩性、高吞吐量的区块链服务需求。第二、由于每个区块链服务,通常依赖于物理节点上的单进程,如果该进程的运行出现问题,例如运行逻辑错误或退出,则对应的区块链服务将出现服务异常或中
断。第三、各区块链服务的进程,通常均自己侦听对其服务端口的访问,在侦听服务端口时,会创建针对该服务端口的缓冲区,并通过读取该缓冲区获得对于该区块链服务的访问消息。如果其服务进程(即用于提供该区块链服务的进程,或称该区块链服务的对应进程)因意外退出,则将失去对于服务端口的侦听,相应的针对服务端口的缓冲区也会丢失。因此,此后对于其服务端口的访问信息将会丢失。即使在该进程退出后,另外启动该区块链服务的另一个对应进程来提供服务,在前一个进程退出到后一个进程启动的间隔期间的访问信息,仍旧会丢失。
[0023]为了解决上述技术问题,本说明书实施例中提供了一种区块链服务管理方法。其核心思想是:在区块链节点上设置代理进程,并以之作为所有区块链服务的对应进程的父进程。当任一区块链服务的对应进程例如因故障或意外退出时,该代理进程可以从操作系统收到该区块链服务的进程退出的消息,进而该代理进程可以启动一个新进程来重新提供该区块链服务。并且,当任一区块链服务旨在通过任一网络端口向外部提高服务时,由代理进程对该网络端口进行侦听,然后该区块链服务的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链服务管理方法,由区块链节点执行,所述区块链节点中运行有第一进程和第二进程,所述第一进程为所述第二进程的父进程,所述第二进程用于提供第一区块链服务,所述第一进程用于侦听第一端口,所述第二进程用于通过所述第一端口对应的缓冲区,获取访问信息;所述方法包括:所述第一进程接收用于指示第二进程已退出的退出消息;所述第一进程响应于所述退出消息,启动对应于所述第一区块链服务的第三进程,使得所述第三进程通过所述缓冲区获取访问信息;所述第三进程为所述第一进程的子进程。2.根据权利要求1所述的方法,其中,所述第一进程用于侦听第一端口;所述第二进程用于通过所述第一端口对应的缓冲区,获取访问信息,包括:所述第一进程用于侦听第一端口,获取第一端口对应的缓冲区的标识;所述第二进程基于对于第一进程的继承获取所述标识,根据所述标识找到所述缓冲区,从所述缓冲区获取访问信息。3.根据权利要求1所述的方法,其中,所述区块链节点对应于至少一个物理节点,所述至少一个物理节点包括第一物理节点,所述第一物理节点中运行有所述第一进程和所述第二进程。4.根据权利要求3所述的方法,其中,所述至少一个物理节点还包括第二物理节点,所述第二物理节点中运行有第四进程和第五进程;所述第四进程为所述第五进程的父进程,所述第五进程用于提供第一区块链服务。5.根据权利要求3所述的方法,其中,所述第一物理节点中还运行有第六进程,所述第六进程为所述第一进程的子进程,所述第六进程用于提供所述第一区块链服务。6.根据权利要求1所述的方法,还包括:所述第一进程等待接收第七进程在预定时间发出的第一心跳信息,所述第七进程为第一进程的子进程,且,所述第七进程用于提供第二区块链服务;若第一进程在所述预定时间,未接收到所述第一心跳信息,第一进程启动用于提供第二区块链服务的第八进程,所述第八进程为第一进程的子进程。7.根据权利要求6所述的方法,其中,所述第一心跳信息包括第七进程的状态信息;所述方法还包括:所述第一进程根据所述状态信息,确定第七进程是否正常运行;若结果为否,终止第七进程,并启动用于提供第二区块链服务的第八进程。8.根据权利要求6所述的方法,其中,所述第一心跳信息包括,第七进程针对第一进程向其发送的第二心跳信息的响应信息。9.一种区块链节点,所述区块链节点中运行有第一进程和第二进程,所述第一进程为所述第二进程的父进程,所述第二进程用于提供第一区块链服务,所述第一进程用于侦听第一端口,所述第二进程用于通过所述第...

【专利技术属性】
技术研发人员:任云翔
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1