论文部分内容阅读
随着国内网络应用的发展,越来越多的企业认识到除了要依靠网络设备本身和网络架构的可靠性之外,网络管理是一个关键环节。结构越来越复杂和规模越来越大的网络系统,需要网络管理软件来保证系统的正常运作,网络管理的质量会直接影响网络的运行质量,管理好一个网络与网络的建设同等重要。本文结合武汉某信息公司开发的网络性能管理系统,讨论了Linux系统多进程服务器软件的一些通用技术和该系统的技术背景、产品需求、软件架构以及具体实现,主要包括以下几个方面:1.给出了网络性能管理系统的产品定义,介绍了产品的目标用户群。分析了系统的网络拓扑结构和软件层次结构,并按层次描述了系统的功能需求。2.根据网络管理的目的,介绍了目前主流的网络管理协议SNMP、NetFlow、sFlow的基本原理、适用范围及它们各自的优缺点,重点介绍了NetFlow不同的数据格式。3.探讨了网络性能管理系统的需求,着重论述了基于NetFlow采集系统需要实现的众多功能,包括网络元数据的采集、转化和存储以及系统保障性需求。分析了系统需求中的难点,研究了LinuX平台下多进程编程技术,并对各种进程通信手段进行了比较。另外,为实现系统中海量数据的高效处理和存储,专门研究了嵌入式数据库Berkeley DB。4.论述了系统的开发环境和极限编程开发模式在系统开发过程中的运用。根据系统的需求,阐述了NetFlow采集程序flowd的基本设计思想,即父进程接收网络元数据、多个子进程处理和存储数据,以及系统中父子进程各自的功能。5.本文的创新之处是在最后一章中,主要对如何利用多进程服务器软件技术实现系统的功能做了详细的说明。首先论述了网络元数据的采集、系统单一副本运行的实现;系统初始化及退出清理的实现,并以此展示共享内存和消息队列在系统中的具体运用;重点说明如何利用Unix域套接字实现父子进程间的心跳机制。最后介绍了如何运用锁机制实现多进程下Berkeley DB的打开关闭操作。