Java 应用程序显示大量图表和统计数据,存储数据?

标签 java mysql database

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

数据由应用程序实时生成,将其视为互联网“蜜 jar ”,数据是外部攻击的结果,图表需要采用各种形式,例如

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

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

  3. 按攻击类型(饼图)

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

最初我通过创建类来解决这个问题,有一个 DoS 数据结构,其中可以存储该攻击的所有细节,这些都存储在一个 vector 中,但这最终很快成为一个严重的问题。

对我来说,最明显的解决方案是创建一个数据库(MySQL?),并为每种攻击类型创建一个表,从中获取所有 1.、2. 和 3. 信息仅需一个 SQL 查询即可。

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

非常感谢任何指点!

最佳答案

我倾向于将“攻击”的整个概念构建为一个类,该类由描述任何类型攻击所需的所有潜在对象和字段组成。您可以根据需要指定接口(interface)以指定每个特定攻击类型的契约(Contract)(用于工厂创建等),然后将整个对象持久保存到数据库中,其模式与您的实现类结构几乎相同。这应该可以让您很好地执行所需的报告,而且我认为实现起来相当简单。

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

关于Java 应用程序显示大量图表和统计数据,存储数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2215287/

相关文章:

java - JTable 出现不需要的拖放行为

java - Ping ICMP 回应请求

Python 生成的 MySQL SELECT 查询不返回完整的结果列表

mysql - 我的 api 响应在前端未定义

java - 无法在请求中设置 cookie

php - 当用户处于不同时区时如何处理日期时间的显示?

php - 从 TIME 函数中删除秒数?

sql - SQL中有固定的除法吗?

java - 我如何从Java连接到mysql服务器?

java程序在浏览器中打开网页并将一些数据发布到打开的页面中