CN116775382A - 基于ZooKeeper分布式协调服务的主备服务器切换方法及系统 - Google Patents
基于ZooKeeper分布式协调服务的主备服务器切换方法及系统 Download PDFInfo
- Publication number
- CN116775382A CN116775382A CN202311054201.5A CN202311054201A CN116775382A CN 116775382 A CN116775382 A CN 116775382A CN 202311054201 A CN202311054201 A CN 202311054201A CN 116775382 A CN116775382 A CN 116775382A
- Authority
- CN
- China
- Prior art keywords
- server
- response
- host
- machine room
- slave
- 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 36
- 238000012360 testing method Methods 0.000 claims abstract description 33
- 238000004891 communication Methods 0.000 claims description 27
- 238000010606 normalization Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000008054 signal transmission Effects 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 3
- 239000000284 extract Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 150000003839 salts Chemical class 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了基于ZooKeeper分布式协调服务的主备服务器切换方法及系统,应用于第一机房中的从服务器,方法包括:向响应服务器发送测试信号,响应服务器用于在收到测试信号之后向从服务器返回响应信号;获取并解析响应信号,根据分布特征和信号特征以及分别对应的权重计算出从服务器与响应服务器之间连接的可靠性,判断可靠性是否大于预设阈值;若是,返回执行获取当前时刻主机地址的步骤;若否,其他从服务器用于选举出影子主机,影子主机用于将主机的数据拷贝至本地,并在响应信号中断且低于设定时长时,接受第一机房中的从服务器发来的查询请求并响应。
Description
技术领域
本发明涉及分布式计算技术领域,更具体涉及基于ZooKeeper 分布式协调服务的主备服务器切换方法及系统。
背景技术
随着计算机领域的不断发展,越来越多的设备在部署时,采用主备部署方式。主设备对外提供服务,备设备处于待命状态。
现有技术中,在主设备故障时,备设备接管成为主机对外提供服务,具体切换过程可以为:当前从机对主机队列中的队首地址进行出队,依据新的队首地址,向备选从机发送主机切换消息,备选从机切换为新主机;或者,将除主机以外的其他服务器分别分配优先级,在主机掉线时,根据优先级从其他服务器中选择出新的主机。
但是,上述技术方案均为同一机房中的主备切换,如果同一个服务由两个或者由两个以上的服务器集群同时服务时,即服务器分别位于不同的若干个机房中时,如果某个机房与其他机房无法通信,但又没有与用户端断开网络连接时,则其他机房各个从服务器会选举出一个主机,同时,掉线的机房中的各个服务器之间也会选举出一个主机,那就会出现两个或者两个以上主机的情况,这就是典型的“脑裂”现象,如果两个主机同时存在时间较长时,多个主机都提供服务会出现数据不一致问题,导致服务不可用。因此,现有技术存在服务可用性较低的技术问题。
发明内容
本发明所要解决的技术问题在于提供了基于ZooKeeper分布式协调服务的主备服务器切换方法及系统,以提高服务可用性。
本发明是通过以下技术方案解决上述技术问题的:
本发明提供了基于ZooKeeper分布式协调服务的主备服务器切换方法,应用于第一机房中的从服务器,所述方法包括:
获取当前时刻的主机地址,判断所述主机是否处于第一机房,若是,返回执行所述获取当前时刻的主机地址的步骤,若否,获取对应于所述主机的响应服务器,向所述响应服务器发送测试信号,所述响应服务器用于在收到测试信号之后向所述从服务器返回响应信号;
获取并解析所述响应信号,提取出包含所述响应信号的历史响应信号的分布特征、信号特征,根据分布特征和信号特征以及分别对应的权重计算出从服务器与响应服务器之间连接的可靠性,判断所述可靠性是否大于预设阈值;
若是,返回执行获取当前时刻主机地址的步骤;
若否,向第一机房中的其他从服务器发出配置获取请求,其他从服务器用于在接收到配置获取请求后向第一机房中的各个从服务器广播剩余算力信息;根据接收到的剩余算力信息选举出影子主机,影子主机用于将主机的数据拷贝至本地,并在响应信号中断且低于设定时长时,接受第一机房中的从服务器发来的查询请求并响应。
可选的,所述根据分布特征和信号特征以及分别对应的权重计算出从服务器与响应服务器之间连接的可靠性,包括:
利用公式K=w1*f+w2*T2,计算出从服务器与响应服务器之间连接的可靠性,其中,
K为从服务器与响应服务器之间连接的可靠性;w1为分布特征对应的权重;T1为分布特征对应的归一化参数;w2信号特征对应的权重;T2为信号特征对应的归一化参数。
可选的,所述分布特征对应的归一化参数的计算过程包括:
f为分布特征对应的归一化参数;v为单位时间内响应信号的发送频率;V为单位时间内响应信号发送频率的最大值;k为预设的系数,其取值范围为(0.8,1.332);P为单位时间内响应信号发送频率的方差;L为单位时间内响应信号发送频率的平均值;T为单位时间内响应信号发送频率的历史平均值;
所述信号特征的归一化参数包括:误码率。
可选的,在向所述响应服务器发送测试信号之前,所述方法还包括:判断第一机房与第二机房在当前时刻之前设定时段内的通信频率,在通信频率低于第一阈值时,将心跳信号作为测试信号;
在通信频率大于或等于第一阈值,且小于第二阈值时,将查询请求和心跳信号作为测试信号;在通信频率大于或等于第二阈值时,将查询请求作为测试信号。
可选的,所述第一阈值的计算过程包括:
利用公式,S1=0.07clog(n),计算第一阈值,其中,
c为第一机房的各个从服务器与第一机房通信的历史平均频率的归一化值;所述n为当前时刻时第一机房与第一机房通信的从服务器的数量。
可选的,所述第二阈值的计算过程包括:
利用公式,S2=(Smax/S1+k0/k1)*S1,计算第二阈值,其中,
S2为第二阈值;S1为第一阈值;Smax为第一阈值的最大值;k0为在当前时刻之前设定时段内其他从服务器的可靠性值;k1为从服务器与响应服务器之间连接的可靠性历史均值。
可选的,所述方法还包括:接收用户端发来的查询请求,在自身的第一应答服务列表中查询是否存在对应于查询请求的第一服务器信息;
若否,将所述查询请求转发至所述影子主机,以使影子主机在自身的第二应答服务列表中查询是否存在对应于查询请求的第二服务信息,若否,从服务器获取影子主机的反馈信息,并将自身中预存的第二机房中服务器的地址发送至用户端,以使用户端将所述查询请求发送至第二机房中的服务器;若是,从服务器将所述查询请求以及用户端的地址发送至影子主机,以使影子主机返回应答信息,并将影子主机的地址和所述应答信息发送至用户端。
可选的,所述将自身中预存的第二机房中服务器的地址发送至用户端,包括:
从服务器从自身中预存的第二机房中所有服务器的地址列表中随机选择一个地址发送至用户端。
可选的,在影子主机在自身的第二应答服务列表中查询未查询到对应于查询请求的第二服务信息,或者在响应信号中断且低于设定时长时,向用户端发送数据同步请求,用户端用于在接收到第二机房中服务器的返回的应答信息后,将所述应答信息发送至所述从服务器,从服务器将所述应答信息发送至镜像服务器,镜像服务器将应答信息对应的查询请求同步至第一机房的各个服务器中。
本发明还提供了基于ZooKeeper分布式协调服务的主备服务器切换系统,应用于第一机房中的从服务器,所述系统包括:
获取模块,用于获取当前时刻的主机地址,判断所述主机是否处于第一机房,若是,返回执行所述获取当前时刻的主机地址的步骤,若否,获取对应于所述主机的响应服务器,向所述响应服务器发送测试信号,所述响应服务器用于在收到测试信号之后向所述从服务器返回响应信号;
判断模块,用于获取并解析所述响应信号,提取出包含所述响应信号的历史响应信号的分布特征、信号特征,根据分布特征和信号特征以及分别对应的权重计算出从服务器与响应服务器之间连接的可靠性,判断所述可靠性是否大于预设阈值;
返回模块,用于在判断模块的判断结果为是的情况下,返回执行获取当前时刻主机地址的步骤;
发送模块,用于在判断模块的判断结果为否的情况下,向第一机房中的其他从服务器发出配置获取请求,其他从服务器用于在接收到配置获取请求后向第一机房中的各个从服务器广播剩余算力信息;根据接收到的剩余算力信息选举出影子主机,影子主机用于将主机的数据拷贝至本地,并在响应信号中断且低于设定时长时,接受第一机房中的从服务器发来的查询请求并响应。
本发明相比现有技术具有以下优点:
本发明通过,创建影子主机,影子主机将主机的数据拷贝至本地,并在响应信号中断且低于设定时长时,接受第一机房中的从服务器发来的查询请求并响应,即使第一机房与第二机房之间的通信出现了中断,第一机房也可以依赖影子主机提供服务,影子主机的数据均拷贝自第二机房的主机,配合低于设定时长的设置,在设定时长内主机中数据更新的概率较低,此时,主机与影子主机之间数据一致性较高,进而提高了服务器的可用性。
附图说明
图1为本发明实施例提供的基于ZooKeeper分布式协调服务的主备服务器切换方法的流程示意图;
图2为本发明实施例提供的基于ZooKeeper分布式协调服务的主备服务器切换系统的结构示意图。
实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1
图1为本发明实施例提供的基于ZooKeeper分布式协调服务的主备服务器切换方法的流程示意图,如图1所示,本方法主要应用于第一机房中的从服务器,所述方法包括:
S101:获取当前时刻的主机地址,判断所述主机是否处于第一机房,若是,返回执行所述获取当前时刻的主机地址的步骤,若否,获取对应于所述主机的响应服务器,向所述响应服务器发送测试信号,所述响应服务器用于在收到测试信号之后向所述从服务器返回响应信号。
具体的,第一机房有若干台服务器,本发明实施例以第一机房中服务器均为从服务器为例进行说明。第一机房中包括服务器1-1、服务器1-2、服务器1-3。
第二机房中包括服务器2-1、服务器2-2、服务器2-3,其中,服务器2-1为当前时刻的主机,服务器2-2为对应于主机的响应服务器。
响应服务器用于接收第一机房中各个服务器的测试信号并响应的。
需要强调的是,在现有的数据库架构中,zookeeper为选举主机用的一个必要分布式锁软件,可以用于主机选举。
以服务器1-1为从服务器为例,服务器1-1直接可以从本地,或者从其他从服务器获取,或者直接广播查询获取主机地址,进而根据第一机房中的地址列表查询主机地址是否在第一机房中的地址列表中,若不在,说明主机位于第二机房。若在,在设定时段之后,再次获取主机地址,如此循环。
在获取主机地址之后,向主机请求响应服务器的地址,得到响应服务器的地址之后,向响应服务器发送测试信号,响应服务器用于在收到测试信号之后向所述从服务器返回响应信号。
S102:服务器1-1接收并解析所述响应信号,提取出包含所述响应信号的历史响应信号的分布特征、信号特征,根据分布特征和信号特征以及分别对应的权重计算出从服务器与响应服务器之间连接的可靠性,判断所述可靠性是否大于预设阈值;若是,返回执行S101步骤中获取当前时刻主机地址的步骤;若否,执行S103。
具体的,可以先利用公式,f=v/V*(k+0.75PL/(1+0.7PL))T,计算分布特征对应的归一化参数,其中,
f为分布特征对应的归一化参数;v为单位时间,如10秒、100秒内响应信号的发送频率;V为单位时间内响应信号发送频率的最大值;k为预设的系数,其取值范围为(0.8,1.332);P为单位时间内响应信号发送频率的方差;L为单位时间内响应信号发送频率的平均值;T为单位时间内响应信号发送频率的历史平均值;
然后将测试信号的误码率相对于误码率平均值的比值作为信号特征的归一化参数。在实际应用中,还可以服务器1-1对应的测试信号的响应延迟相对于平均响应延迟的倒数作为信号特征的归一化参数,延迟越高,可靠性越低。
再利用公式K=w1*f+w2*T2,计算出从服务器与响应服务器之间连接的可靠性,其中,
K为作为从服务器的服务器1-1与响应服务器之间连接的可靠性;w1为分布特征对应的权重;T1为分布特征对应的归一化参数;w2信号特征对应的权重;T2为信号特征对应的归一化参数。
S103:向第一机房中的其他从服务器发出配置获取请求,其他从服务器用于在接收到配置获取请求后向第一机房中的各个从服务器广播剩余算力信息;根据接收到的剩余算力信息选举出影子主机,影子主机用于将主机的数据拷贝至本地,并在响应信号中断且低于设定时长时,接受第一机房中的从服务器发来的查询请求并响应。
服务器1-1向服务器1-2、服务器1-3发出配置获取请求,服务器1-2在接收到配置获取请求后向第一机房中的服务器1-1、服务器1-3广播剩余算力信息;类似的,服务器1-3在接收到配置获取请求后向第一机房中的服务器1-1、服务器1-2广播剩余算力信息;如此第一机房中的各个从服务器均可以自主判断出使用哪台从服务器作为影子主机,需要强调的是,各个从服务器的判断原则均为预先设定的,且各个从服务器的判断原则均保持一致。
服务器1-1根据接收到的剩余算力信息选举出影子主机,影子主机用于将主机的数据拷贝至本地,并在响应信号中断且低于设定时长时,接受第一机房中的从服务器发来的查询请求并响应。
可以理解的是,服务器1-1在选举出影子主机后,会将选举结果发送给被选定的服务器,例如服务器1-2,服务器1-2持续接收选举结果,在接收到的选举结果的数量达到第一机房中所有服务器总数的一半时,向各个从服务器广播自身作为影子服务器的信息。
进一步的,第一机房中的各个服务器均会向第二机房中的响应服务器发送测试信号,在可靠性低于预设阈值的从服务器的数量达到5个时,则将自身接受查询请求的信息广播至第一机房的各个服务器。进一步的,为了进一步提高一致性,第一机房的各个服务器在向影子服务器发送查询请求时,也会同步向第二机房的主机发送查询请求,这样做的目的是,可以第一时间获取第一机房与第二机房之间恢复通信的结果。
为了提高在恢复通信过程中的可用性,从服务器会将最先接收到的应答信息返回至用户端,该应答信息可能为来自影子服务器的第一应答信息,或者来自主机的第二应答信息,如果通信中断,则来自主机的第二应答信息不存在。若突然恢复,从服务器已经将影子服务器的第一应答信息发送至用户端的情况下,在从服务器接收自影子服务器的第一应答信息与接收自主机的第二应答信息一致时,则丢弃第二应答信息;若二者不一致,则将第二应答信息发送至用户端,并向用户端发送删除第一应答信息的指令。
本发明通过,创建影子主机,影子主机将主机的数据拷贝至本地,并在响应信号中断且低于设定时长时,接受第一机房中的从服务器发来的查询请求并响应,即使第一机房与第二机房之间的通信出现了中断,第一机房也可以依赖影子主机提供服务,影子主机的数据均拷贝自第二机房的主机,配合低于设定时长的设置,在设定时长内主机中数据更新的概率较低,此时,主机与影子主机之间数据一致性较高,进而提高了服务器的可用性。
实施例2
基于本发明实施例1,本发明实施例2在S101步骤中的向所述响应服务器发送测试信号之前,增加了以下内容:
先利用公式,S1=0.07clog(n),计算第一阈值,其中,
c为第一机房的各个从服务器与第一机房通信的历史平均频率除以最大频率得到的归一化值,例如,可以为服务器1-1与第一机房通信的历史平均频率除以最大频率得到的归一化值,也可以是第一机房的所有服务器与第一机房通信的总次数与对应时段的比值除以最大比值得到归一化值;所述n为当前时刻时第一机房与第一机房通信的从服务器的数量,通常情况下,为了保证可靠性,n的取值通常小于100。
利用公式,S2=(Smax/S1+k0/k1)*S1,计算第二阈值,其中,
S2为第二阈值;S1为第一阈值;Smax为第一阈值的最大值;k0为在当前时刻之前设定时段内其他从服务器的可靠性值;k1为从服务器与响应服务器之间连接的可靠性历史均值。
最后判断第一机房与第二机房在当前时刻之前设定时段内的通信频率,在通信频率低于第一阈值时,生成心跳信号,并将心跳信号作为测试信号发送至响应服务器;
在通信频率大于或等于第一阈值,且小于第二阈值时,将针对业务的查询请求和心跳信号作为测试信号;在通信频率大于或等于第二阈值时,将查询请求作为测试信号,并将心跳信号作为测试信号发送至响应服务器,将查询请求发送至对应的主机。
应用本发明上述实施例,减少了心跳信号的生成,降低了算力占用。
进一步的,可以使用公式,Data_Hash = SHA-256(Data+Salt),生成心跳信号,其中,
其中,Data_Hash代表数据的哈希值,SHA-256是SHA算法中的一种哈希函数,Data是从服务器的私钥,Salt响应服务器的私钥。
应用本发明实施例,由于哈希值具有明显的标记,因此,响应服务器很容易识别出来,提高了效率,同时,使用从服务器的私钥,响应服务器可以根据预置的从服务器的私钥以及自身的私钥对哈希值进行验证,避免非法访问,提高安全性。
实施例3
基于本发明实施例1,在S103步骤之后,所述方法还包括:
S104(图中未示出):服务器1-1接收用户端发来的查询请求,在自身的第一应答服务列表中查询是否存在对应于查询请求的第一服务器信息;若否,执行S105。
可以理解的是,服务器1-1中以键值对的形式预存了若干条信息,若干条信息组成了低应答服务列表,每一条信息的结构如下,关键字-应答信息,关键字为查询请求中包含的查询词汇。
S105(图中未示出):服务器1-1将所述查询请求转发至所述影子主机,影子主机在自身的第二应答服务列表中查询是否存在对应于查询请求的第二服务信息,若未查询到,说明影子主机中不存在,则服务器1-1获取影子主机的结果为否的反馈信息。
服务器1-1将自身中预存的第二机房中服务器的地址,如第二机房中服务器的地址的汇总表发送至用户端;用户端接收到汇总表后,随机选择一个服务器将所述查询请求发送至第二机房中的服务器,第二机房中的服务器根据查询请求中的关键字查询后向用户端返回应答信息。
服务器1-1获取影子主机的结果为是的反馈信息时,服务器1-1将所述查询请求以及用户端的地址发送至影子主机,以使影子主机返回应答信息,并将影子主机的地址和所述应答信息发送至用户端。应用本发明上述实施例,不用生成主机队列,降低了zookeeper的占用,同时降低了算力消耗。
进一步的,在影子主机在自身的第二应答服务列表中查询未查询到对应于查询请求的第二服务信息,或者在响应信号中断且低于设定时长时,说明影子服务器的数据与第二机房中主机的数据发生了不一致,为了避免此种不一致,服务器1-1向用户端发送数据同步请求。
用户端用于在接收到第二机房中服务器的返回的应答信息后,将所述应答信息以及对应的查询请求发送至服务器1-1,服务器1-1所述应答信息发送至镜像服务器,镜像服务器从查询请求中提取出关键字,然后根据该关键字与该应答信息生成对应的键值对,然后将该键值对存储在本地,同时,镜像服务器将应答信息对应的查询请求同步至第一机房的各个服务器中。第一机房的各个服务器中在接收到该查询请求后,直接根据该查询请求向影子服务器查询。
当然,可以理解的是,实施例1中的上述操作均是在第一机房与第二机房通信中断时长低于设定时长的情况下执行的。若中断时长超过设定时长,则可以使用上述方法实现对第一机房中的影子主机数据的更新,一旦第一机房与第二机房恢复通信,则影子主机自动切换为从服务器。
应用本发明上述实施例,可以避免如果长时间中断,用户需要两次请求才能访问对应的数据,导致用户的延迟过高。
实施例4
对应于本发明实施例1,本发明实施例4还提供了基于ZooKeeper分布式协调服务的主备服务器切换系统。
图2为本发明实施例提供的基于ZooKeeper分布式协调服务的主备服务器切换系统的结构示意图,如图2所示,所述系统包括:
获取模块201,用于获取当前时刻的主机地址,判断所述主机是否处于第一机房,若是,返回执行所述获取当前时刻的主机地址的步骤,若否,获取对应于所述主机的响应服务器,向所述响应服务器发送测试信号,所述响应服务器用于在收到测试信号之后向所述从服务器返回响应信号;
判断模块202,用于获取并解析所述响应信号,提取出包含所述响应信号的历史响应信号的分布特征、信号特征,根据分布特征和信号特征以及分别对应的权重计算出从服务器与响应服务器之间连接的可靠性,判断所述可靠性是否大于预设阈值;
返回模块203,用于在判断模块的判断结果为是的情况下,返回执行获取当前时刻主机地址的步骤;
发送模块204,用于在判断模块的判断结果为否的情况下,向第一机房中的其他从服务器发出配置获取请求,其他从服务器用于在接收到配置获取请求后向第一机房中的各个从服务器广播剩余算力信息;根据接收到的剩余算力信息选举出影子主机,影子主机用于将主机的数据拷贝至本地,并在响应信号中断且低于设定时长时,接受第一机房中的从服务器发来的查询请求并响应。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.基于ZooKeeper 分布式协调服务的主备服务器切换方法,其特征在于,应用于第一机房中的从服务器,所述方法包括:
获取当前时刻的主机地址,判断所述主机是否处于第一机房,若是,返回执行所述获取当前时刻的主机地址的步骤,若否,获取对应于所述主机的响应服务器,向所述响应服务器发送测试信号,所述响应服务器用于在收到测试信号之后向所述从服务器返回响应信号;
获取并解析所述响应信号,提取出包含所述响应信号的历史响应信号的分布特征、信号特征,根据分布特征和信号特征以及分别对应的权重计算出从服务器与响应服务器之间连接的可靠性,判断所述可靠性是否大于预设阈值;
若是,返回执行获取当前时刻主机地址的步骤;
若否,向第一机房中的其他从服务器发出配置获取请求,其他从服务器用于在接收到配置获取请求后向第一机房中的各个从服务器广播剩余算力信息;根据接收到的剩余算力信息选举出影子主机,影子主机用于将主机的数据拷贝至本地,并在响应信号中断且低于设定时长时,接受第一机房中的从服务器发来的查询请求并响应。
2.根据权利要求1所述的基于ZooKeeper 分布式协调服务的主备服务器切换方法,其特征在于,所述根据分布特征和信号特征以及分别对应的权重计算出从服务器与响应服务器之间连接的可靠性,包括:
利用公式K=w1*f+w2*T2,计算出从服务器与响应服务器之间连接的可靠性,其中,
K为从服务器与响应服务器之间连接的可靠性;w1为分布特征对应的权重;T1为分布特征对应的归一化参数;w2信号特征对应的权重;T2为信号特征对应的归一化参数。
3.根据权利要求2所述的基于ZooKeeper 分布式协调服务的主备服务器切换方法,其特征在于,所述分布特征对应的归一化参数的计算过程包括:
利用公式,f=v/V*(k+0.75PL/(1+0.7PL))T,计算分布特征对应的归一化参数,其中,
f为分布特征对应的归一化参数;v为单位时间内响应信号的发送频率;V为单位时间内响应信号发送频率的最大值;k为预设的系数,其取值范围为(0.8,1.332);P为单位时间内响应信号发送频率的方差;L为单位时间内响应信号发送频率的平均值;T为单位时间内响应信号发送频率的历史平均值;
所述信号特征的归一化参数包括:误码率。
4.根据权利要求2所述的基于ZooKeeper 分布式协调服务的主备服务器切换方法,其特征在于,在向所述响应服务器发送测试信号之前,所述方法还包括:判断第一机房与第二机房在当前时刻之前设定时段内的通信频率,在通信频率低于第一阈值时,将心跳信号作为测试信号;
在通信频率大于或等于第一阈值,且小于第二阈值时,将查询请求和心跳信号作为测试信号;在通信频率大于或等于第二阈值时,将查询请求作为测试信号。
5.根据权利要求4所述的基于ZooKeeper 分布式协调服务的主备服务器切换方法,其特征在于,所述第一阈值的计算过程包括:
利用公式,S1 =0.07clog(n),计算第一阈值,其中,
c为第一机房的各个从服务器与第一机房通信的历史平均频率的归一化值;所述n为当前时刻时第一机房与第一机房通信的从服务器的数量。
6.根据权利要求5所述的基于ZooKeeper 分布式协调服务的主备服务器切换方法,其特征在于,所述第二阈值的计算过程包括:
利用公式,S2=(Smax/S1+k0/k1)*S1,计算第二阈值,其中,
S2为第二阈值;S1为第一阈值;Smax为第一阈值的最大值;k0为在当前时刻之前设定时段内其他从服务器的可靠性值;k1为从服务器与响应服务器之间连接的可靠性历史均值。
7.根据权利要求1所述的基于ZooKeeper 分布式协调服务的主备服务器切换方法,其特征在于,所述方法还包括:接收用户端发来的查询请求,在自身的第一应答服务列表中查询是否存在对应于查询请求的第一服务器信息;
若否,将所述查询请求转发至所述影子主机,以使影子主机在自身的第二应答服务列表中查询是否存在对应于查询请求的第二服务信息,若否,从服务器获取影子主机的反馈信息,并将自身中预存的第二机房中服务器的地址发送至用户端,以使用户端将所述查询请求发送至第二机房中的服务器;若是,从服务器将所述查询请求以及用户端的地址发送至影子主机,以使影子主机返回应答信息,并将影子主机的地址和所述应答信息发送至用户端。
8.根据权利要求7所述的基于ZooKeeper 分布式协调服务的主备服务器切换方法,其特征在于,所述将自身中预存的第二机房中服务器的地址发送至用户端,包括:
从服务器从自身中预存的第二机房中所有服务器的地址列表中随机选择一个地址发送至用户端。
9.根据权利要求7所述的基于ZooKeeper 分布式协调服务的主备服务器切换方法,其特征在于,在影子主机在自身的第二应答服务列表中查询未查询到对应于查询请求的第二服务信息,或者在响应信号中断且低于设定时长时,向用户端发送数据同步请求,用户端用于在接收到第二机房中服务器的返回的应答信息后,将所述应答信息发送至所述从服务器,从服务器将所述应答信息发送至镜像服务器,镜像服务器将应答信息对应的查询请求同步至第一机房的各个服务器中。
10.基于ZooKeeper 分布式协调服务的主备服务器切换系统,其特征在于,应用于第一机房中的从服务器,所述系统包括:
获取模块,用于获取当前时刻的主机地址,判断所述主机是否处于第一机房,若是,返回执行所述获取当前时刻的主机地址的步骤,若否,获取对应于所述主机的响应服务器,向所述响应服务器发送测试信号,所述响应服务器用于在收到测试信号之后向所述从服务器返回响应信号;
判断模块,用于获取并解析所述响应信号,提取出包含所述响应信号的历史响应信号的分布特征、信号特征,根据分布特征和信号特征以及分别对应的权重计算出从服务器与响应服务器之间连接的可靠性,判断所述可靠性是否大于预设阈值;
返回模块,用于在判断模块的判断结果为是的情况下,返回执行获取当前时刻主机地址的步骤;
发送模块,用于在判断模块的判断结果为否的情况下,向第一机房中的其他从服务器发出配置获取请求,其他从服务器用于在接收到配置获取请求后向第一机房中的各个从服务器广播剩余算力信息;根据接收到的剩余算力信息选举出影子主机,影子主机用于将主机的数据拷贝至本地,并在响应信号中断且低于设定时长时,接受第一机房中的从服务器发来的查询请求并响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311054201.5A CN116775382B (zh) | 2023-08-21 | 2023-08-21 | 基于ZooKeeper分布式协调服务的主备服务器切换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311054201.5A CN116775382B (zh) | 2023-08-21 | 2023-08-21 | 基于ZooKeeper分布式协调服务的主备服务器切换方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116775382A true CN116775382A (zh) | 2023-09-19 |
CN116775382B CN116775382B (zh) | 2023-10-27 |
Family
ID=87991581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311054201.5A Active CN116775382B (zh) | 2023-08-21 | 2023-08-21 | 基于ZooKeeper分布式协调服务的主备服务器切换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775382B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5449265A (en) * | 1994-02-15 | 1995-09-12 | Zierick Manufacturing Corporation | Feeder and method of supplying a continuous strip of surface mount contacts to pick-and-place machine |
US20130055349A1 (en) * | 2011-08-24 | 2013-02-28 | Electronics And Telecommunications Research Institute | Method and apparatus for releasing tcp connections in defense against distributed denial of service attacks |
US20160301587A1 (en) * | 2015-04-09 | 2016-10-13 | Alibaba Group Holding Limited | Apparatus, system and method for fast leader election by coordination service |
CN109271015A (zh) * | 2018-10-10 | 2019-01-25 | 杭州电子科技大学 | 一种降低大规模分布式机器学习系统能耗的方法 |
CN111158915A (zh) * | 2019-12-31 | 2020-05-15 | 厦门快商通科技股份有限公司 | 一种主从关系切换方法、从服务器、主服务器及系统 |
CN114257595A (zh) * | 2021-12-23 | 2022-03-29 | 网络通信与安全紫金山实验室 | 云平台容灾机房选举系统、方法、装置、介质及电子设备 |
CN114661593A (zh) * | 2022-03-16 | 2022-06-24 | 上海掌门科技有限公司 | 一种用于自动化测试的方法、设备、介质及程序产品 |
CN115190158A (zh) * | 2021-03-22 | 2022-10-14 | 北京小米移动软件有限公司 | 信息交互方法、信息交互装置、系统及存储介质 |
CN115757611A (zh) * | 2022-09-20 | 2023-03-07 | 中国建设银行股份有限公司 | 大数据集群切换方法、装置、电子设备及存储介质 |
-
2023
- 2023-08-21 CN CN202311054201.5A patent/CN116775382B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5449265A (en) * | 1994-02-15 | 1995-09-12 | Zierick Manufacturing Corporation | Feeder and method of supplying a continuous strip of surface mount contacts to pick-and-place machine |
US20130055349A1 (en) * | 2011-08-24 | 2013-02-28 | Electronics And Telecommunications Research Institute | Method and apparatus for releasing tcp connections in defense against distributed denial of service attacks |
US20160301587A1 (en) * | 2015-04-09 | 2016-10-13 | Alibaba Group Holding Limited | Apparatus, system and method for fast leader election by coordination service |
CN109271015A (zh) * | 2018-10-10 | 2019-01-25 | 杭州电子科技大学 | 一种降低大规模分布式机器学习系统能耗的方法 |
CN111158915A (zh) * | 2019-12-31 | 2020-05-15 | 厦门快商通科技股份有限公司 | 一种主从关系切换方法、从服务器、主服务器及系统 |
CN115190158A (zh) * | 2021-03-22 | 2022-10-14 | 北京小米移动软件有限公司 | 信息交互方法、信息交互装置、系统及存储介质 |
CN114257595A (zh) * | 2021-12-23 | 2022-03-29 | 网络通信与安全紫金山实验室 | 云平台容灾机房选举系统、方法、装置、介质及电子设备 |
CN114661593A (zh) * | 2022-03-16 | 2022-06-24 | 上海掌门科技有限公司 | 一种用于自动化测试的方法、设备、介质及程序产品 |
CN115757611A (zh) * | 2022-09-20 | 2023-03-07 | 中国建设银行股份有限公司 | 大数据集群切换方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
L. B. GOEL 等: "Handling mutual exclusion in a distributed application through Zookeeper", 《2015 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTER ENGINEERING AND APPLICATIONS》, pages 457 - 460 * |
何慧虹 等: "分布式环境下基于ZooKeeper服务的数据同步研究", 《信息网络安全》, no. 09, pages 227 - 230 * |
Also Published As
Publication number | Publication date |
---|---|
CN116775382B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7640339B1 (en) | Method and apparatus for monitoring a node in a distributed system | |
US8291101B1 (en) | Synchronization of mutually shared data stored on network devices | |
CN108563550A (zh) | 一种分布式系统的监控方法、装置、服务器和存储介质 | |
KR20080068110A (ko) | 데이터 동기화 처리 방법 그리고 클라이언트 단말기, 서버및 그것의 데이터 동기화 시스템 | |
CN112600693B (zh) | 业务请求的处理方法、系统、电子设备及计算机存储介质 | |
WO2018024121A1 (zh) | 一种网络功能nf管理方法及nf管理设备 | |
WO2021004517A1 (zh) | 一种实现核心网子切片容灾的方法、装置和系统 | |
US9288075B2 (en) | Method and system for auto-configuration, and network node | |
CN106452648A (zh) | 一种时间同步方法和通信终端 | |
WO2020024445A1 (zh) | 数据存储方法、装置、计算机设备及计算机存储介质 | |
CN116775382B (zh) | 基于ZooKeeper分布式协调服务的主备服务器切换方法及系统 | |
CN112492618A (zh) | 一种网络共享方法、装置、电子设备及存储介质 | |
WO2007059667A1 (fr) | Procede d'obtention de donnees d'alarme des elements de reseau | |
EP2071764B1 (en) | A method, device and communication system thereof of electing local master | |
RU2693903C1 (ru) | Способ, устройство и система обработки для расширенного порта | |
CN112491951A (zh) | 对等网络中的请求处理方法、服务器及存储介质 | |
CN112202833A (zh) | Cdn系统、请求处理方法以及调度服务器 | |
US20230403611A1 (en) | Handover processing method and apparatus, and communication device | |
CN116107687A (zh) | 集群资源自动伸缩方法、装置及系统 | |
CN112118420A (zh) | 一种监控系统自动配置方法及装置 | |
CN111641698B (zh) | 一种数据统计方法、系统、设备及存储介质 | |
CN115396302B (zh) | 一种多节点高可用的配置分发系统及其工作方法 | |
CN114158070B (zh) | 专网中数据传输的方法和装置 | |
CN115277379B (zh) | 分布式锁容灾处理方法、装置、电子设备及存储介质 | |
KR20050076431A (ko) | 중복 과금을 방지하기 위한 과금 메시지 처리 방법 및 그과금 서버 |
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 |