CN109451063A - 一种服务器热备方法和系统 - Google Patents

一种服务器热备方法和系统 Download PDF

Info

Publication number
CN109451063A
CN109451063A CN201811580555.2A CN201811580555A CN109451063A CN 109451063 A CN109451063 A CN 109451063A CN 201811580555 A CN201811580555 A CN 201811580555A CN 109451063 A CN109451063 A CN 109451063A
Authority
CN
China
Prior art keywords
server
terminal
access
business
standby
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
Application number
CN201811580555.2A
Other languages
English (en)
Other versions
CN109451063B (zh
Inventor
彭超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Feixun Digital Technology Co Ltd
Kyland Technology Co Ltd
Original Assignee
Beijing Feixun Digital Technology Co Ltd
Kyland Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Feixun Digital Technology Co Ltd, Kyland Technology Co Ltd filed Critical Beijing Feixun Digital Technology Co Ltd
Priority to CN201811580555.2A priority Critical patent/CN109451063B/zh
Publication of CN109451063A publication Critical patent/CN109451063A/zh
Application granted granted Critical
Publication of CN109451063B publication Critical patent/CN109451063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种服务器热备方法和系统。服务器集群中设置有多台业务功能相同的服务器,其中一台为主服务器,其它为备用服务器,每个终端从所述服务器集群中选择一台服务器作为自己的接入服务器,所述方法包括:主服务器接收终端发起的业务处理请求,根据处理所述业务处理请求的对端终端与接入服务器之间的接入状态确定所述对端终端的接入服务器,并根据所述接入服务器的路由信息将所述业务处理请求提供给对应的接入服务器,其中,所述接入服务器为主服务器或任一备服务器;所述对端终端的接入服务器将所述业务处理请求发送给所述对端终端。本发明实施例通过采用上述技术方案,可以提高热备服务器之间的负载均衡能力。

Description

一种服务器热备方法和系统
技术领域
本发明实施例涉及服务器备份处理技术,尤其涉及一种服务器热备方法和系统。
背景技术
服务器热备技术,即使用两台或者多台服务器相互备份,共同执行同一业务服务。当一台服务器出现故障时,可以由另一台或者其它服务器承担业务服务任务,从而在不需要人工干预的情况下,自动保证系统能够持续提供业务服务。
现有技术通常采用的是主/备(active/standby)方式进行服务器热备,即所有客户端首先全部接入到处于活跃(active)状态的主服务器中,其它备服务器则处于待机(standby)状态。当主服务器出现故障或者断开网络链接后,备服务器检测与主服务器断开后,接替主服务器的全部功能,客户端全部接入到备服务器中。但这种方法使得同一时刻主服务器的负载过大,不能起到负载均衡的功能。
发明内容
有鉴于此,本发明实施例提供一种服务器热备方法、系统和介质,以提高热备服务器之间的负载均衡能力。
第一方面,本发明实施例提供了一种服务器热备方法,服务器集群中设置有多台业务功能相同的服务器,其中一台为主服务器,其它为备用服务器,每个终端从所述服务器集群中选择一台服务器作为自己的接入服务器,所述方法包括:
主服务器接收终端发起的业务处理请求,根据处理所述业务处理请求的对端终端与接入服务器之间的接入状态确定所述对端终端的接入服务器,并根据所述接入服务器的路由信息将所述业务处理请求提供给对应的接入服务器,其中,所述接入服务器为主服务器或任一备服务器;
所述对端终端的接入服务器将所述业务处理请求发送给所述对端终端。
第二方面,本发明实施例还提供了一种服务器热备系统,包括多台业务功能相同的服务器,其中一台为主服务器,其它为备用服务器,每个终端从所述服务器集群中选择一台服务器作为自己的接入服务器,其中,
所述主服务器,用于接收终端发起的业务处理请求,根据处理所述业务处理请求的对端终端与接入服务器之间的接入状态确定所述对端终端的接入服务器,并根据所述接入服务器的路由信息将所述业务处理请求提供给对应的接入服务器,其中,所述接入服务器为主服务器或任一备服务器;
所述主服务器或任一备服务器,用于将所述业务处理请求发送给所述对端终端。
本发明实施例提供的服务器热备方法和系统,集群中有多台功能相同的服务器,其中一台主服务器,其它为备用服务器。每个终端可以从主服务器和备服务器中选择一台作为自己的接入服务器,所有终端不是接入到同一台服务器。主服务器接收终端发起的业务处理请求,根据接收业务处理请求的对端终端与接入服务器之间的接入状态确定对端终端的接入服务器,并根据该接入服务器的路由信息将业务处理请求提供给对应的接入服务器,由对端终端的接入服务器将所述业务处理请求发送给对端终端。由于,不是所有终端都接入到同一服务器,每个终端可以选择自己的接入服务器,在发起业务处理请求后,由主服务器确定处理业务请求的对端终端所属的接入服务器,进而由对端终端的接入服务器将所述业务处理请求发送给对端终端,因此,本发明实施例可以提高热备服务器之间的负载均衡能力,降低主服务器的负载量。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一提供的一种服务器热备方法的流程示意图;
图2A为本发明实施例一提供的一种服务器集群与终端的连接方式示意图;
图2B为本发明实施例一提供的一种主服务器发生故障时服务器集群与终端的连接方式示意图;
图2C为本发明实施例一提供的一种备服务器发生故障时服务器集群与终端的连接方式示意图;
图3为本发明实施例二提供的一种服务器热备方法的流程示意图;
图4为本发明实施例三提供的一种服务器热备方法的流程示意图;
图5为本发明实施例四提供的一种服务器热备系统的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
本发明实施例一提供一种服务器热备方法。该方法可以由服务器热备系统执行,适用于在服务器热备系统所包含的服务器集群中设置有多台业务功能相同的服务器,其中一台为主服务器,其它为备用服务器,每个终端从所述服务器集群中选择一台服务器作为自己的接入服务器时,提高主服务器与备服务器之间的负载均衡能力。图1是本发明实施例一提供的服务器热备方法的流程示意图,如图1所示,该方法包括:
S110、主服务器接收终端发起的业务处理请求,根据处理所述业务处理请求的对端终端与接入服务器之间的接入状态确定所述对端终端的接入服务器,并根据所述接入服务器的路由信息将所述业务处理请求提供给对应的接入服务器,其中,所述接入服务器为主服务器或任一备服务器。
具体的,主服务器可以在接收到终端发起的业务处理请求时,根据业务处理请求中携带的接收业务处理请求的对端终端的终端标识获取对端终端与其接入服务器之间的接入状态,根据该接入状态确定对端终端的接入服务器,查找接入服务器的路由信息(如接入服务器的IP地址),并根据接入服务器的路由信息将业务处理请求转发给对端终端的接入服务器。
其中,处理业务处理请求的对端终端为生成业务处理请求的终端欲将所生成的业务处理请求最终发送至的终端,例如,终端A通过业务处理请求,请求终端B处理业务,则终端A为发起业务处理请求的终端,终端B为处理业务处理请求的对端终端。业务处理请求可以为向其他终端请求处理业务的请求,如视频会议接入请求等。主服务器本地存储有系统中各服务器(包括主服务器和各备服务器)的接入终端的接入状态以及系统中各服务器的路由信息,接入状态可以包括终端的接入方式信息,如在线接入或离线接入等,该路由信息可以由工作人员存储于主服务器本地、由主服务器从各备服务器获得或者由各备服务器主动上报给主服务器。
在此,发起业务处理请求的终端(以下简称发起终端)可以是主服务器或任一备服务器的接入终端,相应的,主服务器接收到的业务处理请求可以是由主服务器的接入终端发送的业务处理器请求,也可以是由备服务器的接入终端通过备服务器转发的业务处理请求。举例而言,主服务器的接入终端生成业务处理请求,并将该业务处理请求发送给主服务器;或者,备服务器的接入终端生成业务处理请求,将该业务处理请求发送给其接入的备服务器,其接入的备服务器将该业务处理请求转发给主服务器。此时,优选的,在所述主服务器接收终端发起的业务处理请求之前,还包括:如果备服务器接收到本机接入终端发起的业务处理请求,识别到对端终端非本机接入终端,则将所述业务处理请求发送给所述主服务器。具体的,各备用服务器本地可以记录有其各接入终端的终端标识,接入终端发起的业务处理请求中可以携带有发起终端的终端标识和对端终端的终端标识,相应的,备服务器接收到本机接入终端(即发起终端)发起的业务处理请求后,可以根据业务处理请求中携带的对端终端的终端标识确定对端终端是否为本机的接入终端,若是,则将业务处理请求转发给对端终端;若否,则将业务处理请求发送给主服务器。
本步骤中,对端终端的接入服务器可以为主服务器或任一备服务器,当对端终端的接入服务器为主服务器时,即当对端终端为主服务器的接入终端时,主服务器可以直接将所接收到的业务处理请求发送给对端终端;当对端终端的接入服务器为任一备服务器时,主服务器可以将接收到的业务处理请求发送给对端终端接入的备服务器,经由该备服务器将业务处理请求转发给对端终端。
考虑到可能存在对端终端已下线的情况,优选的,当接入状态信息包括终端的接入方式信息时,主服务可以在根据接入服务器的路由信息将所述业务处理请求提供给对应的接入服务器之前,判断对端终端的接入服务器是否在线,若是,则可以将接收到的业务处理请求发送给对端终端的接入服务器,以通过该接入服务器将业务处理请求转发给对端终端;若否,则可以向发起终端返回请求失败消息,以通知发起终端接收业务处理器请求的对端终端(如终端B)已下线、请求失败。此时,若发起终端为主服务器的接入终端,则主服务器可以直接向该终端返回请求失败消息;若发起终端为任一备服务器的接入终端,则主服务器可以通过该终端接入的备服务器将请求失败消息转发给该终端。
S120、所述对端终端的接入服务器将所述业务处理请求发送给所述对端终端。
示例性的,经由主服务器转发的业务处理请求的发送过程可以为:主服务器的接入终端生成业务处理请求,并将该业务处理请求发送给主服务器,或者,备服务器的接入终端生成业务处理请求,并将该业务处理请求发送给其接入的备服务器,其接入的备服务器接收该业务处理请求并将其转发给主服务器;主服务器接收其接入终端或任一备服务器发送的业务处理请求,根据处理该业务处理请求的对端终端与其接入服务器之间的接入状态确定对端终端是否在线,若在线,则进一步判断该接入服务器是否为主服务器,若是,则将该业务处理请求发送给对端终端,若否,则根据对端终端接入服务器的路由信息将该业务处理请求发送给对端终端接入的备服务器,相应的,对端终端接入的备服务器接收该业务处理请求,并将其转发给对端终端;若不在线,则生成请求失败消息,并将该请求失败消息发送给发起终端(针对发起终端为主服务器的接入终端的情况),或者,将该请求失败消息发送给发起终端接入的备服务器(针对发起终端为任一备服务器的情况),相应的,备服务器接收主服务器发送的请求失败消息,并将该请求失败消息发送给发起终端。
相应的,对端终端基于业务处理请求处理业务后,可以生成业务处理结果,并将业务处理结果按照业务处理请求转发顺序的逆顺序发送给发起终端,此时,当对端终端与发起终端为两个不同的备服务器的接入终端时,业务处理结果的传输路径为:对端终端-对端终端接入的备用服务器-主服务器-发起终端接入的备服务器-发起终端;当对端终端为主服务器的接入终端,发起终端为备服务器的接入终端时,业务处理结果的传输路径为:对端终端-主服务器-发起终端接入的备服务器-发起终端;当对端终端为备服务器的接入终端,发起终端为主服务器的发起终端时,业务处理结果的传输路径为:对端终端-对端终端接入的备用服务器-主服务器-发起终端;当对端终端与发起终端均为主服务器的接入终端时,业务处理结果的传输路径为:对端终端-主服务器-发起终端。
图2A为本发明实施例一提供的一种主服务器、备服务器和各终端的连接方式示意图(图中以服务器集群中设置有三个服务器为例),下面结合图2A对业务处理请求的发送过程进行说明。
如图2A所示,终端1接入主服务器,终端3接入备服务器1,终端1需要向终端3发起业务操作,即需要向终端3发送业务处理请求,此时,业务处理请求的发送过程可以为:终端1发起业务处理请求,主服务器接收到终端1发起的业务处理请求后,根据本地保存的数据状态信息,如终端3与备服务器1之间的接入状态,确定终端3接入的是备服务器1(即终端3为备服务器1的接入终端,备服务器1是终端3的接入服务器)并且在线(即处于在线接入状态),则根据本地保存的路由信息找出访问备服务器1的路径,如确定备服务器1的IP地址,根据该路径将业务处理请求转发给备服务器1,进而备服务器1将业务处理请求转发给终端3,至此,终端1与终端3建立连接;相应的,如果主服务器根据本地保存的数据状态信息确定终端3已下线(即处于离线接入状态),则向终端1返回访问失败信息并告知其终端3已下线。
同样的,如图2A所示,终端3接入的备服务器1,终端5接入备服务器2,终端3需要向终端5发起业务操作,即需要向终端5发送业务处理请求,此时,业务处理请求的发送过程可以为:终端3发起业务处理请求;终端3接入的备服务器1接收终端3发起的业务处理请求,确定终端5并非本机的接入终端,将业务处理请求转发给主服务器;主服务器接收到业务处理请求后,根据本地保存的数据状态信息,确定终端5接入的是备服务器2并且在线,则根据本地保存的路由信息找出访问备服务器2的路径,根据该路径将业务处理请求转发给备服务器2,进而备服务器2将业务处理请求转发给终端5,至此,终端3与终端5建立连接;相应的,如果主服务器根据本地保存的数据状态信息确定终端5已下线,则向备服务器1返回访问失败、终端5已下线的通知消息,进而备服务器1将该通知消息发送给终端3。
本发明实施例一提供的服务器热备方法,集群中有多台功能相同的服务器,其中一台主服务器,其它为备用服务器。每个终端可以从主服务器和备服务器中选择一台作为自己的接入服务器,所有终端不是接入到同一台服务器。主服务器接收终端发起的业务处理请求,根据接收业务处理请求的对端终端与接入服务器之间的接入状态确定对端终端的接入服务器,并根据该接入服务器的路由信息将业务处理请求提供给对应的接入服务器;对端终端的接入服务器将主服务器发送的业务处理请求转发给对端终端。由于,不是所有终端都接入到同一服务器,每个终端可以选择自己的接入服务器,在发起业务处理请求后,由主服务器确定处理业务请求的对端终端所属的接入服务器,进而由对端终端的接入服务器将所述业务处理请求发送给对端终端。本实施例通过采用上述技术方案,可以提高热备服务器之间的负载均衡能力,降低主服务器的负载量。
在上述实施例的基础上,所述服务器热备方法还可以包括:在所述主服务器发生异常时,任一所述备服务器按照预设选择规则,从至少一个备服务器中确定新的主服务器,以实现主备服务器的自动切换,减少主服务器发生故障时终端的等待时间。
其中,预设选择规则可以根据需要设置,如可以选取权重值最高的备服务器作为新的主服务器、选取负载量最小的备服务器作为新的主服务器或选取资源占用率最低的备服务器作为新的主服务器,等等。其中,系统中各服务器的权重值可以由工作人员综合考虑各服务器的数据处理能力、稳定性等各方面的性能确定,优选为数据处理能力较强、稳定性较高的服务器设置较大的权重值。
具体的,备服务器可以通过判断其与主服务器是否断开连接来确定主服务器是否发生异常,若备服务器与主服务器断开连接,则确定主服务器发生异常,并确定新的主服务器;否则,则确定主服务器未发生异常;或者,在确定未与主服务器断开连接时,进一步判断主服务器的响应速率是否小于正常响应时的最低速率值,若是,则判定主服务器发生异常并确定新的主服务器,否则,则判定主服务器未发生异常。
为了进一步提高判断主服务器是否发生异常的准确性,优选的,备服务器可以在其与主服务断开连接且未与其他备服务器和/或本机的接入设备断开连接时确定主服务器发生异常,以避免由于备服务器发生异常而导致其错误确定主服务器发生异常的情况的出现。
需要说明的是,各备服务器按照预设选择规则确定新的主服务器时,一般可以唯一确定一个新的主服务器,即各备服务器确定的新的主服务器为同一个新的主服务器;但是,考虑到各备服务器确定时间的差异以及确定算法可能出现的错误,在极少数情况下可能会出现各备服务器确定的主服务器不一致的情况,当各备服务器确定的主服务器不一致时,示例性的,可以按照选取各主服务的备服务器的多少最终确定系统中的新的主服务器,如假设有5个备服务器选取备服务器A作为新的主服务器,有1个备服务器(假设为备服务器B)选取备服务器C作为新的主服务器,则可以最终确定备服务器A作为系统中的新的主服务器,并向备服务器B发送主服务器更正通知,以通知备服务器B将新的主服务器更正为备服务器A,由此,即可唯一确定新的主服务器。
优选的,各备服务器在唯一确定新的主服务器后,还可以将其自身的路由信息上报给所确定的新的主服务器;相应的,新的主服务器存储各备服务器的路由信息,以便后续可以根据各备服务器的路由信息与各备服务器之间进行通信。本实施例中,服务器集群中的服务器可以以任意形式组网,每个服务器中可以仅保存有本地路由信息,即服务器自身的路由信息,此时,服务器在加入服务器集群后可以将自己保存的本地路由信息上报给主服务器,从而主服务器保存服务器集群中所有服务器的路由信息。当原主服务器故障并确定新的主服务器后,服务器集群中的其他备服务器将自己本地的路由信息上报给新的主服务器,从而,新的主服务器保存服务器集群中所有服务器的路由信息。
本步骤中,当系统中的主服务器或任一备服务器发生异常时,原始连接该发生异常的主服务器或备服务器的终端可以按照设定规则确定新的接入服务器,并与该新的接入服务器建立连接,如原始接入发生异常的主服务器或备服务器的终端可以根据预先存储的服务器信息列表,按照一定顺序或随机选取服务器并向该服务器发送登陆请求以请求登陆该服务器,若登陆成功,则将该服务器确定为本终端的新的接入服务器;若登陆失败,则重新选取服务器登陆,直至登陆成功为止;相应的,各服务器在接收到原始接入其他服务器的终端发送的登陆请求时,判断本机是否过载,若是,则不允许该终端登陆,该终端登陆失败;若否,则与该终端建立连接,该终端登陆成功。其中,服务器信息列表可以由工作人员预先存储在终端中,也可以在终端首次接入系统中的服务器时,由该服务器推送给该终端,此处不作限制。
示例性的,当主服务器发生异常时,备服务器侦测到与主服务器断开连接,保存断开连接之前的最后一次业务数据,并按照服务器的权重规则自动的设置当前权重最高的备服务器为主服务器。接入之前主服务器的终端侦测到与主服务器端口连接,则从之前获取的主备服务器信息列表中逐个选择服务器登陆,并在无法接入(如果所选择的服务器过载,则无法接入)时,选择下一个服务器登陆,直至成功接入为止,从而实现重新登陆其他的服务器,并从新接入的服务器中获取断开连接之前的第一业务数据,保证业务流程的恢复。如图2A和图2B所示,举例而言,当主服务发生异常时,备服务器1和备服务器2选取当前权重值最高的备服务器1作为新的主服务器;终端1初始接入的主服务器出现故障,终端1重新登陆到图2A中的备服务器1,即图2B中的新的主服务器,则从新的主服务上获取断开连接之前的业务数据;终端2初始接入的主服务器出现古战,终端2重新登陆到备服务器2,则从备服务器2上获取断开连接之前的第一业务数据。其中,服务器集群中各服务器的权重值可以预先设置为不用的值,以保证主服务器发生故障时,每个备服务器选择出的新的主服务器是一致的;服务器集群中的每个服务器上可存储并更新服务器集群中的主备服务器信息列表,每个终端在接入服务器后,可以从接入的服务器上获取主备服务器信息列表。
同样的,某个备服务器发生故障,原始接入该故障服务器的终端重新登陆服务器集群中的另一个服务器,并从新登录的该另一个服务器上获取断开连接之间的第一业务数据,保证业务流程的恢复。如图2A和图2C所示,举例而言,终端3初始接入的备服务器1发生故障,终端3重新登陆到主服务器,则从主服务器上获取断开连接之前的第一业务数据;终端4初始接入的备服务器1发生故障,终端4重新登陆到备服务器2,则从备服务器2上获取断开连接之前的第一业务数据。
实施例二
图3为本发明实施例二提供的一种服务器热备方法的流程示意图。本实施例在上述实施例的基础上增加了同步接入终端的接入状态的过程。下面结合图3对本实施例提供的服务器热备方法进行说明,如图3所示,所述服务器热备方法包括:
S310、如果主服务器或任一备服务器,检测到直接访问本机的终端时,则确定为本机接入终端,记录所述本机接入终端的在线接入状态,并同步给其他服务器进行保存。
S320、如果所述主服务器或任一备服务器,检测到本机接入终端退出时,则记录所述本机接入终端的离线接入状态,并同步给其他服务器进行保存。
本实施例中,主服务器或任一备服务器可以将本机接入终端的接入状态,如在线接入状态或离线接入状态,同步给其他服务器进行保存。具体的,主服务器直接将主服务器接入终端的接入状态发送给其他服务器进行保存;当备服务器中存储有其他备服务器的路由信息时,备服务器可以直接将本机接入终端的接入状态发送给其他服务器进行保存,当备服务器中未存储其他备服务器的路由信息时,备服务器可以将本机接入终端的接入状态发送给主服务器,相应的,主服务器接收到备服务器发送的接入状态后,可以保存该接入状态并将其转发给除该接入状态的发送方之外的其他备服务器进行保存。
本步骤中,终端将本机接入终端的接入状态同步给其他服务器进行保存的同步方式可以根据需要设置,如可以按照设定周期将本机接入终端的接入状态同步给其他服务器保存、在本机接入终端的接入状态发生变化时将发生变化的接入终端变化后的接入状态同步给其他服务器保存或者在接入状态发生变化的接入终端达到一定数量时将发生变化的接入终端变化后的接入状态同步给其他服务器保存,等等,本实施例不对此进行限制。优选的,各服务器可以在本机接入终端的接入状态发生变化时即将其变化后的接入状态同步给其他服务器保存,以提高同步的及时性。由此,经过同步后,系统中的主服务器和任一备服务器中均记录有系统中全部服务器的接入终端的接入状态。
示例性的,每个服务器上有新接入的终端(包括终端第一次接入服务器的情况以及终端由离线接入状态转为在线接入状态的情况)时,该服务器将终端的在线接入状态(即哪个终端在线接入哪个服务器)同步给服务器集群中的其他服务器;如果一个服务器上有终端下线(即由在线接入状态转为离线接入状态),该服务器将该终端的离线接入状态(即哪个终端从那个服务器上下线)同步给服务器集群中的其他服务器。如图2A所示,以终端3接入备服务器1或从备服务器1下线举例而言,备服务器1在检测到终端3在线接入本机时,将终端3在线接入备服务器1的在线接入状态同步给主服务器和备服务器2,并在检测到终端3从本机下线时,将终端3离线接入备服务器1的离线接入状态同步给主服务器和备服务器2。
本实施例中,终端登陆服务器时,可以按照设定规则确定其登陆的服务器,即直接访问的服务器,如可以登陆本端默认登陆的服务器、随机选取一个服务器登陆或选取负载量最小的服务器登陆等等。示例性的,可以预先设置终端默认登陆的服务器并在终端中存储记录有系统中各服务器(包括主服务器和各备服务器)的路由信息的服务器信息列表。此时,终端在登陆服务器时,可以首先登陆其默认登陆的服务器,若登陆成功,则采用该服务器作为其接入服务器,若登陆失败,则随机或按照设定的顺序(如按照负载量由小到大的顺序或按照各服务器的路由信息在服务器信息列表中的排序等等)选取一个服务器登陆,若仍然登陆失败,则选取下一个服务器登陆,直至登陆成功为止。
在此,导致终端登陆失败的原因有多种,如服务器离线或服务器负载量过大等,相应的,服务器在接收到终端发送的登陆请求时,可以判断本机的负载量是否超过设定的负载量阈值,若是,则不允许终端登陆,若否,则允许终端登陆;也可以首先判断本机是否为终端默认登陆的服务器,即判断终端是否为本机默认提供业务服务的终端,若是,则允许终端登陆;若不是,则进一步判断本机的负载量是否超过设定的负载量阈值,若超过,则不允许终端登陆,若未超过,则允许终端登陆。
本发明实施例二提供的服务器热备方法,主服务器和各备服务器均自动将本机接入终端的接入状态同步给服务器集群中的其他服务器进行保存,从而主服务器或任一备服务器可以仅在对端终端处于在线状态时对接收到的业务处理请求进行转发操作,能够降低业务请求发送过程所占用的网络资源,提高服务器集群的响应速度,减少服务器集群中各接入终端的等待时间。
实施例三
图4为本发明实施例三提供的一种服务器热备方法的流程示意图。本实施例在上述实施例的基础上增加了业务数据的同步过程并对提供业务服务的过程进行了细化。下面结合图4对本实施例提供的服务器热备方法进行说明,如图4所示,所述服务器热备方法包括:
S410、所述主服务器或任一备服务器为本机接入终端提供业务服务,并将业务服务过程中产生的第一业务数据同步给其他服务器进行保存。
其中,第一业务数据可以仅包括业务服务过程中的业务操作数据,也可以进一步包括业务服务过程中产生的静态数据。以业务服务为视频会议为例,第一业务数据可以仅包括视频会议过程中的各操作指令,如终端A邀请终端B加入视频会议时产生的邀请执行、终端A指定终端B的用户发言时产生的指定指令等等;也可以进一步包括视频会议的视频内容、会话内容以及终端所登陆用户账号的账号名称、头像等静态数据。考虑到同步与存储第一业务数据所占用的资源,优选的,可以仅将服务服务过程中的业务操作数据同步给其他服务器进行保存。
本实施例中,各服务器将业务服务过程中产生的第一业务数据同步给其他服务器进行保存的同步方式可以根据需要设置,如可以按照设定周期将产生的第一业务数据同步给其他服务器保存、在产生新的第一业务数据时将新产生的第一业务数据同步给其他服务器保存或者在新产生的第一业务数据达到一定数量时将新产生的业务数据同步给其他服务器保存,等等,本实施例不对此进行限制。考虑到同步的及时性以及同步所耗费的资源,优选的,各服务器可以按照设定周期将产生的第一业务数据同步给其他服务器保存。
为了减少第一业务数据对各服务器存储资源的占用,优选的,在所述主服务器或任一备服务器为本机接入终端提供业务服务,并将业务服务过程中产生的第一业务数据同步给其他服务器进行保存之后,还包括:所述主服务器或任一备服务器在所述业务服务过程结束时,通知其他服务器删除对应的第一业务数据。
本实施例中,在业务服务过程结束时,如发起终端接收到业务处理结果后或将业务处理结果发送给发起终端后,通知其他服务器删除该业务服务的第一业务数据,或通过主服务器通知其他服务器删除对应的第一业务数据。在此,业务服务过程结束时,提供服务的主服务器或任一备服务器可以删除或不删除对应的第一业务数据,本实施例不对此进行限制。
举例而言,当主服务器为本机接入终端提供的业务服务结束时,主服务器可以生成第一业务数据删除通知,并将该第一业务数据删除通知发送给各备用服务器,以通知各备用服务器删除该业务服务的第一业务数据。当备服务器为本机接入终端提供的业务服务结束时,若该备服务器中存储有其他备服务器的路由信息,则该备服务器可以生成第二业务数据删除通知,并将该第二业务数据删除通知发送给主服务器和其他各备服务器,以通知主服务器和各备用服务器删除该业务服务的第一业务数据;若该备服务器中未存储其他备服务器的路由信息,则该备服务器可以生成第三业务数据删除通知,将该第三业务数据删除通知发送给主服务器,相应的,主服务器在接收到备服务器发送的第三业务数据删除通知后,根据该第三业务数据删除通知删除对应的第一业务数据,并将该第三业务数据删除通知转发给除发送第三业务数据删除通知的备服务器之外的其他备服务器,以通知其他备服务器删除对应的第一业务数据。
本步骤中,各服务器为本机的接入终端所提供的业务服务可以为不需与其他接入终端进行交互的服务、需要与本机的其他接入终端进行交互的服务或者需要与其他服务器的接入终端进行交互的服务。当服务为需要与其他接入终端进行交互的服务时,服务器在为本机接入终端提供业务服务之后,还可以将业务服务过程中产生的第二业务数据发送给对端终端。其中,第二业务数据可以理解为发起终端与对端终端之间的交互数据,其可以包括业务服务过程中的业务操作数据和业务服务过程中产生的静态数据。对端终端可以为本机的其他接入终端或其他服务器的接入终端。当对端终端为本机的其他接入终端时,服务器可以直接将第二业务数据发送给对端终端;当对端终端为其他服务器的接入终端时,服务器可以通过对端终端的接入服务器将第二接入数据转发给对端终端,此时,优选的,本实施例提供的服务器热备方法还可以包括:所述主服务器或任一备服务器为本机接入终端提供业务服务,并将业务服务过程中产生的第二业务数据发送给所述对端终端的接入服务器;所述对端终端的接入服务器将所述第二业务数据发送给所述对端终端。
示例性的,如图2A所示,终端1作为主控终端邀请终端2、终端3、终端4和终端5接入视频会议,终端1接入的主服务器将会议信息发送到各个终端接入的服务器(即备服务器1和备服务器2)以及终端1所邀请的主服务器的接入终端(即终端2)上;备服务器1接收主服务器发送的会议信息,并将其转发给终端3和终端4,备服务器2接收主服务器发送的会议信息,并将其转发给终端5;终端2接收主服务器发送的会议信息,终端3和终端4接收备服务器1发送的会议信息,终端5接收备服务器2发送的会议信息,由此,即可将视频会议过程中产生的会议信息发送给对端终端。
S420、所述主服务或任一备服务器接收到本机接入的终端发起的业务处理请求时,在本地查询所述业务处理请求对应的第一业务数据。
S430、如果存在第一业务数据,则根据查找到的第一业务数据为所述终端提供业务服务,并将业务服务过程中产生的第一业务数据同步给其他服务器进行保存。
本实施例中,服务器集群中各服务器的终端在其原始登陆的服务器发生异常时,可以重新选取其他服务器登陆,在登陆后,可以向新登录的服务器重新发送器原始登陆的服务器尚未处理完成的业务服务对应的业务处理请求,以请求新登陆的服务器为本终端提供对应的业务服务;相应的,该终端新登录的服务器(主服务器或任一备服务器)在接收到终端发起的业务处理请求后,可以根据业务处理请求中携带的业务标识查询本地是否存储有该业务处理请求对应的第一业务数据,即判断该业务处理请求是否为新的业务处理请求,如果存在对应的第一业务数据,则在查找到的第一业务数据的基础上继续为终端提供业务服务;相应的,如果不存在对应的第一业务数据,则可以将所述业务处理请求作为新的业务处理请求,并根据该业务处理请求为终端提供业务服务。
考虑到查找第一业务数据所耗费的时间,优选的,各服务器可以仅在接收到本机新接入的终端发起的业务处理请求时在本地查询该业务处理请求对应的第一业务数据。例如,各服务器可以在接收到本机接入的终端发起的业务处理请求后,判断该业务处理请求是否为终端本次接入本机后首次、设定次数内或设定时间内发送的业务处理请求,若是,则在本地查询该业务处理请求对应的第一业务数据;若否,则将该业务处理请求作为新的业务处理请求,根据该业务处理请求为终端提供业务服务。
本发明实施例三提供的服务器热备方法,主服务器或任一备服务器将业务根据本机接入终端发起的业务处理请求查询对应的业务数据,在存在对应的业务数据时,根据该业务数据为终端提供业务服务,主服务发生异常时,各备服务器按照预设选取规则确定新的主服务器,可以实现主备服务器的自动切换,减少重新提供业务服务所占用的资源和所耗费的时间,减少终端的等待时间。
实施例四
本发明实施例四提供一种服务器热备系统。该系统可通过执行服务器热备方法实现服务热备。图5为本发明实施例四提供的服务器热备系统的结构示意图(图中以存在多个备服务器20为例),如图5所示,所述服务器热备系统包括业务功能相同的服务器,其中一台为主服务器10,其它为备用服务器20,每个终端从所述服务器集群中选择一台服务器作为自己的接入服务器,其中,
所述主服务器10,用于接收终端发起的业务处理请求,根据处理所述业务处理请求的对端终端与接入服务器之间的接入状态确定所述对端终端的接入服务器,并根据所述接入服务器的路由信息将所述业务处理请求提供给对应的接入服务器,其中,所述接入服务器为主服务器10或任一备服务器20;
所述对端终端接入的主服务器10或任一备服务器20,用于将所述业务处理请求发送给所述对端终端。
本发明实施例四提供的服务器热备系统,集群中有多台功能相同的服务器,其中一台主服务器,其它为备用服务器。每个终端可以从主服务器和备服务器中选择一台作为自己的接入服务器,所有终端不是接入到同一台服务器。通过主服务器接收终端发起的业务处理请求,根据接收业务处理请求的对端终端与接入服务器之间的接入状态确定对端终端的接入服务器,并根据该接入服务器的路由信息将业务处理请求提供给对应的接入服务器;通过对端终端接入的主服务器或任一备服务器将该业务处理请求发送给对端终端。由于,不是所有终端都接入到同一服务器,每个终端可以选择自己的接入服务器,在发起业务处理请求后,由主服务器确定处理业务请求的对端终端所属的接入服务器,进而由对端终端的接入服务器将所述业务处理请求发送给对端终端。本实施例通过采用上述技术方案,可以提高热备服务器之间的负载均衡能力,降低主服务器的负载量。
进一步地,所述备服务器20还可用于:如果接收到本机接入终端发起的业务处理请求,识别到对端终端非本机接入终端,则将所述业务处理请求发送给所述主服务器10。
在上述方案中,所述主服务器10或任一备服务器20具体可用于:如果检测到直接访问本机的终端时,则确定为本机接入终端,记录所述本机接入终端的在线接入状态,并同步给其他服务器进行保存;如果检测到本机接入终端退出时,则记录所述本机接入终端的离线接入状态,并同步给其他服务器进行保存。
进一步地,所述主服务器10或任一备服务器20还可用于:为本机接入终端提供业务服务,并将业务服务过程中产生的第一业务数据同步给其他服务器进行保存。
在上述方案中,所述主服务器10或任一备服务器20具可体用于:接收到本机接入的终端发起的业务处理请求时,在本地查询所述业务处理请求对应的第一业务数据;如果存在第一业务数据,在根据查找到的第一业务数据为所述终端提供业务服务。
进一步地,所述主服务器10或任一备服务器20还可用于:为本机接入终端提供业务服务,并将业务服务过程中产生的第二业务数据发送给所述对端终端的接入服务器;相应的,所述对端终端接入的主服务器10或任一备服务器20将所述第二业务数据发送给所述对端终端。
进一步地,所述备服务器20,还用于在所述主服务器10发生异常时,按照预设选择规则,从至少一个备服务器中确定新的主服务器。
本发明实施例四提供的服务器热备系统装置可执行本发明任意实施例提供的服务器热备方法,具备执行服务器热备方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的服务器热备方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种服务器热备方法,其特征在于,服务器集群中设置有多台业务功能相同的服务器,其中一台为主服务器,其它为备用服务器,每个终端从所述服务器集群中选择一台服务器作为自己的接入服务器,所述方法包括:
主服务器接收终端发起的业务处理请求,根据处理所述业务处理请求的对端终端与接入服务器之间的接入状态确定所述对端终端的接入服务器,并根据所述接入服务器的路由信息将所述业务处理请求提供给对应的接入服务器,其中,所述接入服务器为主服务器或任一备服务器;
所述对端终端的接入服务器将所述业务处理请求发送给所述对端终端。
2.根据权利要求1所述的方法,其特征在于,在所述主服务器接收终端发起的业务处理请求之前,还包括:
如果备服务器接收到本机接入终端发起的业务处理请求,识别到对端终端非本机接入终端,则将所述业务处理请求发送给所述主服务器。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述主服务器或任一备服务器,检测到直接访问本机的终端时,则确定为本机接入终端,记录所述本机接入终端的在线接入状态,并同步给其他服务器进行保存;
如果所述主服务器或任一备服务器,检测到本机接入终端退出时,则记录所述本机接入终端的离线接入状态,并同步给其他服务器进行保存。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述主服务器或任一备服务器为本机接入终端提供业务服务,并将业务服务过程中产生的第一业务数据同步给其他服务器进行保存。
5.根据权利要求4所述的方法,其特征在于,所述主服务器或任一备服务器为本机接入终端提供业务服务,包括:
主服务器或任一备服务器接收到本机接入的终端发起的业务处理请求时,在本地查询所述业务处理请求对应的第一业务数据;
如果存在第一业务数据,则根据查找到的第一业务数据为所述终端提供业务服务。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述主服务器或任一备服务器为本机接入终端提供业务服务,并将业务服务过程中产生的第二业务数据发送给所述对端终端的接入服务器;
所述对端终端的接入服务器将所述第二业务数据发送给所述对端终端。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述主服务器发生异常时,任一所述备服务器按照预设选择规则,从至少一个备服务器中确定新的主服务器。
8.一种服务器热备系统,其特征在于,包括多台业务功能相同的服务器,其中一台为主服务器,其它为备用服务器,每个终端从所述服务器集群中选择一台服务器作为自己的接入服务器,其中,
所述主服务器,用于接收终端发起的业务处理请求,根据处理所述业务处理请求的对端终端与接入服务器之间的接入状态确定所述对端终端的接入服务器,并根据所述接入服务器的路由信息将所述业务处理请求提供给对应的接入服务器,其中,所述接入服务器为主服务器或任一备服务器;
所述对端终端接入的主服务器或任一备服务器,用于将所述业务处理请求发送给所述对端终端。
9.根据权利要求8所述的系统,其特征在于,所述备服务器还用于:
如果接收到本机接入终端发起的业务处理请求,识别到对端终端非本机接入终端,则将所述业务处理请求发送给所述主服务器。
10.根据权利要求8所述的系统,其特征在于,所述主服务器或任一备服务器具体用于:
如果检测到直接访问本机的终端时,则确定为本机接入终端,记录所述本机接入终端的在线接入状态,并同步给其他服务器进行保存;
如果检测到本机接入终端退出时,则记录所述本机接入终端的离线接入状态,并同步给其他服务器进行保存。
CN201811580555.2A 2018-12-24 2018-12-24 一种服务器热备方法和系统 Active CN109451063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811580555.2A CN109451063B (zh) 2018-12-24 2018-12-24 一种服务器热备方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811580555.2A CN109451063B (zh) 2018-12-24 2018-12-24 一种服务器热备方法和系统

Publications (2)

Publication Number Publication Date
CN109451063A true CN109451063A (zh) 2019-03-08
CN109451063B CN109451063B (zh) 2021-08-17

Family

ID=65535165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811580555.2A Active CN109451063B (zh) 2018-12-24 2018-12-24 一种服务器热备方法和系统

Country Status (1)

Country Link
CN (1) CN109451063B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096473A (zh) * 2019-04-16 2019-08-06 苏州浪潮智能科技有限公司 一种应用于无人驾驶系统的边缘计算服务器的架构
CN112702206A (zh) * 2020-12-25 2021-04-23 珠海金山网络游戏科技有限公司 一种主备集群部署方法及系统
CN113055427A (zh) * 2019-12-28 2021-06-29 浙江宇视科技有限公司 一种基于业务的服务器集群接入方法及装置
CN115348155A (zh) * 2022-08-10 2022-11-15 北京飞讯数码科技有限公司 基于集群服务器的业务容灾的实现方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309167A (zh) * 2008-06-27 2008-11-19 华中科技大学 基于集群备份的容灾系统及方法
CN101677324A (zh) * 2008-09-17 2010-03-24 华为技术有限公司 业务管理方法、终端、网络系统及相关设备
CN103442030A (zh) * 2013-07-31 2013-12-11 北京京东尚科信息技术有限公司 发送和处理业务请求信息的方法和系统以及客户端装置
CN104158694A (zh) * 2014-08-27 2014-11-19 福建星网锐捷网络有限公司 DHCPv6服务器的热备方法和装置
CN106302827A (zh) * 2016-10-25 2017-01-04 聚好看科技股份有限公司 基于分布式系统的通信方法、设备及分布式系统
CN107404394A (zh) * 2016-05-20 2017-11-28 中兴通讯股份有限公司 一种iptv系统容灾方法及iptv容灾系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309167A (zh) * 2008-06-27 2008-11-19 华中科技大学 基于集群备份的容灾系统及方法
CN101677324A (zh) * 2008-09-17 2010-03-24 华为技术有限公司 业务管理方法、终端、网络系统及相关设备
CN103442030A (zh) * 2013-07-31 2013-12-11 北京京东尚科信息技术有限公司 发送和处理业务请求信息的方法和系统以及客户端装置
CN104158694A (zh) * 2014-08-27 2014-11-19 福建星网锐捷网络有限公司 DHCPv6服务器的热备方法和装置
CN107404394A (zh) * 2016-05-20 2017-11-28 中兴通讯股份有限公司 一种iptv系统容灾方法及iptv容灾系统
CN106302827A (zh) * 2016-10-25 2017-01-04 聚好看科技股份有限公司 基于分布式系统的通信方法、设备及分布式系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096473A (zh) * 2019-04-16 2019-08-06 苏州浪潮智能科技有限公司 一种应用于无人驾驶系统的边缘计算服务器的架构
CN113055427A (zh) * 2019-12-28 2021-06-29 浙江宇视科技有限公司 一种基于业务的服务器集群接入方法及装置
CN112702206A (zh) * 2020-12-25 2021-04-23 珠海金山网络游戏科技有限公司 一种主备集群部署方法及系统
CN112702206B (zh) * 2020-12-25 2023-03-24 珠海金山数字网络科技有限公司 一种主备集群部署方法及系统
CN115348155A (zh) * 2022-08-10 2022-11-15 北京飞讯数码科技有限公司 基于集群服务器的业务容灾的实现方法及装置

Also Published As

Publication number Publication date
CN109451063B (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
CN109451063A (zh) 一种服务器热备方法和系统
CN107078969B (zh) 实现负载均衡的计算机设备、系统和方法
US6801949B1 (en) Distributed server cluster with graphical user interface
US20200260125A1 (en) Method and system for streaming media live broadcast
JP4616159B2 (ja) クラスタシステム、ロードバランサ、ノード振替方法およびノード振替プログラム
US6963917B1 (en) Methods, systems and computer program products for policy based distribution of workload to subsets of potential servers
US7509424B2 (en) Load-balancing device and computer-readable recording medium in which load-balancing program is recorded
US12011659B2 (en) Account connecting method and apparatus, storage medium, and electronic device
US20080056234A1 (en) Methods, systems, and computer program products for inhibiting message traffic to an unavailable terminating SIP server
JP4190455B2 (ja) 負荷分散装置及びプログラム
US20150078340A1 (en) Method and System of Changing Service Points
CN110442610A (zh) 负载均衡的方法、装置、计算设备以及介质
CN110519395A (zh) 服务请求处理方法、装置、计算机设备及存储介质
CN101489260B (zh) 一种通信业务处理的方法、装置及系统
CN108055314A (zh) 一种集群系统的管理方法与集群系统
US11418581B2 (en) Load balancer shared session cache
CN110708309A (zh) 反爬虫系统及方法
CN112104676B (zh) 一种媒体服务器自管理方法及会议系统
JP2007219637A (ja) 負荷分散システムおよびそのプログラム
CN103795584A (zh) 客户端身份检测方法及网关
CN109981476A (zh) 一种负载均衡方法和装置
JP5029495B2 (ja) イベント制御プログラム、イベント制御方法およびイベント制御装置
CN115378962B (zh) 一种基于iSCSI协议的存储集群的高可用性连通方法和系统
CN105959315A (zh) 一种用于用户迁移的ip保活方法及客户端
CN111385324A (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