论文部分内容阅读
通常来说,银行的生产经营情况多通过报表的形式进行展示,并通过对报表数据进行智能化的统计分析,得到对银行管理层决策有用的信息。报表系统是利用计算机对数据进行专门统计分析并生成报表的工具,在银行运行和管理中起到非常重要的作用。本文通过对某银行的报表系统研究,发现了两个问题,一是无法很好完成千万级以上的数据计算,二是对报表数据进行实时统计、查询。该银行的现有报表系统利用存储过程对数据进行计算,由于交易数据量持续增长,当数据量过大时,利用存储过程对数据进行计算的方式效率过低,无法满足当前对数据计算的需求;另外,该银行进行报表数据查询时,现有系统是对数据进行离线计算,然后直接查询数据库获取计算结果,这种方案存在两个问题:一是当查询数据总量达到千万级以上时,无法满足快速查询的要求,而且查询对数据库产生了巨大的压力;二是数据无法实时统计、查询。针对上面存在的问题,本文提出了具体的解决方法。(1)针对千万级以上的数据无法很好地进行计算的问题,采用“分治”的思想,提出了使用HDFS完成数据存储和MapReduce并行计算的方法,对数据计算并保存为中间文件,然后对中间文件合并的解决方案,成功实现了大数据量的计算。(2)针对无法对报表数据进行实时统计、查询的问题,本文引入了分布式索引技术SolrCloud,利用其高效的多并发查询功能,极大缩短报表数据查询、统计时间。通过实验证明,这个方法达到了实时报表统计、查询的目的。通过实验测试分析,针对上面问题设计的实时统计报表系统很好地完成了千万级以上数据的计算,并可以实时查询交易数据的统计结果,实现了最初系统设计的目标。