基于eSAU按小时分区的方案,实现了大数据量情况下深入分析按小时分段查询、分析并入库的方案,解决了大数据量情况下由于跨分区查询数据导致深入分析性能很慢的问题。同时,对于大数据量情况下精确提示深入分析的进度,并允许用户中断,终止后允许用户查看已经完成的深入分析结果,避免由于深入分析时间过长用户只能一直等待直到深入分析完成的情况。通过分时查询、精确进度提示和允许终止等三个方面提升效率,改善用户体验。
终端指标xml文件读取重构----抽象工厂。
PS Core知识库管理特性----多线程、数据库加锁。
在入库的时候进行有效性检查,单条插入,与数据库频繁交互,效率很低。正确的做法应该是入库前在内存中完成数据的预处理,批量插入数据库
对新出现的Vendor和Model,发现一条就执行一次数据库插入。应该在数据校验的过程中将新出现的Vendor和Model收集在内存中,批量插入数据库
由于存在自定义属性,因此每条数据入库所对应的列和该列的取值都是在代码中动态拼接,作为参数传递给ibatis后生成SQL执行。因此每条数据入库前ibatis都要解析编译生成SQL,影响入库效率
每条数据的SNO都是通过数据库的Sequence(SEQ_GLX_TERMINALINFO.NEXTVAL)动态生成,影响效率
通过Webservice在前后台传递数据的方式效率比较低(内部包装了xml的序列化、反射等处理,使得过程较慢,同时传输的xml文件变大,网络传输效率差)