專利名稱:基于自定義規(guī)則的臺風(fēng)實時采集方法
技術(shù)領(lǐng)域:
本發(fā)明涉及臺風(fēng)信息專業(yè)采集應(yīng)用領(lǐng)域,特別是一種基于自定義規(guī)則的臺風(fēng)實時采集方法。
背景技術(shù):
我國是世界上遭受臺風(fēng)影響最嚴(yán)重的國家之一,近幾年臺風(fēng)活動頻繁,2005年 “龍王”、“海棠”、“泰利”、“麥莎”、2006年“桑美”、2009年“莫拉克”等臺風(fēng)相繼都對福建、廣東、浙江等省造成了重大影響。在災(zāi)害性天氣期間,臺風(fēng)分析應(yīng)用系統(tǒng)的運行需要數(shù)據(jù)的實時、穩(wěn)定。當(dāng)前該類數(shù)據(jù)只有各大氣象信息網(wǎng)才進(jìn)行發(fā)布,災(zāi)害期間網(wǎng)絡(luò)的不穩(wěn)定、數(shù)據(jù)的跳變等問題大大影響其數(shù)據(jù)采集的穩(wěn)定性。為此,申請人通過深入研究設(shè)計出一套自定義規(guī)則多特征的臺風(fēng)實時采集機(jī)制,從技術(shù)上對臺風(fēng)氣象數(shù)據(jù)的采集方式進(jìn)行突破,解決了各大氣象網(wǎng)站中臺風(fēng)路徑及預(yù)報信息內(nèi)容復(fù)雜,數(shù)據(jù)源格式不一、發(fā)布數(shù)據(jù)不一等問題,通過自定義規(guī)則的方法,實時采集所需要的臺風(fēng)路徑數(shù)據(jù),從而保障了災(zāi)害性天氣期間信息源的穩(wěn)定問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于自定義規(guī)則的臺風(fēng)實時采集方法,該方法有利于在災(zāi)害期間保障臺風(fēng)路徑數(shù)據(jù)的穩(wěn)定性,提供穩(wěn)定的信息源保障方案。為實現(xiàn)上述之目的,本發(fā)明采用的技術(shù)方案是這種自定義規(guī)則的臺風(fēng)實時采集方法,其特征在于包括以下步驟
(1)實現(xiàn)不同氣象網(wǎng)站自定義的規(guī)則配置;
(2)對網(wǎng)站內(nèi)容實現(xiàn)多線程的采集控制處理;
(3)針對數(shù)據(jù)格式規(guī)則對臺風(fēng)路徑數(shù)據(jù)及預(yù)報數(shù)據(jù)進(jìn)行規(guī)則識別;
(4)對所需臺風(fēng)數(shù)據(jù)的準(zhǔn)確性及完整性進(jìn)行判定;
(5)根據(jù)規(guī)則內(nèi)容實現(xiàn)數(shù)據(jù)緩存、存儲入庫操作。本發(fā)明的有益效果是通過對臺風(fēng)關(guān)注信息內(nèi)容的總結(jié),沉淀出的特征屬性進(jìn)行配置,如臺風(fēng)的特征信息有臺風(fēng)編號、臺風(fēng)名稱、臺風(fēng)位置、臺風(fēng)強度、臺風(fēng)速度、影響范圍以及未來趨勢信息;每個特征都具有一定的取值范圍。系統(tǒng)中通過對不同氣象網(wǎng)發(fā)布的臺風(fēng)數(shù)據(jù)進(jìn)行特征提取,再經(jīng)過特征模式匹配,并根據(jù)特征的范圍對匹配出來的數(shù)據(jù)進(jìn)行校驗, 最終解析出真實的臺風(fēng)數(shù)據(jù),為應(yīng)用系統(tǒng)所使用。下面結(jié)合附圖及具體實施例對本發(fā)明作進(jìn)一步的詳細(xì)說明。
圖1是本發(fā)明方法流程圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下將通過具體實施例和相關(guān)附圖,對本發(fā)明作進(jìn)一步詳細(xì)說明。請參考圖1,為本發(fā)明方法流程圖。本發(fā)明的基于自定義規(guī)則的臺風(fēng)實時采集方法,包括以下步驟
(1)實現(xiàn)不同氣象網(wǎng)站自定義的規(guī)則配置;
(2)對網(wǎng)站內(nèi)容實現(xiàn)多線程的采集控制處理;
(3)針對數(shù)據(jù)格式規(guī)則對臺風(fēng)路徑數(shù)據(jù)及預(yù)報數(shù)據(jù)進(jìn)行規(guī)則識別;
(4)對所需臺風(fēng)數(shù)據(jù)的準(zhǔn)確性及完整性進(jìn)行判定;
(5)根據(jù)規(guī)則內(nèi)容實現(xiàn)數(shù)據(jù)緩存、存儲入庫操作。步驟(1)的實現(xiàn)方法是對不同氣象網(wǎng)站的數(shù)據(jù)格式規(guī)則配置是對臺風(fēng)路徑數(shù)據(jù)及預(yù)報數(shù)據(jù)進(jìn)行數(shù)據(jù)的格式化操作,利用INI存儲方式對所需要的操作進(jìn)行參數(shù)預(yù)配置, 并就所需要采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)格式定義,形式數(shù)據(jù)格式文件。每次采集時都需要對格式配置文件進(jìn)行預(yù)加載,從而根據(jù)采集的頁面內(nèi)容進(jìn)行逐一格式匹配,最終獲取到需要的文字和圖片的結(jié)果信息。如臺風(fēng)數(shù)據(jù)格式串文件配置如下2011$*$ $1 8璐號$*$($1 皿$) $匪$月$DD$日$HH$時(北京時間)中心位置在北緯$WD$度,東經(jīng)$JD$度,中心氣壓 $ZXQY$百帕,近中心最大風(fēng)速$ZXFS$米/秒,移向$YDFX$,移速$YDSD$公里/小時, 七級大風(fēng)圈半徑$RADIUS7$公里。格式符采用“$”進(jìn)行標(biāo)識,各格式符可以方便的進(jìn)行填加及調(diào)整。步驟(2)的實現(xiàn)方法是多線程的采集控制在于將不同氣象網(wǎng)站的內(nèi)容采集工作都啟用新線程的方式進(jìn)行處理。在采集服務(wù)運行中,通過判斷線程的狀態(tài)是否正常運行, 來進(jìn)行線程的控制操作。如當(dāng)前采集的線程不存在,則通過線程的ThreacKtart操作啟動新的線程,進(jìn)行網(wǎng)站內(nèi)容的采集識別;如當(dāng)前采集線程已運行且無反應(yīng)時,進(jìn)行狀態(tài)嘗試標(biāo)識,當(dāng)嘗試三次未能正確返回正常狀態(tài)時,服務(wù)則通過線程的Abort操作進(jìn)行中斷,并重新啟用新線程進(jìn)行操作。整個過程中,采集服務(wù)起到了控制中心的作用,協(xié)調(diào)調(diào)度好各采集線程的工作,確保采集的持續(xù)、穩(wěn)定。步驟(3)的實現(xiàn)方法是數(shù)據(jù)的規(guī)則識別是通過格式配置文件獲取到當(dāng)前需要內(nèi)容的遠(yuǎn)程地址,并通過地址獲取到所需要區(qū)域的臺風(fēng)頁面內(nèi)容。由于頁面的內(nèi)容的字符格式不一致,有繁體、英文、中文等字符碼,因此要進(jìn)行統(tǒng)一的編碼處理。同時在數(shù)據(jù)解析時, 需要考慮從頁面頂端或從頁面底部來進(jìn)行獲取所需要的信息,減少數(shù)據(jù)遍歷時間。在臺風(fēng)路徑數(shù)據(jù)及預(yù)報數(shù)據(jù)格式規(guī)則識別時,通過“$$”符號遍歷識別,獲取各個關(guān)鍵字段,并對關(guān)鍵字段所對應(yīng)的網(wǎng)頁具體內(nèi)容進(jìn)行匹配,將匹配內(nèi)容存儲于結(jié)構(gòu)體中。步驟(4)的實現(xiàn)方法是臺風(fēng)數(shù)據(jù)的準(zhǔn)確性及完整性判定是將匹配完數(shù)據(jù)格式串后,需要對結(jié)構(gòu)體的數(shù)據(jù)進(jìn)行有效的校驗,確保數(shù)據(jù)是準(zhǔn)確、完整、有效的。重點是對數(shù)據(jù)時間、數(shù)據(jù)內(nèi)容、邊界判斷等驗證。在數(shù)據(jù)時間上,確保最新的數(shù)據(jù)時間跟數(shù)據(jù)庫存儲的數(shù)據(jù)時間差別不大,避免出現(xiàn)大范圍的時間跨度;在數(shù)據(jù)內(nèi)容上,需要針對文字型數(shù)據(jù)、數(shù)字型數(shù)據(jù)、時間型數(shù)據(jù)、布爾型數(shù)據(jù)及圖片型數(shù)據(jù)進(jìn)行類型上的判斷,確保入庫數(shù)據(jù)是合法的; 在邊界判斷上,針對每個數(shù)據(jù)的有效范圍進(jìn)行判別,如同一臺風(fēng)路徑時間上下相差不能超過12小時,經(jīng)緯度數(shù)據(jù)跨度不能超過5度,中心氣壓跨度必須是正值,速度數(shù)值必須是正值等判定,確保入庫數(shù)據(jù)不存在大的歧義。步驟(5)的實現(xiàn)方法是針對臺風(fēng)路徑及預(yù)報數(shù)據(jù)存在著不同的存儲表結(jié)構(gòu)及入庫方式,首先,需要根據(jù)數(shù)據(jù)類型(包括實時數(shù)據(jù)、歷史數(shù)據(jù)及預(yù)報數(shù)據(jù)等)進(jìn)行數(shù)據(jù)入庫。 其次,在數(shù)據(jù)入庫上,服務(wù)需要考慮當(dāng)前入庫操作是新數(shù)據(jù)的新增方式還是舊數(shù)據(jù)的處理方式,因為舊數(shù)據(jù)的存在是否是覆蓋入庫還是進(jìn)行數(shù)據(jù)的丟棄操作,決定了服務(wù)運行的操作步驟。所以,這就需要事先判別數(shù)據(jù)庫已存在的存儲數(shù)據(jù)是否各字段都完整,如果進(jìn)行更新覆蓋操作,就需要剔除空數(shù)據(jù)的字段,盡量確保數(shù)據(jù)庫存儲的數(shù)據(jù)內(nèi)容最全,每個遠(yuǎn)程數(shù)據(jù)來源都有自己的入庫權(quán)限級別,從而保障數(shù)據(jù)的權(quán)威性。上列較佳實施例,對本發(fā)明的目的、技術(shù)方案和優(yōu)點進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于自定義規(guī)則的臺風(fēng)實時采集方法,其特征在于,包括以下步驟(1)實現(xiàn)不同氣象網(wǎng)站自定義的規(guī)則配置;(2)對網(wǎng)站內(nèi)容實現(xiàn)多線程的采集控制處理;(3)針對數(shù)據(jù)格式規(guī)則對臺風(fēng)路徑數(shù)據(jù)及預(yù)報數(shù)據(jù)進(jìn)行規(guī)則識別;(4)對所需臺風(fēng)數(shù)據(jù)的準(zhǔn)確性及完整性進(jìn)行判定;(5)根據(jù)規(guī)則內(nèi)容實現(xiàn)數(shù)據(jù)緩存、存儲入庫操作。
2.根據(jù)權(quán)利要求1所述的基于自定義規(guī)則的臺風(fēng)實時采集方法,其特征在于步驟(1) 的實現(xiàn)方法是建立不同氣象網(wǎng)站的規(guī)則配置項,將所需要訪問的網(wǎng)站地址、關(guān)鍵字、數(shù)據(jù)格式、解析方式、字符編碼、過期時間、數(shù)據(jù)入庫方式等內(nèi)容進(jìn)行配置,支持不同的網(wǎng)站內(nèi)容采用多種地址、多種格式的進(jìn)行訪問識別。
3.根據(jù)權(quán)利要求1所述的基于自定義規(guī)則的臺風(fēng)實時采集方法,其特征在于步驟(2) 的實現(xiàn)方法是不同的網(wǎng)站在采集處理時采用不同的進(jìn)程進(jìn)行控制,主線程實現(xiàn)各線程的調(diào)度作用,當(dāng)采集線程出現(xiàn)無響應(yīng)情況,主線程對其進(jìn)行線程消除,并重新啟用新線程進(jìn)行操作;當(dāng)主線程無響應(yīng)時,則重新啟動采集服務(wù),確保臺風(fēng)采集操作的穩(wěn)定性。
4.根據(jù)權(quán)利要求1所述的基于自定義規(guī)則的臺風(fēng)實時采集方法,其特征在于步驟(3) 中,首先,加載氣象網(wǎng)站對應(yīng)的格式配置項,將不同格式內(nèi)容進(jìn)行統(tǒng)一解析;其次,將下載的網(wǎng)頁內(nèi)容進(jìn)行逐一分解、識別;最后,將識別到的臺風(fēng)路徑數(shù)據(jù)及預(yù)報數(shù)據(jù)統(tǒng)一存儲于臺風(fēng)結(jié)構(gòu)體中,用于數(shù)據(jù)完整性判定需要及存儲入庫的基礎(chǔ)。
5.根據(jù)權(quán)利要求1所述的基于自定義規(guī)則的臺風(fēng)實時采集方法,其特征在于步驟(4) 中,對存儲于結(jié)構(gòu)體中的臺風(fēng)路徑數(shù)據(jù)及預(yù)報數(shù)據(jù)進(jìn)行數(shù)據(jù)時間及數(shù)據(jù)范圍的判定,確保數(shù)據(jù)的準(zhǔn)確性,以及針對每個數(shù)據(jù)進(jìn)行完整性分析,確保數(shù)據(jù)入庫的格式、長度等都符合要求。
6.根據(jù)權(quán)利要求1所述的基于自定義規(guī)則的臺風(fēng)實時采集方法,其特征在于步驟(5) 中,首先判定數(shù)據(jù)庫的連接狀態(tài),對新的臺風(fēng)路徑數(shù)據(jù)及預(yù)報數(shù)據(jù)進(jìn)行增加入庫的操作方式,當(dāng)數(shù)據(jù)庫中已經(jīng)存在數(shù)據(jù),采集服務(wù)根據(jù)數(shù)據(jù)的字段內(nèi)容需要進(jìn)行更新操作。
全文摘要
本發(fā)明公開一種基于自定義規(guī)則的臺風(fēng)實時采集方法,包括以下步驟(1)實現(xiàn)不同氣象網(wǎng)站自定義的規(guī)則配置;(2)對網(wǎng)站內(nèi)容實現(xiàn)多線程的采集控制處理;(3)針對數(shù)據(jù)格式規(guī)則對臺風(fēng)路徑數(shù)據(jù)及預(yù)報數(shù)據(jù)進(jìn)行規(guī)則識別;(4)對所需臺風(fēng)數(shù)據(jù)的準(zhǔn)確性及完整性進(jìn)行判定;(5)根據(jù)規(guī)則內(nèi)容實現(xiàn)數(shù)據(jù)緩存、存儲入庫操作。本發(fā)明從技術(shù)上對臺風(fēng)氣象數(shù)據(jù)的采集方式進(jìn)行突破,解決了各大氣象網(wǎng)站中臺風(fēng)路徑及預(yù)報信息內(nèi)容復(fù)雜,數(shù)據(jù)源格式不一、發(fā)布數(shù)據(jù)不一等問題,通過自定義規(guī)則的方法,實時采集所需要的臺風(fēng)路徑數(shù)據(jù),從而保障了災(zāi)害性天氣期間信息源的穩(wěn)定問題。
文檔編號G01W1/00GK102354003SQ201110253560
公開日2012年2月15日 申請日期2011年8月31日 優(yōu)先權(quán)日2011年8月31日
發(fā)明者湯成鋒 申請人:福建四創(chuàng)軟件有限公司