0

库存应用程序内置四层模型,包括:基于小程序的图形用户界面;专有中间层(Tomcat Web 应用程序);Oracle 10g 存储过程中的业务逻辑。数据存储在 Oracle 10g 中。

问题:中间层设计用于事务通信,而不是用于将大型数据集(超过 10,000 行)移动到用户界面或报告中。该应用程序不限制搜索结果的大小,这意味着用户能够执行将非常大的数据集返回到前端的搜索。此类请求会导致中间层对该请求以及其他并发请求的响应缓慢,达到 JVM 堆内存上限,并且在最坏的情况下会导致中间层崩溃。

任何关于最佳解决方案的建议/帮助/见解将不胜感激。非常感谢。

4

1 回答 1

1

您需要限制从服务器返回的数据量。事实是,一次向用户呈现 10,000 行是没有价值的(没有人能理解它)。将其分解为较小的集合,例如 100 个,并为用户提供过滤机制,以便能够找到相关数据。
对于报告,您需要执行一些奇特的查询来生成最常见的临时报告。您可能希望通过某种批处理机制离线生成每日(或其他定期)报告,以便用户可以在准备好后下载这些报告,这样您就不会影响您的事务处理。这些将通过其他机制(在您的应用服务器之外)生成并写入 Excel、PDF 或其他文件格式,供用户通过链接下载

于 2010-08-17T01:23:26.387 回答