李傳良
(山東絲綢紡織職業學院,山東 淄博 255300)
隨著 Internet的普及,XML作為新興的標識語言,得到Web的廣泛應用,并逐步成為 Internet存儲交換數據的一種常用機制。由于計算機技術應用的發展,各行業領域的信息量呈爆漲,其中含有很多公共有效的數據庫資源,每個領域中的數據資源分散在各地的多個數據庫中,采用不同平臺,缺少整體布局和統一管理,形成“信息孤島”,造成大量業務邏輯類似但形式分散且彼此缺少信息交互。為實現各部門之間的協調工作、數據和數據之間的關聯不易丟失,就必須解決在各個環節之間普遍存在的數據交互和部門協同的問題。XML的出現為異構數據源的交換帶來了新思路和新技術。
XML(可擴展標記語言)作為數據交換和網絡計算的基礎,已成為網絡上通用的語言。通過具有平臺無關性的 XML來表達知識、傳遞數據,可以跨越平臺、設備和空間。同時,XML具有如下優點:①簡便的數據交換:數據和標記均以可配置的文本格式保存。②定制標志語言:基于 XML進行擴展,可以定制自己的標志語言。③自描述數據。④結構化和綜合性的數據:使用者不僅可以指定數據,還可以指定數據結構,并可以將不同的元素組合成其他的元素。
這些優點推動 XML在各個領域和行業迅速得到推廣和應用。XML技術有效地解決了領域數據的交換問題,有力地推動了領域信息化的進程,但是在實際的工程領域,如CIMS、GIS中有時會帶來效率問題。因為 XML文件的完整性和領域數據的特殊性,在傳輸 XML格式數據時可能伴隨著大量“無用數據”的傳輸。這往往不僅影響傳輸效率,而且會浪費許多資源。因為修改的數據量占整體數據量的比例往往很低,所以造成大量未修改數據的重復傳輸。這是工程領域利用 XML文件數據交換存在的普遍問題。特別是當文件較大、用戶操作頻繁且需要同步更新大量用戶時,這種問題就十分突出,甚至會影響系統的實用性。
本文所提出的優化技術的核心思想是以領域數據模型規范為基礎,充分利用領域數據的邏輯關聯,實現更靈活的 XML數據傳輸。①當用戶請求訪問 XML文檔時首先將文檔解析為DOM(Document Object Mode1)樹。②根據文檔的 DTD(Document Type Definition)及存放文檔授權信息的XAS(XML Access Sheets)標記DOM樹,給文檔中的每個節點都設置授權符號(“+”允許訪問,“-”禁止訪問)。③將DOM樹中所有授權符號為“-”的節點移除,將剩下的節點轉化為 XML格式返回給用戶。④移除某些節點而形成的新的文檔可能不符合原來的DTD。通過將DTD中所有的元素和屬性都設置為可選的來解決該問題,此過程稱為loosening DTD。用戶只能看到他有權訪問的那部分文檔,這樣就確保了數據的保密性。
在模型中仍然采用 XML作為用戶的數據交互格式標準,這樣可以充分利用XML的易用性和通用性。當用戶修改XML數據并需要傳送到其他節點以保持一致性時,不直接傳送整個XML數據文件,而是首先參考領域知識和XML規范,以數據邏輯關聯為依據,將 XML數據文件分解成粒度更小的數據對象集合。然后確定修改的影響范圍,將數據對象分為已變更數據對象隊列和未變更數據對象隊列。最后向其他網絡節點發送已變更數據對象隊列。其他節點在接收已變更數據對象隊列后,替換原始數據對象集合中的相應部分。再將更新后的數據對象集合成為XML文件,并展示給用戶。
分解 XML數據文件,是優化的關鍵。合理的分解方法應在分解方式和分解粒度兩個方面綜合考慮。分解方式以行業數據模型標準提供的XML Schema或DTD文檔為基礎。將關聯緊密、容易同時修改的內容分解在同一個數據對象內,可以盡可能地減小已變更數據對象隊列的數量和體積。分解粒度應綜合考慮具體的數據使用模式、數據修改量等多種因素。粒度不宜過小或過大。太大,失去優化意義,太小也會影響優化效果。
無論使用何種分解方法將XML文件映射為數據對象集合,都需要輔助信息記錄數據對象之間的邏輯關聯,以便接收方正確地更新本地原始數據對象。采用多叉樹描述數據對象關聯,樹上每一個節點代表一個數據對象。每個節點內的關聯描述信息包括數據對象I、數據對象在多叉樹中的路徑path、包含子對象的個數childnum、指向子對象的指針child以及映射為父元素的屬性名transelement(適用于中粒度劃分法)。
基于上述模型提出如下傳輸優化算法:①計算 XML數據文件的數據有效比。如果數據有效比較高,則直接傳輸整個數據文件。②選擇 XML數據文件劃分法。③根據所選劃分法的規則,把 XML數據文件分解為一組已變更數據對象和一組未變更數據對象。④計算關聯描述信息多叉樹。⑤將已變更數據對象隊列和關聯描述信息多叉樹發送到接收端。⑥接收端根據關聯描述信息,使用已變更數據對象更新原始數據對象集合。⑦接收端根據關聯描述信息和更新后的數據對象集。
XML格式數據傳輸優化技術在各行業領域中得到了廣泛應用,該思想有助于降低一致性維護時大體積 XML數據文件的傳輸量,提高訪問速度和效率。依托 XML數據訪問與傳遞模型,依據XML規范將XML數據文件分解為一組邏輯相關的數據對象進行傳輸,減少無用數據的傳輸量,從而提高系統的數據服務速度,是一種簡單、實用的優化技術。
1 李斕、何永忠、馮登國.面向XML文檔的細粒度強制訪問控制模型[J].軟件學報,2004(10):1528~1537