交通資料即時處理方式探討
2017-09-07
交通資料是屬於時空間資料,常常應用於告知民眾目前的交通壅塞狀況,相關的網站與APP也相當的多。而一般的路況在呈現上大都是看到一個路段上多顏色路況與車速顯示,這樣的顯示其實背後經過非常多的即時處理才能得到,尤其現在的資料蒐集來源非常多,除了由政府建設維運的偵測器資料,回傳頻率目前以高速公路為例可以提供到每分鐘回傳,另外也可能會來自車輛GPS座標,回傳頻率都會低於一分鐘(20秒或30秒),這也表示中心端必須能夠快速處理資料過濾、修正與轉換等程序,並且這樣的問題會隨著資料數量增加而運算數即增加的情況。 因此,以提升運算速度為主要目的之分散式運算架構便是一項新技術的導入,而這邊我們特別使用了一項專門處理即時資料流的框架Storm進行「全台灣國道即時路況」的功能開發做為測試。這項測試預計處理高速公路局約3596支車輛偵測器資料,每分鐘約有4萬多筆資料,整體程序如下圖所示。
程序流程圖
運算的結果可以將是過濾後較準確之資料,並且轉換成密度與服務水準,另外主要還有是運算速度之測試,因平行處理某些參數與電腦數量可以調整,測試運算速度結果如下。
運算效能比較
由此次測試結果可以發現storm這樣的分散式架構快速處理即時資料是非常便利的,並且能夠滿足需求,但必須有效的調整參數,像其中平行運算數以及運算機器並非單純增加效能就會顯著提升,而是須配合拓樸(Topology)設計與運作程序進行安排。
雲端分散式運算架構圖
218