馬寶君 梁阿全 梁 躍 高雙玲 李太巖
(中國(guó)黑龍江157009牡丹江地震臺(tái))
牡丹江地震臺(tái)數(shù)據(jù)流實(shí)時(shí)監(jiān)視軟件研制
馬寶君 梁阿全 梁 躍 高雙玲 李太巖
(中國(guó)黑龍江157009牡丹江地震臺(tái))
牡丹江地震臺(tái)國(guó)產(chǎn)數(shù)字地震儀數(shù)據(jù)流因儀器或軟件故障,出現(xiàn)斷記現(xiàn)象,影響數(shù)據(jù)使用。利用Visual Basic 6.0,開(kāi)發(fā)數(shù)據(jù)流實(shí)時(shí)監(jiān)視軟件,解決數(shù)據(jù)流中斷問(wèn)題。該軟件安裝以來(lái),效果較好,值得推廣使用。
斷記;連續(xù);數(shù)據(jù)流;報(bào)警
2012年初牡丹江地震臺(tái)(以下簡(jiǎn)稱牡丹江臺(tái))新增CTS-1EF國(guó)產(chǎn)數(shù)字地震儀和SYSCOM加速度計(jì),由JOPENS-SeismicMix2.0軟件進(jìn)行數(shù)據(jù)存儲(chǔ)及地震分析。該系統(tǒng)自安裝2年多來(lái),出現(xiàn)幾次因數(shù)據(jù)流服務(wù)中止造成的數(shù)據(jù)斷記現(xiàn)象,主要由機(jī)器硬件(如主板、顯卡、網(wǎng)絡(luò)設(shè)備)和軟件(流服務(wù)進(jìn)程自行關(guān)閉、系統(tǒng)重啟)故障原因造成。數(shù)據(jù)流斷記嚴(yán)重影響地震臺(tái)站數(shù)據(jù)的連續(xù)性,影響地震速報(bào)工作;且連續(xù)波形數(shù)據(jù)是一種不可再生資源,一旦斷記,不僅影響地震數(shù)據(jù)評(píng)比,也影響研究數(shù)據(jù)的使用。針對(duì)上述問(wèn)題,利用Windows局域網(wǎng)互聯(lián)技術(shù),對(duì)牡丹江臺(tái)現(xiàn)有工作系統(tǒng)進(jìn)行改進(jìn),利用Visual Basic 6.0開(kāi)發(fā)數(shù)據(jù)流實(shí)時(shí)監(jiān)視軟件,解決數(shù)據(jù)流斷記問(wèn)題。
1.1 國(guó)產(chǎn)數(shù)字儀工作流程
數(shù)字地震臺(tái)站單臺(tái)數(shù)據(jù)處理系統(tǒng)是JOPENS系統(tǒng)的一個(gè)分支,稱為JOPENS SeismicMix(以下簡(jiǎn)稱“SeismicMix系統(tǒng)”),是用于數(shù)字地震臺(tái)站的一套綜合處理系統(tǒng),接收臺(tái)站數(shù)采產(chǎn)出數(shù)據(jù),進(jìn)行實(shí)時(shí)地震檢測(cè)報(bào)警、實(shí)時(shí)波形顯示、波形數(shù)據(jù)入庫(kù)存儲(chǔ)、地震分析、地震定位、地震波形數(shù)據(jù)產(chǎn)出、臺(tái)站觀測(cè)報(bào)告產(chǎn)出一系列工作,實(shí)現(xiàn)從數(shù)采數(shù)據(jù)輸入到地震波形數(shù)據(jù)文件、觀測(cè)報(bào)告產(chǎn)出整個(gè)過(guò)程的計(jì)算機(jī)數(shù)字化處理,詳細(xì)工作流程見(jiàn)圖1。因此,數(shù)據(jù)處理系統(tǒng)能否24小時(shí)不間斷工作顯得尤為重要,從使用情況看,當(dāng)前臺(tái)機(jī)的主板、顯卡過(guò)熱、網(wǎng)絡(luò)脫落或發(fā)生軟件故障(如病毒發(fā)作)時(shí),均會(huì)造成前臺(tái)機(jī)死機(jī)或系統(tǒng)工作不正常。
1.2 斷記統(tǒng)計(jì)
牡丹江臺(tái)2012年地震數(shù)據(jù)斷記統(tǒng)計(jì)見(jiàn)表1。由表1可以看出,由于數(shù)據(jù)流故障造成斷記時(shí)間較長(zhǎng),2012年斷記累計(jì)達(dá)7.02小時(shí),數(shù)據(jù)流故障時(shí)地震報(bào)警和連續(xù)波形存儲(chǔ)功能也不能正常工作,即使值班人員每天巡視多次,也難以保證數(shù)據(jù)連續(xù)率。
圖1 牡丹江臺(tái)數(shù)字儀日常工作流程Fig.1 Daily work process of digital seismometer of Mudanjiang Seismic Station
表1 牡丹江臺(tái)2012年數(shù)據(jù)流斷記統(tǒng)計(jì)Table 1 Record interruption statistics of data stream of Mudanjiang Seismic Station in the year 2012
2.1 網(wǎng)絡(luò)結(jié)構(gòu)
由圖1可知,檢測(cè)SeismicMix系統(tǒng)是否正常工作的核心是,數(shù)據(jù)流服務(wù)能否不間斷地把數(shù)據(jù)傳輸?shù)絁opens數(shù)據(jù)庫(kù)。牡丹江臺(tái)采用以下解決辦法:建立兩臺(tái)機(jī)器組成的以太網(wǎng)絡(luò)(圖2),MDJ1為前臺(tái)機(jī)安裝SeismicMix系統(tǒng),用于接收連續(xù)波形數(shù)據(jù)并安裝機(jī)器狀態(tài)監(jiān)視軟件,機(jī)器MDJ2安裝數(shù)據(jù)流監(jiān)視軟件,兩臺(tái)機(jī)器互相定時(shí)監(jiān)視,若發(fā)現(xiàn)對(duì)方死機(jī),則立即報(bào)警,既可避免連續(xù)波形數(shù)據(jù)斷記,也可防止監(jiān)視軟件失靈(MDJ1與MDJ2可以互換)。
2.2 數(shù)據(jù)流監(jiān)視軟件
利用VB6.0提供的網(wǎng)絡(luò)編程技術(shù)(崔彥鋒等,2002)、多媒體編程(林永,2002)和VB的錯(cuò)誤處理技術(shù)(編程高手工作室,2001)編制數(shù)據(jù)流監(jiān)視軟件。軟件界面見(jiàn)圖3,軟件流程見(jiàn)圖4。
圖2 網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 The network structure
圖3 軟件主界面Fig.3 Software main interface
2.2.1 工作原理。SeismicMix系統(tǒng)程序?qū)崟r(shí)將DP數(shù)據(jù)寫(xiě)入連續(xù)波形文件C:mysql datafilesibdata1,正常情況下,連續(xù)波形文件長(zhǎng)度應(yīng)該隨著時(shí)間而不斷增大,假如把當(dāng)前時(shí)刻連續(xù)波形文件存入一個(gè)變量,1 min后檢查此文件長(zhǎng)度,與前1 min相比,如果文件字節(jié)數(shù)有所增加,說(shuō)明系統(tǒng)工作正常;如二者相同,說(shuō)明在此1 min時(shí)間未流入新的數(shù)據(jù),說(shuō)明系統(tǒng)沒(méi)有正常工作,啟動(dòng)報(bào)警;如不能正常讀取連續(xù)波形文件,說(shuō)明計(jì)算機(jī)網(wǎng)絡(luò)出現(xiàn)問(wèn)題,立即報(bào)警。報(bào)警音樂(lè)設(shè)計(jì)播放時(shí)間為58 s,播放完成后,再次檢查文件長(zhǎng)度,如未處理,則重新報(bào)警,直到工作正常為止。
由于SeismicMix系統(tǒng)數(shù)據(jù)庫(kù)文件采用循環(huán)記錄器方式,存儲(chǔ)數(shù)據(jù)達(dá)到規(guī)定時(shí)間(如3個(gè)月或更長(zhǎng)),文件的字節(jié)數(shù)不再增加?;诖耍O(jiān)視軟件同時(shí)增加寫(xiě)操作監(jiān)視,即每隔一段時(shí)間檢測(cè)數(shù)據(jù)庫(kù)文件大小及寫(xiě)操作最后時(shí)間,如果修改時(shí)間無(wú)變化,說(shuō)明數(shù)據(jù)庫(kù)未更新,則起動(dòng)報(bào)警模塊??紤]到兩臺(tái)計(jì)算機(jī)互相監(jiān)視的需要,本程序設(shè)置標(biāo)志文件,即每隔1 min互相訪問(wèn)標(biāo)志文件,讀取數(shù)據(jù),如不能正常讀取則說(shuō)明對(duì)方計(jì)算機(jī)已死機(jī)或網(wǎng)絡(luò)出現(xiàn)故障,立即報(bào)警,從而實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)互相監(jiān)視。
報(bào)警模塊采用多媒體編程技術(shù),除提供VB可直接播放的.avi格式和CD文件外,本軟件嵌入Windows操作系統(tǒng)的Windows Media Player(mplayer.exe文件)程序,拓寬軟件選擇聲音文件的范圍,通常選用比較刺耳的音樂(lè),以便引起值班人員注意。
2.2.2 軟件功能。選擇數(shù)據(jù)庫(kù)文件或標(biāo)志文件,SeismicMix系統(tǒng)數(shù)據(jù)庫(kù)文件是ibdata1,可通過(guò)軟件瀏覽功能查找,通常存在X:mysql datafilesibdata1 (X指盤符,如C、D等,安裝SeismicMix系統(tǒng)時(shí)由安裝者指定),標(biāo)志文件也可以選擇任意文本文件,程序運(yùn)行時(shí)定時(shí)讀操作,如不能正常讀,說(shuō)明計(jì)算機(jī)故障,立即報(bào)警。
(1)選擇報(bào)警音樂(lè)。軟件提供默認(rèn)報(bào)警音樂(lè)的音頻文件,如選用其他音樂(lè)文件,只需指定聲音文件路徑,支持mp3、VCD、avi形式的聲音文件。
(2)定時(shí)監(jiān)視。軟件運(yùn)行后將對(duì)數(shù)據(jù)庫(kù)文件或標(biāo)志文件進(jìn)行定時(shí)監(jiān)視,如發(fā)現(xiàn)不能正常讀取標(biāo)志文件則立即報(bào)警(圖4)。
圖4 軟件流程Fig.4 Flow char of the Software
3.1 建立網(wǎng)絡(luò)
數(shù)據(jù)流監(jiān)視軟件硬件配制要求為:兩臺(tái)計(jì)算機(jī)配有聲卡、音箱、網(wǎng)卡,前臺(tái)機(jī)可采用工作站或商務(wù)機(jī),4 G內(nèi)存,數(shù)據(jù)盤采用40 G以上硬盤。
計(jì)算機(jī)安裝Windows XP或Windos7/8操作系統(tǒng),然后進(jìn)入控制面版,進(jìn)入網(wǎng)絡(luò)設(shè)置程序,設(shè)置工作組、計(jì)算機(jī)名,共享及用戶指定的IP地址,以牡丹江臺(tái)為例:在標(biāo)識(shí)對(duì)話框中填寫(xiě)計(jì)算機(jī)名:MDJ1;工作組:mdj工作室;計(jì)算機(jī)說(shuō)明:MDJ1,將MDJ1和MDJ2的IP地址設(shè)成同一段內(nèi)。具體安裝方法見(jiàn)馬寶君等(2006)發(fā)表的文獻(xiàn),重新啟動(dòng)計(jì)算機(jī),網(wǎng)絡(luò)工作正常后,安裝停機(jī)報(bào)警軟件,軟件運(yùn)行界面見(jiàn)圖3。
3.2 數(shù)據(jù)流監(jiān)測(cè)軟件嵌入Windows操作系統(tǒng)
以Windows XP為例,在Windows控制面版中添加任務(wù)計(jì)劃,啟動(dòng)調(diào)整應(yīng)用程序,選擇任務(wù)對(duì)話框,運(yùn)行時(shí)選擇數(shù)據(jù)流監(jiān)視主程序位置。選擇計(jì)劃對(duì)話框,將計(jì)劃設(shè)置為每天8:00執(zhí)行,每1 min重復(fù)一次,持續(xù)時(shí)間24小時(shí),其中開(kāi)始時(shí)間可任意設(shè)定,具體設(shè)定辦法見(jiàn)馬寶君等(2006)發(fā)表的文獻(xiàn)。選擇此類安裝方法的原因是:軟件每分鐘定時(shí)啟動(dòng),檢測(cè)后立即結(jié)束,不占用系統(tǒng)資源;系統(tǒng)重新啟動(dòng)時(shí)無(wú)需再次運(yùn)行,可謂一勞永逸(馬寶君等,2010)。
2014年5月牡丹江臺(tái)安裝數(shù)據(jù)流實(shí)時(shí)監(jiān)視軟件,值班人員應(yīng)用軟件對(duì)測(cè)震服務(wù)器及計(jì)算機(jī)運(yùn)行情況進(jìn)行監(jiān)控,省去巡視環(huán)節(jié),提高工作效率。當(dāng)數(shù)據(jù)流發(fā)生斷記時(shí),軟件自動(dòng)發(fā)出警報(bào),工作人員發(fā)現(xiàn)并及時(shí)處理故障,缺記時(shí)間大幅減少,為儀器正常運(yùn)行和數(shù)據(jù)完整提供有力保障(表2)。
表2 牡丹江臺(tái)數(shù)據(jù)流斷記統(tǒng)計(jì)Table 2 Record interruption statistics of data stream of Mudanjiang Seismic Station
針對(duì)CTS-1EF國(guó)產(chǎn)數(shù)字地震儀和SYSCOM加速度計(jì)地震數(shù)據(jù)斷記現(xiàn)象,牡丹江臺(tái)研制數(shù)據(jù)流實(shí)時(shí)監(jiān)視軟件,有效解決了地震數(shù)據(jù)斷記問(wèn)題,為地震分析、地震速報(bào)提供了有力保障,減小工作量,提高了工作效率。該軟件系統(tǒng)簡(jiǎn)單易行,便于向其他地震臺(tái)推廣使用。
編程高手工作室.Visual Basic 編程高手[M]. 北京:希望電子出版社,2001.
崔彥鋒,等.VB網(wǎng)絡(luò)與過(guò)程控制編程實(shí)例教程[M]. 北京:希望電子出版社,2002.
林永. Visual Basic 程序員 Windows API 編程手冊(cè)[M]. 北京:人民郵電出版社,2002.
馬寶君,等.NCDSN臺(tái)站地震監(jiān)測(cè)系統(tǒng)實(shí)時(shí)監(jiān)視軟件[J].地震地磁觀測(cè)與研究,2006,27(2):80-85.
馬寶君,等.牡丹江臺(tái)實(shí)時(shí)監(jiān)測(cè)設(shè)備全程監(jiān)控系統(tǒng)的設(shè)計(jì)[J].地震地磁觀測(cè)與研究,2010,31(1):89-93.
The data stream monitoring system of domestic seismometer of Mudanjiang Seismic Station
Ma Baojun,Liang Aquan,Liang Yue,Gao Shuangling and Li Taiyan
(Mudanjiang Seismic station,Heilongjing Province 157009,China)
Due to the instrument or software failure,Mudanjiang seismic domestic digital seismograph data fow often interrupts.It affects the use of the datum.Using Visual Basic 6.0,the data fow real-time monitoring software is developed to solve the problem of data fow interruption.A good effect of data transformation has been obtained since the software being installed.The software is worthy to promoting.
record interruption,consecutive,data fow,alarm
10.3969/j.issn.1003-3246.2015.05.019
馬寶君(1972—),男,高級(jí)工程師,畢業(yè)于防災(zāi)科技學(xué)院,從事地震觀測(cè)與軟件開(kāi)發(fā)工作。E-mail:mabaojun885@sina.com
黑龍江省地震局科研基金項(xiàng)目(201403)
本文收到日期:2015-03-20