劉 軍,蘇柱金
(廣東省地震局,廣東 廣州 510070)
地震速報(bào)是監(jiān)測(cè)臺(tái)網(wǎng)中心最重要的工作之一,它要求快速,準(zhǔn)確上報(bào)結(jié)果[1]。一個(gè)地震發(fā)生后,值班人員主要的任務(wù)有:分析地震得出結(jié)果,發(fā)送信息到EQIM服務(wù)器,發(fā)送地震短信信息,發(fā)送傳真到政府部門等。發(fā)送信息的前兩項(xiàng)任務(wù)都已經(jīng)實(shí)現(xiàn)了程序集成,一鍵完成,但是發(fā)送傳真卻還以人工操作為主。圖1為人工發(fā)送傳真流程圖。具體步驟是:①人工填寫符合格式的傳真信息,檢查確保信息的準(zhǔn)確性;②打印出要傳真的文檔;③將打印出的紙質(zhì)文檔用傳真機(jī)發(fā)送出去。當(dāng)要發(fā)送的部門不多時(shí),其工作量和工作所需時(shí)間還是可以接受的。但實(shí)際的工作情況是:要發(fā)三四份傳真,每個(gè)傳真的格式不同,發(fā)送的部門不同。每次都要重復(fù)上述的三個(gè)步驟。在時(shí)間緊迫的情況下,這就很容易出現(xiàn)問題。首先人工填寫容易出錯(cuò),其次每發(fā)一個(gè)傳真都要先撥通號(hào)碼,聽到提示音后才能發(fā)送,這很花費(fèi)時(shí)間。發(fā)送成功后還要打電話到相應(yīng)部門確認(rèn)。根據(jù)以往的經(jīng)歷,每次速報(bào)地震時(shí),在發(fā)送傳真環(huán)節(jié)都會(huì)出現(xiàn)這樣,那樣的問題,不僅耗時(shí)多,而且效率低。由此我們想到能否利用計(jì)算機(jī)技術(shù)將這一繁瑣的過程簡(jiǎn)化,讓計(jì)算機(jī)完成盡可能多的事情,人盡可能少的參與。
圖1 人工發(fā)送傳真流程Fig 1 Manual fax transmission process
為了實(shí)現(xiàn)地震速報(bào)自動(dòng)傳真技術(shù),我們需要轉(zhuǎn)變一種思路:①將人工填寫地震三要素信息到傳真文檔,改為從數(shù)據(jù)庫(kù)讀取地震三要素信息;②將打印出傳真文檔改為用程序生成傳真文檔的電子版;③將手工發(fā)送傳真改為用傳真服務(wù)器發(fā)送傳真。完成這些任務(wù)需要軟硬件的配合。其中第①、②步驟可以通過軟件編寫實(shí)現(xiàn);第③步驟需要購(gòu)置傳真卡搭建傳真服務(wù)器能才實(shí)現(xiàn)自動(dòng)傳真功能。整個(gè)系統(tǒng)的建立集成了以下一些功能:
(1)讀取JOPENS數(shù)據(jù)庫(kù)信息。
(2)讀取EQIM數(shù)據(jù)庫(kù)信息。
(3)程序生成電子版的PDF格式傳真文檔。
(4)上傳傳真文檔到ftp服務(wù)器。
(5)傳真服務(wù)器動(dòng)態(tài)掃描ftp服務(wù)器。
(6)自動(dòng)發(fā)送傳真。
圖2為系統(tǒng)軟件框架圖。下面我們會(huì)分別詳細(xì)介紹各個(gè)模塊的技術(shù)要點(diǎn)。
圖2 地震速報(bào)自動(dòng)傳真技術(shù)系統(tǒng)軟件工作架構(gòu)圖Fig.2 The architecture diagram of automatic fax technology system software for earthquake quick report
我們?nèi)粘9ぷ髦杏袃蓚€(gè)數(shù)據(jù)源,一是JOPENS數(shù)據(jù)庫(kù)[2],另一個(gè)是EQIM數(shù)據(jù)庫(kù)。這兩個(gè)數(shù)據(jù)庫(kù)都是使用mysql建立的。JOPENS數(shù)據(jù)庫(kù)是一個(gè)龐大,且信息完備的數(shù)據(jù)庫(kù),它存儲(chǔ)著臺(tái)網(wǎng)信息,臺(tái)站信息,地震目錄,震相信息,地震波形等,這里我們只需關(guān)注Catalog表即可,如表1所示。EQIM數(shù)據(jù)庫(kù)的庫(kù)名為gshare(也有好幾張表),我們只要關(guān)注Catalog表即可,如表2所示。注意這兩個(gè)數(shù)據(jù)庫(kù)中Catalog表相對(duì)應(yīng)的變量名和數(shù)據(jù)類型不盡相同,所以在編寫軟件時(shí)需要定義一個(gè)統(tǒng)一的對(duì)象,并將變量名和數(shù)據(jù)類型統(tǒng)一,以便調(diào)用時(shí)接口一致,定義的統(tǒng)一的數(shù)據(jù)對(duì)象最好將數(shù)據(jù)源標(biāo)示出來,以示區(qū)別,如從EQIM讀取的目錄標(biāo)記為eqim,從JOPENS數(shù)據(jù)讀取的目錄標(biāo)記為jopens。另外對(duì)于從JOPENS獲取的目錄信息,我們需要對(duì)地名重新檢測(cè),生成符合EQIM速報(bào)要求的三級(jí)地名格式,以確保符合標(biāo)準(zhǔn)。對(duì)于來自EQIM的信息,我們則可以放心使用。JOPENS數(shù)據(jù)庫(kù)的讀取可直接使用JOPENS系統(tǒng)基于J2EE[1]的接口。EQIM數(shù)據(jù)庫(kù)讀取則需要單獨(dú)寫代碼讀取。
表1 JOPENS數(shù)據(jù)庫(kù)中Catalog表Table 1 Catalog in JOPENS database
表2 EQIM數(shù)據(jù)庫(kù)中Catalog表Table 2 Catalog in EQIM database
由于系統(tǒng)采用JAVA語言開發(fā),所以有很多生成PDF的第三方組件,我們選擇iText來完成這個(gè)任務(wù)。iText是著名的開放源碼的站點(diǎn)sourceforge一個(gè)項(xiàng)目,是用于生成PDF文檔的一個(gè)java類庫(kù)。通過iText不僅可以生成PDF或rtf的文檔,而且可以將XML、Html文件轉(zhuǎn)化為PDF文件。iText的安裝非常方便,下載iText.jar文件后,只需要在系統(tǒng)的CLASSPATH中加入iText.jar的路徑,在程序中就可以使用iText類庫(kù)了。 其中要注意的有兩點(diǎn):①要嚴(yán)格按照傳真模板的格式,注意配置字體和大??;②由于地名的可伸縮性,即由于EQIM速報(bào)的特殊要求,包含本省及周邊的省市縣三級(jí)地名,會(huì)使有些地名長(zhǎng),有些地名短。而iText生成PDF與坐標(biāo)畫圖的機(jī)制相似,所以要注意布局,否則內(nèi)容過多時(shí),字的上一行和下一行有時(shí)會(huì)重疊。圖3顯示了用iText生成PDF文檔出現(xiàn)行間距正常與重疊的情況,在自動(dòng)生成過程中我們要避免圖3b情況的產(chǎn)生。每一段文字之間要留有足夠的空間。
當(dāng)生成電子版的傳真文檔后,就可以自動(dòng)發(fā)送傳真了,這里涉及到兩個(gè)服務(wù)器,ftp服務(wù)器,傳真服務(wù)器。如圖2所示,用ftp客戶端或者程序?qū)⑽臋n上傳到ftp服務(wù)器的根目錄下,文檔名必須按一定的格式命名,否則傳真服務(wù)器無法使用,具體的命名規(guī)則參考傳真服務(wù)器的要求。而傳真服務(wù)器會(huì)動(dòng)態(tài)掃描ftp服務(wù)器的根目錄,發(fā)現(xiàn)了符合命名規(guī)則和格式的文檔就從文檔名中提取傳真號(hào),發(fā)送出去。發(fā)送出去后傳真服務(wù)器會(huì)將發(fā)送狀態(tài)存入數(shù)據(jù)庫(kù),由此可以知道發(fā)送狀態(tài)。我們選用的是上海復(fù)園電子科技有限公司的EastFax智能傳真服務(wù)器。他提供了方便的二次開發(fā)接口,可與企業(yè)的其他業(yè)務(wù)系統(tǒng)無縫集成,實(shí)現(xiàn)協(xié)同辦公,從而提高工作效率。EastFax二次開發(fā)接口分為兩大類,分別是發(fā)送接口和接收接口,在地震速報(bào)自動(dòng)傳真系統(tǒng)中我們主要是使用發(fā)送接口。EastFax發(fā)送接口又分為服務(wù)端發(fā)送接口和客戶端發(fā)送接口,兩種發(fā)送接口的實(shí)現(xiàn)原理各不相同,用戶需求也不相同。不論哪種發(fā)送接口方式,在傳真發(fā)送完畢后,EastFax都可將與傳真發(fā)送結(jié)果相關(guān)的所有信息反饋到用戶的數(shù)據(jù)庫(kù)中,方便用戶自行查詢傳真的發(fā)送結(jié)果[3]。
圖3 PDF的行間距正常Fig 3 The normal PDF row distance
圖4 EastFax傳真服務(wù)器工作流程Fig 4 Working process of EastFax server
系統(tǒng)的界面采用web的方式,這樣的部署,使用起來比客戶端軟件方便,對(duì)客戶端的機(jī)器沒有額外的要求。本系統(tǒng)的主要功能是在后臺(tái)實(shí)現(xiàn)的,界面設(shè)計(jì)簡(jiǎn)單明了。
圖5所示為地震速報(bào)自動(dòng)傳真目錄頁面,上部為除地震要素信息外的其他信息,包括日期,值班人員姓名,簽發(fā)人,簽發(fā)期數(shù),傳真號(hào)碼,這些都是提前填寫好的,系統(tǒng)會(huì)自動(dòng)調(diào)用,嵌入到傳真文檔中。
發(fā)送傳真時(shí),在網(wǎng)頁顯示中有一列為“數(shù)據(jù)源”(如圖5所示),有jopens和eqim兩種類型。標(biāo)記為jopens表示從JOPENS數(shù)據(jù)庫(kù)提取三要素信息,標(biāo)記eqim表示從EQIM數(shù)據(jù)庫(kù)中提信息。這兩者差別在于發(fā)震地點(diǎn),從JOPENS數(shù)據(jù)庫(kù)提取的發(fā)震地點(diǎn)是根據(jù)經(jīng)緯度重新搜索的,而從EQIM數(shù)據(jù)庫(kù)提取的發(fā)震地點(diǎn)是沒有改動(dòng)的。
圖5 地震速報(bào)自動(dòng)傳真目錄頁面Fig 5 Auto fax catalog for earthquake quick report
圖6所示為地震速報(bào)自動(dòng)傳真發(fā)送頁面,點(diǎn)擊藍(lán)色的發(fā)送連接,就會(huì)執(zhí)行發(fā)送任務(wù),頁面下面為各種版本傳真的快照,使速報(bào)人員有一個(gè)直觀的映像,并且方便最后確認(rèn)。
圖6 地震速報(bào)自動(dòng)傳真發(fā)送頁面Fig 6 Auto fax sending page for earthquake quick report
圖7 自動(dòng)傳真發(fā)送流程Fig.7 Transmission process of auto fax
圖7為地震速報(bào)自動(dòng)傳真發(fā)送流程圖,通過對(duì)比圖7和圖1,我們很容易看出,手工發(fā)送方式步驟多,涉及到要操作的的硬件設(shè)備有電腦,打印機(jī),傳真機(jī),而且還要有兩次人工判斷,發(fā)傳真時(shí)還要等待提示音。自動(dòng)傳真的發(fā)送操作步驟少,不用人參與判斷,不用填寫信息,只需要在一臺(tái)計(jì)算機(jī)上操作即可,所有的操作只是點(diǎn)擊鼠標(biāo),由此可以大大降低出錯(cuò)的幾率。
表3 發(fā)送時(shí)間對(duì)比Table 3 Comparison of sending Time
以廣東省臺(tái)網(wǎng)速報(bào)地震為例,總共要發(fā)送4份傳真到不同的部門,而且每份傳真的格式都不相同,除了三要素信息,還要填寫傳真期數(shù),值班人員姓名,而且填完后經(jīng)常要調(diào)整格式,每份傳真填完這些信息加上檢查大致要花3 min時(shí)間,然后是打印傳真要花30 s左右的時(shí)間,接下來是撥傳真號(hào),等待反饋聲音,然后發(fā)送,又是30秒左右的時(shí)間過去了,也就是說,每份傳真至少要消耗4 min的時(shí)間,4分傳真就是16 min。對(duì)于地震速報(bào)這樣緊迫的任務(wù),早一秒鐘通知給上級(jí)決策部門,就多一份拯救生命的希望,就有可能減小次生災(zāi)害帶來的危險(xiǎn),更何況是16 min這么長(zhǎng)的時(shí)間。而使用自動(dòng)傳真技術(shù),平均15秒就能發(fā)送出一份傳真,發(fā)送4份傳真也不過是1 min,比人工發(fā)送少用了15 min。這種時(shí)間上的優(yōu)勢(shì)是不言而喻的。
從2013年1月至2013年10月,廣東省地震臺(tái)網(wǎng)中心已在20次地震速報(bào)中使用自動(dòng)傳真系統(tǒng),累計(jì)向省委,省政府,中國(guó)地震局發(fā)送傳真共計(jì)56次??傆?jì)用時(shí)不超過10分鐘,而原來一次地震僅發(fā)送傳真就耗時(shí)10多分鐘。尤其在2013年9月17日17時(shí)22分廣東河源2.8級(jí)地震和2013年9月18日17時(shí)26分廣東陽江2.8級(jí)地震連續(xù)兩天地震速報(bào)中發(fā)揮了很大的作用,17日記錄到160余次地震,緊接著18日又記錄到80余次地震。速報(bào)人員通過自動(dòng)傳真系統(tǒng)快速完成速報(bào)任務(wù),進(jìn)入到地震序列分析工作中。
在地震速報(bào)中使用自動(dòng)傳真技術(shù),可以提高信息上報(bào)的準(zhǔn)確性和速度,并且操作極為簡(jiǎn)單,減少了地震速報(bào)人員的工作量,保證了在短時(shí)間內(nèi)完成大量的速報(bào)工作。能夠?yàn)楹罄m(xù)地震序列分析,市民咨詢等工作節(jié)省出不少時(shí)間。也為地震速報(bào)自動(dòng)化辦公填補(bǔ)了一塊空白。在時(shí)間緊,任務(wù)重的情況下,我們應(yīng)當(dāng)盡可能將更多的環(huán)節(jié)實(shí)現(xiàn)自動(dòng)化,能自動(dòng)完成的最好不要有人工參與,這樣才能提高工作效率,事半功倍。
[1]陳貴美,康 英,楊 選.廣東 “十五”數(shù)字測(cè)震臺(tái)網(wǎng)地震監(jiān)測(cè)能力分析[J].華南地震,2011,31(3):70-77.
[2]劉 軍,陳貴美.Google地圖應(yīng)用之廣東省地區(qū)JOPENS地震速報(bào)系統(tǒng)[J].華南地震,2011,31(3):41-49.
[3]王延偉.基于J2EE的通用地震信息系統(tǒng)[D].哈爾濱:中國(guó)地震局工程力學(xué)研究所.2006