论文部分内容阅读
随着互联网技术的不断进步发展以及人们思维观念的日趋转变,网络已经成为全球近半数人口生活中不可分割的一部分。网民规模的逐年攀升以及上网时间不断延长给互联网及通信行业带来了前所未有的访问量。在访问量暴增的同时,必然会带来另一个问题,就是如何快速响应用户访问请求。内容分发网络(Content Delivery Network,CDN)就是用来解决网络带宽和网络访问速度不能成正比的矛盾。在CDN运行的过程中,服务器的负载均衡是至关重要的。由于每台边缘节点的服务能力不同,以及用户分布的不同,如果没有好的调度机制,同样会造成边缘节点访问拥塞,从而影响用户体验。因此,本文将从实际应用场景出发,将CDN分为节点选取,内容分发和数据存储,分别对这三个方面负载均衡技术存在的问题和不足之处进行相应算法改进,提高负载均衡效果,并与现有负载均衡算法进行对比实验。本文的主要研究内容如下:在节点选取方面,针对全局负载均衡节点选取问题,提出了Load Balancing K-means算法,此算法可以在聚类前指定簇内元素的数量比例,最后与K-means做实验对比,证明了此算法可以实现负载均衡的聚类效果。针对局部负载均衡节点选取问题,改进了Chameleon算法,具体来说,在Chameleon算法分解阶段,使用了基于最小割假设优化的Stoer Wagner全局最小割算法,在Chameleon算法合并阶段,使用了基于kNN的离群点优化算法,最后对这两个改进的算法进行实验测试,证明了可行性。在内容分发方面,提出了统筹考虑过程与结果的响应式负载均衡分发算法,解决传统负载均衡分发算法适应性不强的问题,最后对轮询算法,最小响应时间算法和响应式负载均衡分发算法进行实验对比,证明了此算法在内容分发时有更好的负载均衡效果。在数据存储方面,提出了等分虚拟节点Hash算法来解决数据存储节点增删场景下负载不均衡的问题,最后与虚拟节点一致性Hash算法进行实验对比,证明了此算法在节点增删的场景下有更好的负载均衡效果。