Java 收集及;过滤大量数据

Java 收集及;过滤大量数据,java,database,Java,Database,我几乎没有JAVA编码经验(大学里的一些课程),但在数据收集方面没有经验 我想监控CAN总线上发送的所有消息,并临时存储这些消息以过滤它们,这样我就可以隔离一些特定的消息 这意味着我必须每秒最多存储17543条1字节的消息。我想存储-至少-几十秒 最好的方法是什么 我可以将所有这些存储在一个数组中吗? 使用数据库(如Hibernate)会更好吗 我知道这是相当开放的,但我想知道什么是可能的,什么是处理这个问题的最佳方向 我必须每秒最多存储17543条1字节的消息。我想存储-至少-几十秒 将消息存

我几乎没有JAVA编码经验(大学里的一些课程),但在数据收集方面没有经验

我想监控CAN总线上发送的所有消息,并临时存储这些消息以过滤它们,这样我就可以隔离一些特定的消息

这意味着我必须每秒最多存储17543条1字节的消息。我想存储-至少-几十秒

最好的方法是什么

我可以将所有这些存储在一个数组中吗? 使用数据库(如Hibernate)会更好吗

我知道这是相当开放的,但我想知道什么是可能的,什么是处理这个问题的最佳方向

我必须每秒最多存储17543条1字节的消息。我想存储-至少-几十秒

将消息存储在一个数据库中可能是有意义的。这可以使用数组轻松实现

30秒的数据将需要约500KB的存储空间。

那么,您每秒(最多)会收到17543条消息,每条消息只有1个字节,您想存储几十秒吗


这不是很多数据,您可以轻松地将其存储在内存中的数组中。假设您要存储1分钟的消息,即17543 x 60秒=小于1 MB的数据。这在现代计算机上是微不足道的。一个数据库就太过分了。

Hibernate不是一个数据库。这是一个ORM

20 seconds = 20 * 17543 bytes 
           = 350860 bytes
           = 350 KB 
           = nothing. 

对于如此少量的数据,将所有内容存储在内存中不会有问题。

非常感谢。内存的限制是什么?你的电脑可能只有几GB(几千MB)的内存。这比你需要的要多上千倍。