(通信与信息系统专业论文)基于数据交换与共享的城轨安全管理系统设计与实现.pdf_第1页
(通信与信息系统专业论文)基于数据交换与共享的城轨安全管理系统设计与实现.pdf_第2页
(通信与信息系统专业论文)基于数据交换与共享的城轨安全管理系统设计与实现.pdf_第3页
(通信与信息系统专业论文)基于数据交换与共享的城轨安全管理系统设计与实现.pdf_第4页
(通信与信息系统专业论文)基于数据交换与共享的城轨安全管理系统设计与实现.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(通信与信息系统专业论文)基于数据交换与共享的城轨安全管理系统设计与实现.pdf.pdf 免费下载

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

文档简介

j g塞銮适太堂亟圭堂僮 论塞 虫塞揸墓 中文摘要 摘要 轨道交通是现代化城市交通的重要组成部分 其速度快 容量大 全天候 的特点使之成为各大城市发展公共交通的必然选择 在城市公共交通的发展进程 中 最重要的一个环节就是交通运营安全环节 这就使得城轨安全管理系统的建 设成为各类交通信息系统中一个最重要的系统之一 通过对城轨交通有关部门的 调研发现 现有的安全相关的子系统最突出的问题是 由于建设时间的不同导致 其缺乏设计规范性 接口不统一 系统与系统之间存在大量的异构数据 其孤立 的数据源导致数据的交换异常困难 信息的获取方式效率非常之低 本课题的目 的就是要设计并实现一个基于数据交换和共享的城轨安全管理系统 用合理的解 决方案来改变目前这种现状 本论文通过对近年来较为先进的软件架构技术和数据交换相关技术的研究 结合城轨安全相关部门的实际情况 总结归纳了城轨安全管理的业务需求和设计 目标 对业务功能进行了深入分析 在此基础上设计实现了系统 系统基于数据 交换和共享技术 致力于实现系统内部子系统问数据库的异构数据交换和系统与 外联系统之间的信息共享 在技术上 系统采用j a v a 消息服务和x m l 标准文档 实现了系统内部的异构数据交换引擎 并且在保证数据交换质量的前提下 通过 r s s 技术进行信息聚合实现了外部关联系统的信息订阅 达到了不同系统间互联 互通的目的 架构方面 城轨安全管理系统的主控系统和过程控制系统采用了轻 量级j 2 e e 框架架构 用h i b e r n a t e 和s p r i n g 框架实现了持久化数据对象的构建和 松耦合业务逻辑的构建 为业务增加了灵活性 优化了对安全管理的配置流程 除了系统本身功能的研发 本文还充分考虑了对遗留系统的兼容性 在北京 城轨安全管理相关子系统中 相当一部分已经处于运行状态 并且由于其在日常 运营中的重要性 不允许对这些子系统进行停机维护和大面积修改 在这种情况 下 本文通过适配器模式对遗留的b a s 子系统进行了适配接入 达到了统一和规 范系统功能接口的目标 目前系统第一期的核心功能已基本开发完毕 目前处于试运行阶段 整个软 件运行稳定 各种功能测试均符合项目需求和设计初衷 关键词 城轨安全管理 数据交换 x m l j a v a 消息服务 简易信息聚合 分类号 t p 3 1 9 a bs t r a c t a b s t r a c t r a i lt r a n s i ti st h em o s ti m p o r t a n tc o m p o n e n to ft h em o d e mu r b a n t r a n s p o r t i t sh i g hs p e e d h u g ec a p a c i t ya n dw e a t h e r p r o o ff e a t u r e sh a se n a b l e di t s e l fa n i n e v i t a b l ec h o i c eo ft h ep u b l i ct r a n s p o r td e v e l o p m e n t i nm e t r o p o l i s t h em o s ti m p o r t a n t p a r ti np r o c e s so ft h eu r b a nt r a n s i td e v e l o p m e n ti ss a f e t y w h i c hm e a n st h es a m e r e l a t i o n s h i pb e t w e e ns a f e t yi n f o r m a t i o nm a n a g e m e n ts y s t e mo fu r b a nr a i l w a yt r a n s i t a n do t h e rk i n d so fi n f o r m a t i o ns y s t e mi nt r a n s i ts y s t e m t h ep r o m i n e n ti s s u e b y i n v e s t i g a t i n gt h er e l a t e dd e p a r t m e n t i st h ee x i s t e n c eo fah u g em a s so fh e t e r o g e n e o u s d a t aa n dt h ei s o l a t e dd a t as o u r c e w h i c hl e dt o g r e a td i f f i c u l t yi nd a t ae x c h a n g i n g p r o c e s s t h el a t t e ri san e c e s s a r yc o n d i t i o nt h a tc a u s e dt h ep o o ri n f o r m a t i o na c c e s s e f f i c i e n c y t h eo c c u r r e n c eo fs u c has i t u a t i o ni sd u et ot h el a c ko fn o r m a l i z a t i o nd e s i g n a n du n i f o r mi n t e r f a c ec a u s e db yt h et i m ev a r i a t i o ni nb u i l d i n gt h ee x i s t i n gs y s t e m s t h e m a j o rp u r p o s eo ft h i st h e s i si st od e s i g na n di m p l e m e n tas a f e t yi n f o r m a t i o n m a n a g e m e n ts y s t e mo fu r b a nr m l w a yt r a n s i tb a s e do nd a t ae x c h a n g ea n ds h a r i n gt o p r o v i d er e a s o n a b l es o l u t i o n st ot h e s ep r o b l e m s i nt h i st h e s i s as a f e t ym a n a g e m e n ts y s t e mo fu r b a nr a i l w a yt r a n s i tw i t hh i g h l y e f f i c i e n td a t ae x c h a n g i n ga n di n f o r m a t i o na g g r e g a t i o nf u n c t i o nw a sd e s i g n e da n d i m p l e m e n t e d t h es y s t e mi se s t a b l i s h e do nt h eb a s i so fs t u d yo ft h es t a t eo fa r ts o f t w a r e t e c h n o l o g i e sa n dt h ep r a c t i c a ls i t u a t i o no ft h es a f e t yd e p a r t m e n to fu r b a nr a i lt r a n s i t w h i c hh e l p e de n o r m o u s l yi nt h es u m m a r i z a t i o no ft h eb u s i n e s sr e q u i r e m e n ta n dd e s i g n o b j e c t i v e t h es y s t e m w h i c hi sb a s e do nd a t ae x c h a n g ea n ds h a r i n gt e c h n o l o g y a i m sa t t h eh e t e r o g e n e o u sd a t a e x c h a n g eb e t w e e nt h ed a t a b a s eo ft h ei n t r as y s t e ma n d i n f o r m a t i o ns h a r i n gw i t ho t h e rr e l a t e ds y s t e m s i nt e c h n o l o g y ad a t ae x c h a n g ee n g i n e w a si m p l e m e n t e d 析mj a v am e s s a g es e r v i c ea n dx m ld o c u m e n ta n di no r d e rt or e a l i z e t h ei n t e r c o n n e c t i o nb e t w e e ns y s t e m s r s st e c h n o l o g yw a su s e dt o i m p l e m e n tt h e i n f o r m a t i o na g g r e g a t i o n w i t ht h ep r e m i s eo ft h eq u a l i t ya s s u r a n c eo ft h ed a t ai n c l u d e d t h es y s t e mw a sa r c h i t e c t e db yl i g h t w e i g h tj 2 e ef r a m e w o r kt h a te n a b l e dt h ep e r s i s t e n c e o fd a t aa n dd e c o u p l i n go fb u s i n e s sl o g i c w h i c hi n c r e a s e dt h e f l e x i b i l i t yo fb u s i n e s sa n d o p t i m i z e dt h ec o n f i g u r a t i o np r o c e s so fs a f e t ym a n a g e m e n t i na d d i t i o nt ot h ef u n c t i o nr e q u i r e d t h ed e s i g no ft h e s y s t e mh a sg i v e nf u l l c o n s i d e r a t i o nt ot h ec o m p a t i b i l i t yw i t hl e g a c ys y s t e m a si n v e s t i g a t e d s e v e r a lr e l a t e d s u b s y s t e mo fb e i j i n gu r b a nr a i ls a f e t ym a n a g e m e n ts y s t e mw e r eo nt h ed a i l yr u na n d w e r en o ta l l o w e dt os t o pr u n n i n gt oi m p l e m e n tn e wc o n f i g u r a t i o na n dm a i n t e n a n c e u n d e rs u c hac o n d i t i o n t h et h e s i sh a sr a i s e das o l u t i o nt oa c c e s st h eb a s l e g a c ys y s t e m w h i c hh a sa r c h i v e dt h ep u r p o s et ou n i f yt h ei n t e r f a c e so ff u n c t i o n s s of a r t h ef i r s ts t a g eo ft h ec o r ef u n c t i o nh a sb e e nd e l i v e r e da n dt h es y s t e mi so n t h ep i l o t 吣w h i c hp e r f o r ms o l i d l ya n da r c h i v e sa l lt h er e q u i r e m e n t sa n do r i g i n a l i n t e n t i o no fd e s i g n k e y w o r d s u r b a nr a i ls a f e t ym a n a g e m e n t d a t ae x c h a n g e x m l j m s r s s c l a s s n o t p 3 1 9 v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果 除了文中特别加以标注和致谢之处外 论文中不包含其他人已经发表或 撰写过的研究成果 也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料 与我一同工作的同志对本研究所做的任何贡献均己在论文中作 了明确的说明并表示了谢意 学位论文作者签名 喝绣烁 签字日期 7 尹年髟月i7 日 4 9 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留 使用学位论文的规定 特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索 葶采用影印 缩印或扫描等复制手段保存 汇编以供查阅和借阅 同意学校向国 家有关部i j 或机构送交论文的复印件和磁盘 学位论文作者签名 谭舞媳 签字日期 伽 9 年6 月l 7 日 导师躲鲰 一 签字日期 优7 年石月 7 日 l 引言 1 1项目研究背景 1 1 1城轨安全管理的重要性 随着经济的发展和城市人口的增加 人们对交通出行提出了更高的要求 城 市轨道作为大众交通工具的职能越发凸显其重要性 作为贯穿城市的大动脉 城 市轨道运行的安全性甚为关键 城轨交通系统的作用 性质和特点决定了城轨交 通系统必须把安全和安全管理放在各项工作的首要位置 1 1 2城轨安全管理系统发展现状 纵观城轨安全管理可以采取的各种手段 信息化毫无疑问是最为有效的解决 方式 通过管理信息系统的建设 对城轨安全管理相关的信息进行整合 对交通 设备 相关岗位上的人员 环境参数等进行监控是提高城轨交通安全系数必须经 历的一个过程 目前 国内已具有轨道交通的大中城市基本上已经实施了安全管理的信息化 工程 各大地铁 轻轨运营公司都为其线路和车站配备了设备监控系统和信息管 理系统 各部门对信息系统的重视程度也越来越高 城轨安全管理的信息化已初 具规模 1 1 3现行安全管理系统存在的问题 现行的城轨安全管理系统虽然对各个环节都给予了足够的重视 并且花了大 量时间进行信息化的建设 然而安全隐患却依然存在 安全管理人员依然抱怨数 据传递的滞后和信息的不透明 通过对国内多个城市轨道运营公司的详细调研 可以发现 现行的城轨安全管理系统最大的缺陷就在于系统间互联互通的缺乏 在城市轨道交通各信息系统中包含了大量厚重的信息资源 各种监控数据 庞大 的通信网络 各种数据库系统 支持各部门业务管理的应用软件 然而由于这些 系统建设和实施数据管理系统的阶段性 技术性以及其他因素的影响 导致大量 数据的存贮方式不同 包括采用的数据库管理系统以及操作系统上也存在极大差 异 各系统自成体系 各自为政 无法实现系统间信息的交互和融合 形成了一 个个的信息孤岛 各个系统的互操作性也无从谈起 要实现城轨安全信息的高效 管理 减少安全事故带来的经济损失 就需要建设立体化 全方位的安全管理系 统 解决资源共享和异构信息互联互通等问题 充分开发利用各类信息数据 为 安全部门提供充分 及时 可靠的决策支持u 1 1 2 1 1 2 课题研究意义 本课题旨在针对现行安全管理系统存在的问题 构建一个综合安全管理平台 对城轨安全信息的管理模式进行重构 优化设计动态信息的采集和处理 实现遗 留子系统的无缝接入 并重点研究实现城轨安全系统内部的数据交换和外部的信 息聚合 从几个方面保证信息流畅 高效的传递 系统的研究解决了现有城轨安全管理系统的接口不统一问题 数据交换问题 和信息聚合问题 从根本上改变了城轨安全管理的运作模式 大幅度提高了安全 管理的效率 研究成果对于目前已有城轨设施的城市以及即将建设城轨交通的大 中城市具有指导性的作用 1 3论文研究内容与章节安排 第l 章引言 本章介绍了项目的背景和研究意义 对国内城轨安全管理的现 状作了分析 对论文的主要工作和论文结构做出了规划 第2 章系统架构与数据交换技术介绍 本章对项目中将要使用的轻量级 j 2 e e 架构 j a v a 消息服务 x m l 解析技术和r s s 订阅技术进行了研究 结合本 项目分析了这些技术的要点 第3 章城轨安全管理系统概述 本章对城轨安全管理系统的体系结构做了介 绍 并对项目的需求进行了详细的分析 并给出了软件设计方案 第4 章系统设计与关键技术实现 介绍系统关键模块的实现方案 包括硬件 平台的搭设 动态安全数据的采集 遗留b a s 系统的接入 主控系统与f a s 子系 统间的异构数据交换以及外联系统消息订阅的实现 第5 章总结与展望 1 4本章小结 本章简要介绍了城轨安全管理的重要性以及目前城市轨道安全管理系统建设 2 的状况和缺陷 由此奠定了课题的研究方向以及课题的意义所在 最后介绍了本 文的主要工作以及论文的结构 2 系统架构与数据交换技术介绍 上一章对项目背景的研究分析表明 目前城轨安全管理系统的建设要解决的 重要问题在于现有系统数据的整合以及各部门之间信息的共享 而大量现存数据 和信息的异构又使得直接通过数据库进行交换和共享变得极其困难 甚至于在技 术上不可能实现 在此种情况下 采用跨平台的x m l 标准文档和r s s 文档来解 决上述难题是非常合适的 通过x m l 与j a v a 消息服务实现内部数据交换引擎 r s s 实现外联系统的信息聚合 并且通过轻量级的j 2 e e 架构对系统整体加以实现 非常好地解决了数据交换和信息共享问题 此外 利用轻量级j 2 e e 架构对信息采 集模块进行设计比起传统的设计方案更具灵活性 使得业务的变更更加容易 本章即对系统将要使用的上述架构技术和数据交换技术作较为详细的介绍 2 1系统架构技术介绍 2 1 ij 2 e e 简介 j 2 e e 指适用于创建服务器应用和服务的j a v a2 平台企业版 j a v a2p l a t f o r i l l e n t e r p r i s ee d i t i o n 它利用j a v a2 平台来简化企业级应用解决方案 为其提供开发 部署和管理相关的复杂问题 j 2 e e 与j 2 s e j a v a2p l a t f o r ms t a n d a r de d i t i o n 相比 继承了其平台无关性的优点 所有代码运行在j v m j a v av i r t u a lm a c h i n e j a v a 虚拟机 上 实现了 一次编写 随处运行 的目的 同时 j 2 e e 提供了对e j b e n t e r p r i s ej a v a b e a n s j a v as e r v l e t sa p i j s p j a v as e r v e rp a g e s 以及x m l 技 术的全面支持 并提供中间层集成框架来满足需要高性能 高可靠性和高扩展性 的应用例 j 2 e e 为搭建具有可伸缩性 灵活性 易维护性的企业级应用提供了良好的机 制 其优势有以下几点1 6 1 跨平台 j 2 e e 独立于机器的编程语言特性使得应用程序在企业信息系统 中更加容易运行于不同的操作系统上 大大方便了应用程序之间的交互和集成 2 安全性 j 2 e e 提供了严密的安全机制 尤其是针对w e b 程序使用了多重 的安全保障机制 相对安全漏洞更多的 n e t 平台来说 j 2 e e 框架搭建的程序的安 全性更好 更不易被入侵 3 模块化和扩展性 j 2 e e 中的应用是通过 组件 来搭建的 程序由相互 连接的组件组成 组件之间可以通过导入类或远程调用来连接 组件的编译和执 行都相对简单 同时 由于组件之间便于组合 j 2 e e 程序有很强的复用性 j 2 e e 客户端一服务器 程序将不同功能的程序分成模块 每种模块都有其标准的设置 方法 使得程序结构更清晰 程序扩展更方便 4 高效的开发 j 2 e e 允许把一些通用的 很繁琐的服务器端程序搭建交给 中间件去完成 把重复的劳动和中间架构交给开源框架 这样开发人员可以集中 精力在创建商业逻辑上 缩短了开发时间 高级中间件可以提供状态管理服务 数据持久化服务及业务逻辑结构搭建等服务 5 易操作性 除了j a v a 提供的a p i 应用程序接口 j 2 e e 还提供了额外 的又来构建企业级应用的风格一致的a p i 以及完整的配套文档 开发和维护人员 能够很容易的理解和使用这些a p i 6 便于部署 j 2 e e 应用一般用独立与代码之外的部署描述文件来配置部署 的参数 并支持开源的程序打包和部署工具 极大地提高的程序部署的效率 2 1 2 轻量级架构技术 轻量级j 2 e e 架构是对传统的j 2 e e 应用的一种效率优化架构模式 保留了传 统j 2 e e 架构风格 但抛弃了一些复杂的组件如e j b 等 这种架构模式主张程序的 简约实用 反对不顾应用的需求和强度 盲目采用传统的j 2 e e 架构方式 因为后 者既消耗了大量的资源 提高了成本 还使开发人员的产出效率受到极大影响i 2 1 2 1 技术 依赖注入嗍 最新一代的轻量级容器使用一个共同设计原理 依赖注入 这是一个非常简 单实用的思想 依赖注入将对象以及此对象所依赖的类交给依赖注入容器 后者 创建所有对象并绑定相关信息 比如 称为d a t a a c c e s s 的数据访问对象需要一个 称为d a t a s o u r c e 的数据源 那么该容器会一同创建它们 并设置一个属性 这种手动实现依赖注入的方法在轻量级开发中常常使用框架替代 后者可以 提供更便捷的代码编写并提供配置的支持 s p r i n g 框架就包含一个应用非常广泛 的依赖注入容器 而其他的很多框架如j s f p i c o 也利用了依赖注入 面向方面编程 9 1 使用面向方面编程 a o p 可以编写通用的功能性模块 例如日志 事务 安全或持久性 这些模块就是所谓的方面 运用a o p 的思想进行编程可以将这些 方面联系到p o j o p l a i no l dj a v ao b j e c t 简单j a v a 对象 并可以指定时间点 如 方法开始时或产生异常时 和另一个需要联系的方面 这些工作是通过配置文件 来完成的 而不是通过编写代码 依靠a o p 的这种能力 可以使程序具有更高的 灵活性 可扩展性以及更低的耦合性 s p r i n g 即是一个完全支持面向方面编程的框架 其具体功能将在后面介绍 使用s p r i n g 和数据持久框架完全可以取代e j b 或者最小化它的作用 使程序灵 活性达到最高而开发难度和成本降至最低 这正是轻量级架构带来的优势 透明持久化 1 0 持久 是指将数据保存至存储设备中 例如 磁盘 持久化的主要目的是 把内存中的数据存储到关系型的数据库中或磁盘文件 x m l 文件中等等 持久性是建立在较简单的编程模型之上 透明持久性框架通过配置而不是编 写代码 来使为应用程序添加持久性 因为大多数应用程序是面向对象的 并且 访问一个关系数据库 目前的顶级持久性解决方案是开源框架h i b e r n a t e 轻量级 架构就是在使用以上几种技术的基础上合并其他过程 技术和原理 选择较简单 的技术 在一个稳固的基础上进行构建 2 122 架构层次 在轻量级架构中 大多数应用程序组织起来都是为了支持一组公共层 位于 下面的层为与之相邻的上一层提供一组服务 并尽量对上层保持透明 图2 1 给出 了企业应用程序的一组公共层 7 1 困 困 困 困 图2 一l 轻量级架构分层 f i g u r e2 1l a y e r so fl i g h t w e i g h ta r c h i t e c t u r e 表示层为用户界面提供所需的逻辑 许多逻辑都是为了格式化并显示信息 并通过少量的代码与下层进行数据交互 例如j s p j a v as e r v e rp a g e 表示层还 对外公开由应用层实现的操作 应用层为特定的应用程序提供实现逻辑 应用层是介于表示层和业务层之间 的中间层 业务层遵守商业规则并保护数据层 业务层为显示和更改数据层提供了一组 6 共享组件 当有多个应用程序适用于数据时 业务层还提供混合及聚合服务 轻 量级架构技术中的依赖注入方法即是在这一层体现出来 数据层代表被业务层访问的基础数据 业务层通常将关系数据库中的数据用 o r m o b j e c t r e l a t i o nm a p p i n g 对象一关系映射 封装为对象以实现其持久化 保 证对数据操作的简易性 2 1 2 3 s p r i n g 框架 s p r i n g 是为了解决企业应用程序开发复杂性而创建的一个开源框架 它有一个 轻量级容器 让开发人员能够组织业务对象 d a o 和资源并使用集中而简单的 x m l 文档进行配置 框架使开发人员得以利用对象和服务去用规范的方式整合开 发企业级的应用 其中用代码实现了很多被证明是最佳实践的设计模式 s p r i n g 框架包括图2 2 所示的六个功能模块 l i 图2 2s p r i n g 框架功能结构 f i g u r e2 2t h ef u n c t i o n a la r c h i t e c t u r eo fs p r i n gf r a m e w o r k s p r i n g 两个最主要的特性就是面向方面编程 a o p a s p e c to r i e n t e d p r o g r a m m i n g 和依赖注入 d e p e n d e n c yi n j e c t i o n 容器 s p r i n ga o p 封装了符合 a o p 联盟标准的a o p 实现 开发人员可以定义方法拦截器或是切点来降低代码的 耦合 并且可以通过s o u r c e 1 e v e l 的元数据功能将各种操作整合到代码中 依赖注 入容器提供了依赖注入特性 用一个b e a n f a c t o r y 实现了工厂模式 允许在开发中 彻底地从程序逻辑中解除依赖关系 达到低耦合的设计要求 2 1 2 4h i b e r n a t e 框架 h i b e r n a t e 是一个开源的数据持久层框架 他提供了强大 高性能的对象到关 系数据库映射的持久化服务 在h i b e r n a t e 的支持下 开发人员可以按照j a v a 的语 言特征 在持久层的开发中运用关联 多态 集成 组合等方法 而h i b e r n a t e 提 供的h q l h i b e r n a t e 查询语句 是面向对象的查询语言 利用h q l 进行查询使 得对象型数据和关系型数据紧密结合 提高了编写查询语句的效率1 1 2 2 2 数据交换技术介绍 2 2 1x m l 解析技术 2 2 1 1x m l 简介 x m l e x t e n s i b l em a r k u pl a n g u a g e 即可扩展标记语言 是一种精简的s g m l s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e 标准通用标记语言 它的出现与互联网 的快速发展密不可分 x m l 与h t m l 很相似 后者同属s g m l 的衍生物 然而 h t m l 有几个致命的缺陷导致人们需要另一种s g m l 语言来实现更多的功能 首 先 h t m l 只是实现了s g m l 文档标准化的思想 却不支持可扩展的特性 用户 在h t m l 中无法加入自定义的标记 其次 h t m l 的语义性差 它并不能够对标 记中的数据进行属性定义 使得程序无法对其文档进行搜索和识别 也就不能对 文档中包含的数据进行处理 最后 h t m l 不支持多国文字 对非英语国家的用 户来说 在一定程度上阻碍了互联网的发展 于是在1 9 9 8 年二月 w 3 c 组织发布 了x m l 以支持标准化文档的可扩展性 语义性和本地化特性 x m l 和h t m l 在数据格式上非常相似 整个文档都是由若干元素组成 每个 元素可以包含若干个子元素 依次嵌套 并且采用纯文本格式 可以用任意文本 编辑器读写 最重要的是 他们都不依赖于某个特定的平台 在任何环境都可以 与用户和程序交互数据 而他们的区别 或者说是x m l 超越h t m l 之处 在于 x m l 侧重于数据的储存以及与程序的交互 而h t m l 则侧重与数据的表现 x m l 具有自描述性 每个x m l 文档都包含一个文档类型声明 所以其表示数据的方式 真正的做到了与平台无关 x m l 的语义性和结构性极强 能够以有丰富意义的语 义来表达及其复杂的数据结构 x m l 的可扩充性使得使用者可以创建和使用自己 的标签 其国际化特性使得不同的语言可以写入x m l 并发生交互 l 训 2 2 1 2x m l 解析技术 x m l 的特性使其能够被各种应用程序处理 而所有的x m l 处理都必须从解 析开始 x m l 的解析 就是用编程语言读入文档 将其解结构分解 检索其信息 j a v a 平台提供了两种x m l 解析a p i 他们分别是d o m 和s a x 其中前者是面向 对象模型的编程接i e l 后者是面向事件的编程接口1 1 5 1 这两中a p i 提供了功能相 8 同的服务 即文档解码 可选择的验证 名字空间解析等等 其差别在于a p i 使 用的数据模型 j a x p 是一个j a v aa p i 它封装了一些常用的x m l 解析方法 其 中包括d o m 和s a x 以下是几种x m l 解析方法的介绍和分析 1 4 1 d o m d o m d o c u m e n to b j e c tm o d e l 文档对象模型 是一个w 3 c 发布的标准规范 它是一个与浏览器 平台和语言都无关的接口 是一个使程序和脚本有能力动态 地访问和更新文档的内容 结构以及样式的接口 d o m 是基于信息层次文档组织方式 所以被认为是基于对象的文档模型 这 种文档模型以树形的层次结构来组织节点 应用程序可以从这个树形的导航中检 索需要的信息 d o m 的主要优势在于其易用性强 使用d o m 时 首先把所有的x m l 文档信 息都读取到内存中 通过a p i 对于内存中的树形结构进行读取和处理 遍历简单 开发人员利用d o m 对x m l 文档进行处理 可以使编程难度大大降低 提高开发 速度 d o m 的缺点主要表现在 由于其解析方式导致必须加载整个x m l 文档才能 开始解析 效率低 解析速度慢 内存占用量过高 对于大文件来说处理非常困 难 使用d o m 进行解析时 将为文档的每个元素节点都创建一个对象 这样在 d o m 解析时 j a v a 将大量的创建和销毁对象 必然导致程序的运行速度大幅度降 低 2 s a x 解析技术 d o m 虽然可以读取和操作x m l 文档 并且是w 3 c 的标准方法 然而其在设 计上存在一定的缺陷 在读取x m l 的时候 d o m 必须读取整个文件 然后将其 存在一个树形的结构中 这样做的效率十分底下且将消耗大量的系统资源 s a x s i m p l ea p if o rx m l 即x m l 简单a p i 它是读取x m l 文档的替代 d o m 的最好技术 它允许在读取文档的同时对文档进行处理 不必等整个文档被加 载后再进行操作 从而节省时间和c p u 这一点与流媒体非常相似 由于程序只 是在读取数据的时候检查数据 所以数据无需被存储在内存中 从而又节省了内 存 这一点在处理大文件的时候优势非常明显 s a x 与d o m 最大的区别就是 s a x 是一个基于事件的处理器 它并不关注 x m l 文档的树形结构 其提供的访问模式是一种顺序访问 当使用s a x 分析处 理x m l 文档的时候 会出发一系列事件 并激活这些事件的处理函数 s a x 的 驱动事件包括 元素声明开始 属性声明开始和注释声明开始等等 应用程序遇 到这些事件时 通过回调 c a l l b a c k 将事件返回应用程序 后者用事先定义好的 函数对事件进行处理 9 在城轨安全管理系统中 由于信息量大 x m l 文档的体积大 如果用d o m 来解析x m l 必然导致服务器的负担加重 甚至会因内存问题导致宕机 所以 用s a x 解析方法来读取x m l 能够保证系统的稳定运行 提高程序的整体速度 3 脚 j a x p j a v aa p if o rx m l p r o c e s s i n g 是指x m l 文档处理a p i 它允许使用 几种不同的a p i 来解析x m l 其自身并没有提供新的x m l 解析方法 而是封装 了几种常用的解析方法 其中就包括d o m 和s a x j a x p 是一个抽象层a p i 它 使得用d o m 和s a x 进行x m l 解析的任务变得更加容易 j a x p 运用了工厂模式来对x m l 解析器进行选择 选择不同的工厂类就会有 不同的处理方法 工厂类实际上是一个标准设计模式 可以根据需要自行修改 利用j a x p 可以使用d o c u m e n t b u i l d e r f a c t o r y 来建立d o c u m e n t b u i l d e r 类 或者 使用s a x p a r s e r f a c t o r y 来建立s a x p a r s e r 类 这些操作只需通过实例化不同的工 厂类就可以完成 大大降低了开发的难度 2 2 2j m s 规范 j m s j a v am e s s a g es e r v i c e 即j a v a 消息服务 它是s u n 公司为统一面向对 象的消息中间件提出的一种j a v a 消息服务的规范 它提供支持多厂商的a p i 对消 息进行创建 发送 接收和读取f 1 5 j m s 的工作机制如图2 3 所示 图2 3j m s 工作机制 f i g u r e2 3p r i n c i p l eo f j m s 连接工厂负责创建客户端到特定的j m s 服务组件提供的消息连接 通常将连 接字符串的索引注册到j n d i j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e j a v a 命名和目 录接口 服务中 工厂创建连接的时候通过j n d i 来查找这些对象 s e s s i o n 运行 于j m s 服务器上 负责创建消息和消息的发送者及接收者 每个s e s s i o n 对应于一 个线程 j m s 多线程的框架支持了消息的监听模块的功能 1 0 j m s 的消息结构如图2 4 所示 图2 4j m s 消息结构 f i g u r e2 4j m s s t n l c n i f e 由消息头 属性 消息体组成 消息头 表2 ij m s 消息头字段 t a b l e2 1f i e l d so fj m sm e s s a g eh e a d 瓢篡募 嚣 说朔 三毫纛爱i j 黧鬈消息头字段 三二 j m s d e s t i n a t i o n 消息的目标 j m s d e l i v e r y m o d e消息持久保存或不保存 j m s e x p r i a t i o n 消息过期前时间 j m s p r i o r i t y 消息的优先级 j m s m e s s a g e l d 消息唯一标识 属性 标准属性 在有效的 可选的头域中定义的一些标准属性 应用程序指定属性 提供为消息应用程序添加属性的功能 提供者指定属性 将提供者指定属性结合至j m s 客户端 消息体 表2 2j m s 消息体字段 t a b l e2 2f i e l d so fj m sm e s s a g eb o d y 翳口r j n 一 z 4p 甚囊 三鍪 囊器薹鬟墨季黧l 消息体囊段纛砖 s t r e m m e s s a g e 输入输出流 m a p m e s s a g e 字段名 值对应的字符串 t e x t m e s s a g e s t r i n g 类型的数据 o b j e c t m e s s a g e可序列化的j a v a 对象 b y t e m e s s a g e 为提供解释的字节流 2 2 3r s s 聚合技术 r s s 规范描述了一个x m l 文档 这是一个标准的 开放的内容收集机制 这 种机制通过将网络上一个地址或域名中的所有内容看成一组频道 c h a n n e l 的集 合来按其序列收集资源 现今存在过的r s s 有几个不同的版本 本文论述的对象 为r s s 2 0 版本 即简易信息聚合规范 r e a l l ys i m p l es y n d i c a t i o n r s s 规范在互 联网上的应用非常广泛 主要应用与网站新闻或博客的订阅 如非常著名的g o o g l e 公司的聚合式阅读器 然而在企业级应用中 r s s 很少被尝试使用到 事实上 r s s 在企业应用中的合理采用将大幅度提高业务处理的效率 同时 r s s 开发和 运维成本又相对较低 所以不失为一种极具价值的企业应用技术 1 6 1 r s sf e e d s 是指由输出内容的网站或信息系统利用r s s 规范输出一个描述网 站内容的x m l 文档 r s sf e e d s 为信息的收集者提供了一个规范的信息序列 客 户端通过对这份x m l 文档进行解析就可以提取出服务器端所提供的信息 如图 2 5 所示 远程数据库 图2 5r s sf e e d s 原理 f i g u r e2 5t h ep r i n c i p l eo fr s sf e e d s 订阅者向信息源的某一个频道发出一个订阅请求 收到请求后 信息源将定 时把该频道对应的r s s 文件通过网络提供给订阅者 使其保持更新 通过这种订 阅方式 订阅者就无需定期访问远程服务器 查看远程数据就如同在本地完成 首先来看一下没有使用r s s 订阅系统的情况下系统的工作流程 信息管理员 需要访问每一个含有所需信息的系统来获取信息 再将其发送至本系统服务器 由后者将信息分发至系统其他用户 如图2 6 所示 1 2 管理 图2 6 未使用r s s 的信息共享 f i g u r e2 6i n f o r m a t i o ns h a r i n gm e c h a n i s mw i t h o u tr s s 而使用r s s 订阅的信息传递方式将为系统带来数倍的效率提升 如图2 7 所 示 管理员从远程系统中订阅信息后 可以设定更新间隔 r s s 系统按这个间隔 时间定期从向远程发出信息请求 远程系统接到请求后就将r s sf e e d s 发回给本 地 经过x m l 解析就获得了需要的信息 这样 系统管理员的所有工作只是一次 订阅 之后只需打开本地r s s 订阅模块 就可以接收到远程的更新信息 管理员 还可以将本地的服务器设置为r s s 订阅模式 直接将远程信息传到服务器上供本 地用户下载 省去了人工分发的步骤 进一步提高了效率 管理 本地系统 一一一一一一一 画 图2 7 使用r s s 的信息共享 f i g u r e2 7i n f o r m a t i o ns h a r i n gm e c h a n i s mw i t hr s s 国国 在城轨安全管理系统中 有大量数据需要从外部的信息获得 信息的获取速 度成为本部分工作的效率瓶颈 管理员需要不断对远程系统进行访问来检查信息 更新 而多数情况对方系统没有更新 导致无功而返 大大降低了工作效率 而通过老式的重量级的异构数据交换的方式 在这里显得过于复杂 因为异 构数据交换涉及了数据库的操作 远程系统收到请求后 从其数据库中获取数据 然后解析为x m l 传给本地系统 后者再将x m l 解析后写入本地数据库 这两步 数据库的一读一写消耗了不必要的系统资源 使用r s s 技术 有两种方式可以不同程度地减少数据库的操作 系统只是将 远程系统已发布的信息直接从h t m l 解析为x m l 然后再根据需要解析为h t m l 直接显示或是写入本地数据库 它采用一种类似轮询的方式定时对每个系统的信 息进行更新检查 达到无需访问即可获得最新信息的目的 不但节约了数据库连 接开销 而且提高了工作效率 2 3本章小结 本章对城轨安全管理系统中所使用到的架构技术和数据交换技术进行了较为 深入的研究 首先 介绍了轻量级的j 2 e e 架构概念 其中分别对h i b e m a t e 和s p r i n g 两个轻量级的框架作了简要介绍 此后 本章对系统中重要的城轨安全信息数据 交换模块所使用的x m l 及其解析技术 j m s 规范和r s s 技术进行了深入研究 并且r s s 的使用为系统带来的效率作了深入分析 1 4 3 城轨安全管理系统概述 3 1城轨安全管理系统建设目标 城轨安全管理系统是一个综合性非常强的信息管理平台 系统担负着

温馨提示

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

评论

0/150

提交评论