用于服务器集群系统的扩容方法、装置及服务器集群系统的制作方法

文档序号:8248178阅读:409来源:国知局
用于服务器集群系统的扩容方法、装置及服务器集群系统的制作方法
【技术领域】
[0001]本发明涉及内容分发网络领域,具体而言,涉及一种用于服务器集群系统的扩容方法、装置及服务器集群系统。
【背景技术】
[0002]内容分发网络(Content Delivery Network,简称为Q)N),通过在现有的因特网中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,从而提高用户访问网站的响应速度。
[0003]在互联网及CDN领域中,为了有效提高CDN自身的承载能力,提高CDN服务命中率,通常采用的是搭建服务器集群的方式。同时,利用一致性哈希(Hash)技术可以有效避免集群服务器扩容时对原有CDN集群缓存内容的影响,在新增加服务器资源得到有效利用的同时,使得从源站获取服务内容的比率得到有效控制,从而使CDN扩容给源站带来的压力变得可控。
[0004]现有的服务器集群扩容方法通常是采用负载均衡服务器(Load Balance Server,简称为LBS)和缓存(Cache)服务器共同组成CDN集群架构。图1给出了现有技术中服务器集群系统的扩容架构示意图。如图1所示,网民01通过浏览器等网页浏览软件,使用超文本传输(http)协议的方式浏览内容,请求到达F(LBS)。LBS通过提取网民http协议相关特征,以及通过一定的Hash策略定位后端Cache服务器(A、B或者C),将网民请求转发到后端Cache服务器。然后,Cache服务器判断请求内容是否命中,如果命中,将命中内容从本地读取;如果没有命中,将从源站获取内容,获取内容后,再将内容发送给LBS,由LBS发送给网民。
[0005]随着时间累积,服务器集群中服务器Cache A、B和C缓存内容将逐渐增多,集群命中率(即Cache服务器命中的请求数量/请求总数量)越来越高。当目前服务器集群Cache服务器容量或者集群访问请求承载量达到一定限度时,服务器集群需要进行扩容。假设需要增加服务器Cache Do LBS根据一致性Hash算法的平衡性原则,将原有集群中的服务器Cache A、B和C中的近1/4内容分配给服务器Cache D,从而导致命中率下降25%,增加了源站E的压力。如果扩容时增加的Cache服务器台数更多,命中率下降比例将更高,命中率下降比例等于m/(n+m),其中,m为增加的Cache服务器数量,η为原有Cache服务器数量。可见,现有的服务器集群扩容方法中,利用一致性Hash技术,虽然可以避免所有访问内容都回源,但仍然会导致命中率有一个较大比例的下降,从而导致源站压力增加。
[0006]针对相关技术中在服务器集群系统进行扩容后,发生响应的服务器的命中率下降,从源站获取服务内容的比率增大,从而导致源站压力增加的问题,目前尚未提出有效的解决方案。

【发明内容】

[0007]针对现有的服务器集群进行扩容后,发生响应的服务器的命中率下降,从而导致源站压力增加的问题而提出本发明,为此,本发明的主要目的在于提供一种服务器集群系统的扩容方法及系统,以解决上述问题。
[0008]为了实现上述目的,根据本发明的一个方面,提供了一种用于服务器集群系统的扩容方法。该方法包括:负载均衡服务器接收来自客户端的第一访问请求;负载均衡服务器计算第一哈希值,其中,第一哈希值是服务器集群系统未增加新增缓存服务器之前的哈希值,服务器集群系统包括原始缓存服务器和新增缓存服务器;负载均衡服务器确定对应第一哈希值的原始缓存服务器;负载均衡服务器计算第二哈希值,其中,第二哈希值是服务器集群系统增加新增缓存服务器之后的哈希值;负载均衡服务器确定对应第二哈希值的缓存服务器;如果对应第二哈希值的缓存服务器是新增缓存服务器,对应第二哈希值的新增缓存服务器中不存在对应第一访问请求的内容,则负载均衡服务器经由对应第二哈希值的新增缓存服务器接收对应第一哈希值的原始缓存服务器中对应第一访问请求的内容;负载均衡服务器将接收到的内容发送给客户端。
[0009]进一步地,在负载均衡服务器接收来自客户端的第一访问请求之前,该方法还包括:负载均衡服务器确定预设哈希记忆时间,如果对应第二哈希值的缓存服务器是新增缓存服务器,对应第二哈希值的新增缓存服务器中不存在对应第一访问请求的内容,则负载均衡服务器经由对应第二哈希值的新增缓存服务器接收对应第一哈希值的原始缓存服务器中对应第一访问请求的内容包括:如果对应第二哈希值的缓存服务器是新增缓存服务器,则负载均衡服务器判断预设哈希记忆时间是否过期;如果预设哈希记忆时间没有过期,则判断对应第二哈希值的新增缓存服务器中是否存在对应第一访问请求的内容;如果对应第二哈希值的新增缓存服务器中不存在对应第一访问请求的内容,则负载均衡服务器经由对应第二哈希值的新增缓存服务器接收对应第一哈希值的原始缓存服务器中对应第一访问请求的内容。
[0010]进一步地,负载均衡服务器确定对应第一哈希值的原始缓存服务器包括负载均衡服务器确定对应第一哈希值的原始缓存服务器的IP地址,如果对应第二哈希值的缓存服务器是新增缓存服务器,对应第二哈希值的新增缓存服务器中不存在对应第一访问请求的内容,负载均衡服务器经由对应第二哈希值的新增缓存服务器接收对应第一哈希值的原始缓存服务器中对应第一访问请求的内容包括:如果对应第二哈希值的缓存服务器是新增缓存服务器,则负载均衡服务器将第一访问请求和第一哈希值的原始缓存服务器的IP地址发送给对应第二哈希值的新增缓存服务器;如果对应第二哈希值的新增缓存服务器中不存在对应第一访问请求的内容,则负载均衡服务器经由对应第二哈希值的新增缓存服务器接收对应第一哈希值的原始缓存服务器中对应第一访问请求的内容,其中,对应第二哈希值的新增缓存服务器向对应第一哈希值的原始缓存服务器发出第二访问请求,第二访问请求包括第一访问请求和对应第二哈希值的新增缓存服务器的IP地址,对应第一哈希值的原始缓存服务器按照第二访问请求将对应第一访问请求的内容发送给对应第二哈希值的新增缓存服务器,对应第二哈希值的新增缓存服务器将对应第一访问请求的内容发送给负载均衡服务器。
[0011]进一步地,对应第一哈希值的原始缓存服务器按照第二访问请求将对应第一访问请求的内容发送给对应第二哈希值的新增缓存服务器包括:判断对应第一哈希值的原始缓存服务器是否存在对应第一访问请求的内容;如果对应第一哈希值的原始缓存服务器中存在对应第一访问请求的内容,则对应第一哈希值的原始缓存服务器将对应第一访问请求的内容发送给对应第二哈希值的新增缓存服务器;如果对应第一哈希值的原始缓存服务器中不存在对应第一访问请求的内容,则对应第一哈希值的原始缓存服务器从源站获取对应第一访问请求的内容;对应第一哈希值的原始缓存服务器将获取的对应第一访问请求的内容发送给对应第二哈希值的新增缓存服务器。
[0012]进一步地,负载均衡服务器确定对应第一哈希值的原始缓存服务器包括负载均衡服务器确定对应第一哈希值的第一原始缓存服务器,该方法还包括:如果对应第二哈希值的缓存服务器是第二原始缓存服务器,则判断第二原始缓存服务器中是否存在对应第一访问请求的内容;如果第二原始缓存服务器中存在对应第一访问请求的内容,则第二原始缓存服务器将对应第一访问请求的内容发送给负载均衡服务器,其中,负载均衡服务器用于接收原始缓存服务器发送的对应第一访问请求的内容;如果第二原始缓存服务器中不存在对应第一访问请求的内容,则第二原始缓存服务器向第一原始缓存服务器发出第三访问请求,其中,第三访问请求包括第一访问请求和第二原始缓存服务器的IP地址,第一原始缓存服务器接收第三访问请求,并判断是否存在对应第一访问请求的内容;如果第一原始缓存服务器中存在对应第一访问请求的内容,则第二原始缓存服务器接收第一原始缓存服务器发送的对应第一访问请求的内容,并将对应第一访问请求的内容发送给负载均衡服务器,其中,第一原始缓存服务器用于向第二原始缓存服务器发送对应第一访问请求的内容,负载均衡服务器用于接收第二原始缓存服务器发送的对应第一访问请求的内容;如果第一原始缓存服务器不存在对应第一访问请求的内容,则第二原始缓存服务器接收第一原始缓存服务器发送的对应第一访问请求的内容,并将对应第一访问请求的内容发送给负载均衡服务器,其中,第一原始缓存服务器用于向源站获取对应第一访问请求的内容,并将对应第一访问请求的内容发送给第二原始缓存服务器,负载均衡服务器用于接收第二原始缓存服务器发送的对应第一访问请求的内容。
[0013]为了实现上述目的,根据本发明的另一方面,提供了一种用于服务器集群系统的扩容装置,该装置包括:第一接收单元,用于接收来自客户端的第一访问请求;第一计算单元,用于计算第一哈希值,其中,第一哈希值是服务器集群系统未增加新增缓存服务器之前的哈希值,服务器集群系统包括原始缓存服务器和新增缓存服务器;第一确定单元,用于确定对应第一哈希值的原始缓存服务器;第二计算单元,用于计算第二哈希值,其中,第二哈希值是服务器集群系统增加新增缓存服务器之后的哈希值;第二确定单元,用于确定对应第二哈希值的缓存服务器;第二接收单元,用于在对应第二哈希值的缓存服务器是新增缓存服务器,对应第二哈希值的新增缓存服务器中不存在对应第一访问请求的内容时,经由对应第二哈希值的新增缓存服务器接收对应第一哈希值的原始缓存服务器中对应第一访问请求的内容;发送单元,用于将接收到的内容发送给客户端。
[0014]进一步地,该装置还包括:第三确定单元,用于在接收来自客户端的第一访问请求之前确定预设哈希记忆时间,第二接收单元包括:第一判断模块,用于在对应第二哈希值的缓存服务器是新增缓存服务器时,判断预设哈希记忆时间是否过期;第二判断模块,用于在预设哈希记忆时间没有过期时,判断对应第二哈希值的新增缓存服务器中是否存在对应第一访问请求的内容;第一接收模块,用于在对应第二哈希值的新增缓存服务器中不存在对应第一访问请求的内容时,经由对应第二哈希值的新增缓存服务器接收对应第一哈希值的原始缓存服务器中对应第一访问请求的内容。
[0015]进一步地,第一确定单元,用于确定对应第一哈希值的原始缓存服务器的IP地址,第二接收单元包括:发送模块,用于在对应第二哈希值的缓存服务器是新增缓存服务器时,将第一访问请求和第一哈希值的原始缓存服务器的IP地址发
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1