气象实时数据监控程序的设计与开发

来源 :安徽农业科学 | 被引量 : 0次 | 上传用户:shize
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要 对上海气象信息与技术支持中心而言,原先的气象信息数据监控系统由于操作复杂而需要改进。新的监控系统开发使用delphi6.0语言和多线程技术,对自动站数据、雷达和卫星数据、MICAPS压缩数据和MICAPS解压数据这四类气象实时数据进行监控,以一体化的方式展现所有重要的监控信息,提高了工作效率。
  关键词 监控系统;气象实时数据;delphi6.0语言;多线程编程
  中图分类号 S161 文献标识码 A 文章编号 0517-6611(2014)27-09434-03
  Design & Development of RealTime Meteorological Data Monitoring Program
  QIN Hong
  (Shanghai Meteorological Information and Technology Center, Shanghai 200030)
  Abstract For the Shanghai Meteorological Information and Technology Center, the original meteorological data monitoring system should be improved for its complex operation. The new monitoring system using delphi6.0 language and multi thread technology, the automatic station data, radar and satellite data, MICAPS compression data and MICAPS unpack data were monitored, all the important information was presented in an integration way, so as to improve the working efficiency.
  Key words Monitoring system; Meteorological realtime data; Delphi6.0 language; Multi thread programming
  近年来随着气象业务发展,各类观测数据、预报预测及气象服务产品数据大量增加,气象信息的传输时效要求也越来越高。由中国气象局研发的新一代国内气象通信系统,是继9210通信系统后国内气象通信系统的重要升级。对上海气象信息与技术支持中心而言,原先的气象数据传输与监控系统也需要相应的升级改造。对于信息网络监控岗位工作,能实时监控各类气象数据是最根本的要求。以往的监控需要逐个打开相应设备查看,不但操作繁琐,且不能及时发现错误气象信息,从而延误维护时间。所以新的监控系统需做到信息量大、监控面广、界面不杂乱、有声音及颜色告警,各种监控信息对于值班工作人员应能一目了然,以一体化方式展现,节约查询时间和查询步骤,从而提高监控效率。为达到以上要求,笔者在此对气象实时数据监控程序的设计和开发进行了详细的介绍,该程序开发使用delphi6.0语言和多线程技术,目前对自动气象站数据、雷达和卫星数据、MICAPS压缩数据和MICAPS解压数据这四类数据进行监控[1],满足了气象实时数据的监控。
  1 需求分析和总体设计
  1.1 需求
  目前对于上海气象信息与技术支持中心的信息网络值班工作而言,及时掌握各类气象信息的数据是否按时上行国家局和下行各用户单位非常重要,需要有一款既能快速查询和浏览各类气象要素上下行时间数据又能及时提供相应警报的软件,缩短工作人员对故障的判断和响应的时间,提高工作效率。
  1.2 软件的预期功能
  1.2.1 监控的气象信息。目前主要是对于自动站数据接收时间信息、多普勒及风廓线雷达上行时间信息、新一代传输系统中的DVBS接收时间信息和对上述接收到的信息进行解码后气象产品的时间信息。所监控的气象信息均采用多线程编程,将信息分成四大类后以表格形式并行呈现,且将错误信息置顶。如此设计能将所有必需监控的信息显示在同一块屏上,正确与错误信息一目了然,缩短工作人员的故障判断时间。所有表格能根据主窗口的缩放而自动改变大小,方便工作人员查看。由于采用模块化设计,因此如果今后需要增加或减少监控项目,对主程序的改动非常小,甚至某些监控仅需改变配置文件即可而无需涉及编程。
  1.2.2 时钟显示功能设计。因为气象信息对时效的要求非常高,而该程序的设计主要依赖运行该程序计算机的时钟,如果该计算机时钟与实际时间差别较大的话,容易形成误判误报,此点必须重点关注。因此尽管时钟功能的实现非常简单,却是最重要且必不可少的。
  1.2.3 声音和颜色告警功能。告警功能非常重要,由于目前上海气象信息与技术支持中心的信息网络值班工作为7×24 h单人值班制度,同一时间内需要进行数据监控、视频会商管理和数据传输故障处理,所管理的计算机及其配套设备覆盖多个楼面和机房,还必须兼顾软件开发任务和工作岗位对外介绍任务,如果监控软件无警告功能就形同虚设。因此该程序设定声音和颜色2种告警功能同时运作。颜色以醒目的鲜红色标出故障信息,且置顶表格显示以方便工作人员观察。声音告警用mp3音乐,用以区别其他的监控告警程序,选曲可根据值班工作人员要求随时进行更换。
  1.2.4 日常定时工作提示。定时工作提示模块主要由一个Access数据库来支撑,分为汛期与非汛期两张表。之前提及由于目前上海气象信息与技术支持中心的信息网络值班工作为7×24 h单人值班制度,管理范围广,因此容易在繁忙时忘记某一时刻的定时工作。而此提示模块,可以有效地解决这一问题。   1.3 数据控制及各功能模块流程
  1.3.1 主程序与各功能子模块流程。主程序运行后,各功能子模块以多线程方式并行运行。提高运行速度的同时,也不会因为某一个功能模块卡死而导致其他功能模块不能运行。具体的流程图如图1所示。
  1.3.2 各功能子模块数据流程。
  各气象数据监控子模块数据流程都基本相同。首先逐条读入配置文件,之后进行格式判断,数据格式正确后,再从相应的数据存放文件或数据库中读取监控信息,如果符合监控条件则正常显示,如果不正确则触发告警程模块,直到配置文件尾,等待下次监控时间再次重复(图2)。
  1.4 软件的设计原则
  1.4.1 功能简单实用。
  最大限度满足实际工作要求,充分考虑用户状况、环节管理中数据处理的便利性和可行性,把满足用户需求作为第一要素。
  1.4.2 使用安全可靠。
  确保各功能模块级数据资源运行可靠,将软件运行的故障率降至最低限度。经常会出错的软件一定会被使用人员扔进垃圾桶。
  1.4.3 信息时间一致。
  由于所监控的气象信息有非常高的时效性,监控时间与被监控数据的生成时间必须精确,否则肯定会造成信息误判而达不到预期目的。
  1.4.4 显示内容完整。
  显现的被监控数据信息要完整,能让工作人员在第一时间获取足够的监控信息,快速对故障点进行处理。
  1.4.5 界面简洁清晰。 各功能模块界面应简便、规范,对用户友好。避免复杂操作与显示信息的混乱而导致降低使用该软件的界面障碍。
  1.4.6 警告标志突出。
  告警处理必须谨慎,模糊的告警非但不能起到警示作用,还会降低监控工作效率。该软件采用醒目红色背景标志出错误气象信息,同时使用区别于其他告警软件的声音告警。双重告警机制能保证任何人经过都能知晓有警报,可及时通知专业工作人员。
  2 软件开发工具简介
  2.1 Delphi简介
  Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用C语言,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。与VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;与VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点,它一直是程序员至爱的编程工具。
  Delphi具有基于窗体和面向对象的方法、高速的编译器、强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。 Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。
  Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor)以及各种开发数据库的应用程序,如DesktopDataBase Expert等。除此之外,还允许用户挂接其他的应用程序开发工具,如Borland公司的资源编辑器(Resourse Workshop)。
  2.2 Access数据库
  Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。软件开发人员和数据架构师可以使用Microsoft Access开发应用软件,“高级用户”可以使用它来构建软件应用程序。与其他办公应用程序一样,Access支持Visual Basic宏语言,它是一个面向对象的编程语言,可以引用各种对象,包括DAO(数据访问对象)、ActiveX数据对象以及许多其他的ActiveX组件。可视对象用于显示表和报表,它们的方法和属性是在VBA编程环境下,VBA代码模块可以声明和调用Windows操作系统函数。
  Access有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计;并可灵活设置统计的条件,如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。Access用来开发软件,如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是易学,非计算机专业的人员也能学会。低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。
  3 程序内容实现
  3.1 主程序界面设计
  主程序界面如设计原则中所提,要求界面清晰且显示内容完整。所以主界面中仅显示当前时间、监控的气象信息、下个时次的定时工作任务、声音告警控制按钮,且将四大类气象信息分4张表分别显示,同时将警告信息置顶显示,使工作人员对于各种监控信息一目了然(图3)。
  3.2 Access数据库具体设计
  该程序中Access数据库主要为每日定时工作提醒模块而设计,由于每年汛期与非汛期2个时间段的定时工作有不同,故此分为2个表以区分。具体字段定义为监控时间、监控内容、监控计算机地址、监控数据目录,其中将监控时间定义为数字型,为了方便比对与排序查寻,其余字段全部定义为字符型。
  3.3 编程使用的主要技术
  3.3.1 FindFirst函数和FindNext函数。
  可以遍历一个本地路径下的所有文件,包括目录文件的卷文件,文件名过滤条件在path中指定,但查找结果中默认不会显示隐藏文件、系统文件、卷文件和目录文件,如果想在结果中包含这些属性的文件,就需要在Attr中给予明确的指明[2]。此函数原型为:   Function FindFirst(const Path:Sting;Attr:Integer;Var F:TSearchRec):Integer;
  3.3.2 数据库语言SQL。
  SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。SQL功能强大、使用方便,已经成为了数据库操作的基础,且现在几乎所有的数据库均支持SQL。该程序中主要用到的是其中的select语句及其嵌套用法,其原型为:
  Select 字段名 from 表名 where 条件
  3.3.3 多线程技术。
  随着分布式系统的兴起,并发多任务技术变得越来越重要。在现有基于多线程的操作系统上开发并发多任务程序已经成为程序设计的热点。根据需要在应用程序中创建线程,多个线程可以并发地运行在同一个进程中,操作系统的多任务特性使得线程之间能独立运行,但彼此共享存储空间。尽管多线程能提高CPU利用率,但也不能太多,同时,在多个线程操作同一个内存地址时需处理好它们之间的同步关系[3]
  3.4 告警功能说明
  该程序采用颜色及声音双重告警,对所有四大类气象数据监控均采用视觉差异较大的红色为底色,便于引起人员高度注意。由于MICAPS气象数据大类中并非所有子数据每天都全部按时收到,且间隔时间也没有规律,只要保证有90%以上数据正确接收并解码就能正常工作,因此声音告警仅应用自动站与雷达卫星两大类中。
  3.5 软件的测试与维护
  为保证软件的可靠运行,需要针对各种情况进行测试。首先对各个功能模块进行分别测试,包括对正确数据读取测试、错误数据读取测试、容错性测试,然后将所有功能模块联合在一起作总体调试,最后在工作平台进行实际运行测试。
  在实际测试的同时,该程序也已进入运行维护阶段,改正在特定使用条件下会暴露的潜在程序错误或设计缺陷,在软件使用过程中数据环境发生变化或处理环境发生变化时进行及时修改。若有工作人员提出改进意见时,及时对软件做出修正。
  目前经过连续2个月试运行未出现重大故障,证明该程序运行的稳定性与可靠性达到设计要求。
  人员的基本责任之一。在信息传输技术与手段发生变化时,在最短时间内做出相应监控手段的调整以确保对气象信息的有效监控。
  该程序对四大类实时气象数据的监控融于一体,并伴有每日定时任务提醒,各界面清晰简洁,采用多线程技术以提高各监控模块运行速度,从而使值班人员能方便并迅速地通过该程序进行监控,迅速判断故障并采取相应措施,提高了工作效率。同时,模块化的程序设计也使今后对于整个程序的修改工作变得方便。
  参考文献
  [1] 吴玲,侯俊.中国气象局卫星数据广播系统CMACast简介[J].沙漠与绿洲气象,2011(Z1):26.
  [2] 张曜,张青,李彬.delphi函数使用手册[K].北京:冶金工业出版社,2002.
  [3] 张世明.delphi程序设计基础[M].北京:电子工业出版社,2010.
其他文献
摘要:数学教学中的创造思维是指思维主体自身的一种新颖独到的思维活动。教师要积极调动教学中的各个因素,营造民主、和谐的氛围,引导学生主动去探究、去发现问题、解决问题,培养学生的创新意识,发展学生的创造思维能力。  关键词:高中;数学课堂;创新教育;实施  【分类号】G633.6  创新教育是指以新的教育观念、教育思想为指导运用现代信息手段和教育技术培养学生学会自主学习和创造,使他们具有创新意识、创新
以台江大桥0#块托架设计及施工为例,介绍了悬浇桥采用托架进行0#块的施工方法,并对主要承重结构进行了验算,通过施工验证,方案合理可行,并取得显著效益。
【中图分类号】G633.51 【文献标识码】A 【文章编号】2095-3089(2015)09-0114-02  随着多媒体技术的迅猛发展,多媒体技术在历史课堂中得到广泛应用,同时我们应该清醒的看到多媒体是把“双刃剑”。它能否在历史课堂上发挥好作用,要看历史老师能否把它用好。我们知道历史学科有着它自身的特点和自身的规律,多媒体作为一种新的教学手段,多媒体在历史课堂为学生服务的,所以,作为一名历史老
【摘 要】由于我国教育事业不断发展和学生自身发展需求的不断提高,教师在教学过程中面临着诸多问题需要不断去改进与深造。教学反思作为教师提高教学质量的有效手段,在高中化学教学应用中还需要去探究与改进。教师不仅要对自己不断的进行反思,还要督促学生也进行反思,使“教”和“学”充分结合,提高教师教学水平和学生学习能力。  【关键词】高中;化学;教学;反思;  【中图分类号】G633.8  一、高中化学教学反
摘要 [目的] 利用生物信息学方法初步探讨虫草属日本拟青霉的分类地位。[方法] 提取日本拟青霉的基因组,并利用通用引物ITSL和ITS4采用PCR技术扩增rDNA18S28S ITS序列。采用Clustalx1.83和MEGA5软件构建系统发育树,生物信息学比较分析确定其分类地位。[结果]PCR扩增产物为603 bp。将日本拟青霉重新命名为雪花高雄山虫草(Cordyceps takaomontan
生物资源是人类生存环境的重要组成部分,是人类赖以生活的物质基础。本文探讨了人类活动对生物资源直接和间接的影响,指出人类的许多经济和社会活动已对生物资源构成了严重威胁
【摘 要】新课标下的小学数学教学打破常规教学思维模式,落实新课改的教学理念,推行兴趣教育、破除应试教育的僵化局面、培养学生的数学认知能力、逻辑思维能力等,在小学数学教学中着力提升学生思维发展模式及整体素质。  【关键词】小学数学 教学探究 情境教学  【中图分类号】G623.5 【文献标识码】A 【文章编号】2095-3089(2016)34-0238-01  我作为一名普通的小学数学教师,既没有
摘要 提子是喜光、喜温、比较耐旱的植物,通过走访调查灵川提子各生育时期所需的气象条件,来摸清用户的气象需求。结果发现,提子的主要生育期有萌芽期、开花期、果实膨大期、果实着色期、成熟期,灵川提子品种很多,品种不同,其生育期的时间也不同,成熟期也不同,且各生育期所需的气象条件也不同;灵川提子的病害主要有葡萄黑痘病、葡萄霜霉病、葡萄白腐病、葡萄炭疽病、葡萄白腐病,虫害主要有葡萄虎天牛、葡萄透翅蛾、金龟子
随着社会信息化的发展,社会对企业执行力的要求越来越高。社会企业迫切需要通过信息化提高企业的执行力,增加企业在社会竞争中的取胜因素。文章从现代企业对提高企业"执行力"的
【摘 要】 早期阅读是指学前儿童通过色彩、图像、文字或成人的读讲来理解阅读材料的活动过程。依托社区开展学前儿童早期阅读活动,培养学前儿童对文字符号的兴趣和对书籍的喜爱,有利于促进幼儿语言、思维和个性的发展。依托社区资源,通过创设社区图书室;举办社区家庭早期阅读活动;为家长提供科学的早期阅读指导等途径,丰富幼儿的经验和阅读内容,提升家长的阅读指导水平,促进幼儿早期阅读的开展。  【关键词】 社区;学