我们应该每小时接收一次(3h范围)我们的每日报告(24h范围),如果发现我们需要匹配,该报告将包含与数据库中的交易记录(reference,id1,id2)的条目匹配(reference,id1,id2)将此记录包括在我们对报告金额的最终比较中以及数据库中匹配记录金额的计算总和中。 我们使用JEE7,到目前为止,我们已经想出这个办法: 1.解析/反序列化XML流进入到杰克逊使用Java对象 2.一旦内存10K对象的门槛达到总和/过滤这些对象,然后将它们序列化为json,然后将它们临时存储在DB中。
3.因此,在完成完整分析之后,我们将对db中的Entry进行过滤/求和并序列化为json数据。从现在开始,我们开始并行比较这些Entry对象和我们的Transaction记录。
在这里,我需要一些优化,因为我们所要做的就是比较这些Entry(reference,id1,id2)= Transaction(reference,id1,id2),如果找到匹配项,我们将在最终计算中考虑此Transaction,因为它是我们的一部分报告。因此,基本上所有(reference,id1,id2)都应该是唯一的。
我正在阅读有关ora_hash函数或多列索引的信息,以加快此查找的速度。然后,SQL IN子句有一些限制(1000条记录),请参见此处。
我们还使用Ejb Async方法来实现这种并行性,并且仍然需要了解此异步调用何时结束而不希望引入线程延迟。
我想知道这种方法的一些优化方法,总的来说,如果我们在RHS上标记所有交易之后,这种方法是否可行,则步骤4就是查询并汇总所有这些金额,并与本报告附带的金额进行匹配,由此得出结论我们的过程。
ABOUTYOU
相关分类