




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单位代码10475学号104754120565分类号TP311硕士学位论文(专业学位)基于RMI的日志管理系统在GF生产线系统中的应用专业学位领域:计算机技术专业学位类别:工程硕士申请人:指导教师: 二一四 年 五 月IIITHE APPLICATION OF RMI-BASED LOG MANAGEMENT SYSTEM IN GF PRODUCTION LINE SYSTEMA Dissertation Submitted to the Graduate School of Henan Universityin Partial Fulfillment of the Requirementsfor the Degree of Master of Engineering ScienceBy关于学位论文独创声明和学术诚信承诺本人向河南大学提出硕士学位申请。本人郑重声明:所呈交的学位论文是本人在导师的指导下独立完成的,对所研究的课题有新的见解。据我所知,除文中特别加以说明、标注和致谢的地方外,论文中不包括其他人已经发表或撰写过的研究成果,也不包括其他人为获得任何教育、科研机构的学位或证书而使用过的材料。与我一同工作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。在此本人郑重承诺:所呈交的学位论文不存在舞弊作伪行为,文责自负。学位申请人(学位论文作者)签名: 201 年 月 日关于学位论文著作权使用授权书 本人经河南大学审核批准授予硕士学位。作为学位论文的作者,本人完全了解并同意河南大学有关保留、使用学位论文的要求,即河南大学有权向国家图书馆、科研信息机构、数据收集机构和本校图书馆等提供学位论文(纸质文本和电子文本)以供公众检索、查阅。本人授权河南大学出于宣扬、展览学校学术发展和进行学术交流等目的,可以采取影印、缩印、扫描和拷贝等复制手段保存、汇编学位论文(纸质文本和电子文本)。 (涉及保密内容的学位论文在解密后适用本授权书) 学位获得者(学位论文作者)签名: 201 年 月 日 学位论文指导教师签名: 201 年 月 日I摘 要软件系统中日志信息记录了系统运行的详细情况,是系统安全性的一个重要保证。伴随着日志技术的进步,日志管理软件也不断涌现,这些软件使系统的日志记录变得简单,但是这些日志软件也存在着操作复杂、功能单一等问题。结合GF生产线系统这一具体项目,由于GF生产线系统的运行依靠各个服务器间的协调工作,其各个服务器之间的相互调度依赖于网络环境,考虑到这一特点,为实现GF生产线系统的日志管理,则需要对GF生产线系统各个服务器中的日志文件进行管理,这一要求使得当前普通的日志软件较难满足条件。结合上述问题,为实现GF生产线系统中的日志管理,同时,考虑到上述日志管理技术中存在的问题,设计一套日志管理系统显得尤为必要。本文结合GF生产线系统这一具体应用环境,通过对日志管理的需求分析,结合Java提供的RMI远程过程调用机制以及开源项目Log4j,设计实现一套基于RMI的日志管理系统。本文主要成果如下:1. 设计实现日志记录组件,该组件对外提供统一的日志记录接口,减少系统代码的冗余,提高代码及数据可维护性,同时减轻开发人员工作负担,提高系统开发效率。2. 利用Java提供的RMI远程过程调用机制,结合GF生产线系统各个服务器的分布特点,对系统进行分层设计,实现对GF生产线系统各个服务器中日志信息的查询、清理、配置和备份。3. 本文设计的日志管理系统通过在GF生产线系统中的应用示例说明,该日志管理系统界面友好,操作简单,在满足GF生产线系统日志管理的前提下增加了系统的可操作性。另外该日志管理系统记录了GF生产线系统在业务逻辑上的操作,并为用户提供了日志分类查看的功能,使用户可以及时掌握系统的运行情况,不仅为系统的安全运行提供了一定的保证,并且对于系统的优化提供了工具。关键词:日志管理,GF生产线系统,远程过程调用,Log4jABSTRACTSoftware system log information recorded the details of system operation,which is an important guarantee for the security of the system. With the advances in technology of log, log softwares have emerged, these softwares makes it easier in logging, but those log softwares there are also have complex operation, single function and other issues.Combined with the specific project-GF production line system, because of the running of the GF production line system relies on the coordination of the various servers, and the mutual scheduling among its various servers dependent on the network environment,so, to realize the log management of GF production line system, managing log informations in various servers is needed,which makes the the current log softwares more difficult to meet the conditions.Combine with these problems, to achieve the log management in GF production line system, while taking into account the above log management problems, designing a log management system is particularly necessary. This article, according to GF production line systems and analysing the need for log management, combined with Java Remote Method Invocation and Log4j which is an open source logging project, designs and implements a log management system which is based on Java Remote Method Invocation. Through this article, the main achievements are as followed:1. Design and implement logging component which provides a uniform external interface by reducing redundant system code and data to improve code maintainability, which reduces the burden on developers and also improves the efficiency of system development.2. According to Java Remote Method Invocation, combined with the division of each server in GF production line system and layered design of the system, to solve the GF system log management issues, such as query, backup and cleanup informations.3. The example of the log management system application in GF production line system proves that the interface of this log management system is user-friendly and easy to operate,which meets the log managing need of the GF production line systems and also increases the systems operability. At the same time, the log management system records the GF production line system operating on the business logic, and provides users with a log-categories feature which allows the user to grasp the operating situation of the system,which not only provides some guarantee for the safe operation of the system, and also provides a tool to optimize the system.KEY WORDS: Log Management, GF Production Line System, Remote Method Invocation, Log4j53目 录摘 要IABSTRACTIII1 绪论11.1 研究背景及意义11.2 国内外研究现状21.3 本文主要工作41.4 主要内容及组织结构41.5 本章小结52 相关技术介绍72.1 Log4j简介72.2 RMI简介82.3 本章小结93 系统需求分析113.1 问题的提出113.2 系统需求分析123.2.1 功能需求分析123.2.2 技术需求分析133.2.3 性能需求分析143.2.4 业务需求分析143.3 本章小结154 系统设计与技术分析174.1 系统总体设计174.1.1 系统总体架构174.1.2 系统层次设计184.1.3 系统流程设计204.1.4 数据模型设计234.1.5 类结构设计254.2 关键技术分析及应用274.2.1 Log4j分析及应用274.2.2 RMI分析及应用294.3 本章小结325 系统实现与应用335.1 系统主要功能实现335.1.1 系统主界面335.1.2 日志浏览335.1.3 日志记录345.1.4 日志查询355.1.5 日志备份和清理365.1.6 日志维护配置375.2 应用环境介绍395.3 应用结果405.3.1 日志浏览405.3.2 日志记录415.3.3 日志查询415.3.4 日志备份和清理425.3.5 日志维护配置425.4 应用结果分析435.5 本章小结446 总结和展望45参考文献47致谢51攻读学位期间参加的项目53第1章 绪论1 绪论伴随着软件系统的发展,为了保证软件系统的安全性和可靠性,日志管理成为软件系统开发中不可忽视的重要组成部分,如何实现GF生产线系统中的日志管理,使系统的管理者能够通过日志信息了解系统的运行状态,及时对系统出现的故障做出判断处理,这是一个需要解决的问题。本文从这点出发,解决GF生产线系统的日志管理问题。1.1 研究背景及意义随着软件系统复杂度的提高,对软件系统的安全性要求也在不断提高,越来越多的计算机技术被应用在软件系统中来保证安全可靠性,日志管理就是其中非常重要的一种技术,日志管理是不可缺少并且十分重要的1。由于日志信息记录了系统运行的详细情况,包括系统正常运行的系统状态信息、用户操作信息、以及系统故障时的错误信息等,因此这些信息在系统维护时可以作为重要参考数据,用户可以通过系统运行时产生的日志信息来了解系统的运行情况。于此同时,伴随着日志技术的进步,日志软件也在随之更新换代2,这些日志软件使得系统的日志管理变得简单,但是这些日志软件也存在着一些问题。在操作性方面,日志软件因为具有很强的通用性,所以配置比较复杂,用户在使用时往往需要先对该日志软件的相关知识进行深入了解学习,使得用户的使用效率降低。并且,由于日志软件提供的功能比较单一,只是简单的记录信息系统的运行情况,并不能记录系统在业务逻辑上的操作3,这使用户理解系统日志并根据日志信息优化系统变得困难。结合具体项目GF生产线系统,GF生产线系统在云环境中运行,整个云环境由运中心和部署在行业或者区域用户处的云端组成,在云中心和云端以及各个云端之间需要数据传递,相互配合协调,以完成产品的生产。其硬件系统分为:客户端、任务调度服务器、生产节点,由于GF生产线系统的各个服务器依赖于网络环境下的协调运行,根据其运行环境的特点,当前普通的日志软件较难满足GF生产线系统中对于日志管理的要求。为了解决上述问题,本文设计并实现了一套基于RMI的日志管理系统对GF生产线系统中的日志信息进行管理,完成对于日志信息的记录、查询、清理、备份。该系统利用文件对GF生产线系统中的日志记录信息进行记录,降低了大量日志信息存储带来的管理难度。并且界面操作简单友好,用户能够一目了然的了解界面中提供的操作,能方便地对GF生产线系统运行中产生的日志信息进行管理。另外该日志管理系统记录了GF生产线系统运行中业务逻辑上的操作信息,并为用户提供了日志分类查看的功能,使用户可以根据日志信息及时掌握系统的运行情况,不仅为系统的安全运行提供了一定的保证,并且对于系统的优化提供了依据4。1.2 国内外研究现状近年来,各种用于软件系统的日志管理方案层出不穷,软件开发商提出了多种用于日志管理的方案,其中AWStats、Analog、Webalizer等一些日志管理软件较为突出5,这些日志管理软件凭借其在可通用性、可配置性等方面取得的优势,在软件系统中应用比较广泛,但是仍然存在一些无法避免的缺点。目前一般的日志管理软件存在的缺点有以下几个方面:(l)通用性过强导致功能单一目前的日志管理软件在通用性方面都做了较大的改进,使得日志管理软件在多种环境下都能够使用,由于通用性过强,导致日志管理软件能够提供的功能较为单一,但是这样的通用性软件并不能解决一些特定环境下的日志管理需求,对于特定的环境往往还需要开发人员根据实际情况开发特定的日志管理系统来满足要求。(2)软件提供界面不够简单,实现功能较为繁琐目前一般的日志管理软件为用户提供的交互界面不够友好,用户为了实现某一功能需要根据日志管理软件提供的应用程序接口进行二次开发6,功能实现起来繁琐。以日志查询为例来说明,如果日志管理软件能够提供日志查询操作菜单,用户只需要在操作菜单中通过点击按钮设置日志查询条件实现查询功能,增加了系统的可操作性,减少用户操作的复杂度。(3)配置复杂大多数的日志管理软件在使用时需要根据具体的应用系统进行复杂的配置,完成这些配置需要对该日志管理软件的使用进行学习了解各种配置参数及其功能,这一过程耗费用户较大的时间和精力,而这一过程由于其通用性往往不可避免。(4)较难满足分布式应用的日志管理需求由于网络的快速发展,软件系统的运行也愈来愈依赖于网络,传统的单机式软件模式已经无法满足目前的需要。传统的日志管理主要对单机环境下系统中的日志记录信息进行管理9,因此一般的日志管理模式很难在分布式应用中充分发挥作用,这样使得分布式应用中的日志管理功能实现变得困难。于此同时,伴随着网络技术的快速发展,为促进网络环境下大型计算机应用系统的推广和集成,分布式对象技术为网络计算平台上软件的开发提供了有效的解决方案,目前三种主流的技术有OMG的CORBA、Microsoft的DCOM、Sun公司的Java/RMI。CORBA(Common Object Request Broker Architecture)是由OMG组织制订的一种标准的面向对象应用程序体系规范。OMA由对象请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成,其核心部分是对象请求代理ORB(Object Request Broker),能够适用于所有实现ORB的平台中,支持多种编程语言开发。DCOM(分布式组件对象模型)是微软提出的一系列概念和程序接口,利用这些接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象,实现远程过程调用,主要支持Windows系列操作平台。Java/RMI是由Sun公司提供的支持Java语言的远程过程调用接口,通过它可以实现不同Java虚拟机中进程的相互调用。对于支持JVM(Java Virtual Machine)的平台,RMI都能运行,具有较好的跨平台性。由于DCOM技术是以Microsoft和Windows为基础的技术,因此对于跨平台性和多语言编程方面不能够很好的支持;CORBA对于多语言编程以及跨平台性方面都有较好的成绩,但正是由于其强大的功能导致它的入门门槛较高,不但要求程序员要熟悉所使用的语言环境,而且还要熟悉IDL语言、ORB、接口库等内容;Java/RMI是由Java语言支持的解决方案,由于Java语言较好的跨平台性,因此RMI能够在所有支持JVM(Java Virtual Machine)的平台中运行,同时,开发人员只需掌握Java语言就能够进行RMI的相关编程,降低开发难度。综合以上分析,由于GF生产线系统的开发完全由Java语言开发实现,因此选择Java/RMI来实现分布式对象间的远程过程调用是种较为理想的选择。1.3 本文主要工作本文首先对日志管理系统的研究背景和意义进行介绍,分析目前一般的日志管理软件存在的问题和不足,根据GF生产线系统的实际运行环境,说明了设计和实现基于RMI的日志管理系统的必要性。结合GF生产线系统开发所采用的技术和系统架构,确定日志管理系统所采用的开发语言和使用的关键技术,并对其作出介绍。通过对GF生产线系统中日志管理的需求分析,明确日志管理系统的需求以及系统的总体设计和详细设计,并在RMI提供的远程过程调用机制的基础上,设计实现了日志管理系统,用于完成GF生产线系统中日志文件的管理。最后介绍了基于RMI的日志管理系统在GF生产线系统中的具体应用,并对实际应用结果进行分析。之后,对本文进行工作总结和展望,总结本文实现的成果,同时分析本文设计的日志管理系统尚存在的不足之处并提出未来工作的改进目标。1.4 主要内容及组织结构本论文主要介绍了一种基于RMI的日志管理系统的设计和实现以及在GF生产线系统中的具体应用。本文全文分为六个章节,各章节的内容简单介绍如下:第一章 绪论。本章主要介绍课题的研究背景及意义,分析国内外研究现状,并介绍了本文主要内容和组织结构。第二章 相关技术介绍。本章主要对系统开发中使用的开发语言,采用的开发平台以及使用到的关键技术进行介绍。第三章 系统需求分析。本章主要介绍了对系统在功能、技术、性能、业务四个方面进行的需求分析。第四章 系统设计与技术分析。本章在系统需求分析的基础上,提出系统总体设计方案,并对系统使用的主要关键技术以及关键技术的应用进行分析。第五章 系统实现与应用。本章主要介绍日志管理系统主要功能的实现以及在GF生产线系统中的应用结果,并对应用结果进行分析。第六章 总结和展望。对本文所做的工作进行总结说明,根据总结分析本文中尚存在的不足之处,根据此不足之处明确以后工作的改进方向。1.5 本章小结第一章中首先对研究背景和意义进行阐述,说明论文选题产生的原因,然后对国内外研究现状、本文所做的主要工作以及论文主要内容和组织结构说明,明确了论文的整体结构。第2章 相关技术介绍2 相关技术介绍结合上一章所讲的研究背景和意义,以及国内外的研究现状,本章将对系统中所采用的关键技术Log4j和RMI技术进行简单介绍。2.1 Log4j简介Log4j是Apache提供的开源项目,它是一个日志操作包,是当今非常流行的一种日志工具,它可以很容易地实现Java应用程序框架的调试和监视。在应用程序中插入Log4j提供的日志记录方法,将日志记录信息作为参数传递进去,使应用程序在运行中能够将运行时的关键信息记录下来。通过修改Log4j的配置文件,可以将日志记录信息输出到文本、控制台、数据库、SMTP服务器、GUI组件等目的地中24,同时,能够灵活控制日志记录信息的级别、日志记录信息的记录格式。同时作为一个可重用的日志记录包,使得系统能够得到一个统一的日志组件模块,便于程序的维护。Log4j包含三个主要组件:记录器,输出源和布局器,其中Loggers用于控制日志记录的配置,可以在不同的Loggers中设置不同的日志记录级别、日志记录信息输出目的地、日志记录信息格式,通过调用不同的Loggers完成不同日志记录信息的记录;Appenders用于控制日志记录信息输出的目的地;Layouts用于控制日志记录信息的输出格式27。1. 记录器(Loggers)记录器(Loggers)用于记录系统产生的日志信息,并通过日志信息的级别属性对系统产生的日志信息进行过滤,通过级别设置控制日志信息的记录,即日志信息级别达到所设置的级别要求才会被记录。日志信息的级别有FATAL、ERROR、WARN、INFO、DEBUG五种级别,分别表示致命错误级别、错误级别、警告级别、通知级别、调试级别,五种级别信息的优先级从高到低依次是FATAL、ERROR、WARN、INFO、DEBUG。例如,当记录器设置的日志信息记录级别为INFO级别时,记录器则会将FATAL级别、ERROR级别、WARN级别、INFO级别的日志信息记录到输出源中,而DEBUG级别的日志信息则由于没有满足日志信息的最低记录级别而被过滤掉。2. 输出源(Appenders)输出源(Appenders)决定日志信息的输出介质,通过在Log4j的配置文件中设置,日志信息将被记录到不同的输出介质中,日志信息的输出介质即决定了日志信息是被记录到控制台中或是文本文件中。Log4j有多种的日志信息输出介质,包括括控制台、文件、GUI组件、远程套接字服务器、JMS、NT事件记录器和远程UNIX Syslog 守护进程26。3. 布局器(Layouts)用户对于日志信息的格式往往会有不同的要求,统一的日志信息格式不能满足这一要求,为了保证记录到输出介质中保存的日志信息格式的灵活性,Log4j允许通过布局器(Layouts)控制输出的日志信息格式。用户可以自定义一个日志信息格式,例如:格式定义如果为“%-p #%-dyyyy-MM-dd HH:mm:ss#%-c#%-m%n”,输出得到的日志信息为:DEBUG#2014-01-04 10:15:39# org.jboss.logging#日志测试信息。其中“%-p”表示日志信息的级别,“%-d”表示日志信息产生的时间,“yyyy-MM-dd HH:mm:ss”用于控制时间格式,“%-c”表示输出所属的类目,通常就是所在类的全名,“%-m”表示需要输出记录的日志信息,“%n”代表换行,“#”作为日志信息中的分隔符,可被其他字符替换。2.2 RMI简介RMI是Java提供的一组用于实现远程过程调用的应用程序接口11。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。它是Java虚拟机对象之间相互调用对方的方法、启动对方进程的一种机制20。使用这种机制,可以让一个JVM上运行的程序访问另一个JVM中的对象,这两个JVM可以运行在同一台计算机的不同进程中,也可以运行在由TCP/IP连接的不同计算机上,它主要是用于网络环境下多机间的通信。某一JVM上的对象在调用另一JVM上的方法时,使用的程序语法规则和在本地JVM上对象间的方法调用的语法规则一样,隐藏了RMI之下的网络细节,这样可以直接利用RMI机制来研究和实现网络管理。RMI的基本体系结构,包括三个抽象层:存根/框架层(Stubs/Skeletons Layer),远程引用层和传输层28。RMI体系结构如图2-1所示。图2-1 RMI体系结构图方法调用客户端经存根(stub)、远程引用层和传输层向下,传递给主机,然后再次经传输层,向上穿过远程引用层和框架(skeleton),到达服务器对象29。使用RMI通信的系统通常被分为两类:客户端(RMI服务的调用者)和服务器(RMI服务的提供者)。服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客户端调用这些远程对象的方法;客户端程序则从服务器中得到一个或多个远程对象的引用,然后调用远程对象的方法。2.3 本章小结本章主要对系统开发中使用到的关键技术做出简单介绍,这些是进行日志管理系统具体开发设计与实现的技术基础。第3章 系统需求分析3 系统需求分析GF生产线系统的日志管理功能对于维护系统的正常运行有着不可忽视的作用,日志管理能为系统的管理维护提供有效的信息,为系统的管理维护人员提供诊断和修复系统配置的依据。为实现上述目的,本章将简单分析目前的日志管理软件存在的问题,在分析的基础上提出本文的日志管理系统,并对系统进行需求分析。3.1 问题的提出日志信息在软件系统中扮演着越来越重要的角色,随着软件对系统安全稳定性的越来越重视,日志管理已经成为软件系统中不可忽视的一部分。随着Internet和计算机软件技术的迅速发展,软件系统的功能变得更加复杂,对于系统的安全稳定性的要求也在逐步提高25。然而,日志管理技术作为保证系统安全稳定运行的重要部分,其发展速度却并不理想。虽然目前也出现了一些比较成功的日志管理软件,但是这些日志管理软件往往在日志管理功能的通用性上作出了较多的工作,因而对于一些行业系统中的日志管理需求,这些日志软件并不能很好的满足。同时,在操作性方面,日志软件因为具有很强的通用性,所以配置比较复杂,需要用户具有很强的专业知识,系统的操作性较低。并且,由于日志软件提供的功能比较单一,只是简单的一记录信息系统的运行情况,并不能记录信息系统在业务逻辑上的操作,这使用户理解系统日志信息并根据日志信息优化维护系统变得困难。GF生产线系统在云环境中运行,整个云环境由运中心和部署在行业或者区域用户处的云端组成,在云中心和云端以及各个云端之间需要数据传递,相互配合协调,以完成产品的生产。其硬件系统分为:客户端、任务调度服务器、生产节点。由于GF生产线系统的各个服务器依赖于网络环境下的协调运行,根据其运行环境的特点,当前普通的日志软件较难满足GF生产线系统中对于日志管理的要求。出于对上述问题的考虑,开发针对系统本身的日志管理系统成为解决问题的首选。3.2 系统需求分析结合本课题的来源GF生产线系统的硬件及运行环境特点,通过对日志管理功能的需求分析,本文设计了一套基于RMI的日志管理系统,完成对GF生产线系统的日志文件的管理。下文分别在功能需求、性能需求、技术需求、业务需求四个方面进行需求分析说明。3.2.1 功能需求分析为满足日志管理系统在GF生产线系统中的应用,日志管理系统的功能必须能够完成GF生产线系统对于日志的管理功能。为使日志记录信息对系统的维护起到相应的作用,日志管理系统应具有以下功能:1. 日志记录功能日志记录功能负责将系统运行中产生的日志记录信息记录并保存到文本文件中。记录的日志记录信息包括:a) 记录时间:系统何时生成的日志信息。b) 信息来源:用于识别日志记录信息产生于哪一台服务器中。c) 信息级别:标示该日志记录信息属于何种级别的信息,信息级别划分为五种,即:调试级别、普通操作级别、警告级别、错误级别、严重错误级别。d) 信息描述:描述用户执行的操作或系统出现的错误信息。这些信息是系统的管理维护需要的内容,日志管理系统在记录日志记录信息时需要包含上述内容。2. 日志查询功能用户能够通过该功能实现日志记录信息的查询,查看系统已生成的日志记录信息。很多时候用户并不需要查看所有的系统已生成日志记录信息,可能只需要查看某一台服务器在某个时间段内产生的一定级别的日志记录信息,因此日志查询功能要能够帮助用户实现日志记录信息的筛选,筛选的选项包括:信息来源、记录时间、信息级别,即用户可以根据自己需要,通过设定信息来源、记录时间、信息级别三个筛选选项以筛选出自己想要查看的日志记录信息,而不必在所有的系统已生成的日志记录信息中人工查找。3. 日志备份功能该功能实现系统已生成的日志信息的备份,用户使用该功能可以通过客户端将服务器中生成的日志信息导出并以文本文件的形式保存本地主机中留作备用和方便查看,以防止服务器崩溃或掉线时无法查看日志信息的情况发生。用户可以设置筛选选项(信息来源、记录时间)筛选出相应的日志信息进行保存,而不必保存所有的日志信息。4. 日志清理功能日志清理功能用于完成服务器中日志记录信息的清理,即删除冗余的日志记录信息,减轻服务器负担。日志清理功能包括人工清理和自动清理两种方式。人工清理即用户通过手动设置筛选选项(信息来源)删除相应服务器中的日志记录信息,自动清理即通过配置参数实现服务器日志信息的自动定期清理,配置参数包括:a) 自动清理周期:即每隔多长时间自动删除冗余日志记录信息。b) 文件最大容量:保存日志记录信息的文件大小超过该设置值即自动删除。3.2.2 技术需求分析GF生产线系统运行在云环境中,系统产品生产的功能实现依赖于各个服务器节点的相互协调运行,而由于服务器分布在网络环境中,各个服务器能够通过网络实现资源共享和远程调用是它们协调工作工作的基础,因此需要使用一种技术来实现各个服务器子系统间的相互调用。由SUN公司开发的RMI为服务器端和客户端进行通讯和消息传递提供了一种机制,为Java程序间远程通讯提供服务,远程对象间通讯的细节由RMI处理。它让一个JVM上运行的程序可以调用另一个JVM中的对象, 这两个JVM可以运行在同一个计算机的不同进程中,也可以运行在由TCP/ IP连接的不同计算机上,它主要用于两个都是以Java语言编写的对象之间通信39。根据GF生产线系统的特点结合RMI的功能,本文提出一种基于RMI的日志管理系统应用在GF生产线系统中,实现GF生产线系统对于各个服务器日志的管理。基于RMI 的日志管理系统由于全部使用Java语言开发,具有更好的跨平台性,同时具有更好的可靠性和可扩展性。3.2.3 性能需求分析GF生产线系统的硬件系统分为:客户端、任务调度服务器、生产节点,由于GF生产线系统的各个服务器依赖于网络环境下的协调运行,日志管理系统在GF生产线系统中需要对各个服务器中产生的日志信息进行记录、查询、清理、备份。面对大量的日志信息,要实现上述功能,需要进行以下几种基本的性能需求分析:1 可操作性可操作性是指日志管理系统能够给用户提供一个简单友好的界面,用户可以一目了然地理解界面中相应操作的功能,不需要进行复杂的设置或掌握太多的专业知识就能够使用界面中提供的功能,实现自己的需求。2 灵活性灵活性是指日志管理系统具有相应的配置功能,即允许用户自定义配置一些属性,决定哪些日志信息可以显示、清理、备份,多久执行一次自动清理日志文件,日志文件达到多大容量时自动清理。GF生产线系统包括产品生产子系统、任务调度子系统,每个子系统功能复杂同时又包含多个模块,每个模块对于日志信息的记录级别并不一定相同,这就要求日志管理系统可以通过配置设置每个模块日志记录信息的最低级别,决定不同模块中哪些日志信息需要记录哪些日志信息不需要记录,减少不必要的日志记录信息,减轻系统运行负担。3 稳定性稳定性要求系统能够稳定的运行,对于一些基本的错误信息能够给出相应的提示,如连接某个服务器失败导致无法查询或者备份该服务器日志时,要能保证系统给出正确提示信息,而不会因连接失败而导致系统崩溃。3.2.4 业务需求分析为保证GF生产线系统日志管理功能的实现,日志管理系统需要对GF生产线系统的各个分系统在每台服务器中产生的日志记录信息进行维护,主要业务包括对系统运行时产生的日志信息的记录、查询、清理、备份。日志信息的记录是指将各个服务器中的GF生产线分系统运行产生的日志信息记录并保存在文本文件中;日志信息的查询是指用户通过客户端查看各个服务器中系统运行已产生的日志信息;日志信息的清理是指删除服务器中保存日志信息的文本文件,并在新的文本文件中重新开始记录日志信息;日志信息的备份是指用户通过客户端将服务器中已生成的日志信息导出并以文本文件的形式保存在本地主机中。3.3 本章小结本章首先对目前已有的一些日志管理软件存在的问题进行阐述,结合GF生产线系统的特点,提出本文所介绍的基于RMI的日志管理系统。根据用户对于日志管理的需求,对本文提出的日志管理系统从功能、技术、性能、业务四个方面进行需求分析,明确系统要实现的功能和特点。第4章 系统设计与技术分析4 系统设计与技术分析上一章中对系统进行了需求分析,系统需求分析的目的是能够提出更科学的系统设计方案,因此本章中将从系统的总体设计、系统的关键技术分析和应用两方面做出说明。4.1 系统总体设计根据课题来源GF生产线系统的特点,结合上述针对日志管理系统的进行的需求分析结果,对日志管理系统进行系统总体设计,下面分别从系统总体架构、系统层次设计、系统功能模块、系统流程设计、系统类结构设计五个方面进行说明。4.1.1 系统总体架构GF生产线系统总体架构采用C/S模式,通过客户端向任务调度服务器中的分系统以及各个生产节点服务器中的分系统发送请求的模式来完成系统功能。根据这一基本架构设计,本文提出的日志管理系统也采用C/S模式,通过RMI远程过程调用机制实现客户端请求服务器响应,以实现日志管理功能。日志管理系统结构如图4-1所示。图4-1 日志管理系统结构图客户端通过系统用户界面执行日志管理操作,执行的操作实际上是对服务器端提供的服务进行调用,并由服务器返回结果到客户端并显示在系统用户界面中,展示给用户。为实现日志管理系统客户端和服务器端的通信,结合本章3.2.3小节中所进行的技术需求分析,在RMI的基础上实现日志管理系统。通过RMI客户端访问远程服务器中RMI服务对象提供的方法47,实现客户端对服务器中方法的远程调用。其基本架构如图4-2所示。4-2 基于RMI的日志管理系统基本架构图4.1.2 系统层次设计结合系统总体架构设计,采用分层结构对日志管理系统进行层次设计,系统分为视图层、服务层、逻辑实现层、模型层,层与层之间通过接口编程实现,降低系统的内部耦合性,便于系统分工和维护,有利于系统各层逻辑间的复用。日志管理系统的层次结构如图4-3所示。图4-3 日志管理系统层次结构图下面对各层的分工做出介绍:1. 视图层:视图层用于日志管理系统的展示,为用户提供的简单又好的操作界面,用户可以通过界面与系统交互,实现对日志的查询、清理、配置和备份功能。2. 服务层:服务层由RMI远程服务对象以及该对象提供的日志查询、日志清理、日志配置和日志备份服务接口组成,用户通过视图层访问RMI远程服务对象,并调用该对象提供的服务接口,实现对远程服务器中日志文件的查询、清理、配置和备份。3. 逻辑实现层:该层负责对服务层中的服务接口进行逻辑实现,实现日志管理的业务功能,为服务层提供接口和技术支持。4. 模型层:定义和实现日志管理系统所用到的数据模型,该数据模型是指日志信息模型,本章4.1.4小节中对该数据模型做出详细介绍。4.1.3 系统流程设计结合上文中3.2.1小节进行的功能需求分析和4.1.1小节中系统总体架构的设计,首先对系统进行功能模块划分,以明确系统模块间的交互流程。日志管理系统业务流程如图4-4所示。图4-4 日志管理系统业务流程图根据日志管理系统的业务流程,将系统分为两个模块:系统运行日志浏览模块和系统运行日志管理模块。日志管理系统模块划分如图4-5所示。图4-5 日志管理系统模块划分图模块功能描述如下:1. 系统运行日志浏览模块主要功能是提供日志查询、清理、备份的用户界面以及和系统运行日志管理模块的交互。用户通过该模块通过操作用户界面中的相应功能菜单,向服务器端中的日志管理模块发出请求实现日志的清理、备份功能,并接收服务器端处理请求后的返回结果,呈现在用户界面中,展示给用户。2. 系统运行日志管理模块主要功能是将本地系统运行期间的所有行为记录下来,在本地形成日志文件,同时对外提供日志访问的服务以及实现日志的清理和备份功能。系统运行日志管理模块负责日志的记录、清理、备份、查询和配置功能。为简化系统实现,根据日志管理模块的功能进一步将该模块划分为5个子模块:记录日志子模块、读取日志子模块、日志信息格式化子模块、日志配置子模块、日志维护子模块。子模块划分如图4-6所示。4-6 系统运行日志管理模块子模块图各子模块功能介绍如下:a) 记录日志子模块:将系统运行时产生的信息以及用户的一些操作信息记录在日志文件中保存。b) 读取日志子模块:用于获得各个服务器中日志文件中的记录。c) 日志信息格式化子模块:用于将读取日志模块得到的列表中的每一项格式化,使其成为一条条由记录级别、记录时间、来源、详细信息组成的日志记录信息。d) 日志配置子模块:负责将系统运行日志浏览模块中设置的日志配置参数保存在XML文件中,并能为日志维护模块提供参数。e) 日志维护子模块:完成日志文件的定期清理、人工清理和备份功能。根据对日志管理系统模块的划分,明确日志管理系统的模块间的相互交互流程,日志管理系统序列图如图4-7所示。4-7 日志管理系统序列图日志管理子系统的工作流程描述如下:a) 系统中的其他模块根据需要调用日志管理模块将本模块的操作内容以记录的形式记录日志文件。b) 系统运行日志管理模块将记录结果反馈给特定模块。c) 用户在客户端选择要浏览的机器和想浏览的日志条件。d) 系统运行日志浏览模块接收用户请求,获取指定机器的日志文件。并将请求传递指定机器的系统运行日志管理模块。e) 系统运行日志管理模块将日志信息返回给系统运行日志浏览模块。f) 系统运行日志浏览模块将满足条件的日志信息展示在客户端供用户浏览。根据上文中对日志管理模块的进一步进行的子模块划分,明确日志管理模块的各个子模块间的相互交互流程,系统运行日志管理模块序列图如图4-8所示。图4-8 系统运行日志管理模块序列图系统运行日志管理模块的工作流程描述如下:a) 系统的其他模块调用记录日志子模块,将自身的操作记录到日志文件中。每写一次,日志文件增加一条记录。并且在必要的时候可以根据需求进行日志记录的相关配置(日志文件最大容量、日志更新周期)。b) 读取日志模块接收系统运行日志浏览模块的日志浏览请求,读取本地的日志信息并将信息传递给日志信息格式化模块。c) 日志信息格式化模块将格式化后的日志信息返回给系统运行日志浏览模块。d) 日志维护模块能够通过界面的操作对日志文件执行清理和备份操作。4.1.4 数据模型设计日志信息是GF生产线系统在各个服务器中运行时产生的系统信息,这些信息记录保存在各自服务器的日志文件中,用户通过日志管理系统提供的功能对这些服务器中保存的日志文件进行查询、清理、备份操作,同时用户可以通过配置参数设置日志维护所需参数,即日志文件最大容量和日志更新周期,通过日志维护功能对服务器中的日志文件进行自动清理维护。日志管理系统功能级数据流图如图4-9所示。图4-9 日志管理系统功能级数据流图通过对日志管理系统数据流的分析可知,日志信息是日志管理系统处理的主要数据对象,每一条日志信息中包含日志信息记录时间、信息级别、信息来源、信息描述四种信息项。为方便系统在处理数据时将日志信息中包含的信息项提取出来,因此可以采用日志信息模型来存储日志信息。日志信息模型描述如表4-1所示。表4-1 日志信息模型描述表信息项名称说明数据类型约束条件信息级别日志信息的级别Enum级别只能设定为FATAL、ERROR、WARN、INFO、DEBUG其中的一种,不能自定义记录时间日志信息记录的时间String格式为YYYY-MM-DD HH-MM-SS如:2012-04-28 13:28:32信息来源由日志记录配置信息设置,表示日志属于哪个服务器Enum由日志记录配置文件中预先设定,有三种值:PLProductionLogger、PLScheduleLogger、PLScheduleBackupLogger信息描述日志信息的详细描述String描述出需要记录的异常
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《诫子书》翻译课件
- 电磁学入门讲解课件
- 水利工程年度工作总结
- 统计人员个人年终总结
- 亮化镜子的窍门课件
- 事故预想安全培训记录内容课件
- 进修护士工作总结
- 骨质疏松的护理诊断及措施
- 社区电商运营工作总结
- 2025年招标采购从业人员专业能力评价考试(招标采购专业理论与法律基础初、中级)综合练习题及答案一
- 2024年全民健康生活方式宣传月专题讲座课件
- 《中小学生研学旅行实务》研学旅行指导课程全套教学课件
- 幼儿园小班语言大老鼠找小老鼠课件
- CJJ166-2011 城市桥梁抗震设计规范
- DZ∕T 0401-2022 矿山地质工作规范
- 体育学院体育教育专业《足球》必修教学大纲
- 化肥欠款协议模板
- 苏教版小学语文第一册电子课本
- “对校园欺凌说不”主题班会课件
- PLC电气控制设计污水处理系统样本
- 青春筑梦强国有我
评论
0/150
提交评论