论文部分内容阅读
互联网技术近年来得到了迅猛发展,网络用户人数爆炸式地增长,网络拥堵日益成为制约互联网发展的瓶颈。CDN(内容分发网络)技术通过搭建虚拟平台来减少网络拥堵情况的发生。然而,传统的CDN技术是一种基于C/S(服务端/客户端)的计算模式,当客户端的数量急剧增加时,性能就容易出现瓶颈。如果要提升服务能力,就需要不断地部署新的分布节点,扩展成本高昂。P2P技术的出现,打破了传统的C/S模式。在P2P网络中,每个节点的地位都是对等的。节点既可以作为服务器,也能作为客户端。如果在自治域内利用P2P技术,一般就能以较低的带宽为用户提供更优质的服务。近年来,根据CDN与P2P网络各自的优势及体现出来的互补性,出现了CDN与P2P相结合的技术。然而,随着CDN-P2P混合系统规模不断扩大,产生了一系列问题。首先,网络资源负载能力是有限的,用户对P2P的文件请求响应时间的要求限制了节点的共享范围,不能真正实现所有P2P节点之间的文件共享;其次,随着CDN边缘服务器、节点之间传输流量的增大,系统过载时节点的请求响应时间会随之提高,从而过度地消耗网络资源。因此,建立新的模型来应对这些问题具有很大的现实意义。本文主要论述了一个基于社会属性的CDN-P2P原型系统的设计与实现,致力于为CDN和P2P结合的后续研究和实验打下了良好的基础。这个原型系统主要有以下几个关键点:第一,引入了节点社会属性的概念,将系统中的每一个节点视为社会中的自然人,以自然人的自身属性和偏好作为节点的重要信息。在系统运行过程中,通过充分发挥节点用户的能动性,使节点用户感知相互的社会属性,从而选择更合理的查找路径快速高效地进行内容查找。第二,将智能推荐技术应用于CDN-P2P系统中,通过获取节点已发生或已表现出的文件需求,进行需求相似性分析和需求预测,并提供推荐服务。第三,根据用户社会属性的变化系统会动态更新和进化。由于用户的社会属性可能随着时间的推移而变化,因此系统需要根据这些变动过程,通过相应的机制和合理的方式进行动态更新,实现CDN-P2P系统的进化。CDN-P2P原型系统包括三个模块:中心服务器、边缘服务器及客户端节点。本文主要讨论了中心服务器和客户端节点的设计与实现,并着重分析了边缘服务器选择方案、邻居选择算法、节点在线状态维护策略,节点资源搜索机制以及下载方案等,并在最后分析总结了系统的性能和改进的方向。