我正在開發一個Java應用程序,它的一個功能是以圖表形式顯示奇數統計和「前10名」列表的詳細信息。Java應用程序顯示大量圖表和統計信息,存儲數據?
是由應用程序實時產生的數據,把它作爲一個互聯網「蜜罐」,數據是外部攻擊的結果,圖形將需要的各種形式,如
總體統計(圖表顯示每分鐘/小時/天的攻擊頻率,今天的攻擊次數,攻擊型攻擊次數,前10名攻擊者)
每個傳感器(圖表顯示每分鐘/小時/天的攻擊頻率,今日傳感器1攻擊,攻擊型攻擊數量,前10名攻擊者)
每次攻擊型(餅圖)
每種攻擊類型的信息可以有很大不同,並會有其他一些信息有,有些沒有(如DoS將具有攻擊者地址,而用於上傳文件的Remote Exploit將具有攻擊者地址和文件名)。
最初我通過創建Classes來實現這個目標,這裏有一個DoS數據結構,其中可以存儲攻擊的所有細節,並且這些細節存儲在一個向量中,但最終會變得非常快速。
對我來說,最明顯的解決方案是創建一個數據庫(MySQL?)和每個攻擊類型的表,從中獲得所有的1.,2.和3.信息僅僅是一個SQL查詢。
但是,我不禁感覺到我的數據庫解決方案有點兒麻煩,而且我在這裏錯過了一些東西,所以在對我在這裏問的問題點頭之後。
任何指針非常感謝!
聽起來很有希望,你建議在什麼數據庫中存儲對象? 我的攻擊樹絕不是很大 – 2010-02-09 13:18:48
我想這取決於你的部署將會有多複雜,以及你期望捕獲多少流量。最簡單的解決方案之一是使用像H2(http://www.h2database.com/)這樣的東西,它可以直接嵌入到你的應用程序中,並且具有相當全面的SQL方言。如果您正在爲您的ORM解決方案考慮此問題,還有一種Hibernate方言。如果你想要更多的靈活性或需要更多的性能,我會傾向於MySql或PostgreSQL(http://www.postgresql.org)。對於你在做什麼,我猜測熟悉是選擇其中一個關鍵因素。 – Ickster 2010-02-10 01:14:40