客户端与服务端的连接方法及系统、客户端和服务端的制作方法

文档序号:7931140阅读:189来源:国知局
专利名称:客户端与服务端的连接方法及系统、客户端和服务端的制作方法
技术领域
本发明涉及通信技术领域,具体涉及一种客户端与服务端的连接方法及系统、客户端和服务端。
背景技术
在计算机领域,存在大量的客户端和服务端体系结构,一个或者多个甚至大量的客户端连接到服务端,与服务端进行交互,并获得服务,从而满足客户端的需求。目前,随着业务增长的需要,一个服务端可能为十万甚至上百万客户端同时提供服务,其经常需要不断的处理来自客户端的连接请求。当某个服务端出现异常,如重启或宕机时,那么断连的客户端将立即请求重连服务端,以保证客户端能够尽快连接。但是,每个服务端总的连接能力在一定情况下是固定的,尽管其可以通过优化逐步提升,但仍有一个合理的上限值,即最大连接能力。同时,每个服务端每秒能够处理接入的能力在一定情况下也是固定的,也有一个合理的值,即连接处理速率。显然,最大连接能力会远远大于连接处理速率。如果该服务端重启或者宕机,立即请求重新连接的大量客户端可能会使得服务端达到或超过其最大连接能力,而服务端连接处理速率无法同时处理如此大量连接,则会出现浪涌请求。所谓浪涌,即客户端并发向服务端请求服务,并发请求的速率超过服务端的处理能力。当客户端单位时间内连接请求的数量超出了服务端的处理能力时,超出处理能力部分的连接请求将会无法正常连接。面对此种情况,客户端存在相应的重连机制,当客户端连接失败时又会重新向服务端发起连接,使连接请求呈指数级增长,从而导致服务质量下降甚至中断,带来灾难性的后果。

发明内容
本发明实施例提供一种客户端与服务端的连接方法及系统、客户端和服务端,防止浪涌请求现象的发生,即避免服务端出现不可用或中断服务的情况。一种客户端与服务端的连接方法,包括客户端获取随机数种子信息;客户端在与服务端断连后,根据随机数种子信息以及随机函数计算得到随机延时时间,随机延时时间为客户端与服务端重连的延时时间;客户端在经过随机延时时间后,向服务端发送连接请求。一种客户端与服务端连接处理系统,包括客户端和服务端;客户端,用于获取随机数种子信息;还用于在与服务端断连后,根据随机数种子信息以及随机函数计算得到随机延时时间,随机延时时间为客户端与服务端重连的延时时间;还用于在经过随机延时时间后,向服务端发送连接请求;
服务端,用于生成随机数种子信息,还用于向客户端发送随机数种子信息。一种客户端,包括获取单元,用于获取随机数种子信息;计算单元,用于根据随机数种子信息以及随机函数计算得到随机延时时间,随机延时时间为客户端与服务端重连的延时时间;请求单元,用于在经过随机延时时间后,向服务端发送连接请求。一种服务端,包括信息生成单元,用于生成随机数种子信息;发送单元,用于向客户端发送随机数种子信息。本发明实施例的优点在于在服务端异常重启或者宕机的情况下,各客户端会根据获取的随机数种子信息及随机函数计算各自与服务端重连的随机延时时间,并分别在随机延时时间后进行延时连接,从而避免大量客户端同时请求连接服务端情况的发生。由于所有客户端都是在服务端的处理能力范围内重新建立连接,从而保证服务端的稳定可靠运行。


图1是本发明实施例客户端与服务端连接流程示意图;图2是本发明另一实施例客户端与服务端连接流程示意图;图3是本发明又一实施例客户端与服务端连接流程示意图;图4是本发明客户端与服务端连接处理系统的结构示意图;图5是本发明客户端逻辑结构示意图;图6是本发明服务端逻辑结构示意图。
具体实施例方式本发明实施例提供一种客户端与服务端的连接方法及系统、客户端和服务端,能够在服务端重启或宕机情况下,防止出现客户端的重新连接请求超过服务端的处理能力的情况,避免服务端不可用或中断服务。 下面对本发明进行详细说明。请参阅图1,本发明实施例的客户端与服务端的连接方法的流程一个实施例包括101、客户端获取随机数种子信息。客户端可以是连接服务端的各类计算机终端,服务端包括Web系统服务端,云服务系统服务端,云存储服务端,云杀毒系统服务端等。随机数种子信息是含有随机数种子的信息,随机数种子是延时随机数种子,用于计算随机延时时间。102、客户端在与服务端断连后,根据随机数种子信息以及随机函数计算得到随机延时时间。当服务端宕机或重启服务端时,在客户端与服务端断连,客户端将随机数种子输入随机函数,计算得到随机数,该随机数值即为随机延时时间。103、客户端在经过随机延时时间后,向服务端发送连接请求。
5
客户端与服务端断连后,所有客户端并不是立即或同时请求重连服务端,而是分别在经过各自的随机延时时间后,向服务端发送连接请求。在服务端异常重启或者宕机的情况下,本发明实施例各客户端会根据获取的随机数种子信息及随机函数计算各自与服务端重连的随机延时时间,并分别在随机延时时间后进行延时连接,从而避免大量客户端同时请求连接服务端情况的发生。本发明实施例的客户端与服务端的连接方法的流程可参考图2,包括
201、客户端向服务端发送连接请求。202、服务端连接应答并向客户端发送随机数种子信息,客户端从服务端获得随机数种子信息。为了客户端与服务端在第一次建立连接后,就能够避免浪涌请求现象发生,在客户端第一次向服务端发送连接请求时,服务端就向客户端发送随机数种子信息。客户端向服务端发送的连接请求消息定义和服务端连接应答消息定义可分别参见表1和表2。表1连接请求消息定义表
权利要求
1.一种客户端与服务端的连接方法,其特征在于,包括客户端获取随机数种子信息;所述客户端在与所述服务端断连后,根据所述随机数种子信息以及随机函数计算得到随机延时时间,所述随机延时时间为所述客户端与服务端重连的延时时间;所述客户端在经过所述随机延时时间后,向所述服务端发送连接请求。
2.根据权利要求1所述的客户端与服务端的连接方法,其特征在于,所述随机数种子信息是由所述客户端从所述服务端获取或由所述客户端自行配置。
3.根据权利要求1所述的客户端与服务端的连接方法,其特征在于,所述随机数种子信息为随机数种子信息=(服务端所能承接的总的客户端连接数量/服务端每秒钟能够承接的客户端连接数量)*调整因子;所述调整因子是一系数,用于调整随机数种子的大小。
4.根据权利要求1所述的客户端与服务端的连接方法,其特征在于,在所述客户端获取随机数种子信息步骤之后还包括若所述客户端获取的随机数种子信息是新的随机数种子信息,则更新所述客户端存有的随机数种子信息。
5.根据权利要求4所述的客户端与服务端的连接方法,其特征在于,所述新的随机数种子信息是由所述客户端从所述服务端获取或由所述客户端自行配置。
6.根据权利要求1所述的客户端与服务端的连接方法,其特征在于,在所述客户端获取随机数种子信息步骤之前,所述客户端获取随机数种子信息的缺省值。
7.根据权利要求6所述的客户端与服务端的连接方法,其特征在于,若所述客户端保存所述随机数种子信息,所述客户端根据所述随机数种子信息以及随机函数计算得到随机延时时间,所述随机延时时间为所述客户端与所述服务端重连的延时时间;若所述客户端未收到或者未保存或者丢失所述随机数种子信息,所述客户端根据所述随机数种子信息的缺省值以及随机函数计算得到随机延时时间,所述随机延时时间为所述客户端与所述服务端重连的延时时间。
8.一种客户端与服务端连接处理系统,其特征在于,包括客户端和服务端; 所述客户端,用于获取随机数种子信息;还用于在与服务端断连后,根据随机数种子信息以及随机函数计算得到随机延时时间,所述随机延时时间为所述客户端与所述服务端重连的延时时间;还用于在经过所述随机延时时间后,向所述服务端发送连接请求;所述服务端,用于生成随机数种子信息,还用于向所述客户端发送随机数种子信息。
9.一种客户端,其特征在于,包括获取单元,用于获取随机数种子信息;计算单元,用于根据所述随机数种子信息以及随机函数计算得到随机延时时间,所述随机延时时间为所述客户端与服务端重连的延时时间;请求单元,用于在经过所述随机延时时间后,向所述服务端发送连接请求。
10.根据权利要求9所述的客户端,其特征在于,还包括更新单元,用于更新所述随机数种子信息。
11.一种服务端,其特征在于,包括 信息生成单元,用于生成随机数种子信息; 发送单元,用于向客户端发送随机数种子信息。
12.根据权利要求11所述的服务端,其特征在于,所述随机数种子信息通过如下方式生成随机数种子信息=(服务端所能承接的总的客户端连接数量/服务端每秒钟能够承接的客户端连接数量)*调整因子;所述调整因子是一系数,用于调整随机数种子的大小。
13.根据权利要求11所述的服务端,其特征在于,还包括应答单元,用于应答客户端获取随机数种子信息的请求。
全文摘要
本发明公开了一种客户端与服务端的连接方法,客户端获取随机数种子信息;客户端在与服务端断连后,客户端根据随机数种子信息以及随机函数计算得到随机延时时间,该随机延时时间为客户端与服务端重连的延时时间;客户端在经过该随机延时时间后,向服务端发送连接请求。因此,在服务端重启或宕机情况下,本发明使各客户端按照各自计算的随机延时时间分别进行延迟连接,从而防止大量客户端同时请求连接服务端的情况发生,避免服务端中断服务。
文档编号H04L29/08GK102387069SQ20111030164
公开日2012年3月21日 申请日期2011年10月8日 优先权日2011年10月8日
发明者王志红 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1