生产经营数据统计与指标分析系统研究

2015-03-31 14:54:42潘永才罗雪姣温小清刘海龙汪标
物联网技术 2015年3期
关键词:柱状图报表图表

潘永才 罗雪姣 温小清 刘海龙 汪标

摘 要:为了实现信息化管理,以Java EE和Oracle 11g数据库为基础,开发了数据统计与指标分析系统。该系统完成数据录入以及各种分类形式的汇总,指标计算分析和图表展示等功能。实际应用证明,该系统操作界面友好,数据汇总方式符合实际应用标准,数据处理安全,快速。

关键词:数据统计;指标分析;Java EE;Oracle 11g数据库

中图分类号:TP316 文献标识码:A 文章编号:2095-1302(2015)03-00-02

0 引 言

随着采油厂的生产经营由“行政管理”到“精细化”再到“精益化管理”的不断升级,基础资料统计所形成的各类统计报表日益增多,而在经营管理过程中,经营指标是体现一个单位管理水平的重要标志。传统的方法是以手工来进行计算,这使基层人员工作量繁重,而且也不能直观的对指标进行分析对比,不利于企业的“精益化管理”。因此,设计信息化的数据统计和指标分析系统在实际应用中有重要意义。

生产经营统计分析系统是从生产经营管理的实际以及业务开展过程中的数据收集、存储、访问、应用现状与需求出发,掌控生产过程中的各项经营指标,实现实物消耗(投入)和产品量(产出)的最佳比值为目的,以单井、单台设备为基本统计单元,逐级建立的统计分析信息化管理系统,通过投入产出基础数据的统计,计算和分析各项生产经营指标,为成本核算、控制、分析及标杆管理提供准确的基础资料,为管理者决策提供科学依据。

1 系统框架设计

生产经营统计分析系统采用MVC多层架构技术,运用Eclipse,PowerBuilder多种开发工具,以Oracle 11g数据库为基础进行开发。

系统录入部分采用C/S(Client/Server)结构,即客户端和服务器结构进行开发。客户端可包含一个或多个在用户的电脑上运行的程序,而服务器端是数据库服务器端,客户端通过数据库连接访问服务器端的数据。

系统的客户端采B/S(Browser/Server)结构,即浏览器和服务器结构进行开发。采用安全高效的Java EE开源框架Spring、Spring MVC 、JdbcTemplate组合,该框架组合具有高内聚低耦合的特性,使业务代码与页面展示相互分离,确保系统数据的实时性、稳定性、安全性,并创建丰富的窗体和可视化空间,达到界面美观、友好的效果。

后台数据库服务器以Oracle 11g数据库为基础进行开发,该数据库具有快速故障切换、简易管理和零数据丢失灾难保护功能,可以有效提高数据的可用性,最大限度地减小由于天灾、人为操作错误或正常维护等各种原因导致停机现象所带来的风险,满足了油田生产管理过程中数据保存量大,存储和读取速度快的要求。

2 系统功能实现

该系统主要包括录入系统和查询系统,录入系统和查询系统实现的主要功能如图1所示。

图1 生产经营统计分析系统

录入系统主要用于基层工作人员录入基础数据,录入完成后,数据进入后台数据库保存。基础数据主要由工作人员通过录入系统录入,录入的数据为月度查询报表的主要数据来源,还有部分数据通过本地数据库与远程数据库建立连接,从远程数据库导入。在录入系统添加了Excel导入导出功能,基层人员可以把已有的Excel报表直接导入录入系统,减少了工作人员的工作量,同时可以把录入报表直接由数据库导出,供其他的数据使用。

查询系统报表将录入系统的数据主要按分类、分区块、分油田、分过程进行单月和累计(多月)汇总,并可以对比分析每个月数据的变化曲线。上一级的查询人员可以点击某项数据追踪到下一级别,找到数据来源。每个单位在每月数据汇总完成确定无误后对数据进审核后数据将锁定不允许再更改。如果必须要更改,则必须由拥有更高系统权限的人员解除审核才能对数据进行重新汇总,这样确保数据的可靠性和安全性。生产经营指标查询是对月度查询报表中的部分重要数据进行计算处理后得到的派生报表,在生产经营指标的分析结果以柱状、饼状、曲线等图表的形式展现出来,能够更直观地反应出相关的数据。并且在查询界面有Excel导出功能,将汇总后的数据报表导出。

系统设有管理员,主要对系统进行后台维护,主要包括用户管理,用户权限设置,下属基层单位的维护(删除,添加计量站/单井),网站新闻实时更新,文件管理和公告发布。

3 关键技术解决方案

3.1 数据连接池

由于数据库访问量比较大,故采用数据连接池+jdbcTemplate完成对数据库的增删改查操作。该连接池不仅具有具有dbcp连接池的所有功能,还可以监控SQL语句的执行以及session数量,监控系统出现的错误,以便及时的进行修改,可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。druid连接池配置如下所示:

………连接数据库………………

<!-- 初始化连接大小 -->

<!-- 连接池最大使用连接数量 -->

<!-- 连接池最小空闲 -->

<!-- 获取连接最大等待时间 -->

<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接-->

<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->

<!-- 打开removeAbandoned功能 ,自动回收超时连接-->

<!-- 超时时间1800秒-->

<!-- 关闭abanded连接时输出错误日志 -->

由于需要大量执行存储过程,选择Spring框架中的JdbcTemplate来操作数据库中的数据,jdbcTemplate封装了jdbc的所有操作并且不用显示关闭数据库连接,当用完连接后自动将连接释放回连接池,提升了数据库连接的时间,提高了系统的性能。

3.2 Jfreechart图表生成

查询端的图表生成应用了Jfreechart技术,JFreeChart是Java平台上的一个开放的图表绘制类库。它完全使用Java语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图、柱状图、散点图、时序图、甘特图等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和Excel关联,增强了系统数据分析对比能力。

例如生成一个柱状图:

//创建一个柱状图Bar3D bar=new Bar3D();

//给柱状图输入数据

String axisX=" ";

//x轴名称

String axisY="";

//y轴名称

DefaultCategoryDataset dataset=bar.CreateDataset(数据集参数);

title=DWMC+startdate+x[id]+”柱状图”;

//获得生成的柱状图的文件名

String filename=bar.getchart(session,new PrintWriter(out),title,axisX,axisY,dataset,line);

//获得生成的柱状图的路径

String charturl=request.getContextPath() + “/servlet/DisplayChart?filename=" + filename;

然后在jsp中将这个地址嵌入img中,如下:

最后得到的柱状分析图表如图2所示。

图2 系统生成柱状图示例

4 结 语

生产经营统计分析系统完成了班、站、岗位等各控制层面以单井、单机、单台设备为基本统计单元的各类基础数据录入报表、月度查询报表、累计查询报表、生产经营指标以及各项指标分析的设计编写。用户界面友好,数据存储安全,读取速度快,目前系统已稳定运行,为实际生产消耗,以及决策提供数据依据。

参考文献

[1]赵大力,靳其兵,赵梅.Oracle 数据库优化解决方案[J].计算机应用,2005(3):44-46.

[2]何月顺,丁秋林.调整优化Oracel9i 数据库的性能[J].计算机应用与软件,2005,21(6):10-11.

[3]陆洲.Java EE核心模式研究[J].计算机与数字工程,2014,42(1):81-84.

[4]刘春颖.采用JAVA技术实现JAVA数据库系统的应用[J].计算机光盘软件与应用,2014(14):280-281.

[5]王芸,陈汉章.社会经济统计学原理[M].成都: 西南财经大学出版社,2001.

[6]易丹辉.数据分析与Eviews应用[M].北京:中国统计出版社,2002.

猜你喜欢
柱状图报表图表
绘制和阅读降水量柱状图
基于Unity3D 的冒泡排序算法动态可视化设计及实现
LabWindows/CVI中Excel报表技术研究
测控技术(2018年8期)2018-11-25 07:42:28
从三大报表读懂养猪人的成绩单
双周图表
足球周刊(2016年14期)2016-11-02 10:54:56
双周图表
足球周刊(2016年15期)2016-11-02 10:54:16
基于Android平台的柱状图组件的设计实现
双周图表
足球周刊(2016年10期)2016-10-08 18:30:55
图表
世界博览(2016年16期)2016-09-27 18:25:26
Mapgis在绘制钻孔柱状图中的应用