CN103391303B - 服务故障公告方法及使用该方法的服务器 - Google Patents
服务故障公告方法及使用该方法的服务器 Download PDFInfo
- Publication number
- CN103391303B CN103391303B CN201210142000.6A CN201210142000A CN103391303B CN 103391303 B CN103391303 B CN 103391303B CN 201210142000 A CN201210142000 A CN 201210142000A CN 103391303 B CN103391303 B CN 103391303B
- Authority
- CN
- China
- Prior art keywords
- fault
- service
- client
- server
- bulletin
- 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.)
- Active
Links
Abstract
一种服务故障公告方法包括:在服务故障情况达到预设条件时标记服务器为故障模式,并生成故障公告页面和对应的链接地址;响应客户端发出的业务请求,识别服务器是否为故障模式;当识别出服务器为故障模式,通过OOB命令向长连接客户端返回故障公告页面的链接地址;当识别出服务器为故障模式,在Http Header中加入故障公告页面的链接地址,并返回给短连接客户端。本发明还提供一种对应的服务器。上述服务故障公告方法和服务器,可以在客户端向正常运行的服务发出业务请求时,获得当前服务器中服务异常的故障公告信息,减少在服务器出现大规模服务故障时期,客户端向故障服务发出业务请求的可能性,有效地降低了服务器发生服务雪崩的风险。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及客户端与服务器通信时的服务故障公告方法及使用该方法的服务器。
背景技术
在移动互联网应用中,云服务的高可用性是一项关键的指标。但是受限于移动网络的不稳定性、业务的复杂性,以及月初效应带来的高并发压力等,云服务难免会出现不同程度的故障,或许一个细微的漏洞却导致大面积用户不可用,极大的影响用户体验。
云服务包含三个环节:云(服务器)、端(客户端)和管道(网络)。云故障表现为业务逻辑异常、服务负载过大、拒绝服务等;管道故障表现为网络异常,如IDC((Intetnet Data Center,互联网数据中心)灾难、DNS(Domain NameSystem,域名系统)解析异常等;端故障表现为终端接入网络失败等。
当服务器出现大规模故障时,如较多的服务出现故障,此期间客户端对这些故障服务发出的业务请求失败后,传统方式虽然也有给予一定的故障公告,但此期间若大量的用户在此期间对这些故障服务发出业务请求,很容易导致服务雪崩,传统的故障公告不能有效起到降低服务雪崩风险的作用。
发明内容
基于此,有必要提供一种能有效降低服务雪崩风险的服务故障公告方法及使用该方法的服务器。
一种服务故障公告方法包括如下步骤:
监测服务器中服务故障情况;
当所述服务故障情况达到预设条件时,标记所述服务器为故障模式,并根据所述服务故障情况生成故障公告页面和对应的链接地址;
接收客户端发出的业务请求;
响应所述业务请求,识别所述服务器是否为故障模式;
识别所述客户端与所述服务器之间的连接为长连接还是短连接;
当识别出所述服务器为故障模式,且所述客户端与所述服务器之间的连接为长连接时,通过OOB命令向所述客户端返回包括所述故障公告页面的链接地址的故障信息;
当识别出所述服务器为故障模式,且所述客户端与所述服务器之间的连接为短连接时,在Http Header中加入包括所述故障公告页面的链接地址的故障信息,并返回所述给客户端。
其中一实施例中,所述服务故障公告方法还包括生成与故障公告页面对应的故障公告有效期的步骤,所述故障信息还包括该故障公告有效期。
其中一实施例中,所述服务故障公告方法还包括向客户端传送停止公告指令。
其中一实施例中,所述停止公告指令是通过以OOB命令向长连接客户端发送。
其中一实施例中,所述停止公告指令是通过Http Header附加内容的方式向短连接客户端发送。
一种服务器包括连接模块和服务提供模块,所述连接模块与客户端建立连接,并接收客户端发出的业务请求,所述服务提供模块用于响应客户端发出的业务请求,通过所述连接模块返回给客户端对应的服务数据,所述服务器还包括:故障监测模块、状态标记模块、信息生成模块、识别模块和公告模块,
所述故障监测模块用于监测所述服务提供模块的服务故障情况;
所述状态标记模块用于在所述服务故障情况达到预设条件时,标记所述服务器为故障模式;
所述信息生成模块用于根据所述服务故障情况生成故障公告页面和对应的链接地址;
所述识别模块用于通过所述状态标记模块和所述连接模块分别识别所述服务器状态是否为故障模式,以及所述连接模块与客户端连接方式为长连接还是短连接;
所述公告模块用于在所述识别模块识别出所述服务器处于故障模式,所述连接模块与客户端为长连接时,通过OOB命令向客户端返回包括所述故障公告页面的链接地址的故障信息;
所述公告模块还用于在所述识别模块识别出所述服务器处于故障模式,所述连接模块与客户端为短连接时,在Http Header中加入包括所述故障公告页面的链接地址的故障信息,并返回给客户端。
其中一实施例中,所述信息生成模块还用于生成与所述故障公告页面对应的故障公告有效期,所述公告模块返回给客户端的故障信息还包括所述故障公告有效期。
其中一实施例中,所述服务器还包括停止模块,用于通过OOB命令向长连接客户端传送停止公告指令。
其中一实施例中,所述服务器还包括停止模块,用于通过Http Header附加内容的方式向短连接客户端传送停止公告指令。
其中一实施例中,所述服务器还包括停止模块,用于向客户端传送停止公告指令。
上述服务故障公告方法和服务器,可以在客户端向正常运行的服务发出业务请求时,获得当前服务器中服务异常的故障公告信息,减少在服务器出现大规模服务故障时期,客户端向故障服务发出业务请求的可能性,有效地降低了服务器发生服务雪崩的风险。
通过有效期以及停止公告指令的设置,以人性化地控制客户端公告信息的关闭,提升用户体验感。
附图说明
图1为一实施例的服务故障公告方法的步骤流程图;
图2为一实施例的服务器的功能模块图。
具体实施方式
本发明提出一种灵活的服务故障公告方式,来应对这种灾难场景,提升用户体验,保证一定的服务质量。一旦出现大规模故障导致大面积用户不可用时,可以通过此故障公告方式安抚用户,同时减少用户重试,降低服务雪崩的风险。
如图1所示,其为一实施例的服务故障公告方法的步骤流程图,包括如下步骤:
步骤S101,监测服务器中服务故障情况。
步骤S102,当服务故障情况达到预设条件时,标记服务器为故障模式,并根据服务故障情况生成故障公告页面和对应的链接地址。
所述服务故障情况达到预设条件可以是服务故障数量达到某个阀值,或者故障率达到某个阀值,或是用户反馈达到某个程度等。所述故障公告页面包括出现故障的服务项目和相关说明等。
步骤S103,接收客户端发出的业务请求。
步骤S104,响应业务请求,识别服务器是否为故障模式。
步骤S105,识别客户端与服务器之间的连接为长连接还是短连接。
长连接是指在一个连接上可以连续发送多个数据包,然后断开连接,在连接保持期间,若没有数据包发送,需要双方发链路检测包。如通过TCP或UDP建立的持续的socket连接通信方式。
短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。如通过HTTP协议建立的通信方式,包括Keep-Alive方式。
步骤S106,当识别出服务器为故障模式,且客户端与服务器之间的连接为长连接时,通过OOB(Out Of Band,传输层协议使用带外数据)命令向客户端返回包括所述故障公告页面的链接地址的故障信息。
步骤S107,当识别出服务器为故障模式,且客户端与服务器之间的连接为短连接时,在Http Header中加入包括所述故障公告页面的链接地址的故障信息,并返回给客户端。
客户端接收到所述故障公告页面的链接地址后可以以Banner等方式展示链接地址,也可以是展示故障公告的内容简要,用户可以点击该链接地址访问服务器上的所述故障公告页面,了解服务器当前哪些服务出现故障及详情,减小用户对这类故障服务提出业务请求的可能性,降低服务雪崩的风险。举例说明:在即时聊天时,若服务器的文本聊天服务可用,而视频聊天服务故障。用户在发出文本聊天服务的业务请求时,就会通过OOB命令或者Http Header中附加信息得到当前服务故障公告页面的链接地址,通过链接地址可以获知视频聊天功能当前不可用。即用户在使用正常服务(暂未故障的服务)的过程中就得到了暂未使用的服务的故障情况。此时用户通常不会在此期间发出对这些已经故障的服务的业务请求,从而降低了服务在大规模故障期间因接收大量故障服务的业务请求而导致服务雪崩的风险。相比传统故障公告方式,本方案可在用户使用正常服务时,或者说是在对故障服务发出业务请求前,告知用户哪些服务出现故障,而不是像传统的在用户对故障服务发出业务请求失败后再给出故障提醒,以此可以大大的减少在某些服务故障期间用户对此类服务发出业务请求的数量,也就有效的降低了服务器出现服务雪崩的风险。
上述实施例中,之所以选择反馈给客户端故障公告页面的链接地址,而不是反馈故障公告页面的内容,是因为故障公告页面内容数据量通常较大,不利于传输,还因为故障公告页面内容存放在服务器上,便于维护人员更新和修改故障公告页面中的内容。还有,返回连接地址的方式在DNS出现异常的时候保证连接地址可用,解决了固定地址在DNS异常时的不可用情况。
在一个实施例中,所述服务故障公告方法还包括:生成与故障公告页面对应的故障公告有效期的步骤,所述故障信息还包括该故障公告有效期。
客户端展示故障公告页面的链接地址后,在故障公告有效期到期时,关闭故障公告页面的链接地的展示,以提醒用户服务故障消除,可以正常使用。
在一个实施例中,所述服务故障公告方法还包括:通过以OOB命令向长连接客户端以及通过Http Header附加内容的方式向短连接客户端传送停止公告指令。
停止公告的指令的发送时机可以是服务器解除故障模式后自动执行,也可以是响应维护人员操作执行。
客户端响应该停止公告指令,关闭客户端上展示的故障公告页面的链接地址,以提醒用户服务故障消除,可以正常使用。发送停止公告指令的客户端可以是预先记录的已经发送故障公告页面链接地址的客户端,也可以是根据预设策略发送给预设范围的客户端,如发送给所有广东地区的客户端。
在故障信息包括故障公告有效期时,也可以包括发送所述停止公告指令的步骤,因为,预期设置/产生的故障排除时间可能较长,如24小时,而实际故障排除时间可能只花了几个小时,这时若让用户等上24小时,则会降低用户体验感,发送停止公告指令后,便可以提前终止故障公告,以提升用户体验感。
如图2所示,其为一实施例的使用上述服务故障公告方法的服务器20的功能模块图,包括:连接模块201、服务提供模块203、故障监测模块205、状态标记模块207、信息生成模块209、识别模块211、公告模块213和停止模块215。
连接模块201用于与客户端建立连接,并接收客户端发出的业务请求。
服务提供模块203用于响应客户端发出的业务请求,通过连接模块返回给客户端对应的服务数据。
故障监测模块205用于监测服务提供模块203的服务故障情况。
状态标记模块207用于在所述服务故障情况达到预设条件时,标记服务器为故障模式。
所述故障信息达到预设条件可以是服务故障数量达到某个阀值,或者故障率达到某个阀值,或是用户反馈达到某个程度等。
信息生成模块209用于根据服务故障情况生成故障公告页面和对应的链接地址。
所述故障公告页面包括出现故障的服务项目和相关说明等。
识别模块211用于通过状态标记模块207和连接模块201分别识别服务器状态是否为故障模式,以及连接模块201与客户端连接方式为长连接还是短连接。
公告模块213用于在识别模块211识别出服务器处于故障模式,连接模块201与客户端为长连接时,通过OOB命令向客户端返回包括所述故障公告页面的链接地址的故障信息。
公告模块213还用于在识别模块211识别出服务器处于故障模式,连接模块201与客户端为短连接时,在Http Header中加入包括所述故障公告页面的链接地址的故障信息,并返回给客户端。
客户端接收到所述故障公告页面的链接地址后可以以Banner等方式展示,用户可以点击该链接地址访问服务器20上的所述故障公告页面,了解服务器20当前哪些服务出现故障,减小用户对这类故障服务提出业务请求的可能性,降低服务雪崩的风险。举例说明:在即时聊天时,若服务器20的文本聊天服务可用,而视频聊天服务故障。用户在发出文本聊天服务的业务请求时,就会通过OOB命令或者Http Header中附加信息得到当前服务故障公告页面的链接地址,通过链接地址可以获知视频聊天功能当前不可用。即用户在使用正常服务(暂未故障的服务)的过程中就得到了暂未使用的服务的故障情况。此时用户通常不会在此期间发出对这些已经故障的服务的业务请求,从而降低了服务在大规模故障期间因接收大量故障服务的业务请求而导致服务雪崩的风险。相比传统故障公告方式,本方案可在用户使用正常服务时,或者说是在对故障服务发出业务请求前,告知用户哪些服务出现故障,而不是像传统的在用户对故障服务发出业务请求失败后再给出故障提醒,以此可以大大的减少在某些服务故障期间用户对此类服务发出业务请求的数量,也就有效的降低了服务器20出现服务雪崩的风险。
停止模块215用于通过以OOB命令向长连接客户端以及通过Http Header附加内容的方式向短连接客户端传送停止公告指令。
客户端响应该停止公告指令,关闭客户端上展示的故障公告页面的链接地址,以提醒用户服务故障消除,可以正常使用。发送停止公告指令的客户端可以是预先记录的已经发送故障公告页面链接地址的客户端,也可以是根据预设策略发送给预设范围的客户端,如发送给所有广东地区的客户端。停止公告的指令的发送时机可以是服务器解除故障模式后自动执行,也可以是响应维护人员操作执行。
在一个实施例中,所述信息生成模块209还用于生成与所述故障公告页面对应的故障公告有效期。
故障公告有效期表示服务器的故障服务预计需要修复的时间。故障公告有效期可以是根据维护人员的输入获得,也可以是通过预设策略产生。
所述公告模块213返回给客户端的故障信息还包括所述故障公告有效期。
客户端展示故障公告页面的链接地址后,在故障公告有效期到期时,关闭故障公告页面的链接地的展示,以提醒用户服务故障消除,可以正常使用。
上述故障公告有效期以及停止模块215是服务器10提供的主动关闭客户端上故障公告窗口的功能,为的是提升用户体验感,属于附加功能,在本案中属于非必要技术特征。如,用户可以自行关闭故障公告窗口。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种服务故障公告方法,其特征在于,包括如下步骤:
监测服务器中服务故障情况;
当所述服务故障情况达到预设条件时,标记所述服务器为故障模式,并根据所述服务故障情况生成故障公告页面和对应的链接地址;
接收客户端发出的业务请求;
响应所述业务请求,识别所述服务器是否为故障模式;
识别所述客户端与所述服务器之间的连接为长连接还是短连接;
当识别出所述服务器为故障模式,且所述客户端与所述服务器之间的连接为长连接时,通过Out Of Band传输层协议使用带外数据命令向所述客户端返回包括所述故障公告页面的链接地址的故障信息;
当识别出所述服务器为故障模式,且所述客户端与所述服务器之间的连接为短连接时,在Http Header中加入包括所述故障公告页面的链接地址的故障信息,并返回所述给客户端。
2.根据权利要求1所述的服务故障公告方法,其特征在于,所述服务故障公告方法还包括生成与故障公告页面对应的故障公告有效期的步骤,所述故障信息还包括该故障公告有效期。
3.根据权利要求1所述的服务故障公告方法,其特征在于,所述服务故障公告方法还包括向客户端传送停止公告指令。
4.根据权利要求3所述的服务故障公告方法,其特征在于,所述停止公告指令是通过以Out Of Band传输层协议使用带外数据命令向长连接客户端发送。
5.根据权利要求3所述的服务故障公告方法,其特征在于,所述停止公告指令是通过Http Header附加内容的方式向短连接客户端发送。
6.一种服务器,其包括连接模块和服务提供模块,所述连接模块与客户端建立连接,并接收客户端发出的业务请求,所述服务提供模块用于响应客户端发出的业务请求,通过所述连接模块返回给客户端对应的服务数据,其特征在于,所述服务器还包括:故障监测模块、状态标记模块、信息生成模块、识别模块和公告模块,
所述故障监测模块用于监测所述服务提供模块的服务故障情况;
所述状态标记模块用于在所述服务故障情况达到预设条件时,标记所述服务器为故障模式;
所述信息生成模块用于根据所述服务故障情况生成故障公告页面和对应的链接地址;
所述识别模块用于通过所述状态标记模块和所述连接模块分别识别所述服务器状态是否为故障模式,以及所述连接模块与客户端连接方式为长连接还是短连接;
所述公告模块用于在所述识别模块识别出所述服务器处于故障模式,所述连接模块与客户端为长连接时,通过Out Of Band传输层协议使用带外数据命令向客户端返回包括所述故障公告页面的链接地址的故障信息;
所述公告模块还用于在所述识别模块识别出所述服务器处于故障模式,所述连接模块与客户端为短连接时,在Http Header中加入包括所述故障公告页面的链接地址的故障信息,并返回给客户端。
7.根据权利要求6所述的服务器,其特征在于,所述信息生成模块还用于生成与所述故障公告页面对应的故障公告有效期,所述公告模块返回给客户端的故障信息还包括所述故障公告有效期。
8.根据权利要求6所述的服务器,其特征在于,所述服务器还包括停止模块,用于通过Out Of Band传输层协议使用带外数据命令向长连接客户端传送停止公告指令。
9.根据权利要求6所述的服务器,其特征在于,所述服务器还包括停止模块,用于通过Http Header附加内容的方式向短连接客户端传送停止公告指令。
10.根据权利要求6所述的服务器,其特征在于,所述服务器还包括停止模块,用于向客户端传送停止公告指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210142000.6A CN103391303B (zh) | 2012-05-09 | 2012-05-09 | 服务故障公告方法及使用该方法的服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210142000.6A CN103391303B (zh) | 2012-05-09 | 2012-05-09 | 服务故障公告方法及使用该方法的服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103391303A CN103391303A (zh) | 2013-11-13 |
CN103391303B true CN103391303B (zh) | 2014-11-05 |
Family
ID=49535460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210142000.6A Active CN103391303B (zh) | 2012-05-09 | 2012-05-09 | 服务故障公告方法及使用该方法的服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103391303B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967540B (zh) * | 2014-06-10 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 服务器状态检测方法和装置 |
CN106034039B (zh) * | 2015-03-13 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 一种故障通知方法及系统 |
CN111010300A (zh) * | 2019-12-18 | 2020-04-14 | 广东小天才科技有限公司 | 一种故障公告的方法、系统、存储介质及终端设备 |
CN111064639A (zh) * | 2019-12-19 | 2020-04-24 | 广东小天才科技有限公司 | 一种服务状态公告方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863206A (zh) * | 2005-12-23 | 2006-11-15 | 华为技术有限公司 | 流媒体业务异常处理的方法、移动终端及系统 |
CN1996997A (zh) * | 2006-12-14 | 2007-07-11 | 华为技术有限公司 | 一种处理流媒体业务异常的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131005A1 (en) * | 2002-01-10 | 2003-07-10 | International Business Machines Corporation | Method and apparatus for automatic pruning of search engine indices |
-
2012
- 2012-05-09 CN CN201210142000.6A patent/CN103391303B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863206A (zh) * | 2005-12-23 | 2006-11-15 | 华为技术有限公司 | 流媒体业务异常处理的方法、移动终端及系统 |
CN1996997A (zh) * | 2006-12-14 | 2007-07-11 | 华为技术有限公司 | 一种处理流媒体业务异常的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103391303A (zh) | 2013-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106713036B (zh) | 一种移动终端支付系统的故障处理方法及系统 | |
CN103391303B (zh) | 服务故障公告方法及使用该方法的服务器 | |
CN103535004A (zh) | 匿名信令 | |
CN101854647A (zh) | 一种通过短信接口远程监控mas服务器并进行管理的方法 | |
CN102111728B (zh) | 移动终端的网络连接管理模块和方法 | |
CN101388903A (zh) | 移动企业it标准化管理平台 | |
CN108134713A (zh) | 一种通信方法及装置 | |
CN107707689A (zh) | 一种dhcp报文处理方法、dhcp服务器及网关设备 | |
CN101796774A (zh) | 在ip网络上自动检查ip链接的连接状态的方法和系统 | |
CN100563263C (zh) | 在网络存储业务中实现系统高可用性的方法和系统 | |
CN101557354A (zh) | 一种在在线客服中发送图片的方法 | |
CN102457494B (zh) | 一种基于sip信令提高监听成功率的方法和装置 | |
CN104702647A (zh) | 信息请求方法和系统 | |
CN105007269A (zh) | 一种用户密码的恢复方法 | |
CN104009961A (zh) | 一种PPPoE会话标识分配方法及设备 | |
CN102769835A (zh) | 一种处理呼叫的方法和装置 | |
CN104955136A (zh) | 终端管理装置及方法、终端及其动作方法以及通信系统 | |
CN108366000A (zh) | 保活报文交互方法、装置、通信设备及通信系统 | |
CN105704008B (zh) | 一种网页即时通讯方法、系统及终端 | |
CN109768912A (zh) | 一种实时投放信息的方法及装置 | |
CN103533001A (zh) | 基于http多重代理的通信方法和系统、中间代理服务器 | |
CN107425994A (zh) | 一种实现参数远程管理的方法、终端和服务器 | |
CN103957079A (zh) | 一种hdlc网络中的协商方法和设备 | |
CN114416933A (zh) | 一种投诉处理方法、装置、电子设备及存储介质 | |
CN106789549B (zh) | 一种融合通信方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20151230 Address after: The South Road in Guangdong province Shenzhen city Fiyta building 518000 floor 5-10 Nanshan District high tech Zone Patentee after: Shenzhen Tencent Computer System Co., Ltd. Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |