本发明涉及区块链技术、轻节点生命周期管理、负载均衡技术,尤其涉及一种区块链轻节点多副本的部署方法。
背景技术:
区块链是一种新型去中心化分布式账本技术,能安全地存储数字货币交易或其他数据,特点是存储在区块链上的信息不可伪造和篡改,区块链共识算法驱动区块链上的每个节点都参与到交易的验证过程中,保证区块链上交易都是经过确认可信的,区块链上每个节点都维护一个公共的账本,用于存储区块链网络上所有用户的余额和智能合约数据,任何一个节点对自己所维护的账本的修改都将不被其他节点所承认,从而保证公共账本不可被伪造和篡改。
区块链的轻节点是相对于全节点而言的,一个全节点会存储所有的账本信息并且参与共识和验证,但对大部分场景并不需要使用到全部的账本信息,所以产生了轻节点,轻节点是一种连接全节点以实现与区块链的交互的软件,它使用全节点作为中介,从请求最新的区块头到请求账户的余额等等。轻节点由于以上的特点可以大大减少访问区块链的难度和学习成本。
技术实现要素:
本发明针对轻节点管理和扩容难度大的问题,提供了一种区块链轻节点多副本的部署方法。
由于应用服务的复杂性,在实际部署中对轻节点由很多可用性的要求,有些应用期望能多个应用对应一个轻节点,有的则希望能一对多或者多对多,这就需要轻节点能更好的进行扩展,并且方便管理平台进行运维。
本发明的目的是通过以下技术方案来实现:一种区块链轻节点多副本的部署方法,包括如下步骤:
1)在轻节点端配置轻节点监听端口,启动轻节点,轻节点使用当前时间戳生成一段随机的字符串作为标识第一部分,并将该部分持久化。
2)轻节点获取本机ip和监听端口,并使用这些信息生成一段随机的字符串,将该字符串作为标识第二部分。
3)轻节点将步骤1)和步骤2)中生成的两部分标识拼接在一起,作为该轻节点的唯一标识,携带标识和其他信息(比如该轻节点的名称、地理信息等)发送给管理端服务,进行注册。
4)生成副本:将步骤1)中轻节点的配置文件拷贝到目标机器上,启动目标机器上的轻节点,轻节点启动后将获取本地持久化的标识第一部分,获取本机ip和监听端口,然后使用这些信息生成一段随机的字符串,将该字符串作为标识第二部分,将生成的两部分标识拼接在一起,将完整的标识和相关信息发送到管理端服务,进行注册。
5)在多个轻节点副本前端部署一个负载均衡器(可以是软件或者硬件设备)用来代理发往轻节点的请求。
6)客户端应用可以通过访问负载均衡器配置的前端地址访问轻节点,负载均衡器根据配置的负载均衡策略,选择往哪个轻节点转发请求。
进一步的,所述步骤1)中,轻节点标识的第一部分是使用时间戳生成一段随机的字符串,在管理平台会使用标识中的这一部分来识别多个轻节点实体是否属于同一个轻节点的集群,并依此来对同一个轻节点的集群进行统一的生命周期管理,同一种配置下发,从而实现轻节点间的协同。
进一步的,所述步骤2)中,轻节点标识的第二部分是使用本机ip和监听端口一同生成一段随机的字符串,它和标识第一部分一起组成了轻节点的唯一的识别码,用于区分同一集群中的不同的轻节点,从而实现管理平台对轻节点的更加细粒度的管理。
进一步的,所述的步骤3)中会将步骤1)和步骤2)生产的字符串拼接在一起,用于唯一的标识轻节点,轻节点在获取唯一身份标识后,将身份标识和轻节点的一些其他相关信息发给管理平台,管理平台在接收到标识信息和其他相关信息后验证轻节点的合法性,并对轻节点进行注册。
进一步的,所述的步骤4)中,部署轻节点的副本要使用到节点本地持久化的信息,首先将步骤1)中轻节点的配置文件拷贝到目标机器上并启动,节点获取持久的信息作为身份标识的第一部分,之后获取本机ip和监听端口,使用这些信息生成一段随机的字符串作为身份标识的第二部分,然后将生成的两部分标识拼接在一起,再完整的标识和相关信息发送到管理端服务,进行注册,如果管理平台查询到收到的标识第一部分已经注册,说明轻节点所在集群已注册,则管理平台获取该集群已有的配置信息,下发集群的配置信息给轻节点。
进一步的,所述的步骤5)中,在多个轻节点副本前端部署负载均衡服务,使用负载均衡服务来实现多副本间的协同工作,并且对负载均衡服务后端配置健康检查,来实现轻节点的高可用性。
进一步的,所述的步骤6)中,客户端应用直接访问负载均衡器的前端,由负载均衡服务将请求转发到轻节点。
本发明的有益效果是:本发明通过整合多类型区块链的部署方式、多类型区块链sdk的实现方式以及多类型区块链的合约管理方式,针对多种类型的区块链提供一个快速便捷的部署管理方法。进一步的,通过多种类型区块链的统一管理,来实现对机器资源的充足利用。
附图说明
图1是区块链轻节点多副本的部署的架构图。
具体实施方式
下面根据附图和具体实施例详细描述本发明,本发明的目的和效果将变得更加明显。
如图1所示,本发明提出的一种区块链轻节点多副本的部署方法,包括如下步骤:
1)在轻节点端配置轻节点监听端口,启动轻节点,轻节点使用当前时间戳生成一段随机的字符串作为标识第一部分,并将该部分持久化。
2)轻节点获取本机ip和监听端口,并使用这些信息生成一段随机的字符串,将该字符串作为标识第二部分。
3)轻节点将步骤1)和步骤2)中生成的两部分标识拼接在一起,作为该轻节点的唯一标识,携带标识和其他信息(比如该轻节点的名称、地理信息等)发送给管理端服务,进行注册。
4)生成副本:将步骤1)中轻节点的配置文件拷贝到目标机器上,启动目标机器上的轻节点,轻节点启动后将获取本地持久化的标识第一部分,获取本机ip和监听端口,然后使用这些信息生成一段随机的字符串,将该字符串作为标识第二部分,将生成的两部分标识拼接在一起,将完整的标识和相关信息发送到管理端服务,进行注册。
5)在多个轻节点副本前端部署一个负载均衡器(可以是软件或者硬件设备)用来代理发往轻节点的请求。
6)客户端应用可以通过访问负载均衡器配置的前端地址访问轻节点,负载均衡器根据配置的负载均衡策略,选择往哪个轻节点转发请求。
进一步的,所述步骤1)中,轻节点标识的第一部分是使用时间戳生成一段随机的字符串,在管理平台会使用标识中的这一部分来识别多个轻节点实体是否属于同一个轻节点的集群,并依此来对同一个轻节点的集群进行统一的生命周期管理,同一种配置下发,从而实现轻节点间的协同。
进一步的,所述步骤2)中,轻节点标识的第二部分是使用本机ip和监听端口一同生成一段随机的字符串,它和标识第一部分一起组成了轻节点的唯一的识别码,用于区分同一集群中的不同的轻节点,从而实现管理平台对轻节点的更加细粒度的管理。
进一步的,所述的步骤3)中会将步骤1)和步骤2)生产的字符串拼接在一起,用于唯一的标识轻节点,轻节点在获取唯一身份标识后,将身份标识和轻节点的一些其他相关信息发给管理平台,管理平台在接收到标识信息和其他相关信息后验证轻节点的合法性,并对轻节点进行注册。
进一步的,所述的步骤4)中,部署轻节点的副本要使用到节点本地持久化的信息,首先将步骤1)中轻节点的配置文件拷贝到目标机器上并启动,节点获取持久的信息作为身份标识的第一部分,之后获取本机ip和监听端口,使用这些信息生成一段随机的字符串作为身份标识的第二部分,然后将生成的两部分标识拼接在一起,再完整的标识和相关信息发送到管理端服务,进行注册,如果管理平台查询到收到的标识第一部分已经注册,说明轻节点所在集群已注册,则管理平台获取该集群已有的配置信息,下发集群的配置信息给轻节点。
进一步的,所述的步骤5)中,在多个轻节点副本前端部署负载均衡服务,使用负载均衡服务来实现多副本间的协同工作,并且对负载均衡服务后端配置健康检查,来实现轻节点的高可用性。
进一步的,所述的步骤6)中,客户端应用直接访问负载均衡器的前端,由负载均衡服务将请求转发到轻节点。
下面用一个具体的区块链轻节点多副本的部署的实例来说明具体的实施方式:
模拟一个区块链轻节点多副本的部署方式的流程,如图1所示,应用程序发送请求到负载均衡服务。
负载均衡服务在获取到应用程序的请求,根据事先配置好的转发规则,将请求转发到其中一个轻节点。
这时轻节点已经在管理平台注册,管理平台通过轻节点身份标识的两部分,对轻节点分别进行集群粒度的配置或者节点粒度的配置。
轻节点收到负载均衡发来的请求之后,将交易转发到节点后端的mq(本例中),轻节点和区块链直接通过mq进行连接和缓冲。
以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
1.一种区块链轻节点多副本的部署方法,其特征在于,包括如下步骤:
1)在轻节点端配置轻节点监听端口,启动轻节点,轻节点使用当前时间戳生成一段随机的字符串作为标识第一部分,并将该部分持久化。
2)轻节点获取本机ip和监听端口,并使用这些信息生成一段随机的字符串,将该字符串作为标识第二部分。
3)轻节点将步骤1)和步骤2)中生成的两部分标识拼接在一起,作为该轻节点的唯一标识,携带标识和其他信息发送给管理端服务,进行注册。
4)生成副本:将步骤1)中轻节点的配置文件拷贝到目标机器上,启动目标机器上的轻节点,轻节点启动后将获取本地持久化的标识第一部分,获取本机ip和监听端口,然后使用这些信息生成一段随机的字符串,将该字符串作为标识第二部分,将生成的两部分标识拼接在一起,将完整的标识和相关信息发送到管理端服务,进行注册。
5)在多个轻节点副本前端部署一个负载均衡器用来代理发往轻节点的请求。
6)客户端应用可以通过访问负载均衡器配置的前端地址访问轻节点,负载均衡器根据配置的负载均衡策略,选择往哪个轻节点转发请求。
2.如权利要求1所述的一种区块链轻节点多副本的部署方法,其特征在于,步骤1)中,轻节点标识的第一部分是使用时间戳生成一段随机的字符串,在管理平台会使用标识中的这一部分来识别多个轻节点实体是否属于同一个轻节点的集群,并依此来对同一个轻节点的集群进行统一的生命周期管理,同一种配置下发,从而实现轻节点间的协同。
3.如权利要求1所述的一种区块链轻节点多副本的部署方法,其特征在于,步骤2)中,轻节点标识的第二部分是使用本机ip和监听端口一同生成一段随机的字符串,它和标识第一部分一起组成了轻节点的唯一的识别码,用于区分同一集群中的不同的轻节点,从而实现管理平台对轻节点的更加细粒度的管理。
4.如权利要求1所述的一种区块链轻节点多副本的部署方法,其特征在于,部署副本依赖轻节点本体初始配置时配置文件中持久化的第一部分,用于判断所属集群。
5.如权利要求1所述的一种区块链轻节点多副本的部署方法,其特征在于,所述的步骤4)中,如果管理平台查询到收到的标识第一部分已经注册,说明轻节点所在集群已注册,则管理平台获取该集群已有的配置信息,下发集群的配置信息给轻节点。
6.如权利要求1所述的一种区块链轻节点多副本的部署方法,其特征在于,集群前端通过负载均衡来进行代理,可以灵活选择多种转发策略,也可以根据实际情况来权衡副本个数。
技术总结