9.6 Web數據管理
Web數據管理是指在Web環境下,對復雜信息的有效組織與集成,方便而準確的信息查詢與發布。 9.6.1 XML 可擴展標記語言(XML,Extensible Markup Language)是標準通用標記語言(SGML,Standard Generalized Markup Language)的子集,也是一種元語言。 1. XML的組成 XML技術主要包括三大模塊結構組件:文檔類型定義(DTD,Document Type Definition)或XML模式(XML Schema)、可擴展樣式語言(XSL,Extensible Stylesheet Language)及可擴展鏈接語言(XLL,Extensible Link Language)。同時,還存在一些與XML有關的重要技術規范,像文檔對象模型(DOM,Document Object Model)和XML簡單應用程序接口(SAX,Simple API for XML)等。 (1)文檔類型定義 DTD是一種用來定義有效文件結構的語言,它作為基本XML文件的語法,是XML語言的一部分。DTD可以定義元素的嵌套規則以及數據的基本類型。 DTD一般包括標記聲明或參數實體引用,有時還包括外部實體的ID。標記聲明可以是元素類型聲明、屬性表聲明、實體聲明或符號聲明。 (2)XML Schema XML Schema為一類文檔建立了一個模式,規范了文檔中的標簽和文本可能的組合形式。它不僅包括了DTD能實現的所有功能,而且它本身就是規范的XML文檔。XML Schema提供了一系列新特色,大大彌補了DTD的不足: ① 豐富的數據類型。XML Schema支持的數據類型包括數字型、布爾型、整型、日期時間等,而且它還支持由這些簡單類型生成的更復雜的類型。 ② 可以由用戶自定義數據類型。 ③ 支持屬性分組。屬性的應用范圍是多種多樣的,有的是針對所有元素,有的則專門針對圖形元素。 ④ 原型可以更新。DTD定義的內容模式是封閉的,而XML Schema定義的內容模式是開放的,可以隨時更新。 (3)可擴展樣式語言 XSL 本身便是XML的應用,它基于XML語法,共分為兩部分:第一部分XSL轉換工具(XSLT,XSL Transformation),負責將XML文檔轉換為可瀏覽或可輸出的格式;第二部分XSL格式對象(XSL-FO,XSL-Formatted Object),提供大量的格式化命令,可用來配合印刷或屏幕顯示,精確地設定外觀樣式。利用XSL,一個XML文檔可以根據不同的表示要求有不同的表示形式。 一個XML文檔的顯示過程如下:首先根據XML文檔構造源樹;然后根據給定的XSL將這個源樹轉換為可以顯示的結果樹,這個過程稱作樹轉換;最后再按照FO解釋結果樹,產生一個可以在屏幕上、紙上、語音設備或其它媒體中輸出的結果,這個過程稱作格式化。 (4)XLink XML還存在引用和鏈接到其它的資源和文檔的機制,這就是XLink。在XLink中,鏈接(link)是指由XLink鏈接元素定義的兩個或兩個以上資源之間或資源的各部分之間的一種關系。其中資源被定義為信息或服務的任何可定位的單元。 XLink可以實現使用HTML的基于URL超文本鏈接和定位可獲得的任何功能。除此之外,它還支持以多個方向同時進行鏈接。在XLink中,任何XML元素都可以成為鏈接元素。 (5)DOM DOM是基于樹結構的程序訪問以及維護HTML和XML文檔的應用程序接口(API)。它定義了表示和處理文檔的接口和對象、這些接口和對象的語義,以及它們之間的關系。利用DOM,程序開發人員可以動態地創建文檔,遍歷文檔結構,增加、刪除或修改元素和文檔內容,改變文檔的顯示方式等等。 (6)SAX SAX是一個XML的Java應用程序接口標準,Java應用程序可以使用支持SAX的XML解析器來接受解析事件。使用SAX比使用DOM要節省很多內存開銷,特別當應用程序只對一個大型XML文檔中的某些元素感興趣時更是如此。但DOM提供了更豐富的程序接口。 2. XML的特點 (1)開放性 XML開放性的基礎是經過驗證的標準技術。XML支持復用文檔片段,使用者可自創或與他人共享標簽,可定義無限量的標注。 (2)可擴展性 XML是元語言,可以定義其它的語言。XML的標記是用戶定義的,所以從理論上講,其類型的數量可以是無限的。 (3)交互性好 用戶與應用進行交互時,使用XML可以非常方便地在本地排序、過濾和進行其它的數據操作。 (4)語義性強 XML可以自行設計有意義的標記,便于異構系統之間的數據交換和信息檢索。 (5)簡單、通用 XML規范簡單,用解析器處理所創建的標記語言,支持世界上大多數文字,擁有國際化的編碼標準。 (6)半結構化 半結構化數據是介于嚴格結構化的數據(如關系數據庫中的數據)和完全無結構的數據(如聲音,圖像文件)之間的數據形式。 3. XML的應用 (1)XML的應用范圍 XML的應用主要體現在以下四個方面: ① 網絡用戶在兩個或更多異質數據庫之間進行通信的應用。這主要源于XML的自定義性和自解釋功能以及可擴展性、標準性等。 ② 需要把大部分處理從Web服務器轉到客戶端的應用。應用XML將處理數據的主動權交給客戶端,減輕了Web服務器的負擔。 ③ 需要客戶端將同樣的數據以不同的瀏覽形式提供給不同的用戶應用。 ④ 需要智能Web代理(Proxy)根據個人用戶的需要增減信息內容的應用。 (2)建立XML應用的步驟 建立一個XML應用通常需要遵循以下主要步驟: ① 選擇或編寫一個DTD或Schema。 ② 生成XML文檔??梢詫?/span>DTD或Schema看成模板,填入需要的數據。 ③ 解析XML文檔。解析可以選擇SAX或DOM標準,目前已有各種語言的多種解析器提供。 ④ 顯示XML文檔。如果所使用的瀏覽器可以顯示XML,那么,直接將XML文檔發送給瀏覽器,否則,使用XSL將XML翻譯成瀏覽器可處理的內容。如果還想做更復雜的排序和重排結構,可以使用DOM。 9.6.2 Web數據存儲 目前,Web數據的存儲方法主要有以下幾種: (1)使用基于文件系統的存儲管理技術 這種技術是將XML數據存儲到文件系統中。對XML而言,主要方法是將XML數據以二進制大對象(BLOB,Binary Large Object)的形式進行存儲,然后在每一次使用時將它進行解析。 (2)使用基于層次數據庫的存儲管理技術 由于XML本身是層次結構的,因此可以將XML數據存儲在層次數據庫中。在層次數據庫中,可以編寫查詢語句對數據進行查詢。但層次數據庫技術不成熟。 (3)建立一個具有特定目的的存儲半結構化數據的數據庫系統 這種方法建立諸如Lore、Strudel的數據庫系統,把半結構化數據存儲在半結構化數據倉庫中。 (4)使用基于關系數據庫的存儲管理技術 在這種方法中,XML數據被映射為一個關系模式的各個表,以半結構化查詢語言提出的查詢被翻譯為SQL查詢。 (5)使用基于面向對象數據庫的存儲管理技術 面向對象數據庫用自身的方法、關系和語義來管理分層XML樹,把XML文檔中的元素映射為對象數據庫的中的對象,同時提供了強大的導航和鏈接功能。 9.6.3 Web數據查詢 1. Web查詢技術 目前Web上的查詢主要基于搜索引擎的關鍵詞索引技術,按照Web文檔內容與查詢關鍵詞的相似度,對查詢結果進行排序。但是,由于用戶不了解搜索引擎中文檔模型的具體構造,給出的查詢關鍵詞很難與所查文檔精確匹配,檢索效果不理想。因此,出現了一些新技術來從各方面改善信息查詢的性能,主要包括: (1)基于鏈接的相關度排序 鏈接中的文本信息對鏈接的目標網頁進行了客觀、準確的概括,因此,出現了一些基于鏈接的相關度排序方法,作為基本排序方法的補充。 (2)基于概念的檢索技術 一些搜索引擎開始在基于關鍵詞查詢的基礎上,引入基于概念的檢索?;诟拍畹臋z索,利用詞條在概念上的相關性,擴展查詢請求,同時檢索包含查詢關鍵詞同義詞的文檔,從而提高了查全率。 (3)基于相關度的反饋 用戶提出查詢請求后,系統按照相關度對查詢結果排序,并將結果反饋給用戶,用戶對查詢結果中文檔的相關性進行評價,所有標記為“相關”的文檔視為正反饋,標記為“不相關”的文檔視為負反饋,系統根據用戶的反饋對查詢進行修正,從而提高了系統的查詢準確度。 (4)檢索結果的聯機聚類 聚類是將相關文檔的集合分為若干個簇,要求同一簇內文檔內容的相關度盡可能大,不同簇內文檔內容的相關度盡可能小。這樣,用戶就可以只瀏覽那些他們認為與查詢最相關的簇,減少了所需瀏覽網頁的數量,提高了查詢效率。 此外,智能Agent等技術也開始應用于Web信息查詢,以提高Web信息查詢的準確度,并向用戶提供個性化的服務。 2. Web查詢語言 (1)Web查詢語言分類 Web查詢語言主要包括基于HTML的查詢語言和基于XML的查詢語言。 ① 基于HTML的查詢語言 基于HTML的查詢語言分為第1代Web查詢語言和第2代Web查詢語言。 第1 代Web查詢語言,目的是將基于關鍵詞查詢的搜索引擎技術和數據庫系統中結構化查詢語言技術結合在一起,實現類似于從數據庫中查詢數據的查詢表達方式,增強了用戶查詢Web信息的表達能力。 第2代Web查詢語言,提供了對Web對象內部結構的操縱功能,支持對鏈接模型的引用,以及對有序集合和記錄的更自然的數據表達方式。還能對Web文檔的內部結構和文檔間的鏈接建模,并強調了對半結構化特性的支持。 ② 基于XML的查詢語言 基于XML查詢語言分為單文檔查詢語言、圖形化查詢語言和多文檔查詢語言。 單文檔查詢語言是最基本的XML查詢語言。其基本原理是從單個XML文檔中抽取信息,查詢語句用字符串表達,并可以作為URL的一個參數傳遞。 圖形化查詢語言,通過數據模型表達XML文檔和DTD,并以特定接口實現可視化的查詢。 多文檔查詢語言,具有SQL/OQL語言的風格,可以在不同的數據源之間進行XML數據的查詢、信息交換和信息集成。 (2)Web查詢語言的評價因素 Web查詢語言的目的是從Web文檔中抽取信息,并對抽取出的信息進行重構,因此它需要從如下幾個方面加以考慮: ① 數據模型 為了查詢Web文檔中的信息,必須對Web文檔和網站結構建模,由于Web信息的分布性、異構性和動態性,通常采用邊標記圖模型、半結構化數據模型,以及關系模型和對象關系模型等數據模型。 ② 表達能力 查詢語言能夠表達基本的查詢操作。對于鏈接等特殊結構,Web查詢語言能夠支持路徑表達,通過鏈接結構完成信息查詢。對半結構的特征,Web查詢語言能夠匹配事先不清楚的結構。Web查詢語言還應該具備對查詢結果的重構能力。 ③ 語義與合成 查詢語言應該具有精確的語義,實現查詢語言的轉化和優化。合成是一個查詢的輸出可以作為另一個查詢的輸入。 9.6.4 Web信息集成 1. Web信息集成系統 Web信息集成系統的目標是支持對Web 上多個數據源的查詢。Web信息集成系統主要包括采用數據倉庫技術的信息集成系統和采用中介技術的信息集成系統。 采用數據倉庫技術的Web信息集成系統,將從多個數據源中抽取出的數據裝入數據倉庫中,用戶查詢直接映射到數據倉庫上。 采用中介技術的Web信息集成系統,通過中介模式(Mediated Schema)將各數據源的數據集成起來,而數據仍存儲在局部數據源中,通過各數據源的包裝器對數據進行轉換使之符合中介模式。用戶的查詢基于中介模式。 2. Web信息集成系統的特性 在Web信息集成系統的設計與實現過程中,主要考慮以下特性: (1)查詢特性 系統能否準確表達用戶查詢,這對信息查詢的準確度是最為重要的,同時系統也應能夠向用戶提供模糊查詢方式。 (2)結果表示 查詢結果依賴于用戶采用的查詢方式。 (3)結構特性 系統查詢處理的效率在很大程度上依賴于各個數據源的結構特性。 (4)可擴展性 系統應當具有可擴展性,可以比較自由地將新數據源加入到系統中,或者從系統中卸載已有的數據源。 9.6.5 Web Services 1. Web Services概述 Web Services是通過Web調用的應用邏輯或功能,具有自包含(Self-contained)、自描述(Self-describing)以及模塊化的特點,可以通過Web發布、查找和調用。 Web Services具有以下特點: (1)普遍性:利用Internet標準協議和XML數據格式,任何支持這些技術的設備都可以調用和訪問Web Services。 (2)可集成性:可以和其它服務組合在一起形成新的服務。 (3)互操作性:任何Web服務都可以與其它Web服務進行交互。 (4)行業支持:行業內所有主要的供應商都支持Web Services。 2. Web Services原理 Web Services使用面向服務的結構,它包含三個實體——服務提供者、服務請求者和服務代理,以及三個基本操作——發布、查找和捆綁。 服務提供者向服務代理發布它的服務內容。當服務請求者需要調用服務時,它首先到服務代理上查找所需要的服務,并得到如何調用該服務的信息,然后根據這些信息去調用服務提供者發布的服務。服務代理給服務提供者提供了發布它們自身及其服務的機制,也為服務請求者提供了查找它們所需服務的機制。Web Services在發布服務時使用通用描述、查找和集成協議(UDDI,Universal Description,Discovery and Integration),查找服務時使用UDDI 和Web Services 描述語言(WSDL,Web Service Description Language),捆綁服務時使用WSDL和簡單對象訪問協議(SOAP,Simple Object Access Protocol)。可以用圖9.3來表示。 圖9.3 Web Services的發布、查找和捆綁 3. Web Services協議體系 (1)簡單對象訪問協議 SOAP是在分布式環境下的信息交換協議,用于在Web上傳輸、交換XML數據。SOAP包含封裝、遠程過程調用(RPC)約定和編碼規則三個部分。封裝說明了消息格式,誰處理消息,消息是可選的還是強制的;RPC約定負責遠程過程調用和響應;編碼規則定義了傳輸數據的類型。 (2)Web Services描述語言 WSDL是XML模式的一種特殊形式,是描述Web服務的XML語言,它描述了分布式環境下自動執行的應用程序通信中所涉及的細節。WSDL的基本思想是將網絡服務定義為能夠進行消息交換的通信端點的集合,進而對這些服務在通信中所涉及的細節進行結構化的描述。 (3)通用描述、查找和集成協議 UDDI規范定義了一個發布和查找Web Services信息的方法。該規范提供了一套注冊和定位Web服務的方法,定義了一個商業注冊中心,以便企業能夠描述和注冊它們的Web服務,還能發現其它企業提供的Web服務并與之集成。
|
|