六月婷婷AV,国产偷窥猎奇福利二区,日韩三级片。,好吊色网站,日韩成人中文在线视频,国产亚洲午夜啪啪,亚洲欧美另类国产精品,国产成人av1,任你艹在线观看

解決兩大難題,TDengine 助力億咖通打造自動(dòng)駕駛技術(shù)典范

億咖通自動(dòng)駕駛云研發(fā)工程師 崔增

2022-04-08 / ,

小 T 導(dǎo)讀:在安全解決方案 SuperCloud 中,億咖通面臨著磁盤占用量大、車輛最新狀態(tài)實(shí)時(shí)查詢難以實(shí)現(xiàn)兩個(gè)核心問題。最終,他們選擇了讓 TDengine Database 承擔(dān)數(shù)據(jù)中臺(tái)的重要角色,負(fù)責(zé)車輛實(shí)時(shí)數(shù)據(jù)的寫入、存儲(chǔ)以及實(shí)時(shí)查詢。本文講述了研發(fā)團(tuán)隊(duì)在前期使用 Apache HBase 時(shí)遇到的具體難點(diǎn)、為什么沒有堅(jiān)持選擇 OpenTSDB,以及選擇 TDengine 的過程和成效。

企業(yè)簡介

億咖通科技是一家汽車智能化科技公司,在武漢、杭州、上海、蘇州、馬來西亞吉隆坡、英國倫敦等國內(nèi)外多地設(shè)立有分支機(jī)構(gòu)和研發(fā)中心,致力于持續(xù)打造行業(yè)領(lǐng)先的智能網(wǎng)聯(lián)生態(tài)開放平臺(tái),全面為車企賦能,創(chuàng)造更智能、更安全的出行體驗(yàn)。

項(xiàng)目介紹

為實(shí)現(xiàn)高水準(zhǔn)的自動(dòng)駕駛能力,億咖通科技(ECARX)打造了一整套安全解決方案 SuperCloud,該方案旨在利用人工智能技術(shù)以及攝像頭、雷達(dá)、聲納等多種傳感器技術(shù)來保證駕乘者的安全。自動(dòng)駕駛的核心數(shù)據(jù)就是設(shè)備的影子數(shù)據(jù)和狀態(tài)數(shù)據(jù),對(duì)設(shè)備進(jìn)行精準(zhǔn)的數(shù)據(jù)控制和采集,再結(jié)合高精地圖的數(shù)據(jù),是完成自動(dòng)駕駛的兩個(gè)重要環(huán)節(jié)。值得一提的是,億咖通也是目前國內(nèi)為數(shù)不多的擁有高精地圖資質(zhì)的企業(yè)。

在 SuperCloud 項(xiàng)目當(dāng)中,TDengine Database 承擔(dān)著數(shù)據(jù)中臺(tái)的重要角色,負(fù)責(zé)車輛實(shí)時(shí)數(shù)據(jù)的寫入、存儲(chǔ)以及實(shí)時(shí)查詢。

選型經(jīng)過

在此之前,我們使用的存儲(chǔ)架構(gòu)是 Kafka + Flink + HBase,但隨著業(yè)務(wù)的發(fā)展,逐漸發(fā)現(xiàn) HBase 的 Key-Value 存儲(chǔ)模型并不適合我們的場景,究其原因,是因?yàn)槁涞氐綌?shù)據(jù)庫的都是結(jié)構(gòu)化的數(shù)據(jù),Key-Value 存儲(chǔ)模型會(huì)導(dǎo)致磁盤占用量特別大,并且性能上也無法實(shí)現(xiàn)車輛最新狀態(tài)的實(shí)時(shí)查詢,這也是亟待解決的兩個(gè)核心問題。

經(jīng)過調(diào)研,我們發(fā)現(xiàn)時(shí)序數(shù)據(jù)庫才是正確的選擇方向,而且核心數(shù)據(jù)也符合時(shí)序數(shù)據(jù)的種種特點(diǎn),因此,我們決定在 InfluxDB、TDengine 和 OpenTSDB 之間進(jìn)行產(chǎn)品選型。

事實(shí)上,一開始我們選擇的是 OpenTSDB,因?yàn)樗?HBase,所以我們很方便上手。但成也蕭何敗也蕭何,也正因?yàn)橐蕾?HBase,OpenTSDB 并沒有解決 HBase 遺留的性能、壓縮率等問題。而 InfluxDB 由于單機(jī)性能并不夠卓越,而且集群功能沒有開源,所以也沒有被采納。最終經(jīng)過各種維度的對(duì)比后,我們毅然選擇了國產(chǎn)、開源、支持 SQL 的時(shí)序數(shù)據(jù)庫 TDengine。

TDengine 非常符合我們現(xiàn)在的業(yè)務(wù)場景,尤其是超級(jí)表的概念,甚至可以說是為我們量身定做的。我們?yōu)槊枯v車都分配了一個(gè)子表,用以接收 IHU 設(shè)備產(chǎn)生的數(shù)據(jù)。(注:IHU 是億咖通投入研發(fā)的第一代整車計(jì)算平臺(tái)產(chǎn)品,于 2017 年第二季度投放市場使用,是一款采用車載專用處理器、基于車身總線系統(tǒng)和第三方應(yīng)用服務(wù)打造而成的多媒體娛樂系統(tǒng),能實(shí)現(xiàn)包括地圖導(dǎo)航、多媒體娛樂、車輛信息等一系列信息娛樂功能及車聯(lián)網(wǎng)服務(wù)。)

優(yōu)化后的新架構(gòu)為:Kafka + Flink + TDengine。Flink 上游的數(shù)據(jù)可分為 2 類,一類是用 json 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),還有一類是如圖片、視頻一類的非結(jié)構(gòu)化數(shù)據(jù)。上游如果是結(jié)構(gòu)化的 json 數(shù)據(jù),則通過如下鏈路寫入 TDengine:Kafka—>Flink—>TDengine,如果是非結(jié)構(gòu)化的數(shù)據(jù),則會(huì)直接存儲(chǔ)到 S3 上,然后把這些視頻圖片的文件路徑通過如下鏈路寫入 TDengine:S3—->Kafka —-> Flink—>TDengine。

搭建與效果

我們以單副本模式落地了一個(gè)三節(jié)點(diǎn)的集群,機(jī)器配置為 8C + 16G + 500G 機(jī)械硬盤,備份用其他方式完成。當(dāng)前環(huán)境下有 3 張超級(jí)表、276571 張表。

1
2
3

超級(jí)表表結(jié)構(gòu)如下:

超級(jí)表結(jié)構(gòu)

由于我們的 json 較大,所以選擇使用 protobuf 進(jìn)行壓縮后再寫入 TDengine,這樣只需要 1500 字節(jié)的長度就可以容納該類 json,取出進(jìn)行反序列化后以供使用。

最大的超級(jí)表

當(dāng)前最大的一張超級(jí)表已經(jīng)存有 300 多億條數(shù)據(jù),每行 2362 字節(jié)。粗略估算,項(xiàng)目運(yùn)行至今,總數(shù)據(jù)量大概有 68T 左右,但實(shí)際的磁盤占用量只有 1.4T,以前 20 天就能寫滿 15T 的磁盤,但現(xiàn)在基本已經(jīng)不再需要考慮磁盤的問題了。資源使用率相比以前節(jié)省了近百倍。

資源占用

此外,困擾我們許久的數(shù)據(jù)實(shí)時(shí)查詢問題也有望得到解決,TDengine 的 last 函數(shù)可以實(shí)現(xiàn)毫秒級(jí)返回設(shè)備最新狀態(tài)。由于我們當(dāng)前使用的版本還是比較老舊的 2.0.18,這一版還沒有針對(duì) last 函數(shù)的緩存,TDengine 的工作人員表示后續(xù)會(huì)有針對(duì)這個(gè)函數(shù)專門的優(yōu)化,等日后版本升級(jí)后再做體驗(yàn)。 最常用的查詢車輛實(shí)時(shí)位置的 SQL 是這樣的,全部都是毫秒級(jí)別返回結(jié)果:

車輛實(shí)時(shí)位置 SQL

寫在最后

總體而言,TDengine Database 的獨(dú)特設(shè)計(jì)幫助我們解決了傳統(tǒng)架構(gòu)磁盤存儲(chǔ)占用過高,以及性能上不能支持車輛狀態(tài)實(shí)時(shí)查詢這兩大痛點(diǎn),在實(shí)現(xiàn)降本增效方面名副其實(shí)。不止如此,我們后續(xù)要實(shí)現(xiàn)的設(shè)備統(tǒng)計(jì)需求也在應(yīng)用 TDengine 之后得到了解決。在 TDengine 的官方社區(qū)中,所提出的問題也都可以得到支持人員的快速反饋,事無巨細(xì),這幫我們極大降低了項(xiàng)目落地的難度。 TDengine 的應(yīng)用,不僅完全解決了我們當(dāng)前業(yè)務(wù)上存在的痛點(diǎn),也匹配上了后續(xù)業(yè)務(wù)發(fā)展的需求。隨著業(yè)務(wù)的快速發(fā)展,我們希望和濤思數(shù)據(jù)后續(xù)可以在更多維度上通力合作,共同打造自動(dòng)駕駛的行業(yè)技術(shù)典范。