CN107018159A - 业务请求处理方法及装置、和业务请求方法及装置 - Google Patents

业务请求处理方法及装置、和业务请求方法及装置 Download PDF

Info

Publication number
CN107018159A
CN107018159A CN201610056847.0A CN201610056847A CN107018159A CN 107018159 A CN107018159 A CN 107018159A CN 201610056847 A CN201610056847 A CN 201610056847A CN 107018159 A CN107018159 A CN 107018159A
Authority
CN
China
Prior art keywords
proxy server
health status
list
health
request
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
CN201610056847.0A
Other languages
English (en)
Other versions
CN107018159B (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 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information 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 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201610056847.0A priority Critical patent/CN107018159B/zh
Publication of CN107018159A publication Critical patent/CN107018159A/zh
Application granted granted Critical
Publication of CN107018159B publication Critical patent/CN107018159B/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/50Network services
    • H04L67/56Provisioning of proxy services
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种业务请求处理方法及装置、和业务请求方法及装置。该业务请求处理方法包括:实时监控各个代理服务器的健康状况,生成代理服务器健康状况列表;接收前端客户端定期发出的代理服务器健康状况请求消息,将代理服务器健康状况列表反馈给前端客户端,使前端客户端根据代理服务器健康状况列表向健康的代理服务器发送请求。借助于本发明的技术方案,能够在代理服务器升级重启时做到对前端客户端完全透明,前端客户端请求失败数为零,使代理服务器重启不影响业务和用户体验,从而提升系统的可用性和用户体验。

Description

业务请求处理方法及装置、和业务请求方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种业务请求处理方法及装置、和业务请求方法及装置。
背景技术
代理服务器是分布式存储平台提供给前端客户端访问的接口机,所有使用者的请求通过代理服务器接入,并根据请求的Key将相应的请求路由到对应的底层服务(Server)中去。图1是现有技术中一种分布式存储平台的单集群架构示意图,图2是现有技术中一种分布式存储平台的多集群架构示意图,从图中可以看到,代理服务器在整个分布式存储平台中起着尤为重要的作用,主要包括:对于客户端和代理服务器之间TCP长连接的管理、前端请求路由、批量请求的分包处理、负载均衡、异常检测、安全等方面。
当代理服务器进行升级或其他改动需要重启时,会造成业务侧正在请求的消息丢失或错误,对于高并发量的业务尤为如此,每秒钟都会造成成千上万的请求失败。具体地,代理服务器升级重启时,重启瞬间前端会将请求继续发送到对应的代理服务器,由于系统重启导致当前的所有请求失败,影响业务使用和用户的体验。如果能在代理服务器升级或重启的时候做到平滑升级,在重启时不影响线上业务的请求,即将当前业务的请求失败量降为零,不仅能提高服务的可用性,同时对前端用户的体验也是一次提升。
在现有技术中,在后端系统升级或重启时基本都没有采取有效的措施去避免当前请求及后续请求的丢失和失败,一些比较重要的系统也只是在前端调用方加了一些诸如负载均衡的策略,诸如:在调用方记录每分钟或每秒钟请求的请求数、响应数或者超时数、失败数,当超时或者失败数超过一定阈值时,将请求的系统列为黑名单,后续的请求不再继续请求该系统。然而这需要一个时间去试错,一段时间内的请求都会失败。对于一些要求比较严格、业务比较重要的场景还是不太适合。从上述描述可以看出,在现有技术中后端系统升级或重启时,不能实时探测到系统处于不可用的状态,而自动切换为其他系统。并且,在一段时间内,所有的请求都会失败。此外,为了去发现系统是否恢复,需要牺牲一小部分请求包做探测。
发明内容
鉴于现有技术中代理服务器升级或重启使线上业务的请求失败的问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的业务请求处理方法及装置、和业务请求方法及装置。
本发明提供一种业务请求处理方法,包括:
实时监控各个代理服务器的健康状况,生成代理服务器健康状况列表;
接收前端客户端定期发出的代理服务器健康状况请求消息,将代理服务器健康状况列表反馈给前端客户端,使前端客户端根据代理服务器健康状况列表向健康的代理服务器发送请求。
本发明还提供一种业务请求方法,应用于前端客户端中,包括:
定期发出代理服务器健康状况请求消息;
接收返回的代理服务器健康情况列表;
从代理服务器健康情况列表中,选择通过健康的代理服务器向分布式存储平台发送业务请求。
本发明还提供了一种业务请求处理装置,包括:
监控模块,用于实时监控各个代理服务器的健康状况,生成代理服务器健康状况列表;
反馈模块,用于接收前端客户端定期发出的代理服务器健康状况请求消息,将代理服务器健康状况列表反馈给前端客户端,使前端客户端根据代理服务器健康状况列表向健康的代理服务器发送请求。
本发明还提供了一种业务请求装置,应用于前端客户端中,包括:
发送模块,用于定期发出代理服务器健康状况请求消息;
接收模块,用于接收返回的代理服务器健康情况列表;
请求模块,用于从代理服务器健康情况列表中,选择通过健康的代理服务器向分布式存储平台发送业务请求。
本发明有益效果如下:
通过实时监控各个代理服务器的健康状况,将代理服务器健康状况列表反馈给前端客户端,使前端客户端根据代理服务器健康状况列表向健康的代理服务器发送请求,解决了现有技术中代理服务器升级或重启使线上业务的请求失败的问题,能够在代理服务器升级重启时做到对前端客户端完全透明,前端客户端请求失败数为零,使代理服务器重启不影响业务和用户体验,从而提升系统的可用性和用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是现有技术中一种分布式存储平台的单集群架构示意图;
图2是现有技术中一种分布式存储平台的多集群架构示意图;
图3是本发明实施例的业务请求处理方法的流程图;
图4是本发明实施例的业务请求方法的流程图;
图5是本发明实施例的业务请求处理方法的详细处理的流程图;
图6是本发明实施例的业务请求处理装置的结构示意图;
图7是本发明实施例的业务请求装置的结构示意图;
图8是本发明实施例的系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中代理服务器升级或重启使线上业务的请求失败的问题,本发明提供了一种业务请求处理方法及装置、和业务请求方法及装置,具体地,通过实时监控各个代理服务器的健康状况,将代理服务器健康状况列表反馈给前端客户端,使前端客户端根据代理服务器健康状况列表向健康的代理服务器发送请求,能够在代理服务器升级重启时做到对前端客户端完全透明,前端客户端请求失败数为零,使代理服务器重启不影响业务和用户体验,从而提升系统的可用性和用户体验。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
方法实施例一
根据本发明的实施例,提供了一种业务请求处理方法,图3是本发明实施例的业务请求处理方法的流程图,如图3所示,根据本发明实施例的业务请求处理方法包括如下处理:
步骤301,实时监控各个代理服务器的健康状况,生成代理服务器健康状况列表;
具体地,在步骤301中,在代理服务器的系统需要停止服务时,将该代理服务器的健康状况设置为下线,并上报该代理服务器的健康状况;在代理服务器的系统恢复服务后,将该代理服务器的健康状况设置为在线,并向上报该代理服务器的健康状况。
优选地,在本发明实施例中,生成代理服务器健康状况列表之后,还包括:启动键值存储系统,向类名字服务系统提供监视服务,实时获取并存储代理服务器健康状况列表。
步骤302,接收前端客户端定期发出的代理服务器健康状况请求消息,将代理服务器健康状况列表反馈给前端客户端,使前端客户端根据代理服务器健康状况列表向健康的代理服务器发送请求。
优选地,在本发明实施例中,将代理服务器健康状况列表反馈给前端客户端之前,还包括启动类名字服务系统,监视键值存储系统中存储的代理服务器健康状况列表,并响应前端客户端定期发出的代理服务器健康状况请求消息。
在本发明实施例中,在键值存储系统中的代理服务器健康状况列表发生变化时,向类名字服务系统发送更新请求;类名字服务系统从键值存储系统中获取更新的代理服务器健康状况列表。
在步骤302中,前端客户端可以根据代理服务器健康状况列表,确定某个代理服务器的健康状况为下线时,停止向该代理服务器发起请求;前端客户端根据代理服务器健康状况列表,确定某个代理服务器的健康状况为在线时,继续向该代理服务器发起请求。
在代理服务器的系统需要停止服务时,将该代理服务器的健康状况设置为下线,并上报该代理服务器的健康状况之后,隔预定时间之后,再对代理服务器的系统进行升级或重启。
方法实施例二
根据本发明的实施例,提供了一种业务请求方法,应用于前端客户端中,与上述方法实施例一的业务请求处理方法相对应,图4是本发明实施例的业务请求方法的流程图,如图4所示,根据本发明实施例的业务请求处理方法包括如下处理:
步骤401,定期发出代理服务器健康状况请求消息;优选地,可以定期向类名字服务系统发出代理服务器健康状况请求消息。
步骤402,接收返回的代理服务器健康情况列表;优选地,可以接收类名字服务系统返回的代理服务器健康情况列表。其中,类名字服务系统监视键值存储系统中存储的代理服务器健康状况列表;键值存储系统实时获取代理服务器上报的健康状况,生成并存储代理服务器健康状况列表。
步骤403,从代理服务器健康情况列表中,选择通过健康的代理服务器向分布式存储平台发送业务请求。
步骤403具体包括:
根据代理服务器健康状况列表,确定某个代理服务器的健康状况为下线时,停止向该代理服务器发起请求;
根据代理服务器健康状况列表,确定某个代理服务器的健康状况为在线时,继续向该代理服务器发起请求。
下面以Etcd为例,对本发明实施例的上述技术方案进行举例说明。
在本发明实施例中,Etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。Etcd使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。Etcd专门为集群环境的服务发现和注册而设计,它提供了数据TTL失效、数据改变监视、多值、目录监听、以及分布式原子锁等操作,可以方便的跟踪和管理集群节点的状态。图5是本发明实施例的业务请求处理方法的详细处理的流程图,如图5所示,具体包括如下处理:
步骤501,各个代理服务器(Proxy)向Etcd(对应于方法实施例一中的键值存储系统)发送自身的健康状况,其中,当代理服务器的系统需要升级或重启时,该代理服务器的健康状况为下线;
具体地,在步骤501中,在代理服务器的系统需要升级或重启时,将该代理服务器的健康状况设置为下线,并向Etcd上报该代理服务器的健康状况;在代理服务器的系统启动成功后,将该代理服务器的健康状况设置为在线,并向Etcd上报该代理服务器的健康状况。
步骤502,Etcd实时接收各个代理服务器发送的健康状况,生成代理服务器健康状况列表;
步骤503,类名字服务器(对应于方法实施例一中的类名字服务系统)从Etcd中获取代理服务器健康状况列表并存储;
优选地,在本发明实施例中,在Etcd中的代理服务器健康状况列表发生变化时,向类名字服务器发送更新请求;通过类名字服务器从Etcd中获取更新的代理服务器健康状况列表并存储。
步骤504,类名字服务器接收前端客户端定期发出的健康状况请求消息,将代理服务器健康状况列表反馈给前端客户端,使前端客户端根据代理服务器健康状况列表向健康的代理服务器发送请求。
在步骤504中,前端客户端根据代理服务器健康状况列表向健康的代理服务器发送请求具体包括:
前端客户端根据代理服务器健康状况列表,确定某个代理服务器的健康状况为下线时,停止向该代理服务器发起请求;
前端客户端根据代理服务器健康状况列表,确定某个代理服务器的健康状况为在线时,继续向该代理服务器发起请求。
优选地,在本发明实施例中,在代理服务器的系统需要升级或重启时,将该代理服务器的健康状况设置为下线,并向Etcd上报该代理服务器的健康状况之后,在预定时间之后,可以对代理服务器的系统进行升级或重启。
从上述描述可以看出,本发明实施例的技术方案通过增加Etcd高可用键值存储系统和类名字服务系统,通过类名字服务系统实时感知后端系统的健康状况的变更,同时使用者定期向类名字服务系统拉取后端服务系统的健康状况,以此来获取哪些服务可用,哪些服务目前不可用来避免请求丢失和失败。将升级重启时,请求的失败数降为最低。
从上述描述可以看出,本发明实施例的Proxy系统的平滑升级需要几个组成部分:Etcd高可用的键值存储系统,主要用于服务发现;类名字服务系统(即上述类名字服务器),主要用于存储和监视Etcd中存储的Proxy健康状况列表;前端客户端定期向类名字服务系统拉取Proxy健康状况列表,决定向哪些Proxy系统发请求。
首先,需要启动Etcd,用于存储Proxy健康状况,记录Proxy的IP及相应的服务的状态(Online、Offline),同时向类名字服务系统提供监视服务,实时获取Proxy健康状况列表。
其次,启动类名字服务系统,并监视到Etcd中Proxy健康状况的列表,并向前端客户端提供查询Proxy健康状况的服务。
再次,当启动Proxy系统时,当启动成功后Proxy会将自己的健康状况上报给Etcd并存储。Etcd此时的Proxy列表有所改变,类名字服务系统即收到Proxy健康状况变更的响应,类名字服务系统会实时存储该信息供前端客户端定期查询,而前端客户端每隔1-5分钟便会都调用查询接口获取Proxy健康状况列表,决定向哪些健康的Proxy发起请求,拒绝向哪些Proxy再次发起请求。
当某台Proxy系统需要升级时,会更改该Proxy的健康状况,而该健康状态通过Etcd和类名字服务系统,最终在一个较短的时间间隔内便会被前端客户端感知,后面便停止向该Proxy发起请求。当经过这个较短的时间间隔后,Proxy系统便可以毫无顾虑的进行升级重启操作而不会产生失败的请求影响用户体验。成功重启后的Proxy正常接收请求。
本发明实施例的技术方案通过在Etcd中记录所有Proxy的IP及相应的服务的状态(Online、Offline)可以使得前端客户端能清晰了解到当前Proxy的健康状况,从而选择当前较为稳定的Proxy作为请求对象。当某台Proxy需要做升级或重启时,只需要简单的修改该Proxy的状态为Offline,并等待Proxy中已经在处理的消息处理完毕,前端调用方便不会继续向Proxy发送请求,将升级重启导致的请求失败降为0。在Proxy升级完毕后,重新启动Proxy,当启动成功后系统内部会自动修改服务状态为Online状态,当前端使用者发现服务正常后,会将请求重新分配到该Proxy上。一次正常的服务升级完成,对于前端使用者完全透明,对于业务没有任何影响。
本发明实施例利用Etcd提供的服务发现功能,使得前端客户端通过查看(监视)相关目录来实时捕获到Proxy的健康状况,前端客户端通过获取Proxy的健康状况来决定向哪些Proxy发送请求。对于不健康的Proxy立即停止发送请求,而Proxy在系统重启前需要修改自身的健康状态为下线(Offline)。使得在Proxy升级重启时做到对前端客户端完全透明,前端客户端请求失败数为零,提升系统的可用性和用户体验。
装置实施例一
根据本发明的实施例,提供了一种业务请求处理装置,图6是本发明实施例的业务请求处理装置的结构示意图,如图6所示,根据本发明实施例的业务请求处理装置包括:监控模块60、以及反馈模块62,以下对本发明实施例的各个模块进行详细的说明。
监控模块60,用于实时监控各个代理服务器的健康状况,生成代理服务器健康状况列表;监控模块60具体用于:在代理服务器的系统需要停止服务时,将该代理服务器的健康状况设置为下线,并上报该代理服务器的健康状况;在代理服务器的系统恢复服务后,将该代理服务器的健康状况设置为在线,并向上报该代理服务器的健康状况。
反馈模块62,用于接收前端客户端定期发出的代理服务器健康状况请求消息,将代理服务器健康状况列表反馈给前端客户端,使前端客户端根据代理服务器健康状况列表向健康的代理服务器发送请求。
上述装置还包括:
键值存储模块,用于生成代理服务器健康状况列表之后,启动键值存储系统,向类名字服务系统提供监视服务,实时获取并存储代理服务器健康状况列表。键值存储模块进一步用于:在键值存储系统中的代理服务器健康状况列表发生变化时,向类名字服务系统发送更新请求;
类名字服务模块,用于将代理服务器健康状况列表反馈给前端客户端之前,启动类名字服务系统,监视键值存储系统中存储的代理服务器健康状况列表,并响应前端客户端定期发出的代理服务器健康状况请求消息。类名字服务模块进一步用于,通过类名字服务系统从键值存储系统中获取更新的代理服务器健康状况列表。
重启模块,用于在监控模块将该代理服务器的健康状况设置为下线,并上报该代理服务器的健康状况之后,在预定时间之后,对代理服务器的系统进行升级或重启。
装置实施例二
根据本发明的实施例,提供了一种业务请求装置,设置于前端客户端中,图7是本发明实施例的业务请求装置的结构示意图,如图7所示,根据本发明实施例的业务请求装置包括:发送模块70、接收模块72、以及请求模块74,以下对本发明实施例的各个模块进行详细的说明。
发送模块70,用于定期发出代理服务器健康状况请求消息;所述发送模块70进一步用于:定期向类名字服务系统发出代理服务器健康状况请求消息。
接收模块72,用于接收返回的代理服务器健康情况列表;所述接收模块72进一步用于:接收类名字服务系统返回的代理服务器健康情况列表。
请求模块74,用于从所述代理服务器健康情况列表中,选择通过健康的代理服务器向分布式存储平台发送业务请求。所述请求模块74具体用于:
根据所述代理服务器健康状况列表,确定某个代理服务器的健康状况为下线时,停止向该代理服务器发起请求;根据所述代理服务器健康状况列表,确定某个代理服务器的健康状况为在线时,继续向该代理服务器发起请求。
以下结合装置实施例一和装置实施例二,以Etcd为例,进行举例说明。
图8是本发明实施例的系统的结构示意图,如图8所示,根据本发明实施例的平滑升级系统包括:代理服务器80、Etcd 82、类名字服务器84、以及前端客户端86,以下对本发明实施例的各个模块进行详细的说明。
代理服务器80,用于向Etcd 82发送自身的健康状况;代理服务器80具体用于:在系统需要升级或重启时,将自身的健康状况设置为下线,并向Etcd82上报自身的健康状况;在系统启动成功后,将自身的健康状况设置为在线,并向Etcd 82上报该自身的健康状况。
代理服务器80进一步用于:在向Etcd 82上报自身的健康状况为下线之后,在预定时间之后,对代理服务器80的系统进行升级或重启。
Etcd 82,用于实时接收各个代理服务器80发送的健康状况,生成代理服务器80健康状况列表,其中,当代理服务器80的系统需要升级或重启时,该代理服务器80的健康状况为下线;Etcd 82具体用于:在Etcd 82中的代理服务器80健康状况列表发生变化时,向类名字服务器84发送更新请求;
类名字服务器84,用于从Etcd 82中获取代理服务器80健康状况列表并存储;接收前端客户端86定期发出的健康状况请求消息,将代理服务器80健康状况列表反馈给前端客户端86;类名字服务器84具体用于:从Etcd 82中获取更新的代理服务器80健康状况列表并存储。
前端客户端86,用于根据代理服务器80健康状况列表向健康的代理服务器80发送请求。前端客户端86具体用于:根据代理服务器80健康状况列表,确定某个代理服务器80的健康状况为下线时,停止向该代理服务器80发起请求;根据代理服务器80健康状况列表,确定某个代理服务器80的健康状况为在线时,继续向该代理服务器80发起请求。
综上所述,利用Etcd提供的服务发现功能,前端客户端从类名字服务器实时获取各个代理服务器的健康状况,并根据代理服务器的健康状况来决定向哪些代理服务器发送请求,解决了现有技术中Proxy升级或重启使线上业务的请求失败的问题,能够在Proxy升级重启时做到对前端客户端完全透明,前端客户端请求失败数为零,使Proxy重启不影响业务和用户体验,从而提升系统的可用性和用户体验。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的客户端中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个客户端中。可以把实施例中的模块组合成一个模块,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者客户端的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的加载有排序网址的客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (19)

1.一种业务请求处理方法,其特征在于,包括:
实时监控各个代理服务器的健康状况,生成代理服务器健康状况列表;
接收前端客户端定期发出的代理服务器健康状况请求消息,将所述代理服务器健康状况列表反馈给所述前端客户端,使所述前端客户端根据所述代理服务器健康状况列表向健康的代理服务器发送请求。
2.如权利要求1所述的方法,其特征在于,实时监控各个代理服务器的健康状况具体包括:
在代理服务器的系统需要停止服务时,将该代理服务器的健康状况设置为下线,并上报该代理服务器的健康状况;
在代理服务器的系统恢复服务后,将该代理服务器的健康状况设置为在线,并向上报该代理服务器的健康状况。
3.如权利要求1所述的方法,其特征在于,生成代理服务器健康状况列表之后,还包括:
启动键值存储系统,向类名字服务系统提供监视服务,实时获取并存储代理服务器健康状况列表。
4.如权利要求3所述的方法,其特征在于,将所述代理服务器健康状况列表反馈给所述前端客户端之前,还包括:
启动类名字服务系统,监视键值存储系统中存储的代理服务器健康状况列表,并响应前端客户端定期发出的代理服务器健康状况请求消息。
5.如权利要求4所述的方法,其特征在于,还包括:
在所述键值存储系统中的代理服务器健康状况列表发生变化时,向所述类名字服务系统发送更新请求;
所述类名字服务系统从所述键值存储系统中获取更新的代理服务器健康状况列表。
6.如权利要求1所述的方法,其特征在于,所述前端客户端根据所述代理服务器健康状况列表向健康的代理服务器发送请求具体包括:
所述前端客户端根据所述代理服务器健康状况列表,确定某个代理服务器的健康状况为下线时,停止向该代理服务器发起请求;
所述前端客户端根据所述代理服务器健康状况列表,确定某个代理服务器的健康状况为在线时,继续向该代理服务器发起请求。
7.如权利要求2所述的方法,其特征在于,在代理服务器的系统需要停止服务时,将该代理服务器的健康状况设置为下线,并上报该代理服务器的健康状况之后,所述方法进一步包括:
在预定时间之后,对所述代理服务器的系统进行升级或重启。
8.一种业务请求方法,应用于前端客户端中,其特征在于,包括:
定期发出代理服务器健康状况请求消息;
接收返回的代理服务器健康情况列表;
从所述代理服务器健康情况列表中,选择通过健康的代理服务器向分布式存储平台发送业务请求。
9.根据权利要求8所述的业务请求方法,其特征在于,
定期发出代理服务器健康状况请求消息,包括:定期向类名字服务系统发出代理服务器健康状况请求消息。
接收返回的代理服务器健康情况列表,包括:接收类名字服务系统返回的代理服务器健康情况列表。
10.根据权利要求9所述的业务请求方法,其特征在于,
所述类名字服务系统监视键值存储系统中存储的代理服务器健康状况列表;
所述键值存储系统实时获取代理服务器上报的健康状况,生成并存储代理服务器健康状况列表。
11.一种业务请求处理装置,其特征在于,包括:
监控模块,用于实时监控各个代理服务器的健康状况,生成代理服务器健康状况列表;
反馈模块,用于接收前端客户端定期发出的代理服务器健康状况请求消息,将所述代理服务器健康状况列表反馈给所述前端客户端,使所述前端客户端根据所述代理服务器健康状况列表向健康的代理服务器发送请求。
12.如权利要求11所述的装置,其特征在于,所述监控模块具体用于:
在代理服务器的系统需要停止服务时,将该代理服务器的健康状况设置为下线,并上报该代理服务器的健康状况;
在代理服务器的系统恢复服务后,将该代理服务器的健康状况设置为在线,并向上报该代理服务器的健康状况。
13.如权利要求11所述的装置,其特征在于,所述装置还包括:
键值存储模块,用于生成代理服务器健康状况列表之后,启动键值存储系统,向类名字服务系统提供监视服务,实时获取并存储代理服务器健康状况列表。
14.如权利要求13所述的装置,其特征在于,所述装置还包括:
类名字服务模块,用于将所述代理服务器健康状况列表反馈给所述前端客户端之前,启动类名字服务系统,监视键值存储系统中存储的代理服务器健康状况列表,并响应前端客户端定期发出的代理服务器健康状况请求消息。
15.如权利要求14所述的装置,其特征在于,
所述键值存储模块进一步用于:在所述键值存储系统中的代理服务器健康状况列表发生变化时,向所述类名字服务系统发送更新请求;
所述类名字服务模块进一步用于,通过所述类名字服务系统从所述键值存储系统中获取更新的代理服务器健康状况列表。
16.如权利要求12所述的装置,其特征在于,所述装置进一步包括:
重启模块,用于在所述监控模块将该代理服务器的健康状况设置为下线,并上报该代理服务器的健康状况之后,在预定时间之后,对所述代理服务器的系统进行升级或重启。
17.一种业务请求装置,设置于前端客户端中,其特征在于,包括:
发送模块,用于定期发出代理服务器健康状况请求消息;
接收模块,用于接收返回的代理服务器健康情况列表;
请求模块,用于从所述代理服务器健康情况列表中,选择通过健康的代理服务器向分布式存储平台发送业务请求。
18.根据权利要求17所述的装置,其特征在于,
所述发送模块进一步用于:定期向类名字服务系统发出代理服务器健康状况请求消息。
所述接收模块进一步用于:接收类名字服务系统返回的代理服务器健康情况列表。
19.根据权利要求18所述的装置,其特征在于,所述请求模块具体用于:
根据所述代理服务器健康状况列表,确定某个代理服务器的健康状况为下线时,停止向该代理服务器发起请求;
根据所述代理服务器健康状况列表,确定某个代理服务器的健康状况为在线时,继续向该代理服务器发起请求。
CN201610056847.0A 2016-01-27 2016-01-27 业务请求处理方法及装置、和业务请求方法及装置 Active CN107018159B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610056847.0A CN107018159B (zh) 2016-01-27 2016-01-27 业务请求处理方法及装置、和业务请求方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610056847.0A CN107018159B (zh) 2016-01-27 2016-01-27 业务请求处理方法及装置、和业务请求方法及装置

Publications (2)

Publication Number Publication Date
CN107018159A true CN107018159A (zh) 2017-08-04
CN107018159B CN107018159B (zh) 2020-09-11

Family

ID=59438995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610056847.0A Active CN107018159B (zh) 2016-01-27 2016-01-27 业务请求处理方法及装置、和业务请求方法及装置

Country Status (1)

Country Link
CN (1) CN107018159B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726062A (zh) * 2018-05-14 2019-05-07 网联清算有限公司 代理服务器的下线方法和控制服务器
CN110266791A (zh) * 2019-06-18 2019-09-20 深圳市高星文网络科技有限公司 拟态安全可靠转发系统及其方法
CN110602111A (zh) * 2019-09-19 2019-12-20 湖南快乐阳光互动娱乐传媒有限公司 一种基于长连接的接口防刷方法及系统
CN110740167A (zh) * 2019-09-20 2020-01-31 北京浪潮数据技术有限公司 一种分布式存储系统及其节点监控方法
CN111198762A (zh) * 2019-12-16 2020-05-26 北京淇瑀信息科技有限公司 一种支持高并发的服务器集群系统及控制方法、控制装置
CN113839809A (zh) * 2021-08-26 2021-12-24 上海探寻信息技术有限公司 一种服务器升级的方法、设备及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090262724A1 (en) * 2006-08-18 2009-10-22 Nec Corporation Proxy server, communication system, communication method and program
CN101621413A (zh) * 2009-08-20 2010-01-06 中兴通讯股份有限公司 实现对web服务器进行负载均衡和容灾的装置及方法
CN101699793A (zh) * 2008-04-23 2010-04-28 北京恒泰实达科技发展有限公司 一种实现代理服务器自动备份和负载均衡的方法
CN102457440A (zh) * 2012-01-13 2012-05-16 华为软件技术有限公司 实现负载均衡的方法、dns服务器和客户端
CN102624691A (zh) * 2011-11-28 2012-08-01 苏州奇可思信息科技有限公司 可共用广告拦截配置信息的多代理上网方法
CN102624540A (zh) * 2011-11-28 2012-08-01 苏州奇可思信息科技有限公司 具有故障无缝切换功能的多服务器代理上网方法
CN103138998A (zh) * 2011-11-28 2013-06-05 华为技术有限公司 一种代理状态检测方法、装置和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090262724A1 (en) * 2006-08-18 2009-10-22 Nec Corporation Proxy server, communication system, communication method and program
CN101699793A (zh) * 2008-04-23 2010-04-28 北京恒泰实达科技发展有限公司 一种实现代理服务器自动备份和负载均衡的方法
CN101621413A (zh) * 2009-08-20 2010-01-06 中兴通讯股份有限公司 实现对web服务器进行负载均衡和容灾的装置及方法
CN102624691A (zh) * 2011-11-28 2012-08-01 苏州奇可思信息科技有限公司 可共用广告拦截配置信息的多代理上网方法
CN102624540A (zh) * 2011-11-28 2012-08-01 苏州奇可思信息科技有限公司 具有故障无缝切换功能的多服务器代理上网方法
CN103138998A (zh) * 2011-11-28 2013-06-05 华为技术有限公司 一种代理状态检测方法、装置和系统
CN102457440A (zh) * 2012-01-13 2012-05-16 华为软件技术有限公司 实现负载均衡的方法、dns服务器和客户端

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726062A (zh) * 2018-05-14 2019-05-07 网联清算有限公司 代理服务器的下线方法和控制服务器
CN109726062B (zh) * 2018-05-14 2021-10-15 网联清算有限公司 代理服务器的下线方法和控制服务器
CN110266791A (zh) * 2019-06-18 2019-09-20 深圳市高星文网络科技有限公司 拟态安全可靠转发系统及其方法
CN110602111A (zh) * 2019-09-19 2019-12-20 湖南快乐阳光互动娱乐传媒有限公司 一种基于长连接的接口防刷方法及系统
CN110602111B (zh) * 2019-09-19 2022-04-19 湖南快乐阳光互动娱乐传媒有限公司 一种基于长连接的接口防刷方法及系统
CN110740167A (zh) * 2019-09-20 2020-01-31 北京浪潮数据技术有限公司 一种分布式存储系统及其节点监控方法
CN111198762A (zh) * 2019-12-16 2020-05-26 北京淇瑀信息科技有限公司 一种支持高并发的服务器集群系统及控制方法、控制装置
CN113839809A (zh) * 2021-08-26 2021-12-24 上海探寻信息技术有限公司 一种服务器升级的方法、设备及系统

Also Published As

Publication number Publication date
CN107018159B (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN107018159A (zh) 业务请求处理方法及装置、和业务请求方法及装置
CN108965381A (zh) 基于Nginx的负载均衡实现方法、装置、计算机设备和介质
WO2020147331A1 (zh) 一种微服务监控方法及系统
CN102640108B (zh) 已复制数据的监控
CN106101290B (zh) 一种服务器集群管理的方法及系统
TWI255109B (en) Autonomic server farm, method of server failure diagnosis, and self-healing in a server farm
CN112328421B (zh) 一种系统故障处理方法、装置、计算机设备和存储介质
CN109787827B (zh) 一种cdn网络监控的方法及装置
CN106446168B (zh) 一种面向分布式数据仓库的加载客户端实现方法
CN104468283B (zh) 多主机管理系统的监控方法、装置和系统
CN107784593A (zh) 保险理赔互动方法和系统
CN110807064A (zh) Rac分布式数据库集群系统中的数据恢复装置
CN108540367B (zh) 一种消息处理方法及系统
CN107404540A (zh) 数据的同步方法及装置
CN112800087A (zh) 一种基于微信小程序的服务云平台系统
CN106250254B (zh) 一种任务处理方法及系统
CN109845192A (zh) 用于动态地适配软件定义的网络的计算机系统和方法
CN107819632A (zh) 一种基于性能监控系统和Docker Swarm的动态负载均衡集群系统
JP5269394B2 (ja) データベース振分装置、データベース振分方法、プログラム、および記録媒体
CN106789435B (zh) 一种状态监控方法及其装置、数据中心及多活数据中心
CN109992531B (zh) 数据存储方法及装置
CN109981779A (zh) 服务提供方法、服务器及计算机存储介质
CN105429795B (zh) 一种告警监控系统及方法
CN106790647A (zh) 一种自适应服务管理的方法和系统
US7647401B1 (en) System and method for managing resources of a network load balancer via use of a presence server

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