新四季網

一種全球預報系統數據下載方法與流程

2023-05-11 02:05:56 2


本發明屬於氣象數據下載技術領域,具體來說是一種從全球預報系統(GFS,Global Forecasting System)下載預報場的方法。該方法能夠在網絡狀況不佳的情況下穩定、高效的下載GFS數據。



背景技術:

準確的降水預報是水電調度、防洪減災等水利業務的重要前提。隨著氣象學與計算機技術的快速發展,數值天氣預報逐漸成為主流的降水預報方法,為各項水利業務提供了重要的情報信息。初始與邊界數據的下載,是數值天氣預報工作的一項重要任務。目前,中國、美國、日本、歐洲、加拿大等國家每天會定時發布全球的初始與邊界數據,其中美國全球預報系統發布的GFS數據是使用最為廣泛的。用於GFS數據下載的方法較多,大多採用成熟的工具進行下載,由於每天的數據量較大(約20G),而且對時效性的要求較高,因此對下載效率和穩定性要求較為苛刻。多數應用單位採用專用網絡來保障數據的下載效率與穩定性,甚至要派專人從事該項工作,這樣大大增加了成本開銷,限制了數值天氣預報技術的應用。Axel是linux環境下多線程下載工具的代表,在GFS數據下載中使用十分廣泛。通過打開多個HTTP/FTP連接來將一個文件進行分段下載,每一個片段使用一個線程,下載完成後將各個片段組裝成完整文件。Axel支持斷點續傳,每一個正在下載的文件包含狀態文件(.st文件),若下載過程中斷,Axel通過讀取狀態文件信息實現斷點續傳功能。但與其他多線程下載工具類似,在網絡狀況不佳的環境中,Axel批量下載GFS數據文件時會出現部分GFS數據文件下載中斷,此時Axel無法對部分中斷文件進行斷點續傳,導致下載到的GFS數據文件不完整,即出現多個.st文件;另外,由於Axel自身鎖機制的原因,下載過程會出現部分文件在下載一段時間後再無進度的現象。目前,針對這種問題,多是通過提高網絡質量,採用專用獨佔網絡的方式解決的,或者通過採用人工的方式進行實現數據下載。



技術實現要素:

本發明的目的是針對Axel等多線程下載工具在網絡環境不佳的情況下,出現下載卡死或殘留狀態文件的情況。提出一種全球預報系統數據下載方法,有效地解決了下載卡死和下載有遺留.st文件的問題,使下載進程不受網絡環境幹擾。達到了不間斷、穩定下載全球氣象預報數據的效果。

本發明提出的一種全球預報系統數據下載方法,其特徵在於,該方法包含數據下載腳本,數據維護腳本和數據停止腳本;數據下載腳本用於調用Axel進程下載GFS數據;數據維護腳本用於監控和調整數據下載進程;GFS數據停止腳本用於終止數據下載進程的程序。

該方法括以下步驟:

1)在數據維護腳本中,配置需要用到的入口參數;

2)啟動數據維護腳本,數據維護腳本實時監控數據下載進程,並使數據下載進程的數量始終保持為1;

3)數據維護腳本根據步驟1)中的入口參數,激活數據下載腳本,數據下載腳本執行調用Axel下載進程對相應時段的GFS數據進行多線程下載;

4)若GFS數據下載完成,則激活數據停止腳本,數據停止腳本執行結束下載進程;否則重複執行步驟2)。

本發明的特點及有益效果:

本發明採用進程控制與定時重啟的方法,解決了下載卡死的問題;同時,採用重啟過程中進行文件掃描與清理的方式,藉助工具自身的斷點續傳功能,解決了狀態文件殘留的問題。從操作層面上來說,本發明方法基於現有的下載工具(以Axel下載工具為例,但不局限於Axel下載工具),編寫catchGFS.sh、patronum.sh和stop.sh三個shell腳本對下載進程進行定時重啟與文件掃描,配合斷點續傳機制,使下載進程不受網絡環境幹擾。有效地解決了下載卡死和下載有遺留.st文件的問題。達到了不間斷、穩定下載全球氣象預報數據的效果。

附圖說明

圖1為本發明的GFS數據下載總流程圖;

圖2為本發明的GFS數據維護腳本流程圖;

圖3為本發明的GFS數據下載腳本流程圖;

圖4為本發明的GFS數據停止腳本流程圖。

具體實施方式

本發明以Axel下載工具為例對本發明提出的一種全球預報系統數據下載方法進一步詳細說明,但是本發明並不局限於該下載工具。

本發明中包含3個腳本。分別是數據下載腳本,數據維護腳本和數據停止腳本。數據下載腳本catchGFS.sh,用於調用Axel進程下載GFS數據。數據維護腳本patronum.sh,用於監控和調整數據下載進程(本發明中Axel下載進程與catchGFS腳本進程統稱為數據下載進程)。GFS數據停止腳本stop.sh,用於終止數據下載進程的程序。

本發明提出的一種全球預報系統數據下載方法總體流程如圖1所示,包括以下步驟:

1)在數據維護腳本中,配置需要用到的入口參數;

2)啟動數據維護腳本patronum.sh,數據維護腳本實時監控數據下載進程,並使數據下載進程的數量始終保持為1(若不為1,多餘的數據下載進程會導致數據下載出現異常);

3)數據維護腳本根據步驟1)中的入口參數,激活數據下載腳本catchGFS.sh,數據下載腳本執行調用Axel下載進程對相應時段的GFS數據進行多線程下載(Axel下載工具支持多線程下載,一個Axel下載進程包含多個下載線程);

4)若GFS數據下載完成,則激活數據停止腳本stop.sh,數據停止腳本執行結束下載進程;否則重複執行步驟2)。

上述步驟2)數據維護腳本patronum.sh.具體實現流程如圖2所示,具體包括以下步驟:

21)用戶在數據維護腳本patronum.sh內配置如下入口參數:

GFS數據存儲路徑folder:指定待下載的GFS數據的存儲文件夾路徑。(如:/home/jz/GFS);存儲文件夾路徑/home/jz/GFS;

GFS數據發布時間datetime:指定待下載GFS數據的發布時間(以年月日的形式,如:20161030,即為2016年10月30日發布的數據);

GFS數據發布時次publishTime:GFS數據發布在一天內分為四個時次,分別是00時、06時、12時、18時(如:00);

GFS數據發布起始時段start:用於指定待下載的GFS數據的起始時間(如:0);

GFS數據發布結束時段end:GFS,用於指定待下載的GFS數據的結束時間(如:192。由於GFS發布數據是從當前時間開始至未來192小時,所以結束時間一般設為192);

文件類型gfs:用於指定待下載GFS文件的類型(如:gfs);

GFS數據解析度resolution:用於指定待下載GFS文件的解析度。(如0p50,即解析度為50km的數據);

腳本休眠時間time:用於指定腳本休眠時間(如600,單位秒);

時間間隔dt:GFS文件時間間隔,一般為3(小時);

22)數據維護腳本依據入口參數啟動數據下載進程;

23)獲取當前正在執行的數據下載腳本catchGFS.sh進程數量,設其變量名為Pro1,獲取當前正在執行的Axel下載的進程數量,設其變量名為Pro2;

24)若Pro1與Pro2均小於等於0,則重啟數據下載腳本(說明此時不存在數據下載進程或者原有的下載進程已被強制終止),並休眠time個時間單位(即為入口參數中的time,初始設定為600秒,在此期間數據維護進程將被掛起而停止工作,數據下載腳本進程正常工作),轉步驟25);若Pro1與Pro2均大於0(說明當前已有數據下載進程存在),強制終止數據下載進程;轉步驟22);

25)下載完所有入口參數中配置的所有GFS文件且無任何狀態文件遺留,則執行數據停止腳本stop.sh;否則轉步驟22)。

上述步驟3)中數據下載腳本catchGFS.sh執行實現流程如圖3所示,具體包括以下步驟:

31)獲取步驟21)數據維護腳本內配置的入口參數並初始化入口參數;

32)若待下載的GFS文件存在且相應的狀態文件(.st文件)不存在,則列印GFS文件存在信息,轉步驟34);若待下載的GFS文件不存在,則調用Axel下載線程對待下載GFS文件進行多線程下載,若待下載的GFS文件下載完成且相應的狀態文件存在(說明下載過程出現異常導致文件下載不全),則調用Axel下載線程對目標GFS文件進行重新下載(註:Axel下載線程會根據待下載文件信息來創建狀態文件,因此不可能出現狀態文件存在,待下載文件不存在這種情況);

33)判斷待下載的GFS文件的狀態文件是否存在,若存在,將重新執行步驟32);若不存在,則根據入口參數下載下一個GFS文件;

34)若當前的GFS文件數的時段數小於等於入口參數中配置的最後時段,(說明GFS文件未下載完)則當前gfs時段數加1,且返回步驟32);若當前的GFS文件數的時段數大於等於入口參數中配置的最後時段,則文件下載完全,退出下載,轉步驟4);

上述步驟4)數據停止腳本stop.sh執行實現流程如圖4所示,具體包括以下步驟:

41)獲取正在執行的Axel下載進程數量;

42)獲取正在執行的數據下載腳本catchGFS.sh的進程數量;

43)若數據下載腳本catchGFS.sh進程數量大於0,則獲取正在執行的數據下載腳本進程編號,強制數據下載腳本catchGFS.sh執行進程,重複執行步驟43);若數據下載腳本catchGFS.sh進程數量小於等於0,轉步驟44);

44)判斷Axel進程的數量是否大於0,若是,則獲取正在執行的Axel進程編號,強制結束Axel進程,重複執行步驟44);若Axel進程的數量小於等於0,結束下載進程。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀