天津市武清区大气环境综合观测数据管理平台设计与实现
2015-10-18陈丽丽
陈丽丽
(1. 同济大学 上海 200092;2. 天津市武清区气象局 天津 301700)
0 引 言
天津市武清区地处京津之间,位于京津之间大气污染物传输的主要通道,属于多雾地区,具有独特的气象场和特殊的空气污染特征,研究该区大气污染特征以及气象条件导致的污染物输送,对于北京和天津区域大气污染的形成和大气污染物输送具有重要意义。自 2006年夏季开始,中国环境科学院大气环境研究所、北京大学大气物理学院、中国气象科学研究院等科研机构和大专院校陆续在武清区气象局固定开展野外气象以及大气污染物综合观测,并取得了大量具有一定参考价值的观测、实验数据。随着政府和公众对大气环境问题的关注,大气环境监测变得愈加重要,其现代化程度也成为实现气象现代化的关键节点。随着业务开展必将产生大量的观测和科学实验数据。因此,为了使多年来取得的各项观测数据得到有效保存,方便科研人员使用,发挥其重要的科学价值,需要开发建设一套武清区大气环境综合观测数据管理平台。
1 设计方向
在武清大气环境综合观测站近 1年的观测基础上,开发一套完善的数据库管理系统和监控显示平台,实现对环境数据的现代化管理。主要功能包括:观测数据自动入库、存储与调用,人机交互式质量控制,统计分析模块以及在线查询、显示和下载等。
2 设计原则
收集武清大气环境综合观测方面所有观测、实验数据,分析各类数据的采集方式和存储格式,建立大气环境综合观测数据库,并开发数据入库软件,实现数据的自动入库,同时开发武清大气环境综合观测数据管理平台,实现历史数据和实时数据的查询与显示、质量控制、数据管理和下载等功能。
3 关键技术
3.1 系统拓扑结构(见图1)
图1 系统部署图Fig.1 System deployment
整个系统由多台机器组成一个局域网。系统部署在服务器上,数据库既可以部署在系统服务器上,也可以单独部署在另外一台服务器上。
3.2 总体功能结构(见图2)
3.3 技术架构方法
软件采用先进的技术理念和实现方法。软件设计结构采用MVC的标准3层架构,如图3所示。
在表现层,页面内容划分采用DIV+CSS方式,抛弃了传统的表格布局方式,在页面操作上,选用了目前最先进的脚本框架JQuery,并大量采用AJAX技术。
在逻辑层,采用 SpringMVC,使用注入和面向切面(AOP)编程的方式,大大增强了整个系统代码的灵活性,有效支持了面向服务的编程理念。
在实体层,采用具备跨数据库功能的 Hibernate框架,有效减少了冗余数据库操作代码,提高了代码效率。
此外,软件采用 SpringMVC和 Hinbernate的最新版本,减少了这两个框架传统上繁杂的配置文件,而采用标注(Annotation)的方式,使代码更为简洁、高效。
图2 整体功能结构Fig.2 Overall functional structure
图3 技术架构图Fig.3 Technical architecture
3.4 平台开发方法
在开发方法上,采用敏捷开发模式,开展快速原型和迭代开发。采用多个迭代周期的模式,先选择一小部分具有代表性的功能进行开发,让用户能快速体验到系统的最终使用效果,进而提出修改,再进行第二轮的修改和迭代。
4 各功能模块技术实现方法
4.1 数据录入功能
4.1.1 ACCESS数据录入
①标识
ACCESS_DATA_INPUT
②用例的参与者与发起者
用例发起者为系统计划任务;用例参与者为数据库。
③功能概述
系统程序根据各类数据文件名和采集文件规则解析录入。
④主事件流
确保网络连通,然后运行系统程序;系统数据录入提示录入成功或者失败。
⑤异常流
数据库无法正常连接,弹出“数据库”无法连接提示框;有重复数据时,不会重复录入。
⑥前提条件和后置条件
前提条件为数据库正常连接;后置条件为数据录入。
4.1.2 TXT数据录入
①标识
TXT_DATA_INPUT
②用例发起者和参与者
发起者是系统计划任务;参与者为数据库。
③功能概述
根据配置文件,系统实时采集数据、解析及计算,录入数据库相应表。录入程序会根据各类数据的文件名和采集文件规则解析录入。
④主事件流
配置路径,启动系统程序;如果录入过程中有错误,记录日志,并继续向下录入。
⑤子事件流
在启动前,可以先测试数据库连接。
⑥异常流
录入中断。
⑦前提条件和后置条件
前提条件为网络连接正常;后置条件为数据录入。
4.2 数据查询功能
4.2.1 实时数据查询(见图4)
①标识
REALTIME_SEARCH
②用例发起者和参与者
登录后用户是用例发起者,用例参与者是数据库。
③功能概述
系统根据服务器的系统时间以及用户操作确定查询条件(如前一时次、观测时间、后一时次等),然后系统自动查询,显示查询结果。
④主事件流
用户登录;选择数据查询下的实时数据;显示形式(柱状立体图);到数据录入数据库中检索数据信息;显示查询结果;可以查询污染物浓度限值。
⑤异常流
数据库中没有相应时刻的数据,界面显示无数据信息。
⑥后置条件
查询结果显示。
图 4 实时数据查询示意图Fig.4 Schematic diagram of realtime data query
4.2.2 历史分钟数据查询(见图5)
①标识
MINUTE_SEARCH
②用例发起者和参与者
此用例的发起者是认证用户;参与者是数据库。
③功能概述
查询分钟历史数据,时间间隔为6,h以内。
④主事件流
用户登录;选择数据查询→历史数据→分钟数据;显示形式,数据图形(折线图、柱状图、散点图)和数据表;到数据录入数据库中检索数据信息;显示查询结果。
⑤异常流
数据库中没有相应的数据,则在界面上提示无数据信息。
⑥后置条件
查询结果显示。
图5 3分钟数据查询示意图Fig.5 Schematic diagram of 3 min data query
4.2.3 小时均值查询(示意图见图6)
图6 4小时均值数据查询示意图Fig.6 Schematic diagram of 4,h mean value data query
①标识
HOUR_SEARCH
②用例发起者和参与者
此用例的发起者是认证用户;参与者是数据库。
③功能概述
查询小时均值历史数据,时间间隔为72,h以内。
④主事件流
用户登录;选择数据查询→历史数据→小时均值数据;显示形式,数据图形(折线图、柱状图、散点图)和数据表;到数据录入数据库中检索数据信息;显示查询结果。
⑤异常流
数据库中没有相应的数据,则在界面上提示无数据信息。
⑥后置条件
查询结果显示。
系统日均值、月均值、年均值数据查询与此类似。
4.3 数据下载功能(见图7)
4.3.1 标识
DATA_DOWNLOAD
4.3.2 用例发起者和参与者
数据操作员是用例发起者。
4.3.4 功能概述
下载统计分析后的分钟数据、小时均值数据、日均值数据、月均值数据和年均值数据。
4.3.5 主事件流
用户登陆;选择数据下载;选择数据类型、起始时间、结束时间等条件;点击生成下载文件,显示可下载数据条目;选择数据,点击下载;生成所选数据的下载的文档(Excel)。
4.3.6 子事件流
当选择不同时间(均值)时,起始时间和结束时间精确度做相应调整。
4.3.7 异常流
没有相应的数据可供下载,则提示没有数据。
4.3.8 前提条件
统计分析数据已生成。
4.3.9 后置条件
数据下载。
图7 数据下载示意图Fig.7 Schematic diagram of data downloading
4.4 预报产品(见图8)
图8 预报产品页面Fig.8 Page of a NWF product
4.4.1 标识
FORECAST_PRODUCE
4.4.2 用例发起者和参与者
认证用户是用例发起者和参与者。
4.4.3 功能概述
预报产品信息显示,柱状立体图和表格两种形式。
4.4.4 主事件流
用户登录,点击预报产品;显示预报产品信息。
4.4.5 后置条件
预报产品显示。
4.5 值班记录管理
4.5.1 值班记录录入(见图9)
①标识
DUTY_INPUT
②用例参与者与发起者
用例发起者是认证用户,参与者是数据库。
③功能概述
值班人员记录值班信息。
④主事件流
值班人员登录系统;选择值班记录录入,确认时间(日);填写仪器运行情况、有无更换维修和天气情况等信息;保存值班记录。
⑤后置条件
当日值班记录信息录入系统。
图9 值班记录录入示意图Fig.9 Schematic diagram of duty record inputting
4.5.2 值班记录查看(见图10)
①标识
DUTY_VIEW
②用例发起者和参与者
认证用户是用例发起者,用例参与者是数据库。
③功能概述
用户按日查询值班记录。
④主事件流
用户登录;导航到值班管理模块;选择值班记录查询;输入查询条件,并点击查询;自动获取数据上传情况;显示所选日期的值班记录信息。
⑤前提条件
当日值班记录已经填写。
⑥后置条件
值班记录显示。
图10 值班记录查看示意图Fig.10 Schematic diagram of duty record query
4.6 用户管理
4.6.1 用户注册管理(见图11)
①标识
USERMGT_REG
②用例发起者和参与者
用例的发起者为认证用户。
③功能概述
用户注册,填写级别信息,等待管理员审批。
④主事件流
用户访问网站,选择用户注册;填写用户注册基本信息;提交注册信息。
⑤子事件流
在“填写用户注册基本信息”时,点击取消按钮,取消注册。
⑥异常流
注册用户名称已经存在,无法注册。
⑦后置条件
用户注册信息已经提交。
图11 用户注册示意图Fig.11 Schematic diagram of user registration
4.6.2 用户级别(角色)设置(见图12)
①标识
USERMGT_ROLE
②用例发起者与参与者
系统管理员是用例发起者,数据库是用例参与者。
③功能概述
系统管理员为已注册用户分派更高级的权限。
④主事件流
管理员登陆;选择用户级别设置;显示所有用户/级别;为用户分派权限;显示分派后的结果。
图12 用户级别设置示意图Fig.12 Schematic diagram of user level setting
4.6.3 级别权限设置(见图13)
①标识
PRI_SET
②用例发起者和参与者
用例发起者是系统管理员,参与者是数据库。
③功能概述
设置用户级所能具有的功能,功能点是按照菜单分步。
④主事件流
用户登陆;选择用户管理>级别权限设置;选择需要修改权限的用户;为此用户选择功能点;点击确认保存结果。
⑤子事件流
点击取消,不再修改。
⑥前提条件
已经存在用户。
⑦后置条件
用户级别的权限被修改。
图13 级别权限设置示意图Fig.13 Schematic diagram of permission setting
4.6.4 用户登录
①标识
USR_LOGIN
②用例发起者和参与者
未认证用户是发起者,参与者是数据库。
③功能概述
用户输入账户和密码,系统验证后,用户登录。
④主事件流
用户输入账户和密码;系统与数据库中的账户与密码验证;验证通过;将登录成功的信息记录日志;获取用户级别;跳转到改用户级别对应的登录页面。
⑤子事件流
验证不通过,则提示用户登录失败,保持在原有界面。
⑥异常流
无法连接数据,提示数据库连接失败。
⑦界面要求
包含账户和密码的输入框;普通页面响应时间应在 4,s之内。
5 结 语
该平台实现了武清大气环境相关观测数据的智能化管理,确保了科研数据安全管理和使用,有效降低了管理成本和使用风险,同时为科研人员提供了更多的数据信息和资源,提高了基层气象局的科技创新能力,并通过项目开发进一步提高青年技术人员的科技实践意识和科技研发能力,带动业务工作整体发展。■
[1] 耿建军. 基于 C﹟技术的气象资料分析与服务产品制作软件设计与实现[J]. 气象科技,2013,41(4):648-651.
[2] 丁蕾,孟祥飞,张育萍. 交通气象指数预报软件的设计与应用[J]. 电子技术与软件工程,2014(10):117-119.
[3] 马占良. 三种气象绘图软件及自动化制图比较分析[J]. 青海气象,2008(增):137-141.