发明内容
本发明实施例提供一种全局负载均衡调度方法、数据传输方法、装置及全局负载均衡调度系统,以解决现有技术中用户负载分配不均衡,跨省流量增大的技术问题。
为解决上述技术问题,本发明实施例提供一种全局负载均衡调度方法,应用于内容分发网络,所述方法包括:
获取用户发送的请求消息;
根据所述请求消息确定所述用户的IP地址;
根据当前网络负载情况,选择离所述用户距离近且网络状态最佳的内容分发节点服务器;
对所述请求消息和所述用户的IP地址进行封装,得到封装后的IP数据包;
将所述IP数据包发送给所述内容分发节点服务器,以便于内容分发节点服务器根据所述请求消息向所述IP地址对应的用户发送响应消息。
优选的,所述根据当前网络负载情况,选择离所述用户距离近且网络状态最佳的内容分发节点服务器,具体包括:
根据当前内容分发网络负载情况,与数据库服务器进行协商,选出性能指标好的内容分发节点服务器;
计算所述用户的IP地址与选出的性能指标好的内容分发节点服务器的延时和跳数;
根据计算出的延时和跳数选择离所述用户距离近且网络状态最佳的内容分发节点服务器。
本发明还提供一种数据传输方法,应用于内容分发网络,所述方法包括:
接收全局负载均衡服务器发送的IP数据包,所述IP数据包为全局负载均衡服务器进行封装的IP数据包;
对所述IP数据包进行解封装,得到所述用户的请求消息及用户的IP地址;
根据所述用户的请求消息向所述IP地址对应的用户发送响应消息。
相应的,本发明还提供一种全局负载均衡调度装置,应用于内容分发网络,包括:
获取单元,用于获取用户发送的请求消息;
确定单元,根据所述请求消息确定所述用户的IP地址;
选择单元,用于根据当前网络负载情况,选择离所述用户距离最近且网络状态最佳的内容分发节点服务器;
封装单元,用于对所述请求消息和所述用户的IP地址进行封装,得到封装后的IP数据包;
发送单元,用于将所述封装单元封装后的IP数据包发送给所述内容分发节点服务器,以便于内容分发节点服务器根据所述请求消息向所述IP地址对应的用户发送响应消息。
优选的,所述选择单元包括:
协商单元,用于根据当前内容分发网络负载情况,与数据库服务器协商,选出性能指标好的内容分发节点服务器;
计算单元,用于计算所述用户的IP地址与选出的性能指标好的内容分发节点服务器的延时和跳数。
选择子单元,用于根据计算出的延时和跳数选择离所述用户距离近且网络状态最佳的内容分发节点服务器。
优选的,所述全局负载均衡调度装置集成在全局负载均衡服务器中,或独立部署。
本发明还提供一种数据传输装置,应用于内容分发网络,包括:
接收单元,用于接收全局负载均衡服务器发送的IP数据包,所述IP数据包为全局负载均衡服务器进行封装的IP数据包;
解封装单元,用于对所述IP数据包进行解封装,得到所述用户的请求息及用户的IP地址;
发送单元,用于根据所述用户的请求消息向所述IP地址对应的用户发送响应消息。
优选的,所述数据传输装置集成在内容分发服务器中,或独立部署。
相应的,本发明提供一种全局负载均衡调度系统,应用于内容分发网络,所述系统包括:全局负载均衡服务器和内容分发服务器,其中,
所述全局负载均衡服务器,用于获取用户发送的请求消息,根据所述请求消息确定所述用户的IP地址,并根据当前网络负载情况,选择离所述用户距离近且网络状态最佳的内容分发节点服务器,对所述请求消息和所述用户的IP地址进行封装,将封装后的IP数据包发送给所述内容分发节点服务器;
所述内容分节点发服务器,用于接收所述全局负载均衡服务器发送的IP数据包,对所述IP数据包进行解封装,得到所述用户的请求消息及用户的IP地址,根据所述用户的请求消息向所述IP地址对应的用户发送响应消息。
优选的,所述全局负载均衡服务器包括全局负载均衡调度装置,所述全局负载均衡调度装置如上所述;
所述内容分节点发服务器包括数据传输装置,所述数据传输装置如上所述。
由上述技术方案可知,本发明中,在接收到用户发送的请求消息后,确定用户的IP地址(即用户的来源IP),并将用户请求消息转发给离用户最近且网络状态最佳的内容分发节点服务器,也就是说,根据内容分发网络的当前网络状况及内容分发节点负载情况进行全局调度,从而解决了用户负载分配不均衡的技术问题,同时,也减少了跨省流量、提升用户体验、降低带宽成本。
具体实施方式
本发明解决了由于GoogleDNS,OpenDNS、等publicDNS导致的用户分配错误的问题,弥补了现有基于LOCAL DNS调度技术的不足。本发明提供GSLB服务器将用户请求及该用户的IP地址转发到离该用户最近的内容分发节点服务器上,内容分发节点服务器在内容分发网络中根据用户来源IP进行调度,减少了跨省流量、提升了用户体验、降低了带宽成本。也就是说,GSLB服务器根据内容分发网络的当前网络状况及内容分发节点负载情况进行全局调度,保证内容分发节点服务器的可用性。
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
请参阅图1,为本发明提供的一种全局负载均衡调度方法的流程图,所述方法应用于内容分发网络,所述方法包括:
步骤101:获取用户发送的请求消息;
在该步骤之前,用户先通过DNS(域名解析服务)解析,获的全局负载均衡(GSLB,GSLB,Gobal Server Load Balance)服务器的IP地址,之后,用户向该GSLB服务器发送请求消息,即GSLB服务器接收到用户发送的请求消息。
在该实施例中,所述请求消息可以是超文本传输协议(HTTP,HyperTextTransfer Protocol)请求消息,也可以是其他请求消息,比如简单邮局协议(POP3)请求消息等。
步骤102:根据所述请求消息确定所述用户的IP地址;
GSLB服务器对所述请求消息进行解析,得到该用户的IP地址。
步骤103:根据当前网络负载情况,选择离所述用户距离近且网络状态最佳的内容分发节点服务器;
在该步骤中,GSLB服务器根据内容分发网络的当前网络状况,可以与数据库服务器进行协商,选出性能指标好的内容分发节点服务器;之后,GSLB服务器计算所述用户的IP地址与选出的性能指标好的内容分发节点服务器的延时和跳数(即网络指标);以及根据计算出的延时和跳数选择离所述用户距离近且网络状态最佳的内容分发节点服务器。但并不限于此,还可以是基于GSLB算法来择离所述用户距离近且网络状态最佳的内容分发节点服务器,本实施例不作限制。
在该实施例中,可以按照DLC算法计算所述用户的IP地址与选出的性能指标好的内容分发节点服务器的延时和跳数,其DLC算法的公式为:
P=α1*α2*β1*β2*Γ
其中,α1:机房网络带宽使用率,取值范围0~1,但并不限于此;
α2:服务器负载情况,取值范围0~1,但并不限于此;
α2=θ1*θ2*θ3;
θ1:服务器CPU使用率,取值范围0~1,但并不限于此;
θ2:服务器负载,取值范围0~1,但并不限于此;
θ3:服务器负并发链接数/预设值,取值范围0~1,但并不限于此;
β1:节点到目标机房的ping延时/预设值,取值范围0~1,但并不限于此;
β2:节点到目标机房的跳数/预设值,取值范围0~1,但并不限于此;
Γ:人为调整的权重值,取值范围0~5,默认值为1,但并不限于此;
综合以上指标,如果P的结果越接近0,则此台内容分发节点服务器被调度的可能性就越大。
步骤104:对所述请求消息和所述用户的IP地址进行封装,得到封装后的IP数据包;
其中,GSLB服务器对所述请求消息和所述用户的IP地址进行IP封装,得到封装后的IP数据包,但IP数据包中除了包括所述请求消息和所述用户的IP地址外,还可以包括其他的信息,本实施例不作限制。
步骤105:将封装后的IP数据包发送给所述内容分发节点服务器,以便于内容分发节点服务器根据所述请求消息向所述IP地址对应的用户发送响应消息。
在该步骤中,GSLB服务器将封装后的IP数据包发送给所述内容分发节点服务器;内容分发节点服务器对接收到的IP数据包进行解封装,得到真正用户的请求消息和该用户的IP地址,之后,根据所述请求消息向所述IP地址对应的用户发送响应消息。
还请参阅图2,为本发明提供一种数据传输方法的流程图,所述方法应用于内容分发网络,所述方法包括:
步骤201:接收全局负载均衡服务器发送的IP数据包,所述IP数据包为全局负载均衡服务器进行封装的IP数据包;
在该步骤之前,全局负载均衡服务器对接收到的用户请求及确定的该用户的IP地址进行IP封装,并将封装后的IP数据包发送给离该用户最近且网络状态最好的内容分发服务器,即内容分发服务器接收到全局负载均衡服务器发送的IP数据包。
在该步骤,所述IP数据可以包括:所述用户的请求消息及用户的IP地址,但并不限于此。
步骤202:对所述IP数据包进行解封装,得到所述用户的请求消息及用户的IP地址;
内容分发服务器对所述IP数据包进行解封装,得到真正用户的请求消息及该用户的IP地址。
步骤203:根据所述用户的请求消息向所述IP地址对应的用户发送响应消息。
在本发明中,内容分发服务器可以与该IP地址对应用户直接进行数据传输。
本发明中,在接收到用户发送的请求消息后,确定用户的IP地址(即用户的来源IP),并将用户请求消息转发给离用户最近且网络状态最佳的内容分发节点服务器,也就是说,根据内容分发网络的当前网络状况及内容分发节点负载情况进行全局调度,从而解决了用户负载分配不均衡的技术问题,同时,也减少了跨省流量、提升用户体验、降低带宽成本。
基于上述方法的实现过程,本发明还提供一种全局负载均衡调度装置,其结构示意图详见图3,所述装置应用于内容分发网络,包括:获取单元31,确定单元32,选择单元33,封装单元34和发送单元35,其中,
所述获取单元31,用于获取用户发送的请求消息;其中,该请求消息可以是HTTP消息,也可以是其他的请求消息,本实施例不作限制。
所述确定单元32,用于根据所述请求消息确定所述用户的IP地址;即对该请求消息进行解析,得到该用户的IP地址。
所述选择单元33,与所述确定单元32连接,用于根据当前网络负载情况,选择离所述用户距离最近且网络状态最佳的内容分发节点服务器;
其中,所述选择单元可以包括:协商单元、计算单元和选择子单元,其中,所述协商单元,用于根据当前内容分发网络负载情况,与数据库服务器协商,选出性能指标好的内容分发节点服务器;所述计算单元,用于计算所述用户的IP地址与选出的性能指标好的内容分发节点服务器的延时和跳数。所述选择子单元,用于根据计算出的延时和跳数选择离所述用户距离近且网络状态最佳的内容分发节点服务器。
所述封装单元34,与所述确定单元32和选择单元33连接,用于对所述请求消息和所述用户的IP地址进行封装,得到封装后的IP数据包;具体的封装过程可以是IP封装,可以是其他封装,本实施例不作限制。
所述发送单元35,用于将所述封装单元封装后的IP数据包发送给所述内容分发节点服务器,以便于内容分发节点服务器根据所述请求消息向所述IP地址对应的用户发送响应消息。
优选的,所述全局负载均衡调度装置可以集成在全局负载均衡服务器中,也可以独立部署,本发明实施例不作限制。
所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程。
相应的,本发明还提供一种数据传输装置,其结构示意图详见图4,所述装置应用于内容分发网络,包括:接收单元41,解封装单元42和发送单元43,其中,
所述接收单元41,用于接收全局负载均衡服务器发送的IP数据包,所述IP数据包为全局负载均衡服务器进行封装的IP数据包;
所述解封装单元42,用于对所述IP数据包进行解封装,得到所述用户的请求息及用户的IP地址;
所述发送单元43,用于根据所述用户的请求消息向所述IP地址对应的用户发送响应消息。
优选的,所述全局负载均衡调度装置集成在内容分发服务器中,或独立部署。
所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程。
相应的,本发明还提供一种全局负载均衡调度系统,其结构示意图如图5所示,所述系统应用于内容分发网络,所述系统包括:全局负载均衡服务器51和内容分发服务器52,其中,
所述全局负载均衡服务器51,用于获取用户发送的请求消息,根据所述请求消息确定所述用户的IP地址,并根据当前网络负载情况,选择离所述用户距离近且网络状态最佳的内容分发节点服务器,对所述请求消息和所述用户的IP地址进行封装,将封装后的IP数据包发送给所述内容分发节点服务器52;
所述内容分节点发服务器52,用于接收所述全局负载均衡服务器51发送的IP数据包,对所述IP数据包进行解封装,得到所述用户的请求消息及用户的IP地址,根据所述用户的请求消息向所述IP地址对应的用户发送响应消息。
其中,所述全局负载均衡服务器51包括全局负载均衡调度装置511,所述全局负载均衡调度装置包括的单元如上述实施例所示,比如可以包括:获取单元,确定单元,选择单元,封装单元和发送单元等,其功能和作用详见上述,在此不再赘述。
所述内容分节点发服务器52包括数据传输装置521,所述数据传输装置包括的单元如上述实施例所示,比如,包括:接收单元,解封装单元和发送单元等,其功能和作用详见上述,在此不再赘述。
本发明中,GSLB服务器在接收到用户发送的请求消息,根据所述请求消息确定用户IP地址,之后,计算出离该用户最近、网络状态最佳的内容分发节点服务器,然后,将请求消息和用户的IP地址进行IP封装后,发送给所述内容分发节点服务器,内容分发节点服务器获得转发的IP数据包后,解包获得用户的真实IP地址及请求消息,并直接向该IP地址对应的用户发送响应消息。也就是说,本发明通过检查用户来源IP地址,并将用户请求和IP地址转发给离用户最近且网络状态最佳的内容分发节点服务器上,减少了跨省流量、提升用户体验、降低带宽成本。
为了并于领域技术人员的理解,下面以具体的例子来说明。
比如,某北京网通用户被调度到位于无锡电信的GSLB服务器。GSLB服务器会根据用户的来源IP及当前CDN网络的负载情况,选择一个与用户运营商相同且负载相对较低的内容分发节点服务器,具体包括:GSLB服务器根据内容分发网络的当前网络状况,可以与数据库服务器进行协商,选出性能指标好的内容分发节点服务器;之后,GSLB服务器计算所述用户的IP地址与选出的性能指标好的内容分发节点服务器的延时和跳数(即网络指标);以及根据计算出的延时和跳数选择离所述用户距离近且网络状态最佳的内容分发节点服务器;并将用户的请求和IP地址封装成IP数据包后转发给该内容分发节点服务器;该内容分发节点服务器接到转发的IP数据包,得到该用户请求和IP地址,直接返回请求内容给IP地址对应用户,即直接与该用户进行数据传输。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。