B/S架构的气象资料综合监控平台建设

2017-12-06 09:57张杰张思豆代华
电子测试 2017年20期
关键词:文件名页面资料

张杰,张思豆,代华

(1.云南省气象信息中心,云南昆明,650034;2.云南大学大气科学系,云南昆明,650091)

B/S架构的气象资料综合监控平台建设

张杰1,张思豆2,代华1

(1.云南省气象信息中心,云南昆明,650034;2.云南大学大气科学系,云南昆明,650091)

本系统主要是对省级收集的各类下行资料进行检索、实时信息采集、入库、补调、监控,并全面、实时、准确地提供各类资料的详细信息,达到了对实时资料的高效管理和实时监控的目的。本系统的建成实现了云南省气象资料的全面网络化管理,实现网上工作,减轻值班人员劳动强度,提高工作效率。

B/S架构;监控;气象资料

0 引言

随着科学技术的发展,数值预报技术和气象探测技术得到长足发展,再加上各类新增观测项目的开展实施和多种数值预报模式的业务运行以及中国气象局大批海量实时数据通过CMACast下发至省级信息中心,气象数据传输量、监控量急剧膨胀,省级节点由原来的日传输量2T发展至今日传输量4T左右;并且随着预报周期的变短,预报员对资料的及时性、可靠性、准确性要求大大提高,信息中心每天要从4-5T的海量资料中检索出本省预报员需要的强针对性产品相当于大海捞针,但目前我省对国家局广播下发的各类资料只是进行简单监控或者没有监控,经常存在资料不完整或及时性不够的问题,对预报业务的开展产生了影响。

实时监控系统就是要变被动为主动,通过在相关服务器上部署资料预处理程序,从底层对资料到报情况进行实时监控、报警以及资料的及时补调。管理员在任何地方根据提示采取相应的解决方案,使系统保持在稳定的运行状态,实时提供高效的数据服务。并将监控内容精确到文件名,能够快速确定并醒目标注已到和未到的文件名、到达时间及文件大小,提高工作效率,减少重复劳动。同时资料到达信息能在10分钟内到达气象台、气候中心、人影中心及全省业务应用人员桌面。基于以上的原因,云南省气象信息中心组织中心人员设计开发了云南省气象资料综合监控平台。本平台分为两大系统,一个是资料预处理子系统,另一个是web页面展示子系统。

1 系统的需求分析

基于软件需求分析[1]的概念、目的,着重对云南省气象资料综合监控平台进行需求分析,从最主要的几个方面进行阐述,第一是可行性需求分析,第二是功能性需求分析,通过对以上两方面的需求分析,对系统提出了严格的要求,为下一步开发工作打下了夯实的基础,并且为整个系统提供了依据,指明了方向。

1.1 可行性分析

云南省气象信息资料综合监控平台是专门为云南省气象台以及相关的业务单位业务需求而开发的。老的资料监控方式是靠人工被动发现,工作效率低,很难进行管理和监控,而且缺乏规范性和专业性,无法满足大量新增业务的需求,导致工作起来总是手忙脚乱,开发统一的监控平台是迫切需要的。

首先要搞清楚软件系统的功能,为了做好这一工作,到州市进行考察,了解预报员做预报时最关心什么资料,都需要哪些资料,并对这些资料做了归类总结,采用从下到上的方法再进一步的整理和表达用户所需。通过对系统可行性的分析总结,用例图如图1所示。

可行性用例图中分为两级,省局监控人员及预报员。国家局中心站负责下发资料,省级服务器接收后,监控人员监控报文是否到达、报文是否正确、程序是否正常、报文是否转发解码,报文是否及时入库等等;预报员对部分资料进行解码应用,他们关心报文的正确性、完整性以及资料的分类。如出现问题,要在第一时间确认这些资料的属性,预报员比较关心页面的浏览速度、数据的正确性、浏览是否方便等功能。

图1 可行性分析用例图

1.2 功能需求分析

气象数据种类繁多,数据量大,所以查找一个没有到达的资料文件非常困难,必须对这些资料进行规范管理,使得依托网络进行监控成为现实。通过对台站、本单位以及下属机构的一线值班人员各方面情况的询问以及了解,本系统在功能上的需求用例图如图2所示。

图2 功能需求用例图

整个项目需要分为两个子系统:资料预处理子系统(云南省各种下行气象资料检索、入库、补调、删除等)和Web页面展现子系统(云南省气象资料综合监控平台网站)。

2 系统设计

2.1 总体架构设计

整个系统采用三层体系结构,即浏览器/服务器,从逻辑上讲,本系统分成三层:第一层交互层,第二层服务层,第三层数据访问层。三层体系结构示图如图3所示。

图3 B/S的三层结构示意图

(1)交互层

交互层位于体系结构的最上面即最外面,主要任务是接收用户发送的数据并且表示数据,操作界面非常人性化,是可交互的,是最接近用户的一层。这层中我们采用ASP. NET技术,里面嵌套了VbScript脚本语言、JavaScript脚本语言等来完成该层的任务工作。也用到了很多控件,操作不但简单,而且可以和数据进行直接的关联,不需要编写任何代码,直接在面板中设置属性即可。

(2)服务层

本层的设计强调了云南省气象局业务的可操作性、可整合性。在系统中,服务层会对一些数据进行缓存,例如一些基本上不变化的数据,但是使用率又比较频繁,在这种情况下,用户只需要请求一次这些相同的数据,他就可以从缓存中直接读取,也避免了重复读取而导致数据库系统效率降低和破坏。

(3)数据访问层

数据访问层实现了数据访问功能,是为交互层、服务层服务的。它直接和数据库建立连接,来完成用户的各种请求数据,例如查询操作、插入操作、更新操作以及删除操作等等,然后把所得到的数据又返回给用户。

2.2 功能模块设计

系统功能模块设计的主要任务就是确定如何实现本系统的预定功能。确定了要开发哪些模块以及模块之间如何实现调用,采用功能模块化以后,系统各方面功能都变得简单。首先系统的结构变得非常清晰,其次是设计人员设计思路也变得明了,最重要的是系统后期的测试、调试也相对容易的多。在系统维护时,只需要修改相应模块即可完成系统的变动,大大提高了工作的效率。系统总功能模块结构如图4所示。

图4 总功能模块结构图

根据功能模块划分方法,云南省气象资料综合监控平台分为两个子系统,一个是资料预处理系统主要任务是对收集来的资料首先进行分类、检索、属性提取、入库等,另一个是web页面展示系统,主要被把数据库里的数据以图表形式显示出来。

2.2.1 资料预处理系统的设计

资料预处理系统是一个7×24h运行的实时程序软件。为保证数据传输的高效运行,设计上采用以时间触发器控制所有传输流程,把要实现的传输内容分成多个功能模块,由多个线程负责,确保模块之间互相不影响,独立运行。各模块之间的工作流程图如图5所示。

每个模块都由一个线程负责,线程1负责生成节目表,每天上午八点整启动定时任务,生成一天的节目表;线程2负责检索资料,线程2在线程1生成节目表的基础上,首先和节目表中所有未到资料比较,对已经到达的资料用sql语句保存属性存到临时文件,同时对相应的文件更改通配符;线程3负责将线程2保存的临时文件进行入库,更新到达文件的状态、文件名、时间、大小等;线程4负责资料补调,在资料基本到齐时启动补调任务,对节目表进行扫描,找出未到资料,启动ftp到国家局服务器调取并入库;线程5负责资料的删除,启动定时任务每天凌晨对所有数据扫描,删除7天前的数据。

图5 各模块之间工作流程图

2.2.2 Web页面展现的设计

Web页面展现子系统主要是将资料预处理系统入到数据库里面的数据如何展现出来,根据资料的功能划分为四个模块,数值预报模块、高空地面模块、卫星资料模块、服务产品模块,每个模块之间都是独立的,互不影响。每个模块的设计方法基本相同,以数值预报模块设计方法为例,设计流程图如图6所示。

图6 数值预报模块设计流程图

上述流程首先是从每日节目表中读取当日资料日期、时次、文件名以及到报状态;如果状态为资料已到,统计到报个数,如果没有到报,再继续扫描节目表;后面再对到报状态进行显示,已到报显示为绿色,未到的个数为应到数减去已到数,未到数显示红色,一个流程结束。

2.3 数据库的设计

考虑到监控信息数据量大,并发操作比较多,实时性要求高,SQL Server数据库在可用性强、可扩展性强方面有一定优点,但考虑到大规模监控资料的入库及查询,对各类资料到达情况详细监控到文件名级,由于各类资料的文件名命名方式和补调的配置信息繁杂,对资料信息配置表的科学设置要求很高,所以本项目采用了ORACLE11g作为综合监控平台的数据承载数据库。

数据库设计的核心是数据库物理结构设计[2],简单说也就是数据库表设计,数据库的表结构设计非常重要,要想让应用程序效率高,维护起来又方便,并且有良好的扩展性,必须要设计好数据库的表。

经过综合各类文件名命名方式,对监控信息配置表进行了多次完善,包含了资料名称、资料文件名提取SQL串、文件名掩码及其关键字、文件名无用信息替换方式、补调起止时间、资料补调源服务器信息、目标服务器信息等。数据库表分为资料信息表、每日节目表、资料属性表。数据库表的设计规划直接关系到整个监控系统的运行是否流畅、网页浏览是否快捷,操作是否简便,综合考虑上述问题且尽量减少数据库查询中表连接的数目,加快查询速度,首先建立资料信息表表,其次为了数据库查询效率,避免因多表关联导致查询效率低,对各类建立了每日资料属性信息表。数据库表中最重要的是每日资料节目表,所有属性都在一张表中,并对表进行定期删除、设置索引,确保快速查询且查询结果准确可靠。在系统研发期间不断进行增加、删除、修改完善。

2.3.1 资料信息数据表

资料信息表(CMACAST_DATAINFO)存放的内容为CMACAST系统接收的国家局下发的资料,我们把这些进行归类,把每类资料的信息详细情况倒入到数据库里面。资料信息包括资料的名称,资料的时次,有些资料即使一个时次里面也包含很多个,所以又增加了资料的资料文件名中变化的字段、后缀;每种资料收集后要分类,要分发到不同的服务器以及不同的目录,所以又增加了传输的源路径和目的路径;资料收到后我们要记录资料的到达时间,设置了到达时间的字段。表结构列表如1所示。

表1 资料信息表(CMACAST_DATAINFO)

2.3.2 资料属性信息数据表

资料属性信息表(CMACAST_DATALIST)为每种资料每个时次应到个数,资料表的内容包括资料名称,资料名称必须与信息表里面的资料名称进行匹配;为了便于查找,按照各种分类设置了文件名共有部分、文件日期、文件的时次、预报日期、预报时间、资料中缀、资料后缀字段。表结构列表如2所示。

表2 资料属性信息表(CMACAST_DATALIST)

2.3.3 每日节目表信息表

每日节目表信息表(CMACAST_DAYDATA) 每日后台程序早上八点钟生成当日的节目表,节目表里面的信息只保留一周的,由于这些信息的监控基本属于实时的,不需要长期保存。资料表在整个系统中有着承前启后的作用。资料属性表里面的内容为我们业务所需的一些信息,资料的时间、资料的名称、资料的时次、资料是否到达、到达的时间以及最关心的资料是否完整,即资料的大小。表结构列表如3所示。

表3 每日节目表信息表(CMACAST_DAYDATA)

3 系统的实现

3.1 资料预处理系统

3.1.1 系统内容

资料预处理系统主要包括各类收集资料的检索入库和补调,采用DELPHI XE2编程[3]技术,包含了【重新生成当日节目表】和【检查资料到达情况并入库】等功能。资料预处理系统分为六大模块,分别是:节目表生成模块、资料检索模块,资料入库模块、资料补调模块、参数配置模块、删除资料模块。

3.1.2 各模块功能

生成节目表模块每天定时读取资料信息表中信息生成当日节目表,生成完成后所有资料状态都显示未到;资料检索模块主要依据当日资料到达节目表中文件名级别的到达信息检索资料到达情况,检索过程中对每一个文件的属性,包括文件的文件名,到达时间,后缀、中缀、文件的大小等属性进行sql语句的保存;然后资料入库模块对保存的sql语句进行入库,入库时只是对节目表信息进行更新,并对所有信息进行记录保存,生成日志;补调资料模块主要在指定时间内依据当日资料到达节目表中文件名级别的到达信息中检索未到资料,并使用资料监控及配置信息表中的资料补调源服务器信息及目标服务器信息进行具体到文件名级的资料补调下载;资料配置模块可以对新增资料和不需要的资料进行删减以及一些参数的改动的配置;资料删除模块定时删除7日前资料到达监控信息,可鼠标点击进行手动实时操作。

图7 资料预处理系统主界面

这了六个模块既相辅相成,又相互独立。后台程序为24小时不间断实时运行,两分钟更新一次,保证值班员第一时间掌握资料到达情况。主界面如图7所示。

3.2 web页面展示系统。

3.2.1 页面总功能

云南省气象资料综合监控Web页面整体布局采用了框架结构。分为“左—右”结构,左方为一级菜单,右方为一级菜单打开展示的内容。整个页面如图8所示。

图8 应用展现层主界面

左方的一级菜单主要使用框架结构,完成对系统的导航以及系统的所有功能模块的转换;各个模块主要显示在右边的框架内。本系统页面上的框架全部使用Iframe框架,使用起来比较灵活,可以加在网页中任何一个地方。左右框架的宽和高设置固定值,框架隐藏,右边和下边的滚动条随着页面内容的多少自动在 Iframe中显示滚动条。主框架的内容随着左边框架的导航而变化。

3.2.2 各模块功能

Web页面展示部分基于B/S架构,集浏览、查询等功能为一体。这部分根据资料的用途共分为4大模块,分别为:数值预报模块、高空地面模块、卫星资料模块、服务产品模块。四个模块显示方法相同,都采用进度条显示方式,区别在于每种资料的个数和每日的到达时次不同。

数值预报模块:这个模块分了11类资料,这些资料有些一天有两个时次,有些一天有四个时次,每个时次到报数各不相同,所以在这个页面显示中同时按照时次和报类进行显示,一个页面显示24小时所有的到报情况。每种报每个时次都采用进度条的现示方式,绿色代表到达,红色代表未到,同时在进度条上显示百分比,为了更清楚报文到达情况,在进度条的下方也显示了报文的应到数、已到数、未到数。打开页面可以一目了然资料到达情况,还可以点击进度条或者文字查看每种资料每个时次的详细信息,详细信息显示每个文件的文件名,文件到达时间,文件到达状态,文件大小等。详细信息按照到报节目表里生成的文件顺序进行排序,到达的文件显示绿色,未到达的显示红色,可清楚的知道缺少哪个文件,方便补调。整个页面还设置了前一天、后一天的查询按钮查看历史资料信息。

高空地面资料模块:这个模块里面只有高空地面资料,24小时都有资料,而且每个时次的个数有些不同,在这里我们选择把一整天资料总数作为一个个体,只显示一条信息,同样也是进度条显示方式,不需要点击鼠标查看详细信息,进度条下面直接显示当前资料详细信息。

卫星资料模块:这个模块分了五类资料,这些资料是不定时到达,每一类资料一天到达数作为一个个体,以进度条的方式显示,点击进度条显示一整天的资料详情,资料详细页面增加了资料的到达时次。

服务产品模块:这个模块分了11类资料,资料同样是不定时到达,有的资料一天也只有一个,所以也是把每类资料一天总数作为个体进行统计,以进度条方式显示。

4 结束语

本项目的建设,能够较大地提高我省对各类到达资料的监控能力,同时最大限度地减轻业务值班人员在资料到达监控方面的工作强度,有效提升各类资料的利用率及利用时效,从而提高预警预报时效,提高气象为各行各业服务能力,有效提升我中心业务人员对各类资料的获取方式、分发转发、存储备份方式以及部分资料的数据格式的理解,特别是对现有资料的种类有了深刻的理解,大大提升今后的资料支撑服务能力。

[1]樊爱京.软件工程[M].北京:北京邮电大学出版社,2012,211.

[2]Adam Jorgensen,Patrick LeBlanc,Jose Chinchilla. Oracle 11g 2008 BIBLE[M].Tsinghua University Press,2012.

[3]吴秀荣.Delphi程序设计项目教程[M].北京:电子工业出版社,2011,198-234.

B/S structure of meteorological data comprehensive monitoring platform construction

Zhang Jie1,Zhang Sidou2,Dai Hua1
(1.Yunnan meteorological information center,Kunming Yunnan,650034;2.Department of atmospheric sciences, yunnan university,Kunming Yunnan,650091)

This system is mainly to the collection of all kinds of downward at the provincial level data retrieval and real-time information collection, storage, filling, monitoring, and provide all kinds of comprehensive, real-time and accurate data for detailed information, to achieve the efficient management of real-time data and the purpose of real-time monitoring The establishment of this system has realized the comprehensive network management of meteorological data in yunnan province, realized the online work,reduced the labor intensity of the staff on duty, and improved the work efficiency

B/S architecture; monitoring; meteorological data

“云南省气象资料综合监控平台研发”项目资助。

猜你喜欢
文件名页面资料
刷新生活的页面
Party Time
PAIRS & TWOS
JUST A THOUGHT
右键调用多重更名更方便
Excel轻松提取文件名
把我的秘密藏起来
网站结构在SEO中的研究与应用
浅析ASP.NET页面导航技术
资料哪去了/等