胡月明 王懷杰
摘 要
隨著現代監獄對數字化安防管理系統要求的不斷提高,對于安防子系統間的數據集成越來越迫切。為此提出了基于XML數據交換來解決安防子系統間異構數據源的問題。本文以達到系統集成化為目的,設計一個基于XML的監獄安防集成管理系統,通過對基于XML的網絡異構數據庫中間件的設計與應用,從而達到數據集成,進而解決安防子系統間的數據共享,以此充分體現出系統集成化的優勢, 提高監獄管理的質量和水平。
【關鍵詞】監獄安防系統 中間件 XML 數據集成
1 引言
監獄作為關押服刑人員的重地,不僅對社會治安負有重大責任,同時還肩負著教化、引導服刑人員等職責。相對于其他安防行業,監獄安防系統更為復雜。在以視頻監控系統為主的同時,還涵蓋了對講、廣播、門禁、報警、高壓電網、RFID等多個子系統。由于各子系統通常情況下都是由不同的廠家生產開發,在設計系統和數據庫時,未考慮到系統數據的共享、分發等問題,因此,不同系統間的數據交換和共享相當困難,從而影響了數據的一致性和正確性,使得數據的使用和管理效率低下,且失去了統一。
針對上述問題,要想解決監獄安防系統的集成,必須解決各個子系統間的數據集成。XML(extensible markup language,可擴展標記語言)作為一種具有結構性的標記語言,由于使用廣泛、語義性強、交互性好、自描述、平臺無關、便于擴展等特點,非常適合不同應用系統間的數據集成。因此,筆者在系統設計時數據交換的格式采用XML,來增強各個子系統間的交互能力。
XML是W3C(World Wide Web Consortium,萬維網聯盟)制定的用于描述數據文檔中數據的組織和安排結構的語言。它可以用來標記和定義數據類型,允許用戶對自己的標記語言進行定義,實現動態內容生成,且便于傳輸數據。XML文檔可以通過定義XSD(XML Schema Definition,可擴展標記語言架構)來約定文檔的組成規則,可用來對文檔進行驗證。
2 系統數據集成總體架構
監獄安防集成系統數據集成架構分3層,分別為應用層、中間件層、數據層,如圖1所示。
各層基本功能如下:
(1)應用層。監獄安防綜合管理平臺,集成管理子系統間的通信和聯動,按系統需求訪問子系統的數據信息。該層需要有一組XML接口,用于XML文檔的生成與解析。
(2)中間件層。XML數據集成中間件,具有公共數據模型存儲庫,實現XML和數據的相互轉換功能。它主要包含包裝器、請求處理、結果處理和公共數據模型。當應用層通過XML封裝發出數據請求,中間件XML請求處理模塊對比公共數據模型,準確的分配XML子查詢到相應的包裝器,包裝器將XML指令轉換成SQL數據庫查詢指令,并通過JDBC(Java Database Connectivity,Java數據庫連接)提供的一系列接口和方法訪問不同的數據庫系統,接下來通過標準的SQL語言對數據庫中的數據進行存取操作。包裝器將數據庫返回的結果封裝成XML文檔傳給XML結果處理模塊。XML結果處理模塊將各個包裝器傳來的結果進行整合發送給綜合管理平臺,最后通過XML解析將數據提取出來供管理平臺使用。
(3)數據層。包含各個安防子系統間的數據庫,供綜合管理平臺進行訪問。
3 數據集成中間件的設計與實現
3.1 公共數據模型
在系統初始化時,數據庫需向中間件公共數據模塊進行注冊,提供全局視圖、局部視圖到各數據源的映射,保存異構數據源的內容和查詢能力的描述信息。能否構建一個標準的公共模型關系到整個中間件的運行效率。其主要工作是關系數據庫中數據模式的提取和關系模式的轉換。系統可以利用JAVA API 相關函數讀取數據庫的元數據來獲取數據庫模式。本方案采取XML Schema模式作為XML文檔到數據庫關系模式的轉換,相對比DTD(Document Type Definition,文檔類型定義)其表達性更強,適應性更廣。
根據本方案的需求,關系數據庫的輸出全局模式中主要包含兩個部分:一部分是各個異構數據庫的訪問權限信息,包括數據源類型、ID、IP地址、端口號、用戶名和密碼等,其異構數據庫資源存儲XML Schema 文檔定義模式如圖2所示。另一部分主要包含數據庫中共享的庫信息、表信息、共享權限、字段數據類型及字段名等。
關系數據庫由一系列表組成,表與表之間通過主鍵或外鍵的約束相互關聯,由此每個異構數據庫可以單獨生成一個XML Schema。以RFID監控子系統的3個表為例,即犯人信息資料表(Criminal)、干警資料表(Police)、監控相關資料表(Monitor)。基本結構如下:
Criminal(服刑編號,姓名,性別,所犯罪行,入獄時間,刑期,身份證號碼,籍貫)
Police(警牌編號,姓名,性別,密碼)
Monitor(服刑編號,姓名,需求位,標志位)
其中3個表中第一個屬性為主鍵,Monitor中外鍵服刑編號參照于Criminal表中服刑編號。
表結構轉換為XML Schema文件流程如下:
(1)定義根元素,存放數據庫所有結構信息。
(2)創建復合型元素complexType,對應數據庫中的每張表,作為CriminalMonitor的子元素。
(3)數據表的列(字段)轉換為表的子元素即字段元素。字段元素包含兩個說明字段類型和字段約束。字段類型可以是簡單類型或者是用戶自定義類型。在字段約束中,存在著空值、缺省值和檢查約束等。下面實現對Criminal表中的sentence_ no列的轉換描述。要求是非空、字符類型、缺省值為”0000000001”、長度為10且每個字符為0-1的數字。
(4)主鍵約束轉換,表的主鍵約束轉換為Schema中的key約束。key名字與主鍵名相同,同時具有兩個屬性selector選擇表元素、field選擇相應的主鍵字段。下面例子描述Criminal的主鍵約束轉換(c_m表示命名空間)。
(5)外鍵約束轉換,。關系數據庫表之間的聯系是通過外鍵來約束的,在模式轉換中定義為keyref約束。keyref約束必須參照key或unique約束。對上述結構,表Monitor的外鍵FK_sentence_no表示Monitor.sentence_no參照于Criminal.sentence。
3.2 XML請求的分解與XML結果的合并
中間件的核心工作就是將XML請求分解到各個數據庫對應的包裝器,并將請求結果合并返回給用戶。XML請求按如下流程分解:
(1)在XML請求到達,運用JDOM分析文檔通過對比全局模式,找到對應的數據源。
(2)根據全局模式到局部模式的映射,將查詢分解為多個子查詢。
(3)查找的數據表有多個,則查詢任務分解的結果與之一一對應。
(4)在子查詢文檔中依次遍歷各個元素,對表列元素進行相應轉換。
(5)如果涉及到多個數據庫的的關聯查詢,則需重復執行上述過程。
XML結果的合并,流程如下:
(1)從查詢處理模塊的數據緩存中取出子查詢返回的結果。
(2)使用JDOM中的getRootElement()得到多個結果根元素。
(3)由上一步獲得的根元素,調用GetChildren()逐一獲取每一個子元素及其屬性等內容。
(4)按照XML Schema生成規則合并成XML文件。并返回給用戶。
4 結束語
XML以其鮮明的優勢被得到廣泛的使用,它在監獄安防系統中的運用也在逐步的探索與研究中。從數據集成的方向去解決安防子系統之間的數據共享與聯動,有效的提高了監獄安防管理的效率,節省了大量人力物力,而且使得監獄工作更科學、更安全。保障了監獄有效地履行其刑法執行職能,促進監獄安防系統的實施與發展,具有良好的推廣前景。
參考文獻
[1]曹陽,姚建國,張慎明,黃海峰.XML技術在電網自動化系統中的應用探討[J].電力系統自動化,2002,26(21).
[2]王偉平,陳松橋,陳建二.基于XML的Web異構數據庫操作模型的研究[J].計算機工程與應用,2002(07).
[3]楊劍,唐慧佳,孫林夫,王勝銀.基于XML的異構數據交換系統的研究與實現[J].計算機工程,2005,31(19).
[4]張冠軍.基于XML異構系統間的數據交換技術[J]。現代電子,2013,36(02).
[5]魏建香,羅軍舟.一個基于XML數據交換系統的研究與設計[J].計算機工程與應用,2004(36):122-124.
作者簡介
胡月明(1990-),女,湖南省常德市人,現在南華大學計算機科學與技術學院碩士生在讀。主研方向為智能與智能化系統。
王懷杰,男,現為南華大學計算機科學與技術學院教授,碩士生導師。
作者單位
南華大學計算機科學與技術學院 湖南省衡陽市 421001endprint
(3)數據表的列(字段)轉換為表的子元素即字段元素。字段元素包含兩個說明字段類型和字段約束。字段類型可以是簡單類型或者是用戶自定義類型。在字段約束中,存在著空值、缺省值和檢查約束等。下面實現對Criminal表中的sentence_ no列的轉換描述。要求是非空、字符類型、缺省值為”0000000001”、長度為10且每個字符為0-1的數字。
(4)主鍵約束轉換,表的主鍵約束轉換為Schema中的key約束。key名字與主鍵名相同,同時具有兩個屬性selector選擇表元素、field選擇相應的主鍵字段。下面例子描述Criminal的主鍵約束轉換(c_m表示命名空間)。
(5)外鍵約束轉換,。關系數據庫表之間的聯系是通過外鍵來約束的,在模式轉換中定義為keyref約束。keyref約束必須參照key或unique約束。對上述結構,表Monitor的外鍵FK_sentence_no表示Monitor.sentence_no參照于Criminal.sentence。
3.2 XML請求的分解與XML結果的合并
中間件的核心工作就是將XML請求分解到各個數據庫對應的包裝器,并將請求結果合并返回給用戶。XML請求按如下流程分解:
(1)在XML請求到達,運用JDOM分析文檔通過對比全局模式,找到對應的數據源。
(2)根據全局模式到局部模式的映射,將查詢分解為多個子查詢。
(3)查找的數據表有多個,則查詢任務分解的結果與之一一對應。
(4)在子查詢文檔中依次遍歷各個元素,對表列元素進行相應轉換。
(5)如果涉及到多個數據庫的的關聯查詢,則需重復執行上述過程。
XML結果的合并,流程如下:
(1)從查詢處理模塊的數據緩存中取出子查詢返回的結果。
(2)使用JDOM中的getRootElement()得到多個結果根元素。
(3)由上一步獲得的根元素,調用GetChildren()逐一獲取每一個子元素及其屬性等內容。
(4)按照XML Schema生成規則合并成XML文件。并返回給用戶。
4 結束語
XML以其鮮明的優勢被得到廣泛的使用,它在監獄安防系統中的運用也在逐步的探索與研究中。從數據集成的方向去解決安防子系統之間的數據共享與聯動,有效的提高了監獄安防管理的效率,節省了大量人力物力,而且使得監獄工作更科學、更安全。保障了監獄有效地履行其刑法執行職能,促進監獄安防系統的實施與發展,具有良好的推廣前景。
參考文獻
[1]曹陽,姚建國,張慎明,黃海峰.XML技術在電網自動化系統中的應用探討[J].電力系統自動化,2002,26(21).
[2]王偉平,陳松橋,陳建二.基于XML的Web異構數據庫操作模型的研究[J].計算機工程與應用,2002(07).
[3]楊劍,唐慧佳,孫林夫,王勝銀.基于XML的異構數據交換系統的研究與實現[J].計算機工程,2005,31(19).
[4]張冠軍.基于XML異構系統間的數據交換技術[J]。現代電子,2013,36(02).
[5]魏建香,羅軍舟.一個基于XML數據交換系統的研究與設計[J].計算機工程與應用,2004(36):122-124.
作者簡介
胡月明(1990-),女,湖南省常德市人,現在南華大學計算機科學與技術學院碩士生在讀。主研方向為智能與智能化系統。
王懷杰,男,現為南華大學計算機科學與技術學院教授,碩士生導師。
作者單位
南華大學計算機科學與技術學院 湖南省衡陽市 421001endprint
(3)數據表的列(字段)轉換為表的子元素即字段元素。字段元素包含兩個說明字段類型和字段約束。字段類型可以是簡單類型或者是用戶自定義類型。在字段約束中,存在著空值、缺省值和檢查約束等。下面實現對Criminal表中的sentence_ no列的轉換描述。要求是非空、字符類型、缺省值為”0000000001”、長度為10且每個字符為0-1的數字。
(4)主鍵約束轉換,表的主鍵約束轉換為Schema中的key約束。key名字與主鍵名相同,同時具有兩個屬性selector選擇表元素、field選擇相應的主鍵字段。下面例子描述Criminal的主鍵約束轉換(c_m表示命名空間)。
(5)外鍵約束轉換,。關系數據庫表之間的聯系是通過外鍵來約束的,在模式轉換中定義為keyref約束。keyref約束必須參照key或unique約束。對上述結構,表Monitor的外鍵FK_sentence_no表示Monitor.sentence_no參照于Criminal.sentence。
3.2 XML請求的分解與XML結果的合并
中間件的核心工作就是將XML請求分解到各個數據庫對應的包裝器,并將請求結果合并返回給用戶。XML請求按如下流程分解:
(1)在XML請求到達,運用JDOM分析文檔通過對比全局模式,找到對應的數據源。
(2)根據全局模式到局部模式的映射,將查詢分解為多個子查詢。
(3)查找的數據表有多個,則查詢任務分解的結果與之一一對應。
(4)在子查詢文檔中依次遍歷各個元素,對表列元素進行相應轉換。
(5)如果涉及到多個數據庫的的關聯查詢,則需重復執行上述過程。
XML結果的合并,流程如下:
(1)從查詢處理模塊的數據緩存中取出子查詢返回的結果。
(2)使用JDOM中的getRootElement()得到多個結果根元素。
(3)由上一步獲得的根元素,調用GetChildren()逐一獲取每一個子元素及其屬性等內容。
(4)按照XML Schema生成規則合并成XML文件。并返回給用戶。
4 結束語
XML以其鮮明的優勢被得到廣泛的使用,它在監獄安防系統中的運用也在逐步的探索與研究中。從數據集成的方向去解決安防子系統之間的數據共享與聯動,有效的提高了監獄安防管理的效率,節省了大量人力物力,而且使得監獄工作更科學、更安全。保障了監獄有效地履行其刑法執行職能,促進監獄安防系統的實施與發展,具有良好的推廣前景。
參考文獻
[1]曹陽,姚建國,張慎明,黃海峰.XML技術在電網自動化系統中的應用探討[J].電力系統自動化,2002,26(21).
[2]王偉平,陳松橋,陳建二.基于XML的Web異構數據庫操作模型的研究[J].計算機工程與應用,2002(07).
[3]楊劍,唐慧佳,孫林夫,王勝銀.基于XML的異構數據交換系統的研究與實現[J].計算機工程,2005,31(19).
[4]張冠軍.基于XML異構系統間的數據交換技術[J]。現代電子,2013,36(02).
[5]魏建香,羅軍舟.一個基于XML數據交換系統的研究與設計[J].計算機工程與應用,2004(36):122-124.
作者簡介
胡月明(1990-),女,湖南省常德市人,現在南華大學計算機科學與技術學院碩士生在讀。主研方向為智能與智能化系統。
王懷杰,男,現為南華大學計算機科學與技術學院教授,碩士生導師。
作者單位
南華大學計算機科學與技術學院 湖南省衡陽市 421001endprint