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