复杂存储过程学习_对象存储在无人驾驶高精度地图的场景实践
在自動駕駛領(lǐng)域有這樣一個說法:關(guān)注自動駕駛的進展,就看高精地圖的動態(tài),因為他們才是加速自動駕駛汽車落地的幕后推手。本文介紹了QingStor??對象存儲的種種優(yōu)勢以及許多針對該場景的特性,分享了對象存儲在高精度地圖場景中的最佳實踐。
大家都對無人駕駛和地圖比較熟悉,但是大家相對較少聽到高精地圖這個名詞,簡單地說,高精地圖是給自動駕駛的汽車使用的,與日常使用的二維平面地圖有比較大的差異,包含的信息也會更加復(fù)雜。
無人駕駛與高精地圖關(guān)系概述
對于無人駕駛而言,主要分為四個階段。在感知階段中,車輛核心依靠車載傳感器獲取具體的道路與環(huán)境信息,然而在實際情況中,由于天氣、環(huán)境等不確定性,僅僅依賴傳感器是無法實現(xiàn)自動駕駛的,每一種傳感器都有各自的感知缺陷和限制:
如激光傳感器檢測效果穩(wěn)定,但在面對大范圍的塵土?xí)r,其檢測效果大幅降低;
高分辨率攝像機能檢測圖像中的物體,窄視場的攝像機可以檢測很遠(yuǎn)的距離,但是面對暴雨、大雪等惡劣天氣,其很難檢測到正確的車道線和障礙物等信息;
傳感器是很難判斷車輛所處位置是高速公路上還是處在普通城市道路上的,車速最高可以開多快,前方道路的曲率,所處路段的 GPS 信號強弱都會影響檢測結(jié)果;
額外傳感器遇到檢測盲區(qū),更加無法實時捕獲的道路與環(huán)境信息。
這些問題,在有了高精度地圖后都迎刃而解。
在無人駕駛的第二階段定位和第三階段車輛行駛決策階段,都需要依賴高精度地圖來共同完成決策。
在當(dāng)前,L3 以上的駕駛級別都無法離開高精度地圖的支撐。高精度地圖包含哪些具體信息,可以支撐車輛實現(xiàn)自動化駕駛?
高精度地圖包含為兩類數(shù)據(jù):
第一類為道路數(shù)據(jù),如車道線的位置、類型、寬度、坡度和曲率等車道信息;
第二類為車道周邊環(huán)境信息,如交通標(biāo)志、交通信號燈、車道限高、下水道口、障礙物、高架物體、防護欄、道路邊緣類型與路邊地標(biāo)等基礎(chǔ)設(shè)施信息。
由于地圖采集設(shè)備的精度不同產(chǎn)生的數(shù)據(jù)大小也不同,由此可見在高精度地圖的場景中,第一個場景特點是數(shù)據(jù)體量極為龐大,到底會產(chǎn)生多少數(shù)據(jù)呢?
舉個列子讓大家有個直觀的印象,一輛標(biāo)準(zhǔn)的數(shù)據(jù)采集車大概有 4-5 個傳感器,每天可完成的采集路程在百公里左右,產(chǎn)生約 1TB 數(shù)據(jù)。
對于高精度地圖而言,采集和制圖如果說是 10% 的工作量,那后期地圖長期的更新可能需要占 90% 的工作量。
關(guān)于地圖的更新模式,車隊學(xué)習(xí)網(wǎng)絡(luò)的分包式地圖的更新模式可能會成為一種主流,車隊學(xué)習(xí)網(wǎng)絡(luò)非常類似迅雷的 P2P 下載,資源使用者同時也是資源分享者,特斯拉即采取這種模式,每一輛量產(chǎn)車都是地圖數(shù)據(jù)的貢獻者。
從這個場景我們發(fā)現(xiàn),不僅僅地圖前期的采集數(shù)據(jù)量和數(shù)據(jù)存儲量龐大,在后期地圖的更新中同樣面臨著龐大數(shù)量的采集車帶來的數(shù)據(jù)并發(fā)與更新壓力。
QingStor??對象存儲在高精地圖場景應(yīng)用
高精度地圖的制作過程主要分為四個步驟。
首先是地圖采集和預(yù)處理,經(jīng)過預(yù)處理的數(shù)據(jù)會寫入到QingStor??對象存儲中進行保存;之后,由 QingStor??對象存儲將數(shù)據(jù)輸出到 AI 訓(xùn)練一體機如英偉達 DGX-1,由于 AI 訓(xùn)練一體機需要對地圖做復(fù)雜的點云和視頻數(shù)據(jù)、圖片數(shù)據(jù)融合處理,單位時間所能處理的數(shù)據(jù)量是有限的。
在這之前,采集到的海量數(shù)據(jù)需要存儲在 QingStor??對象存儲中,訓(xùn)練完成之后的數(shù)據(jù),同樣需要寫回到 QingStor??對象存儲中做長期留存。
在這個場景中,QingStor??對象存儲貫穿了整個高精度地圖的全部制作過程,負(fù)責(zé)了海量地圖數(shù)據(jù)的轉(zhuǎn)儲與最終地圖數(shù)據(jù)的長期存儲。
目前 QingStor??對象存儲在該場景中的整體數(shù)據(jù)存儲規(guī)模已達 10 個 PB,未來三年的總體規(guī)模將會達到 40PB 左右。
這是 QingStor??對象存儲在該場景的數(shù)據(jù)流架構(gòu)圖,數(shù)據(jù)采集之后,通過程序接口(當(dāng)前主要為S3和青云自己的API接口)以及多語言 SDK 完成數(shù)據(jù)接口的接入,并將數(shù)據(jù)寫入到 QingStor??對象存儲中;再由 AI 學(xué)習(xí)一體機 DGX1 獲取 QingStor??對象存儲中的數(shù)據(jù)進行處理,處理完成的數(shù)據(jù)再回寫到對象存儲中。
在這個場景部署單一全局統(tǒng)一命名存儲空間的 QingStor??對象存儲集群,使用了與 QingCloud 公有云對象存儲完全一致的架構(gòu),采用接入服務(wù)器與存儲服務(wù)器分層部署的架構(gòu)來進行海量數(shù)據(jù)的承載。從功能架構(gòu)上看并不復(fù)雜,在使用對象存儲的使用場景中,業(yè)務(wù)部門要有一定的接口開發(fā)與對接能力。
高精地圖場景挑戰(zhàn)及最佳實踐
QingStor??對象存儲在場景中具體面對哪些挑戰(zhàn),以及如何在產(chǎn)品架構(gòu)設(shè)計與功能特性上去解決這些問題,下面做個簡單的總結(jié)。
首先是對性能和空間需求的不確定性挑戰(zhàn)。
在地圖的前期制作過程中,采集車的數(shù)量是相對固定的,數(shù)據(jù)生成量也同樣相對固定,也就是說并發(fā)壓力相對固定,后期因為地圖需要持續(xù)更新,使用這種分包模式的地圖更新方式,成千上萬輛采集車都在每天 24 小時更新地圖,從而帶來的并發(fā)訪問壓力與數(shù)據(jù)寫入壓力成百上千倍地增加,數(shù)據(jù)量與存儲量也難以預(yù)估規(guī)模。
面對這樣的情況,QingStor??對象存儲采用分層設(shè)計來解決這個問題,整體架構(gòu)分為負(fù)責(zé)會話接入和索引的接入層和負(fù)責(zé)具體數(shù)據(jù)存儲的存儲層,這樣的設(shè)計可單獨根據(jù)并發(fā)壓力和存儲空間的實際需求,進行單獨的擴展,且不同角色的服務(wù)器節(jié)點還可以使用不同的配置,降低成本的同時也不浪費資源,最終實現(xiàn)的效果就是可單獨根據(jù)并發(fā)數(shù)和存儲空間的實際需求進行分層單獨擴容,讓存儲匹配業(yè)務(wù)的規(guī)模和壓力,從而實現(xiàn)使用最低的投入去滿足業(yè)務(wù)的需求,獲取較高的 ROI。
其次是業(yè)務(wù)對數(shù)據(jù)安全和服務(wù)可靠性提出的挑戰(zhàn)。
在車輛行駛過程中對高精度地圖的高度依賴造成車輛對地圖數(shù)據(jù)的訪問可靠性要求極高,對服務(wù)可用性要求較高。
對于分布式存儲而言,拿社區(qū)主流的分布式存儲 Ceph 來說,集群故障、擴容,都必須面對數(shù)據(jù)重構(gòu)和平衡問題,這本身是個非常好的設(shè)計出發(fā)點,可以實現(xiàn)存儲節(jié)點的負(fù)載均衡與數(shù)據(jù)存儲的分布均衡,但是在一個超大規(guī)模存儲系統(tǒng)中,數(shù)據(jù)在局部的新增或刪除,盡量不要擴散到整個集群,甚至需要刻意抑制這種大范圍的數(shù)據(jù)均衡,QingStor??對象存儲是如何解決這個難題,可以參考右邊的邏輯架構(gòu)圖。
首先,將龐大的存儲集群分成若干個存儲小組來縮小故障域,不同的存儲組之間毫無關(guān)系無任何關(guān)聯(lián),節(jié)點故障后副本修復(fù)的影響范圍只在本存儲組內(nèi)的三臺節(jié)點中,從而解決節(jié)點宕機后觸發(fā)整個集群數(shù)據(jù)再分布的問題。
QingStor??對象存儲對不同的存儲組設(shè)置不同的存儲權(quán)重,權(quán)重是根據(jù)存儲組的可用存儲空間、inode 可用數(shù)量等因素共同構(gòu)成的優(yōu)先級權(quán)重,擴容之后優(yōu)先將數(shù)據(jù)寫入到權(quán)重值較大的存儲組中,其他存儲組的數(shù)據(jù)不會做任何變動,從而規(guī)避集群在超大規(guī)模時擴容服務(wù)器帶來的集群內(nèi)部數(shù)據(jù)的均衡問題。
第三,數(shù)據(jù)類型的多樣性帶來的挑戰(zhàn)。
地圖采集場景的數(shù)據(jù)類型豐富,如圖片、視頻、其他傳感器數(shù)據(jù)等,數(shù)據(jù)類型和大小差異較大,但是對存儲效率要求一致。存儲引擎層常規(guī)都會對數(shù)據(jù)進行固定的分片之后再做存儲,數(shù)據(jù)過大或數(shù)據(jù)過小都會帶來不同的問題,分片一定程度上會影響存儲的效率。
QingStor??對象存儲從架構(gòu)設(shè)計上不假設(shè)用戶數(shù)據(jù)的具體場景、文件類型和文件大小,文件大小在 4M-5GB 的范圍內(nèi),將自由度交付給用戶,允許用戶根據(jù)實際場景的文件大小進行副本的生成,存儲引擎層不做額外的處理,從而保證不同類型和大小的文件存儲效率依然較高。
第四,數(shù)據(jù)交互平臺多樣帶來的接口適配挑戰(zhàn)。
前面我們提到,對象存儲在使用上具有一定的對接復(fù)雜度,更通俗的說,對象存儲是給程序使用的。地圖制作的過程中,涉及到多個地圖制作的平臺和軟件,如地圖信息數(shù)據(jù)輸入平臺、標(biāo)注平臺、深度學(xué)習(xí)一體機等,涉及多種語言接口。
目前,QingStor??對象存儲在 SDK 的支持上基本覆蓋主流的語言,在 API 的支持上,支持完善的 S3 接口,此外還支持功能更多的青云QingCloud 自有 API 接口。
當(dāng)前的場景中,還會涉及到多種平臺的數(shù)據(jù)遷移、導(dǎo)出等需求,對象存儲還必須具備多種數(shù)據(jù)遷移工具來實現(xiàn)自動化的數(shù)據(jù)遷移。
目前 QingStor??對象存儲支持本地文件系統(tǒng)、多種公有云對象存儲、Hadoop 平臺、HDFS 文件系統(tǒng)等平臺之間的數(shù)據(jù)流轉(zhuǎn)。
客戶收益
下面總結(jié)一下海量地圖場景中,使用QingStor??對象存儲所帶來的收益與價值。
第一點:較高的 ROI 回報,分層架構(gòu)的設(shè)計讓存儲可以根據(jù)業(yè)務(wù)的需求進行定向定量擴容,減少資源浪費。
第二點:成熟的技術(shù)架構(gòu),高精地圖場景對可用性和數(shù)據(jù)可靠性的要求是苛刻的,選擇經(jīng)過大規(guī)模公有云驗證的平臺是風(fēng)險較低的一種選擇,用戶只需專注在業(yè)務(wù)上而無需過多關(guān)注底層的承載平臺。
第三點:較高的性價比,目前 QingStor??對象存儲在該客戶中,不僅只用在高精地圖場景,還在大數(shù)據(jù)分析的應(yīng)用場景中使用,實現(xiàn)了一套平臺多種用途,降低整體 TCO。
第四點:極低的運維成本,QingStor??對象存儲穩(wěn)定可靠,且有完善的服務(wù)支持,目前在這樣的規(guī)模量級,只有一名運維人員即可管理,極大地降低了運維成本。
我們來總結(jié) QingStor??對象存儲的產(chǎn)品優(yōu)勢,類似圖片處理、數(shù)據(jù)生命周期管理、開放的 API 等功能性不再進行重點介紹,在這里想重點介紹三點,分別是分層設(shè)計、公私一體與豐富的生態(tài)。
分層設(shè)計可以滿足超大規(guī)模的應(yīng)用,同時規(guī)避了分布式存儲的重構(gòu)和再均衡問題;
公私一體化保障了產(chǎn)品的穩(wěn)定性;
豐富的解決方案生態(tài)讓 QingStor??對象存儲可以為最終用戶的提供更多的應(yīng)用價值。
QingStor?是青云QingCloud 自主研發(fā)的企業(yè)級分布式存儲產(chǎn)品線,依托于 QingCloud 公有云將近7年的技術(shù)迭代和規(guī)模化應(yīng)用,提供全形態(tài)軟件定義存儲產(chǎn)品的私有化部署,作為軟件定義存儲的主流國產(chǎn)品牌,旗下包括:
QingStor?NeonSAN?(塊存儲)
QingStor?對象存儲
QingStor?文件存儲
QingStor?融合存儲
基于一套架構(gòu)支撐多業(yè)務(wù)場景,在一個界面實現(xiàn)異構(gòu)數(shù)據(jù)的全生命周期管理。
QingStor?企業(yè)級分布式存儲歷經(jīng)多年發(fā)展,廣泛服務(wù)于金融、能源、制造、醫(yī)療、傳媒等行業(yè)的數(shù)字化轉(zhuǎn)型 2.0,用數(shù)據(jù)驅(qū)動企業(yè)決策,以更敏捷、易用、低成本的方案引領(lǐng)數(shù)字業(yè)務(wù)創(chuàng)新。
-?FIN?-總結(jié)
以上是生活随笔為你收集整理的复杂存储过程学习_对象存储在无人驾驶高精度地图的场景实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea每次都要配置tomcat_电脑每
- 下一篇: gstreamer 获取帧数据_Andr