2010-08-18 27 views
1

我正在寫一個小型的基於Django的前端收集和圖表互聯網使用情況統計。Django模型存儲互聯網使用情況統計

目前,從我們的ISP獲取每月文本文件,顯示每5分鐘間隔的平均字節數/秒。例如: -

Date  Time  In  Out 
28.03.2010 00:00:00 204304 228922 
28.03.2010 00:05:00 104231 222998 
28.03.2010 00:10:00 264292 210194 
28.03.2010 00:15:00 212982 213048 
28.03.2010 00:20:00 90543 139082 
28.03.2010 00:25:00 71620 175556 
28.03.2010 00:30:00 65382 207898 
28.03.2010 00:35:00 68676 213925 
28.03.2010 00:40:00 62974 204304 
28.03.2010 00:45:00 54341 208427 
28.03.2010 00:50:00 98822 155641 

我們通過300(5x60)乘以這些數字讓輸入/輸出的總字節數爲每5分鐘塊。我真的很好奇爲什麼ISP會給我們這樣的平均字節/秒,而不是實際給我們在5分鐘間隔內消耗的總字節數?對於任何知道的人,是否有某種技術)

然後把它們計算得到每天或每小時的總數,然後對它們進行圖形化,這相當微不足道。

我的問題很簡單 - 在Django中,存儲這些數據的高效模型是什麼?

輸入/輸出的總字節實際上並不屬於單個時間點,它包含一個句點。將每個數據點存儲爲開始和結束時間,然後將總字節數存入/存儲有多大意義?這樣做感覺更乾淨了,但僅僅存儲單個日期/時間並假設它是前後五分鐘的時間間隔是不好的(說實話,我實際上不確定它們中的哪一個是)。

或者是否有更聰明/有效的方式來存儲這些數據 - 最終的結果是我們想要做的事情是每小時或每天(或任意時間段)繪製總計,並且還繪製實際流量利率等

我想找到一種有效的方式來存儲數據,這也很容易查詢上述統計。

此外,我們可以在這裏使用任何特別好的可視化/統計數據?

乾杯, 維克多

+0

我會考慮使用非關係存儲它們 - 例如Redis或MongoDB。兩者都有很好的Python客戶端庫。 – 2010-08-18 12:44:11

回答

1

RRDTool的是相當多的設計用於存儲和製圖這種數據的

有可用幾個不同的Python包裝,以及如果你看看PyPI上