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

技术编号:11505157 阅读:90 留言:0更新日期:2015-05-27 05:57
本发明专利技术公开了一种基于地理位置的代理服务器均衡分配的方法。本发明专利技术步骤如下:(1)均衡分配器载入信息;(2)均衡分配器计算两个省份之间的距离值并保存;(3)代理服务器与均衡分配器建立连接,并告知均衡分配器其最大连接的客户端数量和IP列表IP1…IPn,1≤n,均衡分配器查询出该IP对应的信息并保存;(4)客户端与均衡分配器建立连接,并请求均衡分配器为其分配代理服务器;(5)均衡分配器获取客户端的IP并查询该IP对应的信息;(6)均衡分配器根据客户端IP计算每台代理服务器IP与该客户端IP的匹配权值;(7)衡分配器为每台代理服务器选取权值最大的IP;(8)按权值从大到小选取代理服务器集。本发明专利技术效率高性能好。

【技术实现步骤摘要】
一种基于地理位置的代理服务器均衡分配的方法
本专利技术属于计算机分布式领域,涉及一种基于地理位置的代理服务器均衡分配的方法。
技术介绍
在大型的网络服务系统中,客户端一般通过代理服务器连接到系统决策中心,为了提高客户端的响应速度和优化代理服务器资源的使用,众多代理服务器被分布在不同的地理位置,由系统统一管理。采用均衡分配技术实现代理服务器的负载均衡。负载均衡从地理结构上分为两种:一种是本地负载均衡即对本地服务器群做负载均衡;另一种是全局负载均衡即对不同地理位置的服务器群做负载均衡。互联网产品的用户分散在不同地理位置,为了提供更好的服务质量,直接为用户提供服务的服务端也分布在不同的地理位置。由于全局负载能就近提供服务,有效解决网络拥堵问题,提高访问质量,因此全局负载均衡广泛应用于互联网产品中。目前常见的全局负载均衡策略主要有基于DNS负载均衡、基于应用重定向。基于DNS负载均衡是在用户发出任何连接之前,先通过DNS请求获取到服务器的IP地址,向用户返回解析结果的过程中进行智能决策,给用户一个最佳的IP地址。由于DNS负载均衡采用的是简单的轮循算法,不能区分服务器之间的差异,不能反应服务器当前运行的状态,所以DNS服务器将请求平均的分配到后台服务器上,而不考虑每个服务器当前的负载情况。如果后台服务器的处理能力不同,最慢的服务器将成为系统的瓶颈,处理能力强的服务器不能得到充分的发挥;基于应用重定向是在负载均衡设备收到应用请求并选择最佳服务IP后,通过应用层协议将用户请求重定向到所选择的最佳服务IP,这种方式只适用于支持应用重定向的协议(如HTTP、MMS),且性能较差。
技术实现思路
本专利技术主要目的是针对现在技术的不足,提供一种基于地理位置的代理服务器均衡分配的方法。本专利技术解决其技术问题所采用的技术方案包括如下具体步骤:步骤(1)、均衡分配器载入所有IP所属的地理位置、运营商信息;步骤(2)、均衡分配器载入各省份的经纬度,并计算出每两个省份之间的距离值,并保存,具体计算方法如下:首先将A省的经纬度(lngOrg1,latOrg1)和B省的经纬度(lngOrg2,latOrg2)转化为弧度,得到A省的的弧度值(lng1,lat1)和B省的的弧度值(lng2,lat2);转化公式为Rad=Deg×Π/180,其中Deg表示经度或纬度度数,Rad表示经度或纬度对应的弧度值;然后计算A省与B省的距离值D,其中R为地球半径;步骤(3)、代理服务器启动后与均衡分配器建立基于SOCKET(套接字)的TCP(传输控制协议)连接;代理服务器告知均衡分配器本代理服务器最大连接的客户端数量和本代理服务器的IP列表IP1...IPn,1≤n,均衡分配器为代理服务器告知的每个IP查询出该IP对应的地理位置、运营商信息并保存,代理服务器每秒通知均衡分配器本代理服务器当前连接的客户端数量CCN;步骤(4)、客户端与均衡分配器建立基于SOCKET(套接字)的TCP(传输控制协议)连接,并请求均衡分配器为其分配代理服务器;步骤(5)、均衡分配器根据客户端与均衡分配器建立的基于SOCKET(套接字)的TCP(传输控制协议)连接获取客户端的IP,根据客户端IP查询出该IP对应的地理位置、运营商信息;步骤(6)、均衡分配器根据客户端IP,计算出每台代理服务器的每个IP与该客户端IP的匹配权值,具体权值计算如下:①地理位置匹配权值:1)如客户端与代理服务器在同一个县,权值记为L1;2)如客户端与代理服务器在同一个市不同县,权值记为L2;3)如客户端与代理服务器在同一个省不同市,权值记为L3;4)如客户端与代理服务器在同一个国家不同省份,查询出客户端所在省份与代理服务器所在省份的距离值D,根据距离值D计算出权值记为L4,L4=99-D/100;5)如客户端与代理服务器在不同国家,权值记为L5;0≤L5<L4<L3<L2<L1;②运营商匹配权值:如果客户端与代理服务器IP所属运营商相同,权值记为C1,不同记为C2;0≤C2<C1;③计算客户端IP与代理服务器IP的匹配权值Weight,Weight=Li×N+Cj(i=1,2,3,4,5;j=1,2);其中,Li为地理位置匹配权值,Cj为运营商匹配权值,N为自然数;步骤(7)、均衡分配器为每台代理服务器选取权值最大的IP,如果存在多个权值最大,则代理服务器的IP从多个最大权值中随机选取一个,作为本代理服务器为本客户端提供服务的IP;同时将权值相同的代理服务器放入一个代理服务器集PS,所有的代理服务器PS集按选取出来的权值从大到小排序;步骤(8)、按权值从大到小选取代理服务器集PS,从代理服务器集PS中选取负载Load最小的代理服务器,当权值最大的代理服务器集中的代理服务器负载均满,则从权值第二大的代理服务器集中选负载最小的代理服务器;依次类推,直到所有的代理服务器负载均满;代理服务器负载Load计算如下,Load=CCN/MCN,其中MCN表示代理服务器最大连接的客户端数量,CCN表示代理服务器当前连接的客户端数量。本专利技术有益效果如下:本专利技术中的地理位置精确到县,高效且性能好;让使用不同运营商网络的用户无需跨运营商传输网络数据,从而得到最佳的用户体验;让不同地理位置的用户与服务器之间的网络数据传输的距离最短,使得网络传输耗时最短;可区分出服务器硬件之间的差异,使得不同硬件的服务器都能得到充分利用。具体实施方式下面对本专利技术作进一步的说明。一种基于地理位置的代理服务器均衡分配的方法,主要的组成部分是:客户端,用于向用户提供获取服务请求操作和处理请求返回的结果;代理服务器,用于接收客户端的请求,并向系统决策中心转发客户端的请求,将决策中心返回的结果发送给客户端;均衡分配器,用于均衡分配代理服务器。本专利技术方法的具体步骤是:步骤(1)、均衡分配器载入所有IP所属的地理位置、运营商信息;步骤(2)、均衡分配器载入各省份的经纬度,并计算出每两个省份之间的距离值,并保存,具体计算方法如下:首先将A省的经纬度(lngOrg1,latOrg1)和B省的经纬度(lngOrg2,latOrg2)转化为弧度,得到A省的的弧度值(lng1,lat1)和B省的的弧度值(lng2,lat2);转化公式为Rad=Deg×Π/180,其中Deg表示经度或纬度度数,Rad表示经度或纬度对应的弧度值;然后计算A省与B省的距离值D,其中R为地球半径;步骤(3)、代理服务器启动后与均衡分配器建立基于SOCKET(套接字)的TCP(传输控制协议)连接;代理服务器告知均衡分配器本代理服务器最大连接的客户端数量和本代理服务器的IP列表IP1...IPn,1≤n,均衡分配器为代理服务器告知的每个IP查询出该IP对应的地理位置、运营商信息并保存,代理服务器每秒通知均衡分配器本代理服务器当前连接的客户端数量CCN;步骤(4)、客户端与均衡分配器建立基于SOCKET(套接字)的TCP(传输控制协议)连接,并请求均衡分配器为其分配代理服务器;步骤(5)、均衡分配器根据客户端与均衡分配器建立的基于SOCKET(套接字)的TCP(传输控制协议)连接获取客户端的IP,根据客户端IP查询出该IP对应的地理位置、运营商信息;步骤(6)、均衡分配器根据客户端IP,计算本文档来自技高网
...

【技术保护点】
一种基于地理位置的代理服务器均衡分配的方法,其特征在于包括如下步骤:步骤(1)、均衡分配器载入所有IP所属的地理位置、运营商信息;步骤(2)、均衡分配器载入各省份的经纬度,并计算出每两个省份之间的距离值,并保存,具体计算方法如下:首先将A省的经纬度(lngOrg1,latOrg1)和B省的经纬度(lngOrg2,latOrg2)转化为弧度,得到A省的的弧度值(lng1,lat1)和B省的的弧度值(lng2,lat2);转化公式为Rad=Deg×Π/180,其中Deg表示经度或纬度度数,Rad表示经度或纬度对应的弧度值;然后计算A省与B省的距离值D,D=2×R×arcsin((sin(lat1-lat22))2+cos(lat1)cos(lat2)(sin(lng1-lng22))2)]]>其中R为地球半径;步骤(3)、代理服务器启动后与均衡分配器建立基于SOCKET(套接字)的TCP(传输控制协议)连接;代理服务器告知均衡分配器本代理服务器最大连接的客户端数量和本代理服务器的IP列表IP1...IPn,1≤n,均衡分配器为代理服务器告知的每个IP查询出该IP对应的地理位置、运营商信息并保存,代理服务器每秒通知均衡分配器本代理服务器当前连接的客户端数量CCN;步骤(4)、客户端与均衡分配器建立基于SOCKET(套接字)的TCP(传输控制协议)连接,并请求均衡分配器为其分配代理服务器;步骤(5)、均衡分配器根据客户端与均衡分配器建立的基于SOCKET(套接字)的TCP(传输控制协议)连接获取客户端的IP,根据客户端IP查询出该IP对应的地理位置、运营商信息;步骤(6)、均衡分配器根据客户端IP,计算出每台代理服务器的每个IP与该客户端IP的匹配权值,具体权值计算如下:①地理位置匹配权值:1)如客户端与代理服务器在同一个县,权值记为L1;2)如客户端与代理服务器在同一个市不同县,权值记为L2;3)如客户端与代理服务器在同一个省不同市,权值记为L3;4)如客户端与代理服务器在同一个国家不同省份,查询出客户端所在省份与代理服务器所在省份的距离值D,根据距离值D计算出权值记为L4,L4=99‑D/100;5)如客户端与代理服务器在不同国家,权值记为L5;0≤L5<L4<L3<L2<L1;②运营商匹配权值:如果客户端与代理服务器IP所属运营商相同,权值记为C1,不同记为C2;0≤C2<C1;③计算客户端IP与代理服务器IP的匹配权值Weight,Weight=Li×N+Cj(i=1,2,3,4,5;j=1,2);其中,Li为地理位置匹配权值,Cj为运营商匹配权值,N为自然数;步骤(7)、均衡分配器为每台代理服务器选取权值最大的IP,如果存在多个权值最大,则代理服务器的IP从多个最大权值中随机选取一个,作为本代理服务器为本客户端提供服务的IP;同时将权值相同的代理服务器放入一个代理服务器集PS,所有的代理服务器PS集按选取出来的权值从大到小排序;步骤(8)、按权值从大到小选取代理服务器集PS,从代理服务器集PS中选取负载Load最小的代理服务器,当权值最大的代理服务器集中的代理服务器负载均满,则从权值第二大的代理服务器集中选负载最小的代理服务器;依次类推,直到所有的代理服务器负载均满;代理服务器负载Load计算如下,Load=CCN/MCN,其中MCN表示代理服务器最大连接的客户端数量,CCN表示代理服务器当前连接的客户端数量。...

【技术特征摘要】
1.一种基于地理位置的代理服务器均衡分配的方法,其特征在于包括如下步骤:步骤(1)、均衡分配器载入所有IP所属的地理位置、运营商信息;步骤(2)、均衡分配器载入各省份的经纬度,并计算出每两个省份之间的距离值,并保存,具体计算方法如下:首先将A省的经纬度(lngOrg1,latOrg1)和B省的经纬度(lngOrg2,latOrg2)转化为弧度,得到A省的弧度值(lng1,lat1)和B省的弧度值(lng2,lat2);转化公式为Rad=Deg×Π/180,其中Deg表示经度或纬度度数,Rad表示经度或纬度对应的弧度值;然后计算A省与B省的距离值D,其中R为地球半径;步骤(3)、代理服务器启动后与均衡分配器建立基于SOCKET的TCP连接;代理服务器告知均衡分配器本代理服务器最大连接的客户端数量和本代理服务器的IP列表IP1...IPn,1≤n,均衡分配器为代理服务器告知的每个IP查询出该IP对应的地理位置、运营商信息并保存,代理服务器每秒通知均衡分配器本代理服务器当前连接的客户端数量CCN;步骤(4)、客户端与均衡分配器建立基于SOCKET的TCP连接,并请求均衡分配器为其分配代理服务器;步骤(5)、均衡分配器根据客户端与均衡分配器建立的基于SOCKET的TCP连接获取客户端的IP,根据客户端IP查询出该IP对应的地理位置、运营商信息;步骤(6)、均衡分配器根据客户端IP,计算出每台代理服务器的每个IP与该客户端IP的匹配权值,具体权值计算如下:①地理位置匹配权值:1)如客户端与代理服务器在同一个县...

【专利技术属性】
技术研发人员:陈武平胡开荆
申请(专利权)人:浙江万朋网络技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1