我正在开发一个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