APP下载

农业小气候观测站数据收集与处理软件设计

2019-02-12陈梦醒王旋王珍珍邱丽静

科学与技术 2019年2期
关键词:软件开发数据库

陈梦醒 王旋 王珍珍 邱丽静

摘要:本文根据长沙市气象局在建的农业小气候自动站的运行现状,并结合长沙市为农气象服务业务发展需求分析,重新进行软件开发,构建一个可实现数据共享的、方便快捷且功能完善的农业小气候自动站资料收集与处理综合应用软件平台。

关键詞:自动站;农业小气候观测;软件开发;数据库

1数据收集与处理设计

1.1数据收集入库

数据收集入库模块主要由两部分组成:数据扫描收集程序和数据分解入库程序。扫描收集程序的主要任务是,根据配置的目录列表,定时扫描原始数据库并下载文本数据文件,将文件进行分类,将需要进行处理的文件传送至下一程序。分解入库程序的主要任务是,接收文件后并进行数据信息提取,批处理解析文本数据文件写入数据库表,并采用日志记录数据入库收集的情况。

1.2数据加工处理

收集入库完成后,进入系统后台数据自动加工处理模块,加工处理模块主要功能有:

(1)加工处理日数据。日数据作为报表统计的基础数据,需要提前进行计算处理,每一天自动统计生成各气象要素的日数据,如日降水量、日平均气温、日最高气温、日最低气温、日平均风速等。

(2)生成历史数据表。考虑到观测数据的长期储存性,方便查询统计的时效性,系统将按年分自动生成每个站点的逐年历史数据表。

(3)实时数据转移。实时数据表通常储存一个月的实时数据,每一个月将数据从实时数据表转移数据到历史数据表,以方便后期统计处理。

2软件功能具体设计与实现

2.1主页面框架设计与实现

本设计作为一个基于B/S模式的软件,最主要的功能就是面向用户操作。用户操作的基础便是软件平台的主页面,通过主页面与用户交互,为用户输入信息提供接口。一个布局合理、整体统一的主页面才能为用户带来良好的使用体验。因此,在一个网站中,所有页面应该具有相同的页面结构,通过统一的布局将内容显示到所有的页面中,为用户使用提供最基本的功能。

2.2数据查询统计模块设计与实现

2.2.1数据查询统计

数据查询统计功能分为实时数据显示、历史数据查询和数据统计。在统计完成后,用户有时还需要根据结果进行排序,我们使用Ajax将要素值填入表格实现升序排列或降序排列功能。首先把var值发送给系统的查询统计文件statdata.asp,然后将查询结果用XML格式输出,使用回调函数将var值转换成数组,填入表格进行升降排序。

2.2.2统计图显示

统计图模块以曲线图的方式输出某一站点观测数据的日统计或月统计结果,根据用户选择可进行单要素或多要素统计。我们通过使用jquery jqPlot API来实现,jqPlot是一个功能齐全的图表工具,可以绘制曲线、柱状、饼图等各种统计图。

2.2.3要素填图显示

实现要素填图就是要将查询统计的数据叠加显示在地图上,本系统将分为前端网页和后端程序两部分,前端网页负责提交用户请求的查询要素种类和查询时间段,后端程序则负责SQL查询业务与流程控制,经过后端程序处理的检索内容,向网页提交后输出图形显示。

2.2.4生成报表

报表生成模块可以将观测要素的日统计或月统计值,以直观便捷、格式规范的报表形式输出,生成Excel格式或Pdf格式。本模块采用的是CrystalReports软件,它是一个功能强大、动态和可操作的报表解决方案,在ADO.NET中通过建立数据集对象,对数据进行多层结构化预处理,再通过Crystal Reports输出报表。

2.3GIS地图显示模块设计与实现

2.3.1基础地理信息

GIS地图是实现要素填图功能的基础。本模块主要通过MapInfo地理系统软件来制作地图。首先通过经纬度确定全市的边界、各行政区及各县区的边界画出地图底图,接着根据地区边界经纬度的极值以及地图分辨率计算出各个站点的具体显示位置。

2.3.2站点定位

首先确定各个站点以地图分辨率为比例显示在网页中的坐标,再用各个站点的经纬度计算出到地图底图边界经纬度极值的差,最后按坐标比例确定站点在网页显示的坐标。设置map_x为地图显示横轴坐标,map_y为地图显示纵轴坐标,station_longitude为站点经度,station_latitude为站点维度,map_longitudeMAX为地图经度最小值,map_longitudeMIN为地图经度最大值,map_latitudeMAX为地图纬度最大值,map_latitudeMIN为地图纬度最小值。

2.3.3地图缩放平移

地图必须还具备缩放平移功能。在Mapinfo软中采用通用工具,选择“自定义工具箱”窗口中Com组件中的MapX标准工具,设定地图对象中的CurrentTool属性,就可以实现以上功能。

设置好放大缩小工具后,我们还要在 MapXtreme控件中设置地图中心点Center的经纬度和窗口视野范围等级VisibleRange.RangeEnd的属性。设置好经纬度后,将其保存到文件Frm.cs,通过其中的代码实现与后台config文件的连接。

2.4阈值报警模块设计与实现

2.4.1阈值设置

阈值设置是阈值报警的基础,在系统中对温度、雨量、风速等要素设置阈值,当观测数据值超过阈值时,则会引发报警。

(1)管理员进入系统管理模块,点击阈值设置功能,系统收到并处理管理员的请求,并设置成功后的结果返回显示给管理员。

(2)管理员在提交各要素的阈值设置数据时,系统会对管理员输入表单中的数据信息进行合法性校验。通过合法性校验后的阈值信息,被系统使用Set Threshold保存至数据库。

2.4.2阈值报警

阈值报警是在管理员对阈值设置成功的前提下,系统对新入库数据的自动化对比检查。每当有新的数据发送到氣象资料数据库时,系统触发阈值检测线程,将新入库的气象要素数据值与管理员设置的阈值相对比,根据结果判断是否启动阈值报警功能。

(1)新的观测数据传输到达,系统触发阈值检测线程,通过select获取系统中设置的阈值,返回其数值与观测数据值进行对比。

(2)当观测数据值大于阈值时,系统将会调用create Alarm引发报警,提醒管理员数据异常。

2.5系统管理模块设计与实现

2.5.1用户登录验证

对不同身份的用户进行明确的权限划分,才能保障整个系统的操作安全与数据安全。在经授权可访问本网站地址的前提下,用户才能进入系统的用户登录界面。

(1)用户登录:用户进入登录页面,输入用户名及密码后,Web服务器启动用户登录验证,login.asp通过调用public string User Login(string username,string psw),从数据库中获取用户名与密码,与用户提交的信息进行匹配,匹配成功返回True,匹配失败返回False。Web服务器根据返回值判断用户登录验证是否成功,输出相应的视图界面。

(2)身份验证:用户登录验证完成以后,Web服务器启动用户身份验证,usercheck.asp通过调用public Array List Get User Pre(string username),从数据库中获取身份权限等级,管理员返回值1,普通用户返回值2。当用户点击系统管理菜单时,Web服务器根据其权限返回值判断用户是否有权使用该功能模块,输出相应的视图界面。

2.5.2用户、站点及数据管理

管理员登录成功以后,可以点击导航栏的系统管理连接,进入系统管理页面,选择管理类型,对用户信息、站点信息及疑误数据管理及阈值进行添加、删除或修改等操作。Web服务器系统接到管理员提交的命令,发送执行请求至数据库服务器,构建数据操作的SQL语句,再调用query函数对数据库执行读写操作,并通过affected函数查看执行操作的行数,将数据处理的结果返回Web服务器,Web服务器端以GET语句获取参数值,通过数据库控件的操作功能接口,以页面形式输出展示。

2.6安全访问模块设计与实现

本系统的网络安全控制硬件方面采取以下几种措施:VPN设备采用CISCO 2801-HSEC/K9。实现内部局域网与外部互联网之间数据传输加密保护,同时采取加密或隧道的方式进行传输 ;防火墙采用SonicWALL NSA 3600;入侵检测系统(IDS)采用华为NIP 2100D,可与安全VPN系统形成互补,通知VPN设备中断网络(即IDS与VPN联动功能)等方式进行控制。

参考文献

[1]余卫东,杨光仙,张志红.我国农业气象自动化观测现状与展望[J].气象与科学环境,2013(05):66-67.

[2]杨玲,周威.新农村新理念探寻为农服务新模式[N].中国气象报,2011,06.

作者简介:陈梦醒(1990-)女,汉族,重庆人,大学本科,助理工程师,从事气象服务工作。

猜你喜欢

软件开发数据库
数据库
数据库
信息安全环境下的计算机软件开发研究
核电厂定期试验管理软件开发
FPGA软件开发过程中编码规范的作用
数据库
数据库
数据库
数据库