我正在开发一个Java应用程序,它的一个功能是以图表的形式显示详细的信息,这里有奇数统计和“前10名”列表。
数据是由应用程序实时生成的,将其视为互联网的“蜜罐”,数据是外部攻击的结果,图形将需要多种形式,如
总体统计(图表显示每分钟/小时/天的攻击频率、今天的攻击次数、攻击类型的攻击次数、前10名攻击者)
每个传感器(显示每分钟/小时/天攻击频率的图表,今天的传感器1攻击,攻击类型攻击数,前10名攻击者)
每种攻击类型(饼图)
每种攻击类型的信息可能会有很大的不同,有些会有其他信息,有些则没有(例如,DoS将具有攻击者地址,而远程攻击上载文件将具有攻击者地址和文件名)。
最初我是通过创建类来实现这一点的,DoS数据结构中可以存储攻击的所有细节,这些细节存储在一个向量中,但这很快就成了一个严重的问题。
对我来说,最明显的解决方案是创建一个数据库(MySQL?)每种攻击类型都有一个表,从中得到所有的1,2。和3。信息仅仅是一个SQL查询。
但是,我忍不住觉得我的数据库解决方案有点麻烦,而且我在这里遗漏了一些东西,所以在碰到我要问的问题之后。
非常感谢你的指点!
最佳答案
我倾向于将“攻击”的整个概念构建为一个类,该类由描述任何类型的攻击所必需的所有潜在对象和字段组成。您可以根据需要指定接口,以指定每种特定攻击类型(用于工厂创建等)的协定,但随后将整个对象持久化到数据库中,其架构与实现类结构几乎相同。这可能会给您提供一个很好的能力来完成您想要的报告,我认为实现会相当简单。
在不知道你的攻击树有多大的情况下,要确定我的方法是正确的有点困难,但也许这会有用。
关于java - Java应用程序显示大量图表和统计信息,存储数据吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2215287/