摘 要:充分利用赤峰市温室小气候仪采集到的要素数据,建立web平台,对小气候仪的运行与数据上报进行监测。并可进行相应时间段的实时与历史数据的查询与统计,形成分析图表。充分利用java技术与nutz框架结构,构建一个基于C/S模式、功能完备的数据监控与查询平台。
【关键词】运行监控 web平台 农气服务
赤峰市气象局目前拥有13台温室小气候仪,监测站点遍布全市各旗、县、区主要设施农业种植区,通过平台的建设有方便用户简单直观的查看气象站数据,使农户能够及时了解大棚内环境情况,实现市局对全市设施农业站点数据的监控和管理,及时发现疑误数据,进行维护维修工作的安排。有效的支持赤峰设施农业的建设,对实现赤峰市设施农业气象服务标准化和规范化,以及进一步提高设施农业气象服务能力和水平都具有重要意义。
1 设计思路与总体框架
1.1 设计思路
平台总体功能设计上集合了农田小气候仪数据采集入库、时实数据监测、数据查询、数据分析、温室要素预报等功能于一体的综合性业务平台。通过搭建基于我气象部门局域网的web服务器,实现全市用户的访问。在计算机等硬件方面,充份利用气象部门内部基于广域网的硬件服务器,并且选用硬件能效与安全性高、稳定性强的网各与硬件设备,使该业务平台可以在一个相对稳定的物理网络环境下运行。软件的选择上,采用稳定性与安全性较高级的服务器版操作系统和企业级数据库,使程序可以高效稳定地运行。在项目设计与代码开发方面,采用了对外开源代码的Tomcat6.0作为系统虚机运行软件环境,平台的前台交互显示部分的设计与开发使用JSP设计语言,使用JAVA语言编写后台各功能模快。对数据信息的存储方面,使用的是Sql Server2008做为数据存储介质。各旗县站和市局授权用户可通过相应的用户届面进行相应功能的操作。从总体设计上来讲,该业务平台系统采取了全局考虑、分模块实现、分阶段完成的设计理念。
应用平台的开发总体框架是基于B/S结构而设计的Web平台应用,根据该业务系统所面向的各种不同权限的用户和所要提供服务的基本业务需求,采用由外层显示到内部逻辑处理,模块化的设计,分步完成的设计思路,该平台功能上可分为前台面向用户的页面显示、后台罗辑处理功能的实现、数据存储三大方面。前台页面显示部分,面向的是各旗县与盟市局不同权限与级别的用户,用户可以通过前端页面实现与平台的交互操作。从功能上来看,前端页面可分为数据监控、数据分析、用户管理、图表显示等功能;后台模块为各功能的具体实现、与数据库的关联操作,是整个业务系统的核心组成部分,实现了该平台的各种功能模块;数据层提供各种用户数据的存储管理功能,响应前端用户与后台功能模块的请求操作,整个平台在实现过中通过数据层作为全局支撑。
2 运行环境的搭建与配制
2.1 JDK开发环境配制
JDK作为JAVA开发的环境,不管是做JAVA开发,还是做安卓平台开发,都必须在电脑上安装JDK,由于使用的软硬件服务器为64bit版本,本系统也使用jdk1.6 64bit版本作为开发环境。在软件安装完成后需要进行环境变量的设置,能过设置JAVA_HOME、PATH和CLASSPATH环境变量,使系统可以找到jdk运行位置,java项目可以运行。
2.2 Tomcat运行环境配制
平台运行必须在tomcat运行,如何合理搭建tomcat的服务器,是决定项目成功的基础,本项目采用的是tomcat6.0 64bit版。安装完成后首先需进行环境变量配置,指定jdk运行环境目录。别外还需要进行web项目虚拟目录、web.xml、server.xml文件的配置,最后进行访问端口的配制。通过以上配制,web应用可以在tomcat环境下运行。
3 数据模型的设计与实现
3.1 数据库的选择
数据支撑方面,目前有多种选择,如mysql、sqlserver、oracle等。mysql 是开源的,免费得,体积小,并发执行的数据库,mysql一般应用已经足够,但在异常处理等方面还有待提升,如不支持事务操作、子查询、外键、存储过程和视图等功能。SQL server 是Microsoft 的数据,上手容易,简单,主要面向中小企业。其最大的优势就是在于集成了MS公司的各类产品及资源,提供了强大的可视化界面、高度集成的管理开发工具。oracle 是大型的数据库,体积打。可以支持多个实例同时运行,功能非常强大。大的企业和公司一般是oracle。结合以上所述,并根据本项目的特点及使用平台,选择sqlserver2008作为本项目的数据存储。
3.2 数据库的设计原则
开始设计数据库之前,应首先分析出应用项目的是类型,是符合 “事务处理型”(Transactional)或者是符合“分析型” (Analytical)的特性,如果不考虑目标程序是什么类型的,后期平台很快会出现性能的降低。根据该项目的数据使用及存储分析,对数据的操做集中在增查改删方面,所以确定数据库为事务处理型。设计数据表时,按照相应范式标准,所有项目相关表都应满足以下约束:原子性约束,基本数据表中的字段不可以再被分解。 原始性,基本数据表中的记录为基本数据的记录。演绎性,是指由基本表和代码表中的数据,可以由此派生出所有的数据输出。稳定性。基本数据表的结构是相对并且是稳定的,并且表中的数据记录是可以长期进行保存的。主键与外键的设计,在项目平台的数据库设计中占有非常重要的地位。主键是实体类的抽象表现,主键与外键可以进行配对,代表实体之间的某种关联。
4 主要功能模块的实现
4.1 运行监控模块
该模块实现了小气候仪数据的实时数据入库情况监控与实时数据查询功能,是平台的主要功能模块,通过页面状态图的显示,可方便直观的显示出各小时和十分钟数据采集的状态与数据。 通过ajax异步刷新技术实现定时数据获取,并传递json形式的参数调用后台java模块取得数据库中十分钟数据。由于不同采集器数据入库时间稍有差异,前端页面设定每隔被十整除后余数为0、3、5的时次调用模块,确保数时次数据均可被监控到。调用后,模块根据此刻时间从数据库取得数据并存放到一个List数组链表中返回至前端显示页面。前端页面中,通过脚本语言获得List数组后,进行循环解析数据,得到各字段数据后,对数据进行格式化处理,最后显示在页面表格中。表格控制使用js专门处理页面端表格的类包,可对表格的显示布局进行优化,为使用者展现出良好的用户体验。
数据监控模块中,需要读取小气候分钟数据表中的数据来进行实时到报的判断。表结构如表1所示。
根据实际数据需求,该表采用一对一的映射关系,即一个ID对应唯一的一条记录。其中RH记录空气温度信息,采用浮点型式存储数据TS为地温数据存储字段,采用浮点型来存储数据,可允许可值出现;R为总辐射字段,同样采用浮点型来存储,允许为空值。其中id字段作为该表的索引键,会根据数据条目的增加自动增长。
4.2 数据查询模块
数据查询模块可实现对全市小气候仪数据的查询与下载功能,通过在前端页面选择要查询的开始、结束时间、台站选择、查询类型等选项后,可以列表的形式在页面显示。并可选择查询分钟数据或小时数据来进行不同数据类型的显示。实现原理上,通过前端页面选择的要素信息,同过ajax技术传递至后台相应处理模块后,从数据库中进行数据查询后,把查询的数据以链表的形式存放在一个list中,再以json形的数据格式返回至前端页面。在前端页面中,通过js对数据解析处理后进行显示。并通过使用table.js对前端表格进行处理,可对表格数据进行排序和前后翻译操作。
数据查询完成后,还可在页面中点击文件下载对所查数据进行保存操作。实现原理为通过前面选择的查询要素后,在后台处理模块中进行数据查询获取,保存在链表中。通过使用java类的word处理类包poi的jar包对得到的数据进行word文件写入操作,把数据写入到服务器端的文件目录后,再调用java文件操作类fileupload对文件进行下载操作。
4.3 图表显示模块
图表显示模块中可对各站点的不同要素数据进行图表形式的显示,方便使用者直观地对数据进行分析与统计。可选择多个台站的多个要素进行显示,也可选择单一台站的不同要素进行图表的生成。主要实现方法为通过前台页面的查询要素的选择,在后台进行相应的数据查询后,把查询到的数据结果集进行处理,封装成echarts表格类的数据格式后,在前端页面通过js对数据进行处理,在指定的页面区域进行图表显示。图表显示后,还可在图表上进行动态的数据改变,重新生成数据。也可以在线状图与柱状图间进行切换显示,并进行图表的保存。显示结果如图1所示。
5 结论
本平台的开发,方便用户简单直观的查看气象站数据,使农户能够及时了解大棚内环境情况,实现市局对全市设施农业站点数据的监控和管理,及时的发现疑误数据,进行维护维修工作的安排。有效的支持赤峰设施农业的建设,对实现赤峰市设施农业气象服务标准化和规范化,以及进一步提高设施农业气象服务能力和水平都具有重要意义。
项目达到预期技术水平后,能够为赤峰市广大设施农业种植户及相关决策部门提供方便快捷的设施农业气象数据服务,对气象服务于“三农”,稳定农户增产增收,具有一定的经济与社会效益。
参考文献
[2]Y Daniel Liang.Java语言程序设计基础篇[M].北京:机械工业出版社,2008.
[3]孙卫琴.Java面向对象编程[M].北京:电子工业出版社,2006.
[4]李刚.疯狂Java讲义[M].北京:电子工业出版社,2012.
[5]梁勇.Java深入解析――透析Java本质的36个话题[M].北京:电子工业出版社, 2013.
[6]孙卫琴.Tomcat与Java Web开发技术详解(第2版)[M].北京:电子工业出版社,2009.
[7]Jonathan Chaffer;KarlSwedberg.jQuery基础教程(第4版)[M].北京:人民邮电出版社,2013.
[8]孙鑫.Java Web开发详解--XML+XSLT+Servlet+JSP深入剖析与实例应用[M].北京:电子工业出版社,2006.