黃利民,張 德,柯希林
1.西安測繪研究所,陜西 西安,710054;2.地理信息工程國家重點(diǎn)實(shí)驗(yàn)室,陜西 西安,710054
?
基于國產(chǎn)軟硬件平臺的數(shù)字地圖顯示策略
黃利民1,2,張 德1,2,柯希林1,2
1.西安測繪研究所,陜西 西安,710054;2.地理信息工程國家重點(diǎn)實(shí)驗(yàn)室,陜西 西安,710054
推進(jìn)國產(chǎn)軟硬件平臺應(yīng)用,是國家戰(zhàn)略和信息安全的需要。本文簡介了國產(chǎn)軟硬件平臺的發(fā)展情況,針對基于該平臺矢量地圖顯示及漫游慢的問題,開展了國產(chǎn)軟硬件性能測試、矢量地圖顯示各環(huán)節(jié)時(shí)間分布測試和矢量地圖顯示性能優(yōu)化試驗(yàn),證實(shí)主要原因是國產(chǎn)CPU的性能低。為此,提出了顯示瓦片地圖的應(yīng)用新模式,并對瓦片地圖模式下如何實(shí)現(xiàn)查詢量算和地圖分析等問題提出了解決辦法,從而實(shí)現(xiàn)國產(chǎn)軟硬件平臺上數(shù)字地圖的實(shí)用化。
國產(chǎn)軟硬件;數(shù)字地圖;瓦片地圖;顯示
2006年,國家把“核心電子器件、高端通用芯片及基礎(chǔ)軟件”(即基礎(chǔ)軟硬件平臺,簡稱“核高基”)確立為國家重大專項(xiàng)之一[1,2]?!昂烁呋笔?1世紀(jì)電子信息產(chǎn)業(yè)國際競爭的制高點(diǎn),是體現(xiàn)強(qiáng)國地位的重要標(biāo)志,對于提升我國電子信息產(chǎn)業(yè)核心競爭力至關(guān)重要[3];同時(shí),基礎(chǔ)軟硬件平臺事關(guān)國家信息安全,不僅有助于消除我國電子政務(wù)、國防等方面的安全隱患,更有利于改變我國一直以來在信息安全領(lǐng)域的被動局面,其重大意義不言而喻[4,5]。目前,我國在自主可控基礎(chǔ)軟硬件產(chǎn)品研發(fā)方面取得了一定的進(jìn)展:在高端通用芯片方面,自主研發(fā)了龍芯 3號系列CPU等處理器;在基礎(chǔ)軟件方面,已基于開源軟件成功開發(fā)出中標(biāo)麒麟操作系統(tǒng)、達(dá)夢數(shù)據(jù)庫等軟件[6]。
數(shù)字地圖,特別是具有精確坐標(biāo)和控制點(diǎn)的數(shù)字地圖,是國家的重要保密資源,理應(yīng)運(yùn)行在自主可控的國產(chǎn)軟硬件平臺上。本文基于國產(chǎn)軟硬件平臺介紹了數(shù)字地圖顯示中遇到的問題,通過測試和優(yōu)化試驗(yàn),分析了基于國產(chǎn)平臺數(shù)字地圖顯示和漫游緩慢的原因,最后提出了數(shù)字地圖應(yīng)用新模式。
數(shù)字地圖顯示選用了國產(chǎn)軟硬件平臺中的龍芯CPU、中標(biāo)麒麟操作系統(tǒng)和達(dá)夢數(shù)據(jù)庫,即龍芯+麒麟+達(dá)夢,這是國產(chǎn)軟硬件平臺的典型應(yīng)用模式之一。
龍芯CPU由中國科學(xué)院計(jì)算技術(shù)所研制,其中較為先進(jìn)且穩(wěn)定成熟的是龍芯3A處理器,采用65nm 工藝,4核,主頻為900MHz~1GHz。麒麟(Kylin)操作系統(tǒng)由國防科技大學(xué)研制,是首家通過公安部計(jì)算機(jī)信息系統(tǒng)安全產(chǎn)品質(zhì)量監(jiān)督檢查中心第四級結(jié)構(gòu)化保護(hù)級檢測、也是目前國內(nèi)安全等級最高的操作系統(tǒng)[6]。達(dá)夢數(shù)據(jù)庫是武漢達(dá)夢公司推出的具有完全自主知識產(chǎn)權(quán)的高性能數(shù)據(jù)庫管理系統(tǒng),其最新版本為7.0,簡稱DM7。
數(shù)字地圖顯示一般有3種模式:一是單機(jī)模式,軟件、地理數(shù)據(jù)全部安裝在1臺計(jì)算機(jī);二是局域網(wǎng)的客戶機(jī)/服務(wù)器模式(即C/S模式),地理數(shù)據(jù)安裝在服務(wù)器上,軟件安裝在計(jì)算機(jī)終端;三是網(wǎng)絡(luò)瀏覽服務(wù)模式(即B/S模式),地理數(shù)據(jù)和軟件均安裝在數(shù)據(jù)中心的服務(wù)器上,通過瀏覽器顯示地圖?;谖④洸僮飨到y(tǒng)+x86 平臺,第一、二種模式數(shù)字地圖顯示時(shí)通常直接調(diào)用矢量地圖進(jìn)行顯示。矢量地圖具有存儲數(shù)據(jù)量小、可隨意調(diào)整顯示的地圖要素以及可用于地形分析等優(yōu)點(diǎn)。第三種模式由于通過網(wǎng)絡(luò)提供服務(wù),考慮網(wǎng)絡(luò)速度慢的因素,數(shù)字地圖顯示一般調(diào)用數(shù)據(jù)中心的瓦片地圖進(jìn)行顯示。瓦片地圖需專門制作,分為多級,和矢量地圖相比,存儲數(shù)據(jù)量較大,但計(jì)算機(jī)終端單次顯示瓦片地圖時(shí)因只需要這一級的當(dāng)前區(qū)域數(shù)據(jù),其數(shù)據(jù)量很小,從而實(shí)現(xiàn)流暢顯示的效果。利用瓦片地圖顯示其實(shí)質(zhì)采用了“空間換時(shí)間”的技術(shù)策略。本文研究的是第一、二種模式的數(shù)字地圖顯示策略。
在國產(chǎn)軟硬件環(huán)境下,計(jì)算機(jī)運(yùn)行性能比x86+微軟操作系統(tǒng)平臺下慢5~10倍[7]。單機(jī)或局域網(wǎng)模式下的矢量地圖顯示速度究竟如何?筆者進(jìn)行了試驗(yàn)。
(1)測試環(huán)境
●龍芯+Kylin+DM:龍芯3A 四核 2GHz,內(nèi)存 4G,Kylin3.2,DM7
●X86+Kylin+DM: Intel Q9500 四核2.83GHz,內(nèi)存 2G,Kylin3.2,DM7
(2)測試及結(jié)果
矢量地圖顯示速度一般包括2個重要性能指標(biāo),一是首次調(diào)用并顯示一幅地圖的時(shí)間;二是地圖漫游時(shí)間。一般一幅中等密度1∶5萬矢量地圖首次調(diào)用并顯示時(shí)間:≤3秒為較好,≤5秒為可用,>5秒為可用性差;一幅中等密度1∶5萬矢量地圖進(jìn)行二維漫游1/3幅面顯示平均時(shí)間:≤1秒為較好,≤3秒為可用,>3秒為可用性差。
為了論證在國產(chǎn)環(huán)境下的矢量地圖顯示時(shí)間,基于X86+Kylin+DM、龍芯+Kylin+DM進(jìn)行了對比測試,測試數(shù)據(jù)為一幅1∶5萬矢量地圖,地圖要素密度為中等,經(jīng)20次測試,平均測試時(shí)間見表1。
表1 一幅矢量地圖首次調(diào)用并顯示時(shí)間測試(單位:s)
時(shí)間龍芯+Kylin+DMx86+Kylin+DM單機(jī)環(huán)境6.8212.682客戶機(jī)/服務(wù)器網(wǎng)絡(luò)環(huán)境9.5724.752
測試結(jié)果表明,基于X86+Kylin+DM,首次調(diào)用并顯示一幅地圖的時(shí)間在單機(jī)環(huán)境可達(dá)到較好要求,在客戶機(jī)/服務(wù)器網(wǎng)絡(luò)環(huán)境可達(dá)到可用要求;基于龍芯+Kylin+DM,首次調(diào)用并顯示一幅地圖的時(shí)間在單機(jī)環(huán)境或客戶機(jī)/服務(wù)器網(wǎng)絡(luò)環(huán)境均大于5秒,屬于可用性差范圍。
另外,筆者也對地圖漫游時(shí)間進(jìn)行了測試,測試表明:單機(jī)顯示屏幕分辨率為1024*768,基于X86+Kylin+DM,無論單機(jī)環(huán)境或客戶機(jī)/服務(wù)器網(wǎng)絡(luò)環(huán)境,一幅1∶5萬矢量地圖進(jìn)行二維漫游1/3幅面顯示時(shí)間均小于2秒,為可用;基于龍芯+Kylin+DM,無論單機(jī)環(huán)境或客戶機(jī)/服務(wù)器網(wǎng)絡(luò)環(huán)境,一幅1∶5萬矢量地圖進(jìn)行二維漫游1/3幅面顯示時(shí)間均大于5秒,可用性差。
從上面的數(shù)字地圖顯示測試可知,基于龍芯+Kylin+DM,無論單機(jī)環(huán)境或客戶機(jī)/服務(wù)器網(wǎng)絡(luò)環(huán)境,首次調(diào)用并顯示一幅地圖的時(shí)間均大于5秒,漫游1/3地圖幅面顯示時(shí)間均大于5秒,為可用性差范圍。為了深入分析顯示慢的原因,筆者進(jìn)行了更為細(xì)致的測試。
測試環(huán)境為:
●龍芯+ Kylin:龍芯3A 四核 2GHz,內(nèi)存 4G,Kylin 3.2
●X86+ Kylin: Intel Q9500 四核 2.83GHz,內(nèi)存 2G,Kylin 3.2
●X86+windows: Intel Q9500 四核2.83GHz,內(nèi)存 2G windows xp
3.1 性能對比測試
先用冒泡排序算法對隨機(jī)生成的一組浮點(diǎn)數(shù)進(jìn)行排序,測試CPU計(jì)算性能,試驗(yàn)結(jié)果見表2。
表2 浮點(diǎn)數(shù)排序時(shí)間測試(單位:s)
個數(shù)龍芯+Kylinx86+KylinX86+Windows1萬8.5800000.8900000.2350005萬222.70000022.2900005.64000010萬892.54000089.12000022.672000
再用冒泡排序算法對隨機(jī)生成的一組整數(shù)進(jìn)行排序,測試CPU計(jì)算性能,試驗(yàn)結(jié)果見表3。
表3 整數(shù)排序時(shí)間測試(單位:s)
個數(shù)龍芯+Kylinx86+KylinX86+Windows1萬4.7400000.4000000.1710005萬121.92000010.2600004.40600010萬491.90000041.11000017.625000
從測試結(jié)果分析,操作系統(tǒng)同為Kylin,龍芯平臺浮點(diǎn)數(shù)運(yùn)算需要的時(shí)間約為X86平臺浮點(diǎn)運(yùn)算時(shí)間的10倍,整數(shù)運(yùn)算時(shí)間的12倍;硬件平臺同為X86,Kylin操作系統(tǒng)下浮點(diǎn)數(shù)運(yùn)算時(shí)間約為windows操作系統(tǒng)下浮點(diǎn)數(shù)運(yùn)算時(shí)間的4倍,整數(shù)運(yùn)算時(shí)間的2.3倍。由此可見,操作系統(tǒng)相同(均為Kylin),龍芯平臺和X86平臺的計(jì)算性能相差10倍以上;而硬件平臺相同(同為X86),操作系統(tǒng)Kylin和windows 環(huán)境的計(jì)算性能相差為2~4倍。由此可見,不同平臺下計(jì)算能力的差別主要是由硬件CPU的性能引起。
3.2 矢量地圖顯示時(shí)間分布測試
矢量地圖顯示主要包括數(shù)據(jù)訪問調(diào)用、地圖符號化顯示、地圖注記顯示等環(huán)節(jié)。測試環(huán)境為單機(jī)的龍芯+Kylin和x86+Kylin,測試數(shù)據(jù)為一幅1:5萬矢量地圖,地圖要素密度為中等,經(jīng)20次測試,矢量地圖顯示各環(huán)節(jié)平均測試時(shí)間見表4。
表4 單機(jī)環(huán)境矢量地圖顯示各環(huán)節(jié)時(shí)間分布測試(單位:s)
從測試結(jié)果可知,在這兩種環(huán)境下,地圖符號化顯示所用時(shí)間均為最多,約占總時(shí)間的40%~50%;顯示所用時(shí)間從多到少的順序均為地圖符號化顯示、數(shù)據(jù)訪問調(diào)用和地圖注記顯示,且這三個環(huán)節(jié)所用時(shí)間占總時(shí)間的比例基本相當(dāng)。
4.1 矢量地圖顯示性能優(yōu)化試驗(yàn)
充分發(fā)揮龍芯CPU的多核多線程能力是提升矢量地圖顯示性能的有效途徑,為此進(jìn)行了優(yōu)化試驗(yàn),把矢量地圖顯示分解為界面線程、數(shù)據(jù)查詢線程、圖形繪制線程(多個)。
界面線程負(fù)責(zé)當(dāng)前顯示范圍的縮放與漫游調(diào)整,以及處理貼圖、繪制網(wǎng)格線等不占時(shí)間的繪制操作,避免阻塞控制。
數(shù)據(jù)查詢線程負(fù)責(zé)從文件或數(shù)據(jù)庫中查詢出待繪制的數(shù)據(jù)內(nèi)容,同時(shí)對數(shù)據(jù)進(jìn)行符號搭配等處理,轉(zhuǎn)換成繪制所需要的中間結(jié)果后放入產(chǎn)品隊(duì)列,再由繪制線程從產(chǎn)品隊(duì)列中取出數(shù)據(jù)進(jìn)行繪制。將數(shù)據(jù)查詢線程從繪制線程中分離出來,可避免由于多個繪制線程同時(shí)對數(shù)據(jù)訪問帶來的狀態(tài)競爭。
圖形繪制線程可按兩種方式進(jìn)行多線程處理,一是按“片”多線程處理;二是按“層”多線程處理。
(1)按“片”多線程處理:將顯示內(nèi)容按照指定大小打好格子,不同格子交由不同的線程來處理,從中心向周邊逐塊繪制每個格子中的地圖內(nèi)容并顯示,如圖1所示。
圖1 按“片”多線程顯示矢量地圖
(2)按“層”多線程處理:將二維繪制中點(diǎn)、線、面要素分離到獨(dú)立的線程中,各自完成相應(yīng)的要素繪制后將繪制結(jié)果交由顯示線程,由顯示線程負(fù)責(zé)將相應(yīng)的結(jié)果按順序疊加顯示,如圖2所示。圖3為全部內(nèi)容顯示完后的結(jié)果。
圖2 按“層”多線程顯示矢量地圖
圖3 矢量地圖全部顯示的效果
通過優(yōu)化試驗(yàn)可知,多線程顯示機(jī)制可使矢量地圖顯示的響應(yīng)時(shí)間明顯提高,即用戶不用長久等待,顯示屏很快就有圖形顯示出來,但矢量地圖全部顯示完成的總時(shí)間變化不大。分析其原因,主要是因?yàn)榍捌趧澐譃槎嗑€程時(shí)需耗費(fèi)較多時(shí)間,雖然后期采用多線程減少了時(shí)間,前后時(shí)間相抵,總時(shí)間變化不大。由此可見,基于當(dāng)前國產(chǎn)軟硬件平臺矢量地圖顯示速度還不能達(dá)到可用的水平。
4.2 數(shù)字地圖顯示新模式
通過對國產(chǎn)軟硬件環(huán)境的性能測試和矢量地圖顯示性能測試及優(yōu)化試驗(yàn)可知,如國產(chǎn)CPU性能不提升,矢量地圖顯示效率還不能達(dá)到可用的水平。既然如此,只有尋找一種新的國產(chǎn)軟硬件環(huán)境下的數(shù)字地圖顯示模式。網(wǎng)絡(luò)服務(wù)模式中的瓦片地圖顯示是一種可考慮的方式,從理論上分析是可行的。為此,筆者對單機(jī)和局域網(wǎng)環(huán)境下的瓦片地圖顯示效率進(jìn)行試驗(yàn)。
瓦片地圖是指將配置好的一定坐標(biāo)范圍的地圖,按照固定的若干個比例尺(瓦片級別)和指定圖片尺寸,切成若干行及列的正方形圖片,以指定的格式保存成圖像文件,按一定的命名規(guī)則和組織方式存儲到文件系統(tǒng)中或是數(shù)據(jù)庫系統(tǒng)里,形成金字塔模型的靜態(tài)地圖。瓦片地圖金字塔模型是一種多分辨率層次模型,從瓦片金字塔的底層到頂層,分辨率越來越低,但表示的地理范圍不變[8]。根據(jù)瓦片地圖原始數(shù)據(jù)的來源可分為矢量瓦片地圖、專題圖瓦片地圖等。
測試環(huán)境為:龍芯+Kylin+DM:龍芯3A 四核 2GHz,內(nèi)存 4G,Kylin3.2,DM7
試驗(yàn)數(shù)據(jù)為16幅1∶5萬地圖范圍的矢量瓦片,數(shù)據(jù)采用瓦片金字塔模型組織。
試驗(yàn)結(jié)果表明,一幅瓦片地圖首次調(diào)用并顯示時(shí)間≤2秒,二維漫游1/3幅面顯示時(shí)間≤1秒,均為較好水平,可以滿足地圖顯示與漫游的指標(biāo)要求。
瓦片地圖雖然具有單次顯示所需數(shù)據(jù)量小因而顯示速度快的優(yōu)點(diǎn),但它也具有總數(shù)據(jù)量大、顯示圖層不能任意調(diào)整、不能用于查詢量算和地形分析等缺點(diǎn)。那么,在單機(jī)和局域網(wǎng)環(huán)境下采用瓦片地圖顯示模式后如何滿足用戶的需求呢?這主要涉及以下幾個問題:(1)瓦片地圖從哪里來?(2)用戶如需對顯示圖層進(jìn)行調(diào)整,怎么辦?(3)如何滿足用戶對查詢量算的需求?(4)如何滿足用戶對地形分析的需求?
在采用瓦片地圖顯示的模式下,瓦片地圖主要有兩種來源:一是瓦片地圖將作為一種數(shù)字地圖產(chǎn)品,可直接配發(fā)或購買;二是用戶軟件具有瓦片地圖制作功能,用戶可根據(jù)需求自己制作瓦片地圖,特別是一些專題圖,只能自行制作。如用戶對顯示的地圖圖層有調(diào)整的需求,這種地圖列入專題圖范疇,先由后臺人員預(yù)先制作成瓦片地圖。對于用戶在查詢量算和地形分析方面的需求,可在瓦片地圖后臺部署矢量地圖,利用矢量地圖進(jìn)行查詢量算或地形分析后再返回到前臺進(jìn)行顯示,從而實(shí)現(xiàn)相關(guān)功能。
本文針對國產(chǎn)軟硬件平臺上單機(jī)環(huán)境和客戶機(jī)/服務(wù)器網(wǎng)絡(luò)環(huán)境矢量地圖顯示及漫游速度慢、可用性差的問題,進(jìn)行了原因分析,開展了國產(chǎn)軟硬件性能測試、矢量地圖顯示各環(huán)節(jié)時(shí)間分布測試和矢量地圖顯示性能優(yōu)化試驗(yàn),通過性能測試和優(yōu)化試驗(yàn),證實(shí)矢量地圖顯示速度慢的主要原因是國產(chǎn)CPU的性能低;為此,提出了在單機(jī)環(huán)境和客戶機(jī)/服務(wù)器網(wǎng)絡(luò)環(huán)境顯示瓦片地圖的應(yīng)用新模式,并對由此產(chǎn)生的瓦片地圖從哪里來、顯示圖層調(diào)整、查詢量算和地形分析問題,提出了解決辦法,從而實(shí)現(xiàn)了國產(chǎn)軟硬件平臺上地圖顯示的實(shí)用化。
[1]國務(wù)院.國家中長期科學(xué)和技術(shù)發(fā)展規(guī)劃綱要(2006-2020年)[S].2006.
[2]科技部.國家“十二五”科學(xué)和技術(shù)發(fā)展規(guī)劃[S].2006.
[3]國家科技重大專項(xiàng).核心電子器件、高端通用芯片及基礎(chǔ)軟件產(chǎn)品專項(xiàng)[S].2009.
[4]胡曉荷.院士為我國基礎(chǔ)部件國產(chǎn)化率低“號脈”[J].信息安全與通信保密,2011(5):22-24.
[5]徐婧,姜禾,張勐.自主可控的基礎(chǔ)軟硬件平臺將產(chǎn)生重大突破[J].中國科學(xué)院期刊,2013,28(5):605-607.
[6]程健,吳蔚.國產(chǎn)化計(jì)算平臺在指揮控制系統(tǒng)中的應(yīng)用研究[J].自動化與信息工程,2011(3):41-44.
[7]唐偉廣,文義紅.國產(chǎn)軟硬件環(huán)境下圖像組織瀏覽構(gòu)件設(shè)計(jì)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2013(3):86-88.
[8]黃夢龍. 瓦片地圖技術(shù)在桌面端GIS中的應(yīng)用[J]. 地理空間信息,2011,9(4):149-151.
Display Strategy of Digital Map Based on Home Software and Hardware Platform
Huang Limin1,2, Zhang De1,2, Ke Xilin1,2
1. Xi’an Research Institute of Surveying and Mapping, Xi’an 710054,China 2. State Key Laboratory of Geo-information Engineering, Xi’an 710054,China
It is the requirement of state strategy and information safety to promote the application of home software and hardware platform. This paper briefly introduces the development of home software and hardware platform. Based on the problem of slow speed in traditional vector map displaying and roaming, the paper conducts the experiments on home software and hardware capacity, time distribution of every aspect in map display and vector map display capacity optimization. The experiments show that the main cause of slowness is poor performance in CPU. Therefore the paper puts forward a new application mode of tile map display and the solutions to deal with the information query, map measurement and map analysis. Thus it realizes the practicability of digital map based on the home software and hardware platform.
home software and hardware; digital map; tile map; display
2015-04-19。
黃利民(1968—),男,高級工程師,主要從事數(shù)字地圖應(yīng)用方面的研究。
P
A