(电力系统及其自动化专业论文)基于广域网的输电线路管理系统的开发.pdf_第1页
(电力系统及其自动化专业论文)基于广域网的输电线路管理系统的开发.pdf_第2页
(电力系统及其自动化专业论文)基于广域网的输电线路管理系统的开发.pdf_第3页
(电力系统及其自动化专业论文)基于广域网的输电线路管理系统的开发.pdf_第4页
(电力系统及其自动化专业论文)基于广域网的输电线路管理系统的开发.pdf_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

声明 本人郑重声明:此处所提交的硕士学位论文基于广域网的输电线路管理系统的开 发,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得 的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 学位论文作者签名:日期: 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播学 位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 日期: 导师签名: 日期: 华北电力大学硕 学位论文 1 1 引言 第一章绪论 当今时代是科技日新月异发展的时代,随着科学技术的迅速发展,信息技术已 在社会生活各个领域得到广泛应用,互联网成为企业和个人信息交流不可缺少的工 具,通过互联网的应用,人们的工作效率得到飞速提高。 伴随着我国经济的快速发展和我国电力体制改革的深化,电力工业发展迅猛, 电力用户的用电意识也日益增强,其对电能质量的要求也日益提高。电力用户要求 有安全、持续、稳定的电能供应。而输电线路是电力系统的重要组成部分,它将发 电厂、变电站、配电设备和电力用户连接成一个有机整体。输电线路的稳定运行直 接关系到供电系统的安全稳定运行和用户的用电安全以及用电设备稳定的工作。而 且由于输电线路距离漫长,跨越地形复杂,极易受到环境和人为影响,运行管理难 度大,因此提高输电线路的运行管理水平,对提高电力系统可靠性、安全性有着重 要作用。 随着电网规模的扩大,电网电压等级的升高,传统的以手工和单机方式的输电 线路管理,由于效率低下,已不适应现代化生产管理的需要。9 0 年代后期,基于w e b 的服务和应用迅速壮大,w e b 应用开发领域也有了巨大的进步和发展。这些都为利用 现代计算机网络技术建立线路生产管理m i s 系统带来便利。使用w e b 服务可以加速 生产数据信息的处理、交换和共享。因此开发一套基于广域网的输电线路管理系统, 提高线路管理的水平和工作效率,具有非常现实的意义。但是如何构造一个基于 j 2 e e 标准、以服务器为中心、可伸缩、可快速部署、易于维护和升级的实用化系统, 该问题一直未能很好的解决。 利用基于广域网的输电线路管理系统,各地的基层线路管理部门可把分散的线 路数据汇总到上级线路管理部门,上级管理部门对汇总的数据查询、统计,为决策 层提供准确、详实的信息;利用最新的j 2 e e 技术成果,采用h i b e r n a t e 、s t r u t s 、s p r i n g 框架则可以加快开发的速度、提升系统的负载能力和稳定性。 1 2 输电线路管理现状 电力系统是一个庞大、复杂的系统。伴随着电网规模的扩大和电网电压等级的 升高,线路管理人员需要处理的线路数据日益增多。线路运行管理人员不但要及时 了解各条线路的运行情况,还需要对大量的历史记录整理、分析,以便合理安排检 修计划,对事故隐患线路及时维护、排除故障。为了提高管理工作效率,促进企业 华北电力大学硕 学位论文 现代化管理水平的提高,国内外针对输电线路管理系统开发了很多产品,但是由于 管理目标和实际情况不同,都存在一些问题和不足。有的输电线路管理系统由于采 用的是基于三维g i s 的平台,资料管理员需要直接维护大量地理信息资料,这就加 大了管理员工作量。数据残缺不全、不准确现象普遍。而且在一些中小城市,目前 还没有精确度高的电子地图,当地电力部门也没有掌握精确的地形图。这都使得基 于g i s 平台的输电管理系统在实际应用中面临许多困难和问题。在文献【2 】中,作者 使用了3 d g i s t l m s 软件作为开发平台,3 d g i s t l m s 是针对输电线路管理的特点和 需求开发的,建立于三维g 1 s 平台的软件系统。但是由于传统的2 层结构( 客户 服务器体系) 和3 层结构( 应用层事务逻辑层数据库层) 并不符合3 d g i s t l m s 软件使用要求。因此作者提出了3 d g i s t l m s 的四层体系结构,如下图: 客p 艘燃膳l :二:二兰曼蒌曼囊篓堡至璧堕蔓曼:二 l 3 雅地形对敲 ; 地物对象父鲢 艇能耐像聪:j 篇o i j :二二:二j 。:二。二h 二二? : i 地物时敷( 体i 蹙能, i :电,j7 0 料。艇能! 数獬磁 i 凇薹毓鼍黑蒜鬻釜篡鋈焱| i 一扳赢磁。蕊一11 l 近 受遇亿膳一一:= = = := := = = = = = = = = = :一 “。罾爵i 西一一。1 l 一二毛二耋:巴i 品。一j 图1 - 13 d g i s - t l m s 的四层体系结构 3 d g i s t l m s 的四层体系结构是一种自下而上的层次型软件体系结构。它综合考虑了 现有的软件技术水平和系统需求的因素,解决了输电线路的可视化管理和高重用度 的问题。但是此系统缺少标准库的支持,数据录入随意性大,如在录入线路杆塔数 据时,所属线路名称为手工录入,没有统一标准和控制措施,易造成整个系统数据 混乱。而且系统采用传统的功能授权机制,数据安全性差。有些输电线路管理系统 的功能仅仅局限于资料的手工录入和简单的查询功能,应用范围也仅局限在单机和 局域网内部。同一供电单位不同部门之间不能实现信息共享,以致信息传递仍然要 靠传统的方式通过报表来传送。文献【3 】以实际应用的某供电局输电线路信息管理系 统为例,在局域网内部从系统结构、数据库、系统平台三个方面介绍了输电线路管 理系统设计方案的思想和方法。它包括运行管理、试验管理、安检管理、档案管理 及查询统计五个子系统。其中档案管理包括图形查询的子模块。作者还提出线路管 理台帐包括线路台帐资料、线路杆塔资料、线路跨越物资料、线路换位资料及线路 支线资料等。其线路数据流图如图1 2 。该数据流图表明了各数据之间的相互关系 文献 8 则采取面向基础数据的设计思想,以主体业务组织系统,考虑到了送电生 产的流程性管理。由于两系统都为本局内部使用, 2 华北电力大学硕士学位论文 l 直线片兰il 轩塔麓奉 i 辫情况il 舒料庳 支线i 籀号杆塔i 樊型 一! ! ! 1 。j ! ! l 。l 颦k 副茎茎辇矧垂辇薹l t l : tt l :b l 鳗菇缗号l宣线籍号1 支线1 绫号扦培j 类型 l :nr “l : r 一l : il :ni 线路没汁ii 缦路导线il 线路地蠛ll 杆塔附l 蜓娃夜ll 慵况寝il 情况寰il 瓤设鲁i 辱线l 煮疆地线i 樊壅 ! ! 竺l。! ! ! i i 并缦麓奉ii 地筑蕞率i l 资料摩l i 竞辩寰i 图i - 2 线路数据流图 数据量小,应用范围较窄。而且没有考虑与其他供电局的共管线路台帐的维护,因 此不适合大型供电局及广域网内多个供电局共同使用。文献 4 具体介绍了输电线 路管理系统设计思想、层次结构和功能模块由于系统未采用地理信息平台,使得软 件操作维护简单。但对于如何保证数据的安全性问题,本文涉及甚少,仅仅是设置 了管理员口令和密码。文献 5 以是以m a p i n f o 软件为开发平台,m a p l n f o 是按图层 组织计算机地图的。该系统的背景图平台由行政区域图层、地形图层、交通线路图 层、河流水域图层、重点建筑图层输电线路图层、输电杆塔图层、变电站图层层层 叠加形成完整的数字化地图。根据系统功能和输电线路数据特点,作者把系统结构 分为数据库管理模块、图形库管理模块、运行安全管理模块、系统管理模块等四部 分。作者还提出把输电线路数据分为属性数据和空间地理数据其中属性数据包括 线路的非几何信息如电压等级,编号,型号,名称长度等而空间地理数据则包括输 电线路的几何信息,坐标,颜色等信息。作者还把数据库分为基础数据库和工程数据 库,两数据库自动关联,用以减少数据冗余度。文献 9 基于c s 三层模式创建,借 助v b 和a c c e s s 共同开发。实现对线路信息的统计、查询和修改等功能。该系统不 能在广域网内应用,应用范围较窄。同样此系统对数据安全性涉及较少。 综上所述,我国的输电线路管理水平经历了以下四个阶段: 第一阶段:以纸质报表为媒介,以人员现场手工抄录为基础。这种情况在相当 多的基层供电局普遍存在,上级部门需要了解基层供电局的线路数据时,必须派专 人送达。这使得基层供电局必须定期派人向上级送达报表,对基层线路管理部门造 成人力、财力、物力的巨大浪费。 第二阶段:利用计算机专用软件,如w o r d 、e x c e l 把手工抄录回的数据登记到 计算机中,定期转存到软盘或其它存储介质以被查询; 第三阶段:利用一些专业软件公司开发的单机版管理软件,完成线路基础信息 的登录和查询,但是它仍然不能解决上级管理部门检查和调阅。 3 华北电力大学硕士学位论文 第四阶段:利用局域网网络环境,在单个供电局内部完成线路管理职能,这种 系统在一定范围内解决了以上问题,但仍然不适合广域网内多个供电局共同使用。 总而言之,上述四种方式,都存在系统规模比较小,信息量少,应用范围基本 都局限于一个市局或是市局内的分局内部;而且应用未能从基层班组工作入手,直 至地市供电局、省电力公司的远程数据访问、管理;未能充分利用计算机网络的作 用。此外系统还存在以下的几个问题有待处理: 1 线路数据的安全性差 在大型供电局中,线路管理的数据规模庞大,地域分散,线路数据变更频繁。 线路管理人员必须对线路台帐中线路的启用、停用、重新启用以及同杆架设等情况 作出及时的修改,而对这些台帐记录,现有的系统未能进行责任控制,不能保证数 据的安全。 2 线路中同杆并架问题 多回路同杆并架是指在同一线路走廊架设多回线路,这样在提高线路输送容量 的同时,可以有效减少线路走廊用地,达到保护环境,节省耕地的目的。但是这样 就带来线路台帐管理的困难。由于台帐的建立是按照不同线路建立,同杆并架线路 台帐就导致不同线路对应的杆架相同的问题,必然使杆架台帐数据产生重复,从而 使得杆塔、线路的管理和维护变得困难,而实际上,同杆并架线路上的杆塔资料只 需维护一次即可。 3 未能支持广域网应用 如今在各行各业中,广域网的应用越来越广泛。各电力公司及其下属供电局都 已接入互联网。因此,如果开发出的线路管理系统不能应用于广域网,势必是对现 有资源的极大浪费。 4 录入数据随意性大 现有的一些线路管理系统,由于没有数据标准库的支持,线路数据录入随意, 造成数据混乱,使系统失去可用性。 1 3 本文的主要工作 本文针对线路管理中的实际需要及目前线路管理信息系统存在的问题,设计实 现了一个基于广域网的线路管理系统。从系统开发的步骤入手,首先是对软件的体 系结构中c s 和b ,s 两种模式作了比较,决定选用b s 模式后又查阅现有j 2 e e 的 各种应用框架结构的资料,并对这些框架作了比较,从而系统的总结出开发选择 s p r i n g 、s t r u t s 、h i b e r n a t e 应用框架结构的原因。在对该框架结构进行详细分析研究 后,根据系统业务需求,将该框架应用到输电线路管理系统中。具体工作如下: 1 、在认真分析线路管理部门的实际需要和已有的线路管理信息系统的基础上, 4 华北电力大学硕上学位论文 参考收集的文献资料,认真调查分析了线路管理的实际业务需求。 2 、依据线路管理中的实际需求,从供电企业信息化建设出发,深入分析线路管 理需要及产生的数据,采用面向数据平台的设计思想,完成了数据库表结构的设计。 特别是对于杆塔台帐库表,首次提出将杆塔属性信息与运行信息分离的管理模式, 较好的解决了同杆并架线路的参数管理问题。此设计思想为构建一个稳定的线路管 理数据平台打下良好的基础。 3 、针对系统采用b s 三层结构,在比较现今流行的多种框架后,采用s p r i n g 作为整合框架,利用d a o 模式,集成了h i b e r n a t e 框架,实现了业务逻辑和持久层 分离,s t r u t s 作为表现层框架,用来管理用户请求和响应,并完成实现系统的大量 界面,l t i b e r n a t e 作为数据层框架,完成线路管理系统实体类与多张数据库表之间 对象关系映射以及数据库事务处理。实现多种子框架彼此既可独立使用,也可切换 到其他框架。真正实现了从传统的由依赖于功能的组件来负责这些功能,到由独立 的框架来配置和提供这些框架的方式的转变。 4 、为了使录入数据准确、规范,本系统采用了标准库的技术支持。标准库包括 设备型号、跨越物类型、生产厂家等。引入标准库后,在系统基础数据录入时,用 户只需从下拉框或弹出框选择即可,而不必手工输入。这样不但可以提高录入速度, 而且可以有效保证录入数据的准确性。 5 、完成系统主体设计后,针对系统各个模块,应用j a v a 开发工具,编写了大 量的j a v a 代码实现多个页面和底层逻辑,完成了系统初期开发工作。 输电线路管理信息系统的开发和应用,可以免去同一数据重复录入给线路运行 人员带来的工作负担,而且可以有效避免数据不统一产生的管理的混乱。 输电线路管理系统的应用,提高了线路管理的效率,减轻了线路管理人员的劳 动强度,为电力企业的规范化、信息化管理提供了保证,为提高电网的安全稳定运 行打下了坚实的基础。 5 华北电力大学硕士学位论文 第二章系统的软件体系结构 2 1 软件的体系结构分析 软件的体系结构包括常用的c s 结构,即客户机和服务器结构以及b s 结构, 即浏览器和服务器结构。 2 1 1 c s ( c ii e n t s e r v e r ) 结构体系 图2 1c s 结构示意图 即客户机和服务器结构,被广泛应用于局域网内部。通过它可以充分利用两端 硬件环境的优势,将任务合理分配到客户端和服务器端来实现,降低了系统的通 讯开销。目前大多数应用软件系统都是c l i e n t s e r v e r 形式的两层结构。但它也存 在一些问题。如系统比较封闭,不同系统之间无法交流;系统维护、升级比较困 难,当服务器程序需要升级时,客户端也需要下载升级包进行升级。 2 1 2b s ( b r o w s e r s e r v e r ) 结构体系 图2 2b s 结构示意图 即浏览器和服务器结构,它是伴随着i n t e r n e t 技术的兴起而发展起来的。用 户工作界面是通过浏览器来实现,极少部分事务逻辑在前端( b r o w s e r ) 实现,但 是主要事务逻辑在服务器端( s e r v e r ) 实现,形成所谓三层结构。它使用通用的 浏览器取代了c s 模式中的客户端程序。这样就大大简化了客户端电脑载荷,减 轻了系统维护与升级的成本和工作量,降低了用户的总体成本,人们只需要在服 务器端配置就可以。 目前在广域网建立b s 结构的网络应用的技术已经比较成熟,它是通过浏览 6 华北电力大学硕士学位论文 器在远端对数据库操作,相对易于把握、成本也是较低的。它是一次性到位的开 发,能实现不同的人员,从不同的地点,通过互联网访问和操作共同的数据库; 它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是应用 j a v a 这样的跨平台语言后,b s 架构管理软件更是方便、快捷、高效因此本系 统最终选择b s 模式。 2 2j 2 e e 的基本技术 创建服务器应用程序和服务的j a v a2 平台企业版,也就是我们常说的j 2 e e 。j 2 e e 是s u n 公司推出的一个开发分布式企业应用系统的平台。j 2 e e 是一种利用j a v a 平 台来简化企业解决方案的开发、部署和管理的体系结构。j 2 e e 技术的基础就是j a v a 平台的标准版,其巩固了标准版中的许多优点,如“编写一次,随处运行”的特点、 方便存取数据库的j d b ca p 等。其融合了大量的技术标准,如j a v as e r v e rp a g e ( j s p ) ,j a v as e r v l e t ,e n t e r p r i s ej a v a b e a n ( e j b ) 等【”】,此外还提供了多层分布式 应用模型、组件复用能力、统一的安全模型和灵活的事务控制等功能。j 2 e e 规范中 定义了以下组件: 客户组件:客户端应用程序和a p p l e t s ; w e b 组件:j a v as e r v l e t 和j a v as e r v l e tp a g e s : 业务组件:e n t e r p r i s ej a v a b e a n s 。 j 2 e e 构架是基于多层体系结构的,如图2 3 ,包括: 客户层:用户层用来与用户交互,并把来自系统的信息显示给用户。j 2 e e 平台支持不同类型的用户。包括h t m l 用户、j a v a a p p l e t s 以及j a v a 程序等。 w e b 层:w e b 层产生表示逻辑,并接受来自客户端的反馈,并根据客户端的 请求,发出对应的响应。在j 2 e e 这平台中,s e r v l e t 和j s p 实现这一层的功 能。 lb r o w s 。| | j s p l a p p l c t j | s c “m lc l i c n ll 刖b 客户层w e b 层 图2 - 3j 2 e e 体系图 数据层:数据层为企业的信息服务系统,包括数据库系统、业务处理系统以 及企业资源计划系统等。数据层是j 2 e e 应用的重要标志。 7 华北电力大学硕士学位论文 2 3j s p 开发模式 如图2 4 是w e b 程序开发采用的是j s pm o d e l1 模式,它是以j s p 为中心,以 j a v a b e a n 封装部分业务逻辑的开发模型。用户通过客户端w e b 浏览器发送的请求, j s p 页面负责接收处用户请求并在处理后直接把响应回传给客户端浏览器。其间一 般会借助j a v a b e a n 处理复杂的的业务逻辑,如连接数据库,并对数据进行操作等【l l l 。 这种模式的最大优点是实现起来比较简单,尤其适合开发一些小的项目,但缺点也 l s p b r o w je d a t & s o l t f c e 、, ,t 一j e 1 ” a p p l i c a t i o ns e r v e re n t e r p r i s es e r v e r 图2 4j s p 设计模式1 显而易见。这种模式虽然将一部分业务逻辑放到j a v a b e a n 中实现,一定程度上实现 代码功能的分离,但是j s p 页面本身同时充当v i e w 和c o n t r o l l e r 两种角色,控制层 和表现层混合在一起,使得j s p 页面变得非常臃肿,不利于代码项目的扩展和代码 的复用。一旦需要修改业务逻辑层,必须重新编译和重新部署客户端层,这使得业 务逻辑的移植成本较高,不利于开发。为了降低开发难度,节省开发时间,人们进 行了很多有益的尝试。 与m o d e l1 模式不同,m o d e l2 模式是近期较常采用的模式,它是m v c 模式一 种具体实现方式,即模型视图控制器模式。如图2 5 。 模型( m o d e l ) :即业务逻辑层,用来实现具体的业务逻辑,状态管理。它包含了 应用程序的核心,封装了程序的业务逻辑以及数据结构,有时也包含状态信息。由 于模型与数据无关,一个模型能为多个视图提供数据,因而使得软件程序员大大减 少了工作量,提高了系统的可重用性。 视图( v i e w ) :即表示层,用来与用户交互的界面,用以完成输入和输出数据的功 能。当模型改变时,视图得到通知,它可以访问模型数据,但是不能更改数据。新 式的w e b 应用中,视图除了由h t m l 元素组成,还可以包括m a c r o m e d i af l a s h 和 x m l 等一些标识语言。在视图中无论多么眼花饶乱,切记,它只是作为输出数据的 一种方式,并不能去处理数据。 8 华北电力大学硕士学位论文 图2 5 m v c 的m o d e l2 设计模式 控制器( c o n t r o l l c r ) :即控制层,用以控制业务流程,实现各种功能。控制器就 相当于整个程序的大脑。接收来自视图的数据后,根据预先的设定,控制器把操作 转发到模型上。调用模型中对应的方法,实现各种功能。之后,再把经过模型处理 后的数据,根据控制器的要求,传回视图。控制器在模型和视图之间还起到了桥梁 的作用。模型和视图甚至可以在不知道对方的情况下,由控制器连接起这两个部分, 从而做到它俩的松散耦合,为以后在不同部分应用不同的框架提供了方便。 m v c 设计模式中,控制器接收客户端w e b 浏览器提交的各种请求,根据不同的 请求,改变模型或视图。同时,视图也可以根据模型发出数据更新的通知来改变视 图效果。而模型也可以通过视图获得的数据来处理具体的业务逻辑。m v c 模式可以 针对需要为同样的数据提供多个不同视图的应用程序m v c ( m o d e l v i e w c o n t r o l l e r ) 模式,它把代码分为强内聚、弱耦合的三部分,共同完成一个特定的功能。 2 4 系统应用选择 2 4 1 服务器选择 t o m c a t 是一个开源的服务器软件,它是一个j s p s e r v l e t 容器,使用t o m c a t 可以实现j s p 和s e r v l e t 的最新规范。t o m c a t 是j a v as e r v l e t2 2 和j e s1 1 技 术的标准实现,是基于a p a c h e 许可证下开发的自由软件。 1 ) 设置简单,容易架设。不需要花费时间将w e b 服务器的连接器整合 至其它的w e b 服务器中。它不需要担心连接器。永远不需要排除在其 它w e b 服务器与t o m c a t 之间的任何性能或联机方面的问题。 2 ) 较佳的安全防护。相对于其它以c 、c + + 所编写的w e b 服务器, t o m c a t 比较能忍受远程缓冲区溢位的攻击。因为t o m c a t 的j a v a 虚拟 机是位于网络及操作系统之间,它可以防止几乎所有类型的缓冲区溢 位攻击。使用t o m c a t 的安全防护领域,可以指定对各个资源的访问。 9 华北电力大学硕t 学位论文 图2 - 6 启动画面 3 ) 容易移植。可以将t o m c a t 服务器( 以及应用程序) 移植到不同的服 务器、操作系统甚至架构上。因为t o m c a t 是以j a v a 编写的,因此可以 将其整个目录结构的内容复制到其它计算机上运行,而完全不需要任何 改变,甚至于新的计算机的架构与原来的不同也一样。 由于t o m c a t 有上述的特点,本系统最终采取以上的服务器。图2 - 6 为t o m c a t 启 动画面。 2 4 2 开发工具选择 由于e c l i p s e 免费、源代码开放以及它的无限扩展性等特点,本系统采用 e c l i p s e3 1 + m y e c l i p s e 作为j a v a 开发工具。e c l i p s e 平台是i b m 公司向开源码 社区社区捐赠的j a v a 程序开发框架,它将编写、编译、调试、运行集成在一个环 境。而且e c l i p s e 具有强大的可扩展性及开放性,最终决定采用此作为开发平台。 图2 - 7 是开发界面。 华北电力大学硕士学位论文 2 4 小结 图2 7 开发界面 在当前开发程序中,采用b s 三层模式已是大势所趋。它后期维护、升级简单, 只需升级w e b 服务器端的程序即可。而不必像原有的c s 程序那样需要同时维护客 户端和服务器端程序。用户只要可以上网,随时可以登录系统,甚至在家也可办公。 j 2 e e 则是一个优秀的技术平台,它为开发人员提供多样的能力和服务,但如何 把这些技术组合应用从而形成一个稳定的构架是开发需要的非常重要的问题。j 2 e e 模式作为一种开发经验的积累,有重要的作用。 在m v c 设计模式中,把应用程序分为模型、视图、控制器三个部分。每个部分 各司其职,互不干扰。提高了系统设计开发的灵活性、复用性以及可维护性。 华北电力大学硕i :学位论文 第三章多种框架在m v c 模式下应用 3 1h i b e r n a t e 框架 一直以来,在j a v a 开发领域中,基于数据库的应用程序都是面向关系的,也就 是与数据库相关的处理过程并没有面向对象。带来的缺点是开发人员必须要编写大 量重复性的代码,以实现对不同数据库表的数据的存取,并将获取到的记录数据封 装成对象,处理完成后,必须先对对象状态存取,先将对象中的数据拆分成数据库 表中对应的字段的值,然后才能向数据库中进行存取操作。直到h i b e r n a t e 的出现, 提供了一个符合面向对象编程思想,易于使用的数据库持久化解决方案。h i b e r n a t e 是一个面向j a v a 的对象关系数据库映射工具。它作为数据库和j a v a 程序中对应 实体类之间的数据层支持,实现实体类和数据库对应的表之间一一对应【1 2 i 。 图3 1 展示了h i b e r n a t e 体系结构,它使用数据库和配置文件数据来为应用程 序提供持久化服务和持久化对象p i 。h i b e r n a t e 中最核心的技术就是o r m 。借助o r m 技术可以把对象模型表示的对象映射到基于s q l 的关系对象模型数据结构中。简而 言之,就是将j a v a 中对象与对象的关系,对应到关系型数据库中的表格与表格之 间的关系,h i b e r n a t e 提供了这个过程中自动化对应转换方案。 a p p l i c a t i o n i p e r s i s t e n t 。场e c t s匕 h i b e r n a t e h i b c r n a t e m 印啪g 卜 p r o p e r t i e s d a t a b a s el 图3 - 1h i b e r n a t e 体系结构 h i b e r n a t e 不仅管理j a v a 类到数据库表的映射,还提供数据查询和获得数据的 方法,节省使用s q l 和j d b c 处理数据的时间。h i b e r n a t e 配备一种查询语言,即 h q l 。h q l 语言与数据库种类无关,为数据库的变更提供了方便。它是完全面向对象 的,要查询的数据都是以对象的形式存在的。不像s q l 语言那样,s e l e c t 后跟的并 不是数据库字段名,而是一个对象。 3 2s t r u t s 框架 所谓框架就是可重用,半成品的应用程序,可以用来产生专门的定制程序。框 华北电力大学硕上学位论文 架鼓励应用采取分层设计。这种设计使应用具有强壮性和伸缩性。s t r u t s 是a p a c h e 软件基金下j a k a r t a 项目子项目,软件工程师用s t r u t s 为业务应用的每一层提供支 持。s t r u t s 使用m o d e l2 架构。s t r u t s 框架的一个关键之处是它扩展了h t t p 请求一 响应循环的流程【1 3 j 。s t r u t s 的a c t i o n s e r v l e t 控制导航流。其他s t r u t s 类,比如 a c t i o n 用来访问业务逻辑类。当a c t i o n s e r v l e t 从容器接收到一个请求,使用u r i 来 决定哪个a c t i o n 将用来处理请求。一个a c t i o n 可以校验输入,并且访问业务层以从 数据库或其他数据服务中检索信息。为校验输入或者使用输入来更新数据库, a c t i o n 需要知道什么值被提交上来。它并不是强制每个a c t i o n 都要从请求中抓取这 些值,而是由a c t i o n s e r v l e t 将输入绑定到j a v a b e a n 中。 s t r u t s 是按照m v c 方式构建的应用体系框架,它继承了m v c 的各项特性,并根 据j 2 e e 的特点,做了相应的变化与扩展。所以也说s t r u t s 是m v c 基本设计模式的 一种变体。体系结构如图3 - 2 : 视图:视图就是一组j s p 文件在视图中没有业务逻辑,没有模型信息,只有标签。 视图中包括的标签可以是标准的j s p 标签或者是客户化的标签,也可以是s t r u t s 的 标签通常,我们会把a c t i o n f o r m 也划分到视图模块中( a c t i o n f o r m 是包括常规方法 以外,还包括了一些用于验证h t m l 表单数据以及将其属性重新设置为默认值的方 法) 。 模型:模型表示应用程序的状态和业务逻辑。对于大型应用而言,业务逻辑通常 由j a v a b e a n 或者e j b 组件来实现。 控制器:在s t r u t s 中的控制器部分细分为a c t i o n s e r v l e t 、f o r m b e a n 、 a c t i o n b e a n 三个部分。其中a c t i o n s e r v l e t ,与s t r u t s c o n f i g x m l 配合,完成页 面导航。a c t i o n b e a n 对象必须是s t r u t sa p i 中的a c t i o n 的子类,该类中加入具体 的业务逻辑、或者调用业务逻辑模块。也可以使用其他构架提供组件实现对象的持 久化。a c t i o n s e r v l e t 类是s t r u t s 框架中的核心组件,在m v c 中扮演中央控制器 的角色,主要负责接收h t t p 请求信息,根据配置文件s t r u t s - c o n f i g x m l 的创建信 息,把请求转发给适当的a c t i o n 对象,如果对象不存在,则创建。a c t i o n 类负责调用 模型的方法,更新模型的状态,并帮助控制应用程序的流程。 华北电力大学硕士学位论文 图3 - 2 s t r u t s m v c 结构图 s t r u t s 也构建于通用的设计模式,特别是m v c 架构。s t r u t s 控制器管理着应用使 用的路径,帮助安全的收集用户输入,并可以本地化应用消息,特别是错误消息。 所以,s t r u t s 是一个富有效率的w e b 应用解决方案。当然,s t r u t s 还有一些缺陷。 许多类名的选择在开发时显得比较轻率,容易引起混淆。 3 3s p r i n g 框架 s p r i n g 是轻量级多层j 2 e e 应用程序框架,s p r i n g 框架是一个分层框架,由7 个定义良好的模块组成“”。如图3 3 ,主要特点如下: 2 ) 国匿 圉圈 s p r i n g 的i o c 模式:s p r i n g 提供了一种新的机制来管理业务对象其依赖 关系,其核心基础是一个轻量级的容器,实现了l o c ( 控制反转) 模式的 功能,i o c 本身不创建对象,但是描述创建它们的方式。在代码中不直接 与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。 s p r i n g 的b e a n 封装机制:s p r i n g 从核心而言,提供一种无侵入式的高 扩展框架。即无需代码中设计s p r i n g 专有类,即可将其纳入s p r i n g 容 器进行管理。s p r i n g 大量引入j a v a 的r e f l e c t i o n 机制,通过动态调用 的方式避免硬编码方式的约束,并在此基础上建立其核心组件 b e a n f a c t o r y ,以此作为其依赖注入机制的实现基础。所谓b e a n f a c t o r y , 1 4 华北电力大学硕士学位论文 负责创建并维护b e a n 实例。它通过1 0 c 将应用程序的配置和依赖性规范 与实际的应用程序代码分开 s p r i n g 独有的1 0 c 模式和s p r i n g 的b e a n 封装机制,以及s p r i n gm v c 结构,使 得s p r i n g 成为w e b 技术的领跑者。s p r i n g 模块构建在核心容器之上,核心容器定 义了创建、配置和管理b e a n 的方式。允许开发人员通过接口编程,使用x m l 文件来 简单的定义其实现。此外s p r i n g 还集成了多个框架( 如h i b e r n a t e s t r u t s ) 等。因 此越来越多的软件设计人员开始使用s p r i n g 框架作为w e b 应用的开发框架。 3 4 小结 本系统中采用s p r i n g 作为整合框架,s p r i n g 有许多类来支持其它框架,如: h i b e r n a t e 和s t r u t s ,s p r i n g 的目标是实现一个全方位的整合框架,在此框架下实 现多个子框架的组合,这些子框架彼此可以独立,也可以切换其他框架,最终实 蚺l 静静 4 段圬 | 磅s s l 爨荆+f 嘞露整雠e l 瓣静 磊赫鲫蟾箍隔会h l 搪h 擒随 s 帆虐,埔,c r 1 可 t f 辨翰商o 妫o 氆菇时 訇煅a 曲 摊搬f l 筑e s 国辅 c o n a 砌o a p i a c t o r :o t t o j s p 酰孵a 够热烈l 掰釉g e 锨l “o 哺口删 貌搏 n 鹅i e 懒s 蜂潞 誊硒鳓斟 e 虻 e 国鞯褥 艟b 群魄s 涨e s 图3 4 系统采用框架 现的目标是一站式服务的框架整合方案。这种模式真正做到了从传统的由依赖于功 能的组件来负责这些功能,到由独立的框架来配置和提供这些框架的方式转变。其 中在表现层使用s t r u t s 框架,用来管理用户请求和响应,提供控制将调用委托到 业务逻辑和其它上游处理并组装在视图中表现的模型对象。而在持久层则采用 h i b e r n a t e 框架。特别需要指出的是,本系统采用的是s t r u t sm v c 结构,而未采用 s p r i n gm v c 结构,是由于有关s p r i n gm v c 的资料过少,且采用s t r u t sm v c 已完全 满足要求。 华北电力大学硕十学位论文 第四章系统数据库设计 随着人们对客观世界认识的深入,表明物质属性的数据的容量越来越大,结构 也越来越复杂。然而如何能快速地对这些数据分类、整理,并找出那些有用的信息。 这就需要采用高速、快捷、简便的数据库处理技术。 由于o r a c l e 是一个面向i n t e r n e t 计算环境的数据库,它是在数据库领域一直处 于领先地位的o r a c l e ( 即甲骨文公司) 的产品。o r a c l e 关系数据库系统是目前世界 上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类 微机环境。 o r a c l e 能够提供关系模式存储和访问数据的方法,因此o r a c l e 是一种关系型数 据库系统( r d b m s ) ,它是关系数据库的倡导者和先驱,是标准数据库语言的产品。 为了访问数据库中的数据。o r a c l e 为所有用户提供一组后台进程,并且,有一 些存储结构专门用来存储最近的有关对数据库访问的数据。这些存储区域可以通过 减少对数据库文件的i o 次数来改善数据库性能。 另外,o r a c l e 数据库管理、数据完整性检查、数据查询性能、数据安全性方面 都具有强大的功能,而且它还为保密机制、备份与恢复、空间管理、开放式连接以 及系统开放工具提供了不同手段和方法1 2 ”。 它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案,考虑到线路管 理系统数据繁杂,因此本系统最终使用o r a c l e 作为数据库开发工具。 4 1 数据库表设计原则 1 、真实性 任何应用系统的设计,其真实性总是第一位的。创建出的数据库应当能非常详 实的反映出现实应用所涉及到的各个环节,即设计必须符合实际应用。 2 、非冗余性 在数据库中不存在任何重复拷贝的属性、记录或文件,这点很难实现,一般只 是在属性层上实现了非冗余性。 3 、简单性 所创建的数据结构应该尽可能简单明了,使用户易懂,这不仅是开发必须的, 对系统后期的维护和升级也是十分必要的。 4 、结构性 数据库设计必须层次分明,分布合理。数据库必须高度结构化,保证数据的结 构化、规范化和标准化【2 ”。 1 6 华北电力大学硕十学位论文 在上述原则中,简单性和非冗余性二者本身是相互抵触的,如果数据结构过于简单, 必然会导致大量冗余数据;反之,如果数据结构无冗余,显然,该结构会很复杂。同时 设计数据存储结构要尽可能提高数据的相对独立性,简化结构,降低数据的维护成本。 因此,在数据库表的创建过程中,要有所取舍,尽量达n - 者的平衡。 4 2 数据库的设计方法 现在数据库设计一般采用的方法是规范化设计准则,将数据库的设计分成不同 阶段,每一阶段完成一定任务,各个阶段之间既独立又联系,其基本思想是过程迭 代和逐步求精。 数据库设计中比较著名的有新奥尔良( n e wo r l e a n s ) 方法,它将数据库设计过 程分为需求分析( 分析用户要求) ,概念设计( 信息分析和定义) ,逻辑设计( 涉及实 现) 和物理设计( 物理数据库设计) 四个阶段瞄1 : 1 、数据库需求分析 需求分析的任务是通过详细调查现实世界要处理的对象( 组织、部门、企业等) , 充分了解原系统( 手工系统或计算机系统) 工作概况,明确用户的各种需求,然后 在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能 仅仅按当前应用需求来设计数据库。 需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、 安全性与完整性要求。 2 、建立概念模型 对需求分析阶段收集到的数据进行分类、组织,最终形成实体和属性,并确定 实体之间的联系。 a 设计局部e r 模式:首先确定局部结构的范围划分,然后形成实体及联系 属性的定义,当多个实体用到同一属性时,将导致数据冗余,一般的处理方法是将 其属性分配给使用频率最高的实体或属性值最少的实体。 b 设计全局e r 模式:主要通过局部e r 模式的合并完成,为此,需要首 先确定各局部结构中的公共实体类。一般较好的合并方法是:先选出最大的一个局 部模式做基础,再将其他局部模式逐一合并上去。其间要解决的问题是局部模式间 的冲突。 c 全局e r 模式的优化及评审:其作用是减少实体及实体的属性,使实体间 的联系无冗余,同时检查概念模型是否准确完整地反映了用户的信息需求和现实世 界事物属性间的固有联系。 3 、物理结构设计 设计的主要内容有:数据的存储结构、存取路径选择、存储分配、数据库恢复 1 7 华北电力大学硕士学位论文 方式等。 4 3 输电线路系统数据库表设计 4 3 1 需求分析 1 、需求概况 输电线路信息对象大致分为两类:即主设备,如线路、杆塔等;另一类为辅助 设备,如连接线,防震锤、地线等附属设施。系统主要是为线路管理人员服务的, 提供给用户所需的线路信息主要有线路信息、杆塔信息、杆段及其附属设备信息、 线路运行记录等。同时要满足管理人员对线路、杆塔信息查询统计的需求。 经过认真的对线路管理应用的分析,本系统将台帐管理分为线路台帐管理、杆 塔台帐管理、杆段台帐管理三部分。其中线路台帐管理部分包括记录线路名称、运 行单位、电压等级、起点类型、终点类型、线路长度,线路是否同杆并架、线路概 况等信息。可以按电压等级、线路名称查询某条线路。还可以打印查询结果报表, 从基层线路管理部门到上级线路管理部门均可使用,能对线路数据录入、审核汇总、 查询和打印等,具备修改时间、修改人的数据的保存。实体一属性图如下: 图4 - 1 线路实体一属性图 杆塔台帐管理部分包括记录杆塔名称、污秽等级、杆塔材料、杆塔形式、固定 方式是否换向、杆塔型号杆塔编号等信息。可以按照某条线路、某杆号查询该杆塔。 同样对杆塔信息可以统计和查询。实体一属性图如下: 户圈 1 8 华北电力大学硕士学位论文 图4 2 线路杆塔实体一属性图 杆段台帐管理包括记录杆段编号、所在线路名称、跨越物单位、跨越物名称、 导线型号等。根据杆段编号可以查询此杆段,同时打印该杆段信息,实体一属性图 如下: 4 3 2 系统结构设计 图4 - 3 线路杆段实体一属性图 系统所需的主要数据库表如下: 库表代码 库表名称 c _ d e 虻 o l t a g 置l e v e l 电压等级表 c _ c o m _ d i r t i n e s s _ l e v e l 污秽等级表 m o r g d e p a r t m e n t s部门表 m _ d e v _ t r a n s l i n e _ c o l o r s i g n线路色标维护表 m d e 虻乃r a n s l i n e c r o s s o b j 跨越物类型表 m d e v _ t r a n s l i n ep h a s e s e q u e n c e相序表 m _ d e vt r a n s l i n e s p a n :n p e 线路架设方式表 m d e vt r a n s l i n el 1 s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论