这个故事。我有一个基于Java的Web服务客户端,运行的数据可以每60秒更新一次24*7*365。
有1,000多个数据点,我需要监测是否有一个新的更新是实时的。如果有一个新的数据点可用,我需要在MySQl数据库中追加新的值。
然后,我需要在一个基于java的web应用程序中以图形形式分析/显示数据。
有没有人对高效的软件体系结构有任何建议?具体地说:
欢迎任何建议/建设性的批评。
谢谢
发布于 2011-03-29 10:39:32
这不是一个巨大的数据量/快速变化。也就是说,将输入值存储在内存中并不是很大的开销。虽然您还没有说明捕获数据点涉及到什么--如果捕获每个数据点需要1秒,那么在一个线程中运行它,您将无法在60秒内遍历集合:您将需要查看多线程。
如果您已经控制了为处理准备输入的代码,那么考虑在同一个可执行文件中实现处理是值得的--但是请考虑锁定。在这个频率上运行cron作业的排序规则是关于边界的--根据cron的实现有许多不同的约束--您需要考虑如果单个调用花费的时间比处理的实际间隔更长时会发生什么--如果是我,我会在数据捕获或作为守护进程运行时这样做。
数据库模式,单个大表与许多小表
答案是,一个表通常比多个表更好--当然,它比1000个表更好!
数据库附录,我是否需要实现某种形式的多线程来优化性能?
只有在每次调用中真正创建/更新1000行并且必须在10 MUST以下具有实时响应的情况下。
什么是计算和推送更新到web应用程序的最佳触发机制?
这太含糊了,无法给出任何合理的答案。
以图形形式显示数据
同样,这也是一个非常模糊的问题--输出是单个布尔值吗?一组序数值?还有别的吗?
这个javascript绘图仪可能很有用。
https://stackoverflow.com/questions/5470980
复制相似问题