在之前的」多車輛實時跡展示方案」(文章中,我講解了我們對多軌跡實時監測展示方案在前段的一些實踐和對於後端架構的設計,但是在真實專案的落地過程中,我們基於此做了很多的優化,這裡做乙個簡單的總結。
這裡我將該專案大致做乙個描述:公司某個專案中有一萬兩千輛車需要做實時監控,而且這些車24小時均會不間斷進行gps上報。所以其中涉及到gps的對接、海量資料儲存的設計方案、訊息推送、前端展示、系列報警設計等。這其中的gps對接、資料儲存涉及等問題我在軌跡系列文章中均有描述,感興趣的朋友可以看看,本篇著重描述資訊推送和前端展示的優化。
這裡的訊息推送並不是很複雜,所以我們並沒有採用卡夫卡等成熟的訊息機制架構,依然採用的是前篇中我進行了介紹的websocket方案。但是,有幾點我們需要考慮:
b.我們有1萬輛以上的車輛,每次推送給前端的資料不應該是所有的,即做成廣播協議是不合理的。
針對這兩個問題,我們分別做了解決:
b.在訊息推送中,我們根據humanid來進行資料推送的選擇。不同人員要看到的車輛是不一樣的,因humanid不同而不同。
在推送方案中我們還進行了其他優化:
a.通過心跳檢查來進行socket連線保活。
a.根據車輛數目切換展示方式,車輛少時用車輛圖示,車輛多時用點。
b.重新設計車輛圖示,以俯檢視進行車輛圖示設計,並通過後視鏡等細節來更好的表現車頭和車尾。
d.車輛車牌的顯示,並且只有在地圖縮放到一定級別後才顯示,以避免圖示雜亂。
f.提供車輛詳細資訊展示的入口。
g.根據車輛不同的狀態,比如超速、停留等用不同的車輛圖示來進行表示。
多軌跡展示效果:
單車輛歷史軌跡展示效果:
OTP在實際專案中的整合
提起動態令牌,大家都會想到認證伺服器,而這個認證伺服器又怎麼應用到實際的應用系統中呢?在這裡做乙個分析和說明,幫助廣大使用者能夠更好的使用otp動態令牌這種身份認證產品。從前面otp原理部分中可以看出,伺服器端是在乙個範圍內計算出多個otp,然後檢驗客戶端硬體產生的otp口令是否在這個範圍內。那麼伺...
元件在實際專案中的使用
元件在實際專案中的使用 自動封裝元件 封裝元件後元件間傳值 父傳子props 子傳父 emit 元件事件的呼叫 在父元件內 元件標籤新增ref 自定義名 this.refs.自定義元件名.子元件方法 元件插槽 套入資料或分開布局 slot的使用就像它的名字一樣,在元件內定義一塊空間,取名為slota...
《資料結構在實際專案中的應用》系列文章
我的系列文章 資料結構在實際專案中的應用 已經寫了四篇了,分別是 在此記錄一下。在我本科學習資料結構的時候,由於沒有專案實戰經驗,心裡充滿了疑惑,學習這些資料結構到底有什麼用處?在畢業後的這幾年,接觸了各式各樣的專案,終於理解了資料結構在程式設計中的重要性。這個系列教程就是為了解決這樣乙個問題的,我...