定位系統優化

這樣一個需求redis

某公司,經過自動化,來記錄員工天天的考勤,及員工在公司中的行走狀況。分3個班次,每班次大概1000人。mongodb

員工每通過一個辦公室,都會收集到其信息。 數據格式:員工ID、時間、辦公室ID 數據庫

數據信息經過硬件自動採集,每3-5秒鐘至少發送一次數據。這一環節不作更多介紹。spa

在進入公司的時候,前後通過兩個門,依次爲A,B,這裏是有前後書序的。上班,先A,後B,下班先B後A。設計

進入後一個辦公室的時間,即爲離開前一個辦公室的時間。 代理

辦公室的ID是惟一的。數據分析

規定:A:1,B:2,工廠裏面的是2,3,4自動化

最終收集到雜亂無章的數據,如工人甲,1,1,1,2,2,3,3,3,3,3,4,4..,5,5   ,2,2,1,1監控

這樣這名工人就完成了進入工廠,到辦公室,離開工廠。硬件

現須要統計  進入工廠的時間:第一次進入A的時間,第一次進入B的時間。

對於每個辦公室,進入時間與離開時間

離開工廠的時間。

最終:分析出員工的考勤(上下班)、在公司的軌跡線路,最新位置。時間延遲不能超過2分鐘。監控室會實時查看相關數據。數據是經過TCP接收的。

階段一:

將數據原始存儲到數據庫中,而後經過代理運行分析,將分析後的結果存儲到數據庫中。

臨時數據在10-20萬,結果數據在200、300萬時已有些吃力。每分析一次最長鬚要10秒左右。

此方法也是通過了數次調整。

階段二

數據分析過程不在數據庫中處理,而在SOCKET中進行處理。數據庫不作分析,只作插入、讀取操做。

對於頻繁讀取的數據,也是存儲的SOCKET中。如即時位置。

自行設計了一套(UDP)協議,讀取最新數據。

工做量增長了不少,可是處理過程起來很是快!須要將數據庫數據與UDP讀取到的數據進行合併。

階段三

若是數據量巨大,將使用redis+mongodb。

相關文章
相關標籤/搜索