高性能P2P点播服务器的设计与实现

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:aeo55121891
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,随着Internet的飞速发展,流媒体点播应用得到了前所未有的发展。传统的流媒体服务器多采用内容分发网络(CDN)与C/S相结合的方式。在这种模式下,随着用户数量的增多,一方面每个用户可获得的下载速度将会降低;另一方面服务器的负载过大,甚至会出现服务器宕机。面对大量用户的并发访问,怎样有效提升整个系统的网络吞吐量,增强服务器的并发性能以及提高用户体验,是当今点播服务器的设计要点。本文结合近年来流行的对等计算(P2P)技术,基于半同步/半异步体系结构设计和实现了一种高性能点播服务器。服务器采用EPOLL作为异步事件通知机制,非阻塞地处理网络I/O事件;利用线程池模拟异步磁盘I/O操作,并采用二级队列进行线程通信。实现了流媒体发布,点播,下载和删除等基本功能。为了选择优质节点作为服务器的直接邻居节点,提高整个网络的服务能力,实现了链接优化功能;为了既保证各个链接带宽的公平性,又能够为热点文件提供更大的动态带宽,服务器提供了流量管理功能;同时,点播和下载虽然在数据请求流程上是相同的,但是点播有实时性要求,于是为提高用户点播体验,系统将为点播请求分配更高的优先级,并对点播请求的数据收发模块做特别的优化处理,将丢弃过时和无效的数据和请求;另外,系统中存在各种定时需求,如链接超时和限速超时,但各种超时长度参差不齐,为了更精确地提供定时服务,分别设计了链接和限速两种定时器;最后,系统采用了Ordered日志模式保证意外宕机之后的文件系统一致性,并设计了基于文本的管理员日志来记录服务器的操作历史,为系统管理提供依据。本系统以Linux 2.6为开发平台,采用C++作为开发语言。通过实际环境和模拟测试验证了服务器功能和性能,从实际效果来看服务器能够持续稳定的给大量用户提供高效的服务,其设计和实现方式具有一定的理论和实际推广价值。
其他文献
随着Internet技术的飞速发展,整个Web信息已经被各种各样可搜索的在线数据库所深化。这些信息隐藏在Web查询接口之后,由站点后台数据库动态产生,而传统搜索引擎受技术限制无
近年来,随着互联网技术的迅速发展,作为深受广大玩家喜爱的网络游戏在这种背景下,也得到了很大的发展。网络游戏以其生动的画面,很好地模拟了现实社会,是一种很受欢迎的娱乐
全民移动互联网时代的到来,极大地方便和丰富了人们的日常生活。移动产品的使用可以随时随地进行,用户体验问题无处不在,传统的人工数据采集方式已不能满足移动互联网环境下
互联网的高速发展,网络带宽的提高已跟不上用户数量的增长。目前,不断的Web服务需求导致现有网络带宽与用户体验要求产生矛盾。因此,研发高性能、高扩展的集群Web缓存系统不
在现今社会,网络占据着重要的地位,有着不可替代的价值。随着网络规模不断地扩大,网民数量和网络流量激增,网络行为随着网络的发展变得更加多样化、复杂化。网络流量中频繁项
本文研究的背景是2009年9月兰州大学将迎来她的百年华诞。建校百年来,兰州大学培育了十余万学子,这是学校最珍贵的资源和财富,学校的发展离不开校友的支持与帮助。兰州大学期
生物识别技术是指利用人的生理特征(掌纹、指纹、人脸等)或行为特征(声音、步态、签名等)通过计算机来识别人的身份,具有唯一性、可靠性、稳定性等特点。虹膜识别是20世纪90
海浪模拟一直是计算机图形学领域中的一个研究热点和难点。在很多的三维游戏、模拟训练和影视特效中,大规模、逼真的海浪场景成为不可或缺的重要内容。海浪模拟涉及的范围十
近几年来,多媒体技术发展突飞猛进,视频处理技术作为多媒体技术的一个子集,也得到了快速发展。但是因为海量的视频数据对于传输或者存储都是很不方便,所以对这些海量数据的及
无线传感器网络是具有非常广阔的市场前景,将会给人类的生活和生产的各个领域带来深远影响的新技术。在基于无线传感器网络的上下文感知应用中,开发人员所面临的一个重大问题