孔令愛,胡子超,王銀龍
(山東省地震局臨沂市地震監(jiān)測中心站,山東 臨沂 276000)
地震臺站是獲取地震數(shù)據(jù)資料的首要平臺,是監(jiān)聽地震的重要陣地,在地震監(jiān)測預(yù)報中起著重要作用。全國地震臺站經(jīng)過“十五”“十一五”“十二五”和“十三五”等重大項目的規(guī)劃建設(shè),數(shù)量逐年增多,從最初的模擬時代進入了現(xiàn)在的數(shù)字化時代,從單一的測震功能變?yōu)楝F(xiàn)在綜合性的監(jiān)測預(yù)測功能。因此,臺站管理模式也隨之發(fā)生了改變,逐漸由有人值守模式向無人值守模式發(fā)展,隨著無人值守臺站數(shù)量的逐年遞增,臺站運維工作難度進一步加大。為了解決目前臺站運維及地震系統(tǒng)中存在的類似問題,國家出臺了關(guān)于信息化建設(shè)的相關(guān)文件,鼓勵各地區(qū)積極探索新的工作方式,解決地震系統(tǒng)中存在的信息化理念滯后、數(shù)據(jù)資源共享不足、信息服務(wù)不成體系等突出問題,積極推進地震系統(tǒng)向信息化、數(shù)字化方向發(fā)展。各地區(qū)也積極做出響應(yīng),根據(jù)各自需求研發(fā)出多種類型的地震數(shù)據(jù)信息化管理系統(tǒng)。例如,許賀等(2020)、孫路強等(2013)、倪泰山等(2009)、學(xué)峰等(2020)開發(fā)了綜合管理系統(tǒng),王建國等(2009)、劉鵬飛等(2020)開發(fā)了網(wǎng)絡(luò)管理軟件。這些系統(tǒng)大多是針對臺站和網(wǎng)絡(luò)綜合管理而開發(fā)的,其特點是綜合性強、適用面廣,但是對于日常地震臺站運維中的具體工作缺乏輔助性和針對性的幫助,不能滿足目前技術(shù)保障部門工作人員的工作需求。
針對山東省臨沂市地震臺站的實際需要,以及地震臺站運維工作中存在的問題,并結(jié)合多年的工作經(jīng)驗,地震臺站運維急需一套有效的、便捷的電子化網(wǎng)絡(luò)集中管理系統(tǒng)。因此本文設(shè)計并實現(xiàn)一套集臺站信息、儀器設(shè)備信息、臺站巡檢、臺站運維、運維人員等主要內(nèi)容的信息化管理系統(tǒng),便于對地震臺站運維的信息化管理,提高臺站技術(shù)保障部門的工作效率。
隨著臨沂市境內(nèi)地震臺站及無人值守臺站數(shù)量的遞增,臺站運維工作的難度進一步加大,在臺站運維的多年工作中,發(fā)現(xiàn)了地震臺站運維中存在著一些問題。如地震臺站運維信息管理效率低下,地震臺站運維缺乏共享性,地震臺站的儀器設(shè)備維修、更換等程序復(fù)雜。如何對臺站運維進行有效地、統(tǒng)一的信息化管理,是值得研究和思考的一項工作。
臺站運維工作是臺站的一項重要內(nèi)容,做好臺站運維工作是臺站正常運行的重要保障。因此,針對以上問題,開發(fā)一套有效、便捷的臺站運維信息化管理系統(tǒng)非常有必要。地震臺站運維信息化管理系統(tǒng)能夠進行信息數(shù)據(jù)的收集、保存、共享和維護,具有簡單易用、性價比高、擴展性好的特點,能夠減少臺站技術(shù)保障部門工作人員的工作量,實現(xiàn)了傳統(tǒng)地震臺站運維工作的信息化管理,可以應(yīng)用于各地震臺站。
通過對系統(tǒng)的功能需求進行分析,可將地震臺站運維信息化管理系統(tǒng)分為系統(tǒng)管理、臺站管理、儀器管理、臺站運維管理、臺站巡檢管理和運維人員管理等6個功能模塊(如圖1)。
圖1 地震臺站運維信息化系統(tǒng)功能結(jié)構(gòu)圖
(1)系統(tǒng)管理模塊功能需求:根據(jù)地震臺站運維信息化管理系統(tǒng)的特點,系統(tǒng)管理模塊應(yīng)該包括用戶名和密碼的管理、用戶權(quán)限的管理等功能。為了保障系統(tǒng)的保密性,該模塊需要提供登陸驗證機制,為不同的用戶提供不同的使用權(quán)限。因此,該模塊的主要功能需求為:用戶的添加、修改、刪除和查詢;用戶密碼的管理;用戶權(quán)限的管理。
(2)臺站管理模塊功能需求:臺站管理是對臨沂市管轄范圍內(nèi)的所有臺站進行統(tǒng)一管理,收集整理該范圍內(nèi)臺站的基本情況,便于運維人員準(zhǔn)確了解臺站的信息(程樹岐等,2019)。該模塊能夠查看地震臺站的具體位置、監(jiān)測環(huán)境等內(nèi)容。因此,該模塊的主要功能需求為:臺站、臺站監(jiān)測環(huán)境、臺站詳細地址的添加、修改、刪除和查詢;臺站周邊照片的上傳。
(3)儀器管理模塊功能需求:儀器管理是地震臺站運維的基礎(chǔ),收集整理所有地震臺站儀器設(shè)備的基本情況。該模塊可以查看每個地震臺站中的儀器設(shè)備屬性,為運維人員提供可靠有效的信息,為設(shè)備維護、維修提供準(zhǔn)確的數(shù)據(jù)資料。因此,該模塊的主要功能需求為:儀器所屬臺站、儀器名稱、儀器型號、網(wǎng)絡(luò)傳輸情況、儀器運行情況、儀器IP地址的添加、修改、刪除和查詢。
(4)臺站運維管理模塊功能需求:臺站運維是對臺站儀器設(shè)備故障做出及時的響應(yīng),主要收集臺站設(shè)備的故障原因、運維日志、運維人員和運維日期等信息,對歷史運維信息進行電子存儲,方便后期的查閱。因此,該模塊的主要功能需求為:故障原因、運維人員、故障運維日期的添加、修改、刪除、查詢;運維日志的上傳。其中,運維日志是指每次運維的具體事項,運維人員填寫紙質(zhì)版運維日志后,以圖片的形式上傳到系統(tǒng)中。
(5)臺站巡檢管理模塊需求:臺站巡檢是定期對臺站進行巡視檢查,主要收集巡檢照片、巡檢日志、巡檢人員、巡檢日期和問題,對歷史巡檢信息進行電子存檔,為臺站的正常運行提供保障。因此,該模塊的主要功能需求為:巡檢照片的上傳;巡檢日志的上傳;巡檢人員、巡檢日期的添加、修改、刪除、查詢。其中,巡檢照片是指每次巡檢的觀測室內(nèi)照片;巡檢日志是指每次巡檢的具體事項等,巡檢人員完成紙質(zhì)版巡檢日志后,以圖片的形式上傳到系統(tǒng)中。
(6)運維人員管理模塊需求:運維人員管理是對臨沂市管轄范圍內(nèi)所有的臺站運維人員和看護人員進行統(tǒng)一的管理,收集整理該范圍內(nèi)所有的運維人員和看護人員的具體信息,為有效合理地分配人力資源提供幫助。因此,該模塊的主要功能需求為:運維人員具體信息(電話、所在縣區(qū)、負責(zé)臺站等)的添加、修改、刪除和查詢;看護人員具體信息(電話、所在縣區(qū)、負責(zé)臺站等)的添加、修改、刪除和查詢;技術(shù)支持類型的添加。
地震臺站運維信息化管理系統(tǒng)采用基于B/S(Brower/Server)的三層架構(gòu)體系,包括用戶層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層(倪泰山等,2009)。B/S架構(gòu)是在網(wǎng)絡(luò)允許的條件下,用戶只需通過瀏覽器就可以訪問服務(wù)器,客戶端不需要安裝任何的軟件,簡化了客戶端的負載,減輕了系統(tǒng)維護的工作量(孫路強等,2015)。在該系統(tǒng)的三層體系結(jié)構(gòu)中(見圖2),用戶層即用戶登錄界面,業(yè)務(wù)邏輯層包括管理員管理、臺站管理、儀器管理、臺站運維、臺站巡檢和運維人員6大功能模塊,數(shù)據(jù)訪問層包括系統(tǒng)需要的數(shù)據(jù)庫和數(shù)據(jù)表,每個模塊各自實現(xiàn)具體的系統(tǒng)功能。用戶層負責(zé)用戶的交互,并向業(yè)務(wù)邏輯層發(fā)送請求;業(yè)務(wù)邏輯層按照業(yè)務(wù)規(guī)則向數(shù)據(jù)訪問層獲取數(shù)據(jù),對數(shù)據(jù)進行處理,并將處理后的數(shù)據(jù)反饋到用戶層;數(shù)據(jù)訪問層用來存儲數(shù)據(jù),供業(yè)務(wù)邏輯層訪問使用。
圖2 地震臺站運維信息化系統(tǒng)三層體系框架
地震臺站運維信息化管理系統(tǒng)的開發(fā)選擇WampServer集成開發(fā)環(huán)境,該集成環(huán)境將Apache、PHP、MySQL等服務(wù)器軟件和工具組合打包,能快速、高效的解決計算機環(huán)境的安裝配置問題(李正剛等,2019)。開發(fā)者只需要將配置好的套件解壓到本地硬盤中即可使用,無需另行配置。表1是系統(tǒng)開發(fā)所需要的開發(fā)技術(shù)、開發(fā)工具、操作系統(tǒng)、數(shù)據(jù)庫和瀏覽器等信息。
表1 系統(tǒng)開發(fā)環(huán)境
用戶通過用戶名與密碼登錄地震臺站運維信息化管理系統(tǒng),根據(jù)不同的需求訪問和使用該系統(tǒng)不同的模塊。該系統(tǒng)的操作流程如圖3所示,整體實現(xiàn)的算法為:(1)管理員輸入用戶名與密碼,系統(tǒng)對管理員身份進行驗證;(2)系統(tǒng)對輸入的信息進行驗證后,如果通過了驗證,則進入下一步,如果未通過驗證,返回上一步重新驗證;(3)在驗證成功的前提下,點擊不同的模塊名稱,進入相應(yīng)的子模塊;(4)系統(tǒng)對模塊信息進行操作,與數(shù)據(jù)庫MySQL進行數(shù)據(jù)交換,完成各個模塊的功能。
圖3 系統(tǒng)操作流程
在地震臺站運維信息化管理系統(tǒng)三層架構(gòu)的功能實現(xiàn)中,用戶層采用html語言實現(xiàn)頁面布局;業(yè)務(wù)邏輯層采用PHP語言操作MySQL數(shù)據(jù)庫,執(zhí)行SQL語句,實現(xiàn)各個模塊的業(yè)務(wù)功能;數(shù)據(jù)訪問層用來存儲業(yè)務(wù)邏輯層需要的數(shù)據(jù),采用phpMyAdmin圖形化管理工具實現(xiàn)數(shù)據(jù)庫和數(shù)據(jù)表的創(chuàng)建。
(1)用戶層:在開發(fā)系統(tǒng)時,考慮到系統(tǒng)每個模塊在頁面設(shè)計中存在相同的頁面樣式設(shè)計,因此用戶層的設(shè)計采用了模塊化的設(shè)計思想,頁面主要使用DIV+CSS的布局方式,創(chuàng)建頁面公用的外部樣式,在設(shè)計每個模塊時,直接在頁面中導(dǎo)入外部頁面樣式,保持頁面頭部、尾部和左側(cè)菜單的樣式相同,再單獨設(shè)計頁面內(nèi)部樣式,簡化了程序,提高了系統(tǒng)開發(fā)的效率。圖4是系統(tǒng)的用戶交互界面。
圖4 用戶交互界面
(2)業(yè)務(wù)邏輯層:業(yè)務(wù)邏輯層是實現(xiàn)系統(tǒng)功能的主要部分,通過操作數(shù)據(jù)訪問層中的數(shù)據(jù)實現(xiàn)每個模塊的功能(許賀等,2020)。首先使用mysqli_connect()函數(shù)與數(shù)據(jù)訪問層建立連接;然后使用mysqli_select_db()函數(shù)選擇數(shù)據(jù)訪問層中的數(shù)據(jù)庫,與其建立連接;最后使用mysqli_query()函數(shù)執(zhí)行SQL語句,操作數(shù)據(jù)庫中的數(shù)據(jù)。表2是對數(shù)據(jù)的幾種操作方式。
表2 操作數(shù)據(jù)的方式
管理頁面功能的實現(xiàn):首先使用html中的<table>標(biāo)簽布局各模塊的管理頁面,顯示各模塊的字段和底部分頁內(nèi)容,使用<a>標(biāo)簽實現(xiàn)跳轉(zhuǎn)鏈接;然后通過while循環(huán)使用mysqli_fetch_array()函數(shù)獲取數(shù)據(jù)表中的信息;最后根據(jù)id參數(shù)使用select語句以升序的方式將數(shù)據(jù)顯示出來。由于臺站、儀器、運維、巡檢和運維人員的數(shù)量較大,所以各模塊的管理頁面需要分頁顯示。首先設(shè)置每頁顯示的數(shù)據(jù)個數(shù),如臺站管理頁面設(shè)置MYMperpage=3;然后獲取最大頁數(shù)和總記錄數(shù);最后計算每頁從第幾條數(shù)據(jù)開始,獲取當(dāng)前頁,如果當(dāng)前頁為空或者小于第一頁,則顯示第一頁,如果當(dāng)前頁大于總記錄數(shù),則顯示最后一頁(孫路強等,2013)。添加信息功能的實現(xiàn):首先創(chuàng)建form表單;然后,在表單中添加onSubmit單擊事件,通過JavaScript判斷添加的信息是否為空,如果添加的信息符合規(guī)范,則通過POST提交信息成功;最后通過MYM_POST獲取提交的信息,使用insert into語句添加信息到數(shù)據(jù)庫。圖5是臺站運維管理模塊添加信息功能的實現(xiàn)結(jié)果。搜索信息功能的實現(xiàn):首先布局搜索信息頁面;然后使用SQL中的like語句,在Where子句中設(shè)定搜索的指定模式,通過選擇類型,輸入查詢的字段查詢相關(guān)信息;最后把數(shù)據(jù)庫查詢的數(shù)據(jù)通過select語句顯示出來。圖6是臺站管理模塊搜索信息功能的實現(xiàn)結(jié)果。修改信息功能通過MYM_POST獲取提交的信息,使用update語句修改該id對應(yīng)的信息。刪除信息功能通過MYM_GET獲取要刪除信息對應(yīng)的id參數(shù),使用delete語句刪除數(shù)據(jù)庫中該id對應(yīng)的信息。
圖5 添加臺站運維信息頁面
圖6 臺站搜索展示頁面
(3)數(shù)據(jù)訪問層:在業(yè)務(wù)邏輯層實現(xiàn)信息的動態(tài)添加、查詢、修改、刪除前,首先需要在數(shù)據(jù)訪問層創(chuàng)建數(shù)據(jù)庫與數(shù)據(jù)表(王建國等,2009)。地震臺站運維信息化管理系統(tǒng)采用MySQL數(shù)據(jù)庫存儲數(shù)據(jù),使用phpMyAdmin對數(shù)據(jù)庫進行操作。MySQL數(shù)據(jù)庫是一個開源的、跨平臺的數(shù)據(jù)庫,具有可靠、簡單易用、運行速度快等優(yōu)點,適合Web網(wǎng)站的開發(fā)(學(xué)峰等,2020)。phpMyAdmin是MySQL圖形化管理工具中使用最為廣泛的一種,它以通過Web方式對MySQL數(shù)據(jù)庫進行完全的控制與操作,簡單易用。本系統(tǒng)使用phpMyAdmin創(chuàng)建數(shù)據(jù)庫article,并設(shè)計了管理員、臺站、儀器、臺站運維、臺站巡檢、運維人員等多個數(shù)據(jù)表。每個數(shù)據(jù)表的具體信息如表3。
表3 系統(tǒng)數(shù)據(jù)表
地震臺站運維信息化管理系統(tǒng)經(jīng)過多次修改后,測試成功,基本滿足臺站技術(shù)保障部門工作人員的需求。該系統(tǒng)能夠收集、保存臨沂市地震監(jiān)測中心管轄范圍內(nèi)的臺站、儀器、臺站運維、臺站巡檢和運維人員等信息。工作人員可通過該系統(tǒng)搜索臺站、儀器、運維、巡檢等信息,并填報巡檢、運維產(chǎn)生的工作日志,及時更新儀器設(shè)備的最新工作狀態(tài)。地震監(jiān)測中心的工作人員能夠通過該系統(tǒng)及時掌握地震臺站的最新狀況。
地震臺站運維信息化管理系統(tǒng)從2021年3月1日在臨沂市地震監(jiān)測中心投入試運行,該系統(tǒng)已經(jīng)收錄了臨沂市地震監(jiān)測中心管轄范圍內(nèi)的地震臺站的相關(guān)信息,在使用過程中收到良好的效果,大大提高了技術(shù)人員的工作效率。圖7是地震臺站運維信息化管理系統(tǒng)試運行的圖片。由于各功能模塊實現(xiàn)添加、修改、刪除和搜索的業(yè)務(wù)邏輯基本相同,各個模塊的添加信息頁面、修改信息頁面、刪除信息頁面、搜索展示頁面的布局基本相同,這里不再對每個模塊的上述信息一一列舉,也不重復(fù)展示。
圖7 地震臺站運維信息化管理系統(tǒng)-儀器管理頁面
地震臺站運維是地震監(jiān)測工作中的重要任務(wù),隨著科學(xué)技術(shù)的發(fā)展,地震臺站運維工作提出了更高的要求,在繼承傳統(tǒng)的地震臺站運維工作方式的同時,也需要不斷創(chuàng)新工作方法,積極引入高科技,使其不斷向信息化方向發(fā)展。本文設(shè)計實現(xiàn)的地震臺站運維信息化管理系統(tǒng)目前正在試運行階段,會根據(jù)未來工作的需求,不斷完善系統(tǒng)的功能,推進地震臺站運維工作的信息化建設(shè)。