CN114726764A - 一种业务服务灾备方法及系统 - Google Patents

一种业务服务灾备方法及系统 Download PDF

Info

Publication number
CN114726764A
CN114726764A CN202210637686.XA CN202210637686A CN114726764A CN 114726764 A CN114726764 A CN 114726764A CN 202210637686 A CN202210637686 A CN 202210637686A CN 114726764 A CN114726764 A CN 114726764A
Authority
CN
China
Prior art keywords
list
instance
end instance
configuration information
available
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.)
Pending
Application number
CN202210637686.XA
Other languages
English (en)
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.)
Guangdong Xunwei Information Industry Co ltd
Original Assignee
Guangdong Xunwei Information Industry 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 Guangdong Xunwei Information Industry Co ltd filed Critical Guangdong Xunwei Information Industry Co ltd
Priority to CN202210637686.XA priority Critical patent/CN114726764A/zh
Publication of CN114726764A publication Critical patent/CN114726764A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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

Abstract

本发明涉及资源调度技术领域,提出一种业务服务灾备方法及系统,其中包括以下步骤:服务中心对所有后端实例进行定时通信,根据服务中心是否接收到后端实例返回的心跳消息判断各个后端实例是否可用:若为可用,则将该后端实例的配置信息更新至第一列表中;否则,将该后端实例的配置信息从第一列表中删除;当在预设的周期时间内第一列表移除的后端实例配置信息大于预设的第一阈值时,在当前周期内维持上一周期的第一列表不作更新;当接收到用户端发出的请求时,从所述第一列表中选择一个可用后端实例处理用户请求。本发明能够有效避免由于网络问题导致无法有效监听进程和服务状态,避免影响用户的业务处理效率。

Description

一种业务服务灾备方法及系统
技术领域
本发明涉及资源调度技术领域,更具体地,涉及一种业务服务灾备方法及系统。
背景技术
业务服务的灾备方案一直是业务系统乃至运维工作的核心,它的稳定性和可靠性,决定了业务系统的服务质量。
目前的业务服务灾备方案主要采取进程和服务状态监听的方式或手工检查来处理,通过检测进程是否运行中、系统服务状态是否为启动中等,在一定程度上规避业务风险。具体地,通过实时判断后端实例的服务是否可用,并将后端实例的服务状态更新至共享内存中存储的服务可用性列表,然后将更新后的服务可用性列表写入各负载均衡装置的配置文件。当接收到用户请求时,根据服务可用性列表选择一个可用后端实例处理用户请求。
但在实际运行过程中,存在由于网络问题导致无法有效监听进程和服务状态,在网络频繁抖动时,大量后端实例被移出可用列表,此时缺少能够处理用户请求的后端实例,剩余可用实例难以承受所有的调用,进而导致无法合理分配后端实例资源,影响用户的业务处理效率,甚至波及整个业务系统的正常运转。
发明内容
本发明为克服由于网络问题导致无法有效监听进程和服务状态,导致影响用户的业务处理效率的缺陷,提供一种业务服务灾备方法及系统。
为解决上述技术问题,本发明的技术方案如下:
一种业务服务灾备方法,包括以下步骤:
服务中心对所有后端实例进行定时通信,根据服务中心是否接收到后端实例返回的心跳消息判断各个后端实例是否可用:若为可用,则将该后端实例的配置信息更新至第一列表中;否则,将该后端实例的配置信息从第一列表中删除;
当在预设的周期时间内第一列表移除的后端实例配置信息大于预设的第一阈值时,在当前周期内维持上一周期的第一列表不作更新;
当接收到用户端发出的请求时,从所述第一列表中选择一个可用后端实例处理用户请求。
作为优选方案,所述服务中心对所有后端实例进行定时通信,根据服务中心是否接收到后端实例返回的心跳消息判断各个后端实例是否可用的步骤包括:任一后端实例启动后向服务中心发送心跳消息,并推送其配置信息;若服务中心接收到心跳消息,则表示服务中心与后端实例间的网络通信良好;若服务中心在预设的时间阈值内未接收到心跳消息,则判断该后端实例不可用;对于网络通信良好的后端实例,调用后端实例执行健康检查:若检查结果正常,则判断该后端实例可用,并将其配置信息更新至第一列表中;若检查结果异常,则判断该后端实例不可用,并将其配置信息从第一列表中删除;其中,所述健康检查包括心跳检测、接口调用检测、TCP连接探测中的一种或多种。
作为优选方案,所述健康检查还包括后端实例自检;其中,任一后端实例根据其与数据库连接状态、与redis缓存服务的连接状态、内存状态信息、线程池信息、HTTP请求统计、是否发生OOM中的一种或多种指标进行后端实例自检。
作为优选方案,所述配置信息包括IP、Port和负载率;其中负载率根据后端实例峰值每分钟处理的作业数、作业上传下载的复杂程度比例、未来作业数量增长率和CPU处理余量计算得到;其表达式如下:
TPC-C = ((TASK×80%) / T S×F/C
式中,TPC-C表示负载率,TASK表示典型工作日平均业务总量,S表示实际业务的复杂程度比例,F表示未来业务增长的冗余预留,T表示典型工作日业务峰值持续时间,C表示CPU利用率估计值。
作为优选方案,本发明还包括以下步骤:从所述第一列表中选择一个可用后端实例处理用户请求后,用户端与该可用后端实例连接;当用户端连接所述可用后端实例时在预设的时间阈值内连续连接失败次数大于预设的第二阈值时,从所述第一列表中选择另一可用后端实例处理用户请求。
作为优选方案,本发明还包括以下步骤:当判断后端实例不可用时,将所述后端实例的配置信息从第一列表中删除,并将所述后端实例的配置信息更新至第二列表;定时对第二列表中的后端实例进行复查,判断各个后端实例是否可用:若为可用,则将所述后端实例的配置信息更新至第一列表中,并将所述后端实例的配置信息从第二列表中删除;否则,保留所述后端实例的配置信息。
进一步地,本发明还提出了一种业务服务灾备系统,应用上述任一技术方案提出的业务服务灾备方法。其中包括:
可用性判断模块,用于对所有后端实例进行定时通信,根据是否接收到后端实例返回的心跳消息判断各个后端实例是否可用。
列表更新模块,用于根据可用性判断模块输出的判断结果,对第一列表数据进行更新;其中,若所述可用性判断模块输出后端实例可用的判断结果时,则将该后端实例的配置信息更新至第一列表中;若所述可用性判断模块输出后端实例不可用的判断结果时,则将该后端实例的配置信息从第一列表中删除。
后端实例调用模块,用于接收用户端发出的请求后,根据所述列表更新模块生成的第一列表,从所述第一列表中选择一个可用后端实例处理用户请求。
作为优选方案,所述可用性判断模块中包括:
心跳检测单元,用于对后端实例通信,根据是否接收到后端实例返回的心跳消息进行判断:若心跳检测单元在周期时间内接收到后端实例发送的心跳消息,则输出通信良好的检测结果,并调用接口调用检测单元和自检单元;否则输出后端实例不可用的检测结果。
接口调用检测单元,用于对后端实例发起接口调用请求,根据后端实例是否成功调用接口进行判断:当连续调用失败次数达到预设的第二阈值时,则输出后端实例不可用的检测结果;当连续调用成功次数达到2次,则输出后端实例可用的检测结果。
自检单元,用于向后端实例发送自检请求,所述后端实例根据其与数据库连接状态、与redis缓存服务的连接状态、内存状态信息、线程池信息、HTTP请求统计、是否发生OOM中的一种或多种指标进行后端实例自检,并将自检结果反馈到所述自检单元中进行分析。
作为优选方案,所述列表更新模块中还设置有第二列表;当所述可用性判断模块输出后端实例不可用的判断结果时,所述列表更新模块将所述后端实例的配置信息从第一列表中删除,并将所述后端实例的配置信息更新至第二列表。
所述可用性判断模块定时对第二列表中的后端实例进行可用性复查,判断各个后端实例是否可用:若为可用,则将所述后端实例的配置信息更新至第一列表中,并将所述后端实例的配置信息从第二列表中删除;否则,保留所述后端实例的配置信息。
进一步地,本发明还提出了一种业务服务灾备设备,其包括至少一个处理器,以及与所述处理器连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明的业务服务灾备方法。
与现有技术相比,本发明技术方案的有益效果是:本发明通过对所有后端实例进行周期性的可用性检测工作,对一检测周期内判断为不可用的后端实例大于一定值的情况判断为可能存在网络抖动,此时沿用上一周期的可用后端实例进行用户端请求处理,能够避免由于网络问题导致无法有效监听进程和服务状态,避免影响用户的业务处理效率和业务服务的良好运转。
附图说明
图1为实施例1的业务服务灾备方法的流程图。
图2为实施例2的业务服务灾备方法的流程图。
图3为实施例2的工作机制示意图。
图4为实施例3的业务服务灾备系统的架构图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
对于本领域技术人员来说,附图中某些公知技术及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本发明提出一种业务服务灾备方法,如图1所示,为本实施例的业务服务灾备方法的流程图。
本实施例提出的业务服务灾备方法中,包括以下步骤:
S1、服务中心对所有后端实例进行定时通信,根据服务中心是否接收到后端实例返回的心跳消息判断各个后端实例是否可用:若为可用,则将该后端实例的配置信息更新至第一列表中;否则,将该后端实例的配置信息从第一列表中删除。
当在预设的周期时间内第一列表移除的后端实例配置信息大于预设的第一阈值时,在当前周期内维持上一周期的第一列表不作更新。
S2、当接收到用户端发出的请求时,从所述第一列表中选择一个可用后端实例处理用户请求。
本实施例中,通过服务中心对所有后端实例进行定时通信,对所有后端实例进行周期性的可用性检测工作。其中,根据服务中心是否接收到后端实例返回的心跳消息判断各个后端实例是否可用,若服务中心接收到心跳消息,则表示服务中心与后端实例间的网络通信良好;若服务中心在预设的时间阈值内未接收到心跳消息,则判断该后端实例不可用。对于当前周期内判断为不可用的后端实例大于预设的阈值时,判断可能存在网络抖动,此时沿用上一周期的可用后端实例进行用户端请求处理,能够避免由于网络问题导致无法有效监听进程和服务状态,避免影响用户的业务处理效率和业务服务的良好运转。
在一可选实施例中,所述配置信息包括IP、Port和负载率;其中负载率根据后端实例峰值每分钟处理的作业数、作业上传下载的复杂程度比例、未来作业数量增长率和CPU处理余量计算得到。
其中,本实施例采用TPC-C值表示负载率,其表达式如下:
TPC-C = ((TASK×80%) / T S×F/C
式中,TASK表示典型工作日平均业务提交总量,指的是应用系统需要处理的用户业务请求的总和。
(TASK ×80%)表示假设典型工作日80%的业务上传下载集中在高峰时段。
则(TASK ×80%)/T表示应用系统峰值每分钟处理的作业数。T表示典型工作日上传峰值持续时间(单位:分钟)。
S表示实际业务操作相对于标准TPC-C测试基准环境上传下载的复杂程度比例。
F表示未来业务增长的冗余预留。
C表示CPU利用率估计值。实际应用经验表明,服务器的CPU利用率高于80%则表明CPU的利用率过高会产生系统瓶颈,而利用率处于75%时,是处于利用率最佳状态。此值一般设定为C=75%。
本实施例中,当系统当前TPC-C值> TPC-C = ((TASK×80%) / T S×F/C时,代表当前后端实例为负载状态。
进一步地,根据后端实例的负载率对第一列表中的后端实例由小至大进行排序。在选择可用后端实例处理用户请求时,按照排序分配后端实例。
本实施例中,根据实际业务的冗余情况及过往的经验设置第一阈值,例如服务中心在一周期时间内不能移除20%左右的实例,用于避免在网络发生抖动或实例要大批量下线时导致剩余可用实例难以承受所有的调用,影响用户的业务处理效率和业务服务的良好运转。
实施例2
本实施例在实施例1提出的业务服务灾备方法的基础上作出改进。如图2所示,为本实施例的业务服务灾备方法的流程图。
本实施例提出的业务服务灾备方法中,包括以下步骤:
S1、服务中心对所有后端实例进行定时通信,根据服务中心是否接收到后端实例返回的心跳消息判断各个后端实例是否可用:若为可用,则将该后端实例的配置信息更新至第一列表中;否则,将该后端实例的配置信息从第一列表中删除。
当在预设的周期时间内第一列表移除的后端实例配置信息大于预设的第一阈值时,在当前周期内维持上一周期的第一列表不作更新。
S2、当接收到用户端发出的请求时,从所述第一列表中选择一个可用后端实例处理用户请求。
其中配置信息包括IP、Port和负载率。
进一步地,本实施例中对所有后端实例进行定时通信,判断各个后端实例是否可用的步骤包括:
任一后端实例启动后向服务中心发送心跳消息,并推送其配置信息;若服务中心接收到心跳消息,则表示服务中心与后端实例间的网络通信良好;若服务中心在预设的时间阈值内未接收到心跳消息,则判断该后端实例不可用。
对于网络通信良好的后端实例,服务中心调用后端实例执行健康检查:若检查结果正常,则判断该后端实例可用,并将其配置信息更新至第一列表中;若检查结果异常,则判断该后端实例不可用,并将其配置信息从第一列表中删除。
其中,所述健康检查包括心跳检测、接口调用检测、TCP连接探测中的一种或多种。
心跳检测是定时发送一个自定义的结构体 (心跳包),让对方知道自己还活着,以确保连接的有效性的机制。本实施例中的服务中心通过心跳方式,定时检查后端实例的健康状况。
接口调用检测是由服务中心定时主动向后端实例发起调用接口请求(http://ip:port/check)。
TCP连接探测通过设置keepalive时间或通过Ping.Pong方式进行连接有效性检测。
在一具体实施过程中,如果连续失败次数达到fail=5时,后端实例被认为是宕机。如果连接成功次数达到success=2次,后端实例被认为是就绪健康状态。其中响应状态码须为2XX,才被认为是健康状态。
在一可选实施例中,所述健康检查还包括后端实例自检。
后端实例自检包括对后端实例内部和外部的自检,其中,后端实例根据其与数据库连接状态、与redis缓存服务的连接状态、内存状态信息、线程池信息、HTTP请求统计、是否发生OOM中的一种或多种指标进行后端实例自检。
在一可选实施例中,业务服务灾备方法还包括以下步骤:
从所述第一列表中选择一个可用后端实例处理用户请求后,用户端与该可用后端实例连接。
当用户端连接所述可用后端实例时在预设的时间阈值内连续连接失败次数大于预设的第二阈值时,从所述第一列表中选择另一可用后端实例处理用户请求。
常态下用户端如果连接上某个后端实例后,除非在30秒内,出现fail=5次,才会重新向服务中心获取最新的可用实例列表。
进一步地,当服务中心判断后端实例不可用时,将所述后端实例的配置信息从第一列表中删除,并将所述后端实例的配置信息更新至第二列表。
服务中心定时对第二列表中的后端实例进行复查,判断各个后端实例是否可用:若为可用,则将所述后端实例的配置信息更新至第一列表中,并将所述后端实例的配置信息从第二列表中删除;否则,保留所述后端实例的配置信息。
进一步地,定时将第二列表的后端实例的配置信息发送至运维人员进行定期检修。
本实施例设置有检查机制,服务中心对所有的后端实例进行检查,包含网络层面和应用层面,根据服务一般运行时的CPU占用率、内存占用率、网络使用情况,使用周期性几个方面进行智能识别服务运行健康状况,保证了业务灾备方案的可靠性和安全性。同时,本实施例设置了心跳保护开关设计,通过对一定时间内移除可用后端实例的数量进行判断是否发生网络抖动,当判断为存在网络抖动时,采用上一周期的第一列表进行业务服务提供,用于归避网络抖动时引起的大量可用实例被移除,有效避免影响用户的业务处理效率和业务服务的良好运转。
在一具体实施过程中,本实施例的业务服务灾备方法应用于包括多个用户端、多个业务节点后端实例,以及一个服务中心构成的业务服务系统中。其中,用户端为业务服务的请求方,业务节点后端实例用于处理用户端发出的处理请求。如图3所示,为本实施例的工作机制示意图。
服务中心中的工作机制分为Manager、Worker、Fault等三个工作进程。
其中,服务中心在Manager进程中主要负责维护和检测后端实例的可用性,通过论询的方式,通过Telnet与后端实例通讯并以心跳检测、接口调用检测、TCP连接探测、实例健康检查中的一种或多种方式进行可用性测试,如果后端实例可用,会将后端实例的IP和Port推送到Worker进程,如果后端实例不可用,则将对应的实例IP和port从Worker进程中移除,并放置到Fault进程中。
在Manager进程中,服务中心和后端实例通信,首先后端实例在启动后,会向服务中心推送当前实例的IP和port,且每隔一段时间,汇报心跳包给服务中心,服务中心接收到心跳包后,则表明服务中心到后端实例间的网络通信良好,随后服务中心会判断后端实例的可用性,调用后端实例执行健康检查。如果检查结果均正常,则表明后端实例工作正常,将后端实例信息添加或更新到服务中心的可用列表。如果每隔一段固定时间后,后端服务实例仍未汇报心跳给服务中心,服务中心就会认为该实例已经处于“dead”状态,将从Worker进程可用列表(第一列表)中移除。
Worker进程中设置有第一列表,存储有可用后端实例的配置信息,包括实例的IP、Port和负载率。
Worker进程中的可用后端实例服务器列表。如果检查结果中存在错误的信息或没有接收到检查结果,则表明后端实例存在工作异常的情况,可能无法正常工作,将此后端实例信息添加到Fault进程中,并通过SMS、邮件等方式,将相关检查结果,通知给运维人员。
Fault进程中设置有第二列表,存储有判定为宕机或“dead”状态的后端实例的配置信息,包括实例的IP、Port和负载率。其用于管理当前不可用/故障的后端实例。
Manager进程会定时重新对Fault进程中的后端实例进行检测,一旦发现后端实例恢复到正常,则立即从第二列表中进行移除,并添加到Worker进程(第一列表)中。
当用户发出业务服务请求时,服务中心通过Worker进程调用可用后端实例供用户使用。当存在调用后端实例为异常状态时,服务中心通过Worker进程重新调用可用后端实例。
实施例3
本实施例提出一种业务服务灾备系统,应用上述实施例1或实施例2提出的业务服务灾备方法。如图4所示,为本实施例的业务服务灾备系统的架构图。
本实施例提出的业务服务灾备系统中,包括:
可用性判断模块100,用于对所有后端实例进行定时通信,根据是否接收到后端实例返回的心跳消息判断各个后端实例是否可用。
列表更新模块200,用于根据可用性判断模块100输出的判断结果,对第一列表数据进行更新;其中,若所述可用性判断模块100输出后端实例可用的判断结果时,则将该后端实例的配置信息更新至第一列表中;若所述可用性判断模块100输出后端实例不可用的判断结果时,则将该后端实例的配置信息从第一列表中删除。
后端实例调用模块300,用于接收用户端发出的请求后,根据所述列表更新模块200生成的第一列表,从所述第一列表中选择一个可用后端实例处理用户请求。
本实施例中,后端实例的配置信息包括IP、Port和负载率。其中负载率根据后端实例峰值每分钟处理的作业数、作业上传下载的复杂程度比例、未来作业数量增长率和CPU处理余量计算得到。
本实施例采用TPC-C值表示负载率,其表达式如下:
TPC-C = ((TASK×80%) / T S×F/C
式中,TASK表示典型工作日平均业务总量,S表示实际业务的复杂程度比例,F表示未来业务增长的冗余预留,T表示典型业务峰值持续时间,C表示CPU利用率估计值。
在一可选实施例中,所述可用性判断模块100中包括:
心跳检测单元110,用于对后端实例通信,根据是否接收到后端实例返回的心跳消息进行判断:若心跳检测单元110在周期时间内接收到后端实例发送的心跳消息,则输出通信良好的检测结果,并调用接口调用检测单元120和自检单元130;否则输出后端实例不可用的检测结果。
接口调用检测单元120,用于对后端实例发起接口调用请求,根据后端实例是否成功调用接口进行判断:当连续调用失败次数达到预设的第二阈值时,则输出后端实例不可用的检测结果;当连续调用成功次数达到2次,则输出后端实例可用的检测结果。
自检单元130,用于向后端实例发送自检请求,所述后端实例根据其与数据库连接状态、与redis缓存服务的连接状态、内存状态信息、线程池信息、HTTP请求统计、是否发生OOM中的一种或多种指标进行后端实例自检,并将自检结果反馈到所述自检单元130中进行分析。
在具体实施过程中,任一后端实例启动后向可用性判断模块100推送其配置信息,并汇报心跳消息。可用性判断模块100中的心跳检测单元110根据后端实例是否成功发送的心跳包进行判断,当接收到后端实例发送的心跳包时,则输出通信良好的检测结果,并调用接口调用检测单元120和自检单元130。
接口调用检测单元120对后端实例发起接口调用请求,判断后端实例能否成功调用接口,将判断为可用的后端实例的配置信息推送至列表更新模块200并加入或更新第一列表。
自检单元130对后端实例发起自检请求,后端实例将自检结果反馈到自检单元130中,自检单元130将自检结果为正常的后端实例的配置信息推送至列表更新模块200并加入或更新第一列表。
在一可选实施例中,所述列表更新模块200中还设置有第二列表;当所述可用性判断模块100输出后端实例不可用的判断结果时,所述列表更新模块200将所述后端实例的配置信息从第一列表中删除,并将所述后端实例的配置信息更新至第二列表。
在具体实施过程中,任一后端实例启动后向可用性判断模块100推送其配置信息,并汇报心跳消息。可用性判断模块100中的心跳检测单元110根据后端实例是否成功发送的心跳包进行判断,当心跳检测单元110一定时间内没有接收到后端实例发送的心跳包时,将后端实例的配置信息更新至第二列表。
当心跳检测单元110接收到后端实例发送的心跳包并调用接口调用检测单元120和自检单元130后,接口调用检测单元120对后端实例发起接口调用请求,判断后端实例能否成功调用接口,将连续调用失败次数达到预设的第二阈值的后端实例的配置信息从第一列表中删除,并更新至第二列表。
当心跳检测单元110接收到后端实例发送的心跳包并调用接口调用检测单元120和自检单元130后,自检单元130接收到后端实例的自检反馈为异常时,将该后端实例的配置信息从第一列表中删除,并更新至第二列表。
进一步地,所述可用性判断模块100定时对第二列表中的后端实例进行可用性复查,判断各个后端实例是否可用:若为可用,则将所述后端实例的配置信息更新至第一列表中,并将所述后端实例的配置信息从第二列表中删除;否则,保留所述后端实例的配置信息。
实施例4
本实施例提出一种业务服务灾备设备,包括至少一个处理器,以及与所述处理器连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行实施例1或实施例2提出的业务服务灾备方法。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种业务服务灾备方法,其特征在于,包括以下步骤:
服务中心对所有后端实例进行定时通信,根据服务中心是否接收到后端实例返回的心跳消息判断各个后端实例是否可用:若为可用,则将该后端实例的配置信息更新至第一列表中;否则,将该后端实例的配置信息从第一列表中删除;
当在预设的周期时间内第一列表移除的后端实例配置信息大于预设的第一阈值时,在当前周期内维持上一周期的第一列表不作更新;
当接收到用户端发出的请求时,从所述第一列表中选择一个可用后端实例处理用户请求。
2.根据权利要求1所述的业务服务灾备方法,其特征在于,所述服务中心对所有后端实例进行定时通信,根据服务中心是否接收到后端实例返回的心跳消息判断各个后端实例是否可用的步骤包括:
任一后端实例启动后向服务中心发送心跳消息,并推送其配置信息;若服务中心接收到心跳消息,则表示服务中心与该后端实例间的网络通信良好;若服务中心在预设的时间阈值内未接收到心跳消息,则判断该后端实例不可用;
对于网络通信良好的后端实例,调用后端实例执行健康检查:若检查结果正常,则判断该后端实例可用,并将其配置信息更新至第一列表中;若检查结果异常,则判断该后端实例不可用,并将其配置信息从第一列表中删除;
其中,所述健康检查包括心跳检测、接口调用检测、TCP连接探测中的一种或多种。
3.根据权利要求2所述的业务服务灾备方法,其特征在于,所述健康检查还包括后端实例自检;其中,任一后端实例根据其与数据库连接状态、与redis缓存服务的连接状态、内存状态信息、线程池信息、HTTP请求统计、是否发生OOM中的一种或多种指标进行后端实例自检。
4.根据权利要求1所述的业务服务灾备方法,其特征在于,所述配置信息包括IP、Port和负载率;其中负载率根据后端实例峰值每分钟处理的作业数、作业上传下载的复杂程度比例、未来作业数量增长率和CPU处理余量计算得到;其表达式如下:
TPC-C=((TASK×80%)/T) ×S×F/C
式中,TPC-C表示负载率,TASK表示典型工作日平均业务总量,S表示实际业务的复杂程度比例,F表示未来业务增长的冗余预留,T表示典型工作日业务峰值持续时间,C表示CPU利用率估计值。
5.根据权利要求1所述的业务服务灾备方法,其特征在于,还包括以下步骤:从所述第一列表中选择一个可用后端实例处理用户请求后,用户端与该可用后端实例连接;当用户端连接所述可用后端实例时在预设的时间阈值内连续连接失败次数大于预设的第二阈值时,从所述第一列表中选择另一可用后端实例处理用户请求。
6.根据权利要求1~5任一项所述的业务服务灾备方法,其特征在于,还包括以下步骤:
当判断后端实例不可用时,将所述后端实例的配置信息从第一列表中删除,并将所述后端实例的配置信息更新至第二列表;
定时对第二列表中的后端实例进行复查,判断各个后端实例是否可用:若为可用,则将所述后端实例的配置信息更新至第一列表中,并将所述后端实例的配置信息从第二列表中删除;否则,保留所述后端实例的配置信息。
7.一种业务服务灾备系统,其特征在于,包括:
可用性判断模块,用于对所有后端实例进行定时通信,根据是否接收到后端实例返回的心跳消息判断各个后端实例是否可用;
列表更新模块,用于根据可用性判断模块输出的判断结果,对第一列表数据进行更新;其中,若所述可用性判断模块输出后端实例可用的判断结果时,则将该后端实例的配置信息更新至第一列表中;若所述可用性判断模块输出后端实例不可用的判断结果时,则将该后端实例的配置信息从第一列表中删除;
后端实例调用模块,用于接收用户端发出的请求后,根据所述列表更新模块生成的第一列表,从所述第一列表中选择一个可用后端实例处理用户请求。
8.根据权利要求7所述的业务服务灾备系统,其特征在于,所述可用性判断模块中包括:
心跳检测单元,用于对后端实例通信,根据是否接收到后端实例返回的心跳消息进行判断:若心跳检测单元定时接收到后端实例发送的心跳消息,则输出通信良好的检测结果,并调用接口调用检测单元和自检单元;否则输出后端实例不可用的检测结果;
接口调用检测单元,用于对后端实例发起接口调用请求,根据后端实例是否成功调用接口进行判断:当连续调用失败次数达到预设的第二阈值时,则输出后端实例不可用的检测结果;当连续调用成功次数达到2次,则输出后端实例可用的检测结果;
自检单元,用于向后端实例发送自检请求,所述后端实例根据其与数据库连接状态、与redis缓存服务的连接状态、内存状态信息、线程池信息、HTTP请求统计、是否发生OOM中的一种或多种指标进行后端实例自检,并将自检结果反馈到所述自检单元中进行分析。
9.根据权利要求7所述的业务服务灾备系统,其特征在于,所述列表更新模块中还设置有第二列表;当所述可用性判断模块输出后端实例不可用的判断结果时,所述列表更新模块将所述后端实例的配置信息从第一列表中删除,并将所述后端实例的配置信息更新至第二列表;
所述可用性判断模块定时对第二列表中的后端实例进行可用性复查,判断各个后端实例是否可用:若为可用,则将所述后端实例的配置信息更新至第一列表中,并将所述后端实例的配置信息从第二列表中删除;否则,保留所述后端实例的配置信息。
10.一种业务服务灾备设备,其特征在于,包括至少一个处理器,以及与所述处理器连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的业务服务灾备方法。
CN202210637686.XA 2022-06-08 2022-06-08 一种业务服务灾备方法及系统 Pending CN114726764A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210637686.XA CN114726764A (zh) 2022-06-08 2022-06-08 一种业务服务灾备方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210637686.XA CN114726764A (zh) 2022-06-08 2022-06-08 一种业务服务灾备方法及系统

Publications (1)

Publication Number Publication Date
CN114726764A true CN114726764A (zh) 2022-07-08

Family

ID=82232539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210637686.XA Pending CN114726764A (zh) 2022-06-08 2022-06-08 一种业务服务灾备方法及系统

Country Status (1)

Country Link
CN (1) CN114726764A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373431A (zh) * 2015-10-29 2016-03-02 武汉联影医疗科技有限公司 一种计算机系统资源的管理方法及计算机资源管理系统
CN106686102A (zh) * 2017-01-03 2017-05-17 北京奇虎科技有限公司 一种服务节点的切换方法和装置
CN109842651A (zh) * 2017-11-27 2019-06-04 中国移动通信集团上海有限公司 一种业务不间断的负载均衡方法和系统
CN112653574A (zh) * 2020-12-11 2021-04-13 邦彦技术股份有限公司 基于ims集群应用的业务容灾方法和系统
CN112951385A (zh) * 2021-03-16 2021-06-11 上海市胸科医院 用于pacs影像存储系统的数据访问方法及设备
CN113032223A (zh) * 2021-04-20 2021-06-25 上海哔哩哔哩科技有限公司 服务器状态检测方法及装置
CN114237910A (zh) * 2021-12-23 2022-03-25 中国建设银行股份有限公司 客户端负载均衡实现方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373431A (zh) * 2015-10-29 2016-03-02 武汉联影医疗科技有限公司 一种计算机系统资源的管理方法及计算机资源管理系统
CN106686102A (zh) * 2017-01-03 2017-05-17 北京奇虎科技有限公司 一种服务节点的切换方法和装置
CN109842651A (zh) * 2017-11-27 2019-06-04 中国移动通信集团上海有限公司 一种业务不间断的负载均衡方法和系统
CN112653574A (zh) * 2020-12-11 2021-04-13 邦彦技术股份有限公司 基于ims集群应用的业务容灾方法和系统
CN112951385A (zh) * 2021-03-16 2021-06-11 上海市胸科医院 用于pacs影像存储系统的数据访问方法及设备
CN113032223A (zh) * 2021-04-20 2021-06-25 上海哔哩哔哩科技有限公司 服务器状态检测方法及装置
CN114237910A (zh) * 2021-12-23 2022-03-25 中国建设银行股份有限公司 客户端负载均衡实现方法及装置

Similar Documents

Publication Publication Date Title
US6625648B1 (en) Methods, systems and computer program products for network performance testing through active endpoint pair based testing and passive application monitoring
US20010052087A1 (en) Method and apparatus for monitoring a network environment
US8201016B2 (en) Heartbeat distribution that facilitates recovery in the event of a server failure during a user dialog
US9606880B2 (en) Information processing apparatus, information processing system, and control method therefor
CN108924202B (zh) 一种分布式集群的数据容灾方法以及相关装置
CN107276839B (zh) 一种云平台的自监控方法和系统
EP1762069B1 (en) Method of selecting one server out of a server set
CN112311896B (zh) 健康检查方法、装置、设备及计算机可读存储介质
CN106797330A (zh) 用于监测内容递送网络(cdn)的方法、业务监测器(tm)、请求路由器(rr)和系统
CN112948128A (zh) Target端的选择方法、系统及计算机可读介质
GB2485866A (en) Replication of state data of processing tasks from an active entity to a backup entity
CN110933142A (zh) 一种icfs集群网卡监控方法、装置和设备及介质
CN111092778A (zh) 基于有限时序数据队列实现api实时预警的系统及方法
US7996528B2 (en) Network management system having agent controlled transmission of state variation notifying command based on manager load information
CN111314443A (zh) 基于分布式存储系统的节点处理方法、装置和设备及介质
CN114710445A (zh) 语音软交换服务方法、装置、系统、电子设备及存储介质
CN114726764A (zh) 一种业务服务灾备方法及系统
JP6418377B2 (ja) 管理対象装置、管理装置及びネットワーク管理システム
US8737970B2 (en) Method and apparatus for processing release of connection resources
CN110224872B (zh) 一种通信方法、装置及存储介质
CN107896176B (zh) 一种计算节点的处理方法、智能终端及存储介质
CN111181763A (zh) 一种网络报障方法和装置
CN113824595B (zh) 链路切换控制方法、装置和网关设备
EP1662704B1 (en) Monitoring system, apparatus to be monitored, monitoring apparatus and monitoring method
CN113179180A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20220708