CN110474797A - Api业务系统、主备切换的方法及装置 - Google Patents

Api业务系统、主备切换的方法及装置 Download PDF

Info

Publication number
CN110474797A
CN110474797A CN201910677098.7A CN201910677098A CN110474797A CN 110474797 A CN110474797 A CN 110474797A CN 201910677098 A CN201910677098 A CN 201910677098A CN 110474797 A CN110474797 A CN 110474797A
Authority
CN
China
Prior art keywords
server
backup
database
api
primary
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
CN201910677098.7A
Other languages
English (en)
Other versions
CN110474797B (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 Megvii Technology Co Ltd
Original Assignee
Beijing Megvii 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 Megvii Technology Co Ltd filed Critical Beijing Megvii Technology Co Ltd
Priority to CN201910677098.7A priority Critical patent/CN110474797B/zh
Publication of CN110474797A publication Critical patent/CN110474797A/zh
Application granted granted Critical
Publication of CN110474797B publication Critical patent/CN110474797B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure

Abstract

本申请涉及一种API业务系统、主备切换的方法及装置。所述API业务系统包括多个部署有API网关的服务器,所述多个服务器包括主服务器和至少一个备份服务器,所述主服务器和所述至少一个备份服务器上配置有相同的虚拟互联网协议IP地址;所述至少一个备份服务器,用于当检测到所述主服务器发生故障时,根据预设的第一选举规则,在所述至少一个备份服务器中确定目标备份服务器,作为新的主服务器;所述新的主服务器,用于接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。采用本申请可以提高API业务系统的可用性。

Description

API业务系统、主备切换的方法及装置
技术领域
本申请涉及计算机技术领域,特别是涉及一种API业务系统、主备切换的方法及装置。
背景技术
Kong网关是一种在客户端和微服务间转发API(Application ProgrammingInterface,应用程序编程接口)通信的API网关。由于Kong网关具有高可扩展性,因此,在视频结构化业务系统中,技术人员可以通过扩展Kong网关的插件,满足系统对用户的鉴权、认证等需求。
在视频结构化业务系统中,Kong网关通常与业务服务部署在同一服务器上,当该服务器发生故障(比如宕机或掉电)时,将导致视频结构化业务系统无法为用户提供业务服务。因此,亟需一种防止Kong网关单点故障的技术方案。
发明内容
基于此,有必要针对上述技术问题,提供一种API业务系统、主备切换的方法及装置。
第一方面,提供了一种API业务系统,所述API业务系统包括多个部署有API网关的服务器,所述多个服务器包括主服务器和至少一个备份服务器,所述主服务器和所述至少一个备份服务器上配置有相同的虚拟互联网协议IP地址;
所述至少一个备份服务器,用于当检测到所述主服务器发生故障时,根据预设的第一选举规则,在所述至少一个备份服务器中确定目标备份服务器,作为新的主服务器;
所述新的主服务器,用于接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
作为一种可选地实施方式,所述多个服务器中的每个服务器,还用于部署API业务服务。
作为一种可选地实施方式,所述多个服务器的每个服务器,还用于采用主从复制策略部署数据库,其中,所述多个服务器中部署的数据库包括主数据库和至少一个备份数据库,所述至少一个备份数据库中的数据通过备份所述主数据库中的数据得到。
作为一种可选地实施方式,所述多个服务器中部署有备份数据库的服务器,还用于当检测到部署有主数据库的服务器发生故障时,根据预设的第二选举规则,在所述部署有备份数据库的服务器中确定目标服务器,并将所述目标服务器中部署的备份数据库作为新的主数据库。
作为一种可选地实施方式,所述多个服务器中的每个服务器,还用于部署保活服务,并在保活服务的配置文件中配置所述虚拟IP地址。
作为一种可选地实施方式,所述多个服务器中的每个服务器,还用于部署API网关,并在所述API网关的配置文件中配置数据库地址、API业务服务地址和路由规则。
第二方面,提供了一种主备切换的方法,所述方法应用于上述第一方面任一所述的API业务系统中的第一备份服务器,所述第一备份服务器上配置有与主服务器相同的虚拟互联网协议IP地址,所述方法包括:
当检测到所述主服务器发生故障时,根据预设的第一选举规则,判断本设备是否为新的主服务器;
如果本设备为新的主服务器,则接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
作为一种可选地实施方式,所述根据预设的第一选举规则,判断本设备是否为新的主服务器,包括:
接收第二备份服务器发送的第二通告消息,所述第二通告消息中携带有所述第二备份服务器对应的第二优先级,所述第二通告消息为所述第二备份服务器在预设时长内未接收到所述主服务器发送的通告消息时发送的;
如果所述第一备份服务器对应的第一优先级大于所述第二优先级,则将本设备的设备状态设置为主状态,并向其他备份服务器发送第一通告消息,所述第一通告消息中携带有所述第一备份服务器对应的第一优先级,以使所述第二备份服务器接收到所述第一通告消息后,将所述第二备份服务器的设备状态设置为备份状态。
作为一种可选地实施方式,所述方法还包括:
如果所述第一优先级小于或等于所述第二优先级,则将本设备的设备状态设置为备份状态。
作为一种可选地实施方式,所述第一备份服务器上部署有备份数据库,所述方法还包括:
当达到预设的备份周期时,将主数据库中的数据备份至所述备份数据库;
当检测到部署有所述主数据库的服务器发生故障时,根据预设的第二选举规则,在部署有备份数据库的服务器中的确定目标服务器,并将所述目标服务器中部署的数据库作为新的主数据库。
第三方面,提供了一种主备切换的装置,所述装置应用于上述第一方面任一所述的API业务系统中的第一备份服务器,所述第一备份服务器上配置有与主服务器相同的虚拟互联网协议IP地址,所述装置包括:
判断模块,用于当检测到所述主服务器发生故障时,根据预设的第一选举规则,判断本设备是否为新的主服务器;
处理模块,用于如果本设备为新的主服务器,则接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
第四方面,提供了一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当检测到所述主服务器发生故障时,根据预设的第一选举规则,判断本设备是否为新的主服务器;
如果本设备为新的主服务器,则接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当检测到所述主服务器发生故障时,根据预设的第一选举规则,判断本设备是否为新的主服务器;
如果本设备为新的主服务器,则接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
上述一种API业务系统、主备切换的方法及装置,当检测到主服务器发生故障时,至少一个备份服务器根据预设的第一选举规则,在至少一个备份服务器中确定目标备份服务器,作为新的主服务器。新的主服务器接收用户终端发送的目的地址为虚拟IP地址的API请求,并对API请求进行处理,从而保证API业务系统的高可用性,且保证用户对主备服务器的切换无感知。
附图说明
图1为本申请实施例提供的一种API业务系统的架构图;
图2为本申请实施例提供的一种主备切换的方法的流程图;
图3为本申请实施提供的一种主备切换的装置的结构示意图;
图4为申请实施提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供了一种API业务系统,该API业务系统可以为视频结构化API业务系统,也可以为其他类型的API业务系统,本申请实施例不作限定。如图1所示,该API业务系统包括用户终端和多个服务器。每个服务器中均可以部署有保活(keepalived)服务模块、API网关、数据库和API业务服务模块。其中,保活服务模块,用于实现主备服务器的维护和切换;API网关,用于接收用户终端发送的API请求,并对该API请求进行处理;数据库,用于存储用户终端对应的鉴权信息;API业务服务模块,用于为用户提供API业务服务。为了便于理解,本申请实施例首先对服务器中各模块的部署过程进行介绍。
部署步骤一,多个服务器中的每个服务器,部署保活服务,并在保活服务的配置文件中配置虚拟IP地址。
在实施中,为了实现主备服务器的维护和切换,每个服务器可以根据保活服务部署指令部署保活服务模块,并根据虚拟IP地址配置指令,在保活服务模块的配置文件中,配置相同的虚拟IP(Internet Protocol,互联网协议)地址。然后,服务器可以根据第一设备状态配置指令,在保活服务模块的配置文件中,将设备状态设置为主(Master)状态,从而将本服务器设置为主服务器。同理,服务器也可以根据第二设备状态配置指令,在保活服务模块的配置文件中,将设备状态设置为备份(Backup)状态,从而将本服务器设置为备份服务器。其中,主服务器为虚拟IP地址的拥有者。例如,如图1所示,服务器2可以根据设备状态配置指令,在保活服务模块的配置文件中,将设备状态设置为主状态;服务器1和服务器3可以根据设备状态配置指令,在保活服务模块的配置文件中,将设备状态设置为备份状态,从而将服务器2设置为主服务器,将服务器1和服务器3设置为备份服务器。其中,服务器2为虚拟IP地址的拥有者。
部署步骤二,多个服务器中的每个服务器,部署API网关,并在API网关的配置文件中配置数据库地址、API业务服务地址和路由规则。
在实施中,每个服务器可以根据网关部署指令部署API网关。其中,该API网关可以为Kong网关,也可以为其他类型的API网关,本申请实施例不作限定。服务器部署API网关后,可以根据网关配置指令,在配置文件中配置数据库地址、API业务服务地址和路由规则。其中,数据库地址包括各数据库所在服务器的IP地址和数据库名称;API业务服务地址为API网关所属的服务器中部署的API业务服务模块的地址;路由规则为API请求的类型与API业务服务的对应关系。
部署步骤三,多个服务器中的每个服务器,部署API业务服务。
在实施中,为了保证主备服务器切换后,新的主服务器可以为用户提供业务服务。因此,每个服务器可以根据业务服务部署指令部署API业务服务模块,以为用户提供API业务服务。可选的,每个服务器还可以根据注册中心部署指令部署注册中心,并根据注册指令将API业务服务注册至该注册中心,以为用户提供API业务服务的发现功能。其中,该注册中心可以为Eureka,也可以为其他类型的注册中心,本申请实施例不做限定。
部署步骤四,多个服务器的每个服务器,采用主从复制策略部署数据库。
其中,多个服务器中部署的数据库包括主数据库和至少一个备份数据库,至少一个备份数据库中的数据通过备份主数据库中的数据得到。
在实施中,每个服务器可以根据数据库部署指令,采用主从复制策略部署数据库,以存储用户终端对应的鉴权信息。其中,数据库可以为PostgreSql数据库,也可以为其他类型的数据库,本申请实施例不作限定。多个服务器中部署的数据库包括主数据库和至少一个备份数据库。备份数据库可以根据预设的备份周期,周期性的将主数据库中的数据备份至备份数据库中。其中,备份数据库在对主数据中的数据进行备份时,可以采用全量备份的方式,也可以采用增量备份的方式,本申请实施例不做限定。例如,如图1所示,服务器1、服务器2和服务器3可以根据数据库部署指令,采用主从复制策略部署数据库,将服务器3中的数据库设置为主数据库,并将服务器1和服务器2中的数据库设置为备份数据库。其中,备份数据库可以根据预设的备份周期,周期性的将主数据库中的数据备份至备份数据库中。
主服务器中的API网关接收到用户终端发送的API请求后,可以代理该用户终端向权限系统发送鉴权请求。其中,该鉴权请求中携带有该用户终端对应的账号和密码。权限系统接收到鉴权请求后,可以根据该鉴权请求中携带的账号和密码对该用户终端进行鉴权。如果鉴权成功,则鉴权系统可以生成该用户终端对应的身份认证令牌(token),也即鉴权信息,并向主服务器中的API网关发送鉴权成功响应。其中,该鉴权成功响应中携带有该用户终端对应的token。主服务器中的API网关接收到鉴权成功响应后,可以向用户终端转发该鉴权成功响应,并将该用户终端对应的token存储至主数据库中。后续,当主服务器中的API网关接收到该用户终端发送的携带有token的API请求时,可以直接根据主数据库中存储的该用户终端对应的token对用户终端进行鉴权。备份数据库可以根据预设的备份周期,将主数据库中存储的该用户终端对应的token备份至备份数据库中。需要说明的是,上述部署步骤一至部署步骤四不分先后顺序。
本申请实施例中,当主服务器发生故障时,备份服务器可以选举出新的主服务器,用于处理用户终端发送的API请求。具体处理过程为:至少一个备份服务器,用于当检测到主服务器发生故障时,根据预设的第一选举规则,在至少一个备份服务器中确定目标备份服务器,作为新的主服务器。新的主服务器,用于接收用户终端发送的目的地址为虚拟IP地址的API请求,并对API请求进行处理。
在实施中,当主服务器发生故障(比如宕机和掉电)时,为了保证备份服务器能够选举出新的主服务器,每个备份服务器的保活服务模块中可以预先存储有第一选举规则和该备份服务器对应的优先级。该第一选举规则和优先级可以由技术人员进行设置。另外,当主服务器故障恢复后,为了保证主服务器后续可以被重新选举为主服务器,该主服务器的保活服务模块中也可以预先存储有该第一选举规则和该主服务器对应的优先级。当备份服务器中的保活服务模块检测到主服务器发生故障时,备份服务器中的保活服务模块可以根据预设的第一选举规则和各备份服务器的优先级,在各备份服务器中确定优先级最高的目标备份服务器,作为新的主服务器。此时,新的主服务器为虚拟IP地址的拥有者。这样,当用户终端需要请求API业务服务时,用户终端可以发送目的地址为虚拟IP地址的API请求。新的主服务器接收到该API请求后,可以对该API请求进行处理,从而保证API业务系统的高可用性。另外,由于新的主服务器为虚拟IP地址的拥有者,因此,主备服务器进行切换后,用户终端无需发送目的地址为新的主服务器的IP地址的API请求,仍然可以发送目的地址为虚拟IP地址的API请求,从而保证用户对主备服务器的切换无感知。其中,备份服务器根据预设的第一选举规则在各备份服务器中确定目标备份服务器作为新的主服务器的处理过程后续会进行详细介绍。
作为一种可选地实施方式,多个服务器中部署有备份数据库的服务器,还用于当检测到部署有主数据库的服务器发生故障时,根据预设的第二选举规则,在部署有备份数据库的服务器中确定目标服务器,并将目标服务器中部署的备份数据库作为新的主数据库。
在实施中,各服务器的数据库中可以预选存储有第二选举规则和各数据库对应的优先级。该第二选举规则和优先级可以由技术人员根据经验进行设置。当部署有备份数据库的服务器检测到部署有主数据库的服务器发生故障时,可以根据预设的第二选举规则和各备份数据库的优先级,在部署有备份数据库的服务器中确定目标服务器,并将目标服务器中部署的备份数据库作为新的主数据库。由于备份数据库和主数据中的数据保持一致,因此,当部署有主数据库的服务器发生故障时,主服务器中的API网关接收到用户终端发送的携带有token的API请求时,可以直接根据新的主数据库中存储的该用户终端对应的token对用户终端进行鉴权。
本申请实施例还提供了一种主备切换的方法,该方法可以应用于上述API业务系统中的第一备份服务器,该第一备份服务器上配置有与主服务器相同的虚拟IP地址,如图2所示,具体的处理过程如下:
步骤201,当检测到主服务器发生故障时,根据预设的第一选举规则,判断本设备是否为新的主服务器。
在实施中,当主服务器发生故障时,为了保证备份服务器可以重新选举出新的主服务器,每个备份服务器的保活服务模块中可以预先存储有第一选举规则和备份服务器对应的优先级。该第一选举规则和优先级可以由技术人员进行设置。另外,当主服务器故障恢复后,为了保证主服务器在后续可以被重新选举为主服务器,该主服务器的保活服务模块中也可以预先存储有该第一选举规则和主服务器对应的优先级。当第一备份服务器中的保活服务模块检测到主服务器发生故障时,可以根据预设的第一选举规则和各备份服务器的优先级,判断本服务器是否为新的主服务器。其中,第一备份服务器中的保活服务模块根据预设的第一选举规则和各备份服务器的优先级,判断本服务器是否为新的主服务器的处理过程如下:
步骤一,接收第二备份服务器发送的第二通告消息。
其中,第二通告消息中携带有第二备份服务器对应的第二优先级,第二通告消息为第二备份服务器在预设时长内未接收到主服务器发送的通告消息时发送的。
在实施中,备份服务器中可以预先存储有预设时长。该预设时长可以由技术人员根据经验进行设置。当主服务器正常工作时,主服务器的保活服务模块可以根据预设的通告周期,周期性的通过组播方式向各备份服务器的保活服务模块发送通告消息。其中,该通告消息中携带有主服务器对应的优先级。如果备份服务器的保活服务模块在预设时长内接收到该通告消息,则可以判定主服务器工作正常。如果某一备份服务器(以下称为第二备份服务器)的保活服务模块在预设时长内未接收到该通告消息,则可以判定主服务器发生故障。此时,该第二备份服务器的保活服务模块可以将配置文件中的设备状态设置为主状态(即第二备份服务器切换至主服务器),并通过组播方式向其他备份服务器的保活服务模块发送第二通告消息。其中,该第二通告消息中携带有第二备份服务器对应的第二优先级。其他备份服务器中的任一备份服务器(以下称为第一备份服务器)的保活服务模块接收到该第二通告消息后,可以对该第二通告消息进行解析,得到该第二通告消息中携带的第二优先级。可以理解的是,第二备份服务器是未接收到主服务器的通告消息的时长首先达到预设时长(每个备份服务器可单独设定预设时长,但通常情况下为默认值)的备份服务器,当第二备份服务器切换为主服务器并发送第二通告消息后,其他备份服务器就会把第二通告消息看作主服务器的通告消息。
第一备份服务器的保活服务模块得到第二通告消息中携带的第二优先级后,可以进一步判断第一备份服务器对应的第一优先级是否大于第二优先级。如果第一优先级大于第二优先级,则执行步骤二。如果第一优先级小于或等于第二优先级,则执行步骤三。
需要说明的是,对于第一优先级等于第二优先级的情况,作为一种可选地实施方式,第一备份服务器还可以进一步判断第一备份服务器的IP地址是否大于第二备份服务器的IP地址(即第二通告消息的源IP地址),如果第一备份服务器的IP地址大于第二备份服务器的IP地址,则执行步骤二。如果第一备份服务器的IP地址小于第二备份服务器的IP地址,则执行步骤三。
步骤二,将本设备的设备状态设置为主状态,并向其他备份服务器发送第一通告消息。
其中,第一通告消息中携带有第一备份服务器对应的第一优先级,以使第二备份服务器接收到第一通告消息后,将第二备份服务器的设备状态设置为备份状态。
在实施中,如果第一优先级大于第二优先级,则第一备份服务器的保活服务模块可以将配置文件中的设备状态设置为主状态(即第一备份服务器切换至主服务器),并通过组播方式向其他备份服务器的保活服务模块发送第一通告消息。其中,该第一通告消息中携带有第一备份服务器对应的第一优先级。这样,第二备份服务器的保活服务模块接收到第一通告消息后,可以判定第二优先级小于第一优先级,从而将配置文件中的设备状态设置为备份状态。
对于除第一备份服务器和第二备份服务器以外的备份服务器(以下称为第三备份服务器),在接收到第一通告消息后,可以判断第三备份服务器对应的第三优先级是否大于第一优先级。如果第三优先级大于第一优先级,则第三备份服务器通过组播的方式发送携带有第三优先级的第三通告消息。这样,第一备份设备接收到第三通告消息后,第一备份设备可以判定第一优先级小于第三优先级,并执行步骤三。
步骤三,将本设备的设备状态设置为备份状态。
在实施中,如果第一优先级小于或等于第二优先级,则第一备份服务器的保活服务模块将配置文件中的设备状态设置为备份状态,以继续接收主服务器的保活服务模块发送的通告消息。
步骤202,如果本设备为新的主服务器,则接收用户终端发送的目的地址为虚拟IP地址的API请求,并对API请求进行处理。
在实施中,如果第一备份服务器的优先级最高,则第一备份服务器被选举为新的主服务器。此时,新的主服务器为虚拟IP地址的拥有者。这样,当用户终端需要请求API业务服务时,用户终端可以发送目的地址为虚拟IP地址的API请求。新的主服务器接收到该API请求后,可以对该API请求进行处理,从而保证API业务系统的高可用性。另外,由于新的主服务器为虚拟IP地址的拥有者,因此,主备服务器进行切换后,用户终端无需发送目的地址为新的主服务器的IP地址的API请求,仍然可以发送目的地址为虚拟IP地址的API请求,从而保证用户对主备服务器的切换无感知。
作为一种可选地实施方式,第一备份服务器上部署有备份数据库。当达到预设的备份周期时,该备份数据库将主数据库中的数据备份至备份数据库。当检测到部署有主数据库的服务器发生故障时,根据预设的第二选举规则,在部署有备份数据库的服务器中的确定目标服务器,并将目标服务器中部署的数据库作为新的主数据库。
在实施中,主服务器中的API网关接收到用户终端发送的API请求后,可以代理该用户终端向权限系统发送鉴权请求。其中,该鉴权请求中携带有该用户终端对应的账号和密码。权限系统接收到鉴权请求后,可以根据该鉴权请求中携带的账号和密码对该用户终端进行鉴权。如果鉴权成功,则鉴权系统可以生成该用户终端对应的身份认证令牌(token),也即鉴权信息,并向主服务器中的API网关发送鉴权成功响应。其中,该鉴权成功响应中携带有该用户终端对应的token。主服务器中的API网关接收到鉴权成功响应后,可以向用户终端转发该鉴权成功响应,并将该用户终端对应的token存储至主数据库中。后续,当主服务器种的API网关接收到该用户终端发送的携带有token的API请求时,可以直接根据主数据库中存储的该用户终端对应的token对用户终端进行鉴权。备份数据库可以根据预设的备份周期,将主数据库中存储的该用户终端对应的token备份至备份数据库中。
当部署有主数据库的服务器发生故障时,为了保证各服务器的数据库中可以预选存储有第二选举规则和各数据库对应的优先级。该第二选举规则和优先级可以由技术人员根据经验进行设置。当部署有备份数据库的服务器检测到部署有主数据库的服务器发生故障时,可以根据预设的第二选举规则和各备份数据库的优先级,在部署有备份数据库的服务器中确定目标服务器,并将目标服务器中部署的备份数据库作为新的主数据库。由于备份数据库和主数据中的数据保持一致,因此,当部署有主数据库的服务器发生故障时,主服务器中的API网关接收到用户终端发送的携带有token的API请求时,可以直接根据新的主数据库中存储的该用户终端对应的token对用户终端进行鉴权。
本申请实施例还提供了一种主备切换的装置,所述装置应用于上述API业务系统中的第一备份服务器,所述第一备份服务器上配置有与主服务器相同的虚拟互联网协议IP地址,如图3所示,所述装置包括:
判断模块310,用于当检测到所述主服务器发生故障时,根据预设的第一选举规则,判断本设备是否为新的主服务器;
处理模块320,用于如果本设备为新的主服务器,则接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
作为一种可选地实施方式,所述判断模块310,具体用于:
接收第二备份服务器发送的第二通告消息,所述第二通告消息中携带有所述第二备份服务器对应的第二优先级,所述第二通告消息为所述第二备份服务器在预设时长内未接收到所述主服务器发送的通告消息时发送的;
如果所述第一备份服务器对应的第一优先级大于所述第二优先级,则将本设备的设备状态设置为主状态,并向其他备份服务器发送第一通告消息,所述第一通告消息中携带有所述第一备份服务器对应的第一优先级,以使所述第二备份服务器接收到所述第一通告消息后,将所述第二备份服务器的设备状态设置为备份状态。
作为一种可选地实施方式,所述装置还包括:
设置模块,用于如果所述第一优先级小于或等于所述第二优先级,则将本设备的设备状态设置为备份状态。
作为一种可选地实施方式,所述第一备份服务器上部署有备份数据库,所述装置还包括:
备份模块,用于当达到预设的备份周期时,将主数据库中的数据备份至所述备份数据库;
确定模块,用于当检测到部署有所述主数据库的服务器发生故障时,根据预设的第二选举规则,在部署有备份数据库的服务器中的确定目标服务器,并将所述目标服务器中部署的数据库作为新的主数据库。
本申请实施例还提供了一种计算机设备,如图4所示,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:当检测到所述主服务器发生故障时,根据预设的第一选举规则,判断本设备是否为新的主服务器;如果本设备为新的主服务器,则接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:当检测到所述主服务器发生故障时,根据预设的第一选举规则,判断本设备是否为新的主服务器;如果本设备为新的主服务器,则接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种应用程序编程接口API业务系统,其特征在于,所述API业务系统包括多个部署有API网关的服务器,所述多个服务器包括主服务器和至少一个备份服务器,所述主服务器和所述至少一个备份服务器上配置有相同的虚拟互联网协议IP地址;
所述至少一个备份服务器,用于当检测到所述主服务器发生故障时,根据预设的第一选举规则,在所述至少一个备份服务器中确定目标备份服务器,作为新的主服务器;
所述新的主服务器,用于接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
2.根据权利要求1所述的API业务系统,其特征在于,所述多个服务器中的每个服务器,还用于部署API业务服务。
3.根据权利要求1所述的API业务系统,其特征在于,所述多个服务器的每个服务器,还用于采用主从复制策略部署数据库,其中,所述多个服务器中部署的数据库包括主数据库和至少一个备份数据库,所述至少一个备份数据库中的数据通过备份所述主数据库中的数据得到。
4.根据权利要求3所述的API业务系统,其特征在于,所述多个服务器中部署有备份数据库的服务器,还用于当检测到部署有主数据库的服务器发生故障时,根据预设的第二选举规则,在所述部署有备份数据库的服务器中确定目标服务器,并将所述目标服务器中部署的备份数据库作为新的主数据库。
5.根据权利要求1所述的API业务系统,其特征在于,所述多个服务器中的每个服务器,还用于部署保活服务,并在保活服务的配置文件中配置所述虚拟IP地址。
6.根据权利要求1所述的API业务系统,其特征在于,所述多个服务器中的每个服务器,还用于部署API网关,并在所述API网关的配置文件中配置数据库地址、API业务服务地址和路由规则。
7.一种主备切换的方法,其特征在于,所述方法应用于如权利要求1-6任一所述的应用程序编程接口API业务系统中的第一备份服务器,所述第一备份服务器上配置有与主服务器相同的虚拟互联网协议IP地址,所述方法包括:
当检测到所述主服务器发生故障时,根据预设的第一选举规则,判断本设备是否为新的主服务器;
如果本设备为新的主服务器,则接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
8.根据权利要求7所述的方法,其特征在于,所述根据预设的第一选举规则,判断本设备是否为新的主服务器,包括:
接收第二备份服务器发送的第二通告消息,所述第二通告消息中携带有所述第二备份服务器对应的第二优先级,所述第二通告消息为所述第二备份服务器在预设时长内未接收到所述主服务器发送的通告消息时发送的;
如果所述第一备份服务器对应的第一优先级大于所述第二优先级,则将本设备的设备状态设置为主状态,并向其他备份服务器发送第一通告消息,所述第一通告消息中携带有所述第一备份服务器对应的第一优先级,以使所述第二备份服务器接收到所述第一通告消息后,将所述第二备份服务器的设备状态设置为备份状态。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
如果所述第一优先级小于或等于所述第二优先级,则将本设备的设备状态设置为备份状态。
10.根据权利要求7所述的方法,其特征在于,所述第一备份服务器上部署有备份数据库,所述方法还包括:
当达到预设的备份周期时,将主数据库中的数据备份至所述备份数据库;
当检测到部署有所述主数据库的服务器发生故障时,根据预设的第二选举规则,在部署有备份数据库的服务器中的确定目标服务器,并将所述目标服务器中部署的数据库作为新的主数据库。
11.一种主备切换的装置,其特征在于,所述装置应用于如权利要求1-6任一所述的应用程序编程接口API业务系统中的第一备份服务器,所述第一备份服务器上配置有与主服务器相同的虚拟互联网协议IP地址,所述装置包括:
判断模块,用于当检测到所述主服务器发生故障时,根据预设的第一选举规则,判断本设备是否为新的主服务器;
处理模块,用于如果本设备为新的主服务器,则接收用户终端发送的目的地址为所述虚拟IP地址的API请求,并对所述API请求进行处理。
12.一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求7至10中任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求7至10中任一项所述的方法的步骤。
CN201910677098.7A 2019-07-25 2019-07-25 Api业务系统、主备切换的方法及装置 Active CN110474797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910677098.7A CN110474797B (zh) 2019-07-25 2019-07-25 Api业务系统、主备切换的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910677098.7A CN110474797B (zh) 2019-07-25 2019-07-25 Api业务系统、主备切换的方法及装置

Publications (2)

Publication Number Publication Date
CN110474797A true CN110474797A (zh) 2019-11-19
CN110474797B CN110474797B (zh) 2022-07-26

Family

ID=68508265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910677098.7A Active CN110474797B (zh) 2019-07-25 2019-07-25 Api业务系统、主备切换的方法及装置

Country Status (1)

Country Link
CN (1) CN110474797B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111245641A (zh) * 2019-12-27 2020-06-05 广东睿江云计算股份有限公司 一种云主机cpu与内存修改的方法
CN111277373A (zh) * 2020-01-14 2020-06-12 深圳震有科技股份有限公司 一种服务器切换的控制方法、终端及存储介质
CN111291063A (zh) * 2020-01-21 2020-06-16 深圳华锐金融技术股份有限公司 主备副本选举方法、系统、计算机设备和存储介质
CN111464362A (zh) * 2020-04-08 2020-07-28 上海晨驭信息科技有限公司 一种用于服务器一主多备自动切换的系统
CN111770068A (zh) * 2020-06-15 2020-10-13 上海翌旭网络科技有限公司 一种基于最优链路选择的一致性鉴权方法
CN112532452A (zh) * 2020-11-30 2021-03-19 厦门亿联网络技术股份有限公司 通信终端主备服务器的切换方法、装置、设备及存储介质
CN112702206A (zh) * 2020-12-25 2021-04-23 珠海金山网络游戏科技有限公司 一种主备集群部署方法及系统
CN113556373A (zh) * 2020-04-26 2021-10-26 华为技术有限公司 一种代理服务方法、装置及系统
CN113746951A (zh) * 2021-09-10 2021-12-03 成都高新愿景数字科技有限公司 一种防止keepalive虚拟IP丢失的方法
CN114143370A (zh) * 2021-11-23 2022-03-04 浙江大华技术股份有限公司 终端设备的接入方法及装置、存储介质、电子装置
CN114244690A (zh) * 2021-12-30 2022-03-25 深圳市潮流网络技术有限公司 故障处理方法、装置、网络设备和存储介质
CN114513490A (zh) * 2020-10-23 2022-05-17 北京旷视科技有限公司 一种视图库集群

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1423197A (zh) * 2002-12-16 2003-06-11 华中科技大学 基于多tcp连接映像的高可用系统
CN102355371A (zh) * 2011-10-08 2012-02-15 广东威创视讯科技股份有限公司 一种拼接墙控制系统双机热冗余的实现方法
CN102945195A (zh) * 2012-11-26 2013-02-27 国电南瑞科技股份有限公司 一种基于SQLite数据库的主备冗余复制方法
US20140207818A1 (en) * 2013-01-22 2014-07-24 Go Daddy Operating Company, LLC Configuring an origin server content delivery using a pulled data list
CN105577780A (zh) * 2015-12-21 2016-05-11 武汉理工大学 一种基于微服务的高校教学云平台
CN106453614A (zh) * 2016-11-11 2017-02-22 郑州云海信息技术有限公司 一种云操作系统及其访问方法
CN106464742A (zh) * 2015-05-12 2017-02-22 环球互连及数据中心公司 用于基于云的服务交换的可编程网络平台
CN106464736A (zh) * 2014-10-30 2017-02-22 环球互连及数据中心公司 用于基于云的服务交换的实时配置和管理的互连平台
CN106982259A (zh) * 2017-04-19 2017-07-25 聚好看科技股份有限公司 服务器集群的故障解决方法
CN106993037A (zh) * 2017-03-31 2017-07-28 山东超越数控电子有限公司 一种基于分布式系统的负载均衡服务器实现高可用性的方法
CN108475251A (zh) * 2016-01-22 2018-08-31 环球互连及数据中心公司 针对容器的虚拟网络、热交换、热缩放与灾难恢复
CN109344014A (zh) * 2018-09-26 2019-02-15 新华三大数据技术有限公司 一种主备切换方法、装置及通信设备
CN109698757A (zh) * 2017-10-20 2019-04-30 中兴通讯股份有限公司 切换主备设备、恢复用户数据的方法、服务器及网络设备
CN109716729A (zh) * 2016-06-14 2019-05-03 希尔戴克斯网络股份有限公司 动态的基于负载的自动缩放网络安全微服务架构

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1423197A (zh) * 2002-12-16 2003-06-11 华中科技大学 基于多tcp连接映像的高可用系统
CN102355371A (zh) * 2011-10-08 2012-02-15 广东威创视讯科技股份有限公司 一种拼接墙控制系统双机热冗余的实现方法
CN102945195A (zh) * 2012-11-26 2013-02-27 国电南瑞科技股份有限公司 一种基于SQLite数据库的主备冗余复制方法
US20140207818A1 (en) * 2013-01-22 2014-07-24 Go Daddy Operating Company, LLC Configuring an origin server content delivery using a pulled data list
CN106464736A (zh) * 2014-10-30 2017-02-22 环球互连及数据中心公司 用于基于云的服务交换的实时配置和管理的互连平台
CN106464742A (zh) * 2015-05-12 2017-02-22 环球互连及数据中心公司 用于基于云的服务交换的可编程网络平台
CN105577780A (zh) * 2015-12-21 2016-05-11 武汉理工大学 一种基于微服务的高校教学云平台
CN108475251A (zh) * 2016-01-22 2018-08-31 环球互连及数据中心公司 针对容器的虚拟网络、热交换、热缩放与灾难恢复
CN109716729A (zh) * 2016-06-14 2019-05-03 希尔戴克斯网络股份有限公司 动态的基于负载的自动缩放网络安全微服务架构
CN106453614A (zh) * 2016-11-11 2017-02-22 郑州云海信息技术有限公司 一种云操作系统及其访问方法
CN106993037A (zh) * 2017-03-31 2017-07-28 山东超越数控电子有限公司 一种基于分布式系统的负载均衡服务器实现高可用性的方法
CN106982259A (zh) * 2017-04-19 2017-07-25 聚好看科技股份有限公司 服务器集群的故障解决方法
CN109698757A (zh) * 2017-10-20 2019-04-30 中兴通讯股份有限公司 切换主备设备、恢复用户数据的方法、服务器及网络设备
CN109344014A (zh) * 2018-09-26 2019-02-15 新华三大数据技术有限公司 一种主备切换方法、装置及通信设备

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111245641A (zh) * 2019-12-27 2020-06-05 广东睿江云计算股份有限公司 一种云主机cpu与内存修改的方法
CN111277373A (zh) * 2020-01-14 2020-06-12 深圳震有科技股份有限公司 一种服务器切换的控制方法、终端及存储介质
CN111277373B (zh) * 2020-01-14 2022-08-16 深圳震有科技股份有限公司 一种服务器切换的控制方法、终端及存储介质
CN111291063A (zh) * 2020-01-21 2020-06-16 深圳华锐金融技术股份有限公司 主备副本选举方法、系统、计算机设备和存储介质
CN111464362A (zh) * 2020-04-08 2020-07-28 上海晨驭信息科技有限公司 一种用于服务器一主多备自动切换的系统
CN113556373A (zh) * 2020-04-26 2021-10-26 华为技术有限公司 一种代理服务方法、装置及系统
CN111770068A (zh) * 2020-06-15 2020-10-13 上海翌旭网络科技有限公司 一种基于最优链路选择的一致性鉴权方法
CN114513490A (zh) * 2020-10-23 2022-05-17 北京旷视科技有限公司 一种视图库集群
CN112532452A (zh) * 2020-11-30 2021-03-19 厦门亿联网络技术股份有限公司 通信终端主备服务器的切换方法、装置、设备及存储介质
CN112532452B (zh) * 2020-11-30 2023-10-31 厦门亿联网络技术股份有限公司 通信终端主备服务器的切换方法、装置、设备及存储介质
CN112702206A (zh) * 2020-12-25 2021-04-23 珠海金山网络游戏科技有限公司 一种主备集群部署方法及系统
CN112702206B (zh) * 2020-12-25 2023-03-24 珠海金山数字网络科技有限公司 一种主备集群部署方法及系统
CN113746951A (zh) * 2021-09-10 2021-12-03 成都高新愿景数字科技有限公司 一种防止keepalive虚拟IP丢失的方法
CN113746951B (zh) * 2021-09-10 2023-07-11 成都高新愿景数字科技有限公司 一种防止keepalive虚拟IP丢失的方法
CN114143370A (zh) * 2021-11-23 2022-03-04 浙江大华技术股份有限公司 终端设备的接入方法及装置、存储介质、电子装置
CN114244690A (zh) * 2021-12-30 2022-03-25 深圳市潮流网络技术有限公司 故障处理方法、装置、网络设备和存储介质

Also Published As

Publication number Publication date
CN110474797B (zh) 2022-07-26

Similar Documents

Publication Publication Date Title
CN110474797A (zh) Api业务系统、主备切换的方法及装置
US10148536B2 (en) Fast detection and remediation of unmanaged assets
CN111049696B (zh) 用于区块链系统的节点管理的方法、节点和计算设备
CN110602169B (zh) 服务调用方法、装置、计算机设备和存储介质
CN111046110B (zh) 用于区块链系统的节点管理的方法、节点和计算设备
CN106506354B (zh) 一种报文传输方法和装置
JP6230322B2 (ja) 通信装置、鍵共有方法、プログラムおよび通信システム
CN108173911A (zh) 一种微服务故障检测处理方法及装置
CN111211911B (zh) 一种协同签名方法、装置、设备及系统
CN113612614B (zh) 基于区块链网络的共识容灾方法、装置、设备和存储介质
CN109842686B (zh) 一种实现跨区域集群调度的负载均衡系统
CN111614548A (zh) 消息推送方法、装置、计算机设备和存储介质
CN109981739A (zh) 基于区块链的会话数据处理方法、装置、设备及介质
CN116366652A (zh) 分布式应用运维方法、系统、装置、服务器及网关设备
CN110769482B (zh) 无线设备进行网络连接的方法、装置和无线路由器设备
CN109831521B (zh) 缓存实例管理方法、装置、计算机设备和存储介质
CN111260475A (zh) 一种数据处理方法、区块链节点设备及存储介质
CN110457971B (zh) 重复识别码信息的检测方法和装置
CN108366087B (zh) 一种基于分布式文件系统的iscsi服务实现方法和装置
CN105591811B (zh) 一种lisp中映射服务器重启恢复方法及装置
CN101707535B (zh) 检测仿冒网络设备的方法和装置
JP7480434B2 (ja) スマートカード管理装置の分散管理システム及び管理方法
CN110768886B (zh) 应用程序自动连接vpn方法、装置、计算机设备和介质
CN113014545B (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN106921503B (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