一种联盟链节点热备切换的方法技术

技术编号:20978141 阅读:38 留言:0更新日期:2019-04-29 18:37
本发明专利技术公开了一种联盟链节点热备切换的方法。节点热备切换的步骤具体为:候选节点与共识节点建立连接;共识节点实时将其网络配置及其共识路由表信息发送给候选节点进行备份;候选节点对共识节点进行故障检测,决定是否触发节点升级替换的过程;候选节点线上升级为共识节点,根据备份的网络配置去连接区块链网络的共识节点,同时将自身共识状态初始化到共识节点宕机时的状态,以此完成替换。该方法在由多个机构参与组成的联盟区块链网络中,机构的共识节点发生异常宕机,在不引入人工操作的前提下,自动完成候选节点线上升级为共识节点,保证了在不影响区块链网络共识效率的基础上,避免了机构内共识节点发生单点故障。

A Hot Standby Switching Method for Alliance Chain Nodes

The invention discloses a method for hot standby switching of alliance chain nodes. The steps of node hot standby switching are as follows: the candidate node establishes a connection with the consensus node; the consensus node sends its network configuration and consensus routing table information to the candidate node for backup in real time; the candidate node detects the fault of the consensus node and decides whether to trigger the process of node upgrade and replacement; the candidate node line upgrades to the consensus node, according to the backup network configuration. Connect the consensus nodes of the block chain network, and initialize their consensus state to the state when the consensus node is down, so as to complete the replacement. \u8be5\u65b9\u6cd5\u5728\u7531\u591a\u4e2a\u673a\u6784\u53c2\u4e0e\u7ec4\u6210\u7684\u8054\u76df\u533a\u5757\u94fe\u7f51\u7edc\u4e2d\uff0c\u673a\u6784\u7684\u5171\u8bc6\u8282\u70b9\u53d1\u751f\u5f02\u5e38\u5b95\u673a\uff0c\u5728\u4e0d\u5f15\u5165\u4eba\u5de5\u64cd\u4f5c\u7684\u524d\u63d0\u4e0b\uff0c\u81ea\u52a8\u5b8c\u6210\u5019\u9009\u8282\u70b9\u7ebf\u4e0a\u5347\u7ea7\u4e3a\u5171\u8bc6\u8282\u70b9\uff0c\u4fdd\u8bc1\u4e86\u5728\u4e0d\u5f71\u54cd\u533a\u5757\u94fe\u7f51\u7edc\u5171\u8bc6\u6548\u7387\u7684\u57fa\u7840\u4e0a\uff0c\u907f\u514d\u4e86\u673a\u6784\u5185\u5171\u8bc6\u8282\u70b9\u53d1\u751f\u5355\u70b9\u6545\u969c\u3002

【技术实现步骤摘要】
一种联盟链节点热备切换的方法
本专利技术涉及去中心化的区块链CA证书体系,尤其涉及一种联盟链节点热备切换的方法。
技术介绍
随着区块链技术的普及,人们逐渐意识到它可为传统行业带来安全可靠、简化流程、节约成本和增强信任等优点,可以弥补多方协作带来效率低、成本高、操作风险大等缺点,所以备受需要多方对等合作企业的青睐。由于多方协作往往需要严格的身份认证和专门的准入、准出授权机制,因此联盟区块链也成为他们的主要选择。在联盟区块链中,为了防止受到其他企业节点出现拜占庭行为的影响,企业开发的业务应用交易往往是发送到自己部署的节点上去处理。目前在联盟区块链中,如果某个机构的节点出现异常宕机或者节点所在服务器出现硬件错误,虽然对于有一定容错性的区块链网络来说不会因为这个节点的宕机而受到影响,但对于企业来说,需要以最快的速度去恢复节点服务。目前常采用的恢复方法有以下两种:由机房运维人员线下操作节点启动前的相关配置,重新启动节点,如果是存储设备发生致命错误导致数据丢失,需要涉及新节点同步区块链网络数据。使用多个共识节点做数据与服务的备份,当一个共识节点出现异常的时候,上层应用感知以后切换服务节点。以上两种方法都存在一定的缺点,第一种方法由于引入人工操作,可能会导致节点服务长时间无法恢复,这对于与其相互通信的智能合约应用是极其不利的。另外,如果全网数据量极大,节点数据同步所花费的时间难以估计,会导致节点处于暂时不可用状态。第二种方法虽然具有快速恢复的优点,但是为了保证企业间共识投票的公平性,所有参与企业都必须部署同等数量共识节点,共识节点数量的增加将对共识效率产生极大的影响。专
技术实现思路
本专利技术的目的是针对现有技术的不足,提供一种联盟链节点热备切换的方法,使非验证节点线上升级为共识节点,完成权限升级与替换,实现在不影响共识效率的前提下,线上升级所花费时间为秒级。本专利技术的目的是通过以下技术方案来实现的:一种联盟链节点热备切换的方法,包括如下步骤:(1)候选节点网络配置:候选节点本质上是一个特殊的记账节点,持有线下第三方认证中心颁发的ECert和RCert证书;候选节点在启动之前,需要在其网络配置文件中指定它是哪个共识节点的候选节点;(2)候选节点与共识节点建立连接:候选节点向共识节点发起建立连接请求,在物理连接建立完成以后,开始进行双方身份认证,若身份认证不通过,则连接建立失败;若身份认证通过,并且共识节点确认对端为其候选节点,则对其做Backup标记且放入候选列表中;(3)候选节点对共识节点网络配置进行备份:在候选节点与共识节点的连接建立完成以后,共识节点每次网络连接信息发生变更,均会通知候选节点进行更新备份;备份的数据包括:区块链网络中的其他共识节点的地址连接信息、与共识节点相连的记账节点的地址连接信息、共识节点的候选列表。其中,记账节点包括候选节点,因为候选节点是特殊的记账节点;(4)候选节点对共识节点进行故障检测:候选节点采用keepalive+超时的机制来判断共识节点是否存活,以此来决定是否触发节点升级替换操作;根据候选节点在候选列表中的位置来决定升级替换优先级,只有当排在前面的候选节点失效的时候,后面的候选节点才可触发升级替换;(5)候选节点断开现有网络连接:当通过心跳、故障检测等确定共识节点发生异常宕机以后,候选节点的自动升级替换操作被触发;这是候选节点进行升级替换的第一步;(6)候选节点更新线上网络配置文件:候选节点读取备份的网络配置文件,更新线上网络配置信息,作为步骤(8)网络连接建立的基础;(7)注册并启动共识服务:启动了共识服务以后,这个节点就拥有了共识投票的功能,但是还未与共识网络的其他节点建立连接;(8)候选节点建立共识网络连接:候选节点更新自己的身份信息,根据最新网络配置信息向其他节点发起建立连接请求,这些节点包括原来与共识节点相连的其他共识节点和记账节点,连接建立过程同步骤(2)。进一步地,所述的步骤(1)中,我们根据证书的不同来确定节点拥有不同的权限,持有ECert表明节点有准入区块链网络的权限,持有RCert表明节点拥有参与共识投票的权限;共识节点持有ECert和RCert;记账节点持有ECert;候选节点持有ECert和RCert,但是RCert仅作为一个备份存在,在节点进行身份升级之前,它没有任何作用;另外,一个候选节点只能指定一个共识节点去获取相关网络连接信息;进一步地,所述的步骤(2)中,一个共识节点可以与多个它的候选节点建立连接。进一步地,所述的步骤(3)中,候选节点将接收到的网络配置信息持久化在备份网络配置文件中,不会影响候选节点目前线上自己的网路配置,只有当候选节点被触发去做升级替换的时候,线上的网络配置文件才会被备份的网络配置文件所替换,在节点完成升级替换以后,备份的网络配置文件才被删除。进一步地,所述的步骤(4)中,keepalive用来做候选节点与共识节点间的心跳检测,判断共识节点是否存活;超时机制主要用来判断当前命中的进行升级替换的候选节点是否失效,如果候选节点失效,候选列表也需要进行更新,将失效的候选节点从候选列表中移除。进一步的,所述的步骤(5)中,候选节点本质上是一个特殊的记账节点,它可能与一个或多个共识节点建立了连接,因此在做线上升级之前需要先断开其与其他共识节点的连接。进一步的,所述的步骤(8)中,由于建立连接的过程需要进行身份认证,因此候选节点在开始建立连接之前首先得更新自己的身份信息,这些身份信息需要与指定共识节点一一对应,在本系统中主要为hostname信息,保证节点升级替换后,节点唯一标识保持不变,这样,对于共识网络的其他节点来说,就好像只是某个共识节点发生了短暂地断开,网络连接发生了替换而已。完成身份信息更新以后,候选节点根据最新网络配置向其他节点发起连接。本专利技术的有益效果是:本专利技术应用于联盟链背景下的区块链网络上,保证了在不影响区块链网络共识效率、不引入人工操作的前提下对机构内共识节点自动进行热备切换,避免了机构内共识节点发生单点故障。对于传统区块链,一方面,随着区块链的运行,区块链的数据量将越来越大,当共识节点发生致命故障导致数据丢失的时候,启动一个新节点同步全网数据所花费的时间是无法预估的,可能导致节点短时间内无法处理交易。另一方面,BFT类算法在节点数量达到一定数目时共识效率下降,显然通过增加共识节点的方式也不是解决节点单点故障的最佳方法。而我们提出的联盟链节点热备切换方法则解决了这一问题,使得共识节点故障恢复所消耗的时间只需秒级。附图说明图1是节点建立连接程图;图2是共识节点连接状态图;图3是候选节点升级替换后连接状态图;具体实施方式下面根据附图和具体实施例详细描述本专利技术,本专利技术的目的和效果将变得更加明显。一种联盟链节点热备切换的方法,包括如下步骤:(1)候选节点网络配置:候选节点本质上是一个特殊的记账节点,持有线下第三方认证中心颁发的ECert和RCert证书;候选节点在启动之前,需要在其网络配置文件中指定它是哪个共识节点的候选节点;(2)候选节点与共识节点建立连接:候选节点向共识节点发起建立连接请求,在物理连接建立完成以后,开始进行双方身份认证,若身份认证不通过,则连接建立失败;若身份认证通过,并且共识节点确认对端为其候选节点,本文档来自技高网
...

【技术保护点】
1.一种联盟链节点热备切换的方法,其特征在于,包括如下步骤:(1)候选节点网络配置:候选节点本质上是一个特殊的记账节点,持有线下第三方认证中心颁发的ECert和RCert证书;候选节点在启动之前,需要在其网络配置文件中指定它是哪个共识节点的候选节点。(2)候选节点与共识节点建立连接:候选节点向共识节点发起建立连接请求,在物理连接建立完成以后,开始进行双方身份认证,若身份认证不通过,则连接建立失败;若身份认证通过,并且共识节点确认对端为其候选节点,则对其做Backup标记且放入候选列表中。(3)候选节点对共识节点网络配置进行备份:在候选节点与共识节点的连接建立完成以后,共识节点每次网络连接信息发生变更,均会通知候选节点进行更新备份;备份的数据包括:区块链网络中的其他共识节点的地址连接信息、与共识节点相连的记账节点的地址连接信息、共识节点的候选列表。其中,记账节点包括候选节点,因为候选节点是特殊的记账节点。(4)候选节点对共识节点进行故障检测:候选节点采用keepalive+超时的机制来判断共识节点是否存活,以此来决定是否触发节点升级替换操作;根据候选节点在候选列表中的位置来决定升级替换优先级,只有当排在前面的候选节点失效的时候,后面的候选节点才可触发升级替换。(5)候选节点断开现有网络连接:当通过心跳、故障检测等方法确定共识节点发生异常宕机以后,候选节点的自动升级替换操作被触发;这是候选节点进行升级替换的第一步。(6)候选节点更新线上网络配置文件:候选节点读取备份的网络配置文件,更新线上网络配置信息,作为步骤(8)网络连接建立的基础。(7)注册并启动共识服务:启动了共识服务以后,这个节点就拥有了共识投票的功能,但是还未与共识网络的其他节点建立连接。(8)候选节点建立共识网络连接:候选节点更新自己的身份信息,根据最新网络配置信息向其他节点发起建立连接请求,这些节点包括原来与共识节点相连的其他共识节点和记账节点,连接建立过程同步骤(2)。...

【技术特征摘要】
1.一种联盟链节点热备切换的方法,其特征在于,包括如下步骤:(1)候选节点网络配置:候选节点本质上是一个特殊的记账节点,持有线下第三方认证中心颁发的ECert和RCert证书;候选节点在启动之前,需要在其网络配置文件中指定它是哪个共识节点的候选节点。(2)候选节点与共识节点建立连接:候选节点向共识节点发起建立连接请求,在物理连接建立完成以后,开始进行双方身份认证,若身份认证不通过,则连接建立失败;若身份认证通过,并且共识节点确认对端为其候选节点,则对其做Backup标记且放入候选列表中。(3)候选节点对共识节点网络配置进行备份:在候选节点与共识节点的连接建立完成以后,共识节点每次网络连接信息发生变更,均会通知候选节点进行更新备份;备份的数据包括:区块链网络中的其他共识节点的地址连接信息、与共识节点相连的记账节点的地址连接信息、共识节点的候选列表。其中,记账节点包括候选节点,因为候选节点是特殊的记账节点。(4)候选节点对共识节点进行故障检测:候选节点采用keepalive+超时的机制来判断共识节点是否存活,以此来决定是否触发节点升级替换操作;根据候选节点在候选列表中的位置来决定升级替换优先级,只有当排在前面的候选节点失效的时候,后面的候选节点才可触发升级替换。(5)候选节点断开现有网络连接:当通过心跳、故障检测等方法确定共识节点发生异常宕机以后,候选节点的自动升级替换操作被触发;这是候选节点进行升级替换的第一步。(6)候选节点更新线上网络配置文件:候选节点读取备份的网络配置文件,更新线上网络配置信息,作为步骤(8)网络连接建立的基础。(7)注册并启动共识服务:启动了共识服务以后,这个节点就拥有了共识投票的功能,但是还未与共识网络的其他节点建立连接。(8)候选节点建立共识网络连接:候选节点更新自己的身份信息,根据最新网络配置信息向其他节点发起建立连接请求,这些节点包括原来与共识节点相连的其他共识节点和记账节点,连接建立过程同步骤(2)。2.如权利要求1所述的一种联盟链节点热备切换的方法,其特征在于,所述的步骤(1)中,我们根据证书的不同来确定...

【专利技术属性】
技术研发人员:邱炜伟李启雷李伟梁秀波尹可挺马晓敏
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:浙江,33

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

1