

免费预览已结束,剩余43页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕毕 业业 设设 计计( 论论 文文) 题题 目目 电信性能监测系统电信性能监测系统 英文题目英文题目 telecommunications performance monitoring system 学生姓名学生姓名 学学 号号 指导教师指导教师 职称职称 讲师 专专 业业 软件工程 二二 零零 一一 二二年年 四四 月月 东华理工大学软件学院毕业设计(论文)摘要 摘 要 随着计算机技术的不断发展,许多企事业单位的管理都实现了办公自动化,这 种自动化管理方式不仅管理简单,而且效率非常高。为了更好的对电信各个站点的 工作状态的监测,特做本系统。 本文所阐述的系统是使用了 java 中的 jcifs;jfreechart;jspservlet;quartz 等技术进行开发,并且使用 oralce 作为 数据库服务器管理后台数据的管理信息系统。 系统采用管理员和用户两种方式登录,分别进行管理,网页的动态数据传递通 过 jspservlet 技术实现,并用 quartz()方法来控制数据抓取频率。首先通过 jcifs 技术从远程主机上抓取 cpu、内存、硬盘以及 oracle 数据,然后存入服务器 oracle 数据库中,最后通过 jfreechart 技术将数据以图表的形式在网页上显示出 来。通过网页上的图表信息可以分析出电信各个站点的具体情况,更好的监测、管 理整个电信系统。 关键词:电信; 性能监测系统; jcifs; jfreechart; jspservlet; 东华理工大学软件学院毕业设计(论文)abstract abstract as computer technology are developing steadily, many enterprises and institutions in the management of office automation, both this automation management and efficiency is not only a very high. in order to better for the site of the work of the monitoring of state, doing this system. elaborated by the system is used in java jcifs ; jfreechart ; jspservlet ; quartz and technology for development and use oralce as the database server management background data management information system. the system uses the administrators and users to log in two ways, and the movement of data transmission by jspservlet technology, and quartz ( ) approach to data capture frequency. the first jcifs technology from the remote unit grab the cpu and memory, the hard disk and oracle data and then stored in servers oracle database, the final through jfreechart technical data on a chart on pages of the show on the website. by the information. keywords :telecom; performance monitoring system; jcifs; jfreechart; jspservlet; 东华理工大学软件学院毕业设计(论文)目录 目 录 绪论绪论1 1 1 1程序开发的技术基础程序开发的技术基础 2 2 1.1j2ee 技术介绍 2 1.2j2ee 三大框架的介绍 3 1.2.1mvc 介绍 .3 1.2.2struts 介绍 4 1.2.3hibernate 介绍 .4 1.2.4spring 技术 6 1.3flex 介绍7 1.3.1flex 来源和原理 7 1.3.2flex 的优点 8 1.3.3flex 中 mxml 的性能问题 .8 1.4ajax介绍.9 1.5javascript介绍 .10 1.6oracle介绍 10 1.7hessian介绍 .11 1.8p6spy、sql profiler介绍 11 1.9运行环境12 1.9.1软件环境 12 1.9.2硬件环境 13 2总体设计 1414 2.1系统分析14 2.1.1 系统的名称、目标 .14 2.1.2 数据字典 .14 2.2系统总体设计16 2.3模块功能设计17 2.3.1 监测机器管理模块 .17 2.3.2 用户管理模块 .17 2.3.3 监测数据模块 .18 3 3系统功能实现系统功能实现 1 19 9 3.1 登录模块 .19 3.2 用户管理模块 .21 3.3 监测机器管理模块 .23 3.4 数据管理模块 .25 3.5 数据采集模块 .28 3.6 数据显示模块 .31 3.7 作业调度模块 .33 东华理工大学软件学院毕业设计(论文)目录 4 4系统测试系统测试 3636 结束语结束语3838 致致 谢谢3939 参考文献参考文献4040 东华理工大学软件学院毕业设计(论文)绪论 1 绪论 目的 本电信性能监测系统主要是为了实现电信公司对远程计算机的各项性能数据 的监测,取出数据并以图文的形式显示结果。 背景 a.本系统名为电信性能监测系统。 b.本系统中国电信提出需求,中软国际实训班炽梦团队开发,为中国电信内 部使用,开发地点为中软国际无锡国家软件外包园基地。 使用范围 客户需求者,本项目设计人员、编码人员以及测试人员。 任务概述 1)目标 本软件是为了解决中国电信对远程计算机系统的 cpu 和硬件等各项性能数据 的监测,取得各系统的数据从而进行分析而设计制作,且电信内部计算机加入监 测系统后同样可以对其进行监测,原则上电信内部的所有电脑都可以进行检测。 公司内以管理员身份登入的计算机可以对其他计算机进行监测,公司内部其他计 算机可以被管理员加作为外部电脑进行远程监测,该软件为炽梦开发小组九名成 员共同研究开发,并无抄袭行为。 2)用户的特点 本软件的最终用户为电信公司监测部门的普通员工及其管理员,管理员和普 通员工只需有基本 windows 操作技能,而维护人员则需本科以及以学历,要求其 有专业维护系统的能力,熟悉 jcifs,jfreechart,jspservlet,mysql,oracle,quartz,tomcat 等技术。 3)假定和约束 假定使用该软件的人员能够熟练使用电脑及电脑相关软件。 该软件只供电信公司内部人员使用。 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 2 1程序开发的技术基础 1.1j2ee 技术介绍 随着 internet 和企业计算从 90 年代以来的逐步发展,http、xml 和 java 平 台逐渐演变成为针对客户机计算的标准,这些新兴技术推动了在服务器端封装商 业逻辑的应用设计以及电子商务的推广。由众多知名厂商共同制定的 j2ee(java2platformenterpriseedition)平台规范则为企业开发新应用提供了 统一的标准。 j2ee 是各厂商共同发起的,并得到广泛认可的一个工业标准。它利用了 java2 平台的技术优势,为企业提供系统整体解决方案的开发、部署和管理等相 关问题的一套完整的体系结构。j2ee 技术的基础就是 java2 平台,j2ee 不仅加强 了该平台中的许多优点,如:“编写一次、到处运行的特性、存取数据库的 jdbcapi、corba 技术的支持等之外,还提供了对业务逻辑封装的 ejb(enterprisejavabeans)组件技术、支持 http 访问的 servlets 和 jsp,以 及 xml 的全面支持,另外它还定义了关于事务管理的 jta 和 jts 接口,及保证消 息传递的 jms 服务等。 图 1 显示了一个 j2ee 平台的基础架构。首先,它定义了前端的接入访问支持, 如:支持 http 的 servlets 和 jsp,以及远程访问模式 rmi。而 j2ee 架构中的核 心就是 ejb 组件(即企业级 javabean) ,通过 ejb 组件化技术将企业系统的实际 业务逻辑进行封装。在平台的后端,j2ee 标准定义了各种基础的服务,包括数据 库访问支持的 jdbc、事务管理的接口 jts、对象命名服务 jndi、消息传递的 jms 服务以及访问其他组件的接口等。这些基础的服务将一个企业的已有系统有机地 集成到 j2ee 平台中,然后通过前端的多种接入手段提供给最终用户。 图 1 j2ee 平台基础架构 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 3 1.2j2ee 三大框架的介绍 j2ee 三大框架即 struts、hibernate 和 spring。在本项目的架构上就采用了 这三大框架,并将其整合,其优秀的扩展性和可维护性的简单,松耦合给开发节 省了很多不必要的精力。 1.2.1 mvc 介绍 mvc(model-view-controller)是一个设计模式,它强制性的使应用程序的输 入、处理和输出分开。使用 mvc 应用程序被分成三个核心部件:模型、视图、控 制器。它们各自处理自己的任务。 视图是用户看到并与之交互的界面。对老式的 web 应用程序来说,视图就是 由 html 元素组成的界面,在新式的 web 应用程序中,html 依旧在视图中扮演着 重要的角色,但一些新的技术已层出不穷,它们包括 macromedia flash 和象 xhtml,xml/xsl,wml 等一些标识语言和 web services. 模型表示企业数据和业务规则。在 mvc 的三个部件中,模型拥有最多的处理 任务。例如它可能用象 ejbs 和 coldfusion components 这样的构件对象来处理 数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模 型能为多个视图提供数据,可以减少代码的重复性。 控制器:控制器接受用户的输入并调用模型和视图去完成用户的需求。所以 当单击 web 页面中的超链接和发送 html 表单时,控制器本身不输出任何东西和做 任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪 个视图来显示模型处理返回的数据。1 总结 mvc 的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模 型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器 用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。流程如下图所 示: 图 2 mvc 流程图 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 4 1.2.2 struts 介绍 struts 是采用 java servlet/javaserver pages 技术,开发 web 应用程序的 开放源码的 framework。struts 就是在 jsp model2 的基础实现了 mvc 设计模式的 web framework。采用 struts 能开发出基于 mvc(model-view-controller)设计模 式的应用构架。 struts 框架可分为以下四个主要部分,其中三个就和 mvc 模式紧密相关: 1、模型(model),本质上来说在 struts 中 model 是一个 action 类(这个会 在后面具体讨论),开发者通过其实现商业逻辑,同时用户请求通过控制器(contr oller)向 action 的转发过程是基于由 struts-config.xml 文件描述的配置信息的 。 2、视图(view),view 是由与控制器 servlet 配合工作的一整套 jsp 定制标 签库构成,利用 view 层可以快速建立应用系统的界面。 3、控制器(controller),本质上是一个 servlet,将客户端请求转发到相 应的 action 类。 4、一堆用来做 xml 文件解析的工具包,struts 是用 xml 来描述如何自动产 生一些 javabean 的属性的,此外 struts 还利用 xml 来描述在国际化应用中的用 户提示信息的(这样一来就实现了应用系统的多语言支持)。下图即是 struts 的 m vc 流程图。 图 3 struts 的 mvc 应用流程图 1.2.3 hibernate 介绍 hibernate 是一个开放源代码的对象关系映射框架,它对 jdbc 进行了非常轻 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 5 量级的对象封装,使得 java 程序员可以随心所欲的使用对象编程思维来操纵数据 库。 hibernate 可以应用在任何使用 jdbc 的场合,既可以在 java 的客户端程序 使用,也可以在 servlet/jsp 的 web 应用中使用,最具革命意义的是,hibernate 可以在应用 ejb 的 j2ee 架构中取代 cmp,完成数据持久化的重任。 hibernate 的核心接口一共有 5 个,分别为: session、sessionfactory、transaction、query 和 configuration。这 5 个核心 接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取, 还能够进行事务控制。下面对这五的核心接口分别加以介绍。 session 接口:session 接口负责执行被持久化对象的 crud 操作(crud 的任务 是完成与数据库的交流,包含了很多常见的 sql 语句。)。但需要注意的是 session 对象是非线程安全的。同时,hibernate 的 session 不同于 jsp 应用中的 httpsession。这里当使用 session 这个术语时,其实指的是 hibernate 中的 session,而以后会将 httpsesion 对象称为用户 session。 sessionfactory 接口:sessionfactroy 接口负责初始化 hibernate。它充当 数据存储源的代理,并负责创建 session 对象。这里用到了工厂模式。需要注意 的是 sessionfactory 并不是轻量级的,因为一般情况下,一个项目通常只需要一 个 sessionfactory 就够,当需要操作多个数据库时,可以为每个数据库指定一个 sessionfactory。 configuration 接口:configuration 接口负责配置并启动 hibernate,创建 sessionfactory 对象。在 hibernate 的启动的过程中,configuration 类的实例 首先定位映射文档位置、读取配置,然后创建 sessionfactory 对象。 transaction 接口:transaction 接口负责事务相关的操作。它是可选的,可 发人员也可以设计编写自己的底层事务处理代码。 query 和 criteria 接口:query 和 criteria 接口负责执行各种数据库查询。 它可以使用 hql 语言或 sql 语句两种表达方式。2 图 4 为 hiberante 框架的应用流程图。详细描绘出了 5 大接口在某个具体阶 段的作用。 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 6 图 4 hiberante 框架的应用流程图 1.2.4 spring 技术 spring 是一个开源框架,它由 rod johnson 创建。它是为了解决企业应用开 发的复杂性而创建的。spring 使用基本的 javabean 来完成以前只可能由 ejb 完 成的事情。然而,spring 的用途不仅限于服务器端的开发。从简单性、可测试性 和松耦合的角度而言,任何 java 应用都可以从 spring 中受益。 图 5 spring 框架图 组成 spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个 或多个模块联合实现。每个模块的功能如下: 核心容器:核心容器提供 spring 框架的基本功能。核心容器的主要组件是 beanfactory,它是工厂模式的实现。beanfactory 使用控制反转 (ioc) 模式 将应用程序的配置和依赖性规范与实际的应用程序代码分开。 spring 上下文:spring 上下文是一个配置文件,向 spring 框架提供上下 文信息。spring 上下文包括企业服务,例如 jndi、ejb、电子邮件、国际化、校 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 7 验和调度功能。 spring aop:通过配置管理特性,spring aop 模块直接将面向方面的编程功 能集成到了 spring 框架中。所以,可以很容易地使 spring 框架管理的任何对 象支持 aop。spring aop 模块为基于 spring 的应用程序中的对象提供了事务管 理服务。通过使用 spring aop,不用依赖 ejb 组件,就可以将声明性事务管理 集成到应用程序中。 spring dao:jdbc dao 抽象层提供了有意义的异常层次结构,可用该结构来 管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处 理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接) 。spring dao 的面向 jdbc 的异常遵从通用的 dao 异常层次结构。 spring orm:spring 框架插入了若干个 orm 框架,从而提供了 orm 的对象 关系工具,其中包括 jdo、hibernate 和 ibatis sql map。所有这些都遵从 spring 的通用事务和 dao 异常层次结构。 spring web 模块:web 上下文模块建立在应用程序上下文模块之上,为基于 web 的应用程序提供了上下文。所以,spring 框架支持与 jakarta struts 的集 成。web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 spring mvc 框架:mvc 框架是一个全功能的构建 web 应用程序的 mvc 实现。 通过策略接口,mvc 框架变成为高度可配置的,mvc 容纳了大量视图技术,其中 包括 jsp、velocity、tiles、itext 和 poi。 spring 框架的功能可以用在任何 j2ee 服务器中,大多数功能也适用于不受 管理的环境。spring 的核心要点是:支持不绑定到特定 j2ee 服务的可重用业务 和数据访问对象。毫无疑问,这样的对象可以在不同 j2ee 环境 (web 或 ejb) 、 独立应用程序、测试环境之间重用。3 1.3flex 介绍 flex 是近几年刚出现的富客户端新技术,它强大的页面展示能力,以及与 j2ee 的无缝结合,使它的应用被普及推广。 本项目中,在客户管理模块中的动态数据分析方面,就用到了此技术。它将 繁多的各个会员各个时间的身体状况的动态数据采用图表对比的方式显示出来, 使管理层能够清晰的看到数据的走向、以前和现在的不同,为将来计划安排的实 施打好坚实的基础。 1.3.1 flex 来源和原理 大名鼎鼎的 macromedia flash 是强大的矢量动画编辑工具,在做动画起家之 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 8 后,flash 一直在谋求 rich internet application(ria 富客户端)的霸主地位, 最有影响的是,已经推出了面向对象的编成脚本 actionscript2.0,并且建立起 类似于 java swing 的类库和相应 component(组件)。flex 是通过 java 或者.net 等非 flash 途径,解释.mxml 文件组织 components,并生成相应的.swf 文件。 flex 的 component 和 flash 的 component 很相似,但是有所改进增强。 flex 是 macromedia(现已被 adobe 公司收购)发布的 presentation server(展现服 务) ,它是 java web container 或者.net server 的一个应用,根据.mxml 文件 (纯粹的 xml 描述文件和 actionscript)产生相应得.swf 文件,传送到客户端, 由客户端的 flash player 或者 shockwave player 解释执行,给用户以丰富的客 户体验。图 6 为它的工作流程图。4 图 6 flex 应用流程图 1.3.2 flex 的优点 传统的 web 开发,在表现层次受到非常大的约束,flex 技术不仅轻松解决了 所有表现层的技术问题,让客户感受前所未有的 web 应用体验.更主要的是,基与 flash as3.0 的纯面向对象和组件的构架,让 bs 结构表现层的开发层次分明,结构 完整协调.在提供强大华丽表现的同时,大大节约维护成本。它美化了客户端的视 觉效果,增强的用户的体验性,更生动的控件使得 web 应用程序增加了适用性, 在 ria(rich internet application)发展中,flex 技术的使用至关重要。 1.3.3 flex 中 mxml 的性能问题 一直以来无论是直觉还是逻辑推理都觉得 flex 应用是比传统 jsp 应用更节约 资源的,但一直没有真凭实据。最近在网上找到一份来自 macromedia 的性能报告, 它用 jsp 和 flex 分别做了一个购物站点的测试,实现了同样的功能。报告称: 两 个应用程序需要相似的网络带宽和服务器内存,但 flex 应用程序对服务器 cpu 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 9 处理循环的需要明显较少。一般 jsp 应用程序的服务器端负载直接取决于用户交 互动作(例如,当用户跳转至新页面或者提交数据至服务器进行处理时)的数量, 而 flex 应用程序的负载取决于向服务器请求应用程序或提交数据请求的并行用 户的数量。简而言之就是 flex 应用对 cpu 的占用更少。图 7 为jsp和 mxml 的比 较结果。5 图 7 jsp、mxml 对比图 1.4ajax 介绍 ajax 全称为“asynchronous javascript and xml” (异步 javascript 和 xml) ,是指一种创建交互式网页应用的网页开发技术。 本项目中在查询方面,比如输入会员姓名、教练姓名等难以记住的信息时, 用户只要输入会员姓名中的任何一个字,则系统会显示包含此字的所有会员,为 管理员减少不必要的工作,增加客户体验。 传统的 web 应用允许用户填写表单(form),当提交表单时就向 web 服务器发 送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法 浪费了许多带宽,因为在前后两个页面中的大部分 html 代码往往是相同的。由于 每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响 应时间。这导致了用户界面的响应比本地应用慢得多。 与此不同,ajax 应用可以仅向服务器发送并取回必需的数据,它使用 soap 或其它一些基于 xml 的 web service 接口,并在客户端采用 javascript 处理来自 服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果就能看到 响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所 以 web 服务器的处理时间也减少了。 ajax 应用程序的优势在于: (1)通过异步模式,提升了用户体验。 (2)优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占 用。 (3)ajax 引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少 了大用户量下的服务器负载。 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 10 1.5javascript 介绍 javascript 是一种由 netscape 的 livescript 发展而来的脚本语言,主要目 的是为了解决服务器终端语言,比如 perl,遗留的速度问题。当时服务端需要对 数据进行验证,由于网络速度相当缓慢,只有 28.8kbps,验证步骤浪费的时间太 多。于是 netscape 的浏览器 navigator 加入了 javascript,提供了数据验证的 基本功能。 本项目中在用户登陆模块,样式设计方面,动态菜单展示、日历控件等都用 了大量的 javascript,可见其功能之强大。 它的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系, 使网页包含更多活跃的元素和更加精彩的内容。 运行用 javascript 编写的程序 需要能支持 javascript 语言的浏览器。netscape 公司 navigator 30 以上版本 的浏览器都能支持 javascript 程序,微软公司 internet explorer 30 以上版 本的浏览器基本上支持 javascript。javascript 短小精悍, 又是在客户机上执 行的,大大提高了网页的浏览速度和交互能力。 同时它又是专门为制作 web 网页 而量身定做的一种简单的编程语言。 1.6oracle 介绍 oracle 是以高级结构化查询语言(sql)为基础的大型关系数据库,通俗地讲 它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服 务器(client/server)体系结构的数据库之一。 在本项目中,后台数据的管理即为 oracle 数据库,它高速的性能、良好的移 植性给开发带来的很大的帮助。 它的特点如下所示: (1)oracle7.x 以来引入了共享 sql 和多线索服务器体系结构。这减少了 oracle 的资源占用,并增强了 oracle 的能力,使之在低档软硬件平台上用较少 的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。 (2)提供了基于角色(role)分工的安全保密管理。在数据库管理功能、完整 性检查、安全性、一致性方面都有良好的表现。 (3)支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。 (4)提供了与第三代高级语言的接口软件 pro*系列,能在 c,c+等主语言中 嵌入 sql 语句及过程化(pl/sql)语句,对数据库中的数据进行操纵。加上它有许 多优秀的前台开发工具如 powerbuild、sql*forms、visia、basic 等,可以快速 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 11 开发生成基于客户端 pc 平台的应用程序,并具有良好的移植性。 (5)提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里 的数据,并有对称复制的技术。 1.7hessian 介绍 hessian:hessian 是一个由 caucho technology 开发的轻量级二进制 rpc 协 议。它使用一种定制的串行化技术来实现跨网络发送 java 对象。除了对 java 支 持外,hessian 还提供对于例如 php,python,c+和 c#等其它语言的实现支持。 它们使用一种专利对象串行化机制。它们能够串行化 hibernate 对象,但是对集 合对象执行“惰式”加载。而且集成了 webservice 的优点:跨防火墙工作良好。6 在本项目中的动态数据展示就采用 hessian 进行 flex 客户端与 j2ee 服务端 的通信机制,中性的二进制数据传输,使 flex 端可高速的远程调用服务端的方法, 就象这个方法在本地一样。详细介绍,请参见 4.2 章。 优点:开发简单方便,hessian 采用自己特定的序列化规则,不受制于 jdk 版本。 1.8p6spy、sql profiler 介绍 p6spy 是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。 通过 p6spy 可以对 sql 语句进行拦截,相当于一个 sql 语句的记录器,这样可 以用它来做相关的分析,比如性能分析。p6spy 用 log4j 来记录 jdbc 调用的日 记信息。 简单地讲,p6spy 的架构原理可以认为是一个代理(proxy) ,它只做了一 层对 jdbc 驱动的拦截,然后转发出去,这样的设计与实际的应用程序没有任何 的耦合性,除了在配置中将驱动程序改成 p6spy 的拦截驱动外,程序其他地方并 不需要做任何的改变。这层拦截器除了可能会给系统带来略微的性能下降外,对 程序其他方面没有任何的影响。而相对于这一点点的性能下降,在开发环境中对 于开发人员来说是无法感觉到,相比它所带来的好处,完全可以忽略不计。下图 为 p6spy 对数据库进行拦截监控的处理过程: 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 12 图 8 p6spy 工作流程图 sql profiler 是一个由 j 提供的基于 p6spy 引擎的快速剖析工具, 用来统计 sql 查询语句以便了解哪里是性能瓶颈,在哪里创建索引或者采取相应 的办法才能提高效率,并且能根据 sql 查询语句的情况帮你生成合适的索引脚本。 这个小工具可以实时地显示数据库查询的情况,通过集成的 sql 解析器,在 访问大多数表与列上面建立统计分析,并生成索引脚本。当然,其它的信息也会 进行收集和显示,比如:单个数据库请求的时间、一类请求的时间以及所有请求 的时间。因此,可以有效地通过视图的排序来检测数据的性能问题所在。这个工 具对于大量的需要进行分析的请求是非常有用的,而不是人工一个个地去做分析。 当你需要知道比如对相同的表和列进行访问但是采用不同的查询值时,这种分组 的查询可以用建立在 antlr 上的 sql 解析器进行分析。7 1.9运行环境 1.9.1软件环境 表 1 软件环境 名称名称版本版本语种语种 操作系统windowsserver20 03 简体中文 操作系统的附加 功能 sp23简体中文 数据库平台oracle9i简体中文 应用平台tomcat6.0简体中文 客户端软件ms ie6.0简体中文 东华理工大学软件学院毕业设计(论文) 程序开发的技术基础 13 1.9.2硬件环境 表 2 硬件环境 服务服务 器器 最低配置最低配置推荐配置推荐配置 1cpu:p4 2.0g1cpu:p4 2.8g mem:1gmem:2g 应用 和数 据库 服务 器 hd:40ghd:120g 东华理工大学软件学院毕业设计(论文)总体设计 14 2总体设计 2.1系统分析 2.1.1 系统的名称、目标 本电信性能监测系统主要是为了实现电信公司对远程计算机的各项性能数据 的监测,取出数据并以图文的形式显示结果。 本软件是为了解决中国电信对远程计算机系统的 cpu 和硬件等各项性能数据 的监测,取得各系统的数据从而进行分析而设计制作,且电信内部计算机加入监 测系统后同样可以对其进行监测,原则上电信内部的所有电脑都可以进行检测。 公司内以管理员身份登入的计算机可以对其他计算机进行监测,公司内部其他计 算机可以被管理员加作为外部电脑进行远程监测。 电信性能监测系统 监测机器管理用户管理 监测数据显示 图9 主模块图 如上图所示,本系统分为三个主功能,分别为监测机器管理模块.用户管理模 块和监测数据模块,以此实现相应的功能。 2.1.2 数据字典 数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。数据本 身将存放在物理数据库中,由数据库管理系统管理。数据字典有助于这些数据的 进一步管理和控制,为设计人员和数据库管理员在数据库设计、实现和运行 阶段控制有关数据提供依据。 本系统的表和字典的介绍如下: (1) 机器表 host 机器表,此表用于存放检测机器的相关信息 表 3 机器表 字段名数据类型字段长度字段约束默认值备注 mechidnumber10primary key1/ ipvarchar16not null 主机 ip 地址 usernamevarchar20not null/用户名 pwdvarchar20not null /密码 statusnumber1not null/状态 东华理工大学软件学院毕业设计(论文)总体设计 15 (2) 用户表 users 用户表,此表用于存放检测用户的相关信息 表 4 用户信息表 字段名数据类型字段长度字段约束默认值备注 useridnumber10primary key/ usenamevarchar20not null/用户名 pwd varchar20not null/密码 power number10not null /权限 (3) 处理器表 cpu 处理器表,此表用于存放从检测机器上抓取过来的处理器信息 表 5 处理器表 字段名数据类型字段长度字段约束默认值备注 cpuidnumber10primary key/ cpuuse varchar20null /cpu 使用率 time varchar40null /时间 mechidnumber10foreign key/ (4)内存表 memory 内存表,此表用于存放从检测机器上抓取过来的内存信息 表 6 内存表 字段名数据类型字段长度字段约束默认值备注 memidnumber10primary key/ memusevarchar20null /内存使用率 memfree varchar20null /内存空闲 mempagevarchar20null 内存页面数 timevarchar40null /时间 mechidnumber10foreign key/ (5) 硬盘表 harddisk 硬盘表,此表用于存放从检测机器上抓取过来的硬盘信息 表 7 硬盘表 字段名数据类型字段长度字段约束默认值备注 hardidnumber10primary key/ hardusevarchar20null /硬盘使用率 hardfree varchar20nul l /硬盘空闲 timevarchar40nul l /时间 mechidnumber10foreign key/ (6) 数据库表 oracle 东华理工大学软件学院毕业设计(论文)总体设计 16 数据库表,此表用于存放从检测机器上抓取过来的数据库信息 表 8 数据库表 字段名数据类型字段长度字段约束默认值备注 oraidnumber10primary key orasltvarchar20null /查询缓冲命中率 orartvarchar20null /重试率 orauservarchar20null /用户会话数 timevarchar40null /时间 2.2系统总体设计 本系统通过 b/s 模式实现机器管理、用户管理和监测数据三大模块。 电信信能监测系统 cpu 监测 数据 memory 监测数据 disk 监测数据 oracle 监测数据 用户 管理 删 除 机 器 c p u 使 用 率 每 秒 分 页 数 使 用 百 分 比 空 闲 空 间 使 用 空 间 百 分 比 空 闲 空 间 查 询 缓 存 命 中 率 重 试 率 增 加 用 户 删 除 用 户 用 户 会 话 数 查 看 机 器 查 看 用 户 监测 机器 管理 图 10 系统总体层次设计 2.3模块功能设计 2.3.1 监测机器管理模块 监测机器管理模块,可以实现对机器的添加、删除和查看,在添加机器部分, 需要输入机器的 ip 地址、用户名和密码,数据库中也会同步更新相应的信息,添 加成功之后显示结果,删除机器部分做类似的操作, 而在实现查看功能时系统会 从数据库中提取数据,从而显示结果。 东华理工大学软件学院毕业设计(论文)总体设计 17 监测机器管理 添加机器删除机器 查看机器 选择操 作 输入要添加机 器的ip地址 用户名和密码 输入要删除机 器的ip 从数据库里 取出数据 更新数据库 失败 成功 显示结果 更新数据库 失败 成功 显示结果 显示结果 图 11 监测机器管理模块 2.3.2 用户管理模块 用户管理模块,可以实现对用户的添加、删除和查看,在添加用户部分,需 要输入用户的帐号、密码和权限,数据库中也会同步更新相应的信息,添加成功 之后显示结果,删除用户部分做类似的操作, 而在实现查看功能时系统会从数据 库中提取用户信息,从而显示结果。 东华理工大学软件学院毕业设计(论文)总体设计 18 图 用户管理 增加用户删除用户查看用户 输入用户的 帐号和密码 和权限 更新数据 库失败 显示结果 输入要删除 用户的帐号 更新数据 库失败 显示结果 从数据库中 取出数据 显示结果 12 用户管理模块 2.3.3 监测数据模块 监测数据模块,首先系统会通过网络获取性能数据,进行数据库的更新,可 以根据需求显示监测的 cpu 数据、memory 数据、disk 数据、oracle 数据。 监测数据 监测cpu数据 监测memory 数据 监测disk数 据 监测orcale 数据 通过网络获取性 能数据 更新数据库 显示结果 图 13 监测数据模块 东华理工大学软件学院毕业设计(论文)系统功能实现 19 3系统功能实现 3.1 登录模块 主要功能:判断用户输入的用户名和密码是否合法,并判断用户名是否存在, 密码是否正确。 系统登录界面: 图 14 登陆界面 图 15 登录管理模块类图 东华理工大学软件学院毕业设计(论文)系统功能实现 20 类 user 的属性操作说明 getuserid() /获取用户 id setuserid () /缓存用户 id getusername() /获取用户名 getpassword() /获取用户密码 setusername() /缓存用户名 setpassword() /缓存用户密码 类 loginservlet 的属性操作说明 check_user(); 类 usermgr 的属性操作说明 add_user(); /添加用户 update_user(); /修改用户 delete_user(); /删除用户 view_user(); /查看用户 表 9 登录模块信息表 模块名称login(登录模块) 功能描述验证用户名和密码合法性,判断用户名是否存在,密码是否正确 主要方法 check()/验证用户合法性 check_user() /验证用户是否存在 数据结构 string username string password 补充说明 、 、userservletusermgr db_con 、 、 、 、 、 、 、 、 check(),check_user() 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 东华理工大学软件学院毕业设计(论文)系统功能实现 21 图 16 登录管理模块时序图 登录管理模块的时序图展示内容说明:用户输入用户名和密码后,页面提交 到 userservlet 进行处理,验证权限,登陆成功后进入主页面。 3.2 用户管理模块 主要功能:用户的管理,包括增加,删除,修改,查看,权限的设置。 下图为用户管理界面: 图 17 添加用户界面 图 18 用户管理模块类图 东华理工大学软件学院毕业设计(论文)系统功能实现 22 类 user 的属性操作说明 getuserid() /获取用户 id setuserid () /缓存用户 id getusername() /获取用户名 getpassword() /获取用户密码 setusername() /缓存用户名 setpassword() /缓存用户密码 类 usermgr 的属性操作说明 add_user(); /添加用户 update_user(); /修改用户 delete_user(); /删除用户 view_user(); /查看用户 类 userservlet 的属性操作说明 dopost(); 表 10 用户管理模块信息表 模块名称user(用户管理模块) 功能描述 增加用户,删除用户,修改用户,查看用户,用户权限的设 置 主要方法 check_user() /验证用户是否存在 add_user() /添加用户 update_user() /修改用户 delete_user() /删除用户 view_user() /查看用户 数据结构 string username string password int power 补充说明 东华理工大学软件学院毕业设计(论文)系统功能实现 23 、 、 、 mai
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高频开关直流电源柜项目投资可行性研究分析报告(2024-2030版)
- 电子产品制造技术专业教学标准(高等职业教育专科)2025修订
- 2025年中国DLP光显屏行业市场调查研究及发展趋势预测报告
- 采掘知识培训课件
- 2025年中国柑桔行业市场全景评估及发展战略规划报告
- 2024-2030年中国云VR行业发展运行现状及投资潜力预测报告
- 2025年中国制糖行业发展运行现状及投资潜力预测报告
- 2025年中国蓝宝石长晶炉行业发展趋势预测及投资战略咨询报告
- 2025年 云南省化工仪表操作证理论考试练习题附答案
- 2025年 特种设备作业人员-叉车证理论考试练习题附答案
- 建筑机电工程抗震支架设计及施工方案
- 孤独症家庭心理调适
- 《基于核心素养的中学数学探究式教学研究》2300字(论文)
- 四川省成都市2023-2024学年六年级上学期语文期末试卷(含答案)
- 2024精神堡垒制作安装合同
- 045.糖尿病患者血脂管理中国专家共识2024版
- 重庆市县(2024年-2025年小学四年级语文)人教版期末考试(下学期)试卷及答案
- 江苏省苏州市2023-2024学年高二年级下学期学业质量阳光指标调研卷暨6月期末考试+地理试卷
- 化工公司安全知识竞赛题库(共1000题)
- 首都经济贸易大学管理信息系统期末考试试卷
- 有机化学(下)(华东理工大学)智慧树知到答案2024年华东理工大学
评论
0/150
提交评论