论文部分内容阅读
随着互联网技术的发展,以及新型移动互联网和云计算等技术的推广应用,越来越多的应用都是一种弱客户端强服务端的模式;因此服务端扮演着越来越重要的角色;另一方面网络硬件设备的飞速进步,硬件的瓶颈效应不断的减弱,使得服务器软件的性能瓶颈变得非常突出。当前服务通信模型的研究方面主要包括:单机服务模型和多机服务模型两类;其中单机服务器模型方面主要包括多进程、事件驱动和混合事件驱动模型等三大类;在多机服务器模型方面主要包括集群、网格等两大类。 本文对当前国内外学者提出的服务器通信模型进行了研究,阐述各个模型之间的差异;同时对一些学者提出的经典的多机调度算法和负载均衡策略进行了研究。本文通过对上述模型研究的基础上,结合各个模型的优点针对linux2.6内核版本操作系统,提出了基于EPOLL的高并发服务器通信模型,并从系统结构和数据流两方面阐述了系统设计,设计了进程间通信规范; 此外,在基于EPOLL的高并发服务器通信模型基础上,本文结合BT下载服务,设计了多机高并发服务器,分别从系统结构、调度算法、负载均衡等三个方面阐述了对多机系统的设计;在任务调度方面系统采用了动静相结合的调度算法,同时针对MIN-MIN算法易导致负载失衡的缺点,本文引入了动态权值因子对算法进行改进,从而对负载失衡起到了预防的作用。 最后通过实际系统测试,本文提出的基于 EPOLL的高并发的服务器通信模型相对于 LIBEVENT、ASIO网络库,在吞吐量,事件处理效率方面都有一定的性能提高。在多机系统的负载均衡方面,也没有出现负载失衡的情况。