(计算机应用技术专业论文)基于ria的路面状况智能监测系统.pdf_第1页
(计算机应用技术专业论文)基于ria的路面状况智能监测系统.pdf_第2页
(计算机应用技术专业论文)基于ria的路面状况智能监测系统.pdf_第3页
(计算机应用技术专业论文)基于ria的路面状况智能监测系统.pdf_第4页
(计算机应用技术专业论文)基于ria的路面状况智能监测系统.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机应用技术专业论文)基于ria的路面状况智能监测系统.pdf.pdf 免费下载

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

文档简介

中文摘要 远程监测技术是将计算机技术、通信技术与故障诊断技术相结合的一种全 新的故障诊断模式,是一种行之有效的监测传输设备终端数据的技术。监测系 统正经历从单机系统到分布式多机系统,再到基于网络监测系统的过程。网络 技术的不断发展,移动通信的迅速普及,以及二者之间的不断融合使得移动互 联网成为可能。近几年来我国互联网以及移动通信的发展普及,为工业控制、 监测监控的数据传输提供了一种简洁的介入平台和方式。将移动互联网技术引 入监测监控中,将会有效地解决工业分布式数据采集问题。 采用基于r i a 的无线g p r s 技术的监测系统依托中国移动通信在全国的普 及性,很好的解决了监测系统在地域上的限制,能切实有效的达到实时在线监 测的功能。将g p r s 数据业务连接i n t e r n e t 用作监测终端的通信线路,具有连接 速度快,永远在线,实时性强等特点。而且采用g p r s 进行远程监控,开辟了 远程监测监控的新领域。 本论文的主要工作内容包括:( 1 ) 介绍r i a 技术,其中以f l e x 应用程序 为代表,介绍了组成结构和技术要点。( 2 ) 介绍g p r s 数据传输原理和x m l 数 据存储方式,并结合本系统的实际情况,重点介绍d o m 解析x m l 文档的原理 和适用场合。( 3 ) 介绍了f l e x 应用程序与外部数据的几种通讯方式。( 4 ) 详 细阐述了专家系统模块的设计与实现,首先给出专家系统的需求分析和技术要 点,然后介绍各个模块的实现过程,包括:实时数据显示及判断、区域信息查 询及预警和天气预警模块。 论文的主要贡献在于设计并实施了基于对a 的路面状况智能监测系统。该 系统是针对0 8 年大雪造成国家巨大损失而制定的国家重点项目。通过a r m 7 中 的传感器捕获温度、湿度等容易产生交通事故的数据,经由g p r s 转发到由f l e x 和j a 、,a 开发的在线监控系统,从而实现了对路面状况的实时监测和智能控制, 避免了交通事故的发生。 关键字:远程监控,r i a ,g p r s ,f l e x ,专家系统 a b s t r a c t r e m o t em o n i t o r i n gt e c h n o l o g yi san e wf a u l td i a g n o s i sm o d e lo fc o m p u t e r t e c h n o l o g y , c o m m u n i c a t i o nt e c h n o l o g ya n df a u l td i a g n o s i st e c h n o l o g ya n di sa n e f f e c t i v ed a t am o n i t o r i n gt e r m i n a lt r a n s m i s s i o ne q u i p m e n tt e c h n o l o g y m o n i t o r i n g s y s t e mi se x p e r i e n c e df r o mt h es t a n d a l o n es y s t e m st od i s t r i b u t e dm u l t i m a c h i n e s y s t e m s ,m o n i t o r i n gs y s t e m st on e t w o r k b a s e dp r o c e s s t h ec o n t i n u o u sd e v e l o p m e n t o fn e t w o r kt e c h n o l o g ya n dt h er a p i d l yg r o w i n g p o p u l a r i t yo fm o b i l ec o m m u n i c a t i o n s , a sw e l la st h ec o n t i n u e di n t e g r a t i o nb e t w e e nt h e mm a k e sm o b i l ei n t e r n e tp o s s i b l e i n r e c e n ty e a r sc h i n a si n t e m e td e v e l o p m e n ta sw e l la st h e p o p u l a r i t y o fm o b i l e c o m m u n i c a t i o n sp r o v i d e sas i m p l ep l a t f o r ma n dm e a n st oi n t e r v e n ef o ri n d u s t r i a l c o n t r o l ,m o n i t o r i n ga n dc o n t r o l l i n gt h ed a t at r a n s m i s s i o n t h ei n t r o d u c t i o no fm o b i l e i n t e r n e tt e c h n o l o g yi nm o n i t o r i n ga n dc o n t r o l l i n gw i l le f f e c t i v e l yr e s o l v et h ei s s u eo f i n d u s t r i a ld i s t r i b u t e dd a t aa c q u i s i t i o n r i a - b a s e dw i r e l e s sg p r st e c h n o l o g ym o n i t o r i n gs y s t e mb a s e do nc h i n a m o b i l e sp o p u l a r i t yi nt h ec o u n t r y , w h i c hi sav e r yg o o ds o l u t i o nt ot h em o n i t o r i n g s y s t e mi nt h eg e o g r a p h i c a lc o n s t r a i n t s ,c a na c h i e v ee f f e c t i v er e a l - t i m eo n l i n e m o n i t o r i n gf u n c t i o n g p r sd a t as e r v i c e sw i l lb eu s e dt om o n i t o rt h ei n t e r a c tt o c o n n e c tt h ec o m m u n i c a t i o nl i n et e r m i n a lw i t hac o n n e c t i o n s p e e d ,a l w a y s o n , r e a l _ t i m ea n ds oo n a n dt h eu s eo fg p r sf o rr e m o t em o n i t o r i n gh a so p e n e du pn e w a r e a so fs u r v e i l l a n c e t h em a i n w o r ko f t h i st h e s i si n c l u d e :( 1 ) d e s c r i b e dt h er i a t e c h n o l o g y , w h i c hi s r e p r e s e n t a t i v eo ff l e xa p p l i c a t i o n si n c l u d i n gt h em a i np o i n t so ft e c h n o l o g ya n dt h e s t r u c t u r e ( 2 ) d e s c r i b e dt h ep r i n c i p l eo fg p r sd a t at r a n s m i s s i o nm o d ea n dt h ex m l d a t as t o r a g e ,a n dc o m b i n e dw i t ht h ea c t u a ls i t u a t i o no ft h es y s t e m ,f o c u so nx m l d o c u m e n t sd o ma n a l y s i sw h i c hi n c l u d e dt h e a p p l i c a t i o no fp r i n c i p l e a n d o c c a s i o n s ( 3 ) d e s c r i b e d as e r i e so fc o m m u n i c a t i o n sm o d e lb e t w e e nt h ef l e x a p p l i c a t i o na n dt h ee x t e r n a ld a t a ( 4 ) d e s c r i b e dad e t a i l e d s y s t e md e s i g n a n d i m p l e m e n t a t i o no fm o d u l e s f i r s to fa l l ,g i v e nt h ed e m a n df o rs y s t e ma n a l y s i sa n d t e c h n i c a lp o i n t s ,a n dt h e ni n t r o d u c et h ei m p l e m e n t a t i o no fe a c hm o d u l e ,i n c l u d i n g : i i r e a l t i m ed a t ad i s p l a ya n dj u d g e ,r e g i o n a li n f o r m a t i o na n de a r l yw a r m n g a n dw e a t h e r w a r n i n gm o d u l e 。 t h em a i nc o n t r i b u 【t i o no fp a p e ri st h ed e s i g na n di m p l e m e n t a t i o no ft h er o a d r i a b a s e di n t e l l i g e n tm o n i t o r i n gs y s t e m f o rh e a v y s n o wi n2 0 0 8c a u s e dag r e a tl o s s t oo u rc o u n t r y , t h es y s t e ma sn m i o n a lk e y s t o n ep r o j e c t sw a sc o m eu p - t h r o u g ht h e c a p t l l r eo ft e m p e r a t u r e ,h u m i d i t ys e n s o r sd a t aw h i c h i sp r o n et oa c c i d e n t ,t r a n s m i t t e d v i ag p r st oo n l i n em o n i t o r i n gs y s t e mw h i c hi si m p o l d e r e db yf l e x a n dj a v aa n d t h e na c h i e v e dr e a l t i m em o n i t o r i n go ft h er o a d ss t a t u sa n di n t e l l i g e n tc o n t r o lw h i c h a v o i dt h eo c c u r r e n c eo ft r a f f i ca c c i d e n t s k e yw o r d s :r e m o t em o n i t o r i n g ,r i a ,g p r s ,f l e x ,e x p e r ts y s t e m i i i 武汉理工大学学位论文独创性声明及使用授权书 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构的学位 或证书而使h ;| 过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文 中作了明确的说明井表示了谢意。 研究生( 签名) 亟- ! 量丝日期塑望: 学位论文使用授权书 本 完全了解武汉理工太学有关保留、使用学位论文的规定,即:学校有权保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查闻和借阅。 本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库进行检索,可 以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时授权经武汉理工大 学认可的国家有关机构或论文数据库使用或收录本学位论文,并向社会公众提供信 息服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名k 堕宣丝导师( 签名) : q 日畦牲 注;此袁经研究生及导师签名后,请装订在学位论文摘要前页。 武汉理工大学硕士学位论文 1 1 课题研究的背景 第1 章绪论 在企业级应用程序经历了几次系统架构方面转变的过程中,客户端的表现 形式有起有落。随着w i n d o w s 操作系统的出现和对客户端处理能力要求的增强, 出现了客户机一服务器应用程序,它们采用图形用户形象化界面,客户端的数 据处理能力有所增强。但由于客户端应用程序需要进行不断的更新,因此部署 成本比较高,只能为一部分人所使用。随着i n t e m e t 技术及其应用以及电子商 务的发展,b s 结构应运而生。在b s 模式中,客户端运行浏览器软件。浏览器 以超文本形式向w e b 服务器提出访问数据库的要求,w e b 服务器接受客户端请 求后,将这个请求转化为s q l 语法,并交给数据库服务器,数据库服务器得到 请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给w e b 服 务器,w e b 服务器再一次将得到的所有结果进行转化,变成h t m l 文档形式, 转发给客户端浏览器以友好的w e b 页面形式显示出来。另一方面,由于数据库 具有强大的数据存储和管理能力,并且能够动态地进行数据输入和输出,如果 把数据库应用于i n t e m e t 上,不仅可以实现大量信息的网上发布,而且能够为广 大用户提供动态的信息查询和数据处理服务,进而加强企事业单位内部部门之 间、上级部门与下级部门之间、企事业单位员工之间、企事业单位与客户之间 以及企事业单位与企事业单位之间的信息交流,降低企事业单位的日常工作成 本,提高企事业单位的经济效益。 而c s 模式是一种两层结构的系统:第一层是在客户机系统上结合了表示与 业务逻辑;第二层是通过网络结合了数据库服务器。c s 模式主要由客户应用程 序、服务器管理程序和中间件三个部分组成。首先,交互性强是c s 固有的一个 优点。在c s 中,客户端有一套完整应用程序,在出错提示、在线帮助等方面都 有强大的功能,并且可以在子程序间自由切换。其次,c s 模式提供了更安全的 存取模式。由于c s 配备的是点对点的结构模式,采用适用于局域网、安全性可 以得到可靠的保证。而b s 采用点对多点、多点对多点这种开放的结构模式, 并采用t c p i p 这一类运用于i n t e m e t 的开放性协议,其安全性只能靠数据服务 武汉理工大学硕士学位论文 器上管理密码的数据库来保证 2 1 。由于c s 在逻辑结构上比b s 少一层,对于相 同的任务,c s 完成的速度总比b s 快,使得c s 更利于处理大量数据。由于客 户端实现与服务器的直接相连,没有中间环节,因此响应速度快。同时由于开 发是针对性的,因此,操作界面漂亮,形式多样,可以充分满足客户自身的个 性化要求。但缺少通用性,业务的变更,需要重新设计和开发,增加了维护和 管理的难度,进一步的业务拓展困难较多。不过此部分内容对于管理制度成熟 的仓库企业而言,其困难度并不大【3 】。 为了满足w e b 浏览者更高的、全方位的体验要求,使表示层的功能更加强 大,产生了r i c hi n t e r n e ta p p l i c a t i o n ( r i a ) 技术。r i a 程序是将桌面应用程序的 交互用户体验与传统的w e b 应用的部署灵活性和低成本结合起来并提供互动多 媒体通信的实时快捷的新一代网络应用程序 4 1 。它集桌面应用程序的最佳用户界 面功能与w e b 应用程序的快速、低成本部署以及互动多媒体通信的实时快捷于 一体。i l i a 具有桌面应用程序的特点,包括:在消息确认和格式编排方面提供互 动用户界面;在局部刷新页面情况下提供快速的界面响应时间;提供通用的用户 界面特性,如拖动式以及在线和离线操作能力【5 1 。r i a 具有的w e b 应用程序的 特点,包括:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分 利用被广泛采纳的互联网标准。客户机在r i a 中的作用不仅是展示页面,它可 以通过用户请求异步进行计算、传送和检索数据、显示集成的用户界面和综合 使用声音和图像,这一切都可以在不依靠客户机连接服务器或后端的情况下进 行【6 1 。 r i a 程序之所以能快速做出反应,是由r i a 技术特点一异步通信、局部刷 新所决定的。当打开r i a 程序时,数据被缓存在客户端,从而可以实现一个比 基于h t m l 的响应速度更快且数据往返于服务器的次数更少的用户界面。对于 无线设备和需要偶尔连接的设备来说,将来的趋势肯定是向富客户端的方向发 展,并且会逐渐远离基于数据库、x m l 文件、文本的w e b 客户端【_ 7 1 。那些运行 在移动设备上的应用系统,可以被设计成以离线方式工作,或者至少当连接丢 失的时候能基本上以离线的方式工作。 1 2 课题研究的内容与意义 本文首先对研究的相关背景进行了介绍,接着介绍本项目使用的核心技术 2 武汉理工大学硕士学位论文 一r i a 技术。并具体阐述了子模块的设计实现,此专家系统包括:实时数据显示 及判断模块、区域信息查询及预警系统、天气预警系统、分析预警系统等,并 分别给出效果贴图。最后对我们的工作进行总结并展望r i a 技术的发展前景。 本文的项目出发点是0 8 年国家发生罕见雪灾,各地道路情况恶化严重,交 通堵塞,事故频发等,因此造成国家重大经济损失。文中给出了项目的具体实 施计划及设计方案:我们在路面表层下埋设相变材料来给路面加热及加热级别 控制盒。控制盒内设a r m 7 和传感器捕获温度、湿度等容易产生交通事故的数 据,并经g p r s 转发到由f l e x 和j a 、,a 开发的在线监控系统。 1 3 论文的组织结构 本文共分5 章: 第一章:绪论:阐述了课题研究的背景和意义。 第二章:g p r s 数据传输与存储:叙述了g p r s 的工作原理及采用x m l 文 档作为数据存储的原因和技术要点。 第三章:r i a 技术:从几种主要的r i a 技术出发,引出本课题采用的f l e x 技术,并简介了其应用构成元素,然后重点介绍了与外部数据的几种通信方式。 第四章:系统模块的设计:给出模块的需求分析,并详细阐述了各模块的 技术要点。 第五章:系统模块的实现:基于系统模块的设计要求,针对模块中的代表 性模块,给出了其设计流程和实现。 第六章:总结与展望:总结本文内容及在线系统存在的不足。 3 武汉理工大学硕士学位论文 第2 章g p r s 数据传输与存储 2 1g p r s 工作原理 g p r s 的英文全称是:“g e n e r a lp a c k e tr a d i os e r v i c e ”( 译作“通用分组无线 服务”) ,它是利用“包交换”( p a c k e t - - s w i t c h e d ) 的概念发展起来的一套无线传 输方式。所谓“包交换”就是将d a t a 封装成许多独立的封包,再将这些封包一一 传送出去,形式上有点类似邮局中的寄包裹。其作用在于只有当有资料需要传 送时才会占用频宽,而且可以以传输的资料量计价,这对广大用户来说是较合 理的计费方式,因为像i n t e m e t 这类的数据传输大多数的时间频宽是闲置的【8 l 。 g p r s 网络是基于现有的g s m 网络来实现的。在现有的g s m 网络中需增 加一些节点,如g g s n ( g a t e w a yg p r ss u p p o r t i n g n o d e ,g p r s 网关支持节点) 和s g s n ( s e r v i n gg s n ,g p r s 服务支持节点) ,g s n 是g p r s 网络中最重要的 网络节点。g s n 具有移动路由管理功能,它可以连接各种类型的数据网络,并 可以连到g p r s 寄存器。g s n 可以完成移动终端和各种数据网络之间的数据传 送和格式转换。g s n 可以是一种类似于路由器的独立设备,也可以与g s m 中的 m s c 集成在一起1 9 j 。g s n 有两种类型:一种为s g s n ( s e r v i n gg s n ,服务g s n ) , 另一种为g g s n ( g a t e w a yg s n ,网关g s n ) ,s g s n 的主要作用是记录移动终 端的当前位置信息,并且在移动终端和g g s n 之间完成移动分组数据的发送和 接收。g g s n 主要是起网关作用,它可以和多种不同的数据网络连接,如i s d n 、 p s p d n 和l a n 等。国外有些资料甚至将g g s n 称为g p r s 路由器。g g s n 可 以把g s m 网中的g p r s 分组数据包进行协议转换,从而可以把这些分组数据包 传送到远端的t c p i p 或x 2 5 网络【l u 。 2 1 1g p r s 的主要特点 相对原来g s m 的电路交换数据传送方式,g p r s 采用分组交换技术。由于 使用“分组”技术,用户上网可以免受掉线的麻烦。此外,使用g p r s 上网的方法 与w a p 不同,用w a p 上网就如在家中上网,先“拨号连接”,而上网后便不能 同时使用该电话线,但g p r s 则较优越,下载资料和通话可以同时进行【1 3 1 。 4 武汉理丁大学硕士学位论文 从技术上来说,声音的传送( 即通话) 继续使用g s m ,而数据的传送则使 用g p r s ,就把移动电话的应用提升到一个更高层次,而且不需重新组网,g p r s 的用途十分广泛,包括通过手机发送及接收电子邮件、在i n t e m e t 上浏览等。使 用g p r s ,数据可实现分组发送和接受,这意味着用户总是在线且按流量计费, 降低了服务成本。 g p r s 的最大优势在于数据传输速度不是w a p 所能比拟的。目前的g s m 移 动通信网的传输速度为每秒9 6 k 字节,g p r s 手机在今年初推出时已达到 5 6 k b p s 的传输速度,到现在更是达到了1 15 k b p s ( 此速度是常用5 6 km o d e m 理 想速率的两倍) 。除了速度上的优势,g p r s 还有“永远在线”的特点,即用户随 时与网络保持联系。当用户访问i n t e m e t 时,点击一个超级链接,手机就在无线 信道上发送和接受数据,主页下载到本地后,没有数据传送,手机就进入一种“准 休眠”状态,手机释放所用的无线频道给其它用户使用,这时网络与用户之间还 保持一种逻辑上的连接,当用户再次点击,手机立即向网络请求无线频道用来 传送数据,而不像普通拨号上网那样断线后还得重新拨号才能上网【l4 1 。 2 1 2g p r s 的协议模型 u m 接口是g s m 的空中接口。u m 接口上的通信协议有5 层,自下而上依 次为物理层、m a c ( m e d i a a c c e s sc o n t r 0 1 ) 层、l l g ( l o g i c a ll i n kc o n t r 0 1 ) 层、 s n d c 层和网络层。u m 接口的物理层为射频接口部分,而物理链路层则负责提 供空中接口的各种逻辑信道。g s m 空中接口的载频带宽为2 0 0 k h z ,一个载频 分为8 个物理信道。如果8 个物理信道都分配为传送g p r s 数据,则原始数据 速率可达2 0 0 k b p s 。考虑前向纠错码的开销,则最终的数据速率可达1 6 4 k b p s 左 右;m a c 为媒质访问控制层。m a c 的主要作用是定义和分配空中接口的g p r s 逻辑信道,使得这些信道能被不同的移动终端共享;l l g 层为逻辑链路控制层。 它是一种基于高速数据链路规程h d l g 的无线链路协议;s n d c 被称为子网依 赖结合层。它的主要作用是完成传送数据的分组、打包,确定t c p i p 地址和 加密方式;网络层的协议目前主要是p h a s e l 阶段提供的t c p i p 和l 2 5 协议。 t c p i p 和x 2 5 协议对于传统的g s m 网络设备( 如:b s s 、n s s 等设备) 是透 明的【1 5 】。 武汉理工大学硕士学位论文 2 2g p r s 数据存储方式 首先讨论一下数据存储方式的问题。一种做法是把所有的数据和页都存储 在数据库中。数据库可以是现成的商业数据库,也可以是讨论中的对象数据库 或多媒体数据库,或者干脆就是一个大“包”文件,把数据和页打进包中。这些做 法有很多缺陷: ( 1 ) 现有的商业数据库缺乏对多媒体的支持,难以满足存储和管理多媒体 信息的要求。 ( 2 ) 对象数据库和多媒体数据库还处于探讨阶段,尚无成熟的系统。 ( 3 ) 数据库查询执行缓慢,严重影响演示效果。 ( 4 ) 包文件规模受到操作系统限制,如果包太大,存储、管理都有困难, 且降低系统运行速度,加大资源的占用。 与数据库存储数据相比,x m l 本身就可以用来进行数据的存储,其实在下 面的情况里面使用x m l 来存储数据是非常好的【1 6 1 。 1 ) 信息数据比较复杂: 其实一个复杂的数据并不一定能够很好的通过数据库来显示,但可以很好 的用x m l 来显示。比如一个书籍的记录,通常会有书的名字和作者,如果书的 作者只有一个,可以非常方便的使用数据库来显示,但是如果一本书有两个、 三个或者更多的作者了,这个时候,x m l 可以很轻松的解决【1 7 1 。 2 ) 单独的字段复杂而庞大 同样对于刚才说的书的记录问题,如果我们要将书的每一章都放到数据库 里面并不是能够很好的存储,数据库的每个字段等长,会浪费很大的空间【l 引。 3 ) 数据类型和搜索速度并不重要 当然使用x m l 也有一定的问题,尽管x m l 的搜索已经进行了很大的优化, 可是速度仍然很慢。而且x m l 中所有的数据是通过字符串来进行存储的,因此 对于数据类型要求非常重要的数据而言,使用x m l 来存储也不是非常合适的。 4 ) 数据库不大,但要可扩展 另外,由于x m l 良好的可扩展性,x m l 还适用于小型的而且需要不断进 行修改的数据存储。 6 武汉理工大学硕士学位论文 2 2 1x m l 存储数据 x m l 技术自出现以来,发展非常迅速,在许多领域内得到广泛的支持而有 着广阔的应用前景。例如电子数据交换、电子商务等等更是把x m l 作为一种基 础性、支柱性的技术来看待。然而,应该指出,x m l 本质上是一种描述性的标 记语言,是一种更好地表示信息的手段。同时,这也意味着x m l 可以是用于信 息存储和管理的一种方式,正如同传统的数据库技术一样。x m l 的一个重要特 点是它的结构性,即它可以方便有效地表示结构化数据,这就使得x m l 可以作 为表示和存储数据的手段i l 圳。 目前,处理x m l 文档的方式主要有s a x 与d o m 两种。s a x ( s i m p l e a p i f o rx m l ) 是一种基于流的、以事件处理方式工作的接口。d o m ( d o c u m e n to b j e c t m o d e l ) 则是在对x m l 文档进行分析后,在内存中建立起一个完整的树的结构, 然后在此基础上进行各种操作。简单地比较来看,s a x 对系统资源要求低,速 度快,但对文档的操作是只读的;d o m 的处理能力强大,但要求大量的系统资 源,尤其是对于大的文档【z 。 2 2 2 解析x m l 本系统中数据存储及读取方式采用x m l 格式,这自然就联系到对x m l 文 档的解析问题,因为对数据的处理方式,直接影响到系统的反应速度。下面将 具体介绍当今主流的解析方式及其优缺点,并给出系统采用d o m 解析的原因。 2 2 2 1 使用d o m 解析x m l 文档 d o m 是用与平台和语言无关的方式表示x m l 文档的官方w 3 c 标准。 d o m 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员 在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然 后才能做任何工作。由于它是基于信息层次的,因而d o m 被认为是基于树或 基于对象的。d o m 以及广义的基于树的处理具有几个优点t 2 。首先,由于树在 内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它 还可以在任何时候在树中上下导航,而不是像s a x 那样是一次性的处理。d o m 使用起来也要简单得多。 本系统需要把g p r s 转发的数据存储到x m l 文档,对数据进行一些操作后, 7 武汉理工大学硕士学位论文 在前台显示( 监控) 。因为d o m 解析具有操作简单、读取小文档速度块、遍历 树驻留在内存中而方便修改等优点,我们采用d o m 解析方式读取x m l 中的数 据。以下对d o m 解析做个简单介绍: d o m 编程不要其它的依赖包,因为j d k 里自带的j d k 里含有的上面提到 的o r g w 3 c d o m 、o r g x m l s a x 和j a v a x x m l p a r s e r s 包就可以。 d o m 解析器是一个d o c u m e n t b u i l d e r 类的实例,该实例由d o c u m e n t b u i l d e r f a c t o r y 负责创建,步骤如下【2 5 1 。 使用j a v a x x m l p a r s e r s 包中的d o c u m e n t b u i l d e r f a c t o r y 类调用其类方法 n e w l n s t a n c e 0 实例化一个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 f a c t o r yf a c t o r y = d o c u m e n t b u i l d e r f a c t o r y n e w l n s t a n c e 0 ; f a c t o r y 对象调用n e w d o c u m e n t b u i l d e r 0 方法返回一个d o c u m e n t b u i l d e r 对象 ( 称做d o m 解析器) ,例如: d o c u m e n t b u i l d e r b u i l d e r = f a c t o r y n e w d o c u m e n t b u i l d e r 0 ; d o c u m e n t b u i l d e r 类在i a v a x x m l p a r s e r s 包中。 b u i l d e r 对象调用p u b l i cd o c u m e mp a r s e ( f i l e0 方法解析参数f 指定的文件, 并将解析内容以对象的形式返回,该对象是实现了d o c u m e n t 接口的一个实例, 例如: d o c u m e n t d o c u m e n t = b u i l d e r p a r s e ( n e wf i l e ( h t t p :2 0 2 1 17 18 0 18 7 :7 0 0 1 r e a d s u r f a c e l n f o g p r s i n f o x m l ”) ) ; d o c u m e n t 接口在o r g w 3 c d o m 包中。 如果想要d o c u m e n t b u i l d e r f a c t o r y 产生的d o m 解析器支持名称空间,可以 让f a c t o r y 对象调用s e t n a m e s p a c e a w a r e ( b o o l e a nb ) 方法: f a c t o r y s e t n a m e s p a c e a w a r e ( t r u e ) ; 对象d o c u m e n t 是由实现了n o d e 接口的类的实例构成的,这些实例称做 d o c u m e m 对象中的节点。d o c u m e n t 对象中的节点形成树状结构,也就是说x m l 文件的标记、标记的文本内容、实体等都会和对象d o c u m e n t 中的某个节点相对 应。现在,应用程序只要分析内存中的树状结构数据d o c u m e n t ,就可以获得x m l 文件中的各种数据了。比如d o c u m e m 调用 n o d e r e g i s t e rg e t e l e m e n t s b y t a g n a m e ( s t r i n gs t r ) 方法,返回一个实现了n o d e r e g i s t e r 接口的对象,该对象也是由一些n o d e 对象组成的,例如: 武汉理工大学硕士学位论文 n o d e r e g i s t e rn o d e r e g i s t e r = d o c u m e n t g e t e l e m e n t s b y t a g n a m e ( ”编号”) ; n o d e r e g i s t e r 接i s l 在o r g w 3 c d o m 包中。假如x m l 文件中有两个名称为“编 号”标记,那么 n o d e r e g i s t e r g e t l e n g t h ( ) ; 返回的值是2 ,即n o d e r e g i s t e r 刚好含有2 个n o d e 对象。 d o m 解析器经常使用下述3 个方法解析x m l 文件: p u b l i cd o c u m e n tp a r s e ( f i l ef i l e ) t h r o w ss a x e x c e p t i o n ,i o e x c e p t i o n p u b l i cd o c u m e n tp a r s e ( i n p u t s t r e a mi n ) t h r o w ss a x e x c e p t i o n ,i o e x c e p t i o n p u b l i cd o c u m e n tp a r s e ( s t r i n gu r i ) t h r o w ss a x e x c e p t i o n ,i o e x c e p t i o n 方法p a r s e ( f i l ed 可以解析参数f 指定的x m l 文件,例如: f i l ef i l e = n e wf i l e ( h t t p :2 0 2 117 18 0 18 7 :7 0 0 1 r e a d s u r f a c e i n f o g p r s i n f 0 x m l ”) ; d o c u m e n t d o c u m e n t = b u i l d e r p a r s e ( f i l e ) ; 方法p a r s e ( i n p u t s t r e a r ni n ) 可以解析输入流参数i n 指向的x m l 文件,例如: f i l e l n p u t s t r e a mi n = n e wf i l e l n p u t s t r e a m ( ”h t t p :2 0 2 1 1 7 1 8 0 1 8 7 :7 0 0 1 r e a d s u r f a c e l n f o g p r s i n f o x m l ”) ; d o c u m e n t d o c u m e n t = b u i l d e r p a r s e ( i n ) ; 方法p a r s e ( s t r i n gu r l ) 可以解析参数u r l 指定的一个有效的资源,如果u r l 是 一个链接地址,该链接地址必须是可以访问的,例如: s t r i n gu r l = ”h t t p :2 0 2 1 1 7 1 8 0 1 8 7 :7 0 0 1 r e a d s u r f a c e l n f o g p r s i n f o x m l ”; d o c u m e n t d o c u m e n t = b u i l d e r p a r s e ( u r l ) ; 2 2 2 2 使用s a x 解析x m l 文档 s a x 是一个用于处理x m l 事件驱动的“推”模型,虽然它不是w 3 c 标准,但 它却是个得到了广泛认可的a p i 。s a x 解析器不像d o m 那样建立一个完整的文 档树,而是在读取文档时激活一系列事件,这些事件被推给事件处理器,然后 由事件处理器提供对文档内容的访1 日【2 6 1 。 常见的事件处理器有三种基本类型: 1 ) 用于访问x l v l ld t d 内容的d t d h a n d l e r ; 2 ) 用于低级访问解析错误的e r r o r h a n d l e r ; 3 ) 用于访问文档内容的c o n t e n t h a n d l e r ,这也是最普遍使用的事件处理器。 9 武汉理工人学硕士学位论文 s a x 解析器通过一个回调机制报告事件。解析器读取输入文档并在处理文档 时将每个事件推给文档处理器( m y c o n t e n t h a n d l e r ) l 驯。 与d o m 相比,s a x 解析器能提供更好的性能优势,它提供对x m l 文档内容的 有效低级访问。s a x 模型最大的优点是内存消耗小,因为整个文档无需一次加载 到内存中,这使s a x 解析器可以解析大于系统内存的文档。另外,你无需像在 d o m 中那样为所有节点创建对象。最后,s a m “推 模型可用于广播环境,能够 同时注册多个c o n t e n t h a n d l e r ,并行接收事件,而不是在一个管道中一个接一 个地进行处理【2 7 j 。 s a x 的缺点是你必须实现多个事件处理程序以便能够处理所有到来的事件, 同时你还必须在应用程序代码中维护这个事件状态,因为s a x 解析器不能交流 元信息,如d o m 的父子支持,所以你必须跟踪解析器处在文档层次的哪个位置。 如此一来,你的文档越复杂,你的应用逻辑就越复杂。虽然没有必要一次将整 个文档加载到内存中,但s a m 解析器仍然需要解析整个文档,这点和d o m 一样。 也许s a x 面临的最大问题是它没有内置如x p a t h 所提供的那些导航支持。 再加上它的单遍解析,使它不能支持随机访问。这一限制也表现在名字空间上: 对有继承名字空间的元素不做注解【2 引。这些限制使s a x 很少被用于操作或修改 文档。 1 0 武汉理工大学硕士学位论文 第3 章r i a 技术 3 1 a 技术定义及现状 r i a ( r i c hi n t e r n e t a p p l i c a t i o n ,富互联网应用系统) 技术允许我们在因特网 上以一种像使用w e b 一样简单的方式来部署富客户端程序。这是一个用户接口, 它比用h t m l 能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可 视化特性。无论将来i l i a 是否能够如人们所猜测的那样完全代替h t m l 应用系 统,对于那些采用胖客户端技术运行复杂应用系统的机构来说,r i a 确实提供了 一种廉价的选择【4 j 。 3 1 1r i a 技术定义 r i a 是r i c hi n t e m e ta p p l i c a t i o n s 的缩写,翻译成中文为丰富互联网应用程 序。 传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程 序的表示层建立于h t m l 页面之上,而h t m l 是适合于文本的,传统的基于页 面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了,这就 是被m a c r o m e d i a 公司称之为的“体验问题 (

温馨提示

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

评论

0/150

提交评论