文章轉載自:戴爾易安信解決方案 微信公眾號
在沒有紙張,也沒有簡牘的時代,古代中國的地圖繪製在哪裡呢?
答案,是鼎上。
《漢書·郊祀志》記載,大禹治水成功後,用九州進貢的金屬,鑄造了九隻大鼎,把九州有代表性的各種奇異之物、山川河流的地形分布鐫刻在其上。據此可知,九鼎是見於文獻記載的、刻繪有九州山川形勢的原始實物地圖。
隨著歷史的發展,地圖的形式也在不斷變化著,先秦到兩漢時期,先後出現了帛、紙質的地圖。
而到了今天,對於我們來說,找到自己的地理位置和方向已經變得更加簡單,因為我們已經有了數字時代的「地圖導航軟體」。
地圖軟體為我們帶來了極大的便利,節約了很多的出行時間,比如避免堵車。可是大家有沒有想過,地圖軟體是如何知道前方擁堵的?是如何知道這段路上有違章監控的,又是如何在眾多線路中選擇最佳路線的呢?
今天,讓我們來揭開
這些地圖軟體強大功能
背後的神秘力量
☟☟☟
小小的地圖軟體
數據從何而來
與銘刻在九鼎上的地圖和帛、紙地圖不同的是,現代地圖軟體擁有更多的功能。比如我們上文所說的對行車線路進行規劃。
要想掌控全局並對線路進行指引,首先要有最基礎的地理信息數據。舉個簡單的例子:一個地區有多少條街道,這些街道的準確位置,每條街道多寬、多長等。有了這些基礎數據,加上軟體的算法,才能實現地圖軟體的功能。所以基礎地理信息數據非常重要,是所有地圖導航軟體的基石,一般來說,主流的數據來源分為四類:
❶ 高空拍攝:使用專業航空器從空中拍照片
❷ 數據共享:從專業領域獲取數據
❸ 實地採集:使用專業測繪儀器
❹ 互相幫助:用戶上報更新環境
其中前兩項是數據的主要來源。由於我國的高空拍攝管控嚴格,地理基礎數據一般不對外,所以很多數據要從專門的測繪機構獲取。
該測繪機構一部分職責是管理全國測繪成果資料和檔案資料,在這裡,我國的山川河流、平原丘陵,各種地形地貌都被電子化和數位化了,為石油勘探、農業牧業、軌道交通等各行各業提供地形保障,是國家非常重要的部門,其所存儲的地理信息之全面,堪稱數字時代的「九鼎圖」。
海量的地理信息
數據如何存儲
前端人員非常辛苦地將數據採集回來,並被電子化之後,這些寶貴的數據存儲在哪裡呢?
01
巨量的數據
電子化之後的地理信息,是通過不同的層次來描述的。對於不同的應用,疊加的圖層也是不同的。簡單的說,僅僅是一條道路,無論是採用矢量模型還是柵格模型進行電子化,數據量都是非常大的。我國幅員遼闊,存儲在測繪機構的數據量規模可想而知,至少要幾十PB,而且歷史數據永遠不能刪除,數據只會越來越多。
02
高並發訪問
高並發在地圖製作和用戶訪問兩個階段都會發生。採集回來的數據要經過清洗、渲染等工序實現數位化。製作完成之後,還會有大量的使用端進行訪問。這兩個階段對存儲系統的讀寫要求都非常高。
03
區分「冷/熱」數據
我國發展迅速,幾年之間一個地區就會發生翻天覆地的變化,基礎地理信息數據也會隨之更新。這些歷史版本的數據不能刪除,而且有時候還會被利用到。新/舊地圖維護在一個存儲體系中,新的經常用,舊的不能丟,還要隨時準備著被訪問,這些複雜的事情都需要存儲系統來處理。
數字時代「九鼎圖」的背後
讓我們回到原點,地圖軟體之所以能規劃最佳線路,是因為地圖軟體裡已經有了地理信息數據,這些數據都已經裝在了軟體伺服器的存儲系統裡,這樣,地圖軟體才能發揮作用。存儲這些數據的容器不是普通的硬碟,而是滿足大數據量、高並發、區分冷熱等要求的存儲體系,是這個存儲體系在背後默默支持著地圖軟體。
我們上文已經提到,地圖軟體的大部分數據來自測繪機構,這裡存儲著堪稱數字時代「九鼎圖」的海量基礎地理信息數據,是我國地理信息的標杆,經過長期的技術積累,已經找到了合適的存儲體系。
下面我們來看看標杆是怎樣做的:
在2012年該測繪機構決定採用「分布式」存儲體系。「分布式」存儲體系的好處是線性擴展,數據增加的時候只需要擴展節點即可,而且上限很高,於是採用了當時最成熟的高性能分布式存儲體系Isilon。
隨著數據量越來越大,歷史數據需要「沉降」,即不經常使用的舊版本數據放到一個區域集中管理,於是在Isilon後端採用了ECS解決方案,大容量而且隨時提取。
由於數據量巨大,每天「沉降」的速度趕不上新增的量,於是提出了高並發的整體解決方案Isilon+ Nginx +ECS,即在Isilon和ECS之間加入負載均衡Nginx,實現數據高速分發,提高「沉降」和「訪問」速度。這樣一套大容量,高並發且「冷熱「分離隨時訪問的存儲體系就建成了,非常適合地理信息這類應用。
地理信息的數據分為矢量數據和索引數據兩大類,矢量數據一般都是大文件,索引數據是小文件。當有讀請求時,會先到索引文件中搜索,所以小文件的隨機讀寫,決定著整體業務系統的性能。
為了加快小文件隨機讀寫,在Isilon解決方案中引入緩存加速功能,將高速的SSD盤變成緩存,使緩存區域變大,大部分熱數據在緩存區即可完成讀請求,大大的提高了效率,解決了小文件隨機讀寫的性能問題。
*戴爾易安信Isilon存儲是業界首屈一指的橫向擴展NAS存儲,其由英特爾®至強®可擴展處理器提供支持,為Isilon提供了卓越的性能和效率,助力用戶輕鬆挑戰不斷增長的非結構化數據環境。
地理信息的數據量非常大,而且要永久保存,所以在實現高性能的同時,這套系統還要實現數據大容量長期存儲的需求。
如何做呢?在Isilon後端接入了雲存儲ECS,使用CloudPools功能,將不經常使用的數據沉降到大容量雲存儲ECS中,整個過程是自動完成的,無需人工幹預。為了實現負載均衡,在Isilon和ECS之間還部署了負載均衡系統Nginx,實現了高並發沉降,滿足業務系統需求。這也是Isilon-Nginx–ECS在國內的首個成功案例,體現了非常好兼容性。
高性能分布式Isilon+負載均衡Nginx+大容量雲存儲ECS支持著前端高並發請求,而且容量和性能都是線性增長,哪裡缺失補哪裡,無需停機,自動負載均衡,保障著國家測繪局地理信息存儲系統的快速、穩定、高效運行。
至此,我們終於揭開了地圖導航軟體背後的神秘力量。
從先秦時代承載華夏九州地形地貌的「九鼎」,到兩漢時期記錄古絲綢之路的「帛和紙地圖」,再到現代支撐起各種地圖軟體的「國家地理信息存儲體系」,地理信息在中國一代又一代人的手中不斷傳承著。戴爾科技始終踐行「在中國,為中國」的理念,為這種傳承不斷助力!