陳鵬飛 蘇萬德 韋通明 譚倚靖 張亮



【摘? 要】隨著人們生活水平不斷提高,車輛總數迅速增加,道路交通安全成為了一個必須妥善解決的社會現象。該如何及早發現常見故障、如何有效把握車輛狀況、如何做到汽車提前預警,確保駕駛員安全性成為了大家需要考慮的問題。基于以上難題,應用大數據Storm技術的預警功能應時而生。本文介紹預警標準、數據周期時間、數據清洗及計算節點。
【關鍵詞】提前預警;大數據技術Storm;預警功能
中圖分類號: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—),男,數據項目工程師,研究方向為產品經理與項目管理。
1? 科學研究背景與作用
1.1? 選題背景
目前,伴隨著都市化發展和車輛的興起,各種各樣交通出行問題凸顯。交通堵塞、交通事故頻繁發生造成交通狀況日益惡變。伴隨著專家對各種各樣汽車交通事故的解讀數據顯示,全部交通事故中,80%的原因是因為駕駛員沒有及時反應或操作失誤造成的。其中,汽車追尾事故撞擊占這一類事故的65%,側邊撞擊、擦掛這一類事故占35%。專家學者對各種交通事故展開了系統化深入研究,最終得到的結論為:只需駕駛員可在事故產生前提早1s意識到了汽車出現異?;蛭kU來臨,就能及時反應并制定相對應的恰當對策,從而減少絕大部分的事故產生。因此,為減少駕駛員的壓力和避免不必要的錯誤行為,全力科學研究開發汽車提前預警安全技術,提升交通安全,是非常有必要的。
有人會說,目前汽車的自動駕駛發展這般快速,是否能通過無人駕駛來防止交通事故的產生。本質上是合理的,但人的駕駛行為是一個相對高度智能的過程,盡管目前學界花了很多的心思去研究無人駕駛,也取得了一定實際效果,但是就現階段人工智能技術性來講,還不能建立一個確定的模型以全面真實地體現安全駕駛全過程,因而,現階段沒法依靠智能駕駛技術的某個功能,如全自動轉彎、主動制動等,來預防交通事故。就目前而言,提早的汽車預警是很切實可行的技術方案。
1.2? 研究意義
所謂的汽車提前預警技術,具體指的是事故前“安全性”,通過防范和規避,降低事故發生的可能。以往,大家在規劃汽車時,關注的關鍵在于被動屬性的安全性保障措施,如設定汽車安全氣囊、保險杠、保險帶等。而如今汽車工程師們大量考慮到的則是主動安全系統預警技術,使汽車可以自己“思索”,提前預警或采取相應保障措施,防止交通事故的產生。而主動安全系統預警技術又可以分為兩類:防止安全技術和事故安全技術。①防止安全技術包含:車輛狀況、實時路況檢測、車載式視覺效果提高、駕駛員狀態檢測、自主導航;②事故安全技術包含:安全性報案和駕駛人員操控性提升。
本論文主要研究內容為基于Storm的車輛實時預警功能。根據Storm的實時流數據處理來確保預警的時效性,通過數據清洗及其Storm的計算邏輯性來確保預警的準確性,靈活運用如今云計算技術等行業的研究成果,設立了汽車提前預警行為模型,完成對汽車情況的實時檢測,如汽車的前后撞擊預警、無法上髙壓預警、虧電預警這些。一旦發現車輛有什么問題或附近有障礙物將要造成撞擊,便立即向駕駛員傳出報警,使駕駛員快速采用正確的操作,從而減少事故的產生。該研究成果有極為重要的實際意義和廣泛的應用前景,極大地提高了人們的用車體驗、保證了人們的駕車安全,有重要的社會效益和經濟效益[1]。
1.3? 研究動態
現階段,各種各樣主動安全系統裝置相繼問世,防抱死系統制動系統軟件(ABS)、制動智能輔助系統(BAS)、電子器件傳動系統(EBS)、推動調節方式(ASR)、車載雷達和超聲波防滑裝置等。這些裝置充分展現了制動高效率,提升了汽車的機動性和加速全過程的可靠性,在一定程度上確保了駕乘人員的安全。
預防措施遠比保障措施來得更高效,主動安全預警技術通過預防將保護提前到事故發生以前,在保護的前提下更加重視預防。而云計算技術的探索促使通過數據可以使車輛具備“智能化”,能感受外部,可以自己“思索”,可以自己“講話”,主動預警,從而使駕駛人員立即采取有效措施,防止事故的發生[2]。
2? 技術以及基礎知識簡述
2.1? 什么叫Storm
Storm是一個完全免費并開源的分布式實時大數據管理系統,被業界稱之為實時版Hadoop。但隨著越來越多的應用領域給出了實用性的需求,如實時大屏幕、智能推薦系統、即時預警系統、金融體系等,Hadoop的MapReduce由于高延遲慢慢被取代。隨之而來的就是大數據技術并行處理科技的爆發式增長,到現在已經是分布式技術行業的爆發點,而Storm更是流計算技術中的佼佼者和主流。
在Storm出來之前,做并行處理是很困難的,絕大部分精力都用在了怎樣保證每日任務完成、信息怎樣保證次序,而真正的業務邏輯只占代碼的一小部分,且整個系統十分脆弱沒有可擴展性,需要自己去保證線程池和worker進程運行正常。而Storm輕松地解決了各種問題,能夠讓你專心地去完成即時業務的業務邏輯,無需耗費額外的時間來處理這一系列問題。
2.2? Storm的應用場景
Storm一般用于對實時性要求相對較高的地方,比如實時分析、在線機器學習算法、持續計算、ETL等,實際的應用則是實時推薦系統、金融體系、實時預警系統軟件、實時大屏、實時交通路況系統軟件等,因此基于Storm的車輛實時預警功能,從實時性而言是能夠實現的。
2.3? Storm的一些特點
1)可擴展性:Storm適宜橫向擴展,可擴展性高,1s可解決很多信息。集群中真正運轉的主要有3個實體線:線程、任務和工作進程。要擴展一個實時任務,需要做的就是提升設備及任務的并行性。Storm應用ZooKeeper來融洽集群中的很多配置,促使Storm集群能夠輕松擴展。
2)保證數據信息無遺失:實時系統務必保證每一條數據被成功地處理,而Storm能夠保證每一條消息都能被處理。
3)易管理方法:Storm集群重新啟動節點不影響應用,很容易管理。
4)高容錯性:Storm會保證一個處理單元始終運行。若是在信息處理過程中出現了一些異常,Storm將進行重試。
5)支持多種計算機語言:Storm的Topology和消息處理組件能用一切語言來定義,我們不僅可以用Java,還可以使用別的它們所熟悉的計算機語言。
2.4? Storm的一些組件
Storm集群和Hadoop集群在表面上十分相似,可是,Hadoop運行MapReduce工作,而Storm運行拓撲,這是根本不同類型的。一個重要的區別在于:MapReduce工作最終都會結束,而拓撲會永遠運行。
Storm集群根據 Zookeeper開展融洽,由一個主節點和一組工作節點構成。
每一個工作節點運行一個名為Supervisor的節點。Supervisor會監聽分派給它這臺設備的工作,并根據需求運行/關掉工作進程。每一個工作進程實行一個拓撲子集合,運行里的拓撲由運行在很多設備上的工作進程構成。Storm組件關系見圖1。
1)Nimbus是主節點。關鍵負責管理,用以協調、監管、任務分派這些。
2)Supervisor是工作節點。主要等候主節點的工作分派,并基于規定運行工作進程。
3)Zookeeper是Storm中的一個重要組件,主要用于協調一個集群里的配置信息。
4)Worker是運行實際處理組件邏輯的進程。
3? 預警標準
開展預警的第一步,首先就要確立預警標準,而如何制訂出一套預警標準,就必須要先確立預警的需求場景,考慮到一個場景內所有的可能,進而去判斷出預警的開始條件和退出條件。
預警標準一般是由預警的開始條件、開始持續時長、退出條件和退出持續時長構成。汽車主動提前預警的形成由預警的開始條件和開始持續時長相互配合產生,實際就是指可以通過大數據分析車輛狀況,當符合一定的前提條件且持續了一定的時長就判斷該規則相對應的零件出了問題,進而發出預警。預警的退出也是一樣的道理。
預警規則的制定一般需要各個業務部門提供數據,為了確保預警的準確性,一條預警規則的形成通常早期都要通過大量的局部性測試驗證,保證預警準確度超過90%以上才可以正式應用。
有些情形可以直接發布預警;有些情形可以先進行預警分析,依據預警級別再決定是否發布預警。
預警規則按類型一般可分成虧電報警、SOC低報警、高壓互鎖情況報警、輪胎氣壓系統異常報警等。按預警等級還可以可分為一級報警、二級報警、三級報警,預警的級別從觸發的臨界點來確定,如圖2所示。
4? 基于Storm的車輛實時預警功能
4.1? 預警詳細介紹
通過預警管理體系結合大數據技術,初步形成了對時速、電機環境溫度、充電電池等的預警種類,在達到預警規則的臨界點時觸發預警,實現汽車的主動提前預警,并及時通知駕駛人員。
在其中為了方便管理人員更好地對預警規則進行維護,我們創立了預警功能版塊,一個可視化的預警規則配置頁面。與此同時,該網頁頁面還可以實時查看所發生的預警信息,用于實現預警信息的即時分發。
整個技術以Storm為核心,確保了數據的實時性、有效性、序列性,從而使車輛的主動預警功能實時、穩定且準確。
4.2? 數據周期時間
車輛的實時預警功能是根據車輛數據與預警規則去判定的,數據的全生命周期如圖3所示。數據從T-BOX采集到數據接收端以后,存到Kafka里,在Storm實時集群里進行數據的解析、統一的清洗、加工得到預警結果數據,隨后將預警結果推送到外部平臺,再由外部平臺推送給用戶。這一系列的操作在Storm中用很短的時間去完成,完全可以達到實時預警的功能。
4.3? 數據清洗
數據清洗的概念是再次檢查驗證數據的全過程,即刪除重復信息,改正目前不正確的信息,提供數據一致性,以上就是百科中數據清洗的概念。以個人的角度來看,數據清洗就是通過設置的清洗規則將“臟數據”替換成“高品質數據”的過程。臟數據需要人為進行判定,通過設置對應的清洗規則來將人為判定的“臟數據”進行清洗,一份數據在不同的場景下可能有不同的數據價值,所以不能一概而論,不論場景將這一類數據都認為是“臟數據”,而是要根據不同的場景去設置對應的清洗規則。
為了避免“臟數據”影響人為預警的正常判定,數據在被用來做預警判定之前都會進行一輪清洗,其中包括了數據有效性的檢驗、未來數據的判定、過期數據的判定等。
4.4? 計算節點
當數據清洗完以后就進入到了Storm計算預警的邏輯環節。在這里預警的類型會分為兩大類,一類是次數性滿足,當觸發了預警規則臨界點達到規定的次數后報警;另一類是持續性滿足,當觸發了預警規則臨界點達到規定的持續時長以后觸發報警。不管是哪種預警,都必須是連續滿足,即連續滿足預警條件,如果中途有不滿足預警條件的數據,則不會觸發預警。這樣的做法是為了避免很多無效的預警出現,因為車輛的數據經常會產生跳變,如果不設置持續性滿足,則用戶會收到很多無效的預警,從而降低預警的準確率。
5? 結論
從以上內容進行歸納總結,基于Storm的實時流數據處理功能保證預警的即時性,根據數據清洗及Storm的計算邏輯性來確保預警的準確性,基于Storm的車輛實時預警功能可以通過實時監測和后臺管理大數據分析對監測到的風險信息進行風險等級劃分,并推送給用戶,進而用戶可提早中止出行并將車帶去修理店開展安全檢查。這個功能一方面可以有效預防事故產生、抵制駕駛人員危險駕駛行為,另一方面可以大大地減少管理人員管控的時間與精力成本,進而在更具難度系數、創造性的工作上綻放光芒。
參考文獻:
[1] 王鑫. 面向車聯網的車輛后端碰撞實時預警策略研究[D]. 遼寧:大連理工大學,2021.
[2] 宮振飛. 面向輔助駕駛的實時行人車輛檢測預警算法研究[D]. 武漢:華中科技大學,2020.
[3] 劉國清. 駕駛輔助系統及車輛實時預警提醒方法:中國,2015109804652[P]. 2019-04-19.
(編輯? 楊凱麟)