论文部分内容阅读
随着互联网应用的兴起以及宽带通信和高性能服务器的发展,涌现出了大量的网络应用服务,带动了网络服务的快速发展。目前大多数网络服务面对大规模用户群,都需要解决如何处理大量并发网络连接及并发用户请求的问题,而这部分底层网络通信开发复杂度高,但它属于该领域的共性构成部分,因此能使用组件复用技术,去除重复劳动,减小开发和测试的工作量及今后软件维护的成本,从而提高软件生产效率。
本文的主要工作是在研究ACE和libevent框架的基础上,利用现有技术开发一套可配置可扩展的通用网络服务框架,对底层Socket编程及多线程编程进行封装,提供给开发者一个通信服务开发组件,使开发者不必关心底层复杂繁琐的开发细节,而将精力集中于业务逻辑开发,提高网络应用程序的开发效率,减小了开发和维护成本。该框架的主体采用多线程工作组模型及epoll事件触发机制进行设计,并使用多种系统性能优化技术,如池技术(线程池、内存池)、数据零拷贝技术、配置管理等优化系统性能,提供系统的可扩展性;同时提供一种使用多服务窗混合制排队模型M/M/n/m进行服务参数估计,的方法,根据应用场景需求进行服务参数配置,以优化服务配置,最大限度利用系统资源。
论文最后,使用本框架开发了一个多路并行文件传输服务,并应用到XXX分布式应用系统的数据传输中。系统已经过3个月的稳定运行,证明能满足项目要求。