论文部分内容阅读
当前,大家对Internet已不再陌生,它的迅猛发展给人们的工作和生活带来了极大的便利,Internet已成为人们日常生活不可缺的一部分。随着入网用户的不断增长,生活的节奏越来越快,人们对网络速度的要求也越来越高。尽管网络带宽在不断增加,网络硬件设备在不断更新,但是网络速度的增长仍旧满足不了用户的需求。这种状况在公司、企业这些小团体内部表现的尤为明显。由于资金的限制,不可能每个人都有一个外网的IP,取而代之的是它们使用私有IP来共享一条或几条公用的Internet线路,大家是共享上网。因此,代理缓存技术应用而生。通过把代理服务器置于网络的边界,内网用户可直接从代理服务器上取得之前在代理服务器中保存的信息,这样就加快了用户访问Internet的速度。随着计算机技术的日新月异,计算机已进入多核时代,能否充分利用计算机的多核性能已成为代理服务器提高网络速度的瓶颈。因此,为了有效利用CPU的并行处理能力,进一步提高缓存系统的响应速度,把多线程技术运用到代理服务器软件的设计当中是优选。本论文在现有代理缓存技术的基础之上,把线程池技术应用到代理缓存的设计当中,设计了基于半同步半异步模型的通用线程池,权衡了程序设计的复杂性和软件的高效率性。采用多线程技术之后,可以充分利用CPU的多核性能,提高缓存系统的并发度和吞吐量,进而提高代理缓存的处理能力、缩短用户响应时间。本系统的开发基于Fedora10平台,设计了半同步半异步模式的线程池,详细介绍了其实现原理,以它为外部连接接口。这样在复杂的并发系统中,把同步和异步I/O模型集成在一起,既保持了编程简单又保证了执行的效率。同时还实现了高效可靠的一级缓存和二级缓存、DNS缓存、非常完善灵活的日志功能、缓存系统之间的ICP通信模块、ACL模块等一系列功能。