论文部分内容阅读
随着计算机网络的飞速发展,网络信息流量不断增大,基于海量数据的分布式软件的规模也不断扩大,随之而来的是分布式软件的组成部分变得愈加庞大和复杂,给系统调试以及了解系统运行状态带来了困难。如何有效利用分布式软件在运行过程中产生的大量日志信息来分析系统状态和提升系统预警能力,满足日志服务在性能、健壮性、可扩展性等方面的迫切要求,是一个具有普遍意义和实用意义的研究课题。 本文以大规模事务处理中间件(StarTPMonitor)为应用背景,研究分布式软件的日志管理问题,在此基础上设计并实现了一个面向分布式软件的日志管理系统。本文主要工作包括: 1、在分析了日志服务的应用背景及日志技术的发展趋势后,指出了现有日志服务产品在满足大规模事务处理中间件的日志需求上存在的局限性。 2、介绍了大规模事务处理中间件的总体结构,以及引入日志管理系统的必要性;分析了大规模事务处理中间件对日志管理系统的功能需求。 3、在日志服务应满足的功能需求的基础上,设计了一个面向分布式软件的日志管理系统LMS(Log Management System for Distributed Software,LMS),并对LMS的体系结构、日志格式、日志信息管理模式、报警信息的获取方式及系统配置数据存储方式等的设计展开了详细的讨论,包括采用“双缓冲区策略”提高日志文件的传输速度;利用改进的时钟同步算法解决多应用节点日志事件排序问题;通过关联规则挖掘算法自动生成报警规则,以提高日志分析的效率等等。 4、基于StarBus平台完成了LMS的实现,LMS三段式体系结构实现了分布对象的快速日志记录,提高了系统的并发度;LMS采用多线程方式接收分布对象的日志请求和处理日志缓冲文件。LMS的对象管理功能支持系统的运行时调试以及日志数据的输出容量控制。LMS采用CORBA Any类型对日志信息进行封装,实现日志信息对外界的透明性;其日志监控与报警功能提升了对系统的预警能力。同时,LMS采用XML序列化与反序列化技术实现对系统配置数据的存储,保证了LMS的可配置特性,提高了LMS的灵活性。 5、对LMS进行了相应的功能和性能测试。测试表明LMS正确地实现了日志管理系统的各项功能,日志管理引入的开销很小,LMS满足了大规模事务处理中间件对其在性能、可用性、可扩展等方面的要求。