新聞中心
引 言

創(chuàng)新互聯(lián)建站擁有一支富有激情的企業(yè)網(wǎng)站制作團隊,在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕10多年,專業(yè)且經(jīng)驗豐富。10多年網(wǎng)站優(yōu)化營銷經(jīng)驗,我們已為上千多家中小企業(yè)提供了成都做網(wǎng)站、成都網(wǎng)站建設(shè)解決方案,按需定制,設(shè)計滿意,售后服務(wù)無憂。所有客戶皆提供一年免費網(wǎng)站維護!
隨著XML技術(shù)在各種應用領(lǐng)域中廣泛的使用,越來越多的數(shù)據(jù)以XML文檔形式呈現(xiàn)。如何對海量的XML文檔進行有效管理,已成為人們所研究的熱點。目前,主要有兩類技術(shù)來管理大批量XML文檔,分別是XML原生數(shù)據(jù)庫技術(shù)和關(guān)系數(shù)據(jù)庫擴展技術(shù)。前者主要以開源軟件居多,且內(nèi)部多依靠Xpath、XQuery技術(shù)實現(xiàn),現(xiàn)已有eXist、MonetDB/XQuery和BaseX等十余款產(chǎn)品;后者基本上是成熟的商業(yè)關(guān)系數(shù)據(jù)庫,通過附加插件的方式,以增加對XML文檔管理的能力,代表產(chǎn)品有IBM的PureXML、Oracle的XDK等。
伴隨著XML文檔管理技術(shù)的發(fā)展,衡量各種技術(shù)的處理效率的要求也日益增長。XML基準測試是一種衡量XML文檔管理技術(shù)的測試方法。對開發(fā)者而言,通過XML基準測試,可以衡量已有技術(shù)的處理效率,對未來的開發(fā)有指導意義;對用戶來說,它的結(jié)果是選擇XML文檔管理產(chǎn)品時的可靠依據(jù)。
XML基準測試簡介從1999年FK提出XML 數(shù)據(jù)向關(guān)系數(shù)據(jù)庫映射效率問題起,到2001年首個開源產(chǎn)品Xmach-1面世,再到2007年首個有工業(yè)支持背景的TpoX,其間出現(xiàn)了多種XML基準測試。截止2010年,共有Xmach-1、Xmark、MBench等十余款產(chǎn)品面世。其設(shè)計出發(fā)點、測試重點、實現(xiàn)機制各不相同。本文挑選了在實際應用中獲得廣泛使用的五種主流基準測試作為研究對象進行闡述。 Xmach-1是萊比錫大學E. Rahm與T. B?hme在2000年研發(fā)的一款多用戶基準測試。其系統(tǒng)框架包括XML數(shù)據(jù)庫、應用服務(wù)器、數(shù)據(jù)負載器和用戶端瀏覽器。其不僅是第一款開源產(chǎn)品,也是第一款面向多用戶的基準測試。 Xmark是CWI小組的R. Busse、M. Carey等人在2003年提出的。它是單用戶級別的基準測試。它模擬了一個網(wǎng)絡(luò)拍賣的應用環(huán)境。與其他測試不同的是,它只采用了一個容量可伸縮,最大可達10GB的XML文件,作為測試基礎(chǔ)數(shù)據(jù)。 Xbench是滑鐵盧大學B.Yao與M. Tamer ?zsu等人與2002年提出。其將實際中的XML文檔應用,按單、多文檔和數(shù)據(jù)集中、文本集中等特征進行交叉劃分,分為四類應用類型?;诟鞣N類型,有不同的測試策略。 XOO7是在完善的OO7基準測試的基礎(chǔ)上,U. Nambiar等人在2001年擴充完成的。其出發(fā)點是測試基于面向?qū)ο蠹夹g(shù)的數(shù)據(jù)庫管理系統(tǒng),對XML文檔的處理能力。 TpoX是M. Nicola和A. Gonzalez等人在2007年提出的。與前述基準測試不同,TpoX項目的參與人員均來自商業(yè)公司,是第一款有工業(yè)背景的基準測試。它模擬了一個多用戶的金融應用環(huán)境。
比較與分析 盡管各種測試的研發(fā)出發(fā)點和實現(xiàn)技術(shù)各不相同,但其執(zhí)行流程都遵循如下順序:先生成測試場景,再基于場景生成測試基礎(chǔ)數(shù)據(jù),最后再使用XQuery對數(shù)據(jù)進行操作,即輸出最終的測試用例。以下也從該三方面進行比較與分析。
測試場景 測試場景是與待測試軟件的執(zhí)行相對應的一個活動場景,由一系列活動按照一定的順序組成,它描述了系統(tǒng)的典型活動過程,是系統(tǒng)業(yè)務(wù)特性的一種體現(xiàn)。一個設(shè)計優(yōu)秀的測試場景,將使測試更符合實際使用情況,揭示出產(chǎn)品在現(xiàn)實應用中的真實表現(xiàn)。 Xmach-1的測試場景是構(gòu)建了一個多用戶的圖書論文管理系統(tǒng),共有目錄文檔和受管文檔兩類文檔,其各自又包含結(jié)構(gòu)化數(shù)據(jù)和文本數(shù)據(jù)兩種數(shù)據(jù)類型。測試場景映射為數(shù)據(jù)庫的ER圖后,包含文檔、題目、章節(jié)、作者名等共8個實體,及這些實體之間的18個相互關(guān)系。 Xmark的測試場景是構(gòu)建了一個單用戶的網(wǎng)絡(luò)拍賣站點,模擬一個注冊用戶從挑選拍賣品開始,到出價定拍結(jié)束的整個流程。其主要實體有注冊用戶、拍賣品、出價等共6個,其之間交互關(guān)系有9個。 Xbench將測試場景依據(jù)應用特性和數(shù)據(jù)特性分為四類:DC/SD、DC/MD、TC/SC和TC/MD。其分別模擬不同的在線應用,如DC/SD模擬一個在線購物網(wǎng)站,DC/MD為B2B系統(tǒng)。但總體來說,其性質(zhì)還是偏向電子商務(wù)類的應用系統(tǒng)。四類中最為復雜的DC/SD,其實體包括日期、發(fā)布者等十余個,關(guān)系也達到了數(shù)十個。從數(shù)量上來說,是五種基準測試中最多的。 XOO7可以說是OO7基準測試的XML版,其測試場景也是依據(jù)OO7而設(shè)定。構(gòu)建了一個用戶交互頻繁的電子商務(wù)系統(tǒng)。實體包括用戶信息、基本匯集信息等共11個,關(guān)系也達到了42條。是本次比較中,實體數(shù)僅次于Xbench的。 TpoX是五種基準測試中面世最晚的,其在場景設(shè)計中,也借鑒了先前各種方法的經(jīng)驗。它仍然是構(gòu)建一個基于Web的電子商務(wù)系統(tǒng),但其實體數(shù)只有用戶、賬戶等共5個,其關(guān)系沒有事先指定,而是封裝在了41個外部的XSD文件中。這樣,在測試過程中,可以從XSD文件中靈活地選擇搭配,來組合出符合測試者關(guān)注點的測試場景。 測試數(shù)據(jù) 測試數(shù)據(jù)是指依據(jù)已有的測試場景,遵循實體--關(guān)系的定義,自動生成的大批量基礎(chǔ)數(shù)據(jù)。是在實際測試前,生成并輸入到數(shù)據(jù)庫中,做為測試用例的數(shù)據(jù)輸入。衡量測試數(shù)據(jù)是否有效,一般從數(shù)據(jù)量和數(shù)據(jù)生成方式兩方面進行。過小規(guī)模的數(shù)據(jù)量,無法模擬真實的使用環(huán)境;通過簡單的隨機方式生成的數(shù)據(jù),也無法有效地反映XML文檔管理系統(tǒng)的處理效率。 表1從默認數(shù)據(jù)集容量、生成方式及種子來源三個方面對五種基準測試進行了比較。
表1 測試數(shù)據(jù)比較
XQuery支持
W3C于2001年12月提出了XML查詢語言規(guī)范—XQuery語言。XQuery是一種對XML結(jié)構(gòu)的文檔和數(shù)據(jù)進行查詢的語言,它汲取了其它多種查詢語言的優(yōu)點,適用于各種類型的XML數(shù)據(jù)源的查詢,而且簡潔靈活易于實現(xiàn)。
當前幾乎絕大多數(shù)的XML文檔管理系統(tǒng),都是基于XQuery來實現(xiàn)對XML文檔的CRUD操作。相應的,五種基準測試均不同程度上使用了XQuery技術(shù),來生成測試用例,以檢驗XML文檔管理的處理效率。
W3C制定的XML Query Use Case中舉出了XQuery操作實例,五種基準測試均借鑒了其操作方式。為便于比較,將操作實例映射為數(shù)據(jù)庫的增加、查詢、更新與刪除操作(CRUD)。表2給出了各基準測試對XQuery支持的情況。
需要指出的是,所生成的XQuery,依賴于被測的XML文檔管理系統(tǒng)。如TpoX所生成的XQuery查詢語句針對DB2進行了許多優(yōu)化,使得其七個語句充分擴展后,可以支持CRUD四種操作。
測試數(shù)據(jù)比較 3
現(xiàn)有問題 XML基準測試目前已經(jīng)在眾多實際XML數(shù)據(jù)集中的項目中,得到廣泛應用:Amsterdam大學在ILPS項目中使用了xmach-1;Berkeley大學的B. Yanbin等人的XSet搜索引擎中使用了XBench;TPox在10T數(shù)據(jù)規(guī)模的實驗室環(huán)境中,成功地進行了測試。 盡管XML基準測試在實際應用有不錯的表現(xiàn),但其仍存在一些問題: 1)生成的部分XQuery語句已經(jīng)過時,與W3C標準不兼容 L. Afanasiev以Galax、SaxonB等以Native XML數(shù)據(jù)庫存儲XML文檔,進行了XMach-1、XOO7共5款基準測試,發(fā)現(xiàn)在總共生成的163個XQuery語句中,有62個不符合W3C標準。XOO7由于開發(fā)版本較早,其22個語句竟然無一符合。 由于XML具有高度的自由性,盡管不符合W3C標準,仍能被處理。但W3C標準代表了業(yè)界開發(fā)標準,越來越多的產(chǎn)品以W3C標準作為開發(fā)規(guī)范。XML基準測試如不能與W3C標準較好兼容的話,其測試結(jié)果將不能真實體現(xiàn)這些產(chǎn)品的實際性能。 2)測試場景單一,與實際使用的系統(tǒng)相差較大 按測試場景的應用領(lǐng)域來分,Xmach-1模擬了圖書論文管理系統(tǒng),其余四款均是模擬了在線的電子商務(wù)系統(tǒng)。但對近年來大規(guī)模應用XML的社交網(wǎng)絡(luò)、e-learning系統(tǒng),以上五種測試均未涉及。此外,在已模擬的電子商務(wù)場景中,各種測試生成的模擬操作均是成功的流程用例。但實際環(huán)境中,存在大量的交易取消和交易失敗的情況。Xbench對場景進行了細分,是五種測試中場景定義最好的,但也存在生成的用例,難以達到復雜應用對系統(tǒng)輸入的要求。 3)測試數(shù)據(jù)類型只基于ASCII碼;內(nèi)容缺乏針對性;生成方式單一 五種基準測試生成的測試數(shù)據(jù),絕大多數(shù)都是基于ASCII字符集的英文語系內(nèi)容,沒有設(shè)計其他語種的文字內(nèi)容。在軟件開發(fā)國際化要求越來越突出的背景下,不支持多語種大字符集(如Unicode)的基準測試,很難得到廣泛應用。 此外,測試數(shù)據(jù)的內(nèi)容過于寬泛,缺乏針對性。在使用非隨機數(shù)的基準測試中,Xmach-1使用的是純詞頻優(yōu)先方式,對出現(xiàn)在主流報刊的詞匯進行挑選;Xbench選擇了牛津詞典作為數(shù)據(jù)來源;Xmark與Xmach-1類似,將常見的詞匯作為數(shù)據(jù)來源。這樣所選取的數(shù)據(jù),內(nèi)容覆蓋過廣,缺乏代表性,不能較好體現(xiàn)被測系統(tǒng)所面向特定領(lǐng)域的特點。如藥品的拉丁文英文譯名在實際情況下,極少出現(xiàn)在一家出售家用電器的B2B系統(tǒng)中。 生成方式單一也有可能會導致數(shù)據(jù)質(zhì)量不高。除Xbench使用了概率模型,其他幾種主要使用了隨機生成方法。由于隨機種子的限制,很難保證數(shù)據(jù)不出現(xiàn)重復。而數(shù)據(jù)重復現(xiàn)象,在TB級別的數(shù)據(jù)生成時,將較大影響測試效果。
結(jié) 論 XML基準測試是一種衡量XML文檔管理技術(shù)的測試方法。本文從測試場景、測試數(shù)據(jù)和對XQuery支持三方面對五種主流的XML基準測試進行了比較與分析。此后,指出了其現(xiàn)存的問題。 XML基準測試在實際應用中使用頻率逐漸增加,日益得到人們認可。如能在未來的研發(fā)過程中,不斷完善功能,彌補自身現(xiàn)有缺陷,將成為評測XML文檔管理技術(shù)的有力工具。
本文標題:幾種XML基準測試的比較與分析
文章網(wǎng)址:http://fisionsoft.com.cn/article/djdhjic.html


咨詢
建站咨詢
