国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

氣象實(shí)時(shí)數(shù)據(jù)監(jiān)控程序的設(shè)計(jì)與開(kāi)發(fā)

2014-04-29 16:15:19秦虹
安徽農(nóng)業(yè)科學(xué) 2014年27期
關(guān)鍵詞:氣象程序監(jiān)控

秦虹

摘要 對(duì)上海氣象信息與技術(shù)支持中心而言,原先的氣象信息數(shù)據(jù)監(jiān)控系統(tǒng)由于操作復(fù)雜而需要改進(jìn)。新的監(jiān)控系統(tǒng)開(kāi)發(fā)使用delphi6.0語(yǔ)言和多線程技術(shù),對(duì)自動(dòng)站數(shù)據(jù)、雷達(dá)和衛(wèi)星數(shù)據(jù)、MICAPS壓縮數(shù)據(jù)和MICAPS解壓數(shù)據(jù)這四類(lèi)氣象實(shí)時(shí)數(shù)據(jù)進(jìn)行監(jiān)控,以一體化的方式展現(xiàn)所有重要的監(jiān)控信息,提高了工作效率。

關(guān)鍵詞 監(jiān)控系統(tǒng);氣象實(shí)時(shí)數(shù)據(jù);delphi6.0語(yǔ)言;多線程編程

中圖分類(lèi)號(hào) S161 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 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

近年來(lái)隨著氣象業(yè)務(wù)發(fā)展,各類(lèi)觀測(cè)數(shù)據(jù)、預(yù)報(bào)預(yù)測(cè)及氣象服務(wù)產(chǎn)品數(shù)據(jù)大量增加,氣象信息的傳輸時(shí)效要求也越來(lái)越高。由中國(guó)氣象局研發(fā)的新一代國(guó)內(nèi)氣象通信系統(tǒng),是繼9210通信系統(tǒng)后國(guó)內(nèi)氣象通信系統(tǒng)的重要升級(jí)。對(duì)上海氣象信息與技術(shù)支持中心而言,原先的氣象數(shù)據(jù)傳輸與監(jiān)控系統(tǒng)也需要相應(yīng)的升級(jí)改造。對(duì)于信息網(wǎng)絡(luò)監(jiān)控崗位工作,能實(shí)時(shí)監(jiān)控各類(lèi)氣象數(shù)據(jù)是最根本的要求。以往的監(jiān)控需要逐個(gè)打開(kāi)相應(yīng)設(shè)備查看,不但操作繁瑣,且不能及時(shí)發(fā)現(xiàn)錯(cuò)誤氣象信息,從而延誤維護(hù)時(shí)間。所以新的監(jiān)控系統(tǒng)需做到信息量大、監(jiān)控面廣、界面不雜亂、有聲音及顏色告警,各種監(jiān)控信息對(duì)于值班工作人員應(yīng)能一目了然,以一體化方式展現(xiàn),節(jié)約查詢(xún)時(shí)間和查詢(xún)步驟,從而提高監(jiān)控效率。為達(dá)到以上要求,筆者在此對(duì)氣象實(shí)時(shí)數(shù)據(jù)監(jiān)控程序的設(shè)計(jì)和開(kāi)發(fā)進(jìn)行了詳細(xì)的介紹,該程序開(kāi)發(fā)使用delphi6.0語(yǔ)言和多線程技術(shù),目前對(duì)自動(dòng)氣象站數(shù)據(jù)、雷達(dá)和衛(wèi)星數(shù)據(jù)、MICAPS壓縮數(shù)據(jù)和MICAPS解壓數(shù)據(jù)這四類(lèi)數(shù)據(jù)進(jìn)行監(jiān)控[1],滿(mǎn)足了氣象實(shí)時(shí)數(shù)據(jù)的監(jiān)控。

1 需求分析和總體設(shè)計(jì)

1.1 需求

目前對(duì)于上海氣象信息與技術(shù)支持中心的信息網(wǎng)絡(luò)值班工作而言,及時(shí)掌握各類(lèi)氣象信息的數(shù)據(jù)是否按時(shí)上行國(guó)家局和下行各用戶(hù)單位非常重要,需要有一款既能快速查詢(xún)和瀏覽各類(lèi)氣象要素上下行時(shí)間數(shù)據(jù)又能及時(shí)提供相應(yīng)警報(bào)的軟件,縮短工作人員對(duì)故障的判斷和響應(yīng)的時(shí)間,提高工作效率。

1.2 軟件的預(yù)期功能

1.2.1 監(jiān)控的氣象信息。目前主要是對(duì)于自動(dòng)站數(shù)據(jù)接收時(shí)間信息、多普勒及風(fēng)廓線雷達(dá)上行時(shí)間信息、新一代傳輸系統(tǒng)中的DVBS接收時(shí)間信息和對(duì)上述接收到的信息進(jìn)行解碼后氣象產(chǎn)品的時(shí)間信息。所監(jiān)控的氣象信息均采用多線程編程,將信息分成四大類(lèi)后以表格形式并行呈現(xiàn),且將錯(cuò)誤信息置頂。如此設(shè)計(jì)能將所有必需監(jiān)控的信息顯示在同一塊屏上,正確與錯(cuò)誤信息一目了然,縮短工作人員的故障判斷時(shí)間。所有表格能根據(jù)主窗口的縮放而自動(dòng)改變大小,方便工作人員查看。由于采用模塊化設(shè)計(jì),因此如果今后需要增加或減少監(jiān)控項(xiàng)目,對(duì)主程序的改動(dòng)非常小,甚至某些監(jiān)控僅需改變配置文件即可而無(wú)需涉及編程。

1.2.2 時(shí)鐘顯示功能設(shè)計(jì)。因?yàn)闅庀笮畔?duì)時(shí)效的要求非常高,而該程序的設(shè)計(jì)主要依賴(lài)運(yùn)行該程序計(jì)算機(jī)的時(shí)鐘,如果該計(jì)算機(jī)時(shí)鐘與實(shí)際時(shí)間差別較大的話,容易形成誤判誤報(bào),此點(diǎn)必須重點(diǎn)關(guān)注。因此盡管時(shí)鐘功能的實(shí)現(xiàn)非常簡(jiǎn)單,卻是最重要且必不可少的。

1.2.3 聲音和顏色告警功能。告警功能非常重要,由于目前上海氣象信息與技術(shù)支持中心的信息網(wǎng)絡(luò)值班工作為7×24 h單人值班制度,同一時(shí)間內(nèi)需要進(jìn)行數(shù)據(jù)監(jiān)控、視頻會(huì)商管理和數(shù)據(jù)傳輸故障處理,所管理的計(jì)算機(jī)及其配套設(shè)備覆蓋多個(gè)樓面和機(jī)房,還必須兼顧軟件開(kāi)發(fā)任務(wù)和工作崗位對(duì)外介紹任務(wù),如果監(jiān)控軟件無(wú)警告功能就形同虛設(shè)。因此該程序設(shè)定聲音和顏色2種告警功能同時(shí)運(yùn)作。顏色以醒目的鮮紅色標(biāo)出故障信息,且置頂表格顯示以方便工作人員觀察。聲音告警用mp3音樂(lè),用以區(qū)別其他的監(jiān)控告警程序,選曲可根據(jù)值班工作人員要求隨時(shí)進(jìn)行更換。

1.2.4 日常定時(shí)工作提示。定時(shí)工作提示模塊主要由一個(gè)Access數(shù)據(jù)庫(kù)來(lái)支撐,分為汛期與非汛期兩張表。之前提及由于目前上海氣象信息與技術(shù)支持中心的信息網(wǎng)絡(luò)值班工作為7×24 h單人值班制度,管理范圍廣,因此容易在繁忙時(shí)忘記某一時(shí)刻的定時(shí)工作。而此提示模塊,可以有效地解決這一問(wèn)題。

1.3 數(shù)據(jù)控制及各功能模塊流程

1.3.1 主程序與各功能子模塊流程。主程序運(yùn)行后,各功能子模塊以多線程方式并行運(yùn)行。提高運(yùn)行速度的同時(shí),也不會(huì)因?yàn)槟骋粋€(gè)功能模塊卡死而導(dǎo)致其他功能模塊不能運(yùn)行。具體的流程圖如圖1所示。

1.3.2 各功能子模塊數(shù)據(jù)流程。

各氣象數(shù)據(jù)監(jiān)控子模塊數(shù)據(jù)流程都基本相同。首先逐條讀入配置文件,之后進(jìn)行格式判斷,數(shù)據(jù)格式正確后,再?gòu)南鄳?yīng)的數(shù)據(jù)存放文件或數(shù)據(jù)庫(kù)中讀取監(jiān)控信息,如果符合監(jiān)控條件則正常顯示,如果不正確則觸發(fā)告警程模塊,直到配置文件尾,等待下次監(jiān)控時(shí)間再次重復(fù)(圖2)。

1.4 軟件的設(shè)計(jì)原則

1.4.1 功能簡(jiǎn)單實(shí)用。

最大限度滿(mǎn)足實(shí)際工作要求,充分考慮用戶(hù)狀況、環(huán)節(jié)管理中數(shù)據(jù)處理的便利性和可行性,把滿(mǎn)足用戶(hù)需求作為第一要素。

1.4.2 使用安全可靠。

確保各功能模塊級(jí)數(shù)據(jù)資源運(yùn)行可靠,將軟件運(yùn)行的故障率降至最低限度。經(jīng)常會(huì)出錯(cuò)的軟件一定會(huì)被使用人員扔進(jìn)垃圾桶。

1.4.3 信息時(shí)間一致。

由于所監(jiān)控的氣象信息有非常高的時(shí)效性,監(jiān)控時(shí)間與被監(jiān)控?cái)?shù)據(jù)的生成時(shí)間必須精確,否則肯定會(huì)造成信息誤判而達(dá)不到預(yù)期目的。

1.4.4 顯示內(nèi)容完整。

顯現(xiàn)的被監(jiān)控?cái)?shù)據(jù)信息要完整,能讓工作人員在第一時(shí)間獲取足夠的監(jiān)控信息,快速對(duì)故障點(diǎn)進(jìn)行處理。

1.4.5 界面簡(jiǎn)潔清晰。 各功能模塊界面應(yīng)簡(jiǎn)便、規(guī)范,對(duì)用戶(hù)友好。避免復(fù)雜操作與顯示信息的混亂而導(dǎo)致降低使用該軟件的界面障礙。

1.4.6 警告標(biāo)志突出。

告警處理必須謹(jǐn)慎,模糊的告警非但不能起到警示作用,還會(huì)降低監(jiān)控工作效率。該軟件采用醒目紅色背景標(biāo)志出錯(cuò)誤氣象信息,同時(shí)使用區(qū)別于其他告警軟件的聲音告警。雙重告警機(jī)制能保證任何人經(jīng)過(guò)都能知曉有警報(bào),可及時(shí)通知專(zhuān)業(yè)工作人員。

2 軟件開(kāi)發(fā)工具簡(jiǎn)介

2.1 Delphi簡(jiǎn)介

Delphi是著名的Borland(現(xiàn)在已和Inprise合并)公司開(kāi)發(fā)的可視化軟件開(kāi)發(fā)工具?!罢嬲某绦騿T用C語(yǔ)言,聰明的程序員用Delphi”,這句話是對(duì)Delphi最經(jīng)典、最實(shí)在的描述。Delphi被稱(chēng)為第四代編程語(yǔ)言,它具有簡(jiǎn)單、高效、功能強(qiáng)大的特點(diǎn)。與VC相比,Delphi更簡(jiǎn)單、更易于掌握,而在功能上卻絲毫不遜色;與VB相比,Delphi則功能更強(qiáng)大、更實(shí)用??梢哉f(shuō)Delphi同時(shí)兼?zhèn)淞薞C功能強(qiáng)大和VB簡(jiǎn)單易學(xué)的特點(diǎn),它一直是程序員至愛(ài)的編程工具。

Delphi具有基于窗體和面向?qū)ο蟮姆椒ā⒏咚俚木幾g器、強(qiáng)大的數(shù)據(jù)庫(kù)支持,與Windows編程緊密結(jié)合,強(qiáng)大而成熟的組件技術(shù)。但最重要的還是Object Pascal語(yǔ)言,它才是一切的根本。 Object Pascal語(yǔ)言是在Pascal語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,簡(jiǎn)單易學(xué)。

Delphi提供了各種開(kāi)發(fā)工具,包括集成環(huán)境、圖像編輯(Image Editor)以及各種開(kāi)發(fā)數(shù)據(jù)庫(kù)的應(yīng)用程序,如DesktopDataBase Expert等。除此之外,還允許用戶(hù)掛接其他的應(yīng)用程序開(kāi)發(fā)工具,如Borland公司的資源編輯器(Resourse Workshop)。

2.2 Access數(shù)據(jù)庫(kù)

Microsoft Office Access是微軟把數(shù)據(jù)庫(kù)引擎的圖形用戶(hù)界面和軟件開(kāi)發(fā)工具結(jié)合在一起的一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)。軟件開(kāi)發(fā)人員和數(shù)據(jù)架構(gòu)師可以使用Microsoft Access開(kāi)發(fā)應(yīng)用軟件,“高級(jí)用戶(hù)”可以使用它來(lái)構(gòu)建軟件應(yīng)用程序。與其他辦公應(yīng)用程序一樣,Access支持Visual Basic宏語(yǔ)言,它是一個(gè)面向?qū)ο蟮木幊陶Z(yǔ)言,可以引用各種對(duì)象,包括DAO(數(shù)據(jù)訪問(wèn)對(duì)象)、ActiveX數(shù)據(jù)對(duì)象以及許多其他的ActiveX組件??梢晫?duì)象用于顯示表和報(bào)表,它們的方法和屬性是在VBA編程環(huán)境下,VBA代碼模塊可以聲明和調(diào)用Windows操作系統(tǒng)函數(shù)。

Access有強(qiáng)大的數(shù)據(jù)處理、統(tǒng)計(jì)分析能力,利用Access的查詢(xún)功能,可以方便地進(jìn)行各類(lèi)匯總、平均等統(tǒng)計(jì);并可靈活設(shè)置統(tǒng)計(jì)的條件,如在統(tǒng)計(jì)分析上萬(wàn)條記錄、十幾萬(wàn)條記錄及以上的數(shù)據(jù)時(shí)速度快且操作方便,這一點(diǎn)是Excel無(wú)法與之相比的。Access用來(lái)開(kāi)發(fā)軟件,如生產(chǎn)管理、銷(xiāo)售管理、庫(kù)存管理等各類(lèi)企業(yè)管理軟件,其最大的優(yōu)點(diǎn)是易學(xué),非計(jì)算機(jī)專(zhuān)業(yè)的人員也能學(xué)會(huì)。低成本地滿(mǎn)足了那些從事企業(yè)管理工作的人員的管理需要,通過(guò)軟件來(lái)規(guī)范同事、下屬的行為,推行其管理思想。

3 程序內(nèi)容實(shí)現(xiàn)

3.1 主程序界面設(shè)計(jì)

主程序界面如設(shè)計(jì)原則中所提,要求界面清晰且顯示內(nèi)容完整。所以主界面中僅顯示當(dāng)前時(shí)間、監(jiān)控的氣象信息、下個(gè)時(shí)次的定時(shí)工作任務(wù)、聲音告警控制按鈕,且將四大類(lèi)氣象信息分4張表分別顯示,同時(shí)將警告信息置頂顯示,使工作人員對(duì)于各種監(jiān)控信息一目了然(圖3)。

3.2 Access數(shù)據(jù)庫(kù)具體設(shè)計(jì)

該程序中Access數(shù)據(jù)庫(kù)主要為每日定時(shí)工作提醒模塊而設(shè)計(jì),由于每年汛期與非汛期2個(gè)時(shí)間段的定時(shí)工作有不同,故此分為2個(gè)表以區(qū)分。具體字段定義為監(jiān)控時(shí)間、監(jiān)控內(nèi)容、監(jiān)控計(jì)算機(jī)地址、監(jiān)控?cái)?shù)據(jù)目錄,其中將監(jiān)控時(shí)間定義為數(shù)字型,為了方便比對(duì)與排序查尋,其余字段全部定義為字符型。

3.3 編程使用的主要技術(shù)

3.3.1 FindFirst函數(shù)和FindNext函數(shù)。

可以遍歷一個(gè)本地路徑下的所有文件,包括目錄文件的卷文件,文件名過(guò)濾條件在path中指定,但查找結(jié)果中默認(rèn)不會(huì)顯示隱藏文件、系統(tǒng)文件、卷文件和目錄文件,如果想在結(jié)果中包含這些屬性的文件,就需要在Attr中給予明確的指明[2]。此函數(shù)原型為:

Function FindFirst(const Path:Sting;Attr:Integer;Var F:TSearchRec):Integer;

3.3.2 數(shù)據(jù)庫(kù)語(yǔ)言SQL。

SQL是Structured Query Language(結(jié)構(gòu)化查詢(xún)語(yǔ)言)的縮寫(xiě)。SQL是專(zhuān)為數(shù)據(jù)庫(kù)而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫(kù)語(yǔ)言。SQL功能強(qiáng)大、使用方便,已經(jīng)成為了數(shù)據(jù)庫(kù)操作的基礎(chǔ),且現(xiàn)在幾乎所有的數(shù)據(jù)庫(kù)均支持SQL。該程序中主要用到的是其中的select語(yǔ)句及其嵌套用法,其原型為:

Select 字段名 from 表名 where 條件

3.3.3 多線程技術(shù)。

隨著分布式系統(tǒng)的興起,并發(fā)多任務(wù)技術(shù)變得越來(lái)越重要。在現(xiàn)有基于多線程的操作系統(tǒng)上開(kāi)發(fā)并發(fā)多任務(wù)程序已經(jīng)成為程序設(shè)計(jì)的熱點(diǎn)。根據(jù)需要在應(yīng)用程序中創(chuàng)建線程,多個(gè)線程可以并發(fā)地運(yùn)行在同一個(gè)進(jìn)程中,操作系統(tǒng)的多任務(wù)特性使得線程之間能獨(dú)立運(yùn)行,但彼此共享存儲(chǔ)空間。盡管多線程能提高CPU利用率,但也不能太多,同時(shí),在多個(gè)線程操作同一個(gè)內(nèi)存地址時(shí)需處理好它們之間的同步關(guān)系[3]。

3.4 告警功能說(shuō)明

該程序采用顏色及聲音雙重告警,對(duì)所有四大類(lèi)氣象數(shù)據(jù)監(jiān)控均采用視覺(jué)差異較大的紅色為底色,便于引起人員高度注意。由于MICAPS氣象數(shù)據(jù)大類(lèi)中并非所有子數(shù)據(jù)每天都全部按時(shí)收到,且間隔時(shí)間也沒(méi)有規(guī)律,只要保證有90%以上數(shù)據(jù)正確接收并解碼就能正常工作,因此聲音告警僅應(yīng)用自動(dòng)站與雷達(dá)衛(wèi)星兩大類(lèi)中。

3.5 軟件的測(cè)試與維護(hù)

為保證軟件的可靠運(yùn)行,需要針對(duì)各種情況進(jìn)行測(cè)試。首先對(duì)各個(gè)功能模塊進(jìn)行分別測(cè)試,包括對(duì)正確數(shù)據(jù)讀取測(cè)試、錯(cuò)誤數(shù)據(jù)讀取測(cè)試、容錯(cuò)性測(cè)試,然后將所有功能模塊聯(lián)合在一起作總體調(diào)試,最后在工作平臺(tái)進(jìn)行實(shí)際運(yùn)行測(cè)試。

在實(shí)際測(cè)試的同時(shí),該程序也已進(jìn)入運(yùn)行維護(hù)階段,改正在特定使用條件下會(huì)暴露的潛在程序錯(cuò)誤或設(shè)計(jì)缺陷,在軟件使用過(guò)程中數(shù)據(jù)環(huán)境發(fā)生變化或處理環(huán)境發(fā)生變化時(shí)進(jìn)行及時(shí)修改。若有工作人員提出改進(jìn)意見(jiàn)時(shí),及時(shí)對(duì)軟件做出修正。

目前經(jīng)過(guò)連續(xù)2個(gè)月試運(yùn)行未出現(xiàn)重大故障,證明該程序運(yùn)行的穩(wěn)定性與可靠性達(dá)到設(shè)計(jì)要求。

人員的基本責(zé)任之一。在信息傳輸技術(shù)與手段發(fā)生變化時(shí),在最短時(shí)間內(nèi)做出相應(yīng)監(jiān)控手段的調(diào)整以確保對(duì)氣象信息的有效監(jiān)控。

該程序?qū)λ拇箢?lèi)實(shí)時(shí)氣象數(shù)據(jù)的監(jiān)控融于一體,并伴有每日定時(shí)任務(wù)提醒,各界面清晰簡(jiǎn)潔,采用多線程技術(shù)以提高各監(jiān)控模塊運(yùn)行速度,從而使值班人員能方便并迅速地通過(guò)該程序進(jìn)行監(jiān)控,迅速判斷故障并采取相應(yīng)措施,提高了工作效率。同時(shí),模塊化的程序設(shè)計(jì)也使今后對(duì)于整個(gè)程序的修改工作變得方便。

參考文獻(xiàn)

[1] 吳玲,侯俊.中國(guó)氣象局衛(wèi)星數(shù)據(jù)廣播系統(tǒng)CMACast簡(jiǎn)介[J].沙漠與綠洲氣象,2011(Z1):26.

[2] 張曜,張青,李彬.delphi函數(shù)使用手冊(cè)[K].北京:冶金工業(yè)出版社,2002.

[3] 張世明.delphi程序設(shè)計(jì)基礎(chǔ)[M].北京:電子工業(yè)出版社,2010.

猜你喜歡
氣象程序監(jiān)控
氣象樹(shù)
The Great Barrier Reef shows coral comeback
《內(nèi)蒙古氣象》征稿簡(jiǎn)則
氣象戰(zhàn)士之歌
心聲歌刊(2019年5期)2020-01-19 01:52:52
你被監(jiān)控了嗎?
Zabbix在ATS系統(tǒng)集中監(jiān)控中的應(yīng)用
試論我國(guó)未決羈押程序的立法完善
大國(guó)氣象
“程序猿”的生活什么樣
看監(jiān)控?cái)z像機(jī)的4K之道
垫江县| 苏尼特左旗| 墨玉县| 桃园市| 牟定县| 垫江县| 北票市| 安岳县| 尼勒克县| 新化县| 乌鲁木齐县| 鱼台县| 东港市| 克东县| 鄂州市| 鹿邑县| 广元市| 双桥区| 陆丰市| 惠安县| 霍州市| 乐亭县| 沙湾县| 上思县| 兴山县| 邯郸市| 渝中区| 清新县| 怀安县| 共和县| 宁化县| 琼结县| 穆棱市| 错那县| 石柱| 淮阳县| 新乡县| 罗田县| 惠安县| 元朗区| 凭祥市|