论文部分内容阅读
随着软硬件技术的高速发展,以及互联网对于各行各业的渗透,不同企业的产品被大量的部署在地理位置多变,运行平台多样的工作环境中。伴随着产品规模快速扩大的是越来越复杂的通信环境及庞大的伴生数据,这些数据对于分析产品的状态,定位产品的异常,发现其优缺点十分重要。一个具有针对性的工具可以帮助用户,开发人员,测试人员快速的定位信息,并提供指引性的解决方案,进而节省大量的人力物力资源和时间,本文描述的诊断系统正是这样的工具。在大数据时代,面对庞大多样的数据和有限的人力资源,诊断系统具有良好的应用前景。本文通过分析企业现有产品,从分布式实体间数据共享,资源交换,信息过滤等多个方面设计诊断系统的结构,最终实现了在Windows和Linux环境中都能够正常运行的工具。以诊断系统的数据搜集,数据分析,数据展示这三个功能为重点,将系统从数据源代理服务器,系统服务器和客户端三个部分的设计实现方面进行描述。整个系统使用c++语言说明实现方案。在具体实现中通过对Windows和Linux系统相似功能的不同实现的归纳,遵循面向对象程序设计的思想,合理的划分类以确保系统在Windows和Linux环境中的可移植性。各部分的相关成果如下。1.在数据源代理服务器的实现中,参照NT Service,守护进程相关知识设计整体结构,保证数据搜集工作与计算机当前用户无关并且不受控制台输入的影响。使用多进程编程技术调用包括wireshark在内的工具完成对网络相关数据的搜集。通过对相关文件的修改控制log4cxx系统的日志信息搜集工作。创建TCP服务器完成对系统服务器发送的控制信息的响应。2.在系统服务器的实现过程中,在TCP服务器的基础上,使用多线程编程以及socket编程相关知识完善其对客户端发来的信息的处理。定义并实现通信协议完成系统服务器以及数据源代理服务器之间的信息传递。使用libcurl实现数据源代理服务器与系统服务器之间的数据共享,按照定义的规则对数据进行处理后传输到客户端处。3.在客户端的实现过程中,从相关文件中读取配置信息后,使用基于corba规则定义的通信协议完成客户端与系统服务器的通信。输出的控制信息被python实现的前端进行处理。在整个系统的实现中使用泛型编程,设计模式来保证系统代码的可移植性,可扩展性,可重用性。系统经过测试,运行状态良好。