多媒体气象信息发布系统设计与实现
2017-07-24程思勇袁明清伍亚光
◆程思勇 袁明清 伍亚光
(重庆市万州区气象局 重庆 404000)
多媒体气象信息发布系统设计与实现
◆程思勇 袁明清 伍亚光
(重庆市万州区气象局 重庆 404000)
多媒体气象信息发布系统(LCD)能够突破传统气象信息传播方式的不足,提供具有多样化、丰富性的气象信息,满足公众对气象服务需求的更高要求。本文介绍了该系统开发的意义、关键技术,简述了系统的结构、功能与推广应用前景。
气象;防灾减灾;多媒体;展示
0 引言
随着社会经济发展,气象在防灾减灾工作中的保障作用越来越重要,公众对气象服务信息的需求越来越高,气象服务产品内容越来越丰富,气象服务产品展示方式越来越多样化。现有的气象信息发布方式和传播手段已不能满足公众对气象服务需求的需要、不能满足气象防灾减灾工作的需要。多媒体气象信息发布系统通过文字、音频、视频等图文并茂的方式向公众展示丰富多彩的气象服务产品,提供充足的、满足公众需要的气象信息,充分发挥气象服务在防灾减灾中的保障作用。
1 相关技术
1.1 MVC
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的框架模式,它强制性的使应用程序的输入、处理和输出分开。使用 MVC,应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
M(模型)Model 业务逻辑层,负责在数据库中存取数据和对业务逻辑的封装。
V(视图)View 表示逻辑层,负责处理数据显示,通常指实现可视化界面。
C(控制器)Controller 控制层,负责协调模式与视图的工作流程,通常用于接受用户的输入并调用模型和视图去完成用户的需求。
1.2 AJAX
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。利用AJAX 可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
2 系统设计
2.1 系统网络结构设计
根据对公众的气象信息服务需求进行分析,该系统需要对外展示的内容有天气预报、天气实况、气象服务材料、视频等服务。各个服务均需要建设相应的服务器,该系统分为内容管理 WEB服务器、应用服务器、数据抓取服务器、数据库服务器、流媒体服务器、播放,如图1所示系统结构。
2.2 系统功能设计
该系统主要分为内容管理模块和内容展示模块。
内容展示模块即播放终端,用于展示气象信息产品及视频内容。内容管理模块供业务人员编辑气象信息产品、管理视频节目、播放终端管理监控、气象站点管理及气象信息采集控制。如图2所示。
图1 系统结构
图2 功能模块
(1)视频管理:可以根据视频栏目实现节目分类管理,将视频节目发布到播放任务模块,可以灵活控制播放。
(2)气象产品管理:对于气象要素实现自动采集,在采集后业务人员可进行编辑修改。业务人员也可发布、管理服务材料。
(3)终端管理:实现播放终端的新增、编辑、删除。查看播放终端的运行状态及实现远程控制。
(4)站点管理:管理所需展示的天气预报站点和实况观测站点。
(5)采集控制:控制后台采集程序的启动、停止和采集项目的开关。
(6)用户管理模块:实现登录用户的管理,系统采用单一入口,只有登录成功的用户才能进行后台管理。
(7)内容展示模块:输出播放终端所需的气象要素数据、服务材料及视频播放任务。
3 系统实现
3.1 系统功能模块实现
系统采用php面向对象技术和MVC模式,将数据库访问和业务逻辑进行封装,对不同业务功能模块分别建立数据模型和访问接口,通过HTML页面创建视图模型,创建Action实现业务的控制,达到模型、视图、控制分离,方便开发。
系统使用单一入口方式,所有操作必须通过入口文件执行,同时在入口文件进行身份验证,如果身份验证失败,则跳转到登录页面进行登录,防止未经授权人员进入系统操作,确保系统安全。
用户提交请求后,由控制器拦截并分配给相应的 Action处理,Action调用相应的模型进行业务逻辑处理,最终跳转到相应的html页面作为用户请求的应答。
3.2 数据库实现
考虑到该系统应用环境所发生的并发访问和数据量都相对有限,因此数据库采用开源的中小型关系型数据库MySQL。由于其体积小、速度快、总体拥有成本低,目前被广泛应用于中小型网站。
根据系统功能模块设计,可以抽象出来的数据模型有用户模型、终端模型、预报站点模型、观测站点模型、视频节目模型、气象产品模型,如图3所示终端数据模型。各个模型在系统中有关联关系,如图4所示终端模型与预报站点模型、监测站点模型、播放任务模型的关联关系及播放任务模型与视频节目的关联关系。
图3 终端数据模型
图4 模型间关联关系
3.3 流媒体服务实现
流媒体服务采用P2P传输,以减轻流媒体服务器的负载和提高视频质量,降低带宽要求,达到以更小带宽传输更多数据流的目的。在同等用户规模情况下,P2P流媒体相比于Flash B/S模式,可节省80~90%的服务器带宽。
3.4 应用服务实现
应用服务采用PHP编写Web Service对外提供访问接口。
class Server {
public function getShikuang() {
//处理实况数据并返回
}
public function getForecast() {
<1),且各件产品是否为不合格品相互独立.
//处理预报数据并返回
}
}
$server=new SoapServer(null, array('uri'=>'server.php','location'=>'http://localhost/server.php'));
$server->setClass('Server');
$server->handle();
3.5 数据抓取服务
通过市局提供的Web Service接口抓取数据并存入数据库。
$client=new SoapClient("hmsas.wsdl" ,array('encoding'=>'gb2312'));
$resultdata=$client->getdatatoarray();//调用接口函数,以数组返回
$resultnum=count($resultdata); //计算返回数组的单元数目
//$resultnum==1,说明遇到错误或结果为空。echo $resultdata;就可以看到具体错误或为空信息。
if ($resultnum==1) echo $resultdata;
else {
//处理返回值
}
?>
3.6 播放器实现
播放器采用C#实现,使用Ajax访问应用服务器提供的接口更新气象信息。
3.7 运行测试
考虑该系统用户规模有限,因此将 Web服务、应用服务和数据抓取服务集成,通过管理界面启动数据抓取服务,将流媒体视频播放地址导出并发布到播放任务列表,启动播放器。如图5为数据抓取控制页面,图6为播放界面。
图5 数据抓取控制页面
图6 播放界面
4 总结
本文简要介绍了多媒体气象信息发布系统的设计与实现。在开发过程中,通过采用MVC框架模式,极大提高开发效率和系统安全性。实践说明,该系统的使用相比于传统 LED电子显示屏能提供更加丰富多彩的气象服务产品,充分发挥气象信息在防灾减灾中的保障作用。
[1]朱涛江.PHP与MYSQL程序设计[M].北京:人民邮电出版社,2009.
[2]苏金国,陈永志.PHP WEB 2.0开发实战[M].北京:人民邮电出版社,2008.
[3]孙浩然,张鹏云,宋凯.基于信息安全的旅游管理系统防恶意注入设计与实现[J].网络安全技术与应用,2015.
[4]陈玉石,王涵波.基于Struts2的企业内部交流平台设计与开发[J].网络安全技术与应用,2016.