




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计论文本科毕业设计论文 题题 目目网络故障管理专家系统的研究与实现 毕业 任务书 一、题目 网络故障管理专家系统的研究与实现 二、指导思想和目的要求 1. 指导学生综合运用所学的基础理论知识和专业技术知识,研究学习 JAVA 平台下 SNMP 网络程序的设计与开发技术以及 Jess 规则引擎; 2. 学习和掌握利用各种资料,尤其是网络资源,分析和解决网络故障管理专 家系统设计与开发中遇到的各种实际问题; 3. 通过网络故障管理专家系统项目的设计开发,学习和掌握 JAVA 平台下 设计与开发理论以及 SNMP 相关知识。 三、主要技术指标 1. 程序开发工具为 Eclipse,页面开发工具为 Dreamweaver,数据库为 Oracle 数据库,规则引擎采用基于 Java 的 Jess 规则引擎。 2. 实现网络故障专家系统的规则制定以及故障分析。 3. 实现的功能包括:网络故障规则的制定;网络故障规则的添加,修改, 删除;网络故障告警信息的分析等。 四、进度和要求 1、 2007 年 12 月 26 日到 2008 年 1 月 31 日:完成毕业设计开题报告做完。 这期间,在分析了大量的文献资料后,决定采用以部分改良式的专家 系统来部署整个系统。 2、 2008 年 2 月 1 日到 2008 年 3 月 1 日:主要完成了部分知识储备和部 分技术的初步实施。上面系统中的四大模块:数据库;规则管理模块; 告警服务模块;Web 服务模块。 1)对于告警服务器模块:研究 AdventNet 公司的 SNMP Java 开发包, 研究怎样通过使用开发包里的 API 来使管理站能与被管理站进行通 信。这期间所有的 trap 信息接收及 MIB 信息的查询都是通过使用 设计 论文 模拟器来实现的。 2)规则管理模块:研究 Sandia National Laboratories 出品的基于 Java 平台的规则引擎 Jess 系统。重点学习了怎样去写规则以及怎样使规 则能够正常推理。 3)数据库部分:学习 Oracle 数据库的使用和管理。这阶段使用 Oracle 的数据库进行规则信息的输入,并通过规则管理模块使用 JDBC 与 其进行通信。 3、 2008 年 3 月 1 日到 2008 年 4 月 1 日:对思科设备的告警信息进行归 类及分析研究。 4、 2008 年 4 月 1 日到 2008 年 4 月 17 日:研究思科设备的规则信息结构。 因为规则信息是需要不断的输入的,所以这个工作一直不断的进行下 去。 5、 2008 年 4 月 18 日到 2008 年 4 月 27 日:完成关于思科设备在以太网 网络中发送的告警信息的规则的制定。同时,正式使规则管理模块与 数据库模块联动起来。这样,规则库管理模块就能够非常方便的调用 数据库中的规则信息。 6、 2008 年 4 月 28 日到 2008 年 5 月 4 日:将告警服务模块的告警信息接 收部分与规则库管理模块进行整合,同时可以使得三大模块可以同时 运行,同步实施,相互作用。 7、 2008 年 5 月 5 日到 2008 年 5 月 31 日:完成设计的大部分模块,将本 系统与实习单位的系统进行整合,并在实际网络中进行试运行。期间 不断调试系统的 bug 及改善系统部分缺陷。接受部门的验收并为毕业 论文的写作准备相关材料。之后开始用一周的时间进行毕业论文的写 作。 8、 2008 年 6 月 1 日到 2008 年 6 月 13 日:科技论文翻译,毕业论文答辩 准备。 五、主要参考书及参考资料 【1】AdventNet.AdventNet SNMP API 4 文档 E. 年 1 月。 【2】Sandia National Laboratories.Jess In Action E.Ernest Friedman- Hill.2008 年 2 月。 【3】MetaStuff. dom4j 1.6.1 API E. 年 5 月。 【4】XML Networks.TRAP Objects for ciscoE 2008 年 3 月。 【5】Cisco Systems.SNMP Object NavigatorE . 年 3 月。 【6】W.Richard Stevents.TCP/IP 详解 卷一:协议 M.机械工业出版社. 2007 年 11 月。 【7】李千目.一种基于自愈策略的网络故障诊断系统 J.仪器仪表学报. 2005 年 8 月。 【8】刘培奇.扩展产生式规则的网络故障诊断专家系统 J.西安交通大学学 报.2004 年 8 月。 【9】薛军.基于专家系统的网络故障智能管理系统的设计和实现 C.中国 计算机学会第 1 2 届网络与数据通信学术会议.2002 年 12 月。 【10】陈敏.网络故障诊断专家系统中知识库的设计 J.电子科技大学学报. 2005 年 12 月。 【11】杨广明.网络拓扑发现技术的研究与实现 C.中国计算机学会第 12 届网络与数据通信学术会议.2002 年 12 月。 学生 _ 指导教师 _ 系主任 _ 本科毕业论文本科毕业论文 目目 录录 摘摘 要要.I ABSTRACT.II 第第 1 章章 绪论绪论.1 1.1 设计的目的和意义.1 1.2 专家系统发展情况简介.1 1.3 设计原理及规模介绍.2 第第 2 章章 理论分析理论分析.3 2.1 SNMP 技术及原理.3 2.1.1 SNMP 原理.3 2.1.2 AdventNet SNMP API.5 2.2 规则引擎及规则.6 2.2.1 规则引擎的简介和原理.6 2.2.2 Jess 规则引擎 .7 2.3 页面开发.9 2.3.1 MVC 模式.9 2.3.2 Java Servlet 技术简介 .9 2.3.3 XML 的应用.11 第第 3 章章 网络故障管理专家系统的分析与设计网络故障管理专家系统的分析与设计.12 3.1 专家系统设计目标.12 3.2 专家系统系统结构及功能需求.12 3.3 专家系统需求分析.13 3.3.1 专家系统需求描述.13 3.4 专家系统功能模块.14 3.4.1 Web 服务器模块.14 3.4.2 数据库模块.15 本科毕业论文本科毕业论文 3.4.3 规则管理模块.16 3.4.4 告警服务器模块.17 3.5 本章小结.20 第第 4 章章 网络故障管理专家系统的详细设计网络故障管理专家系统的详细设计.22 4.1 网络故障管理专家系统的环境.22 4.1.1 开发和运行环境.22 4.2 网络故障管理专家系统的具体实现.22 4.2.1 Web 服务器模块.22 4.2.2 数据库模块的实现.24 4.2.3 规则管理模块.24 4.2.4 告警服务模块.26 4.3 项目中的难点.27 4.3.1 规则信息的收集.27 4.3.2 规则知识.29 4.4 本章小结.30 第第 5 章章 结论结论.31 5.1 开发中遇到问题.31 5.2 设计中的不足之处.35 致致 谢谢.36 参考文献参考文献.37 毕业设计小结毕业设计小结.38 本科毕业论文本科毕业论文 I 摘 要 专家系统是一个具有智能特点的计算机程序,它的智能化主要表现为能够 在特定的领域内模仿人类专家思维来求解复杂问题。因此,专家系统必须包含 领域专家的大量知识,拥有类似人类专家思维的推理能力,并能用这些知识来 解决实际问题。它能解决特定领域的具体问题,但是需要大量与研究领域问题 密切相关的知识;能对自身的工作过程进行推理,基于知识的问题求解方法, 知识库与推理机分离等特点。本文关注的是网络故障管理专家系统,就是应用 专家知识来判断和推理故障发生的原因等信息。着重进行了知识的采集,知识 的存储,推理规则的制定等方面的研究。 规则引擎(即知识引擎)采用的是基于 Java 的 Jess 规则引擎。整个设计的 思路是:从系统的告警服务模块得到网络中的故障报警信息,通过在规则引擎 中匹配规则,分析出故障的具体原因和处理方法。规则信息可以通过浏览器进 行添加,修改和删除等操作。 为了便于操作,规则使用标准的 XML 格式来定义。这样系统的规则管理 模块和规则推理模块都可以对规则进行灵活的操作。 关键词:专家系统,SNMP,Jess,告警信息 本科毕业论文本科毕业论文 II Abstract Expert System is a smart part of the computer program, and its intelligent to be able to mimic human experts in specific areas thought to solve complex problems. Therefore, the expert system must have a large number of experts knowledge in this field, and have similar reasoning ability with human thinking, and can use this knowledge to solve practical problems. It can solve the specific problems in specific areas, but needs a substantial amount of research areas closely related to the issue of knowledge, and it can work on their own process of reasoning, knowledge-based problem solving methods, knowledge base and the inference of mutual separation, etc. This paper is concerned on network fault management expert system, which uses the expert knowledge and reasoning mechanism to determine the reasons for the failure occurred, and other information. We focus on the acquisition of knowledge, storage of knowledge, reasoning and so on. Rules engine (that is, knowledge engine) uses a Java-based Jess rules engine. The whole design is in the idea: the trap information received from the network failure alarm module, match rules through the rules engine, and conclude the failure of the specific causes and treatment. Through the browser, user can add, edit and delete rules. In order to facilitate the operation, we use the standard rules of the XML format. This system of rules management module and rules reasoning module can be flexible in operating rules. KEYKEY WORDSWORDS : :Expert System,SNMP, Jess, Trap 本科毕业论文本科毕业论文 1 第 1 章 绪论 1.1 设计的目的和意义 网络管理包括故障管理、配置管理、安全管理、性能管理、计费管理等五 大部分。其中故障管理是网络管理中最基本的也是最重要的功能之一。一个好 的故障管理系统可以大大提高网络管理的工作效率。 近年来,随着计算机网络规模的不断扩大,使得对整个网络的维护和操作 变得相当复杂,一方面随着网络业务和网络规模的增加,对网管人员专业素质 的要求也愈来愈高。另一方面,在网络的运营管理和维护中,当网络出现故障 时,常常要求必须在最短的时间内,正确地判断出网络故障所在的位置、故障 的类型和引起故障的原因等,以便及时对故障进行修复。然而,在实际的网络 中,一个故障的产生,往往会引发起多个告警事件。而且,随着网络的复杂性 和应用水平的不断提高,告警的种类和数量会越来越多,这些告警中有许多是 相互之间关联的。这样,就要求对众多的告警信息进行相关性分析,快速进行 网络的故障诊断和定位。 本课题的目的是构建一个应用于实际网络系统中的,可以进行实时网络故 障检测及定位的管理系统。它通过不断添加新的规则来丰富故障管理专家知识 库。 1.2 专家系统发展情况简介 随着计算机、人工智能技术的发展和应用,对智能化网络管理的要求愈来 愈高。目前实现智能化故障管理系统的技术有专家系统、神经网络、模糊理论 等等。 专家系统是人工智能应用研究最活跃和最广泛的课题之一,它是一个智能 计算机程序系统,其内部具有大量专家水平的某个领域知识与经验,应用人工 智能技术,根据某个领域一个或多个人类专家提供的知识和经验进行推理和判 断,模拟人类专家的决策过程,以解决那些需要专家决定的复杂问题。虽然专 家系统能够有效的模拟故障诊断专家完成故障诊断的过程,但是在实际应用中 仍存在一定缺陷,其主要问题是知识获取的瓶颈问题、知识难以维护,以及不 本科毕业论文本科毕业论文 2 能有效的解决故障诊断中许多不确定因素,这些问题大大影响了故障诊断的准 确性。 神经网络是一种模拟人脑组织结构和人类认知过程的信息处理系统。它以 其诸多优点,如并行分布处理、自适应、联想记忆等,在智能故障诊断中受到 越来越广泛的重视,而且已显示出巨大的潜力。神经网络方法虽然有利于克服 专家系统的知识获取瓶颈、知识库维护困难等问题,但它不适于处理启发性知 识。而且,由于神经网络技术本身不够完备,它的学习速度慢,训练时间长以 及解释功能弱,从而影响了神经网络的实用性。 在故障诊断中,故障与征兆之间的关系往往是模糊的,因而诊断结果也必 然是模糊的随着模糊理论的发展及完善,模糊理论的一些优点逐步被重视,如 模糊理论可适应不确定性问题;其模糊知识库使用语言变量来表述专家知识。 但是它也具有维护困难,不具备学习能力的缺点。 本课题采用的专家系统技术,主要是通过专家在分析,归纳总结故障症状 之后添加新的规则来获取新的知识。 1.3 设计原理及规模介绍 本设计是要构建一个具备推理功能的网络故障专家系统。它通过接收网络 中发来的告警信息并匹配事先添加好的规则来判断故障的原因并得出故障处理 的方案。 本设计采用了基于 Java 的 Jess 规则引擎,采用分析特定网络设备的告警信 息(本设计主要参考的是思科的设备)的方法来制定规则。主要的研究手段是 通过官方网站及相关技术资料查找关于思科设备的告警信息,并总结出规律, 制定规则。整个研究的实验期的网络设备包括一台管理站及一台作为被管理站 的服务器,但该程序会应用于第四军医大学网络中心的部分网络中。 本科毕业论文本科毕业论文 3 第 2 章 理论分析 2.1 SNMP 技术及原理 2.1.1 SNMP 原理 1、SNMP 协议 简单网络管理协议(SNMP)是 Internet 组织用来管理 Internet 的网络协议,随 着 Internet 所使用的 TCP/IP 协议族成为事实上的互连协议标准,SNMP 也成为 计算机网络管理方面大家实际遵循的标准。 在 SNMP 管理模型中有三个基本组成部分:管理者(Manager) ,被管理代 理(Agent)和管理信息库(MIB) 。管理站一般是一个单机设备或一个共享网 络中的一员,它是网络管理员和网络管理系统的接口,能将网络管理员的命令 转换成对远程网络元素的监视和控制,同时从网上所有被管理实体的 MIB (管 理信息库) 中提取出信息数据。作为管理站,它还必须拥有能进行数据分析、 故障发现等管理应用软件。整个管理站的管理工作是通过轮询代理来完成的。 管理者可以通过 SNMP 操作直接与被管理代理进行通信,获得实时的设备信息, 对网络设备进行远程配置管理或者操作;也可以通过对数据库的访问获得网络 设备的历史信息,以决定网络配置变化进行操作。SNMP 被管理代理指的是用 于跟踪监测被管理设备状态的特殊软件或硬件,每个代理都拥有自己本地的 MIB。实际上,SNMP 的管理任务是移交给被管理代理来执行的。代理翻译来 自管理站的请求,验证操作的可执行性,通过直接与相应的功能实体通信来执 行信息处理任务,同时向管理站返回响应信息。 MIB 信息为网管中被管理的资源,而网络管理中的资源是以对象表示的, 每个对象表示被管理资源的某方面属性,这些对象形成了 MIB 库。每个 MIB 变量记录了每个相连网络的状态、通信量统计数据、发生差错的次数以及内部 数据结构的当前内容等。网络管理者通过对 MIB 库的存取访问,来实现五大管 理功能:性能管理、配置管理、安全管理、故障管理和计费管理。 2、SNMP 的五种消息类型 本科毕业论文本科毕业论文 4 SNMP 中定义了五种消息类型:Get-Request、Get-Response、Get-Next- Request、Set-Request 和 Trap。 (1) Get-Request 、Get-Next-Request 与 Get-Response SNMP 管理站用 Get-Request 消息从拥有 SNMP 代理的网络设备中检索信 息,而 SNMP 代理则用 Get-Response 进行消息响应。Get-Next-Request 用于和 Get-Request 组合起来查询特定的表对象中的列元素。如:首先通过下面的原语 获得所要查询的设备的接口数: iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2) 然后再通过下面的原语,进行查询(其中第一次用 Get-Request,其后用 Get-Next-Request): iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2) (2) Set-Request SNMP 管理站用 Set-Request 可以对网络设备进行远程配置(包括设备名、 设备属性、删除设备或使某一个设备属性有效/无效等) 。 (3) Trap SNMP 代理使用 Trap 向 SNMP 管理站发送非请求消息,一般用于描述某一 事件的发生。本论文中的接收的 Trap 信息主要是指一些网络故障信息。 SNMP 管理信息库 MIB。 管理信息库 MIB 指明了网络元素所维持的变量(即能够被管理进程进行查 询和设置的信息) 。MIB 给出了一个网络中所有可能的被管理对象的集合的数 据结构。SNMP 的管理信息库采用和域名系统 DNS 相似的树型结构,它的根在 最上面,根没有名字。 3、管理信息库的对象命名举例 对象命名树的顶级对象有三个,即 ISO、ITU-T 和这两个组织的联合体。 在 ISO 的下面有 4 个结点,其中的一个(标号 3)是被标识的组织。在其下面 有一个美国国防部(Department of Defense)的子树(标号是 6) ,再下面就是 Internet(标号是 1) 。在只讨论 Internet 中的对象时,可只画出 Internet 以下的子 树,并在 Internet 结点旁边标注上即可。 本科毕业论文本科毕业论文 5 在 Internet 结点下面的第二个结点是 mgmt(管理) ,标号是 2。再下面是管 理信息库,原先的结点名是 mib。1991 年定义了新的版本 MIB-II,故结点名现 改为 mib-2,其标识为.2.1,或Internet(1) .2.1。这种标识为对象标识 符。 图 2.1 管理信息库对象名举例 最初的结点 mib 将其所管理的信息分为 8 个类别。现在的 mib-2 所包含的 信息类别已超过 40 个。 应当指出,MIB 的定义与具体的网络管理协议无关,这对于厂商和用户都 有利。厂商可以在产品(如路由器)中包含 SNMP 代理软件,并保证在定义新 的 MIB 项目后该软件仍遵守标准。用户可以使用同一网络管理客户软件来管理 具有不同版本的 MIB 的多个路由器。当然,一个没有新的 MIB 项目的路由器 不能提供这些项目的信息。 这里要提一下 MIB 中的对象.4.1,即 enterprises(企业) ,其所属 结点数已超过 3000。例如 IBM 为 .4.1.2,Cisco 为.4.1.9, Novell 为.4.1.23等。世界上任何一个公司、学校只要用电子邮件发往 进行申请即可获得一个结点名。这样各厂家就可以定义自己的 产品的被管理对象名,使它能用 SNMP 进行管理。 2.1.2 AdventNet SNMP API AdventNet snmp API 开发包是由美国 AdventNet, inc 公司开发的一个专门用 本科毕业论文本科毕业论文 6 于处理管理站与被管理站之间传递的 SNMP 信息的一个开发包。它是可以用来 创建跨平台的 Java 的 SNMP 网络管理程序和基于 Web 的 SNMP 网络管理 Applet 程序的一组组件。 它的主要特点是: 1)完全支持 snmpv1,snmpv2c 和 SNMPv3 的。 2)MIB 信息的装入。 3)SNMP 广播:广播 SNMP 数据包在整个网络中自动发现在网络中支持 SNMP 协议的设备。 4)提供高层次的 bean 组件,例如, snmptarget,snmptable,snmppoller,trapreceiver 便于应用的开发。 5)数据库支持:提供可扩展存储的 MIB 定义和 SNMPv3 的配置数据在任 何关联式资料库,例如,MySQL 和 Oracle(本程序所使用的数据库为 Oracle) 。 6)MIB 的浏览器:工具管理网络和系统组件。可以作为一个独立的应用 程序来运行,也可以作为益而高基于 Web 浏览器的程序来运行。 还有其它的一些别的特点。 2.2 规则引擎及规则 2.2.1 规则引擎的简介和原理 专家系统是人工智能的一个分支,它模仿人类的推理方式,使用试探性的 方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。专家系统 有很多分类:神经网络、基于案例推理和基于规则系统等。 规则引擎是基于规则的专家系统的一部分,基于规则的专家系统(Rule Based Expert System-RBES)是专家系统中很重要的一个分支。 RBES 包括三部分规则库,事实库(也叫做工作内存) ,推理引擎,结构如 图 2.2 所示: 本科毕业论文本科毕业论文 7 图 2.2 基于规则的专家系统的结构图 和人类的思维相对应,规则引擎存在两者推理方式:演绎法(Forward- Chaining)和归纳法(Backward-Chaining) 。演绎法从一个初始的事实出发,不 断地应用规则得出结论(或执行指定的动作) 。而归纳法则是从假设出发,不断 地寻找符合假设的事实。 Rete 算法是目前效率最高的一个 Forward-Chaining 推理算法,Drools 项目 是 Rete 算法的一个面向对象的 Java 实现。 规则引擎的推理步骤如下: 1、将初始数据(fact)输入工作引擎。 2、使用类型匹配比较规则(rule)和事实(fact) 。 3、如果执行规则存在冲突,即同时激活了多个规则,将冲突的规则放入冲 突集合。 4、解决冲突,将激活的规则按顺序放入“议程”序列。 5、使用规则引擎执行“议程”序列中的规则。重复步骤 2 至 5,直到执行 完毕所有“议程”中的规则。 2.2.2 Jess 规则引擎 同大多数专家系统工具一样,Jess 的核心也是由事实库、规则库、推理机 三大部分组成,并采用产生式规则作为基本的知识表达模式。在 Jess 中,事实 包括简单事实和对象事实。简单事实就是一个描述事物的断言,而对象事实除 此之外还封装了方法,可以接受外界信息改变自身的特征。这一概念本身并不 是 Jess 首次提出的,ART-IM、CLIPS 都支持这一概念。但 Jess 表达对象事实 本科毕业论文本科毕业论文 8 的方法确实别具一格:它用 Java 而非系统本身的语言来定义对象。在 CLIPS 6.0 中,对象事实通过系统本身的语句 defclass 和 make-instance 来定义,但在 Jess 中,类的定义由 Java 语言书写,编译通过后即可动态地加入系统中。用 Java 虚拟机编译通过后,通过 defclass 命令将该类加入系统,它就可以执行类 似于 CLIPS 中对类的各种操作,如生成它的一个实例、调用它的方法等。由此 可见,Jess 可以方便地调用 Java 中的类库,使用 Java 中的各种数据结构和方法, 从而具备其他系统不可比拟的优良的嵌入能力。Jess 通过模式匹配语言对事实 进行操作。在 Jess 中,模式匹配操作符的类型有很多,从可以同任意事实进行 匹配的单一操作符到只能同满足特定约束值的事实进行匹配的复杂操作符。特 别要指出的是,Jess 中有“unique”条件元素,它告诉系统同该模式匹配的事实 是惟一的。这样,当模式发现一条事实同它匹配后,就会停止对事实库的检索, 在实际应用中,这可以将系统的性能提高 2030,而 CLIPS 系统不支持这 一条件元素。在 Jess 中,规则的表达形式沿用了 CLIPS 的语法结构,通过对规 则前件和后件的限定,它可以支持内容丰富的模式匹配语言。另外,Jess 支持 面向过程的编程方式,它提供了一些语句来控制规则后件的操作流程,如使用 ifthenelse 和 whiledo语句,这样它就能很有效地利用面向过程编程的 优势。总之,Jess 的这些特性使系统拥有很强的知识表示能力。 Jess 支持前向和逆向推理两种方式,前向推理同 CLIPS 的原理相同,逆向 推理则是 Jess 不同于 CLIPS 的一个显著特征。在 Jess 的逆向推理中,规则仍采 用 ifthen结构,但是在逆向推理时,推理引擎执行的是前件没有得到满足的 规则,这种行为常常被称为目标寻找。显然,Jess 同时支持前向和逆向推理的 特点使其推理能力得到了加强。推理的效率很大程度上依赖于匹配算法的效率。 Jess 通过实现 Rete 匹配算法来提供非常高效的前向和逆向推理。Rete 算法利用 了专家系统中时间冗余性和结构相似性这两个特点,有效地减少了用于匹配操 作的次数。因此,当系统的性能是由匹配算法的质量决定时,Jess 的优点将更 为明显。应当指出的是,Rete 算法是一个以空间换取时间的算法,所以,应用 Jess 时应当考虑内存的消耗。 本科毕业论文本科毕业论文 9 2.3 页面开发 2.3.1 MVC 模式 MVC 模式最早来源于 Smalltalk 程序设计语言中对界面的构造方法,包括 三种类型:Model(模型)是应用对象,view(视图)是界面对象,Controller(控制器)是 用户界面对用户输入的响应。 MVC 的目的是增加代码的重用率,减少数据表达,数据描述和应用操作的 耦合度。 同时也使得软件可维护性,可修复性,可扩展性,灵活性以及封装性 大大提高。 Model 表示应用的数据及操作这些数据的逻辑方法。任何和整个应用相关 的持久性数据都放在模型中。 View 将模型的当前状态呈现给用户,具体的显示方法由视图负责,因此一 个模型可以适用于多个不同的视图。在模型状态改变后,通过模型和视图之间 的协议,视图得知这种改变并修改自己的显示。对于用户的输入,视图将它们 交给控制器处理。 Control 负责交互,将用户输入的数据导入模型;它还利用用户的输入将应 用转向其他视图。 MVC 模式在项目的页面实现部分使用。其中在项目文件夹 “Management”下的 jsp 文件就是其中的视图,包“com.JessOraclePage”下的 servlet 文件就是其中的控制器,而包“com.JessOracle.model”下的文件就是模 型。MVC 模式的应用使得整个系统操作和应用层次分明,易于维护。 2.3.2 Java Servlet 技术简介 1、 技术简介 Servlet 技术是 Sun 公司提供的一种实现动态网页的解决方案,它是基于 Java 编程语言的 WEB 服务器端编程技术,主要用于在 WEB 服务器端获得客户 端的访问请求信息和动态生成对客户端的响应消息。Servlet 技术也是 JSP 技术 (另外一种动态网页开发技术)的基础。一个 Servlet 程序就是一个实现了特殊 接口的 Java 类,用于被支持 Servlet 的 WEB 服务器调用和运行,即只能运行于 具有 Servlet 引擎的 WEB 服务器端。一个 Servlet 程序负责处理它所对应的一个 本科毕业论文本科毕业论文 10 或一组 URL 地址的访问请求,接收访问请求信息和产生响应内容。 Applet 是用于浏览器端的 Java 小程序,在浏览器端被解释执行,用于在 HTML 网页中实现一些桌面应用程序的功能,被称为“小应用程序”。Servlet 是 用于 WEB 服务器端的 Java 小程序,它在 WEB 服务器端被解释执行,用于处 理客户端的请求和产生动态网页内容。源于 Applet 的命名,这种 WEB 服务器 端的 Java 小程序就被命名为了 Servlet,与 Applet 相对应,Servlet 可以被称之 为“小服务程序”。 Servlet 与普通 java 程序相比,只是输入信息的来源和输出结果的目标不一 样,所以,普通 Java 程序所能完成的大多数任务,Servlet 程序都可以完成。 Servlet 程序具有如下的一些基本功能: 1)获取客户端通过 HTML 的 FORM 表单递交的数据和 URL 后面的参数 信息; 2)创建对客户端的响应消息内容; 3)访问服务器端的文件系统; 4)连接数据库并开发基于数据库的应用; 5)调用其它的 Java 类。 2、 编写与编译 Servlet 程序 一个 Servlet 程序就是一个在 WEB 服务器端运行的特殊 Java 类,这个特殊 的 Java 类必须实现 javax.servlet.Servlet 接口,Servlet 接口定义了 Servlet 容器与 Servlet 程序之间通信的协议约定。为了简化 Servlet 程序的编写,Servlet API 中 也提供了一个实现了 Servlet 接口的最简单的 Servlet 类,其完整名称为 javax.servlet.GenericServlet,这个类实现了 Servlet 程序的基本特征和功能。 Servlet API 中还提供了一个专用于 HTTP 协议的 Servlet 类,其名称是 javax.servlet.http.HttpServlet,它是 GenericServlet 的子类,在 GenericServlet 类 的基础上进行了一些针对 HTTP 特点的扩充。显然,一个 Java 类只要继承了 GenericServlet 或 HttpServlet,它就是一个 Servlet。反过来说,要编写一个 Servet 类,这个类必须继承 GenericServlet 类或 HttpServlet 类。为了充分利用 HTTP 协议的功能,在一般情况下,都应让自己编写的 Servlet 类继承 HttpServlet 类,而不是继承 GenericServlet 类。 本科毕业论文本科毕业论文 11 查看 HttpServlet 类的帮助文档,可以看到其中有一个名为 service 的方法, 当客户端每次访问一个 Servlet 程序时,Servlet 引擎都将调用这个方法来进行处 理。service 方法接受两个参数,一个是用于封装 HTTP 请求消息的对象,其类 型为 HttpServletRequest,另一个是代表 HTTP 响应消息的对象,其类型为 HttpServletResponse。调用 HttpServletResponse 对象的 getWriter 方法可以获得 一个文本输出流对象,向这个流对象中写入的数据将作为 HTTP 响应消息的实 体内容部分发送给客户端。 2.3.3 XML 的应用 XML(ExtensibleMarkupLanguage,可扩展标记语言)是 SGML(Standard Generalized Markup Language,标准通用标记语言)的子集。其主要优势在于它 能够表达数据的语义信息,因为 XML 基于开放的文本格式,所以它不需要改 变现有的网络,而同 HTML 一样使用 HTTP 协议进行文本文档的传送。而且, 因为 XML 将数据显示与数据内容分离,所以 XML 数据发送到客户端后,可以 使用多种方式显示。 本科毕业论文本科毕业论文 12 第 3 章 网络故障管理专家系统的分析与设计 3.1 专家系统设计目标 本系统的目标是要设计一个可以应用到实际网络拓扑结构中的能够实时检 测网络故障并分析网络故障原因的故障管理系统。该系统能够通过由管理员不 断的添加网络故障规则来丰富故障知识库。该知识库的规则用于匹配系统接收 到的故障告警信息,并通过推理得出故障原因。其中需要注意以下两点: 1、 系统能够实时接收来自网络拓扑中的故障告警信息,并将其处理发送 到专家库的规则引擎部分进行规则匹配。 2、 管理员可以通过登录来对知识库中的规则进行添加、删除、修改等操 作,以此来完善、丰富知识库。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025电子工业出版社有限公司招聘应届高校毕业生15人模拟试卷附答案详解(考试直接用)
- 毕业班的家长会发言稿
- 2025年食物试吃员考试题及答案
- 七台河中考试卷及答案
- 中式面点专业管理制度
- 中铁项目日常管理制度
- 2025河北会考试卷及答案
- 小学课堂达标理论考试卷及答案
- 肾内科慢性肾脏病护理措施
- 2025年福州市仓山区卫健系统招聘编内卫生专业技术人员31人考前自测高频考点模拟试题及完整答案详解1套
- 2025年陕西省法院书记员招聘笔试题库附答案
- 长期照护师技能操作考核试卷及答案
- 安全应急预案编制培训课件
- 2025年6月浙江省高考化学试卷真题(含答案及解析)
- (正式版)DB15∕T 3226-2023 《液化天然气单位产品电耗限额》
- 静脉采血业务学习
- 中国哲学经典著作导读智慧树答案
- 2025年70周岁以上老年人换长久驾照三力测试题库(含答案)
- 家庭教育指导服务行业:2025年家庭教育市场消费者行为分析报告
- 浙江龙泉南禹生物质燃料有限公司年产6万吨废弃竹木再生燃料颗粒生产线建设项目环评报告
- 武松的课件教学课件
评论
0/150
提交评论