[发明专利]一种连接建立方法及服务器在审
| 申请号: | 201611063095.7 | 申请日: | 2016-11-28 |
| 公开(公告)号: | CN106603633A | 公开(公告)日: | 2017-04-26 |
| 发明(设计)人: | 张伟 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L12/825;H04L12/26 |
| 代理公司: | 上海硕力知识产权代理事务所31251 | 代理人: | 郭桂峰 |
| 地址: | 201616 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 连接 建立 方法 服务器 | ||
技术领域
本发明涉及通信领域,尤其涉及一种连接建立方法及服务器。
背景技术
随着智能家居的发展,越来越多的设备需要接入到服务器,为了能和服务器保持实时通信,大多数设备都采用长连接的方式与服务器保持连接。设备与服务器之间一般会定时发送保活报文即KeepAlive报文来检测双方是否在线。
当接入到服务器设备的数量越来越大,服务器发送的KeepAlive报文的数量也会线性增长,由于服务器刚启动的时候,会有大量设备在同一时间段接入服务器,后续会周期性地发送KeepAlive报文到设备来探测设备的在线状态,由于设备接入时间比较集中,因此KeepAlive报文发送的周期性也较强,从而造成服务器的下行带宽使用率很不平均。
发明内容
为解决上述技术问题,本发明提供一种连接建立方法及服务器,能够通过控制socket建立的时间以此减慢保活报文周期的起始时间,从而使服务器下发保活报文的时间平均,减轻网络负担。
本发明提供的技术方案如下:
本发明公开了一种连接建立方法,包括步骤:S100、判断是否有客户端发起连接请求;S200、当有客户端发起连接请求时,判断当前的客户端接入量是否达到预设阈值;所述预设阈值小于客户端总数量;若是,执行步骤S300;否则,执行步骤S400;S300、等待预设时长之后接收客户端的连接请求,建立与客户端的连接;S400、接收客户端的连接请求,建立与客户端的连接。
本发明在客户端发起连接请求时先进行判断当前客户端接入量是否达到预设阈值,只有当客户端接入量未达到预设阈值时才会接收客户端的连接请求,建立与客户端的连接,从而控制socket的建立时间,以此可以减慢保活报文周期的起始时间,避免同一时间大量客户端连接服务器时,服务器同一时间发送保活报文,造成服务器的下行带宽使用率不平均,因此本发明能够有效减轻网络负担。
进一步优选的,所述步骤S100之前还包括步骤:S010、以所述预设时长为周期更新每个所述预设时长内的客户端接入量。
本发明定时更新每个预设时长内的客户端接入量,用于避免每个预设时长内同时接入过量的客户端,造成保活报文发送的周期的起始时间相同。
进一步优选的,所述步骤S100之前还包括步骤:S020、执行初始化程序,获取所述预设阈值。
进一步优选的,所述步骤S020进一步包括步骤:S021、对原始Accept函数进行改写,在所述原始Accept函数中增加预设接入速率参数,并设置所述预设接入速率参数;S022、根据所述预设接入速率参数得到所述预设阈值。
进一步优选的,所述预设接入速率参数和所述预设阈值按以下公式计算;R=N/T;Y=R*S;其中,R表示预设接入速率参数,N表示客户端总数量,T表示保活报文周期,Y表示预设阈值,S表示预设时长。
本发明还公开了一种服务器,包括:请求判断模块,用于判断是否有客户端发起连接请求;接入量判断模块,用于当有客户端发起连接请求时,判断当前的客户端接入量是否达到预设阈值;所述预设阈值小于客户端总数量;连接建立模块,用于等待预设时长之后接收客户端的连接请求,建立与客户端的连接;以及接收客户端的连接请求,建立与客户端的连接。
进一步优选的,还包括:更新计数模块,用于以所述预设时长为周期更新每个所述预设时长内的客户端接入量。
进一步优选的,还包括:获取模块,用于执行初始化程序,获取所述预设阈值。
进一步优选的,所述获取模块进一步包括:函数设置子模块,用于对原始Accept函数进行改写,在所述原始Accept函数中增加预设接入速率参数,并设置所述预设接入速率参数;计算子模块,用于根据所述预设接入速率参数得到所述预设阈值。
进一步优选的,所述预设接入速率参数和所述预设阈值按以下公式计算;R=N/T;Y=R*S;其中,R表示预设接入速率参数,N表示客户端总数量,T表示保活报文周期,Y表示预设阈值,S表示预设时长。
与现有技术相比,本发明在客户端发起连接请求时先进行判断当前客户端接入量是否达到预设阈值,只有当客户端接入量未达到预设阈值时才会接收客户端的连接请求,建立与客户端的连接,从而控制socket的建立时间,以此可以减慢保活报文周期的起始时间,避免同一时间大量客户端连接服务器时,服务器同一时间发送保活报文,造成服务器的下行带宽使用率不平均,因此本发明能够有效减轻网络负担。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明予以进一步说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611063095.7/2.html,转载请声明来源钻瓜专利网。





