亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        縣級自動(dòng)站監(jiān)控系統(tǒng)研究

        2017-03-27 11:50:25彭顯鋒杜龍彩
        中低緯山地氣象 2017年1期
        關(guān)鍵詞:線程備份短信

        彭顯鋒,王 橋,杜龍彩

        (1.貴州省興仁縣氣象局,貴州 興仁 562300;2.貴州省貴陽市氣象局,貴州 貴陽 550001)

        縣級自動(dòng)站監(jiān)控系統(tǒng)研究

        彭顯鋒1,王 橋1,杜龍彩2

        (1.貴州省興仁縣氣象局,貴州 興仁 562300;2.貴州省貴陽市氣象局,貴州 貴陽 550001)

        隨著氣象觀測業(yè)務(wù)的現(xiàn)代化,觀測設(shè)備、業(yè)務(wù)軟件、網(wǎng)絡(luò)故障以及供電系統(tǒng)不穩(wěn)定已成為影響觀測質(zhì)量的主要因素。利用計(jì)算機(jī)對觀測系統(tǒng)進(jìn)行自動(dòng)監(jiān)控,發(fā)現(xiàn)異常及時(shí)通知工作人員處理,可有效提高業(yè)務(wù)質(zhì)量和工作效率。該文介紹了“縣級自動(dòng)站監(jiān)控系統(tǒng)”的主要功能和工作原理,并重點(diǎn)對多線程編程、數(shù)據(jù)庫訪問、GSM/GPRS Modem的使用、文件自動(dòng)備份等方面用到的關(guān)鍵編程技巧進(jìn)行了詳細(xì)說明。

        自動(dòng)站;監(jiān)控系統(tǒng);工作原理;編程技巧

        1 引言

        隨著氣象綜合觀測業(yè)務(wù)的現(xiàn)代化,人工觀測已基本被自動(dòng)觀測代替。但自動(dòng)觀測系統(tǒng)結(jié)構(gòu)復(fù)雜,出現(xiàn)故障的概率較大。當(dāng)系統(tǒng)出現(xiàn)故障后,一般工作人員很難第一時(shí)間找出原因,并及時(shí)排除故障。據(jù)統(tǒng)計(jì),設(shè)備、軟件、網(wǎng)絡(luò)故障以及供電不穩(wěn)定對業(yè)務(wù)質(zhì)量的影響,已超過人為原因,成為影響觀測質(zhì)量的主要因素。

        縣級自動(dòng)站監(jiān)控系統(tǒng)能對影響綜合觀測質(zhì)量的主要因素進(jìn)行自動(dòng)監(jiān)控,發(fā)現(xiàn)異常及時(shí)報(bào)警,以便故障得到及時(shí)處理,在網(wǎng)絡(luò)主通道中斷時(shí),自動(dòng)連接3G、Vpn從輔通道上傳數(shù)據(jù),能有效提高業(yè)務(wù)質(zhì)量和工作效率。

        2 系統(tǒng)主要功能及工作原理

        為了實(shí)現(xiàn)系統(tǒng)的快速開發(fā)和應(yīng)用,并適用于所有自動(dòng)站業(yè)務(wù)計(jì)算機(jī)系統(tǒng),本軟件在Vs2012平臺上基于 .NET Framework 4 開發(fā)。

        設(shè)備功能及布局如“圖1”:

        圖1 設(shè)備功能及布局圖Fig.1 Equipment function and layout

        2.1 系統(tǒng)功能概述

        本系統(tǒng)適用于所有氣象臺站地面氣象自動(dòng)站業(yè)務(wù)平臺。能對自動(dòng)站計(jì)算機(jī)、自動(dòng)站軟件、采集器是否正常工作,網(wǎng)絡(luò)、市電是否中斷,長Z文件數(shù)據(jù)是否有缺測、是否進(jìn)行人工質(zhì)控、上傳是否及時(shí)等進(jìn)行判斷。發(fā)現(xiàn)異常后,根據(jù)情況的緊急程度,通過文字、音箱、發(fā)送短信或撥打電話報(bào)警。還能通過短信遠(yuǎn)程獲取系統(tǒng)監(jiān)控情況、查詢部分觀測數(shù)據(jù)。當(dāng)網(wǎng)絡(luò)主通道中斷時(shí),能自動(dòng)連接3G、Vpn從輔通道上傳數(shù)據(jù)。系統(tǒng)還具有自動(dòng)站數(shù)據(jù)自動(dòng)備份、分發(fā)省局告警信息功能。

        2.2 工作原理

        2.2.1 判斷市電、自動(dòng)站計(jì)算機(jī)工作狀態(tài) 利用兩臺計(jì)算機(jī)(一臺為使用UPS供電的自動(dòng)站主機(jī),一臺為直接連接市電的其它計(jì)算機(jī))互相監(jiān)測,不僅能達(dá)到設(shè)計(jì)目標(biāo),還能使該系統(tǒng)運(yùn)行更為可靠:

        通過端口掃描(139號端口)的方式,自動(dòng)站主機(jī)通過檢測另一臺計(jì)算機(jī)是否在線來確定市電是否中斷,另一臺計(jì)算機(jī)以同樣的方式判斷自動(dòng)站主機(jī)是否正常工作;

        兩臺計(jì)算機(jī)通過參數(shù)傳遞,確定對方計(jì)算機(jī)上的綜合監(jiān)測程序是否都已啟動(dòng)運(yùn)行。

        2.2.2 判斷網(wǎng)絡(luò)是否連通、自動(dòng)站軟件以及采集器是否正常工作

        ①通過掃描服務(wù)器端口,檢測“自動(dòng)站”計(jì)算機(jī)與“報(bào)文上傳服務(wù)器(IP:10.203.72.30)”的連通狀態(tài),確定網(wǎng)絡(luò)是否正常。

        ②通過檢查業(yè)務(wù)軟件(采集、傳輸、業(yè)務(wù)軟件)是否在進(jìn)程列表中、分鐘數(shù)據(jù)文件是否得到更新,綜合判斷自動(dòng)氣象站軟件及采集器工作狀態(tài)。如業(yè)務(wù)軟件未運(yùn)行,通過Process.Start命令將其啟動(dòng)。

        2.2.3 監(jiān)測長Z文件是否上傳、是否進(jìn)行質(zhì)控、數(shù)據(jù)是否有缺測。

        ①定時(shí)檢查傳輸日志,判斷長Z文件是否已及時(shí)上傳;

        ②通過長Z文件第1行的“質(zhì)控碼”,判斷需要人工質(zhì)控時(shí)段的長Z文件是否經(jīng)過人工質(zhì)控;

        ③根據(jù)臺站觀測項(xiàng)目設(shè)置情況,判斷長Z文件中的當(dāng)前時(shí)次應(yīng)該觀測的項(xiàng)目數(shù)據(jù)是否有缺測。

        2.2.4 大風(fēng)監(jiān)測 目前,當(dāng)出現(xiàn)大風(fēng)時(shí),新型自動(dòng)站不會自動(dòng)報(bào)警。為避免遲發(fā)、漏發(fā)重要天氣報(bào),本系統(tǒng)通過分析分鐘數(shù)據(jù),判斷是否有大風(fēng)出現(xiàn),如發(fā)現(xiàn)某日風(fēng)速第1次達(dá)到17 m/s、24 m/s,會立即報(bào)警。

        2.2.5 自動(dòng)站數(shù)據(jù)實(shí)時(shí)自動(dòng)備份 利用文件系統(tǒng)監(jiān)視控件,對指定的目錄進(jìn)行監(jiān)視,當(dāng)發(fā)現(xiàn)被監(jiān)視的目錄中新增文件、文件屬性(大小、修改時(shí)間等)發(fā)生變化時(shí),就把相關(guān)文件復(fù)制到目標(biāo)磁盤,實(shí)現(xiàn)有選擇的自動(dòng)站數(shù)據(jù)實(shí)時(shí)備份。

        2.2.6 自動(dòng)連接3G無線網(wǎng)絡(luò)和Vpn 通過Shell、Process.Start指令調(diào)用已有的網(wǎng)絡(luò)連接,實(shí)現(xiàn)自動(dòng)連接與斷開3G和Vpn。

        2.2.7 手機(jī)報(bào)警、遠(yuǎn)程短信獲取系統(tǒng)監(jiān)控狀態(tài)和觀測數(shù)據(jù) 為了確保在網(wǎng)絡(luò)中斷的情況下,能發(fā)出短信和撥打電話報(bào)警,需采用獨(dú)立、可靠的通信設(shè)備。本系統(tǒng)采用了使用“TC35i”芯片的GSM/GPRS Modem(簡稱短信貓,下同)通過USB接口與計(jì)算機(jī)連接,通過AT指令實(shí)現(xiàn)自動(dòng)收發(fā)送短信和撥打電話。

        通過手機(jī)向短信貓發(fā)送短信(即事先約定的指令),自動(dòng)站主機(jī)讀取該短信后按要求進(jìn)行相關(guān)統(tǒng)計(jì),并通過AT指令將統(tǒng)計(jì)結(jié)果以短信方式發(fā)送給手機(jī)。

        3 關(guān)鍵編程技巧詮釋

        3.1 多線程編程

        本系統(tǒng)實(shí)現(xiàn)的功能較多,且大多數(shù)功能需同時(shí)執(zhí)行,網(wǎng)絡(luò)狀態(tài)檢查、手機(jī)通信、網(wǎng)絡(luò)通信、文件上傳、數(shù)據(jù)自動(dòng)備份等功能耗時(shí)較多,使用單一的線程無法實(shí)現(xiàn)。因此,本系統(tǒng)采用多線程技術(shù),耗時(shí)較多的功能分別另開線程實(shí)現(xiàn),主程序只需按一定周期獲取運(yùn)行結(jié)果并開啟線程完成相關(guān)任務(wù),不僅系統(tǒng)運(yùn)行的可靠性得到了保證,系統(tǒng)運(yùn)行也會很流暢。

        在線程的使用過程中,需注意以下兩點(diǎn):

        ①當(dāng)一個(gè)線程未結(jié)束時(shí),不能再次開啟該線程,不然會出現(xiàn)同一線程的多個(gè)副本同時(shí)訪問同一數(shù)據(jù)或設(shè)備的情況,導(dǎo)致數(shù)據(jù)訪問或設(shè)備使用沖突的現(xiàn)象。因此,需判斷線程運(yùn)行狀態(tài)再決定下一步執(zhí)行的功能。

        ②退出或重新啟動(dòng)系統(tǒng)時(shí),應(yīng)安全關(guān)閉已開啟的所有線程,以釋放內(nèi)存資源,并可避免同一線程多次啟動(dòng)。

        3.2 SyncLock 語句的使用

        為簡化系統(tǒng)結(jié)構(gòu),本系統(tǒng)所有相關(guān)數(shù)據(jù),如系統(tǒng)參數(shù)、待備份文件信息、報(bào)警信息、報(bào)警日志等,均保存在同一個(gè)Mdb數(shù)據(jù)庫中。程序采用多線程實(shí)現(xiàn)不同的功能,因此可能出現(xiàn)多個(gè)線程同時(shí)訪問數(shù)據(jù)庫同一數(shù)據(jù)表而產(chǎn)生異常。

        使用SyncLock語句可確保多個(gè)線程不在同一時(shí)間執(zhí)行相同的語句塊,避免數(shù)據(jù)庫訪問沖突。下面以訪問Basedata.mdb數(shù)據(jù)庫為例說明其使用方法:

        Imports System.Data.OleDb '引用對象

        Private DataBaseLock As New Object'聲明變量

        Private Sub AddOrSaveRecord(ByVal SqlStr As String)'SqlStr為SQL語句字符串

        SyncLock DataBaseLock

        Try

        Conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "D:Basedata.mdb")

        Conn.Open()

        Dim SqlCmd As OleDbCommand

        SqlCmd = New OleDbCommand(SqlStr, Conn)

        SqlCmd.ExecuteNonQuery()

        Catch ex As Exception

        MsgBox(ex.Message.ToString)

        Finally

        Conn.Close()

        End Try

        End SyncLock

        End Sub

        當(dāng)一個(gè)線程調(diào)用AddOrSaveRecord過程后, SyncLock就會防止其它線程進(jìn)入SyncLock與End SyncLock之間的語句塊,直到當(dāng)前線程執(zhí)行完該語句,其它線程才能使用該語句塊。

        3.3 運(yùn)行異常處理

        該系統(tǒng)程序需24 h不間斷穩(wěn)定運(yùn)行,但任何一個(gè)異常都可能導(dǎo)致程序停止工作。由于系統(tǒng)功能較為復(fù)雜,難免出現(xiàn)異常情況。因此,除了認(rèn)真檢查調(diào)試程序,主動(dòng)消除程序的邏輯錯(cuò)誤外,還必須在程序中進(jìn)行異常處理,捕獲并處理運(yùn)行時(shí)可能產(chǎn)生的各種錯(cuò)誤,保證程序在任何情況下都能正常運(yùn)行。

        3.4 使用短信貓的注意事項(xiàng)

        短信貓工作是否正常,是手機(jī)報(bào)警和遠(yuǎn)程短信獲取監(jiān)控信息成敗的關(guān)鍵。計(jì)算機(jī)通過AT指令控制短信貓收發(fā)短信和撥打電話,但指令使用不當(dāng)、設(shè)備連接異?;蛟O(shè)備使用環(huán)境信號差,常常會導(dǎo)致通信失敗。為保證短信貓的正常工作,需注意以下幾點(diǎn):

        ①部分AT指令的執(zhí)行耗時(shí)較多(如打開設(shè)備、讀取短消息、清除緩沖區(qū)等),如果連續(xù)執(zhí)行多條指令,即使指令正確,也可能會得到錯(cuò)誤的結(jié)果。因此,使用AT指令得不到正確的結(jié)果時(shí),應(yīng)考慮指令執(zhí)行時(shí)間不足的問題,在執(zhí)行一條指令后,進(jìn)行適當(dāng)?shù)难訒r(shí)等待,再執(zhí)行后面的指令。舉例如下:

        SerialPort1.Open()'打開設(shè)備端口

        System.Threading.Thread.Sleep(200)'延時(shí)0.2 s

        SerialPort1.WriteLine("AT+CMGL=ALL" & vbCrLf)'讀取所有短消息

        System.Threading.Thread.Sleep(5000)'延時(shí)5 s

        Dim Txt As String = SerialPort1.ReadExisting.ToString()'得到短消息內(nèi)容

        上述程序在執(zhí)行SerialPort1.Open后,如不延時(shí),則后面的語句均可能無法正常執(zhí)行。在執(zhí)行SerialPort1.WriteLine("AT+CMGL=ALL" & vbCrLf)后,如等待時(shí)間過短,則讀取的短消息內(nèi)容可能不完整。

        ②短信存儲空間管理

        短信貓接收信息的條數(shù)有限,不同生產(chǎn)批次的短信貓信息的存儲位置也不盡相同,通信運(yùn)營商還會不定時(shí)發(fā)送一些短信給短信貓。因此,要保證軟件的通用性并能準(zhǔn)確接收和讀取短信,程序必須對短信的存儲位置進(jìn)行設(shè)置,并定時(shí)刪除已經(jīng)讀取的信息。

        可以用AT+CPMS指令設(shè)置、讀取短信存儲位置。

        可以用AT+CMGD指令刪除短信。該指令可以刪除一條指定的短信,也可以按已讀取、未讀取、全部信息等分類刪除短信。但不是所有短信貓都支持全部刪除方式,應(yīng)針對不同的短信貓分別測試。

        ③短信貓的使用環(huán)境通信信號差或設(shè)備連接不當(dāng),可能導(dǎo)致通信失敗。因此,有必要定時(shí)對設(shè)備連接狀態(tài)、信號強(qiáng)度進(jìn)行檢查,發(fā)現(xiàn)通信設(shè)備故障及時(shí)提醒值班員處理。方法如下:

        發(fā)送任意At指令到短信貓所在端口,如返回值中包含字符“OK”,說明通信設(shè)備連接正常;

        通過"AT+CSQ"指令獲取信號強(qiáng)度,執(zhí)行 SerialPort1.WriteLine("AT+CSQ" & vbCrLf)的返回值“SerialPort1.ReadExisting.ToString()”即包含信號強(qiáng)度信息。

        3.5 自動(dòng)備份自動(dòng)站數(shù)據(jù)

        使用FileSystemWatcher控件對文件進(jìn)行監(jiān)視,可以找到發(fā)生變化(新增文件、大小或修改時(shí)間發(fā)生變化)的文件,實(shí)現(xiàn)有選擇的備份文件,減少數(shù)據(jù)備份所需的時(shí)間。

        在實(shí)際業(yè)務(wù)中,有時(shí)業(yè)務(wù)軟件會幾乎同時(shí)生成或更新多個(gè)文件,個(gè)別文件還比較大(達(dá)數(shù)百兆)的情況,同時(shí)復(fù)制多個(gè)文件將會降低復(fù)制的效率,并可能導(dǎo)致備份失敗。為實(shí)現(xiàn)可靠備份,本系統(tǒng)先將需要備份的文件名登記到數(shù)據(jù)庫表,再由專門的文件復(fù)制線程逐個(gè)備份。

        4 系統(tǒng)使用現(xiàn)狀

        通過近半年的業(yè)務(wù)試運(yùn)行,并對存在的問題進(jìn)行了修正和完善,本系統(tǒng)于2016年6月30日正式投入業(yè)務(wù)運(yùn)行。2016年9月1日截止,貴州省已有42個(gè)氣象臺站安裝使用。據(jù)各臺站使用后反饋的情況分析,系統(tǒng)運(yùn)行穩(wěn)定,各項(xiàng)功能均能正常使用,效果良好,達(dá)到了預(yù)期研究目標(biāo)。

        5 結(jié)束語

        縣級自動(dòng)站監(jiān)控系統(tǒng)的開發(fā)和應(yīng)用,能對影響綜合觀測質(zhì)量的主要因素,如自動(dòng)站計(jì)算機(jī)、自動(dòng)氣象站軟硬件、網(wǎng)絡(luò)、市電等工作情況進(jìn)行較為全面的監(jiān)控。還提供了數(shù)據(jù)自動(dòng)備份、自動(dòng)連接備用網(wǎng)絡(luò)上傳數(shù)據(jù)等功能。有效地減少了業(yè)務(wù)人員工作量,提高了業(yè)務(wù)質(zhì)量。但系統(tǒng)尚有改進(jìn)和優(yōu)化的空間,研發(fā)小組將努力探索,根據(jù)業(yè)務(wù)發(fā)展需要,不斷改進(jìn)和完善。

        [1] 李黃.自動(dòng)氣象站實(shí)用手冊(第1版)[M].北京:氣象出版社,2007.

        [2] Bill Sheldon,Billy Hollis,Rob Windsor,David McCarter等.NET 4.5與Visual Basic 2012 高級編程(第7版)[M].北京:清華大學(xué)出版社,2014.

        [3] 鐘靜,李赟,陳海濤,等.基于SMS技術(shù)的氣象報(bào)文監(jiān)控設(shè)計(jì)與實(shí)現(xiàn)[J].貴州氣象,2011,35(4):42-43.

        [4] 湯寧,方斌,王娟.貴州省氣象局實(shí)時(shí)業(yè)務(wù)管理及監(jiān)控平臺簡介[J].貴州氣象,2012,36(4):42-43.

        [5] Zhang jianlou上傳.TC35 TC35i AT指令手冊. http://wenku.baidu.com/view/22efb7f4f61fb7360b4c652f.html(上傳日期:2011年3月19日)

        Research on monitoring system of automatic station at county level

        PENG Xianfeng1,WANG Qiao1,DU Longcai2

        (1.Xingren Meteorological Bureau of Guizhou Province,Xingren 562300, China;2.Guiyang Meteorological Bureau of Guizhou Province, Guiyang 550001, China)

        With the modernization of meteorological observation, observation apparatus, business software, network fault and power supply system instability have become the major factors affecting the quality of observation. Using the computer to observe the system for automatic monitoring, and timely notice to the staff to deal with abnormity, can effectively improve the service quality and efficiency. This paper introduces the main functions and working principle of the "automatic station monitoring system ", and focus on discussing the key programming techniques multi thread programming, database access, using of GSM/GPRS Modem and file automatic backup in detail.

        automatic station monitoring system; working principle; programming skills

        1003-6598(2017)01-0081-04

        2016-10-26

        彭顯鋒(1975—),男,副高,主要從事綜合氣象業(yè)務(wù)工作,E-mail:780398175@qq.com。

        貴州省氣象局氣象科技開放研究基金項(xiàng)目(黔氣科合KF[2016]04號)。

        TP311.52

        B

        猜你喜歡
        線程備份短信
        “備份”25年:鄧清明圓夢
        道歉短信
        代發(fā)短信
        淺談linux多線程協(xié)作
        淺析數(shù)據(jù)的備份策略
        科技視界(2015年6期)2015-08-15 00:54:11
        出版原圖數(shù)據(jù)庫遷移與備份恢復(fù)
        Linux線程實(shí)現(xiàn)技術(shù)研究
        么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
        “八一”節(jié)日短信之一
        短信檔
        亚洲最大不卡av网站| 中国一级免费毛片| 欧美亚洲尤物久久综合精品| 天堂av国产一区二区熟女人妻| 亚洲中文字幕乱码一二三区| 人妻在线中文字幕视频| 少妇被按摩出高潮了一区二区 | 中文字幕久久熟女蜜桃| 国产精品6| 国产小屁孩cao大人免费视频| 91色婷婷成人精品亚洲| 美腿丝袜在线观看视频| 色视频综合无码一区二区三区| 久久水蜜桃亚洲av无码精品麻豆 | 不卡一卡二卡三乱码免费网站| 亚洲综合色丁香婷婷六月图片| 粉嫩国产白浆在线播放| 国产精品熟女少妇不卡| 欧美精品亚洲精品日韩专区| 中国精品久久精品三级| 蜜桃av夺取一区二区三区| 日本精品少妇一区二区| 亚洲av毛片在线免费观看| 中文字幕丰满乱子无码视频| 亚洲欧美日韩综合在线观看| 国产av天堂亚洲国产av麻豆| 日本本土精品午夜视频| 夜夜躁日日躁狠狠久久av| 性动态图av无码专区| 国产精品主播视频| 大又黄又粗又爽少妇毛片| 久久伊人精品中文字幕有尤物| 人妻体体内射精一区二区| 久久精品这里只有精品| 日韩女优在线一区二区| 色多多性虎精品无码av| 日本少妇人妻xxxxx18| 亚洲av天堂久久精品| 激情五月婷婷一区二区| 欧美日韩中文国产一区发布| 亚洲欧美成人在线免费|