王鑫++朱維和
摘 要:在大部分web應用中都有XML數據交互的需求。結合XML操作性強、規范統一、跨平臺的優點,主要研究了如何提高XML數據交互的效率,解決由于局部修改XML數據而影響系統整體性能的問題,從而減少無用數據的傳輸,避免資源的浪費,提高數據更新的效率。
關鍵詞:XML;數據交互;異構數據源;數據模型
中圖分類號:TP311.13 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2015.22.021
1 概述
隨著信息技術的發展,各行業的信息量呈爆炸式增長,每個行業中的數據資源分散在不同的數據庫中,歸屬各個企業、部門所有。這些數據資源像一個個“數據孤島”,各自有著不同的處理對象和操作方法。這就形成了大量業務邏輯類似、形式分散且彼此缺少信息交互的系統。為實現各部門之間的協調工作、數據之間的共享,就必須解決數據交互和部門協同的問題。
目前,常規的異構數據交換方式有以下三種:①電子數據交換(EDI)方式,即EDI可以通過統一的格式交換企業信息,而企業之間通過專用的數據網絡來交換數據。但EDI也帶來了許多問題,比如格式不靈活、成本較高、安全控制困難、連接可靠性不高等。②中介層方式,即提供一個應用程序負責專用的數據轉換,轉換程序是特定、專用、復雜的。在這種方式下,參與數據交換的各方必須嚴格遵循相同的規則,才能準確地對數據進行封裝和解析,因此,這一方式缺乏良好的復用性和擴展性。③數據倉庫方式,即中心數據倉庫負責提取各個分布、自治的系統數據,并對各種數據具有高度的控制權。
當前,幾乎所有的行業都存在因數據的復雜性和分布性而影響數據使用的問題。業務數據的復雜性體現在內容復雜、格式復雜、語義信息豐富、數據量龐大等方面;分布性體現在數據來自各地的不同數據庫中,缺少統一、集中的管理。數據的用戶不應局限于數據生產單位,還需要滿足科研用戶、管理用戶等其他用戶的需求,而這些用戶通常都分布在各個地方。XML的出現為行業數據中異構數據源的交互帶來了新思路和新技術,使用XML作為中間數據的交換技術,克服了傳統數據交換系統的缺點。其優點如下:具備可擴展性,允許各個組織、個人建立適合自己的置標集合;具備結構性,數據存儲格式不受顯示格式的制約,將資料的內容及其表現形式合理地分離,從而大大提高了XML數據的可理解性、可交換性和可重用性。
2 傳統XML數據更新方法
XML技術雖然有效地解決了行業數據的交換問題,有力地推動了行業信息化的進程,但是在實際應用中,由于XML數據的完整性和行業數據的特殊性,在傳輸XML格式的數據時可能伴隨著大量“無用數據”的傳輸。當一個用戶在客戶端修改一份XML數據文件時,需要將其上傳至服務器,并由服務器通知其他用戶作相應的更新。現有的方法往往是把XML數據文件整體傳輸,導致不論用戶修改多少內容,都需要把整個文件上傳至服務器,然后再由服務器把新的數據文件傳輸至其他用戶,這勢必造成資源的浪費。當XML數據較小、用戶操作不頻繁、需要同步更新的用戶數量不多時,這種浪費的影響還不明顯;當數據較大、用戶操作頻繁且需要同步更新大量用戶時,這種浪費所導致的性能影響就非常大,甚至會影響系統的實用性。
3 XML數據更新優化技術
在滿足業務數據模型規范的前提下,充分利用業務數據的邏輯關聯,將以XML數據為基本單位的傳輸方式分解為更細粒度的單位傳輸,即將XML格式的業務數據文件按照XML規范和業務知識,分解為一系列相關聯的類進行傳輸。在對XML業務數據中的某些信息進行修改時,只要按照XML規范定位到具體的元素,并將此元素對應的類傳輸給網絡中的其他結點,在接收結點中把類還原成XML元素,并根據業務規范在恰當的位置更新局部數據內容。
優化的關鍵是數據模型的劃分。合理的分解方法不僅易于理解和實現,還可以保證將最緊密相關的數據放在一個類中。這樣,當用戶修改多處數據時,可以保證涉及的類數最少。如果粒度劃分過粗,則可能失去優化的機會;如果粒度劃分過細,極端情況下附加信息的體積可能遠遠超過實際信息本身的體積,造成相反的結果。因此,劃分粒度的確定取決于具體的數據使用模式、數據修改量等諸多因素。
4 優化技術特點
要實現這種新技術,關鍵是要將XML數據按照一定規則分解。這樣做,雖然在一定程度上增加了工作量,但是用戶的使用效率得到了顯著的提高,同時也減少了網絡傳輸數據量。具體主要表現在以下三方面:①減少了數據體積,提高了系統數據服務速度。數據普遍采用了XML格式,這些格式中的大量內容是為了說明數據結構和類型,因此造成數據體積偏大,影響數據傳輸速度。如果數據發送方從數據中將這些有用信息提取出來,把原來一體的各種信息解包(分解)成為一系列數據類(獨立又相互關聯的數據塊),然后把這些數據類分別傳輸到數據接收方,再在數據接收方按照數據格式要求,把各個獨立的類打包(逆向還原)成為與原始數據格式一致的一體數據,供用戶使用,則可以有效減少數據體積,從而提高系統數據服務速度。②允許局部修改,減少了網絡傳輸數據量,提高了傳輸數據的使用率。將格式數據解包為一組數據類,可以實現在底層網絡傳輸時只發送用戶局部修改的部分而不必每次都傳輸完整的數據文件,從而有效降低數據的網絡傳輸量。③提高了用戶操作數據的能力。除了數據傳輸外,還提供了數據操作功能,其中,有些功能將涉及到數據內部信息。借助于此優化技術,系統將數據按照一定格式解包成為一系列獨立又相互聯系的數據類,并在這些類的基礎上提供數據服務,這樣可以顯著增強服務的特色和針對性,提高用戶操作數據的能力。
參考文獻
[1]趙沖沖.XML格式領域數據傳輸的優化技術研究[J].計算機科學,2009(8).
[2]張利.XML實用技術[M].北京:清華大學出版社,1999.
〔編輯:劉曉芳〕