CN116938881A - 一种实现动态ip池的方法、***、设备及可读存储介质 - Google Patents
一种实现动态ip池的方法、***、设备及可读存储介质 Download PDFInfo
- Publication number
- CN116938881A CN116938881A CN202311196972.8A CN202311196972A CN116938881A CN 116938881 A CN116938881 A CN 116938881A CN 202311196972 A CN202311196972 A CN 202311196972A CN 116938881 A CN116938881 A CN 116938881A
- Authority
- CN
- China
- Prior art keywords
- node
- auxiliary
- nodes
- abnormal
- main
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000002159 abnormal effect Effects 0.000 claims abstract description 51
- 238000001514 detection method Methods 0.000 claims abstract description 38
- 230000008859 change Effects 0.000 claims abstract description 11
- 238000013515 script Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 6
- 230000003993 interaction Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000026676 system process Effects 0.000 claims description 5
- 230000000737 periodic effect Effects 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 11
- 238000012544 monitoring process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5061—Pools of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种实现动态IP池的方法、***、设备及可读存储介质,涉及通信处理技术领域,包括:各节点同时竞争ETCD分布式锁选举出主节点;主节点与副节点通过gRPC进行周期***互,检测主节点和副节点是否异常,若主节点异常,则重新选举主节点;若副节点异常,则主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;主节点与副节点分别执行预设检测循环脚本,若自身业务执行异常,则根据预设IP变化处理该节点。本发明基于gRPC+ETCD构架,由ETCD进行主节点竞选,状态监控;通过gRPC通信,将业务检测内容进行规划,明确各类型异常IP接管,使节点出现故障或IP丢失时,本发明仍能实现NAS高可用业务。
Description
技术领域
本发明涉及通信处理技术领域,具体而言,涉及一种实现动态IP池的方法、***、设备及可读存储介质。
背景技术
现有基于统一分布式存储(UDS)的网络附属存储(NAS)高可用设计架构高度依赖于分布式键值存储***(ETCD),并且在集群部署的过程中ETCD数据库和NAS存储会混合部署到相同的节点上,ETCD出现故障时伴随着集群节点出现异常,无法完全实现NAS高可用业务和高可用NAS IP的漂移和接管。并且此架构高度绑定ETCD,发现ETCD故障或者集群节点异常后,难以对相关业务进行增加和修改。
发明内容
本发明的目的在于提供一种实现动态IP池的方法、***、设备及可读存储介质,以解决上述问题。为了实现上述目的,本发明采取的技术方案如下:
第一方面,本申请提供了一种实现动态IP池的方法,用于节点端,包括:集群节点连接分布式键值存储***,各节点同时竞争分布式键值存储***的分布式锁选举主节点,获得分布式锁的节点为主节点,其他节点为副节点;通过谷歌远程过程调用协议,主节点与副节点进行周期***互,检测主节点和副节点是否异常,若主节点异常,则重新选举主节点,得到新的主节点;若副节点异常,则主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常,若自身业务执行异常,则根据预设IP变化处理该节点。
第二方面,本申请还提供了一种实现动态IP池的***,包括:节点选举单元、节点交互单元、接口单元和业务检测单元。所述节点选举单元用于各节点同时竞争分布式键值存储***的分布式锁选举主节点。所述节点交互单元用于通过谷歌远程过程调用协议,主节点与副节点进行周期***互。所述接口单元用于输入预设检测循环脚本。所述业务检测单元用于主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常。
第三方面,本申请还提供了一种实现动态IP池的设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述实现动态IP池的方法的步骤。
第四方面,本申请还提供了一种可读存储介质,包括,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述实现动态IP池的方法的步骤。
本发明的有益效果为:
本发明通过基于谷歌远程过程调用协议(gRPC)的分布式键值存储***(ETCD)架构,由ETCD进行主节点竞选,状态监控,服务发现,负载均衡;通过gRPC框架,将业务检测内容进行规划,明确解决各类型异常接管问题,当节点出现故障或IP丢失时,本发明仍能实现NAS高可用业务。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书,以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单的介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施中实现动态IP池的方法步骤S100的流程图;
图2为本发明实施中实现动态IP池的方法步骤S200的流程图;
图3为本发明实施中实现动态IP池的方法步骤S300的流程图;
图4为本发明实施中实现动态IP池的***结构示意图;
图5为本发明实施中实现动态IP池的设备结构示意图。
图中标记:
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、通信组件。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1:
本实施例提供了一种实现动态IP池的方法,用于节点端,包括:
S100、集群节点连接分布式键值存储***,各节点同时竞争分布式键值存储***的分布式锁选举主节点,获得分布式锁的节点为主节点,其他节点为副节点。所述主节点在集群节点中是唯一的,拥有同步、调度分配特权,选举出主节点后,各节点开始执行自身业务。
S200、通过谷歌远程过程调用协议,主节点与副节点进行周期***互,检测主节点和副节点是否异常,若主节点异常,则重新选举主节点,得到新的主节点;若副节点异常,则主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;
S300、主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常,若自身业务执行异常,则根据预设IP变化处理该节点。
如图1所示,在一些具体实施例中,步骤S100包括步骤S110、步骤S120、步骤S130和步骤S140。
S110、将各节点的机器ID作为相对应的唯一标识符,各节点分别为自己的唯一标识符创建租约;
S120、各节点将自己的标识符和租约写入分布式键值存储***,根据分布式键值存储***的修订机制,得到返回的修订值,各节点记录自己的修订值;
S130、比较各节点修订值的大小,选取修订值最小的节点获得分布式锁,该节点为主节点,其他节点为副节点;
S140、主节点通过心跳机制对租约进行续约。
步骤S200中所述周期***互包括副节点定期向主节点上报自身信息和主节点定期收集副节点信息。如图2所示,在一些具体实施例中,步骤S200包括步骤S210、步骤S220、步骤S230、步骤S240、步骤S250、步骤S260、步骤S270和步骤S280。
S210、当副节点周期性通过谷歌远程过程调用协议向主节点上报自己角色为副节点并且在线时,若上报超时,则判断主节点异常,副节点发起选举;
S220、副节点将自身角色提升为竞选者,任期号加1,得到更新任期号;
S230、获取其他节点的任期号,比较更新任期号与其他节点的任期号是否一致,若不一致,则竞选者作为新主节点;
S240、若一致,则竞选者与其他节点比较IP大小,选取IP大的节点作为新主节点,IP小的节点自动将角色降为副节点;
需要说明的是,本申请架构为异步模型,存在多个节点同时成为竞选者,且获取到对方尚未更新任期号的情况,因此出现这种情况时,需要集群节点再度竞争分布式锁来避免产生多个主节点。
S250、选举出新主节点后,新主节点告知其他节点新主节点的任期号,同步其他节点任期;
S260、主节点通过谷歌远程过程调用协议定期收集副节点信息;
S270、若步骤S260中主节点收集某副节点信息超时,则判断该副节点异常,主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;
S280、主节点通过步骤S260再次收集该副节点信息,若收集该副节点信息正常,则该副节点IP被接管节点自动归还。
如图3所示,在一些具体实施例中,步骤S300包括步骤S310、步骤S320和步骤S330。
S310、检测节点角色,根据不同的角色调用对应的谷歌远程过程调用协议对节点业务进行循环检测;所述检测包括高可用服务节点状态、高可用配置网卡状态、物理设备状态、网络文件***进程和信息服务块进程。
S320、若步骤S310主节点上的检测出现异常,则判断主节点业务执行异常,重新选举主节点;
S330、若步骤S310副节点上的检测出现异常,则判断副节点业务执行异常,主节点根据预设IP变化处理该副节点。
需要说明的是,所述预设IP变化具体包括:
当高可用服务节点暂停时,该节点IP被其他正常节点接管;高可用服务节点恢复时,该节点IP被接管节点自动归还;高可用配置网卡断开时,该节点IP被其他正常节点接管;高可用配置网卡重连时,该节点IP被接管节点自动归还;节点对应的物理设备关机或者重启或者断电时,该节点IP被其他正常节点接管;节点对应的物理设备开机正常运行时,该节点IP被接管节点自动归还;网络文件***进程停止或者异常时,该节点IP被其他正常节点接管;信息服务块进程停止或者异常时该节点IP被其他正常节点接管。
在一些具体的实施例中,步骤S140包括步骤S141和步骤S142。
S141、当主节点持有分布式锁的期间节点崩溃,心跳机制停止,唯一标识符将因租约到期而被删除,主节点释放分布式锁,避免死锁;
S142、其余节点竞争分布式锁,选出新的主节点。
实施例2:
如图4所示,本实施例提供了一种实现动态IP池的***,包括:
节点选举单元400,用于各节点同时竞争分布式键值存储***的分布式锁选举主节点;
节点交互单元500,用于通过谷歌远程过程调用协议,主节点与副节点进行周期***互;
接口单元600,用于输入预设检测循环脚本;
业务检测单元700,用于主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常。
在一些具体的实施例中,节点选举单元400包括:
创租单元410,用于将各节点的机器ID作为相对应的唯一标识符,各节点分别为自己的唯一标识符创建租约;
修订单元420,用于各节点将自己的标识符和租约写入分布式键值存储***,根据分布式键值存储***的修订机制,得到返回的修订值,各节点记录自己的修订值;
第一比较单元430,用于比较各节点修订值的大小,选取修订值最小的节点获得分布式锁,该节点为主节点,其他节点为副节点;
续租单元440,用于主节点通过心跳机制对租约进行续约。
在一些具体的实施例中,节点交互单元500包括:
上报单元510,用于副节点周期性通过谷歌远程过程调用协议向主节点上报自己角色为副节点并且在线;
角色提升单元520,用于副节点将自身角色提升为竞选者,任期号加1,得到更新任期号;
第二比较单元530,用于获取其他节点的任期号,比较更新任期号与其他节点的任期号是否一致,若不一致,则竞选者作为新主节点;
第三比较单元540,用于当所述第二比较单元结果若一致时,竞选者与其他节点比较IP大小,选取IP大的节点作为新主节点,IP小的节点自动将角色降为副节点;
告知单元550,用于选举出新主节点后,新主节点告知其他节点新主节点的任期号,同步其他节点任期;
收集单元560,用于主节点通过谷歌远程过程调用协议定期收集副节点信息;
分配单元570,用于当主节点收集某副节点信息超时,主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;
归还单元580,用于主节点通过谷歌远程过程调用协议再次收集该副节点信息,当收集该副节点信息正常,则该副节点IP被接管节点自动归还。
在一些具体的实施例中,业务检测单元700包括:
检测单元710,用于检测节点角色,根据不同的角色调用对应的谷歌远程过程调用协议对节点业务进行循环检测;
第一判断单元720,用于当主节点上的检测出现异常时,判断主节点业务执行异常,重新选举主节点;
第二判断单元730,用于当副节点上的检测出现异常时,判断副节点业务执行异常,主节点根据预设IP变化处理该副节点。
在一些具体的实时例中,检测单元710包括:
业务规划单元711,用于规划检测内容,所述检测包括高可用服务节点状态、高可用配置网卡状态、物理设备状态、网络文件***进程和信息服务块进程;
在一些具体的实时例中,第二判断单元730包括:
IP变化单元731,用于当高可用服务节点暂停时,该节点IP被其他正常节点接管;高可用服务节点恢复时,该节点IP被接管节点自动归还;高可用配置网卡断开时,该节点IP被其他正常节点接管;高可用配置网卡重连时,该节点IP被接管节点自动归还;节点对应的物理设备关机或者重启或者断电时,该节点IP被其他正常节点接管;节点对应的物理设备开机正常运行时,该节点IP被接管节点自动归还;网络文件***进程停止或者异常时,该节点IP被其他正常节点接管;信息服务块进程停止或者异常时该节点IP被其他正常节点接管。
实施例3:
相应于上面的方法实施例,本实施例中还提供了一种实现动态IP池的设备,下文描述的实现动态IP池的设备与上文描述的实现动态IP池的方法可相互对应参照。
图5是根据示例性实施例示出的一种实现动态IP池的设备的框图。如图5所示,该实现动态IP池的设备800包括:处理器801,存储器802。该实现动态IP池的设备还可以包括指令输入端口803,I/O接口804以及通信组件805中的一者或多者。
其中,处理器801用于控制实现动态IP池的设备的整体操作,以完成上述的实现动态IP池的方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该实现动态IP池的设备的操作,这些数据例如可以包括用于在该实现动态IP池的设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static RandomAccess Memory,简称SRAM),电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。指令输入端口803可以包括屏幕和键盘。其中屏幕例如可以是触摸屏,键盘用于输出和/或输入程序指令。所接收的程序指令可以被进一步存储在存储器802或通过通信组件805发送。I/O接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该实现动态IP池的设备与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件805可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,实现动态IP池的设备800可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal ProcessingDevice,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的实现动态IP池的方法。
实施例4:
相应于上面的方法实施例,本实施例中还提供了一种存储介质,所述存储介质为可读存储介质,下文描述的一种可读存储介质与上文描述的实现动态IP池的方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器801执行时实现上述方法实施例的实现动态IP池的方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种实现动态IP池的方法,其特征在于,用于节点端,包括:
集群节点连接分布式键值存储***,各节点同时竞争分布式键值存储***的分布式锁选举主节点,获得分布式锁的节点为主节点,其他节点为副节点;
通过谷歌远程过程调用协议,主节点与副节点进行周期***互,检测主节点和副节点是否异常,若主节点异常,则重新选举主节点,得到新的主节点;若副节点异常,则主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;
主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常,若自身业务执行异常,则根据预设IP变化处理该节点。
2.根据权利要求1所述实现动态IP池的方法,其特征在于,各节点同时竞争分布式键值存储***的分布式锁,获得分布式锁的节点为主节点,其他节点为副节点,包括:
将各节点的机器ID作为相对应的唯一标识符,各节点分别为自己的唯一标识符创建租约;
各节点将自己的标识符和租约写入分布式键值存储***,根据分布式键值存储***的修订机制,得到返回的修订值,各节点记录自己的修订值;
比较各节点修订值的大小,选取修订值最小的节点获得分布式锁,该节点为主节点,其他节点为副节点;
主节点通过心跳机制对租约进行续约。
3.根据权利要求1所述实现动态IP池的方法,其特征在于,通过谷歌远程过程调用协议,主节点与副节点进行周期***互,检测主节点和副节点是否异常,所述周期***互包括副节点定期向主节点上报自身信息和主节点定期收集副节点信息,包括:
当副节点周期性通过谷歌远程过程调用协议向主节点上报自己角色为副节点并且在线时,若上报超时,则判断主节点异常,副节点发起选举;
副节点将自身角色提升为竞选者,任期号加1,得到更新任期号;
获取其他节点的任期号,比较更新任期号与其他节点的任期号是否一致,若不一致,则竞选者作为新主节点;
若一致,则竞选者与其他节点比较IP大小,选取IP大的节点作为新主节点,IP小的节点自动将角色降为副节点;
选举出新主节点后,新主节点告知其他节点新主节点的任期号,同步其他节点任期;
主节点通过谷歌远程过程调用协议定期收集副节点信息;
若主节点收集某副节点信息超时,则判断该副节点异常,主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;
主节点通过谷歌远程过程调用协议再次收集该副节点信息,若收集该副节点信息正常,则该副节点IP被接管节点自动归还。
4.根据权利要求1所述实现动态IP池的方法,其特征在于,主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常,包括:
检测节点角色,根据不同的角色调用对应的谷歌远程过程调用协议对节点业务进行循环检测;所述检测包括高可用服务节点状态、高可用配置网卡状态、物理设备状态、网络文件***进程和信息服务块进程;
若主节点上的检测出现异常,则判断主节点业务执行异常,重新选举主节点;
若副节点上的检测出现异常,则判断副节点业务执行异常,主节点根据预设IP变化处理该副节点。
5.一种实现动态IP池的***,其特征在于,包括:
节点选举单元,用于各节点同时竞争分布式键值存储***的分布式锁选举主节点;
节点交互单元,用于通过谷歌远程过程调用协议,主节点与副节点进行周期***互;
接口单元,用于输入预设检测循环脚本;
业务检测单元,用于主节点与副节点分别执行预设检测循环脚本,判断自身业务是否执行异常。
6.根据权利要求5所述的实现动态IP池的***,其特征在于,所述节点选举单元包括:
创租单元,用于将各节点的机器ID作为相对应的唯一标识符,各节点分别为自己的唯一标识符创建租约;
修订单元,用于各节点将自己的标识符和租约写入分布式键值存储***,根据分布式键值存储***的修订机制,得到返回的修订值,各节点记录自己的修订值;
第一比较单元,用于比较各节点修订值的大小,选取修订值最小的节点获得分布式锁,该节点为主节点,其他节点为副节点;
续租单元,用于主节点通过心跳机制对租约进行续约。
7.根据权利要求5所述的实现动态IP池的***,其特征在于,所述节点交互单元包括:
上报单元,用于副节点周期性通过谷歌远程过程调用协议向主节点上报自己角色为副节点并且在线;
角色提升单元,用于副节点将自身角色提升为竞选者,任期号加1,得到更新任期号;
第二比较单元,用于获取其他节点的任期号,比较更新任期号与其他节点的任期号是否一致,若不一致,则竞选者作为新主节点;
第三比较单元,用于当所述第二比较单元结果若一致时,竞选者与其他节点比较IP大小,选取IP大的节点作为新主节点,IP小的节点自动将角色降为副节点;
告知单元,用于选举出新主节点后,新主节点告知其他节点新主节点的任期号,同步其他节点任期;
收集单元,用于主节点通过谷歌远程过程调用协议定期收集副节点信息;
分配单元,用于当主节点收集某副节点信息超时,主节点接管副节点IP或将该副节点IP分配给其他正常副节点接管;
归还单元,用于主节点通过谷歌远程过程调用协议再次收集该副节点信息,当收集该副节点信息正常,则该副节点IP被接管节点自动归还。
8.根据权利要求5所述的实现动态IP池的***,其特征在于,所述业务检测单元包括:
检测单元,用于检测节点角色,根据不同的角色调用对应的谷歌远程过程调用协议对节点业务进行循环检测;
第一判断单元,用于当主节点上的检测出现异常时,判断主节点业务执行异常,重新选举主节点;
第二判断单元,用于当副节点上的检测出现异常时,判断副节点业务执行异常,主节点根据预设IP变化处理该副节点。
9.一种实现动态IP池的设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述实现动态IP池的方法的步骤。
10.一种可读存储介质,其特征在于,包括,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述实现动态IP池的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311196972.8A CN116938881B (zh) | 2023-09-18 | 2023-09-18 | 一种实现动态ip池的方法、***、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311196972.8A CN116938881B (zh) | 2023-09-18 | 2023-09-18 | 一种实现动态ip池的方法、***、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116938881A true CN116938881A (zh) | 2023-10-24 |
CN116938881B CN116938881B (zh) | 2024-02-09 |
Family
ID=88382907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311196972.8A Active CN116938881B (zh) | 2023-09-18 | 2023-09-18 | 一种实现动态ip池的方法、***、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116938881B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080281938A1 (en) * | 2007-05-09 | 2008-11-13 | Oracle International Corporation | Selecting a master node in a multi-node computer system |
CN111258771A (zh) * | 2020-01-16 | 2020-06-09 | 青木数字技术股份有限公司 | 一种基于Raft算法的分布式锁的实现方法及*** |
CN112866408A (zh) * | 2021-02-09 | 2021-05-28 | 山东英信计算机技术有限公司 | 一种集群中业务切换方法、装置、设备及存储介质 |
CN113434279A (zh) * | 2021-07-14 | 2021-09-24 | 上海浦东发展银行股份有限公司 | 一种任务执行方法、装置、设备及存储介质 |
CN113596195A (zh) * | 2021-08-23 | 2021-11-02 | 重庆紫光华山智安科技有限公司 | 公共ip地址管理方法、装置、主节点及存储介质 |
CN113949691A (zh) * | 2021-10-15 | 2022-01-18 | 湖南麒麟信安科技股份有限公司 | 基于etcd的虚拟网络地址高可用实现方法及*** |
CN114764380A (zh) * | 2021-01-15 | 2022-07-19 | 国电南瑞科技股份有限公司 | 一种基于etcd的分布式集群控制方法和装置 |
CN116319280A (zh) * | 2023-03-23 | 2023-06-23 | 中电云数智科技有限公司 | 一种基于kubernetes分布式锁选举主备节点的方法 |
-
2023
- 2023-09-18 CN CN202311196972.8A patent/CN116938881B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080281938A1 (en) * | 2007-05-09 | 2008-11-13 | Oracle International Corporation | Selecting a master node in a multi-node computer system |
CN111258771A (zh) * | 2020-01-16 | 2020-06-09 | 青木数字技术股份有限公司 | 一种基于Raft算法的分布式锁的实现方法及*** |
CN114764380A (zh) * | 2021-01-15 | 2022-07-19 | 国电南瑞科技股份有限公司 | 一种基于etcd的分布式集群控制方法和装置 |
CN112866408A (zh) * | 2021-02-09 | 2021-05-28 | 山东英信计算机技术有限公司 | 一种集群中业务切换方法、装置、设备及存储介质 |
CN113434279A (zh) * | 2021-07-14 | 2021-09-24 | 上海浦东发展银行股份有限公司 | 一种任务执行方法、装置、设备及存储介质 |
CN113596195A (zh) * | 2021-08-23 | 2021-11-02 | 重庆紫光华山智安科技有限公司 | 公共ip地址管理方法、装置、主节点及存储介质 |
CN113949691A (zh) * | 2021-10-15 | 2022-01-18 | 湖南麒麟信安科技股份有限公司 | 基于etcd的虚拟网络地址高可用实现方法及*** |
CN116319280A (zh) * | 2023-03-23 | 2023-06-23 | 中电云数智科技有限公司 | 一种基于kubernetes分布式锁选举主备节点的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116938881B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109308227B (zh) | 故障检测控制方法及相关设备 | |
CN106330523A (zh) | 一种集群服务器容灾***、方法和服务器节点 | |
CN107659948B (zh) | 一种控制ap接入的方法及装置 | |
CN106302709B (zh) | 一种网络文件管理的实现方法和*** | |
CN112199240B (zh) | 一种节点故障时进行节点切换的方法及相关设备 | |
CN103377101A (zh) | 一种测试***和测试方法 | |
CN114064414A (zh) | 一种高可用的集群状态监控方法及*** | |
CN112948063A (zh) | 云平台的创建方法、装置、云平台以及云平台实现*** | |
CN106331081B (zh) | 一种信息同步方法及装置 | |
CN115080436A (zh) | 测试指标确定方法、装置、电子设备及存储介质 | |
CN114020279A (zh) | 应用软件分布式部署方法、***、终端及存储介质 | |
CN105812159B (zh) | 一种云平台监控报警方法 | |
CN116938881B (zh) | 一种实现动态ip池的方法、***、设备及可读存储介质 | |
JP2009223519A (ja) | クラスタシステム及び同システムにおいてマスタノードを選択する方法 | |
CN112865995B (zh) | 分布式主从*** | |
CN113765690A (zh) | 集群切换方法、***、装置、终端、服务器及存储介质 | |
CN109587218B (zh) | 一种集群选举的方法和装置 | |
CN115150253B (zh) | 一种故障根因确定方法、装置及电子设备 | |
CN105589787A (zh) | 应用程序的健康检查方法及健康检查*** | |
CN115190052A (zh) | 一种长连接的管理方法、***和控制单元 | |
CN108228328B (zh) | 一种流任务实现方法、装置及电子设备 | |
CN112749045A (zh) | 数据库集群切换方法、设备、存储介质及装置 | |
CN112099879A (zh) | 配置信息管理方法、装置、计算机设备及存储介质 | |
CN111324513A (zh) | 一种人工智能开发平台的监控管理方法及*** | |
CN116991591B (zh) | 一种数据调度方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |