EOS节点通过访问ETCD集群实现节点自动接入和转出的方法与流程

文档序号:17355471发布日期:2019-04-09 21:37阅读:487来源:国知局
EOS节点通过访问ETCD集群实现节点自动接入和转出的方法与流程

本发明属于区块链技术领域,具体涉及eos节点通过访问etcd集群实现节点自动接入和转出的方法。



背景技术:

在区块链eos节点部署中,当eos节点的启动时,都需要加载配置信息,当有新节点接入时,需要重启服务器加载配置,当某个节点出现故障后,该节点的信息依然存在eos节点中,所以在eos加载配置和自动管理节点方面存在以下四个缺点:(1)服务启动时需要加载配置信息,这些配置信息每个服务都差不多,如果通过读取配置文件进行配置会存在要写多份配置文件,造成资源浪费;(2)当配置文件更改时,每个节点的配置文件都要更改,且更改配置后,需要重启服务后才能生效,让配置极不灵活,使部署难度增加;(3)新节点接入时,需要从新写配置文件,造成部署步骤繁琐;(4)当有节点出现故障时,没有将故障节点剔除,造成无用的连接,增加网络消耗。因此解决上述问题是本领域技术人员亟需解决的。



技术实现要素:

本发明的目的在于提供eos节点通过访问etcd集群实现节点自动接入和转出的方法,主要解决现有技术中存在的eos节点重新接入时步骤繁琐,同时eos节点故障后不能自动转出增加网络消耗的问题。

为了实现上述目的,本发明采用的技术方案如下:

eos节点通过访问etcd集群实现节点自动接入和转出的方法,包括如下步骤:

1)引入注册中心etcd进行注册;

2)eos节点通过配置共享方式获取配置列表进行启动,当每个节点启动时,所有配置都需要在注册中心etcd进行注册,通过eos节点与注册中心etcd服务保持长连接,并通过注册中心etcd进行监控节点的状态,同时其他要启动的节点的所有配置都从注册中心etcd进行获取;

3)新节点接入时,自动获取配置进行启动,并与其它节点实现同步配置,同时所有节点的配置通过注册中心etcd进行监测;

4)当启动的某节点故障后,etcd服务自动剔除故障节点信息,实现eos节点的自动剔除;

5)当有新节点进入或剔除某故障节点后使得配置改变时,程序自动更新配置列表,同时通知所有在线的eos节点自动获取最新配置。

进一步地,所述步骤2中的配置共享包括三阶段,分别为:

a:eos启动时,动态向注册中心etcd注册所有配置信息;

b:在eos做p2p连接时,所有ip和port从注册中心etcd中读取;

c:eos节点有改变时,需要从注册中心etcd重新获取最新配置列表数据。

进一步地,所述步骤3中新节点接入包括三阶段,分别为:

a:当有新节点接入时,首先注册本节点配置,然后直接从注册中心etcd获取配置新列表;

b:其他节点监测到目录变化,通知已在线的eos节点有新的节点需要连接;

c:eos其他节点做p2p连接时从注册中心etcd获取最新配置列表数据。

具体地,所述步骤4中某节点故障时,处理包括四个阶段,分别为:

a:所有eos节点与注册中心etcd服务保持长连接,通过每个节点带过期时间的key值和定时器固定时间段内刷新key值保持长连接;

b:监测除本节点之外的所有节点,对每个节点的key值启动监测事件;

c:当某个节点故障后,此节点就不会对key值持续刷新,将触发监测事件,事件触发后,删除注册中心etcd服务上故障节点的配置,并把故障节点的ip和port通知给其他节点;

d:eos其他节点收到通知,重新获取最新配置列表数据。

与现有技术相比,本发明具有以下有益效果:

(1)本发明在有新的eos节点接入时可以自动获取配置进行启动,同时所有节点的配置通过注册中心etcd进行监测,避免了像现有技术一样需要重新配置文件,从而造成部署步骤繁琐的情况发生,相对于现有技术本发明在eos新节点接入时步骤简单。

(2)本发明中当有节点故障时,可以自动剔除故障节点,实现eos节点的访问和节点的自动化管理,同时当有配置改变时,程序自动更新配置列表,同时通知所有在线的eos节点自动获取最新配置,从而减轻了网络消耗和负载能力,使得整个网络运行更为通畅。

附图说明

图1为本发明的流程示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。

实施例

如图1所示,eos节点通过访问etcd集群实现节点自动接入和转出的方法,包括如下步骤:

引入注册中心etcd进行注册;eos节点通过配置共享方式获取配置列表进行启动,其中配置共享包括在eos启动时,动态向注册中心etcd注册所有配置信息,在eos做p2p连接时,所有ip和port从注册中心etcd中读取,eos其他节点在做p2p连接时从注册中心etcd获取最新配置列表数据,当每个节点启动时,所有配置都需要在注册中心etcd进行注册,通过eos节点与注册中心etcd服务保持长连接,并通过注册中心etcd进行监控节点的状态,同时其他要启动的节点的所有配置都从注册中心etcd进行获取。

当有新节点接入时,首先注册本节点配置,然后直接从注册中心etcd获取配置新列表,其他节点监测到目录变化,通知已在线的eos节点有新的节点需要连接,eos其他节点做p2p连接时从注册中心etcd获取最新配置列表数据,自动获取配置进行启动,并与其它节点实现同步配置,同时所有节点的配置通过注册中心etcd进行监测;所有eos节点与注册中心etcd服务保持长连接,通过每个节点带过期时间的key值和定时器固定时间段内刷新key值保持长连接,除本节点之外的所有节点,对每个节点的key值启动监测事件,某个节点故障后,此节点就不会对key值持续刷新,将触发监测事件,并删除注册中心etcd服务上的出故障的节点的配置,并把故障节点的ip和port通知给其他节点,eos其他节点收到通知,重新获取最新配置列表数据。

当有新节点进入或剔除某故障节点后使得配置改变时,程序自动更新配置列表,同时通知所有在线的eos节点自动获取最新配置。通过上述方法,本发明实现了新节点的自动接入和故障的节点自动删除的功能,从而有效地提高了配置的灵活性,不会造成部署步骤的繁琐,同时删除故障的节点,避免其他节点的无用连接,同时减轻了网络的消耗。

上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而做出的变化,均应属于本发明的保护范围之内。



技术特征:

技术总结
本发明公开了EOS节点通过访问ETCD集群实现节点自动接入和转出的方法,该方法包括引入注册中心ETCD进行注册;EOS节点通过配置共享方式进行启动,当每个节点启动时,都需要在注册中心ETCD进行注册,通过EOS节点与注册中心ETCD服务保持长连接,并通过注册中心ETCD进行监控节点的状态;新节点接入时,自动获取配置进行启动,实现同步配置,同时所有节点的配置通过注册中心ETCD进行监测;当启动的某节点故障后,ETCD服务自动剔除故障节点信息,实现EOS节点的自动剔除;当有新节点进入或剔除某故障节点后使得配置改变时,程序自动更新配置列表,通知所有在线的EOS节点自动获取最新配置。通过上述方案,本发明达到了节点的自动接入与转出的目的,具有很高的实用价值和推广价值。

技术研发人员:杨腾;苗政委;陈纪周
受保护的技术使用者:陕西医链区块链集团有限公司
技术研发日:2018.12.18
技术公布日:2019.04.09
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1