(通信與信息系統專業論文)基于數據交換與共享的城軌安全管理系統設計與實現.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

提交評論