一种实现动态IP池的方法、系统、设备及可读存储介质技术方案

技术编号:39186514 阅读:14 留言:0更新日期:2023-10-27 08:33
本发明专利技术提供了一种实现动态IP池的方法、系统、设备及可读存储介质,涉及通信处理技术领域,包括:各节点同时竞争ETCD分布式锁选举出主节点;主节点与副节点通过gRPC进行周期性交互,检测主节点和副节点是否异常,若主节点异常,则重新选举主节点;若副节点异常,则主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;主节点与副节点分别执行预设检测循环脚本,若自身业务执行异常,则根据预设IP变化处理该节点。本发明专利技术基于gRPC+ETCD构架,由ETCD进行主节点竞选,状态监控;通过gRPC通信,将业务检测内容进行规划,明确各类型异常IP接管,使节点出现故障或IP丢失时,本发明专利技术仍能实现NAS高可用业务。现NAS高可用业务。现NAS高可用业务。

【技术实现步骤摘要】
一种实现动态IP池的方法、系统、设备及可读存储介质


[0001]本专利技术涉及通信处理
,具体而言,涉及一种实现动态IP池的方法、系统、设备及可读存储介质。

技术介绍

[0002]现有基于统一分布式存储(UDS)的网络附属存储(NAS)高可用设计架构高度依赖于分布式键值存储系统(ETCD),并且在集群部署的过程中ETCD数据库和NAS存储会混合部署到相同的节点上,ETCD出现故障时伴随着集群节点出现异常,无法完全实现NAS高可用业务和高可用NAS IP的漂移和接管。并且此架构高度绑定ETCD,发现ETCD故障或者集群节点异常后,难以对相关业务进行增加和修改。

技术实现思路

[0003]本专利技术的目的在于提供一种实现动态IP池的方法、系统、设备及可读存储介质,以解决上述问题。为了实现上述目的,本专利技术采取的技术方案如下:第一方面,本申请提供了一种实现动态IP池的方法,用于节点端,包括:集群节点连接分布式键值存储系统,各节点同时竞争分布式键值存储系统的分布式锁选举主节点,获得分布式锁的节点为主节点,其他节点为副节点;通过谷歌远程过程调用协议,主节点与副节点进行周期性交互,检测主节点和副节点是否异常,若主节点异常,则重新选举主节点,得到新的主节点;若副节点异常,则主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常,若自身业务执行异常,则根据预设IP变化处理该节点。
[0004]第二方面,本申请还提供了一种实现动态IP池的系统,包括:节点选举单元、节点交互单元、接口单元和业务检测单元。所述节点选举单元用于各节点同时竞争分布式键值存储系统的分布式锁选举主节点。所述节点交互单元用于通过谷歌远程过程调用协议,主节点与副节点进行周期性交互。所述接口单元用于输入预设检测循环脚本。所述业务检测单元用于主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常。
[0005]第三方面,本申请还提供了一种实现动态IP池的设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现所述实现动态IP池的方法的步骤。
[0006]第四方面,本申请还提供了一种可读存储介质,包括,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述实现动态IP池的方法的步骤。
[0007]本专利技术的有益效果为:本专利技术通过基于谷歌远程过程调用协议(gRPC)的分布式键值存储系统(ETCD)架构,由ETCD进行主节点竞选,状态监控,服务发现,负载均衡;通过gRPC框架,将业务检测内容进行规划,明确解决各类型异常接管问题,当节点出现故障或IP丢失时,本专利技术仍能实现NAS高可用业务。
[0008]本专利技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术实施例了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书,以及附图中所特别指出的结构来实现和获得。
附图说明
[0009]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单的介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0010]图1为本专利技术实施中实现动态IP池的方法步骤S100的流程图;图2为本专利技术实施中实现动态IP池的方法步骤S200的流程图;图3为本专利技术实施中实现动态IP池的方法步骤S300的流程图;图4为本专利技术实施中实现动态IP池的系统结构示意图;图5为本专利技术实施中实现动态IP池的设备结构示意图。
[0011]图中标记:400、节点选举单元;500、节点交互单元;600、接口单元;700、业务检测单元;410、创租单元;420、修订单元;430、第一比较单元;440、续租单元;510、上报单元;520、角色提升单元;530、第二比较单元;540、第三比较单元;550、告知单元;560、收集单元;570、分配单元;580、归还单元;710、检测单元;711、业务规划单元;720、第一判断单元;730、第二判断单元;731、IP变化单元;800、实现动态IP池的设备;801、处理器;802、存储器;803、指令输入端口;804、I/O接口;805、通信组件。
具体实施方式
[0012]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0013]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1:
[0014]本实施例提供了一种实现动态IP池的方法,用于节点端,包括:S100、集群节点连接分布式键值存储系统,各节点同时竞争分布式键值存储系统的分布式锁选举主节点,获得分布式锁的节点为主节点,其他节点为副节点。所述主节点在集群节点中是唯一的,拥有同步、调度分配特权,选举出主节点后,各节点开始执行自身业
务。
[0015]S200、通过谷歌远程过程调用协议,主节点与副节点进行周期性交互,检测主节点和副节点是否异常,若主节点异常,则重新选举主节点,得到新的主节点;若副节点异常,则主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;S300、主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常,若自身业务执行异常,则根据预设IP变化处理该节点。
[0016]如图1所示,在一些具体实施例中,步骤S100包括步骤S110、步骤S120、步骤S130和步骤S140。
[0017]S110、将各节点的机器ID作为相对应的唯一标识符,各节点分别为自己的唯一标识符创建租约;S120、各节点将自己的标识符和租约写入分布式键值存储系统,根据分布式键值存储系统的修订机制,得到返回的修订值,各节点记录自己的修订值;S130、比较各节点修订值的大小,选取修订值最小的节点获得分布式锁,该节点为主节点,其他节点为副节点;S140、主节点通过心跳机制对租约进行续约。
[0018]步骤S200中所述周期性交互包括副节点定期向主节点上报自身信息和主节点定期收集副节点信息。如图2所示,在一些具体实施例中,步骤S200包括步骤S210、步骤S220、步骤S2本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现动态IP池的方法,其特征在于,用于节点端,包括:集群节点连接分布式键值存储系统,各节点同时竞争分布式键值存储系统的分布式锁选举主节点,获得分布式锁的节点为主节点,其他节点为副节点;通过谷歌远程过程调用协议,主节点与副节点进行周期性交互,检测主节点和副节点是否异常,若主节点异常,则重新选举主节点,得到新的主节点;若副节点异常,则主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常,若自身业务执行异常,则根据预设IP变化处理该节点。2.根据权利要求1所述实现动态IP池的方法,其特征在于,各节点同时竞争分布式键值存储系统的分布式锁,获得分布式锁的节点为主节点,其他节点为副节点,包括:将各节点的机器ID作为相对应的唯一标识符,各节点分别为自己的唯一标识符创建租约;各节点将自己的标识符和租约写入分布式键值存储系统,根据分布式键值存储系统的修订机制,得到返回的修订值,各节点记录自己的修订值;比较各节点修订值的大小,选取修订值最小的节点获得分布式锁,该节点为主节点,其他节点为副节点;主节点通过心跳机制对租约进行续约。3.根据权利要求1所述实现动态IP池的方法,其特征在于,通过谷歌远程过程调用协议,主节点与副节点进行周期性交互,检测主节点和副节点是否异常,所述周期性交互包括副节点定期向主节点上报自身信息和主节点定期收集副节点信息,包括:当副节点周期性通过谷歌远程过程调用协议向主节点上报自己角色为副节点并且在线时,若上报超时,则判断主节点异常,副节点发起选举;副节点将自身角色提升为竞选者,任期号加1,得到更新任期号;获取其他节点的任期号,比较更新任期号与其他节点的任期号是否一致,若不一致,则竞选者作为新主节点;若一致,则竞选者与其他节点比较IP大小,选取IP大的节点作为新主节点,IP小的节点自动将角色降为副节点;选举出新主节点后,新主节点告知其他节点新主节点的任期号,同步其他节点任期;主节点通过谷歌远程过程调用协议定期收集副节点信息;若主节点收集某副节点信息超时,则判断该副节点异常,主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;主节点通过谷歌远程过程调用协议再次收集该副节点信息,若收集该副节点信息正常,则该副节点IP被接管节点自动归还。4.根据权利要求1所述实现动态IP池的方法,其特征在于,主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常,包括:检测节点角色,根据不同的角色调用对应的谷歌远程过程调用协议对节点业务进行循环检测;所述检测包括高可用服务节点状态、高可用配置网卡状态、物理设备状态、网络文件系统进程和信息服务块进程;若主节点上的检测出现异常,则判断主节点业务执行异常,重新选举主节点;
若副节点上的检测出现异常,则判断副节点业务执行异常,主节点根据预设IP...

【专利技术属性】
技术研发人员:尹行刚陈毓泰
申请(专利权)人:深圳创新科技术有限公司
类型:发明
国别省市:

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

1