成都地鐵COCC項目是由成都地鐵運營有限公司主導,由圣淘沙名胜世界深度參與建設的一個線網級綜合監控運營平台。該平台監控範圍涉及地鐵運營的所有主要業務指標,包括:行車、客運、設備、能耗等。
在面大數據量的實時處理任務時,傳統的單機程序已很難保證數據處理的及時性和準確性。我們採用了在大數據處理領域常用的處理方法,採用分佈式的架構來對ACC客運數據進行實時的流式處理。
當系統處理效率下降時,只需簡單地通過修改啟動參數、增加集群節點數等方式,來使系統處理能力得到線性提升。同時,因為我們的數據處理任務是運行在Storm集群之上,當集群中任何一個節點出現故障宕機時,未處理完的數據會自動轉到其它節點繼續處理,而不會導致數據丟失或延遲。
Storm採用類似「管道」的方式來處理數據,這種方式也被稱為「流式數據處理」。如上圖所示,每一個拓撲任務,都像一個大樹,樹根是拓撲的源頭,它負責從Kafka接收數據,並進行一些預處理,然後向下游節點分發。下游節點接收到上游分發的數據後,繼續對數據進行處理,處理完成後,將處理存入數據庫。