主备系统切换方法、装置、服务器及主备系统
技术领域
本申请涉及数据通信领域,具体而言,涉及一种主备系统切换方法、装置、服务器及主备系统。
背景技术
随着网页应用发展迅速,传统的各类客户端应用程序已经逐步被简单易用的Web系统所替代,Web为全球广域网(World Wide Web)的简称。在部署各类Web系统时,为了保障Web系统的持续性运行,通常会采用双机集群系统来部署Web系统。双机集群系统包括主服务器和备服务器,在Web系统中,由主服务器提供Web服务,在需要切换时,则切换到备服务器。
由于浏览器的同源策略和HTTPS(Hyper Text Transfer Protocol overSecureSocket Layer,超文本传输安全协议)的安全策略限制(不能在当前Web页面中加载和当前地址不相同的Web服务内容),在主服务器的地址的Web页面中无法自动查询备服务器Web系统的启动状态,因此无法告诉用户端备服务器的Web系统完成启动的时间。目前,通常是在用户终端的Web界面,由用户不断输入备服务器地址,反复刷新浏览器,直到可以访问备服务器地址时,才表示备服务器的Web系统启动完成,该方式的效率低,无法及时实现主备的切换。
发明内容
本申请实施例的目的在于提供一种主备系统切换方法、装置、服务器及主备系统,能够在Web系统中及时实现主服务器与备服务器之间的切换,提升切换效率。
为了实现上述目的,本申请的实施例通过如下方式实现:
第一方面,本申请提供一种主备系统切换方法,所述方法包括:主服务器在获取到主备切换指令时,根据预设周期监控备服务器中的Web系统的工作状态;当所述工作状态表示所述备服务器的所述Web系统完成当前启动时,将提供Web服务的地址由主服务器的地址切换为所述备服务器的地址,以由所述备服务器提供所述Web服务。
在上述的实施方式中,在主备切换过程中,主服务器可以及时检测到备服务器的Web系统是否完成启动,从而能及时实现主备系统的自动切换,无需用户手动检测备服务器的Web系统是否完成启动,从而有利于提升主备切换的效率,改善用户体验。
结合第一方面,在一些可选的实施方式中,所述主服务器中预先创建有基于HTTP协议的第一Web服务;所述备服务器中预先创建有基于HTTP协议的第二Web服务,所述第二Web服务的访问地址用于在被访问时返回所述备服务器的Web系统的启动时间;
根据预设周期监控备服务器中的Web系统的工作状态,包括:
通过所述主服务器中的所述第一Web服务,以所述预设周期创建预设标签以获取所述第二Web服务的访问地址中的内容,所述内容包括所述备服务器的所述Web系统在完成启动时存储的启动时间。
在上述的实施方式中,利用每次创建的预设标签,可以及时在Web系统完成启动时,获取到启动时的时间戳,从而有利于主备系统的及时切换。
结合第一方面,在一些可选的实施方式中,通过所述主服务器中的所述第一Web服务,以所述预设周期创建预设标签以获取所述第二Web服务的访问地址中的内容,包括:
通过所述主服务器中的所述第一Web服务,以所述预设周期创建预设标签,所述预设标签的预设属性为所述第二Web服务的访问地址;
将所述预设标签加载至所述主服务的Web页面中,以获取与所述预设属性对应的访问地址中的内容。
结合第一方面,在一些可选的实施方式中,在所述获取到所述主备切换指令之后,在所述将提供Web服务的地址由主服务器的地址切换为所述备服务器的地址之前,所述方法还包括:
向用户终端提供基于HTTP协议的第一Web服务,用于在所述用户终端上显示表示正进行模式切换的页面信息。
在上述的实施方式中,第一Web服务可以在模式切换期间,在用户终端上显示表示正进行模式切换的页面信息,可以起到模式切换的过渡,有利于提升用户体验。
结合第一方面,在一些可选的实施方式中,在将提供Web服务的地址由主服务器的地址切换为所述备服务器的地址之前,所述方法还包括:
将第一时间戳与第二时间戳进行比对,所述第一时间戳为在获取到所述主备切换指令时的时间戳,所述第二时间戳为从所述备服务器获取的所述Web系统完成启动时的时间戳;
当所述第二时间戳在所述第一时间戳之后,确定所述备服务器的所述Web系统完成当前启动。
在上述的实施方式中,通过对第一时间戳与第二时间戳进行比对,可以确保能检测到备服务器的Web系统是否完成启动,方便对启动时间进行检测。
结合第一方面,在一些可选的实施方式中,在根据预设周期监控所述备服务器中的Web系统的工作状态之前,所述方法还包括:
接收通过点击虚拟按钮生成的所述主备切换指令。
结合第一方面,在一些可选的实施方式中,在根据预设周期监控所述备服务器中的Web系统的工作状态之前,所述方法还包括:
在获取到所述主备切换指令时,向所述备服务器发送启动指令,以触发所述备服务器的所述Web系统开始启动。
第二方面,本申请还提供一种主备系统切换装置,所述装置包括:
监控单元,用于在获取到主备切换指令时,根据预设周期监控备服务器中的Web系统的工作状态;
切换单元,用于当所述工作状态表示所述备服务器的所述Web系统完成当前启动时,将提供Web服务的地址由主服务器的地址切换为所述备服务器的地址,以由所述备服务器提供所述Web服务。
第三方面,本申请还提供一种服务器,包括相互耦合的处理器及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述服务器执行上述的方法。
第四方面,本申请还提供一种主备系统,包括主服务器及备服务器;
所述主服务器在获取到主备切换指令时,用于根据预设周期监控备服务器中的Web系统的工作状态;
当所述工作状态表示所述备服务器的所述Web系统完成当前启动时,所述主服务器还用于将提供Web服务的地址由主服务器的地址切换为所述备服务器的地址,以由所述备服务器提供所述Web服务。
第五方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的服务器的电路结构示意图。
图2为本申请实施例提供的主备系统的切换场景示意图。
图3为本申请实施例提供的主备系统切换方法的流程示意图。
图4为本申请实施例提供的主备系统切换装置的框图。
图标:10-服务器;11-处理模块;12-存储模块;13-通信模块;20-主备系统;30-主服务器;40-备服务器;200-主备系统切换装置;210-监控单元;220-切换单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,本申请提供一种服务器10,服务器10部署有Web系统,可以用于提供Web服务。
Web系统:指通过Web服务提供的一种Web应用程序或系统,用户通过终端浏览器访问网站服务内容,用户在终端浏览器中通过页面的交互操作完成相应的工作或任务。
Web服务:指由服务器10按照一种传输协议提供的供终端浏览器访问的网站服务。该传输协议可以是超文本传输协议(Hypertext Transfer Protocol,HTTP)或超文本传输安全协议(Hyper Text Transfer Protocol over SecureSocket Layer,HTTPS)。
在本实施例中,服务器10可以包括处理模块11及存储模块12。存储模块12内存储计算机程序,当计算机程序被所述处理模块11执行时,使得服务器10能够执行下述主备系统切换方法中的各步骤。
在本实施例中,服务器10还可以包括其他模块,例如,服务器10还可以包括通信模块13,用于与其他设备建立通信连接。例如,服务器10可以通过通信模块13与用户终端或其他服务器建立通信连接。用户终端可以是但不限于智能手机、个人电脑。
处理模块11、存储模块12以及通信模块13各个模块之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些模块相互之间可通过一条或多条通讯总线或信号线实现电性连接。
请参照图2,本申请还提供一种主备系统20,可以包括主服务器30及备服务器40,主服务器30与备服务器40的结构可以为如图1所示的服务器10。主服务器30与备服务器40均部署有Web系统,以作为HA(Highly Available,高可用)双机集群系统。
在主备系统20中,可以通过主服务器30或备服务器40提供Web服务。主备系统20的工作模式可以包括主模式与备模式。
当工作在主模式时,主服务器的Web系统运行,备服务器通常处于待机状态,即备服务器的Web系统处于关闭状态。当工作在备模式时,备服务器的Web系统运行,主服务器通常处于待机状态,即主服务器的Web系统处于关闭状态。
当需要进行主模式、备模式的切换时,主服务器与备服务器可以相互配合,可以实现下述主备系统切换方法中的各步骤。
请参照图3,本申请还提供一种主备系统切换方法,可以应用于上述的主备系统中,可以由主备系统中的主服务器、备服务器相互配合实现方法的各步骤,其中,方法可以包括如下步骤:
步骤S110,主服务器在获取到主备切换指令时,根据预设周期监控备服务器中的Web系统的工作状态;
步骤S120,当所述工作状态表示所述备服务器的所述Web系统完成当前启动时,将提供Web服务的地址由主服务器的地址切换为所述备服务器的地址,以由所述备服务器提供所述Web服务。
在上述的实施方式中,主服务器中的第一Web服务可以周期性地监控备服务器Web系统的工作状态,然后在备服务器的Web系统完成启动时,进行主备切换,后续便由备服务器提供Web服务。如此,在主备切换过程中,主服务器可以及时检测到备服务器的Web系统是否完成启动,从而能及时实现主备系统的自动切换,无需用户手动检测备服务器的Web系统是否完成启动,从而有利于提升主备切换的效率,改善用户体验。
下面将对方法的各步骤进行详细阐述,如下:
在步骤S110中,主备切换指令用于供主备系统将主服务器切换为从服务器,以由从服务器替代主服务器执行相应的业务。其中,主服务器获取主备切换指令的方式可以根据实际情况进行灵活确定。
例如,主服务器可以接收外部设备发送的主备切换指令。比如,由用户通过用户终端的浏览器,向主服务区发送主备切换指令,此时,主服务器便可以获取到用户终端发送的主备切换指令。
又例如,主服务器可以在满足切换条件时,自动生成主备切换指令,此时,主服务器便可以获取到主备切换指令。其中,切换条件可以根据实际情况进行灵活设置。比如,当主服务器需要进行软件升级时,或存在异常时,便确定满足切换条件。
在主服务器中,通过JavaScript脚本程序预先存储有预设函数,该预设函数用于按照预设周期获取备服务器中的Web系统的工作状态,而不是通过Ajax获取备服务器中的Web系统的工作状态。
JavaScript是一种具有函数优先的轻量级、解释型或即时编译型的编程语言,JavaScript的脚本程序可以运行在浏览器中。
Ajax是一种应用于网页上的网络消息传递方式,为本领域技术人员熟知的网络消息传递方式。
主服务器在获取到主备切换指令时,可以基于JavaScript脚本程序通过预设函数以预设周期监控备服务器中的Web系统的工作状态,例如,监控Web系统完成启动的时间戳。
可理解地,所监控的工作状态,包括但不限于,备服务器中的Web系统完成启动的时间戳、该Web系统关闭或停止运行的时间戳。预设周期可以根据实际情况进行灵活确定,这里不作具体限定。
主服务器从备服务器获取到Web系统的工作状态之后,可以对工作状态进行分析,以确定备服务器的Web系统是否完成当前启动。其中,当前启动是指Web系统在主服务器获取到主备切换指令之后所完成的启动。
在步骤S120中,若Web系统完成当前启动,表示备服务器中的Web系统是在主服务器获取到主备切换指令之后才完成启动的,此时,便将提供Web服务的地址由主服务器的地址切换为备服务器的地址,如此,可以实现主备的切换。后续便由备服务器提供Web服务。其中,备服务器的地址可以预先存储在主服务器中。
在本实施例中,在主服务器中,预先创建有基于HTTP协议的第一Web服务;所述备服务器中预先创建有基于HTTP协议的第二Web服务,所述第二Web服务的访问地址用于在被访问时返回所述备服务器的Web系统的启动时间。第一Web服务的访问地址被访问时,可以返回页面信息。该页面信息可以是一种静态页面。
可理解地,备服务器可以存储记录备服务器中的Web系统在完成启动或停止运行时的时间信息。例如,备份服务器可以将Web系统完成启动时的时间信息存储在备服务器的一个指定文件中,该指定文件可以灵活确定或创建,这里不作具体限定。备服务器提供的第二Web服务可以读取该指定文件中的内容,从而可以在第二Web服务的访问地址被访问时,向访问方(比如主服务器)返回Web系统在完成启动时的时间戳。
基于上述的第一Web服务、第二Web服务,步骤S110可以包括:
通过所述主服务器中的所述预设函数,以所述预设周期创建预设标签以获取所述第二Web服务的访问地址中的内容,所述内容包括所述备服务器的所述Web系统在完成启动时存储的启动时间。
其中,通过所述主服务器中的所述预设函数,以所述预设周期创建预设标签以获取所述第二Web服务的访问地址中的内容,包括:
通过所述主服务器中的所述预设函数,以所述预设周期创建预设标签,所述预设标签的预设属性为所述第二Web服务的访问地址;
将所述预设标签加载至所述主服务的Web页面中,以获取与所述预设属性对应的访问地址中的内容。
在本实施例中,预设标签可以是Script标签,预设属性可以是标签的Src属性。其中,Script标签是HTML(HyperText Markup Language,超文本标记语言)中的一个标签,可以用于嵌入脚本语言(如,JavaScript)或引入外部脚本文件(如,JavaScript文件)。Src属性为Script标签中的一个属性,可以用于引入外部脚本文件(如,JavaScript脚本文件)。Src属性可以用于设置外部脚本的地址,比如添加本实施例中的第二Web服务的访问地址。
由于访问第二Web服务的访问地址,可以返回备服务器中的Web系统在完成启动时存储的时间戳,因此,通过在主服务器的Web页面加载预设标签,便可以以HTTP请求的方式访问Web系统在完成启动时存储的时间戳。在访问过程中,若Web系统未完成启动,也就不会读取到指定文件中的时间戳。此时,便需要以预设周期重复执行上述的“创建预设标签,以及将所述预设标签加载至所述主服务的Web页面中,以获取与所述预设属性对应的访问地址中的内容”的步骤,直至Web系统完成启动,且能读取到指定文件中记录的Web系统完成启动时的时间戳。
作为一种可选的实施方式,在步骤S110之前,方法还可以包括:
接收通过点击虚拟按钮生成的所述主备切换指令。
可理解地,在主服务器提供的Web服务中,管理人员可以预先创建一个虚拟按钮。该虚拟按钮便作为如图2所示的“一键切换”按钮。当需要进行主备模式的切换时,管理员可以通过用户终端进入主服务器提供的Web服务,在用户终端的浏览器的显示界面上可以呈现如图2所示的“一键切换”按钮。用户可以在用户终端的显示界面上点击“一键切换”的虚拟按钮,从而生成主备切换指令,然后由用户终端将该主备切换指令发送至主服务器,以使主服务器响应该主备切换指令,从而执行步骤S110、步骤S120的相应操作。
在上述的实施方式中,虚拟按钮方便用户进行主备模式切换的操作,从而有利于提升用户体验感。
在本实施例中,在步骤S110之前,方法还可以包括:
在获取到所述主备切换指令时,向所述备服务器发送启动指令,以触发所述备服务器的所述Web系统开始启动。
可理解地,在主备系统中,当工作在主模式时,备服务器处于待机状态,备服务器的Web系统并未启动。当主服务器接收到主备切换指令时,便会向备服务器发送启动指令。备服务器在接收到该启动指令后,便会自动触发Web系统开始启动,这里不再赘述。
作为一种可选的实施方式,在步骤S110之后,且在步骤S120之前,方法还可以包括:
向用户终端提供基于HTTP协议的第一Web服务,用于在所述用户终端上显示表示正进行模式切换的页面信息。
可理解地,在进行模式切换期间,为了便于用户直观地了解当前正在进行模式切换,主服务器可以提供第一Web服务。在进行模式切换期间,当用户向主备系统发送用于进行Web服务的请求时,此时便由主服务器进行反馈。即,主服务器基于第一Web服务,可以向用户返回表示正进行模式切换的提示信息。提示信息可以根据实际情况进行灵活设置,方便用户了解是否完成模式切换。示例性地,提示信息可以为如图2所示的“提示:正在切换中”。
当完成模式切换时,可以直接由备服务器响应用户终端发送用于提供Web服务的请求。或者由用户终端再次发起该请求,备服务器在接收到该请求后,再进行响应,以提供Web服务。
作为一种可选的实施方式,在步骤S120之前,方法还可以包括:
将第一时间戳与第二时间戳进行比对,所述第一时间戳为在获取到所述主备切换指令时的时间戳,所述第二时间戳为从所述备服务器获取的所述Web系统完成启动时的时间戳;
当所述第二时间戳在所述第一时间戳之后,确定所述备服务器的所述Web系统完成当前启动。
可理解地,主服务器在获取到备服务器的Web系统的工作状态后,在对工作状态进行分析时,需要确保工作状态中的启动时间的含义为:备服务器的Web系统是在主服务器获取到主备切换指令之后启动的,而不是在主服务器获取到主备切换指令之前启动的。
若启动时间表示:备服务器的Web系统是在主服务器获取到主备切换指令之前启动的,这意味着,备服务器的指定文件中记录的是Web系统上次启动的时间戳,在本次主备切换期间,该Web系统实际上可能并未完成启动。
当启动时间表示:备服务器的Web系统是在主服务器获取到主备切换指令之后启动的,便意味着,在本次主备切换期间,该Web系统实际已完成启动,此时,便可以将提供Web服务的地址由主服务器的地址切换为备服务器的地址。
为了便于理解,下面将结合图2举例阐述方法的实现流程:
假设,在主备系统20中,主服务器30的访问地址为A1(Https://1.1.1.1),备服务器40的访问地址为B1(Https://2.2.2.2)。
管理员预先在主服务器30中,增加一个基于HTTP协议的Web服务(即为第一Web服务),该服务的访问地址为A2(Http://1.1.1.1/webping.html)。在模式切换期间,当该服务的地址被访问时,可以返回一个HTTP静态页面,以提示正在切换中,示例性地,如图2所示的静态页面中的提示信息。
另外,管理员预先在备服务器40中,增加一个基于HTTP协议的Web服务(即为第二Web服务),该服务的访问地址假设为B2(Http://2.2.2.2/checkHealth),该Web服务的B2地址可以用于获取备服务器40的Web系统完成启动时的时间戳(以下简称时间戳T2)。该时间戳由备服务器40的Web系统完成启动后生成,并存放于备服务器40的指定文件中。即,备服务器40提供的Web服务可以读取该指定文件中的内容,并返回该时间戳。
需要说明的是,地址A1、A2、B1、B2为示例性的地址,在实际应用中,可以不同于上述A1、A2、B1、B2的地址。即,主/备服务器及提供Web服务的地址,均可以根据实际情况进行灵活设置,这里不作具体限定。
当主服务器30接收到主备切换指令时,便记录该时刻以作为T1(即为第一时间戳)。在A2地址的页面中,需要通过B2地址获取备服务器40中的Web系统的工作状态。由于浏览器同源策略,不能通过Ajax直接查询B2地址。在本实施例中,查询的方式为通过创建Script标签获取B2地址中的内容。具体的方式为:
通过JavaScript脚本程序在A2的页面中预先设置一个函数,然后,通过JavaScript脚本程序循环创建一个Script标签,并设置该Script标签的Src属性为B2地址。然后,将该Script标签加载到Web页面中,Script标签加载后可以自动获取Src属性中的资源(包括Web系统的启动时间戳T2,即为第二时间戳),并将获取到的资源作为JavaScript代码运行,在代码运行时,调用上述的函数。在函数运行时,即可以获取到备服务器40的Web系统的启动时间戳T2。
在本实施例中,预设函数还可以用于比对T2和T1的时间先后关系,实现方式可以为:
如果T2晚于T1,则表示备服务器40是在接收到切换指令之后完成启动的,此时,便通过JavaScript自动跳转到备服务器40的B1地址。当完成主备切换之后,备服务器40可以删除指定文件中存储的时间戳T2。在备服务器的Web系统运行期间,若接收到模式切换指令,则将备服务器40的身份替换成上述的主服务器30的身份,以执行步骤S110至S120,直至完成模式切换。
如果T1不存在,表示备服务器40还未启动。如果T2早于T1,则表示备服务器40是上次进行主备切换时产生的时间戳,不能表示备服务器40已在本次主备切换中启动。
基于上述设计,通过创建Script标签的方式,可以解决浏览器同源策略的限制问题;通过分别在主服务器30和备服务器40中增加HTTP协议服务,可以解决HTTPS协议的安全限制问题,从而可以在主服务器30提供的页面中获取备服务器40的Web系统启动状态。用户不再需要手动去刷新页面判断备服务器40是否可以访问,用户通过Web页面中的一键切换按钮,只需点击一次即可实现浏览器自动跳转到备服务器40地址的功能,并且在备服务器40启动完成之前,也有等待页面给出提示,可以实现较好的过渡效果,提升用户体验。
请参照图4,本申请实施例还提供一种主备系统切换装置200,可以应用于上述的服务器中,用于执行方法中的各步骤。主备系统切换装置200包括至少一个可以软件或固件(Firmware)的形式存储于存储模块中或固化在服务器操作系统(Operating System,OS)中的软件功能模块。处理模块用于执行存储模块中存储的可执行模块,例如主备系统切换装置200所包括的软件功能模块及计算机程序等。
主备系统切换装置200可以包括监控单元210及切换单元220,可以执行的操作内容如下:
监控单元210,用于在获取到主备切换指令时,根据预设周期监控备服务器40中的Web系统的工作状态;
切换单元220,用于当所述工作状态表示所述备服务器40的所述Web系统完成当前启动时,将提供Web服务的地址由主服务器30的地址切换为所述备服务器40的地址,以由所述备服务器40提供所述Web服务。
其中,主服务器30中预先创建有基于HTTP协议的第一Web服务,所述第一Web服务包括所述预设函数;所述备服务器40中预先创建有基于HTTP协议的第二Web服务,所述第二Web服务的访问地址用于在被访问时返回所述备服务器40的Web系统的启动时间。监控单元210还可以用于:通过所述主服务器30中的第一Web服务,以所述预设周期创建预设标签以获取所述第二Web服务的访问地址中的内容,所述内容包括所述备服务器40的所述Web系统在完成启动时存储的启动时间。
可选地,监控单元210还可以用于:通过所述主服务器30中的所述预设函数,以所述预设周期创建预设标签,所述预设标签的预设属性为所述第二Web服务的访问地址;将所述预设标签加载至所述主服务的Web页面中,以获取与所述预设属性对应的访问地址中的内容。
可选地,主备系统切换装置200还可以包括服务提供单元。在执行步骤S110之后,且在执行步骤S120之前,服务提供单元用于向用户终端提供基于HTTP协议的第一Web服务,用于在所述用户终端上显示表示正进行模式切换的页面信息。
可选地,监控单元210还可以用于:将第一时间戳与第二时间戳进行比对,所述第一时间戳为在获取到所述主备切换指令时的时间戳,所述第二时间戳为从所述备服务器40获取的所述Web系统完成启动时的时间戳;当所述第二时间戳在所述第一时间戳之后,确定所述备服务器40的所述Web系统完成当前启动。
可选地,主备系统切换装置200还可以包括接收单元,用于在执行步骤S110之前,接收通过点击虚拟按钮生成的所述主备切换指令。
在本实施例中,处理模块可以是一种集成电路芯片,具有信号的处理能力。上述处理模块可以是通用处理器。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
存储模块可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块可以用于存储JavaScript脚本程序、预设周期等。当然,存储模块还可以用于存储其他程序或数据,处理模块在接收到执行指令后,执行该程序。
可以理解的是,图1所示的结构仅为服务器的一种结构示意图,服务器还可以包括比图1所示更多的组件。图1中所示的各组件可以采用硬件、软件或其组合实现。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的服务器的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
本申请实施例还提供一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的主备系统切换方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,本申请提供一种主备系统切换方法、装置、服务器及主备系统。方法包括:主服务器在获取到主备切换指令时,根据预设周期监控备服务器中的Web系统的工作状态;当所述工作状态表示所述备服务器的所述Web系统完成当前启动时,将提供Web服务的地址由主服务器的地址切换为所述备服务器的地址,以由所述备服务器提供所述Web服务。如此,在主备切换过程中,主服务器可以及时检测到备服务器的Web系统是否完成启动,从而能及时实现主备系统的自动切换,无需用户手动检测备服务器的Web系统是否完成启动,从而有利于提升主备切换的效率,改善用户体验。
在本申请所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。