陳鵬飛 蘇萬德 韋通明 譚倚靖 張亮
【摘? 要】隨著人們生活水平不斷提高,車輛總數(shù)迅速增加,道路交通安全成為了一個必須妥善解決的社會現(xiàn)象。該如何及早發(fā)現(xiàn)常見故障、如何有效把握車輛狀況、如何做到汽車提前預(yù)警,確保駕駛員安全性成為了大家需要考慮的問題?;谝陨想y題,應(yīng)用大數(shù)據(jù)Storm技術(shù)的預(yù)警功能應(yīng)時而生。本文介紹預(yù)警標準、數(shù)據(jù)周期時間、數(shù)據(jù)清洗及計算節(jié)點。
【關(guān)鍵詞】提前預(yù)警;大數(shù)據(jù)技術(shù)Storm;預(yù)警功能
中圖分類號:U463.6? ? 文獻標志碼:A? ? 文章編號:1003-8639( 2023 )09-0040-03
Real-time Vehicle Warning Based on Storm
CHEN Pengfei,SU Wande,WEI Tongming,TAN Yijing,ZHANG Liang
(SAIC GM Wuling Automobile Co.,Ltd.,Guangxi Laboratory of New Energy Automobile,
Guangxi Key Laboratory of Automobile Four New Features,Liuzhou545007,China)
【Abstract】With the continuous improvement of people's living standard,the number of vehicles is increasing rapidly. Traffic safety has become a social problem that needs to be solved as soon as possible. So,how to find the fault in time,how to better grasp the car condition,how to realize the car active warning,to ensure the safety of drivers has become a problem that we need to consider. Based on the above problems,the early-warning function technology using the big data Storm technology comes into being. This paper introduces active warning standard,data cycle time,data cleaning and computing nodes.
【Key words】active warning;big data Storm;early warning function
作者簡介
陳鵬飛(1998—),男,數(shù)據(jù)項目工程師,研究方向為產(chǎn)品經(jīng)理與項目管理。
1? 科學(xué)研究背景與作用
1.1? 選題背景
目前,伴隨著都市化發(fā)展和車輛的興起,各種各樣交通出行問題凸顯。交通堵塞、交通事故頻繁發(fā)生造成交通狀況日益惡變。伴隨著專家對各種各樣汽車交通事故的解讀數(shù)據(jù)顯示,全部交通事故中,80%的原因是因為駕駛員沒有及時反應(yīng)或操作失誤造成的。其中,汽車追尾事故撞擊占這一類事故的65%,側(cè)邊撞擊、擦掛這一類事故占35%。專家學(xué)者對各種交通事故展開了系統(tǒng)化深入研究,最終得到的結(jié)論為:只需駕駛員可在事故產(chǎn)生前提早1s意識到了汽車出現(xiàn)異?;蛭kU來臨,就能及時反應(yīng)并制定相對應(yīng)的恰當對策,從而減少絕大部分的事故產(chǎn)生。因此,為減少駕駛員的壓力和避免不必要的錯誤行為,全力科學(xué)研究開發(fā)汽車提前預(yù)警安全技術(shù),提升交通安全,是非常有必要的。
有人會說,目前汽車的自動駕駛發(fā)展這般快速,是否能通過無人駕駛來防止交通事故的產(chǎn)生。本質(zhì)上是合理的,但人的駕駛行為是一個相對高度智能的過程,盡管目前學(xué)界花了很多的心思去研究無人駕駛,也取得了一定實際效果,但是就現(xiàn)階段人工智能技術(shù)性來講,還不能建立一個確定的模型以全面真實地體現(xiàn)安全駕駛?cè)^程,因而,現(xiàn)階段沒法依靠智能駕駛技術(shù)的某個功能,如全自動轉(zhuǎn)彎、主動制動等,來預(yù)防交通事故。就目前而言,提早的汽車預(yù)警是很切實可行的技術(shù)方案。
1.2? 研究意義
所謂的汽車提前預(yù)警技術(shù),具體指的是事故前“安全性”,通過防范和規(guī)避,降低事故發(fā)生的可能。以往,大家在規(guī)劃汽車時,關(guān)注的關(guān)鍵在于被動屬性的安全性保障措施,如設(shè)定汽車安全氣囊、保險杠、保險帶等。而如今汽車工程師們大量考慮到的則是主動安全系統(tǒng)預(yù)警技術(shù),使汽車可以自己“思索”,提前預(yù)警或采取相應(yīng)保障措施,防止交通事故的產(chǎn)生。而主動安全系統(tǒng)預(yù)警技術(shù)又可以分為兩類:防止安全技術(shù)和事故安全技術(shù)。①防止安全技術(shù)包含:車輛狀況、實時路況檢測、車載式視覺效果提高、駕駛員狀態(tài)檢測、自主導(dǎo)航;②事故安全技術(shù)包含:安全性報案和駕駛?cè)藛T操控性提升。
本論文主要研究內(nèi)容為基于Storm的車輛實時預(yù)警功能。根據(jù)Storm的實時流數(shù)據(jù)處理來確保預(yù)警的時效性,通過數(shù)據(jù)清洗及其Storm的計算邏輯性來確保預(yù)警的準確性,靈活運用如今云計算技術(shù)等行業(yè)的研究成果,設(shè)立了汽車提前預(yù)警行為模型,完成對汽車情況的實時檢測,如汽車的前后撞擊預(yù)警、無法上髙壓預(yù)警、虧電預(yù)警這些。一旦發(fā)現(xiàn)車輛有什么問題或附近有障礙物將要造成撞擊,便立即向駕駛員傳出報警,使駕駛員快速采用正確的操作,從而減少事故的產(chǎn)生。該研究成果有極為重要的實際意義和廣泛的應(yīng)用前景,極大地提高了人們的用車體驗、保證了人們的駕車安全,有重要的社會效益和經(jīng)濟效益[1]。
1.3? 研究動態(tài)
現(xiàn)階段,各種各樣主動安全系統(tǒng)裝置相繼問世,防抱死系統(tǒng)制動系統(tǒng)軟件(ABS)、制動智能輔助系統(tǒng)(BAS)、電子器件傳動系統(tǒng)(EBS)、推動調(diào)節(jié)方式(ASR)、車載雷達和超聲波防滑裝置等。這些裝置充分展現(xiàn)了制動高效率,提升了汽車的機動性和加速全過程的可靠性,在一定程度上確保了駕乘人員的安全。
預(yù)防措施遠比保障措施來得更高效,主動安全預(yù)警技術(shù)通過預(yù)防將保護提前到事故發(fā)生以前,在保護的前提下更加重視預(yù)防。而云計算技術(shù)的探索促使通過數(shù)據(jù)可以使車輛具備“智能化”,能感受外部,可以自己“思索”,可以自己“講話”,主動預(yù)警,從而使駕駛?cè)藛T立即采取有效措施,防止事故的發(fā)生[2]。
2? 技術(shù)以及基礎(chǔ)知識簡述
2.1? 什么叫Storm
Storm是一個完全免費并開源的分布式實時大數(shù)據(jù)管理系統(tǒng),被業(yè)界稱之為實時版Hadoop。但隨著越來越多的應(yīng)用領(lǐng)域給出了實用性的需求,如實時大屏幕、智能推薦系統(tǒng)、即時預(yù)警系統(tǒng)、金融體系等,Hadoop的MapReduce由于高延遲慢慢被取代。隨之而來的就是大數(shù)據(jù)技術(shù)并行處理科技的爆發(fā)式增長,到現(xiàn)在已經(jīng)是分布式技術(shù)行業(yè)的爆發(fā)點,而Storm更是流計算技術(shù)中的佼佼者和主流。
在Storm出來之前,做并行處理是很困難的,絕大部分精力都用在了怎樣保證每日任務(wù)完成、信息怎樣保證次序,而真正的業(yè)務(wù)邏輯只占代碼的一小部分,且整個系統(tǒng)十分脆弱沒有可擴展性,需要自己去保證線程池和worker進程運行正常。而Storm輕松地解決了各種問題,能夠讓你專心地去完成即時業(yè)務(wù)的業(yè)務(wù)邏輯,無需耗費額外的時間來處理這一系列問題。
2.2? Storm的應(yīng)用場景
Storm一般用于對實時性要求相對較高的地方,比如實時分析、在線機器學(xué)習(xí)算法、持續(xù)計算、ETL等,實際的應(yīng)用則是實時推薦系統(tǒng)、金融體系、實時預(yù)警系統(tǒng)軟件、實時大屏、實時交通路況系統(tǒng)軟件等,因此基于Storm的車輛實時預(yù)警功能,從實時性而言是能夠?qū)崿F(xiàn)的。
2.3? Storm的一些特點
1)可擴展性:Storm適宜橫向擴展,可擴展性高,1s可解決很多信息。集群中真正運轉(zhuǎn)的主要有3個實體線:線程、任務(wù)和工作進程。要擴展一個實時任務(wù),需要做的就是提升設(shè)備及任務(wù)的并行性。Storm應(yīng)用ZooKeeper來融洽集群中的很多配置,促使Storm集群能夠輕松擴展。
2)保證數(shù)據(jù)信息無遺失:實時系統(tǒng)務(wù)必保證每一條數(shù)據(jù)被成功地處理,而Storm能夠保證每一條消息都能被處理。
3)易管理方法:Storm集群重新啟動節(jié)點不影響應(yīng)用,很容易管理。
4)高容錯性:Storm會保證一個處理單元始終運行。若是在信息處理過程中出現(xiàn)了一些異常,Storm將進行重試。
5)支持多種計算機語言:Storm的Topology和消息處理組件能用一切語言來定義,我們不僅可以用Java,還可以使用別的它們所熟悉的計算機語言。
2.4? Storm的一些組件
Storm集群和Hadoop集群在表面上十分相似,可是,Hadoop運行MapReduce工作,而Storm運行拓撲,這是根本不同類型的。一個重要的區(qū)別在于:MapReduce工作最終都會結(jié)束,而拓撲會永遠運行。
Storm集群根據(jù) Zookeeper開展融洽,由一個主節(jié)點和一組工作節(jié)點構(gòu)成。
每一個工作節(jié)點運行一個名為Supervisor的節(jié)點。Supervisor會監(jiān)聽分派給它這臺設(shè)備的工作,并根據(jù)需求運行/關(guān)掉工作進程。每一個工作進程實行一個拓撲子集合,運行里的拓撲由運行在很多設(shè)備上的工作進程構(gòu)成。Storm組件關(guān)系見圖1。
1)Nimbus是主節(jié)點。關(guān)鍵負責(zé)管理,用以協(xié)調(diào)、監(jiān)管、任務(wù)分派這些。
2)Supervisor是工作節(jié)點。主要等候主節(jié)點的工作分派,并基于規(guī)定運行工作進程。
3)Zookeeper是Storm中的一個重要組件,主要用于協(xié)調(diào)一個集群里的配置信息。
4)Worker是運行實際處理組件邏輯的進程。
3? 預(yù)警標準
開展預(yù)警的第一步,首先就要確立預(yù)警標準,而如何制訂出一套預(yù)警標準,就必須要先確立預(yù)警的需求場景,考慮到一個場景內(nèi)所有的可能,進而去判斷出預(yù)警的開始條件和退出條件。
預(yù)警標準一般是由預(yù)警的開始條件、開始持續(xù)時長、退出條件和退出持續(xù)時長構(gòu)成。汽車主動提前預(yù)警的形成由預(yù)警的開始條件和開始持續(xù)時長相互配合產(chǎn)生,實際就是指可以通過大數(shù)據(jù)分析車輛狀況,當符合一定的前提條件且持續(xù)了一定的時長就判斷該規(guī)則相對應(yīng)的零件出了問題,進而發(fā)出預(yù)警。預(yù)警的退出也是一樣的道理。
預(yù)警規(guī)則的制定一般需要各個業(yè)務(wù)部門提供數(shù)據(jù),為了確保預(yù)警的準確性,一條預(yù)警規(guī)則的形成通常早期都要通過大量的局部性測試驗證,保證預(yù)警準確度超過90%以上才可以正式應(yīng)用。
有些情形可以直接發(fā)布預(yù)警;有些情形可以先進行預(yù)警分析,依據(jù)預(yù)警級別再決定是否發(fā)布預(yù)警。
預(yù)警規(guī)則按類型一般可分成虧電報警、SOC低報警、高壓互鎖情況報警、輪胎氣壓系統(tǒng)異常報警等。按預(yù)警等級還可以可分為一級報警、二級報警、三級報警,預(yù)警的級別從觸發(fā)的臨界點來確定,如圖2所示。
4? 基于Storm的車輛實時預(yù)警功能
4.1? 預(yù)警詳細介紹
通過預(yù)警管理體系結(jié)合大數(shù)據(jù)技術(shù),初步形成了對時速、電機環(huán)境溫度、充電電池等的預(yù)警種類,在達到預(yù)警規(guī)則的臨界點時觸發(fā)預(yù)警,實現(xiàn)汽車的主動提前預(yù)警,并及時通知駕駛?cè)藛T。
在其中為了方便管理人員更好地對預(yù)警規(guī)則進行維護,我們創(chuàng)立了預(yù)警功能版塊,一個可視化的預(yù)警規(guī)則配置頁面。與此同時,該網(wǎng)頁頁面還可以實時查看所發(fā)生的預(yù)警信息,用于實現(xiàn)預(yù)警信息的即時分發(fā)。
整個技術(shù)以Storm為核心,確保了數(shù)據(jù)的實時性、有效性、序列性,從而使車輛的主動預(yù)警功能實時、穩(wěn)定且準確。
4.2? 數(shù)據(jù)周期時間
車輛的實時預(yù)警功能是根據(jù)車輛數(shù)據(jù)與預(yù)警規(guī)則去判定的,數(shù)據(jù)的全生命周期如圖3所示。數(shù)據(jù)從T-BOX采集到數(shù)據(jù)接收端以后,存到Kafka里,在Storm實時集群里進行數(shù)據(jù)的解析、統(tǒng)一的清洗、加工得到預(yù)警結(jié)果數(shù)據(jù),隨后將預(yù)警結(jié)果推送到外部平臺,再由外部平臺推送給用戶。這一系列的操作在Storm中用很短的時間去完成,完全可以達到實時預(yù)警的功能。
4.3? 數(shù)據(jù)清洗
數(shù)據(jù)清洗的概念是再次檢查驗證數(shù)據(jù)的全過程,即刪除重復(fù)信息,改正目前不正確的信息,提供數(shù)據(jù)一致性,以上就是百科中數(shù)據(jù)清洗的概念。以個人的角度來看,數(shù)據(jù)清洗就是通過設(shè)置的清洗規(guī)則將“臟數(shù)據(jù)”替換成“高品質(zhì)數(shù)據(jù)”的過程。臟數(shù)據(jù)需要人為進行判定,通過設(shè)置對應(yīng)的清洗規(guī)則來將人為判定的“臟數(shù)據(jù)”進行清洗,一份數(shù)據(jù)在不同的場景下可能有不同的數(shù)據(jù)價值,所以不能一概而論,不論場景將這一類數(shù)據(jù)都認為是“臟數(shù)據(jù)”,而是要根據(jù)不同的場景去設(shè)置對應(yīng)的清洗規(guī)則。
為了避免“臟數(shù)據(jù)”影響人為預(yù)警的正常判定,數(shù)據(jù)在被用來做預(yù)警判定之前都會進行一輪清洗,其中包括了數(shù)據(jù)有效性的檢驗、未來數(shù)據(jù)的判定、過期數(shù)據(jù)的判定等。
4.4? 計算節(jié)點
當數(shù)據(jù)清洗完以后就進入到了Storm計算預(yù)警的邏輯環(huán)節(jié)。在這里預(yù)警的類型會分為兩大類,一類是次數(shù)性滿足,當觸發(fā)了預(yù)警規(guī)則臨界點達到規(guī)定的次數(shù)后報警;另一類是持續(xù)性滿足,當觸發(fā)了預(yù)警規(guī)則臨界點達到規(guī)定的持續(xù)時長以后觸發(fā)報警。不管是哪種預(yù)警,都必須是連續(xù)滿足,即連續(xù)滿足預(yù)警條件,如果中途有不滿足預(yù)警條件的數(shù)據(jù),則不會觸發(fā)預(yù)警。這樣的做法是為了避免很多無效的預(yù)警出現(xiàn),因為車輛的數(shù)據(jù)經(jīng)常會產(chǎn)生跳變,如果不設(shè)置持續(xù)性滿足,則用戶會收到很多無效的預(yù)警,從而降低預(yù)警的準確率。
5? 結(jié)論
從以上內(nèi)容進行歸納總結(jié),基于Storm的實時流數(shù)據(jù)處理功能保證預(yù)警的即時性,根據(jù)數(shù)據(jù)清洗及Storm的計算邏輯性來確保預(yù)警的準確性,基于Storm的車輛實時預(yù)警功能可以通過實時監(jiān)測和后臺管理大數(shù)據(jù)分析對監(jiān)測到的風(fēng)險信息進行風(fēng)險等級劃分,并推送給用戶,進而用戶可提早中止出行并將車帶去修理店開展安全檢查。這個功能一方面可以有效預(yù)防事故產(chǎn)生、抵制駕駛?cè)藛T危險駕駛行為,另一方面可以大大地減少管理人員管控的時間與精力成本,進而在更具難度系數(shù)、創(chuàng)造性的工作上綻放光芒。
參考文獻:
[1] 王鑫. 面向車聯(lián)網(wǎng)的車輛后端碰撞實時預(yù)警策略研究[D]. 遼寧:大連理工大學(xué),2021.
[2] 宮振飛. 面向輔助駕駛的實時行人車輛檢測預(yù)警算法研究[D]. 武漢:華中科技大學(xué),2020.
[3] 劉國清. 駕駛輔助系統(tǒng)及車輛實時預(yù)警提醒方法:中國,2015109804652[P]. 2019-04-19.
(編輯? 楊凱麟)