濮阳杆衣贸易有限公司

主頁 > 知識庫 > 如何得到XML文檔大小

如何得到XML文檔大小

熱門標(biāo)簽:南寧網(wǎng)絡(luò)外呼系統(tǒng)運營商 r語言數(shù)據(jù)可視化地圖標(biāo)注 本地電話機器人 如何修改多個百度地圖標(biāo)注 東營電銷 400電話辦理包年 高德地圖地圖標(biāo)注服務(wù)中心 微信地圖標(biāo)注合并了 隨州外呼調(diào)研系統(tǒng)

XML文檔從格式到大小都是不是確定的。有的可能只有幾行,而有的卻有好幾兆字節(jié)。你也許會懷疑是不是需要了解XML文檔的大小。而當(dāng)性能成為首要問題時,知道XML文檔大小就是件必須要作的事情了。

 
從性能角度講,有兩類處理XML文檔的方法。批量處理方式需要較短的時間,解析成組的文檔。實時方式就是實時的處理文檔。批處理方式的性能可以通過在一定時間內(nèi)處理多少文檔來測量,而實時模式的性能也采用類似的測量方式,不過是以處理一個文檔需要多長時間來計算的。


Scenarios場景
想象一下,你有一個實時工作的系統(tǒng),比如一個Web服務(wù)器。這個系統(tǒng)需要實時的接收客戶發(fā)來的訂單,并需要立即對這個訂單進行響應(yīng)。

這個系統(tǒng)顯然不能用批量處理的方式進行。簡單的估計一下,假設(shè)這是個很簡單的訂單,只有十個項目,這樣所生成的XML文檔就比較小,大概每個文檔是4KB。這種情況下,使用DOM來解析收到文檔。

如果你的訂單每小時只有幾個,那么系統(tǒng)性能對你來說還不是問題。但是長遠考慮,總有一天訂單的數(shù)量會多到令你意識到系統(tǒng)性能必須提高。

現(xiàn)在你開始考慮提高性能來適應(yīng)增長的負荷。你的訂單文檔已經(jīng)很小了,把它們合并成較大的文檔也沒有什么實際的意義。從縱向考慮,這時候你可以提高現(xiàn)有系統(tǒng)處理能力;從橫向考慮,你可以增加更多的系統(tǒng)將負荷分散開。

再看看另一個完全不同的領(lǐng)域,你現(xiàn)在要處理的是一個大型的數(shù)據(jù)倉庫。和Web服務(wù)器完全不同,你現(xiàn)在用FTP來傳輸平均大小為300MB的XML文檔。如果還是使用DOM來解析XML文檔,你很快就會遇到大麻煩。相反,如果你使用SAX就會好的多,它可以直接解析流入的XML文檔,而不必把它們事先都裝入內(nèi)存。


改變文檔尺寸
有時候你會遇到特殊情況需要改變XML文檔大小。想象一下,和剛才一樣你有一個實時處理XML文檔的Web服務(wù)器,而此時所有的文檔大小都是400MB而不是4KB,你不能使用DOM方式,因為那太占內(nèi)存了??墒且驗檫@是個實時系統(tǒng),性能很重要。你可以使用SAX,不過需要時間允許并要有強大的處理器。

在這種情況下,你可以通過改變文檔大小來改進系統(tǒng)執(zhí)行性能。比如你可以將一個400MB的文檔分成10個40MB的,或者40個10MB的小文檔,這比起處理一個400MB的文檔更有效率。這樣你就可以使用DOM方式把文件讀入內(nèi)存進行處理,及時響應(yīng)每個文檔的請求了。同時還可以清除掉不相關(guān)的文檔。

在批量處理方式上也有類似情況。想象一下你在通過DOM的批處理方式處理數(shù)千個4KB大小的文檔。最好的方式是將一千個文件合并成一個4MB的文件。因為每個文檔的載入都需要占用系統(tǒng)時間(不論是DOM還是SAX)。通過將一千個文檔合并成一個,你只需要載入一個文檔,占用的時間只是原來的千分之一。

標(biāo)簽:寧夏 果洛 宿遷 德州 拉薩 益陽 西雙版納 黃石

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何得到XML文檔大小》,本文關(guān)鍵詞  如何,得到,XML,文檔,大小,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何得到XML文檔大小》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何得到XML文檔大小的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    和田市| 霍山县| 苗栗县| 新平| 库尔勒市| 阿克陶县| 屯昌县| 嘉鱼县| 咸宁市| 灵寿县| 上思县| 苍南县| 长武县| 抚顺县| 特克斯县| 江西省| 云龙县| 阿尔山市| 邓州市| 碌曲县| 绥芬河市| 金溪县| 上思县| 当雄县| 遵义市| 雷山县| 遂平县| 吉安县| 阿拉善盟| 宜兰县| 汕尾市| 进贤县| 肥西县| 望都县| 贵定县| 阿坝县| 和平区| 平塘县| 哈尔滨市| 汝阳县| 广丰县|