System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及负载均衡,具体提供一种长连接负载均衡方法、装置及计算机可读记录介质。
技术介绍
1、长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
2、长连接单机的连接数是存在上限的,从经验来看,cpu和内存是限制连接数的主要原因。内存不必多说,每个连接的保持都要占用一点内存,一条空连接,也要占用几kb的内存,如果再塞点数据,几百kb到几mb也是常有的事,按一条连接1mb算,一台128gb内存的物理机能撑十几万的连接。其次是cpu,我们上面说了长连接的场景一般是单个客户端操作频繁,这就会导致每增加一条连接,cpu消耗就增加一些,一般单机能撑十万的连接,已经算是可以了。
3、基于单机性能和高可用容灾的考虑,生产环境长连接服务通常会部署多个节点,为此,需要考虑长连接服务的负载均衡问题。
4、有鉴于此,特提出本专利技术专利。
技术实现思路
1、为了解决上述技术问题,本专利技术提出一种长连接负载均衡方法、装置及计算机可读记录介质,具体地,采用了如下的技术方案:
2、在第一方面,本专利技术提出一种长连接负载均衡方法,包括:
3、服务器端预先生成待分发的长连接ip列表文件;
4、客户端部署完成后,向服务器端发送注册请求;
5、服务器端向注册完成的客户端分发长连接ip列表文件;
6、客户端接收服务器端分发的长连接ip列表文件,通过长连接ip列表文
7、服务器端通过长连接ip列表文件回收ip列表的使用状态,根据ip列表的使用状态进行长连接负载均衡。
8、作为本专利技术的可选实施方式,本专利技术的一种长连接负载均衡方法中,所述服务器端通过长连接ip列表文件回收ip列表的使用状态,根据ip列表的使用状态进行长连接负载均衡包括:
9、服务器端通过长连接ip列表文件回收ip列表的使用状态;
10、根据ip列表的使用状态获取当前用户列表和当前ip列表;
11、生成用户与ip的正排索引文件和倒排索引文件;
12、根据所述正排索引文件和倒排索引文件监控ip建立长连接的使用情况,进行长连接负载均衡。
13、作为本专利技术的可选实施方式,本专利技术的一种长连接负载均衡方法中,所述根据所述正排索引文件和倒排索引文件监控ip建立长连接的使用情况,进行长连接负载均衡包括:
14、根据所述正排索引文件和倒排索引文件统计获取各ip建立长连接的用户数量,以及各用户建立长连接使用的ip数量;
15、根据统计结果选出热门ip以及热门用户;
16、服务器端生成新的长连接ip列表文件,分发给热门ip对应的客户端或者热门用户所属的客户端;
17、其中,所述的热门ip是指建立长连接用户数量大于等于预设用户数量最大阈值的ip,所述的热门用户是指使用ip数量大于预设ip数量阈值的用户。
18、作为本专利技术的可选实施方式,本专利技术的一种长连接负载均衡方法,包括:
19、客户端监控长连接ip列表文件;
20、当所述长连接ip列表文件发生变更时,对比变更后与变更前的长连接ip列表文件;
21、根据对比结果,针对客户端的长连接进行变更。
22、作为本专利技术的可选实施方式,本专利技术的一种长连接负载均衡方法中,所述根据对比结果,针对客户端的长连接进行变更包括:
23、针对变更前与变更后的长连接ip列表文件中均含有的ip,保留当前的长连接;
24、针对变更后长连接ip列表文件中删除的ip,删除该ip对应的长连接,并根据更后的长连接ip列表文件中的ip列表重新建立新的长连接;
25、针对变更后长连接ip列表文件中新增的ip,用户客户端变更长连接或者新增长连接使用。
26、作为本专利技术的可选实施方式,本专利技术的一种长连接负载均衡方法中,所述客户端接收服务器端分发的长连接ip列表文件,通过长连接ip列表文件生成的ip列表建立长连接包括:
27、客户端根据长连接ip列表文件取数量大于用户数量的ip列表建立长连接,形成连接池;
28、客户端接收长连接请求时,采用负载均衡策略由连接池取ip建立长连接。
29、作为本专利技术的可选实施方式,本专利技术的一种长连接负载均衡方法,包括:
30、客户端接收服务器端分发的长连接ip列表文件,进行备份;
31、预留备份的长连接ip列表文件,用于服务器端异常时备选使用。在第二方面,本专利技术提供一种长连接负载均衡装置,包括:
32、服务器端模块,预先生成待分发的长连接ip列表文件;
33、客户端模块,完成客户端部署后,向服务器端发送注册请求;
34、负载分发模块,向注册完成的客户端分发长连接ip列表文件;
35、客户端模块接收负载分发模块分发的长连接ip列表文件,通过长连接ip列表文件生成的ip列表建立长连接,并在长连接ip列表文件中标记ip的使用状态;
36、服务器端模块通过负载分发模块获取长连接ip列表文件中ip列表的使用状态,根据ip列表的使用状态进行长连接负载均衡。
37、在第三方面,本专利技术提出一种电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行所述一种长连接负载均衡方法。
38、在第四方面,本专利技术提出一种计算机可读记录介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现所述一种长连接负载均衡方法。
39、与现有技术相比,本专利技术的有益效果:
40、由长连接的工作特点可知,现有的长连接一旦建立,在很长一段时内都会保持连接状态不变,因此对于长连接建立一般采用轮询的方式分发ip,但是轮询的方式一般会按照一定的顺序进行轮询,这就导致ip列表中排序靠前的ip过热,不利于长连接的负载均衡。本专利技术的一种长连接负载均衡方法,利用ip列表文件实现ip列表的分发和使用状态回收,实现对于长连接ip列表的监控,当出现过热ip时,服务器端通过分发长连接ip列表文件的方式进行均衡。因此,本专利技术的一种长连接负载均衡方法,实现了长连接的负载均衡,确保长连接的稳定性,以及提升系统可靠性。
本文档来自技高网...【技术保护点】
1.一种长连接负载均衡方法,其特征在于,包括:
2.根据权利要求1所述的一种长连接负载均衡方法,其特征在于,所述服务器端通过长连接IP列表文件回收IP列表的使用状态,根据IP列表的使用状态进行长连接负载均衡包括:
3.根据权利要求2所述的一种长连接负载均衡方法,其特征在于,所述根据所述正排索引文件和倒排索引文件监控IP建立长连接的使用情况,进行长连接负载均衡包括:
4.根据权利要求1-3任意一项所述的一种长连接负载均衡方法,其特征在于,包括:
5.根据权利要求4所述的一种长连接负载均衡方法,其特征在于,所述根据对比结果,针对客户端的长连接进行变更包括:
6.根据权利要求1-3任意一项所述的一种长连接负载均衡方法,其特征在于,所述客户端接收服务器端分发的长连接IP列表文件,通过长连接IP列表文件生成的IP列表建立长连接包括:
7.根据权利要求1-3任意一项所述的一种长连接负载均衡方法,其特征在于,包括:
8.一种长连接负载均衡装置,其特征在于,包括:
9.电子设备,包括处理器和存储器,所
10.一种计算机可读记录介质,其特征在于,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现如权利要求1-7任意一项所述的一种长连接负载均衡方法。
...【技术特征摘要】
1.一种长连接负载均衡方法,其特征在于,包括:
2.根据权利要求1所述的一种长连接负载均衡方法,其特征在于,所述服务器端通过长连接ip列表文件回收ip列表的使用状态,根据ip列表的使用状态进行长连接负载均衡包括:
3.根据权利要求2所述的一种长连接负载均衡方法,其特征在于,所述根据所述正排索引文件和倒排索引文件监控ip建立长连接的使用情况,进行长连接负载均衡包括:
4.根据权利要求1-3任意一项所述的一种长连接负载均衡方法,其特征在于,包括:
5.根据权利要求4所述的一种长连接负载均衡方法,其特征在于,所述根据对比结果,针对客户端的长连接进行变更包括:
6.根据权利要求1-3任意一项所述的...
【专利技术属性】
技术研发人员:黄鹤南,王岩,程童,王敏,李泽贤,黄康,
申请(专利权)人:北京百舸飞驰科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。