基於Asp.NET MVC框架+SignalR +ActiveMQ + Ali OSS 服務構建蘇標主動安全智能防控平台


 蘇標主動安全智能防控平台是基於江蘇省地方標准《道路運輸車輛主動安全智能防控系統技術規范》(以下簡稱《規范》)經省市場監督管理局正式批准發布。該《規范》作為團體標准的升級,對主動安全智能防控系統現有的技術和功能做了進一步完善,更加貼合重點營運車輛實際和企業安全管理需求。 

主動安全平台所基於的協議是蘇標協議, 而蘇標協議是基於部標808協議和部標1078協議的基礎之上的構建的,  在這里不對部標808協議和1078協議的平台功能做過多闡述, 需要了解的可以參見文章:

基於部標1078視頻協議和蘇標Adas協議構建主動安全平台

作為主動安全平台的服務端需要解決兩個核心問題:

1.及時的報警投遞 

由於報警和報警產生的短視頻等附件數據是由設備主動推送到平台上面做平台在消息的及時投遞方面面臨着一定的挑戰. 由於涉及到安全等級較高的報警,比如前車碰撞車距過近司機抽煙打哈欠打電話等報警需要平台能夠及時投遞到監控用戶端提醒監控人員第一時間處理. 

采用ActiveMQ + SignalR 的分布式架構來投遞報警消息.采用阿里雲的OSS的雲存儲服務來解決存儲成本和流量成本的問題.

其中ActiveMQ主要用於后台不同服務端之間的消息發布和訂閱通知功能, SignalR則用於web平台對當前在線注冊用戶消息投送.

采用Signal后,頁面的工作就非常清爽了, 不再需要調用后台接口輪詢數據了,直接通過SignalR的回調接口, 接收到基於Json的報警數據, 直接彈窗處理了.

 

 

 

如下圖所示, 彈窗顯示主動安全報警的視頻圖像及文字信息內容.

 

 

 

2.報警附件數據存儲

報警附件數據存儲是一個蘇標主動安全平台的一個非常大的挑戰從成本和IO性能上都是一個挑戰.

一個蘇標主動安全二級報警少的四個文件,多的7個文件,如果同步處理,有可能同一個車,一次報警附件文件還沒處理完又一個報警附件文件數據又接踵而至.

為了加快報警附件數據的接收必須要提高服務的並發能力采用線程池每次一個報警數據的上傳連接開辟一個單獨的線程完成文件數據的IO寫入處理和消息發布的工作,隨后退出線程歸還線程池.

 

 

 

存儲對磁盤容量的需求是非常大的一次報警如果平均是4個文件,1M大小,則如果在線有1000台車則每天平均報警一次將會上傳1G的文件如果每個車平均上報10則每日有10G的存儲需求如果有1萬台車就自己算去吧.

實際運營的時候由於設備性能原因往往有大量的誤報如車道偏離報警車距過近報警等這些誤報的報警文件,基本上都是垃圾數據卻會占用服務器大量的帶寬資源和存儲成本. 

 

 

為了節省存儲成本采用雲存儲方式阿里雲的雲存儲費用相對較低但是存儲容量也不能一直增長如果一直增長,阿里雲也不是活菩薩也會有很多收費陷阱最好30天的生命周期過期數據自動銷毀,或者歸檔

如下圖所示,在代碼中根據參數配置, 設置數據的生命周期規則.

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM