一种主备服务器切换方法及装置与流程

文档序号:17374984发布日期:2019-04-12 23:12阅读:4808来源:国知局
一种主备服务器切换方法及装置与流程

本发明涉及计算机通信技术领域,特别是涉及一种主备服务器切换方法及装置。



背景技术:

keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

为了提高可靠性,在lan(localareanetwork,局域网)之间设置了并行的两个或多个网桥,但是,这种配置引起了另外一些问题,因为在拓扑结构中产生了回路,可能引发无限循环。目前通常采用的生成树(spanningtree)算法。解决无限循环问题的方法是让网桥相互通信,并用一棵到达每个lan的生成树覆盖实际的拓扑结构。使用生成树,可以确保任两个lan之间只有唯一一条路径。一旦网桥商定好生成树,lan间的所有传送都遵从此生成树。由于从每个源到每个目的地只有唯一的路径,故不可能再有循环。

为了建造生成树,首先必须选出一个网桥作为生成树的根。实现的方法是每个网桥广播其序列号(该序列号由厂家设置并保证全球唯一),选序列号最小的网桥作为根。接着,按根到每个网桥的最短路径来构造生成树。如果某个网桥或lan故障,则重新计算。keepalived作用是有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟ip地址对外提供服务,当主服务器出现故障时,虚拟ip地址会自动漂移到备份服务器。keepalived托管的是一些有端口的存在的服务,所以我们可以把端口配置到keepalived的配置文件中,这样keepalived就可以通过端口是否存在来判断服务是否正常,进而来进行切换主备服务器。但是网桥服务是不存在这样的端口的,这时我们就需要知道网桥服务的别的标志,比如网桥的状态信息。生成树(spanningtree)算法实现又过复杂。



技术实现要素:

本发明提供了一种主备服务器切换方法及装置,以解决现有技术中无法根据网桥状态进行主备机切换,并且也无法停止不再使用的设备的网桥服务的问题。

为了解决上述问题,本发明是这样实现的:

第一方面,本发明实施例提供了一种主备服务器切换方法,包括:启动第一keepalived服务;启动第一网桥服务,以判断本机网桥的第一网桥状态;在所述第一网桥状态处于工作状态的情况下,启动第一网桥检查线程;利用所述第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件;利用所述第一keepalived服务检查所述第一网桥状态文件;依据检查结果确定本机网桥处于非工作状态的情况下,停止所述第一keepalived服务,并执行主备切换流程。

优选地,在所述启动第一keepalived服务的步骤之后,还包括:启动第一主备通信线程;通过所述第一主备通信线程发送主机启动状态消息至备用服务器;接收由所述备用服务器返回的备机状态信息;在依据所述备机状态信息确定所述备用服务器处于工作状态的情况下,向所述备用服务器发送网桥服务停止消息,以由所述备用服务器根据所述网桥服务停止消息停止网桥服务;在依据所述备机状态信息确定所述备用服务器处于非工作状态的情况下,执行所述启动第一网桥服务,以判断本机网桥的第一网桥状态的步骤。

优选地,所述执行主备切换流程的步骤,包括:利用所述第一主备通信线程获取本机网桥对应的网桥状态值;将所述网桥状态值发送至所述备用服务器,执行由所述主服务器切换至所述备用服务器的流程。

优选地,在所述停止所述第一keepalived服务,并执行主备切换流程的步骤之后,还包括:在本机网桥的状态恢复正常之后,通过所述第一主备通信线程向所述备用服务器发送服务器正常运行状态信息,并执行由所述备用服务器切换至所述主服务器的流程。

第二方面,本发明实施例提供了一种主备服务器切换方法,包括:启动第二keepalived服务;启动第二主备通信线程;利用所述第二主备通信线程接收由主服务器发送的第一主机状态信息;在依据所述第一主机状态信息确定所述主服务器异常时,向所述主服务器发送网桥服务停止指令;启动第二网桥服务,以判断本机网桥的第二网桥状态;在所述第二网桥状态处于工作状态的情况下,启动第二网桥检查线程;利用所述第二主备通信线程接收由主服务器发送的第二主机状态信息;在依据所述第二主机状态信息确定所述主服务器恢复正常状态时,停止所述第二网桥服务,及所述第二keepalived服务,并向所述主服务器发送服务停止状态信息。

优选地,在所述启动第二网桥服务的步骤之后,还包括:判断本机网桥是否处于工作状态;在本机网桥处于非工作状态的情况下,则再次启动所述第二网桥服务;重复执行所述判断本机网桥是否处于工作状态,及所述在本机网桥不处于工作状态的情况下,则再次启动所述第二网桥服务的步骤。

第三方面,本发明实施例提供了一种主备服务器切换装置,包括:第一keepalived启动模块,用于启动第一keepalived服务;第一网桥状态判断模块,用于启动第一网桥服务,以判断本机网桥的第一网桥状态;第一网桥线程启动模块,用于在所述第一网桥状态处于工作状态的情况下,启动第一网桥检查线程;第一网桥文件生成模块,用于利用所述第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件;第一网桥文件检查模块,用于利用所述第一keepalived服务检查所述第一网桥状态文件;主备切换执行模块,用于依据检查结果确定本机网桥处于非工作状态的情况下,停止所述第一keepalived服务,并执行主备切换流程。

优选地,还包括:第一主备线程启动模块,用于启动第一主备通信线程;主机状态消息发送模块,用于通过所述第一主备通信线程发送主机启动状态消息至备用服务器;备机状态信息接收模块,用于接收由所述备用服务器返回的备机状态信息;网桥判断模块执行模块,用于在依据所述备机状态信息确定所述备用服务器处于非工作状态的情况下,执行所述第一网桥状态判断模块。

优选地,所述主备切换执行模块包括:网桥状态值获取子模块,用于利用所述第一主备通信线程获取本机网桥对应的网桥状态值;主备切换执行子模块,用于将所述网桥状态值发送至所述备用服务器,执行由所述主服务器切换至所述备用服务器的流程。

优选地,还包括:备主服务器切换模块,用于在本机网桥的状态恢复正常之后,通过所述第一主备通信线程向所述备用服务器发送网桥正常状态信息,并执行由所述备用服务器切换至所述主服务器的流程。

第四方面,本发明实施例提供了一种主备服务器切换装置,包括:第二keepalived启动模块,用于启动第二keepalived服务;第二主备线程启动模块,用于启动第二主备通信线程;第一主机状态接收模块,用于利用所述第二主备通信线程接收由主服务器发送的第一主机状态信息;网桥停止指令发送模块,用于在依据所述第一主机状态信息确定所述主服务器异常时,向所述主服务器发送网桥服务停止指令;第二网桥状态判断模块,用于启动第二网桥服务,以判断本机网桥的第二网桥状态;第二网桥线程启动模块,用于在所述第二网桥状态处于工作状态的情况下,启动第二网桥检查线程;第二主机状态接收模块,用于利用所述第二主备通信线程接收由主服务器发送的第二主机状态信息;第二网桥服务及keepalived停止模块,用于在依据所述第二主机状态信息确定所述主服务器恢复正常状态时,停止所述第二网桥服务,及所述第二keepalived服务,并向所述主服务器发送服务停止状态信息。

优选地,还包括:网桥状态判断模块,用于判断本机网桥是否处于工作状态;第二网桥服务再次启动模块,用于在本机网桥处于非工作状态的情况下,则再次启动所述第二网桥服务;重复执行模块,用于重复执行所述网桥状态判断模块,及所述第二网桥服务再次启动模块。

第五方面,本发明实施例提供了一种终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述的主备服务器切换方法的步骤。

第六方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的主备服务器切换方法中的步骤。

与现有技术相比,本发明包括以下优点:

在本发明实施例中,通过启动第一keepalived服务,启动第一网桥服务,以判断本机网桥的第一网桥状态,在第一网桥状态处于工作状态的情况下,启动第一网桥检查线程,利用第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件,利用第一keepalived服务检查第一网桥状态文件,依据检查结果确定本机网桥处于非工作状态的情况下,停止第一keepalived服务,并执行主备切换流程。本发明实施例可以解决网桥并行造成回路的问题,并且,给没有端口供keepalived托管的服务提供了状态机制进行主备切换的方式,实现方式比较简单,并能达到复用的目的。

附图说明

图1示出了本发明实施例提供的一种主备服务器切换方法的步骤流程图;

图2示出了本发明实施例提供的一种主备服务器切换方法的步骤流程图;

图3示出了本发明实施例提供的一种主备服务器切换装置的结构示意图;

图4示出了本发明实施例提供的一种主备服务器切换装置的结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

本发明实施例中所采用的技术术语解释如下:

keepalived:keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

网桥:网桥是将两个网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,根据mac地址来转发数据。在网络互联中它起到数据接收、地址过滤与数据转发的作用,用来实现多个网络系统之间的数据交换。

实施例一

参照图1,示出了本发明实施例提供的一种主备服务器切换方法的步骤流程图,该主备服务器切换方法可以应用于主服务器,具体可以包括如下步骤:

步骤101:启动第一keepalived服务。

在本发明实施例种,第一keepalived服务是指主服务器侧的keepalived服务。

在主服务器的keepalived服务配置项中可以预先添加自查功能,该自查功能可以用于后续检查本机网桥状态文件,方便在网桥状态异常时进行主备切换。

在启动主服务器侧的第一keepalived服务之后,可以利用第一keepalived服务对主服务器进行托管,以实时监测主服务器的状态,如主服务器是否存在故障等等。

在启动第一keepalived服务之后,执行步骤102。

步骤102:启动第一网桥服务,以判断本机网桥的第一网桥状态。

第一网桥服务是指主服务器侧的网桥服务。第一网桥状态是指主服务器侧的网桥的状态,可以包括工作状态和非工作状态两种状态。

第一网桥服务可以对本机网桥的状态进行判断,即利用第一网桥服务判断本机网桥是否处于工作状态。

在本发明实施例中,在启动第一keepalived服务之后,还可以启动主备通信线程,以通过主备通信线程实现主服务器和备用服务器之间的通信,具体地,以下述优选实施例进行如下详细描述。

在本发明实施例的一种优选实施例中,在上述步骤101之后,还可以包括:

步骤a1:启动第一主备通信线程。

在本发明实施例中,第一主备通信线程是指主服务器与备用服务器进行通信的线程。

主备通信线程是指主机(即主服务器)和备机(即备用服务器)之间互报网桥状态的线程,并根据对端的网桥状态,来决定本机网桥的启停。

在启动第一keepalived服务之后,可以启动第一主备通信线程,从而实现主服务器与备用服务器之间的通信,以实现主服务器和备用服务器之间互报网桥状态。

在启动第一主备通信线程之后,执行步骤a2。

步骤a2:通过所述第一主备通信线程发送主机启动状态消息至备用服务器。

主机启动状态消息是指主机启动或故障修复后重新启动的消息。

在启动第一主备通信线程之后,主服务器可以通过第一主备通信线程发送主机启动状态消息至备用服务器,如果当前备用服务器正在执行服务,可以通过该主机启动状态消息,由备用服务器停止网桥及备用服务器侧的keepalived服务,避免存在并行运行网桥造成回路的问题。

在通过第一主备通信线程发送主机启动状态消息至备用服务器之后,执行步骤a3。

步骤a3:接收由所述备用服务器返回的备机状态信息。

在通过第一主备通信线程发送主机启动状态消息至备用服务器之后,可以接收由备用服务器返回的备机状态信息,也即通过第一主备通信线程接收由备用服务器返回的备机状态信息,并执行步骤a4和步骤a5。

步骤a4:在依据所述备机状态信息确定所述备用服务器处于工作状态的情况下,向所述备用服务器发送网桥服务停止消息,以由所述备用服务器根据所述网桥服务停止消息停止网桥服务。

主服务器接受的备机状态信息旨在描述备用服务器是否已停止备用服务器侧的网桥服务及keepalived服务的状态信息,在通过备机状态信息确定备用服务器处于工作状态的情况下,则由主服务器通过第一主备通信线程向备用服务器发送网桥服务停止消息,备用服务器在接收到主服务器发送的网桥服务停止消息之后,则备用服务器需要根据该网桥服务停止消息停掉备用服务器侧的网桥服务,并在停掉网桥服务之后,继续向主服务器发送备机状态信息,以提示主服务器已停止备用服务器侧的网桥服务。

步骤a5:在依据所述备机状态信息确定所述备用服务器处于非工作状态的情况下,执行所述启动第一网桥服务,以判断本机网桥的第一网桥状态的步骤。

主服务器接收的备机状态信息旨在描述备用服务器是否已停止备用服务器侧的网桥服务及keepalived服务的状态信息。在依据备用服务器返回的备机状态信息确定备用服务器处于非工作状态的情况下,则执行上述步骤102。

在判断本机网桥的第一网桥状态之后,执行步骤103。

步骤103:在所述第一网桥状态处于工作状态的情况下,启动第一网桥检查线程。

网桥检查线程是指是一个循环获取网桥状态线程,并将网桥状态写入状态文件,方便keepalived检查状态文件的状态值。

第一网桥检查线程是指主服务器侧的网桥检查线程。

在利用第一网桥服务判断出本机网桥处于工作状态的情况下,则启动第一网桥检查线程,并执行步骤104。

步骤104:利用所述第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件。

第二网桥状态是指通过第一网桥检查线程检测到的主服务器侧的网桥状态。

在启动第一网桥检查线程之后,可以通过第一网桥检查线程检查本机网桥的第二网桥状态,在对本机网桥的网桥状态进行检查之后,可以将检查得到的状态记录到网桥状态文件中,从而生成第一网桥状态文件。

在生成第一网桥状态文件之后,执行步骤105。

步骤105:利用所述第一keepalived服务检查所述第一网桥状态文件。

在生成第一网桥状态文件之后,可以利用第一keepalived服务检查第一网桥状态文件,以根据第一网桥状态文件中的值判断本机网桥的状态。

在利用第一keepalived服务检查第一网桥状态文件之后,执行步骤106。

步骤106:依据检查结果确定本机网桥处于非工作状态的情况下,停止所述第一keepalived服务,并执行主备切换流程。

在依据检查结果确定本机网桥处于非工作状态的情况下,则停止第一keepalived服务,并执行主备切换流程,即由主服务器切换至备用服务器,由备用服务器提供服务。

对于主备切换流程以下述优选实施例进行详细描述。

在本发明实施例的一种优选实施例中,上述步骤106可以包括:

子步骤b1:利用所述第一主备通信线程获取本机网桥对应的网桥状态值;

子步骤b2:将所述网桥状态值发送至所述备用服务器,执行由所述主服务器切换至所述备用服务器的流程。

在本发明实施例中,主服务器可以利用第一主备通信线程获取本机网桥对应的网桥状态值,并将网桥状态值发送至所述备用服务器,在网桥状态值发送失败时,则记录设备工作意向,第一keepalived服务根据这个状态值给配置在keepalived服务的配置文件中的邮箱发送告警邮件,以由工作人员干预备用服务器,即停止备用服务器侧的网桥及keepalived服务。

在发送成功时,则由备用服务器根据主机侧的网桥状态值停止备用服务器侧的网桥及keepalived服务。

在主服务器侧的网桥状态恢复正常之后,还可以向备用服务器发送本机网桥恢复正常状态的信息,具体地,以下述优选实施例进行如下详细描述。

在本发明实施例的一种优选实施例中,在上述步骤106之后,还可以包括:

子步骤c1:在本机网桥的状态恢复正常之后,通过所述第一主备通信线程向所述备用服务器发送服务器正常运行状态信息,并执行由所述备用服务器切换至所述主服务器的流程。

在本发明实施例中,服务器正常运行状态信息是指主服务器处于正常运行状态的信息。

在本机网桥的状态恢复正常之后,主服务器可以通过第一主备通信线程向备用服务器发送服务器正常运行状态信息,服务器正常运行状态信息可以用于描述主服务器已恢复至工作状态,进而由备用服务器根据该服务器正常运行状态信息停止备用服务器侧的网桥服务,及keepalived服务,以避免出现并行网桥造成回路的问题,进而执行由备用服务器切换至主服务器的流程,即由主服务器继续提供服务。

本发明实施例提供的主备服务器切换方法,通过启动第一keepalived服务,启动第一网桥服务,以判断本机网桥的第一网桥状态,在第一网桥状态处于工作状态的情况下,启动第一网桥检查线程,利用第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件,利用第一keepalived服务检查第一网桥状态文件,依据检查结果确定本机网桥处于非工作状态的情况下,停止第一keepalived服务,并执行主备切换流程。本发明实施例可以解决网桥并行造成回路的问题,并且,给没有端口供keepalived托管的服务提供了状态机制进行主备切换的方式,实现方式比较简单,并能达到复用的目的。

实施例二

参照图2,示出了本发明实施例提供的一种主备服务器切换方法的步骤流程图,该主备服务器切换方法可以应用于备用服务器,具体可以包括如下步骤:

步骤201:启动第二keepalived服务。

本发明实施例可以应用于备用服务器。

第二keepalived服务是指备用服务侧的keepalived服务。

在启动第二keepalived服务,对备用服务器进行托管之后,执行步骤202。

步骤202:启动第二主备通信线程。

第二主备通信线程是指用于备用服务器和主服务器进行通信的线程,通过第二主备通信线程,备用服务器和主服务器可以互报网桥状态,并根据对端的网桥状态决定本机网桥的启停。

在启动第二keepalived服务之后,可以启动第二主备通信线程,并执行步骤203。

步骤203:利用所述第二主备通信线程接收由主服务器发送的第一主机状态信息。

第一主机状态信息是指用于指示主服务器当前状态的信息,可以包括主服务器异常或故障等状态信息。

在启动第二主备通信线程之后,备用服务器可以通过第二主备通信线程接收由主服务器发送的第一主机状态信息,并执行步骤204。

步骤204:在依据所述第一主机状态信息确定所述主服务器异常时,向所述主服务器发送网桥服务停止指令。

备用服务器接收由主服务器发送的第一主机状态信息之后,可以通过第一主机状态信息判断主服务器的状态,即是否异常或正常状态等等。

在备用服务器依据第一主机状态信息确定主服务器异常时,则向主服务器发送网桥服务停止指令,网桥服务停止指令用于指示主服务器停止网桥服务。

在向主服务器发送网桥服务停止指令时,执行步骤205。

步骤205:启动第二网桥服务,以判断本机网桥的第二网桥状态。

在向主服务器发送网桥服务停止指令之后,主服务器可以通过该网桥服务停止指令停止主服务器侧的网桥服务,并由主服务器通过第二主备通信线程向备用服务器发送网桥服务已停止的消息。

在本发明实施例的一种优选实施例中,在上述步骤205之后,还可以包括:

子步骤d1:判断本机网桥是否处于工作状态;

子步骤d2:在本机网桥处于非工作状态的情况下,则再次启动所述第二网桥服务;

子步骤d3:重复执行所述判断本机网桥是否处于工作状态,及所述在本机网桥不处于工作状态的情况下,则再次启动所述第二网桥服务的步骤。

在本发明实施例的一种优选实施例中,在启动第二网桥服务之后,还可以利用第二网桥服务对本机网桥状态进行判断,即判断本机网桥是否处于工作状态,在判断出本机网桥处于非工作装填情况下,则再次启动第二网桥服务,以对本机网桥状态进行再次的判断,重复执行上述步骤d1和上述步骤d2,以将重复执行次数达到设定次数,可以防止由于网桥服务启动过慢而引起网桥状态检查线程的误判。

在备用服务器接收到主服务器侧的网桥服务已停止的消息时,则备用服务器启动第二网桥服务,也即备用服务器本地的网桥服务,并利用第二网桥服务判断本机网桥的第二网桥状态,进而执行步骤206。

步骤206:在所述第二网桥状态处于工作状态的情况下,启动第二网桥检查线程。

在备用服务器通过第二网桥服务判断出本机网桥处于工作状态的情况下,则启动第二网桥检查线程,以对备机网桥状态进行实时检查,并将检查结果记录于状态文件中。

步骤207:利用所述第二主备通信线程接收由主服务器发送的第二主机状态信息。

在利用第二网桥服务对本机网桥的状态实时检查的过程中,还可以通过第二主备通信线程接收由主服务器发送的第二主机状态信息,并执行步骤208。

步骤208:在依据所述第二主机状态信息确定所述主服务器恢复正常状态时,停止所述第二网桥服务,及所述第二keepalived服务,并向所述主服务器发送服务停止状态信息。

在备用服务器依据主服务器发送的第二主机状态信息确定主服务器恢复正常状态的情况下,则停止第二网桥服务,及第二keepalived服务,并向主服务器发送服务停止状态信息,主服务器在接收到服务停止状态信息之后,可以进行备用服务器至主服务器的切换流程,即切换后由主服务器提供服务。

本发明实施例提供的主备服务器切换方法,通过启动第二keepalived服务,启动第二主备通信线程,利用第二主备通信线程接收由主服务器发送的第一主机状态信息,在依据第一主机状态信息确定主服务器异常时,向主服务器发送网桥服务停止指令,启动第二网桥服务,以判断本机网桥的第二网桥状态,在第二网桥状态处于工作状态的情况下,启动第二网桥检查线程,利用第二主备通信线程接收由主服务器发送的第二主机状态信息,在依据第二主机状态信息确定主服务器恢复正常状态时,停止第二网桥服务,及第二keepalived服务,并向主服务器发送服务停止状态信息。本发明实施例可以解决网桥并行造成回路的问题,并且,给没有端口供keepalived托管的服务提供了状态机制进行主备切换的方式,实现方式比较简单,并能达到复用的目的。

实施例三

参照图3,示出了本发明实施例提供的一种主备服务器切换装置的结构示意图,该主备服务器切换装置可以应用于主服务器,具体可以包括:

第一keepalived启动模块310,用于启动第一keepalived服务;第一网桥状态判断模块320,用于启动第一网桥服务,以判断本机网桥的第一网桥状态;第一网桥线程启动模块330,用于在所述第一网桥状态处于工作状态的情况下,启动第一网桥检查线程;第一网桥文件生成模块340,用于利用所述第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件;第一网桥文件检查模块350,用于利用所述第一keepalived服务检查所述第一网桥状态文件;主备切换执行模块360,用于依据检查结果确定本机网桥处于非工作状态的情况下,停止所述第一keepalived服务,并执行主备切换流程。

优选地,还包括:第一主备线程启动模块,用于启动第一主备通信线程;主机状态消息发送模块,用于通过所述第一主备通信线程发送主机启动状态消息至备用服务器;备机状态信息接收模块,用于接收由所述备用服务器返回的备机状态信息;网桥判断模块执行模块,用于在依据所述备机状态信息确定所述备用服务器处于非工作状态的情况下,执行所述第一网桥状态判断模块。

优选地,所述主备切换执行模块360包括:网桥状态值获取子模块,用于利用所述第一主备通信线程获取本机网桥对应的网桥状态值;主备切换执行子模块,用于将所述网桥状态值发送至所述备用服务器,执行由所述主服务器切换至所述备用服务器的流程。

优选地,还包括:备主服务器切换模块,用于在本机网桥的状态恢复正常之后,通过所述第一主备通信线程向所述备用服务器发送网桥正常状态信息,并执行由所述备用服务器切换至所述主服务器的流程。

本发明实施例提供的主备服务器切换装置,通过启动第一keepalived服务,启动第一网桥服务,以判断本机网桥的第一网桥状态,在第一网桥状态处于工作状态的情况下,启动第一网桥检查线程,利用第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件,利用第一keepalived服务检查第一网桥状态文件,依据检查结果确定本机网桥处于非工作状态的情况下,停止第一keepalived服务,并执行主备切换流程。本发明实施例可以解决网桥并行造成回路的问题,并且,给没有端口供keepalived托管的服务提供了状态机制进行主备切换的方式,实现方式比较简单,并能达到复用的目的。

实施例四

参照图4,示出了本发明实施例提供的一种主备服务器切换装置的结构示意图,该主备服务器切换装置可以应用于备用服务器,具体可以包括:

第二keepalived启动模块410,用于启动第二keepalived服务;第二主备线程启动模块420,用于启动第二主备通信线程;第一主机状态接收模块430,用于利用所述第二主备通信线程接收由主服务器发送的第一主机状态信息;网桥停止指令发送模块440,用于在依据所述第一主机状态信息确定所述主服务器异常时,向所述主服务器发送网桥服务停止指令;第二网桥状态判断模块450,用于启动第二网桥服务,以判断本机网桥的第二网桥状态;第二网桥线程启动模块460,用于在所述第二网桥状态处于工作状态的情况下,启动第二网桥检查线程;第二主机状态接收模块470,用于利用所述第二主备通信线程接收由主服务器发送的第二主机状态信息;第二网桥服务及keepalived停止模块480,用于在依据所述第二主机状态信息确定所述主服务器恢复正常状态时,停止所述第二网桥服务,及所述第二keepalived服务,并向所述主服务器发送服务停止状态信息。

优选地,还包括:网桥状态判断模块,用于判断本机网桥是否处于工作状态;第二网桥服务再次启动模块,用于在本机网桥处于非工作状态的情况下,则再次启动所述第二网桥服务;重复执行模块,用于重复执行所述网桥状态判断模块,及所述第二网桥服务再次启动模块。

本发明实施例提供的主备服务器切换装置,通过启动第二keepalived服务,启动第二主备通信线程,利用第二主备通信线程接收由主服务器发送的第一主机状态信息,在依据第一主机状态信息确定主服务器异常时,向主服务器发送网桥服务停止指令,启动第二网桥服务,以判断本机网桥的第二网桥状态,在第二网桥状态处于工作状态的情况下,启动第二网桥检查线程,利用第二主备通信线程接收由主服务器发送的第二主机状态信息,在依据第二主机状态信息确定主服务器恢复正常状态时,停止第二网桥服务,及第二keepalived服务,并向主服务器发送服务停止状态信息。本发明实施例可以解决网桥并行造成回路的问题,并且,给没有端口供keepalived托管的服务提供了状态机制进行主备切换的方式,实现方式比较简单,并能达到复用的目的。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

优选的,本发明实施例还提供一种终端,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述主备服务器切换方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述主备服务器切换方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端上,使得在计算机或其他可编程终端上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端中还存在另外的相同要素。

以上对本发明所提供的一种主备服务器切换方法和一种主备服务器切换装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1