System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及cdn集群调度,具体为一种cdn缓存节点的集群调度方法及系统。
技术介绍
1、随着互联网技术的发展和网络带宽的增加,视频业务的应用范围越来越广泛,成为生活中不可或缺的一部分。
2、视频文件的下载通常采用的是http/https协议,因此可以采用cdn进行缓存加速,cdn以请求url(un iform resource locator,统一资源定位)作为唯一标识,对视频文件进行缓存。cdn的缓存服务器节点通常是多台缓存服务器同时提供服务,缓存服务器之间通过调度服务器进行调度,使缓存服务器之间负载均衡,同时又能最大限度的达到缓存命中的效果。
3、目前cdn缓存服务器节点集群内的调度算法通常为hash(哈希)调度算法。该调度算法中,包含调度服务器和多台缓存服务器,缓存服务器周期地上报自己的负载信息(如带宽)到调度服务器。调度服务器将上报的多台缓存服务器组成一个hash环,每台缓存服务器对应hash环上的一个hash值。http请求先到达调度服务器,调度服务器对请求url进行hash运算,得到hash值,然后,通过该hash值,在hash环中找到最接近的一个目标hash值,目标hash值对应的缓存服务器,即为目标缓存服务器。如果目标缓存服务器已经过载,则排除该服务器,继续在hash环中找到hash值最接近并且不过载的缓存服务器作为目标服务器。这种做法的优点是考虑了内容与边缘节点的亲和性,调度简单,缓存命中率较高。
4、目前的通用技术存在如下不足:
5、首先,当某个资源非常热时
6、其次,当集群内的多台缓存服务器能力不一致时,hash调度会导致能力差的服务器很快就达到负载的上限,无法接入更多的用户,导致该缓存服务器上缓存的内容失效,调度服务器要调度到其他缓存服务器,重新回源,造成网络带宽资源浪费。
技术实现思路
1、本专利技术的目的在于针对现有技术的cdn缓存节点的集群调度缓存效率低导致网络资源浪费的技术问题,提供一种缓存效率高的cdn缓存节点的集群调度方法及系统。
2、本专利技术实施例中,提供了一种cdn缓存节点的集群调度方法,其包括:
3、将集群内的所有缓存服务器节点虚拟出多个缓存能力一致的虚拟节点,并将所述多个虚拟节点组成hash环;
4、根据用户的请求,采用hash调度得到一个虚拟节点;
5、统计用户请求的资源的热度;
6、当资源的热度不超过设定的阈值时,采用hash调度得到的虚拟节点向用户提供服务;
7、当资源的热度超过设定的阈值时,采用负载调度得到一个负载最低的虚拟节点,并由所述负载调度得到的虚拟节点向用户提供服务,
8、若所述负载调度得到的虚拟节点没有缓存命中,则向所述hash调度得到的虚拟节点回源,若所述hash调度得到的虚拟节点没有缓存命中,则其向源站回源后,再推流给所述负载调度得到的虚拟节点。
9、本专利技术实施例中,将集群内的所有缓存服务器节点虚拟出多个缓存能力一致的虚拟节点,并将所述虚拟节点组成hash环,包括:
10、获取到所有的缓存服务器节点的信息;
11、根据设定的每个虚拟节点的总带宽和每个缓存服务器节点的总带宽,计算出每个缓存服务器节点虚拟出的虚拟节点数量,并将其分为多个虚拟节点;
12、将所有的虚拟节点组成一个hash环。
13、本专利技术实施例中,将所有的虚拟节点组成一个hash环,包括:
14、根据每个虚拟节点生成一个64位无符号整数的hash值;
15、根据hash值将对应的虚拟节点从小到大进行连接,再首尾相连,即形成一个hash环。
16、本专利技术实施例中,根据hash调度得到一个虚拟节点,包括:
17、对请求端的请求url路径进行hash运算,得到hash值r;
18、根据hash值r,到hash环中找到大于等于r的最小hash值,将其计为r’,如果hash环中没有大于等于r的hash值,则取hash环中最小的hash值作为r’;
19、获取r’对应的虚拟节点;
20、获取所述虚拟节点对应的缓存服务器节点的服务地址并构造重定向地址。
21、本专利技术实施例中,统计用户请求的资源的热度,包括:
22、统计请求的资源最近设定时段内的请求次数,即为资源的热度值。
23、本专利技术实施例中,还提供了一种cdn缓存节点的集群调度系统,其包括一个调度服务器节点和多个缓存服务器节点,
24、所述缓存服务器节点,用于对源站的资源进行缓存;
25、所述调度服务器节点,用于对所述缓存服务器节点进行调度,其将集群内的所有缓存服务器节点虚拟出多个缓存能力一致的虚拟节点,并将所述虚拟节点组成hash环;
26、所述调度服务器节点的调度过程包括:
27、响应用户的请求,采用hash调度得到一个虚拟节点;
28、统计用户请求的资源的热度;
29、当资源的热度不超过设定的阈值时,采用hash调度得到的虚拟节点向用户提供服务;
30、当资源的热度超过设定的阈值时,采用负载调度得到一个负载最低的虚拟节点,并由所述负载调度得到的虚拟节点向用户提供服务,
31、若所述负载调度得到的虚拟节点没有缓存命中,则向所述hash调度得到的虚拟节点回源,若所述hash调度得到的虚拟节点没有缓存命中,则其向源站回源后,再推流给所述负载调度得到的虚拟节点。
32、本专利技术实施例中,所述调度服务器节点将集群内的所有缓存服务器节点虚拟出多个缓存能力一致的虚拟节点,并将所述虚拟节点组成hash环,包括:
33、获取到所有的缓存服务器节点;
34、根据设定的每个虚拟节点的总带宽和每个缓存服务器节点的总带宽,计算出每个缓存服务器节点虚拟出的虚拟节点数量,并将其分为多个虚拟节点;
35、将所有的虚拟节点组成一个hash环。
36、本专利技术实施例中,将所有的虚拟节点组成一个hash环,包括:
37、根据每个虚拟节点生成一个64位无符号整数的hash值;
38、根据hash值将对应的虚拟节点从小到大进行连接,再首尾相连,即形成一个hash环。
39、本专利技术实施例中,所述调度服务器节点根据hash调度得到一个虚拟节点,包括:
40、接收播放端的请求url,对url的路径进行hash运算,得到hash值r;
41、根据hash值r,到hash环中找到大于等于r的最小h本文档来自技高网...
【技术保护点】
1.一种CDN缓存节点的集群调度方法,其特征在于,包括:
2.如权利要求1所述的CDN缓存节点的集群调度方法,其特征在于,将集群内的所有缓存服务器节点虚拟出多个缓存能力一致的虚拟节点,并将所述虚拟节点组成HASH环,包括:
3.如权利要求2所述的CDN缓存节点的集群调度方法,其特征在于,将所有的虚拟节点组成一个HASH环,包括:
4.如权利要求1所述的CDN缓存节点的集群调度方法,其特征在于,根据HASH调度得到一个虚拟节点,包括:
5.如权利要求1所述的CDN缓存节点的集群调度方法,其特征在于,统计用户请求的资源的热度,包括:
6.一种CDN缓存节点的集群调度系统,其特征在于,包括一个调度服务器节点和多个缓存服务器节点,
7.如权利要求6所述的CDN缓存节点的集群调度系统,其特征在于,所述调度服务器节点将集群内的所有缓存服务器节点虚拟出多个缓存能力一致的虚拟节点,并将所述虚拟节点组成HASH环,包括:
8.如权利要求7所述的CDN缓存节点的集群调度系统,其特征在于,将所有的虚拟节点组成一个HAS
9.如权利要求6所述的CDN缓存节点的集群调度系统,其特征在于,所述调度服务器节点根据HASH调度得到一个虚拟节点,包括:
10.如权利要求6所述的CDN缓存节点的集群调度系统,其特征在于,统计用户请求的资源的热度,包括:
...【技术特征摘要】
1.一种cdn缓存节点的集群调度方法,其特征在于,包括:
2.如权利要求1所述的cdn缓存节点的集群调度方法,其特征在于,将集群内的所有缓存服务器节点虚拟出多个缓存能力一致的虚拟节点,并将所述虚拟节点组成hash环,包括:
3.如权利要求2所述的cdn缓存节点的集群调度方法,其特征在于,将所有的虚拟节点组成一个hash环,包括:
4.如权利要求1所述的cdn缓存节点的集群调度方法,其特征在于,根据hash调度得到一个虚拟节点,包括:
5.如权利要求1所述的cdn缓存节点的集群调度方法,其特征在于,统计用户请求的资源的热度,包括:
6.一种cdn缓存节点的集群调度...
【专利技术属性】
技术研发人员:杨大维,徐小龙,吴畏,
申请(专利权)人:深圳市佳创视讯技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。