胡子琪,任家琪,李鴻庭,李學(xué)波,賀嘉偉
(寧夏回族自治區(qū)地震局,寧夏 銀川 750001)
截至2020年,寧夏地震局在寧夏境內(nèi)共建設(shè)強(qiáng)震動(dòng)背景場(chǎng)臺(tái)站11個(gè),此背景場(chǎng)臺(tái)站主要分布于寧夏中南部地區(qū),背景場(chǎng)臺(tái)站均使用SLJ-100型力平衡式加速度傳感器、REFTEK130-REN數(shù)據(jù)采集器,通過無線傳輸方式將實(shí)時(shí)數(shù)據(jù)傳輸至寧夏地震臺(tái)網(wǎng)中心背景場(chǎng)JOPENS核心流服務(wù)器,然后再將實(shí)時(shí)波形點(diǎn)對(duì)點(diǎn)傳輸至西北強(qiáng)震動(dòng)臺(tái)網(wǎng)中心(甘肅省地震局)以供使用[1]。為確保背景場(chǎng)各個(gè)臺(tái)站數(shù)據(jù)的正常接入,運(yùn)維人員需要登錄數(shù)據(jù)采集器配置網(wǎng)頁(yè),進(jìn)行IP地址及相關(guān)參數(shù)設(shè)置,從而將背景場(chǎng)數(shù)據(jù)流傳輸指向目標(biāo)服務(wù)器與本地計(jì)算機(jī),即寧夏地震臺(tái)網(wǎng)背景場(chǎng)JOPENS核心服務(wù)器與背景場(chǎng)數(shù)據(jù)接收PC機(jī),然后將實(shí)時(shí)波形存入地震監(jiān)測(cè)中心本地服務(wù)器及本地計(jì)算機(jī)硬盤,通過用戶登錄的方法,就可以將背景場(chǎng)數(shù)據(jù)發(fā)送至需要的機(jī)構(gòu)及個(gè)人。
受到寧夏中南部地區(qū)地理位置的影響,部分背景場(chǎng)臺(tái)站地處偏遠(yuǎn),環(huán)境相對(duì)惡劣,且由于當(dāng)?shù)丨h(huán)境問題,無法接入有線網(wǎng)絡(luò),寧夏局背景場(chǎng)臺(tái)陣所屬的11個(gè)背景場(chǎng)臺(tái)站,均采用無線數(shù)據(jù)傳輸方式,受到運(yùn)營(yíng)商網(wǎng)絡(luò)質(zhì)量的影響,背景場(chǎng)臺(tái)站的無線傳輸網(wǎng)絡(luò)極易產(chǎn)生數(shù)據(jù)傳輸中斷,從而影響整個(gè)背景場(chǎng)臺(tái)陣的有序運(yùn)行及原始波形完整率。就目前條件而言,寧夏局背景場(chǎng)臺(tái)陣整個(gè)數(shù)據(jù)傳輸系統(tǒng)缺乏有效且針對(duì)性強(qiáng)的數(shù)據(jù)傳輸中斷報(bào)警軟件,為此本文特針對(duì)此問題,研發(fā)了基于REFTEK130-REN數(shù)據(jù)采集器的波形數(shù)據(jù)斷記報(bào)警軟件。此斷記報(bào)警軟件的功能為:當(dāng)REFTEK130-REN數(shù)據(jù)采集器不能正常工作或是網(wǎng)絡(luò)通訊中斷造成數(shù)據(jù)傳輸中斷時(shí),該斷記報(bào)警軟件能在很短的時(shí)間內(nèi)產(chǎn)生與故障相對(duì)應(yīng)的詳細(xì)報(bào)警信息,便于維護(hù)人員針對(duì)特殊報(bào)警信息及時(shí)處理相應(yīng)故障,從而減少背景場(chǎng)臺(tái)站數(shù)據(jù)斷記時(shí)間、縮短運(yùn)維人員維護(hù)響應(yīng)時(shí)間,以此來保障寧夏局背景場(chǎng)臺(tái)陣的波形數(shù)據(jù)連續(xù)、可靠。
使用REFTEK130-REN數(shù)據(jù)采集器的實(shí)時(shí)傳輸背景場(chǎng)臺(tái)站斷記報(bào)警軟件是適用于Windows下JAVA的應(yīng)用程序,本軟件采用JAVA與SQL語(yǔ)言編制完成,軟件使用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)全部背景場(chǎng)臺(tái)站相關(guān)臺(tái)站參數(shù)及信息,運(yùn)用此軟件,可有效監(jiān)控背景場(chǎng)臺(tái)站波形數(shù)據(jù)文件的大小情況,并初步判斷數(shù)據(jù)中斷原因,及時(shí)產(chǎn)出斷記信息,提示運(yùn)維人員第一時(shí)間處理,有助于保障波形資料的連續(xù)完整[2]。
本軟件的監(jiān)控對(duì)象為背景場(chǎng)臺(tái)站波形文件,以波形文件大小為具體監(jiān)控對(duì)象,由于波形文件實(shí)時(shí)傳輸及儲(chǔ)存,故存儲(chǔ)目錄中,對(duì)應(yīng)背景場(chǎng)臺(tái)站波形文件的大小與時(shí)間成正比[3],文件增大的時(shí)間單位為秒。我們通過比較兩次較短時(shí)間間隔內(nèi)(預(yù)設(shè)5s)背景場(chǎng)臺(tái)站波形文件的大小,如果第二次得到的波形文件大小和第一次波形文件大小相同,則判斷波形傳輸中斷[4],本軟件通過相關(guān)臺(tái)站參數(shù)和信息,編譯和產(chǎn)生對(duì)應(yīng)臺(tái)站的斷記報(bào)警信息。隨后調(diào)用Ping命令,通過Ping對(duì)應(yīng)臺(tái)站的IP地址獲取返回信息,當(dāng)網(wǎng)絡(luò)暢通時(shí),會(huì)返回網(wǎng)絡(luò)延時(shí)信息,如果返回信息中沒有延時(shí)信息,則判斷網(wǎng)絡(luò)中斷,隨后針對(duì)不同情況分別產(chǎn)生對(duì)應(yīng)的提示信息。軟件實(shí)現(xiàn)的最終目標(biāo)是當(dāng)背景場(chǎng)臺(tái)站發(fā)生故障導(dǎo)致臺(tái)站數(shù)據(jù)傳輸中斷時(shí),此軟件會(huì)第一時(shí)間對(duì)應(yīng)相應(yīng)背景場(chǎng)臺(tái)站進(jìn)行斷記報(bào)警,且對(duì)故障原因進(jìn)行全自動(dòng)預(yù)判,并自動(dòng)產(chǎn)出故障原因預(yù)判結(jié)果,提供給運(yùn)維人員,以便運(yùn)維人員進(jìn)行快速有效的故障處理,保障背景場(chǎng)臺(tái)站的高效運(yùn)行。
首先,本軟件指定特定的文件夾路徑,然
后定義一個(gè)空的total容器(long類型)用來記錄波形文件夾的大小。使用file.length()方法返回每一個(gè)波形子文件的具體大小,返回值為long類型,建立一個(gè)動(dòng)態(tài)數(shù)組ArrayList(),通過遍歷的方式將每個(gè)子文件的長(zhǎng)度值存儲(chǔ)到數(shù)組內(nèi),再數(shù)組中所有數(shù)值相加匯總到total容器內(nèi),輸出total的值即為背景場(chǎng)臺(tái)站波形儲(chǔ)存文件夾的大小,本軟件具體設(shè)計(jì)思路流程如圖1所示。圖2為獲取背景場(chǎng)臺(tái)站波形存儲(chǔ)文件大小的關(guān)鍵代碼。
圖1 軟件流程圖Fig.1 Specific design process of software
圖2 獲取背景場(chǎng)臺(tái)站波形存儲(chǔ)文件大小的具體程序算法Fig.2 Specific program algorithm for obtaining the size of waveform storage file of background station
本軟件通過調(diào)用之前的FileSize方法,分別獲取指定目錄下背景場(chǎng)臺(tái)站波形文件當(dāng)前時(shí)間的長(zhǎng)度t1(long類型)和經(jīng)過5s后同樣目錄下波形文件的長(zhǎng)度t2,在While循環(huán)體內(nèi)不斷循環(huán)比較返回值t1與t2的大小,當(dāng)t1 圖3 背景場(chǎng)臺(tái)站波形文件相差5s時(shí)間長(zhǎng)度的文件大小對(duì)比Fig.3 Program algorithm of file size comparison of waveform file of background station in 5s 通常情況下,使用REFTEK130-REN數(shù)據(jù)采集器的臺(tái)站斷記有以下幾方面原因:①由于運(yùn)營(yíng)商網(wǎng)絡(luò)質(zhì)量問題導(dǎo)致的網(wǎng)絡(luò)中斷,寧夏局背景場(chǎng)臺(tái)陣部分臺(tái)站采用無線網(wǎng)絡(luò)傳輸數(shù)據(jù),網(wǎng)絡(luò)波動(dòng)較大;②數(shù)據(jù)采集器死機(jī),由于數(shù)據(jù)采集器內(nèi)存較?。?M),在數(shù)據(jù)采集器運(yùn)行過程中,有時(shí)候會(huì)因?yàn)閮?nèi)存占滿而導(dǎo)致數(shù)據(jù)采集器無法正常工作,此時(shí)使用遠(yuǎn)程電源控制軟件重啟數(shù)據(jù)采集器并在網(wǎng)頁(yè)上清理數(shù)采RAM內(nèi)存儲(chǔ)的內(nèi)容即可恢復(fù)工作。 針對(duì)上述問題,本軟件設(shè)置網(wǎng)絡(luò)判斷功能,通過調(diào)用Ping命令將返回值記錄到StringBuffer中,判斷StringBuffer字符串中是否包含“TTL”,如果包含表示相應(yīng)的網(wǎng)絡(luò)地址可以Ping通,提示可以遠(yuǎn)程處理,否則提示不通需要現(xiàn)場(chǎng)處理。圖4為針對(duì)背景場(chǎng)臺(tái)站網(wǎng)絡(luò)狀況判斷的具體語(yǔ)法實(shí)現(xiàn)。 圖4 背景場(chǎng)臺(tái)站網(wǎng)絡(luò)狀況判別語(yǔ)句Fig.4 Network condition discrimination statement of background station 信息提示界面可將發(fā)生波形斷記時(shí)獲取到的波形文件大小,斷記臺(tái)站信息,時(shí)間,網(wǎng)絡(luò)狀態(tài)等信息顯示到文本域中,并提供臺(tái)站名,波形文件的路徑,網(wǎng)絡(luò)地址的修改途徑。當(dāng)臺(tái)站名,網(wǎng)絡(luò)地址,存儲(chǔ)波形文件路徑發(fā)生改變后,可直接在對(duì)應(yīng)窗口修改。點(diǎn)擊界面下方開始統(tǒng)計(jì)按鈕,軟件開始每5秒鐘對(duì)波形文件大小進(jìn)行一次讀取,當(dāng)波形文件大小在5S間隔內(nèi)沒有變化時(shí),顯示對(duì)應(yīng)臺(tái)站斷記,程序開始判斷網(wǎng)絡(luò)狀態(tài),斷記信息窗口顯示對(duì)應(yīng)的斷記信息。圖5為此軟件所設(shè)計(jì)的初始界面,其中有臺(tái)站相關(guān)信息顯示,如圖6所示,一旦出現(xiàn)背景場(chǎng)臺(tái)站斷記,此界面就會(huì)顯示相應(yīng)的斷記信息。 圖5 軟件初始界面Fig.5 Initial software interface 圖6 斷記信息顯示界面Fig.6 Display interface of fault recording information 針對(duì)本軟件現(xiàn)狀及功能需求,做出以下兩方面的功能拓展。 建立臺(tái)站名,IP地址,存儲(chǔ)路徑一一對(duì)應(yīng)的數(shù)據(jù)表[6]。通過訪問數(shù)據(jù)庫(kù)的URL獲取數(shù)據(jù)庫(kù)連接對(duì)象[7]。 圖7 臺(tái)站數(shù)據(jù)表Fig.7 The database of station 圖8 連接數(shù)據(jù)庫(kù)Fig.8 Connect the database 本地與服務(wù)器端實(shí)現(xiàn)數(shù)據(jù)通信是通過Socket類實(shí)現(xiàn)本地計(jì)算機(jī)與服務(wù)器的遠(yuǎn)程通信。 ①在服務(wù)器端通過程序創(chuàng)建一個(gè)Server-Socket,調(diào)用accept方法等待客戶機(jī)連接。服務(wù)器端一直運(yùn)行程序隨時(shí)等候連接。 ②在客戶端創(chuàng)建一個(gè)Socket,請(qǐng)求與服務(wù)器建立連接。 ③服務(wù)器接收客戶機(jī)的連接請(qǐng)求,同時(shí)創(chuàng)建一個(gè)新的Socket與客戶建立連接(套接完成)。 這兩項(xiàng)功能分別實(shí)現(xiàn)了循環(huán)監(jiān)測(cè)11個(gè)臺(tái)站的波形和監(jiān)測(cè)服務(wù)器端存儲(chǔ)的波形文件。 為確保軟件的兼容性和后期可使用性,本軟件在Windows和Linux系統(tǒng)中均進(jìn)行了軟件的穩(wěn)定性和可用性測(cè)試,測(cè)試結(jié)果表明,此軟件的兼容性良好,可以適用于常用的操作系統(tǒng)中。在安裝使用此軟件之前,操作系統(tǒng)必須安裝相應(yīng)的JAVA運(yùn)行環(huán)境,且在后期使用中,可以在本地Mysql數(shù)據(jù)庫(kù)中查看各背景場(chǎng)臺(tái)站波形數(shù)據(jù)文件的大小。本軟件的開發(fā)及測(cè)試大致分為三個(gè)階段,第一階段:面對(duì)工作中出現(xiàn)的具體問題提出解決思路,依靠計(jì)算機(jī)手段初步設(shè)計(jì)軟件,設(shè)計(jì)相應(yīng)的計(jì)算機(jī)語(yǔ)句以實(shí)現(xiàn)相應(yīng)的目標(biāo)功能。第二階段:將各個(gè)分部功能語(yǔ)句進(jìn)行封裝,進(jìn)行整體的軟件容錯(cuò)測(cè)試,從而測(cè)試軟件的兼容性和功能合理性。第三階段:在軟件編制過程中,不斷對(duì)程序進(jìn)行優(yōu)化,在日常測(cè)試中對(duì)1.0版本提出改進(jìn)思路,從而在第二個(gè)軟件版本中改進(jìn)新增了可以控制開始監(jiān)測(cè)的按鈕及退出按鈕,對(duì)程序的可控性更好,也使得程序更加穩(wěn)定。 本軟件經(jīng)過前期的編譯、封裝、測(cè)試和改進(jìn)流程之后,經(jīng)過專家評(píng)估,已經(jīng)可以進(jìn)入實(shí)用階段,本軟件于2019年后半年成功部署到寧夏測(cè)震臺(tái)網(wǎng)部,進(jìn)行日常監(jiān)測(cè)工作,經(jīng)過為期半年的測(cè)試和試運(yùn)行,本軟件運(yùn)行情況良好并且成功監(jiān)測(cè)到12月18日寧夏隆德臺(tái)數(shù)據(jù)采集器死機(jī)故障,9月17日寧夏固原海子峽臺(tái)網(wǎng)絡(luò)通訊故障等,第一時(shí)間產(chǎn)出斷記信息,及時(shí)有效的斷記報(bào)警和斷記原因的預(yù)判,輔助寧夏局地震監(jiān)測(cè)中心運(yùn)維人員及時(shí)遠(yuǎn)程處理,相較于之前的運(yùn)維工作,現(xiàn)今的運(yùn)維時(shí)間大幅縮短,運(yùn)維精準(zhǔn)度大幅增加,輔助保障了波形的順利傳輸。 使用REFTEK數(shù)采的實(shí)時(shí)傳輸加速度臺(tái)站斷記報(bào)警軟件能夠?qū)B續(xù)記錄的數(shù)據(jù)波形進(jìn)行監(jiān)控和斷記自動(dòng)報(bào)警,提高臺(tái)站運(yùn)行率,減少觀測(cè)數(shù)據(jù)斷記。軟件界面簡(jiǎn)潔,操作方便,安裝簡(jiǎn)單,配置要求低,人機(jī)交互性好,可以直接通過軟件界面增加要監(jiān)測(cè)的臺(tái)站信息,只需點(diǎn)擊開始統(tǒng)計(jì)按鈕即可監(jiān)測(cè)波形文件,在計(jì)算機(jī)上安裝JRE運(yùn)行環(huán)境即可運(yùn)行。并且由于軟件監(jiān)測(cè)對(duì)象是文件的長(zhǎng)度,不依賴于文件格式,泛用性較高。針對(duì)能獲取波形數(shù)據(jù)而無法監(jiān)控到數(shù)據(jù)流的環(huán)境,可以有效輔助監(jiān)測(cè)人員第一時(shí)間掌握數(shù)據(jù)傳輸是否中斷,以便及時(shí)處理,保障波形數(shù)據(jù)的連續(xù)完整。2.3 網(wǎng)絡(luò)判斷模塊(NetState)
2.4 信息提示界面(Window)
3 功能拓展
4 軟件測(cè)試及應(yīng)用
4.1 軟件的測(cè)試
4.2 軟件的應(yīng)用
5 結(jié)論和展望