Java Application显示了很多图表和统计数据,存储数据?

时间:2010-02-07 00:06:38

标签: java mysql database

我正在开发一个Java应用程序,它的一个功能是以图形形式显示详细信息,其中包含奇数统计数据和“前10名”列表。

数据是由应用程序实时生成的,认为它是互联网“蜜罐”,数据是外部攻击的结果,图形需要有不同的形式,如

  1. 总体统计数据(图表显示每分钟/小时/天的攻击频率,今天的攻击次数,攻击型攻击次数,前10名攻击者)

  2. 每个传感器(图表显示每分钟/小时/天的攻击频率,今天的传感器1攻击,攻击型攻击次数,前10名攻击者)

  3. 每次攻击类型(饼图)

  4. 每种攻击类型的信息可能会有很大差异,而且有些信息会有其他信息,有些则没有(例如,DoS会有攻击者地址,而远程攻击上传文件则会有攻击者地址和文件名)。

    最初我通过创建Classes来解决这个问题,有一个DoS数据结构,其中可以存储该攻击的所有细节,并且这些存储在一个向量中,但这最终变得非常严重。

    对我来说,显而易见的解决方案是创建一个数据库(MySQL?),其中包含每种攻击类型的表,从中获取所有的1,2。和3.信息仅仅是一个SQL查询。

    然而,我不禁觉得我的数据库解决方案有点麻烦,而且我在这里遗漏了一些东西,所以在我遇到问题之后我就在这里问。

    任何指针都非常感谢!

2 个答案:

答案 0 :(得分:1)

我倾向于将“攻击”的整个概念构建为由描述任何类型攻击所需的所有潜在对象和字段组成的类。您可以根据需要指定接口以指定每种特定攻击类型的合同(用于工厂创建等),但随后将整个对象持久保存到具有与您的实现类结构非常相似的模式的数据库。这可能会给你一个很好的能力来做你想要的报告,我认为实现将相当简单。

在不知道你的攻击树有多大的情况下,确保我的方法是正确的有点困难,但也许这会很有用。

答案 1 :(得分:0)

不确定但您所描述的内容看起来像是OLAP多维数据集,因此可以考虑使用star schemasnowflake schema并查看Pentaho之类的内容:

  

一个完整的商业智能平台,包括报告,分析(OLAP),仪表板,数据挖掘和数据集成(ETL)。