一种负载均衡分配方法及设备转让专利

申请号 : CN201110245599.1

文献号 : CN102263828B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 岳强宗劼栗伟周东树田江波黄勇黄超生刘研

申请人 : 北京蓝汛通信技术有限责任公司

摘要 :

本发明公开了一种负载均衡分配方法及设备,该方法包括:接收用户发送的包含请求URL信息的请求消息;选择所述请求URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息;对所述相对请求URL信息进行处理,并按照不同处理结果与高速缓冲存储器cache服务器间的对应关系,确定此次处理结果对应的cache服务器;将所述请求消息发送到所述对应的cache服务器上。本发明对经过防盗链技术加密的请求URL信息进行去防盗链处理,将对应同一目标资源的不同用户请求消息分配到相同的cache服务器上,解决了在CDN系统中的cache服务器上需要重复存储目标资源的问题。

权利要求 :

1.一种负载均衡分配方法,其特征在于,包括以下步骤:

接收用户发送的包含请求统一资源定位符URL信息的请求消息;

选择所述请求URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息;

对所述相对请求URL信息进行处理,并按照不同处理结果与高速缓冲存储器cache服务器间的对应关系,确定此次处理结果对应的cache服务器;

将所述请求消息发送到所述对应的cache服务器上;

所述请求消息中还包含请求头标,对所述相对请求URL信息进行处理之前,还包括:按照不同的请求头标将所覆盖的cache服务器分组,所述所覆盖的cache服务器为与自身属于同一服务节点的所有cache服务器;

接收到用户发送的请求消息时,首先解析所述请求消息中的请求头标,并按照解析结果确定对应的cache服务器组;

所述按照不同处理结果与cache服务器间的对应关系,具体为按照不同处理结果与确定的cache服务器组中的cache服务器间的对应关系。

2.如权利要求1所述的方法,其特征在于,按照不同的请求头标将所覆盖的cache服务器分组,具体包括:按照cache服务器对不同请求头标的取值的支持情况,将所覆盖的cache服务器分组。

3.如权利要求2所述的方法,其特征在于,解析所述请求消息中的请求头标,并按照解析结果确定对应的cache服务器组,具体包括:解析所述请求消息中包含的所述请求头标的取值;

按照所述cache服务器组对所述请求头标的取值的支持情况,确定对应的cache服务器组。

4.如权利要求1所述的方法,其特征在于,具体采用哈希算法对所述相对请求URL信息进行处理,并按照不同的哈希值与cache服务器间的对应关系,确定此次处理得到的哈希值对应的cache服务器。

5.如权利要求1~4任一所述的方法,其特征在于,所述请求URL信息为已经过防盗链处理的URL信息,选择所述请求URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息,具体为:确定所述防盗链处理为对原始的请求URL信息中增加加密内容时,选择所述请求URL信息中不属于所述加密内容的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息;或者,确定所述防盗链处理为对原始的请求URL信息按照预定规则进行加密处理时,根据所述预定规则对所述请求URL信息进行解密处理,得到原始的URL信息,选择所述原始的URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息。

6.如权利要求5所述的方法,其特征在于,对所述预定内容进行重新组合,具体为:采用域名和文件名组合的方式进行重新组合。

7.一种负载均衡分配设备,其特征在于,包括:

接收模块,用于接收用户发送的包含请求统一资源定位符URL信息的请求消息;

URL处理模块,用于选择所述请求URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息;

服务器确定模块,用于对所述相对请求URL信息进行处理,并按照不同处理结果与高速缓冲存储器cache服务器间的对应关系,确定此次处理结果对应的cache服务器;

发送模块,用于将所述请求消息发送到所述对应的cache服务器上;

所述设备还包括:

服务器分组模块,用于按照不同的请求头标将所覆盖的cache服务器分组,所述所覆盖的cache服务器为与自身属于同一服务节点的所有cache服务器;

确定组模块,用于接收到用户发送的请求消息时,首先解析所述请求消息中的请求头标,并按照解析结果确定对应的cache服务器组;

所述服务器确定模块具体按照不同处理结果与确定的cache服务器组中的cache服务器间的对应关系,确定对应的cache服务器。

8.如权利要求7所述的设备,其特征在于,所述服务器分组模块,具体用于按照cache服务器对不同的请求头标的取值的支持情况,将所覆盖的cache服务器分组。

9.如权利要求8所述的设备,其特征在于,所述确定组模块,具体用于解析所述请求消息中包含的所述请求头标的取值;

按照所述cache服务器组对所述请求头标的取值的支持情况,确定对应的cache服务器组。

10.如权利要求7所述的设备,其特征在于,所述服务器确定模块具体采用哈希算法对所述相对请求URL信息进行处理,并按照不同的哈希值与cache服务器间的对应关系,确定此次处理得到的哈希值对应的cache服务器。

11.如权利要求7~10任一所述的设备,其特征在于,所述请求URL信息为已经过防盗链处理的URL信息,所述URL处理模块具体用于:确定所述防盗链处理为对原始的请求URL信息中增加加密内容时,选择所述请求URL信息中不属于所述加密内容的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息;或者,确定所述防盗链处理为对原始的请求URL信息按照预定规则进行加密处理时,根据所述预定规则对所述请求URL信息进行解密处理,得到原始的URL信息,选择所述原始的URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息。

12.如权利要求11所述的设备,其特征在于,所述URL处理模块对所述预定内容进行重新组合,具体为:采用域名和文件名组合的方式进行重新组合。

说明书 :

一种负载均衡分配方法及设备

技术领域

[0001] 本发明涉及CDN(Content Delivery Network,内容分发网络)技术领域,尤其涉及一种负载均衡分配方法及设备。

背景技术

[0002] 内容分发网络CDN是一种新型的网络构建方式,它采用分布式网络缓存结构,即Web Cache技术,在现有的互联网中增加一层由服务节点所构成的新的智能网络,其中,每个服务节点都由一个或多个负载均衡设备和一组高速缓冲存储器cache服务器组成。在用户访问网站时,CDN系统能够实时地根据网络流量、各服务节点的连接和负载状况、以及到用户的距离和响应时间等综合信息,将用户请求导向离用户最近的服务节点上,使用户能够就近取得所需内容,避免了需要穿透各种路由回到源站服务器去获取内容的麻烦,提高了用户访问网站的响应速度,并在一定程度上解决了互联网拥堵的状况。
[0003] 通常用户访问网站时,点击网页请求获取目标资源,与此同时客户端向网络发送用户的请求消息,包括:一个请求行、零或多个请求头标http header、一个空行、及实现请求的任意数据四部分信息。其中,请求行由ASCII文本组成,其内容包含了服务器定位用户目标资源时所需的请求URL(Uniform Resource Locator,统一资源定位符)信息;请求头标http header用于定义客户端或者服务器的属性,以及被传输的资源类型和应实现的链接类型,http header由关键字name和值value组成,name与value之间使用冒号分隔,例如Accept-Encoding:gzip,compress,定义了客户端可以理解的编码机制为gzip、compress两种。例如以下为一个典型的请求消息为:
[0004] GET http://class/download.microtool.de:80/somedata.exe
[0005] Host:download.microtool.de
[0006] Accept-Encoding:gzip,compress
[0007] Pragma:no-cache
[0008] Cache-Control:no-cache
[0009] Referer:http://class/download.microtool.de/
[0010] User-Agent:Mozilla/4.04[en](Win95;I;Nav)
[0011] Range:bytes=554554-
[0012] 客户端发送的用户请求消息被发送到CDN网络中的某一服务节点上,然后由该服务节点的负载均衡设备采用一定的负载均衡策略对用户请求进行分配,现有的策略一般为:轮循均衡、权重轮循均衡、随机均衡、响应速度均衡、URL分配等。
[0013] 其中,URL分配策略是由负载均衡设备采用预定算法(如哈希算法)对请求URL信息进行处理,并依据处理结果与cache服务器的映射关系将用户的请求URL信息分配到对应的cache服务器上面。如图1所示,具体流程如下:
[0014] (1)CDN系统中某服务节点的负载均衡设备接收到请求URL信息;
[0015] (2)负载均衡设备根据URL分配策略,将请求URL信息分配到对应的cache服务器上,由cache服务器解析该请求URL信息进而定位到目标资源;
[0016] (3)若该cache服务器上没有用户请求的目标资源,则需要向源站服务器请求目标资源,在收到源站服务器发送来的目标资源后将其保存,然后发送给负载均衡设备,再由负载均衡设备返回给用户;
[0017] (4)若该cache服务器上存有该用户请求的目标资源,那么直接发送给负载均衡设备,并由负载均衡设备返回给用户。
[0018] 以上过程中,当有用户再次请求该目标资源时,即负载均衡设备再次收到同样的请求URL信息时,则由于采用的URL分配策略不变,相同的用户请求就会被分配到相同的cache服务器上,从而使得cache服务器就可以充分利用已存有的目标资源返回给用户,避免了因为自身没有目标资源而需要向源站服务器请求,以及减少了因重复存储资源带来的存储空间消耗问题。
[0019] 防盗链是互联网中为了防止部分网站利用URL链接盗取其他网站的资源展示给用户而出现的技术手段,它是指网站自身出于防盗链的目的,采用某种预定算法将其资源的初始URL进行“加密”后再进行使用,从而对其网站资源进行保护的过程,例如时间防盗链技术就是采用预定算法根据用户发起请求的时间在目标资源的初始URL中增加加密内容后再使用。
[0020] 然而由于防盗链技术的出现,使得访问同一目标资源的请求URL信息就会不同,CDN系统中的负载均衡设备就不能根据URL分配策略将同样的用户请求分配到相同的cache服务器上,因此,现有的URL分配策略不能够满足避免重复存储目标资源的需求,消耗了大量存储空间。

发明内容

[0021] 本发明提供一种负载均衡分配方法及设备,解决了现有技术中当同一目标资源拥有不同的URL时,在CDN系统中的cache服务器上需要重复存储目标资源的问题。
[0022] 本发明实施提供一种负载均衡分配方法,包括以下步骤:
[0023] 接收用户发送的包含请求统一资源定位符URL信息的请求消息;
[0024] 选择所述请求URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息;
[0025] 对所述原始请求URL信息进行处理,并按照不同处理结果与高速缓冲存储器cache服务器间的对应关系,确定此次处理结果对应的cache服务器;
[0026] 将所述请求消息发送到所述对应的cache服务器上。
[0027] 本发明还提供一种负载均衡分配设备,包括以下部分:
[0028] 接收模块,用于接收用户发送的包含请求统一资源定位符URL信息的请求消息;
[0029] URL处理模块,用于选择所述请求URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息;
[0030] 服务器确定模块,用于对所述相对请求URL信息进行处理,并按照不同处理结果与高速缓冲存储器cache服务器间的对应关系,确定此次处理结果对应的cache服务器;
[0031] 发送模块,用于将所述请求消息发送到所述对应的cache服务器上。
[0032] 本发明采用基于URL部分内容的负载分配策略,通过选择请求URL信息中的部分内容,简便的完成了将对应同一目标资源的不同URL分配到相同的cache服务器上面,克服了在CDN系统中的cache服务器上需要重复存储目标资源的问题。

附图说明

[0033] 图1为现有URL分配策略分配cache服务器的流程示意图;
[0034] 图2为本发明提供的一种负载均衡分配方法具体流程结构;
[0035] 图3为本发明提供的一种负载均衡分配方法实施例的流程示意图;
[0036] 图4为本发明提供的一种负载均衡分配设备结构框图。

具体实施方式

[0037] 下面结合附图和具体实施例,对本发明负载均衡分配方法和设备的具体实施方式作进一步详细描述。
[0038] 本发明提供一种负载均衡分配方法,具体流程结构如图2所示:
[0039] 步骤201,接收用户发送的包含请求统一资源定位符URL信息的请求消息;
[0040] 具体地,请求消息可以采用现有的消息形式,如前所述,请求消息包括:一个请求行、零或多个请求头标http header、一个空行、及实现请求的任意数据四部分信息。其中,请求行由ASCII文本组成,其内容包含了服务器定位用户目标资源时所需的请求URL(Uniform Resource Locator,统一资源定位符)信息,该请求URL信息代表了用户想要链接的网址信息。请求消息还可以采用其它消息形式。
[0041] 步骤202,选择所述请求URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息;
[0042] 步骤203,负载均衡设备对所述相对请求URL信息进行处理,并按照不同处理结果与高速缓冲存储器cache服务器间的对应关系,确定此次处理结果对应的cache服务器;
[0043] 具体地,对相对请求URL信息处理可以采用现有的各种预定算法,对不同请求URL信息处理结果不同,由于事先建立了各种不同处理结果与cache服务器间的对应关系,因此可以确定出本次对应的cache服务器。
[0044] 步骤204,将所述请求消息发送到所述对应的cache服务器上。
[0045] 本发明采用基于请求URL信息部分内容的负载分配策略,能够在同一目标资源拥有不同的URL时将用户的请求消息分配到相同的cache服务器上面,克服了在CDN系统中的cache服务器上需要重复存储目标资源的问题。
[0046] 本发明为了实现为用户的请求选择更适合的cache服务器,即有选择的为用户的请求消息分配cache服务器,优选地,对所述相对请求URL信息进行处理之前,还包括:按照不同的请求头标将所覆盖的cache服务器分组,所述所覆盖的cache服务器为与自身属于同一服务节点的所有cache服务器;接收到用户发送的请求消息时,首先解析所述请求消息中的请求头标,并按照解析结果确定对应的cache服务器组;所述按照不同处理结果与cache服务器间的对应关系,具体为按照不同处理结果与确定的cache服务器组中的cache服务器间的对应关系。
[0047] 优选地,按照不同的请求头标将所覆盖的cache服务器分组,具体包括:按照cache服务器对不同请求头标的取值的支持情况,将所覆盖的cache服务器分组。
[0048] 优选地,解析所述请求消息中的请求头标,并按照解析结果确定对应的cache服务器组,具体包括:解析所述请求消息中包含的所述请求头标的取值;按照所述cache服务器组对所述请求头标的取值的支持情况,确定对应的cache服务器组。
[0049] 本发明实施例对负载均衡设备对相对请求URL信息进行处理所采用的算法不作具体限定,可依据具体应用环境进行选择。优选地,负载均衡设备采用哈希算法对所述相对请求URL信息进行处理,并按照不同的哈希值与cache服务器间的对应关系,确定此次处理得到的哈希值对应的cache服务器。
[0050] 由于本发明采用基于部分URL内容的负载均衡分配策略,实现了将对应相同目标资源的不同URL对应的用户请求消息分配到相同的cache服务器上,因此,本发明尤其适用于解决现有技术中当原始的请求URL信息经过防盗链技术处理后,同一目标资源拥有不同的URL的情况时,在CDN系统中的cache服务器上会重复存储目标资源的问题。
[0051] 现有的防盗链技术虽然可以防止第三方窃取URL链接从而盗取其他网站的资源,但是经防盗链处理后的请求URL信息会对负载均衡分配产生负面影响,应用本发明,相当于对经过防盗链处理后的请求URL信息加入去防盗链的处理过程,从而既实现了防止网址被盗链,又不会影响到负载均衡分配过程。
[0052] 本发明实施例提供的负载均衡分配方法,通过对经防盗链处理后的请求URL信息进行去防盗链处理,由于使用不含防盗链加密内容的相对请求URL信息,因此不会受到防盗链处理的影响,可以将对应同一目标资源的不同用户请求消息分配到相同的cache服务器上,在实现防止第三方窃取URL链接从而盗取其他网站的资源的同时,解决了在CDN系统中的cache服务器上需要重复存储目标资源的问题。
[0053] 防盗链处理是对原始的请求URL信息按预定规则进行加密处理,因此去防盗链处理就相应为按照所述预定规则对加密后的请求URL信息进行解密。由于去防盗链处理采用的方法因防盗链加密的方式的不同而不同,本发明实施例对所述请求URL信息进行去防盗链处理所采用的方式不作限定,只要是能够起到将对应同一目标资源的请求URL信息进行相应处理后,将其分配给同一cache服务器,均应落入本发明保护范围之内。
[0054] 优选地,确定所述防盗链处理为对原始的请求URL信息按照预定规则进行加密处理时,根据所述预定规则对所述请求URL信息进行解密处理,得到原始的URL信息,选择所述原始的URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息。这相当于对经防盗链处理后的请求URL信息进行还原,由于基于原始请求URL信息选择预定内容,因此不会受到防盗链处理的影响,可以将对应同一目标资源的不同用户请求消息分配到相同的cache服务器上,解决了在CDN系统中的cache服务器上需要重复存储目标资源的问题。
[0055] 本发明实施例对防盗链的加密处理方式不作限定,只要是对相对请求URL进行相应处理,能够起到一定的防盗链作用的处理,均应落入本发明保护范围之内。优选地,所述防盗链处理为在原始的请求URL信息中增加加密内容。
[0056] 当所述防盗链处理为在原始的请求URL信息中增加加密内容时,可以滤除防盗链处理过程中在原始URL信息中的所增加的加密内容,得到原始的URL信息作为相对请求URL信息。
[0057] 负载均衡设备使用原始URL信息作为相对请求URL信息的过程中,需要将防盗链对原始URL信息进行加密处理的过程作逆运算,由于逆运算处理的复杂,可能会导致执行速度较慢,影响整个负载分配过程的效率。优选地,当所述防盗链处理为在原始的请求URL信息中增加加密内容时,选择所述请求URL信息中不属于所述加密内容的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息。这样可在不必还原出原始URL信息的情况下,实现去防盗链的目的,并将对应同一目标资源的不同用户请求消息分配到相同的cache服务器上。
[0058] 由于目前防盗链技术一般是在原始URL信息的中间部分加入加密内容,不会对原始URL信息中的域名和文件名进行加密处理。优选地,选择所述请求URL信息中不属于所述加密内容的预定内容,并对所述预定内容进行重新组合,具体为:采用域名和文件名组合的方式进行重新组合。
[0059] 本发明实施例提供的负载均衡分配方法适用于多种防盗链技术的情况。为了使本发明实施例也适用于没有经过防盗链技术处理的用户请求消息,本发明中负载均衡设备在接收到的请求URL信息为没有经过防盗链处理时,说明为原始请求URL信息,即不包含加密内容,则直接对所述请求URL信息进行处理,并按照不同处理结果与高速缓冲存储器cache服务器间的对应关系,确定此次处理结果对应的cache服务器;将所述请求消息发送到所述对应的cache服务器上。
[0060] 下面给出本发明提供的负载均衡分配方法的一种优选实施例,具体流程如下:
[0061] 步骤1,用户在t1和t2时间点击网页,对同一目标资源www.sina.com.cn/news/sports.jpg发出请求,同时客户端分别向CDN网络发送两个请求消息,两个请求消息经过时间防盗链技术加密后的请求URL信息分别为:
[0062] Req_t1:www.sina.com.cn/200611100901/0CEE8BB4A6FA4EAA79DDB1D493971EF3/news/sports.jpg;
[0063] Req_t2:www.sina.com.cn/300612100911/FFEE8BB4A6FAFFFA79DDB1D493971EF3/news/sports.jpg;
[0064] 其中,Req_t1对应用户在t1时间发出的请求消息,Req_t2对应用户在t2时间发出的请求消息。
[0065] 步骤2,负载均衡设备接收到上述两个请求消息后,选择上述两个请求URL信息中不属于时间防盗链加密内容的域名和文件名信息,进行重新组合,得到两个未经防盗链处理的相对请求URL信息,二者都为:
[0066] www.sina.com.cn/sports.jpg。
[0067] 或者,负载均衡设备接收到上述两个请求消息后,滤除上述两个请求URL消息中的时间防盗链加密内容,得到两个未经防盗链处理的原始请求URL信息作为相对请求URL信息,二者都为:www.sina.com.cn/news/sports.jpg。
[0068] 步骤3,负载均衡设备采用哈希算法对步骤2中得到的两个相同的相对请求URL信息进行计算,并得到相同的哈希值。
[0069] 步骤4,负载均衡设备对上述相同的哈希值作取余处理,得到相同两个相同的处理结果,按照该处理结果与cache服务器之间的映射关系,确定对应的cache服务器。
[0070] 步骤5,负载均衡设备将用户在t1和t2时间发出的两个请求消息发送到步骤4中确定的cache服务器上。
[0071] 步骤6,cache服务器接收到所述的两个请求消息后,解析其中包含的请求URL信息,若该cache服务器上没有用户请求的目标资源,则需要向源站服务器请求目标资源,在收到源站服务器发送来的目标资源后将其保存,然后发送给负载均衡设备,再由负载均衡设备返回给用户;若该cache服务器上存有该用户请求的目标资源,那么直接发送给负载均衡设备,并由负载均衡设备返回给用户。
[0072] 以上过程中,虽然用户发出的请求消息在经过防盗链技术加密后的请求URL信息不同,但是由于用户请求的是同一目标资源,防盗链技术是对同一个原始请求URL信息进行加密,因此在负载均衡设备使用去防盗链手段后,是对相同的相对请求URL信息进行哈希,因此最终确定的cache服务器也相同,这样使得用户在t1时间和t2时间发出的请求消息都由同一个cache服务器进行处理,使cache服务器可以更好地利用自身已经存储的资源信息,避免了由不同的cache服务器处理时需要重复下载和存储资源的弊端。
[0073] 本发明提供的负载均衡分配方法的另一优选实施方式中,如图3所示,具体流程如下:
[0074] 步骤一,负载均衡设备按照不同的请求头标http header将所覆盖的cache服务器分组,所述所覆盖的cache服务器为CDN网络中与所述负载均衡设备属于同一服务节点的所有cache服务器。
[0075] 步骤二,负载均衡设备接收到用户发送的请求消息时,解析所述请求消息中的请求头标http header,并按照解析结果确定对应的cache服务器组。
[0076] 步骤三,负载均衡设备确定请求消息中的请求URL信息已经过防盗链处理时,对所述请求URL信息进行去防盗链处理,得到相对请求URL信息。
[0077] 步骤四,负载均衡设备采用预定算法对相对请求URL信息进行处理,并按照不同处理结果与所述确定的cache服务器组中的cache服务器之间的对应关系,确定此次处理结果对应的cache服务器。
[0078] 步骤五,负载均衡设备将所述请求消息发送到步骤四中确定的cache服务器上。
[0079] 以上步骤一具体为:负载均衡设备按照对所述预定的请求头标http header的取值value的支持情况,将所覆盖的cache服务器分组。本实施例中所选用的http header的关键字name为Accept,其取值value用于定义客户端可以处理的媒体类型,例如Accept:image/jpeg定义了客户端可以处理jpeg格式的图片,Accept:image/png则定义了客户端可以处理png格式的图片。负载均衡设备按照cache服务器对关键字name为Accept的取值value的支持情况,将所覆盖的cache服务器分组,例如有些cache服务器支持处理jpeg格式的图片,而有些cache服务器不支持处理jpeg格式而支持处理png格式的图片,负载均衡设备就可将其覆盖的cache服务器分成两组:对应支持处理jpeg格式图片的cache服务器组A,和对应支持处理png格式图片的cache服务器组B。
[0080] 本实施例步骤二中负载均衡设备接收到用户发送的请求消息时,解析所述请求消息中的http header,并按照解析结果确定对应的cache服务器组,具体为:负载均衡设备解析所述请求消息中包含的所选用的http header的取值value,即关键字name为Accept的取值value,并按照所述cache服务器组对所述取值value的支持情况确定对应的cache服务器组。例如本实施例中负载均衡设备所接收到的请求消息中包含Accept:image/jpeg信息,那么负载均衡设备对该请求消息进行解析后确定的就是cache服务器组A。
[0081] 本实施例步骤四中负载均衡设备采用哈希算法对所述相对请求URL信息进行处理,并按照不同处理结果与cache服务器组A中的cache服务器之间的对应关系,确定此次处理结果对应的cache服务器。例如负载均衡设备采用哈希算法对所述相对请求URL信息进行处理后得到的哈希值为23,对该哈希值23作除数为4的取余处理后,得到处理结果3,按照该处理结果与cache服务器之间的映射关系,最终确定所述cache服务器组A中序号为3的cache服务器。
[0082] 本实施例相对上一个实施例,负载均衡设备首先按照cache服务器对请求头标http header的支持情况将所覆盖的cache服务器分组,然后依据对请求消息中相应http header的解析结果确定所选择的cache服务器组,最后再选择请求URL信息中的部分内容组合成为相对请求URL信息,并执行如上一个实施例中的各个步骤。本实施例采用的方法较上一个实施例相比,不仅实现了将对应相同目标资源的用户请求消息发送到相同的cache服务器上去,而且还能为用户的请求选择更适合的cache服务器,如本实施例中确定了客户端只能处理jpeg格式的图片,就选择对应支持处理jpeg格式图片的cache服务器组A,然后再进一步确定对应的cache服务器。
[0083] 由于请求消息中一般包含多个不同的请求头标http header,本发明对负载均衡设备所选择使用的http header不作具体限定,可依据具体应用环境进行选择。为了在用户请求消息中包含各种不同的http header时也可应用该方法为其分配适合的cache服务器,优选地,负载均衡设备使用请求消息中默认包含的http header类型,如Accept:text/plain,text/html定义了客户端能够接收的内容类型,Connection:keep-alive或Connection:close定义了是否保存socket连接为开放。
[0084] 本发明实施例还提供一种负载均衡分配设备,如图4所示,包括:
[0085] 接收模块401,用于接收用户发送的包含请求统一资源定位符URL信息的请求消息;
[0086] URL处理模块402,用于选择所述请求URL信息中的预定内容,并对所述预定内容进行重新组合,得到相对请求URL信息;
[0087] 服务器确定模块403,用于对所述相对请求URL信息进行处理,并按照不同处理结果与高速缓冲存储器cache服务器间的对应关系,确定此次处理结果对应的cache服务器;
[0088] 发送模块404,用于将所述请求消息发送到所述对应的cache服务器上。
[0089] 优选地,该负载均衡分配设备还包括:
[0090] 服务器分组模块400a,用于按照不同的请求头标将所覆盖的cache服务器分组,所述所覆盖的cache服务器为与自身属于同一服务节点的所有cache服务器;
[0091] 确定组模块400b,用于接收到用户发送的请求消息时,首先解析所述请求消息中的请求头标,并按照解析结果对应的cache服务器组;
[0092] 所述按照不同处理结果与cache服务器间的对应关系,具体为按照不同处理结果与确定的cache服务器组中的cache服务器间的对应关系。
[0093] 优选地,所述服务器分组模块400a,具体用于按照cache服务器对不同的请求头标的取值的支持情况,将所覆盖的cache服务器分组。
[0094] 优选地,所述确定组模块400b,具体用于解析所述请求消息中包含的所述请求头标的取值;
[0095] 按照所述cache服务器组对所述请求头标的取值的支持情况,确定对应的cache服务器组。
[0096] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。