我有一个报告系统,我需要合并来自 3 个不同服务器(系统)的数据并将其显示给用户。只要有几千条记录,这种方法就可以正常工作,但随着它增加系统超时。
我正在考虑使用另一种方法。当用户运行结果时,我将生成一个请求以向数据库生成报告。运行的守护进程将拾取它并收集数据并生成报告,并将报告数据的链接通过电子邮件发送给用户。我可以在这里做很多事情。
1)将收集到的数据以可以简单地在页面上向用户显示的形式插入数据库。 2)生成html并将其存储到数据库。
虽然我认为第一个选项是最好的,但还有其他建议吗?
最佳答案
几个想法:
- 考虑使用 hadoop 使您的报表处理具有高度可扩展性
- 考虑按一定时间间隔(例如每小时)运行报告。当用户请求报告时,您可以立即向他们显示最近生成的报告。
- 绝对不存储 html。相反,当用户发出请求时呈现它。顺便说一句,这还使您可以灵活地向不同用户显示不同版本的报告
关于java - 处理大量报告数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12186152/