一种基于地理位置的代理服务器均衡分配的方法

文档序号:8342838阅读:761来源:国知局
一种基于地理位置的代理服务器均衡分配的方法
【技术领域】
[0001] 本发明属于计算机分布式领域,涉及一种基于地理位置的代理服务器均衡分配的 方法。
【背景技术】
[0002] 在大型的网络服务系统中,客户端一般通过代理服务器连接到系统决策中心,为 了提高客户端的响应速度和优化代理服务器资源的使用,众多代理服务器被分布在不同的 地理位置,由系统统一管理。采用均衡分配技术实现代理服务器的负载均衡。
[0003] 负载均衡从地理结构上分为两种:一种是本地负载均衡即对本地服务器群做负载 均衡;另一种是全局负载均衡即对不同地理位置的服务器群做负载均衡。互联网产品的用 户分散在不同地理位置,为了提供更好的服务质量,直接为用户提供服务的服务端也分布 在不同的地理位置。由于全局负载能就近提供服务,有效解决网络拥堵问题,提高访问质 量,因此全局负载均衡广泛应用于互联网产品中。
[0004] 目前常见的全局负载均衡策略主要有基于DNS负载均衡、基于应用重定向。基于 DNS负载均衡是在用户发出任何连接之前,先通过DNS请求获取到服务器的IP地址,向用户 返回解析结果的过程中进行智能决策,给用户一个最佳的IP地址。由于DNS负载均衡采用 的是简单的轮循算法,不能区分服务器之间的差异,不能反应服务器当前运行的状态,所以 DNS服务器将请求平均的分配到后台服务器上,而不考虑每个服务器当前的负载情况。如果 后台服务器的处理能力不同,最慢的服务器将成为系统的瓶颈,处理能力强的服务器不能 得到充分的发挥;基于应用重定向是在负载均衡设备收到应用请求并选择最佳服务IP后, 通过应用层协议将用户请求重定向到所选择的最佳服务IP,这种方式只适用于支持应用重 定向的协议(如HTTP、MMS),且性能较差。

【发明内容】

[0005] 本发明主要目的是针对现在技术的不足,提供一种基于地理位置的代理服务器均 衡分配的方法。
[0006] 本发明解决其技术问题所采用的技术方案包括如下具体步骤:
[0007] 步骤(1)、均衡分配器载入所有IP所属的地理位置、运营商信息;
[0008] 步骤(2)、均衡分配器载入各省份的经炜度,并计算出每两个省份之间的距离值, 并保存,具体计算方法如下:
[0009] 首先将A省的经炜度(lngOrgl,latOrgl)和B省的经炜度(Ing0rg2,Iat0rg2)转 化为弧度,得到A省的的弧度值(lngl,latl)和B省的的弧度值(lng2,lat2);转化公式为Rad=DegXn/180,其中Deg表示经度或炜度度数,Rad表示经度或炜度对应的弧度值; [0010] 然后计算A省与B省的距离值D,
[0011]
【主权项】
1. 一种基于地理位置的代理服务器均衡分配的方法,其特征在于包括如下步骤: 步骤(1)、均衡分配器载入所有IP所属的地理位置、运营商信息; 步骤(2)、均衡分配器载入各省份的经炜度,并计算出每两个省份之间的距离值,并保 存,具体计算方法如下: 首先将A省的经炜度(lngOrgl, IatOrgl)和B省的经炜度(Ing0rg2, Iat0rg2)转化为 弧度,得到A省的的弧度值(lngl,latl)和B省的的弧度值(lng2, lat2);转化公式为Rad =DegX Π /180,其中Deg表示经度或炜度度数,Rad表示经度或炜度对应的弧度值; 然后计算A省与B省的距离值D,
其中R为地球半径; 步骤(3)、代理服务器启动后与均衡分配器建立基于SOCKET (套接字)的TCP (传输控 制协议)连接;代理服务器告知均衡分配器本代理服务器最大连接的客户端数量和本代理 服务器的IP列表1P1... IPn,I < n,均衡分配器为代理服务器告知的每个IP查询出该IP对 应的地理位置、运营商信息并保存,代理服务器每秒通知均衡分配器本代理服务器当前连 接的客户端数量CCN ; 步骤(4)、客户端与均衡分配器建立基于SOCKET (套接字)的TCP (传输控制协议)连 接,并请求均衡分配器为其分配代理服务器; 步骤(5)、均衡分配器根据客户端与均衡分配器建立的基于SOCKET(套接字)的 TCP(传输控制协议)连接获取客户端的IP,根据客户端IP查询出该IP对应的地理位置、 运营商信息; 步骤(6)、均衡分配器根据客户端IP,计算出每台代理服务器的每个IP与该客户端IP 的匹配权值,具体权值计算如下: ① 地理位置匹配权值:1)如客户端与代理服务器在同一个县,权值记为L1;2)如客户 端与代理服务器在同一个市不同县,权值记为L 2;3)如客户端与代理服务器在同一个省不 同市,权值记为L3;4)如客户端与代理服务器在同一个国家不同省份,查询出客户端所在省 份与代理服务器所在省份的距离值D,根据距离值D计算出权值记SL 4,L4= 99-D/100 ;5) 如客户端与代理服务器在不同国家,权值记为L5;0彡L5< L4< L3< L2< L1; ② 运营商匹配权值:如果客户端与代理服务器IP所属运营商相同,权值记为C1,不同 记为 C2;0 彡 C2< C1; ③ 计算客户端IP与代理服务器IP的匹配权值Weight, Weight = LiXN+C^i = I, 2, 3, 4, 5 ;j = I, 2); 其中,Li为地理位置匹配权值,(^为运营商匹配权值,N为自然数; 步骤(7)、均衡分配器为每台代理服务器选取权值最大的IP,如果存在多个权值最大, 则代理服务器的IP从多个最大权值中随机选取一个,作为本代理服务器为本客户端提供 服务的IP ;同时将权值相同的代理服务器放入一个代理服务器集PS,所有的代理服务器PS 集按选取出来的权值从大到小排序; 步骤(8)、按权值从大到小选取代理服务器集PS,从代理服务器集PS中选取负载Load 最小的代理服务器,当权值最大的代理服务器集中的代理服务器负载均满,则从权值第二 大的代理服务器集中选负载最小的代理服务器;依次类推,直到所有的代理服务器负载均 满; 代理服务器负载Load计算如下,Load = CCN/MCN,其中MCN表示代理服务器最大连接 的客户端数量,CCN表示代理服务器当前连接的客户端数量。
【专利摘要】本发明公开了一种基于地理位置的代理服务器均衡分配的方法。本发明步骤如下:(1)均衡分配器载入信息;(2)均衡分配器计算两个省份之间的距离值并保存;(3)代理服务器与均衡分配器建立连接,并告知均衡分配器其最大连接的客户端数量和IP列表IP1…IPn,1≤n,均衡分配器查询出该IP对应的信息并保存;(4)客户端与均衡分配器建立连接,并请求均衡分配器为其分配代理服务器;(5)均衡分配器获取客户端的IP并查询该IP对应的信息;(6)均衡分配器根据客户端IP计算每台代理服务器IP与该客户端IP的匹配权值;(7)衡分配器为每台代理服务器选取权值最大的IP;(8)按权值从大到小选取代理服务器集。本发明效率高性能好。
【IPC分类】H04L29-08
【公开号】CN104660707
【申请号】CN201510103102
【发明人】陈武平, 胡开荆
【申请人】浙江万朋网络技术有限公司
【公开日】2015年5月27日
【申请日】2015年3月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1