姚金明
(山東省國土測繪院,山東 濟南 250013)
地理信息數據的處理是GIS從業人員的必備技能,也是常用功能,使用頻次較高。隨著計算機硬件的指標越來越高,如何充分挖掘計算機本身的潛力來加快數據的處理速度一直是數據處理人員考慮的問題。傳統的提高處理效率的方法主要有提高硬件配置、優化流程、改進函數算法等[1]。本文以AE開發的工具為例,探討虛擬硬盤對地理信息數據處理效率的影響。
大家熟知的硬盤主要有機械硬盤和固態硬盤,機械硬盤的讀寫速度比較慢,單位存儲空間價格便宜,適用于數據存放;固態硬盤的價格比較貴,硬盤壽命比較短,出現故障數據不易恢復,很多人會換固態硬盤來提高性能[2]。內存本身讀寫速度非常非常快,與普通的機械硬盤相比,速度有上百倍的提高,因而出現了虛擬內存技術,即將內存空間通過工具轉換成硬盤,解決了部分機械硬盤相對于CPU、顯存等其他硬件的讀寫速度瓶頸。本文將采用Primo Ramdisk進行內存的虛擬化。普通用戶一般使用虛擬硬盤存放系統臨時文件和IE緩存來加快網頁瀏覽的速度,并能減少機械硬盤的碎片化,在一定程度上能夠提高操作系統的流暢度[3-6]。
對ArcGIS的二次開發來說,效率也是一個重要的考慮因素。ArcGIS在我國GIS軟件行業具有一定的優勢[7],經過行業專家的優化之后,其函數、算法的效率對一般的開發者來說提升空間已經不大。但隨著電腦CPU計算速度的加快,硬盤系統仍是限制電腦性能的最大瓶頸,雖然現在硬盤有了長足進步,但它的速度與CPU、內存相比仍是太慢[8-9]。實踐中發現,硬盤IO(磁盤的輸入和輸出(Input和Output))的表現對于GIS矢量數據處理效率的影響是主導因素,因此,應該不斷改進和完善GIS矢量數據處理工具,并進行特殊設計[10]。本文討論在用戶硬件足夠強大的情況下(主要是內存足夠大),使用內存模擬硬盤來提高數據的讀寫效率,以加快數據處理速度[11-12]。
本文在其他軟硬件條件相同的情況下,將相同空間位置的GIS矢量數據分別在普通硬盤、固態硬盤、虛擬硬盤中,使用ArcGIS Engine二次開發工具進行處理,得出結果后對其進行分析比對。
測試環境的操作系統采用Windows Server 2008 R2 Enterprise,64位版本,使用的Microsoft.NET Framework 4.0架構,虛擬化硬盤軟件采用了Ramdisk 1.6,64位版本,硬盤速度測試軟件為Crystal Disk Mark 5.5.0,64位版本。
ArcGIS二次開發版本為ArcGIS Engine 10.0,桌面版結果查看工具為ArcGIS Desktop sp5 10.0,本文Engine對矢量數據的處理主要通過 IWorkspace2、IWorkspaceEdit、IFeatureDataset、IfeatureCursor和IFeatureClass等接口實現,transform method可以采用 affine、projective、similarity等,實現的主要功能為讀取文件夾下面所有需要處理的數據,按照國家相關要求對數據進行處理,以實現數據的公開發行[13]。山東電子地圖數據解密工具如圖1所示。
使用電腦為惠普HPE-555cn臺式機,CPU為I7-2600共4核8線程,主板為和碩2AB6,內存為三星DDR3 1 333 MHz 4 G×3共12 G,顯卡為NVIDIA GeForce GTS440,顯存3 G。其中,硬盤共3種:①傳統硬盤為西數WDC WD60PURΧ-64T0ZY0,7 200 r/min,64 M緩存,容量大小6 TB;②固態硬盤為英特爾SSDSA2M160G2HP,120 G;③Ramdisk創建的邏輯虛擬硬盤,容量大小為3 G。

圖1 山東電子地圖數據解密工具
此次實驗選取了同一空間位置的興趣點、道路和居民地數據,并按實際需求進行了數據轉換處理,涵蓋了矢量數據處理包含的點、線、面,具有較高的代表性。從表格中可以看出,使用AE開發的工具糾正處理數據時,不同的存儲裝置所需要的時間差別很大。尤其是虛擬硬盤與普通硬盤相比,速度有上百倍的提高,基本與硬盤測速軟件的結果一致。從表2、表3、表4中可以直觀看出,虛擬硬盤比傳統硬盤的效率大約有250倍提高,比固態硬盤約有1倍提高,特別是對使用頻率較高的工具來說,能節約大量時間。
普通硬盤、固態硬盤、虛擬硬盤的對比情況如表1、表2、表3、表4所示。

表1 普通硬盤、固態硬盤、虛擬硬盤測速表

表2 普通硬盤、固態硬盤、虛擬硬盤任務處理需要時間表

表3 普通硬盤、固態硬盤、虛擬硬盤時間比較表

表4 普通硬盤、固態硬盤、虛擬硬盤任務處理效率表
使用Crystal Disk Mark對3種硬盤進行了測速,其中,Seq表示順序測試,k表示IO數據的大小,Q表示隊列的深度,T表示線程數量。從表1中可以發現,虛擬硬盤比固態硬盤和普通硬盤讀寫速度分別約有幾十倍和上百倍的提高。
傳統的機械硬盤的磁頭和碟片都屬于機械裝置,其移動速度和轉速都有其極限,多年來提高并不大。固態硬盤和虛擬硬盤屬于電子裝置,其速度要快得多,尤其在使用AE二次開發工具處理GIS矢量數據寫入存儲的步驟方面。實踐發現(沒有相關公開資料介紹),在數據量稍大的情況下,會按照要素數量間隔很短的時間多次寫入,對存儲設備的響應時間要求比較高。針對這種情況,本文采用了硬件與軟件協同的方法實現了對現有存儲設備的擴展,使用虛擬硬盤對AE開發的工具進行優化,極大地提高了部分ArcGIS工具的讀寫速度,降低了數據泄密的可能性。這種方法對于使用頻率較高的工具,具有較大的提升空間和較高的參考價值。
參考文獻:
[1]何杰,郭燕妮,張博,等.基于SoPC和NFS的虛擬SATA硬盤[J].火力與指揮控制,2016,41(4):174-176.
[2]劉鵬,王煜.基于緩存系統架構的虛擬硬盤轉換方法[J].天津科技,2017,44(7):37-38.
[3]胡元元.基于虛擬硬盤技術的高校電子閱覽室分區域式管理研究[J].河南圖書館學刊,2016,36(11):52-54.
[4]闞文梟,黃秋蘭,陳剛.桌面網格環境下虛擬化技術的應用研究[J].計算機工程,2017,43(3):11-17.
[5]王德勝,張偉哲,郝萌,等.云計算環境中虛擬機內存自適應調節算法研究[J].計算機科學與探索,2017,11(1):71-78.
[6]張柳,丁忠義,許繼蘋,等.基于ArcGIS的開發區土地集約利用評價——以江蘇省銅山經濟開發區為例[J].山東國土資源,2011,27(3):46-50.
[7]王海,毛繼軍,相恒茂,等.基于ArcGIS Server的電子地圖興趣點拾取技術研究[J].山東國土資源,2013,29(8):1-2.
[8]姚金明,相恒茂,韓海豐,等.天地圖山東影像緩存方法研究與實現[J].山東國土資源,2017,33(5):78-80.
[9]魏磊,張建新.基于ArcGIS Engine無冗余地圖瓦片裁切方法的研究[J].測繪與空間地理信息,2016,39(5):146-148.
[10]張衡,李通,肖鵬,等.機載LiDAR技術在山區高速公路勘測設計中的研究與應用[J].北京測繪,2016(6):95-97.
[11]藍天.善用外力挖掘內存潛能[J].個人電腦,2013,19(4):76-77.
[12]陳新,王豪雄,吳業毅,等.利用 RAMDISK技術提高電子病歷系統的文件訪問性能[J].醫療衛生裝備,2014,35(7):67-68.
[13]田懷啟,吳滿意,張長安,等.利用ArcEngine實現基于原始影像1∶10 000調繪成果的糾正[J].測繪技術裝備, 2016(2):61-64.