论文部分内容阅读
互联网技术的发展使得网络成了一种新的传媒载体,而媒体的急速增长又给互联网带来了很大冲击。尤其是网络视频、个人媒体、传统电视等媒体向互联网的渗入使得网络中的流量急剧上升,这使得运营商的运营和管理成本大幅度增长。运营商可以采用限流的方法来控制网络流量,但这同时也限制了网络媒体的发展,最终不利于互联网的进一步发展。于是开发一种新的技术来控制网络流量成了一个研究热点。目前,互联网上的流量主要由P2P和HTTP产生,据估计这两种流量已经占到全部流量的70%以上,并且仍然呈现出上升趋势。因此流量控制的重点是P2P和HTTP,降低这两种协议产生的流量将有效降低网络整体流量。本文介绍的流量控制系统即是专门针对P2P和HTTP开发的一套系统。将系统部署在网络出口来缓存P2P和HTTP流量,对同一资源的后续请求将由缓存来响应,从而降低网络流量、节省带宽并提高用户体验。系统基于Linux平台,采用设计模式的技术进行设计。由于系统部署在运营商的网络出口,所以会面临很大的服务压力,因此高性能是系统的关键需求。设计系统时采用了若干措施来提高性能。首先是并发度,由于系统会在短时间内收到大量请求,而传统的一个连接一个线程的模式并不能应付这种高并发的情况。为此系统采用了反应器的模式,该模式基于Linux2.6内核的Epoll调用,因此系统的并发度就只受操作系统中文件描述符数的限制(理论值为65536)。其次是磁盘I/O,在系统中磁盘I/O是一个热点,系统采用了线程池模式来提高磁盘的吞吐能力。该模式将磁盘I/O和通信机制独立开来,降低了系统的实现复杂度。同时线程池内有若干个线程在同时处理磁盘I/O,从而大大提高了磁盘的吞吐能力。最后是数据的组织与检索,数据在系统中以文件的形式存储,系统采用三级目录的形式来存储文件。为了加快检索速度,系统在内存中为所有文件建立一个索引,通过该索引可快速定位到一个文件。本系统已被广泛部署,从实际使用中得到的数据表明该系统并发能力强,磁盘吞吐率高,能够有效降低网络流量。