国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種高效的GNSS數(shù)據(jù)自動(dòng)化下載方法的實(shí)現(xiàn)

2018-09-06 09:55王丞李磊張銘彬
全球定位系統(tǒng) 2018年3期
關(guān)鍵詞:文件名測(cè)站網(wǎng)速

王丞,李磊,張銘彬

(1.江蘇淮安水利勘測(cè)設(shè)計(jì)研究院有限公司,江蘇 淮安 223005; 2.中國礦業(yè)大學(xué) 環(huán)境與測(cè)繪學(xué)院,江蘇 徐州 221116)

0 引 言

Linux是一套開源的類UNIX操作系統(tǒng),其具有支持多用戶、多進(jìn)程、多線程、實(shí)時(shí)性較好等優(yōu)點(diǎn)[1-2]。正因?yàn)檫@些優(yōu)點(diǎn),國際上很多知名的GNSS數(shù)據(jù)處理軟件基本上都是基于Linux開發(fā),如GAMIT、Bernese、Panda等,因此許多IGS分析中心將Linux系統(tǒng)作為GNSS數(shù)據(jù)處理平臺(tái)[3-7]。

目前國際上各大IGS分析中心,每天都需要使用大量的衛(wèi)星跟蹤站的觀測(cè)數(shù)據(jù),其中數(shù)據(jù)下載速度和完整性直接影響分析中心數(shù)據(jù)產(chǎn)品的解算精度和時(shí)效性。為了確保數(shù)據(jù)產(chǎn)品的解算精度和時(shí)效性,各個(gè)分析中心一般是采用提高網(wǎng)速、分站下載、優(yōu)先測(cè)站下載、多臺(tái)電腦同時(shí)下載的策略來確保數(shù)據(jù)下載的完整性和時(shí)效性。但采用提高網(wǎng)速和多臺(tái)電腦同時(shí)下載這種策略顯得不夠靈活。針對(duì)這種情況本文對(duì)傳統(tǒng)的數(shù)據(jù)下載方式進(jìn)行了改進(jìn),改進(jìn)的數(shù)據(jù)下載方式可在較短的時(shí)間內(nèi)實(shí)現(xiàn)數(shù)據(jù)高效完整的下載。下面將具體介紹改進(jìn)的數(shù)據(jù)下載方式程序?qū)崿F(xiàn)。

1 常用的GNSS數(shù)據(jù)下載方法

1.1 IGS的數(shù)據(jù)歸檔

目前IGS數(shù)據(jù)中心有5個(gè),分別是美國NASA戈達(dá)德空間飛行中心地殼動(dòng)力學(xué)數(shù)據(jù)信息系統(tǒng)(CDDIS)、美國斯克里普斯海洋地理研究所(SIO)、法國國家地理研究所(IGN)、SOPAC以及中國的武漢大學(xué)(WHU)[8-9]。IGS數(shù)據(jù)中心存儲(chǔ)的數(shù)據(jù)可謂是海量的,清晰的數(shù)據(jù)歸檔方式便于用戶查找與下載數(shù)據(jù)[9-11]。IGS各種數(shù)據(jù)是按照一定的目錄進(jìn)行編排存儲(chǔ),不同的數(shù)據(jù)中心文件存儲(chǔ)目錄有一定的不同。下面以CDDIS數(shù)據(jù)中心為例介紹其數(shù)據(jù)歸檔方式,IGS數(shù)據(jù)歸檔方式如圖1所示。圖1中:wwww表示GPS周;yyyy表示年;doy表示年積日;yyn表示GPS導(dǎo)航文件夾;yyl表示GALILEO導(dǎo)航電文;yyo表示觀測(cè)值文件;yyd表示的壓縮的觀測(cè)值文件,部分文件以及文件的命名規(guī)則在此不作具體的介紹。用戶可根據(jù)需求從相應(yīng)的路徑下載相應(yīng)文件,下面將具體介紹相應(yīng)的下載程序。

1.2 mget數(shù)據(jù)下載方法

Linux系統(tǒng)mget數(shù)據(jù)下載方法需要ftp這個(gè)用來登陸服務(wù)器的命令的配合才能進(jìn)行數(shù)據(jù)下載。以下載MGEX(Multi-GNSS Experiment)數(shù)據(jù)為例,其具體實(shí)現(xiàn)程序如下

01 set file_name=“”

02 foreach s (`cat $site_list`)

03 set file_name=($file_name $s$doy$chour[$ihour].$yy”o.Z”)

04 end

05 set LOCALPATH=/data/

06 set HOST=“cddis.gsfc.nasa.gov”

07 set USER=“anonymous”

08 set PASS=‘^M’

09 ftp —inv $HOST ?EOF

10 user $USER $PASS

11 lcd $LOCALPATH

12 cd/gnss/data/campaign/mgex/hourly/rinex3/$yyyy/$doy/$hour/

13 mget $file_name

14 bye

15 EOF

使用mget進(jìn)行下載數(shù)據(jù)時(shí)需要進(jìn)行以下三步:

1) 首先將需要下載的文件名存儲(chǔ)在一個(gè)數(shù)組中。如以上程序的03行,將需要下載的數(shù)據(jù)的文件名存儲(chǔ)在file_name中;

2) 然后登陸遠(yuǎn)程的ftp,進(jìn)入遠(yuǎn)程ftp數(shù)據(jù)存儲(chǔ)的路徑下。在登陸遠(yuǎn)程的服務(wù)器之前需要設(shè)置遠(yuǎn)程ftp的主機(jī)名、登陸的用戶名以及用戶密碼,由于IGS數(shù)據(jù)中心的數(shù)據(jù)可以免費(fèi)下載,可以使用”anonymous”匿名登錄,登錄密碼’^M’(相當(dāng)于“回車”的作用)。代碼的09行就是用來登入遠(yuǎn)程的服務(wù)器,12行是進(jìn)入遠(yuǎn)程ftp數(shù)據(jù)存儲(chǔ)的路徑;

3) 最后利用mget命令下載需要下載的數(shù)據(jù)。如以上程序的13行。

mget方法雖然可實(shí)現(xiàn)批量下載,但是其缺點(diǎn)是每次批量下載數(shù)不能超過50個(gè),并且下載初始化過程中會(huì)花費(fèi)很長的時(shí)間,因此mget下載方法效率并不是很高。以上介紹的是mget數(shù)據(jù)下載方法,接下來將介紹wget數(shù)據(jù)下載方法。

1.3 wget數(shù)據(jù)下載方法

wget數(shù)據(jù)下載方法相對(duì)mget命令的區(qū)別在于其每下載一次數(shù)據(jù)需要登陸一下對(duì)方的ftp。理論上下載效率不如mget,但是在實(shí)際測(cè)試過程中,其下載效率比mget好。wget的下載方法具體實(shí)現(xiàn)如下

path=/cddis.gsfc.nasa.gov/pub/gnss/data

set site_list=site_list_mgex

set chour=(a b c d e f g h i j k l m n o p q r s t u v w x)

set ihour=$hour+1

foreach s (`cat $site_list`)

wget ftp://$path/hourly/$yyyy/$doy/$hour/$s$doy$chour[$ihour].$yy"o.Z"

wget ftp://$path/hourly/$yyyy/$doy/$hour/$s$doy$chour[$ihour].$yy"l.Z"

wget ftp://$path/hourly/$yyyy/$doy/$hour/$s$doy$chour[$ihour].$yy"g.Z"

wget ftp://$path/hourly/$yyyy/$doy/$hour/$s$doy$chour[$ihour].$yy"n.Z"

end

其中:$path為多模GNSS數(shù)據(jù)下載路徑;$yyyy、$doy、$hour分別為年、年積日、小時(shí),均可以作為變量輸入;$site_list為多模觀測(cè)值數(shù)據(jù)的測(cè)站列表;以UTC時(shí)的2015年5月22日0時(shí)為例。其中$yyyy=2015、$doy=142、$hour=05;其中$site_list的部分列表如表1所示。

表1 2015-05-22的不同小時(shí)文件夾下多模觀測(cè)值數(shù)據(jù)存儲(chǔ)情況

由表1結(jié)果可以看出mgex數(shù)據(jù)每小時(shí)更新情況可分為三種:

1) 部分測(cè)站只更新觀測(cè)值數(shù)據(jù)例如aira測(cè)站;

2) 部分測(cè)站既更新觀測(cè)值數(shù)據(jù)也更新導(dǎo)航數(shù)據(jù),但是在某一時(shí)段會(huì)不更新某一系統(tǒng)導(dǎo)航文件,例如dund測(cè)站;

3) 部分測(cè)站會(huì)在某一時(shí)段不更新數(shù)據(jù),例如areg測(cè)站。

據(jù)統(tǒng)計(jì)mgex觀測(cè)站有110多個(gè),IGS觀測(cè)站約460多個(gè),按傳統(tǒng)下載方式進(jìn)行下載,將會(huì)出現(xiàn)大量無數(shù)據(jù)下載登陸的情況,這樣會(huì)浪費(fèi)大量下載時(shí)間。在20 Mbit/s網(wǎng)速下wget一次登陸與登出不進(jìn)行數(shù)據(jù)下載大約需要2 s,假設(shè)按300次無數(shù)據(jù)下載登陸,那么至少浪費(fèi)10 min下載時(shí)間。為了節(jié)約時(shí)間對(duì)現(xiàn)有的下載方式進(jìn)行改進(jìn),下面將具體介紹改進(jìn)的數(shù)據(jù)下載方式。

據(jù)統(tǒng)計(jì)mgex的觀測(cè)站有110多個(gè),IGS(International GNSS Service)的觀測(cè)站約460多個(gè),如果按照傳統(tǒng)的下載方式進(jìn)行下載,將會(huì)出現(xiàn)很多次的無數(shù)據(jù)下載登陸,這樣會(huì)浪費(fèi)大量的下載時(shí)間。在20 Mbit/s的網(wǎng)速下wget一次登陸和登出不進(jìn)行數(shù)據(jù)下載大約需要2 s,假設(shè)按照300次的無數(shù)據(jù)下載的登陸,那么至少要浪費(fèi)10 min的下載時(shí)間。在與下載高頻的數(shù)據(jù)相比較其下載所要浪費(fèi)的時(shí)間將會(huì)增加4倍。為了節(jié)約時(shí)間需要對(duì)現(xiàn)有的下載方式進(jìn)行改進(jìn),下面將具體介紹改進(jìn)的方式。

2 改進(jìn)的數(shù)據(jù)下載方式

針對(duì)1.2節(jié)和1.3介紹的數(shù)據(jù)下載時(shí)出現(xiàn)的情況,作者提出新的數(shù)據(jù)下載方式。新的下載方式是,事先登陸對(duì)方的ftp然后獲取存儲(chǔ)路徑下存在的數(shù)據(jù)的文件名,然后再利用wget進(jìn)行下載,這樣可避免無數(shù)據(jù)下載的登陸,大大節(jié)省了數(shù)據(jù)的下載時(shí)間。具體的程序?qū)崿F(xiàn)如下:

01 set HOST=“cddis.gsfc.nasa.gov”

02 set USER=“anonymous”

03 set PASS=‘^M’

04 set LOCALPATH=/data/

05 set PATH=/gnss/data/campaign/mgex/hourly/rinex3

06 ftp —inv $HOST ?EOF

07 user $USER $PASS

08 lcd $LOCALPATH

09 cd/$PATH/$yyyy/$doy/$hour/

10 ls/$PATH/$yyyy/$doy/$hour/$LOCALPATH> site_list.log

11 bye

12 EOF

13 awk `{print $9}` site_list.log> site_list

14 set path=/cddis.gsfc.nasa.gov/pub/gnss/data

15 foreach s (`cat $site_list`)

16 wget ftp://$path/hourly/$yyyy/$doy/$hour/$s

17 end

改進(jìn)的數(shù)據(jù)下載方式需要進(jìn)行三步:

1) 獲取數(shù)據(jù)存儲(chǔ)路徑下的各個(gè)文件的詳細(xì)信息。代碼的01~03行設(shè)置目標(biāo)ftp、登錄的賬號(hào)和密碼,04~05設(shè)置本地的數(shù)據(jù)存儲(chǔ)路徑和ftp數(shù)據(jù)存儲(chǔ)路徑,代碼的06~12行表示的是登陸并且登出ftp,其中09行表示進(jìn)入ftp數(shù)據(jù)存儲(chǔ)路徑下的文件夾,10行就是獲取mgex小時(shí)數(shù)據(jù)存儲(chǔ)路徑下的文件的詳細(xì)信息,其信息存儲(chǔ)在site_list.log文件中;

2) 從site_list.log文件中提取文件名信息。上面代碼13行就是獲取存儲(chǔ)路徑下存在的文件名信息。其存儲(chǔ)方式如表1各個(gè)時(shí)間段存在的文件名一樣;

3) 下載數(shù)據(jù)。代碼15~17行就是利用wget下載site_list中存在的文件。

下面將介紹數(shù)據(jù)自動(dòng)化下載實(shí)現(xiàn)方式,以及對(duì)比分析傳統(tǒng)的下載方式與改進(jìn)的下載方式的效率。

2.1 數(shù)據(jù)自動(dòng)化下載

crontab命令允許指定Linux系統(tǒng)何時(shí)運(yùn)行腳本[2,8,9,12]。自動(dòng)化下載是通過Linux定時(shí)執(zhí)行配置的數(shù)據(jù)下載腳本而實(shí)現(xiàn)的,及用戶將定時(shí)所要執(zhí)行的下載任務(wù)寫在一個(gè)新的文件中,例如文件名為autorun:45 */1 * * */bin/csh/root/shell/sh_get_hourly>/root/log/sh_get_hourly.log 2>&1

該命令的時(shí)間“45 */1 * * *”為每年、每月、每天的每小時(shí)45分運(yùn)行“sh_get_hourly”腳本。由于自動(dòng)運(yùn)行全部在后臺(tái),不會(huì)輸出任何顯示信息,因此 “>/root/log/sh_get_hourly.log 2>&1”表示的含義是將“sh_get_hourly”運(yùn)行信息賦給一個(gè)sh_get_hourly.log日志文件,這樣方便檢查運(yùn)行的狀態(tài)及出現(xiàn)的錯(cuò)誤。編輯好autorun這個(gè)定時(shí)任務(wù)文件后執(zhí)行“crontab autorun”命令,將其加載到后臺(tái)中,這樣autorun中的定時(shí)任務(wù)會(huì)在指定的時(shí)間上運(yùn)行。為了防止自動(dòng)運(yùn)行的腳本到了規(guī)定時(shí)間還沒有結(jié)束而影響其他的進(jìn)程,可以用“kill”命令將其強(qiáng)制結(jié)束。數(shù)據(jù)自動(dòng)化下載流程如圖2所示,其運(yùn)行過程為

1) Linux,Crontab定時(shí)任務(wù)觸發(fā)器,觸發(fā)數(shù)據(jù)下載任務(wù)開始;

2) 運(yùn)行g(shù)et_data_list,腳本獲取數(shù)據(jù)中心中存在的數(shù)據(jù)測(cè)站列表;

3) 調(diào)用下載數(shù)據(jù)腳本,如調(diào)用get_hourly_data腳本,獲取數(shù)據(jù)中心小時(shí)數(shù)據(jù)文件;

4) 結(jié)束數(shù)據(jù)下載腳本運(yùn)行。

2.2 數(shù)據(jù)下載效率對(duì)比

實(shí)驗(yàn)環(huán)境是: DELL T5810工作站,CentOS6.5linux系統(tǒng)平臺(tái),20 Mbit/s電信寬帶網(wǎng)速。在以上實(shí)驗(yàn)條件下分別采用改進(jìn)的數(shù)據(jù)下載方式和傳統(tǒng)的數(shù)據(jù)下載方式下載高頻觀測(cè)值數(shù)據(jù)和小時(shí)觀測(cè)值數(shù)據(jù)、比較其下載效率。

2.2.1 小時(shí)數(shù)據(jù)下載

選擇下載年積日為132的 00時(shí)、12時(shí)、22時(shí)三個(gè)時(shí)段IGS的n、g、d和MGEX的n、l、g、d文件為例。比較分析改進(jìn)的下載方式與傳統(tǒng)的下載方式在下載小時(shí)數(shù)據(jù)方面的下載效率,具體實(shí)驗(yàn)結(jié)果如表2和表3所示。由實(shí)驗(yàn)結(jié)果可得,改進(jìn)的數(shù)據(jù)下載方式下載IGS數(shù)據(jù)平均每小時(shí)可節(jié)約34 min,下載MGEX的數(shù)據(jù)平均每小時(shí)可節(jié)約17 min.

表2 不同小時(shí)的MGEX數(shù)據(jù)下載效率對(duì)比

表3 不同小時(shí)IGS數(shù)據(jù)下載效率對(duì)比

2.2.2 高頻數(shù)據(jù)下載

選擇下載年積日為132的 00時(shí)、12時(shí)、22時(shí)三個(gè)時(shí)段的IGS、MGEX高頻的d文件為例,比較分析改進(jìn)的下載方式與傳統(tǒng)的下載方式在下載高頻數(shù)據(jù)方面的下載效率。具體實(shí)驗(yàn)結(jié)果如表4和表5所示。由實(shí)驗(yàn)結(jié)果可得,改進(jìn)的數(shù)據(jù)下載方式下載IGS數(shù)據(jù)平均每小時(shí)可節(jié)約80 min,下載MGEX的數(shù)據(jù)平均每小時(shí)可節(jié)約13 min.

表4 不同小時(shí)的高頻IGS數(shù)據(jù)下載效率對(duì)比

表5 不同小時(shí)的高頻MGEX數(shù)據(jù)下載效率對(duì)比

由實(shí)驗(yàn)結(jié)果可以看出,隨著數(shù)據(jù)下載文件個(gè)數(shù)越多,改進(jìn)的數(shù)據(jù)下載方式下載效率越明顯。

3 結(jié)束語

本文是作者根據(jù)實(shí)際工作經(jīng)驗(yàn),發(fā)現(xiàn)原有的數(shù)據(jù)下載方式下載效率較低,為此改進(jìn)了原有的數(shù)據(jù)下載方法。改進(jìn)的數(shù)據(jù)下載方式的設(shè)計(jì)是在數(shù)據(jù)下載之前先獲取數(shù)據(jù)存儲(chǔ)路徑下存在的數(shù)據(jù)文件名,然后再對(duì)其進(jìn)行下載,這樣可避免無數(shù)據(jù)的下載登陸與登出,有效地縮短下載數(shù)據(jù)的時(shí)間。

由表2~表4的對(duì)比結(jié)果可知改進(jìn)的數(shù)據(jù)下載方式顯得更加靈活,在數(shù)據(jù)量越大的情況下改進(jìn)的數(shù)據(jù)下載方式的下載效率更高。

在實(shí)際應(yīng)用過程中由于IGS數(shù)據(jù)出現(xiàn)延遲上傳的情況,導(dǎo)致數(shù)據(jù)下載不完整,為了解決這一問題通過補(bǔ)下數(shù)據(jù)的方式來確保數(shù)據(jù)下載的完整性。本次實(shí)驗(yàn)未對(duì)IGMAS數(shù)據(jù)中心的數(shù)據(jù)進(jìn)行下載實(shí)驗(yàn),主要因?yàn)槠鋽?shù)據(jù)中心在國內(nèi)數(shù)據(jù)下載速度快,無需考慮數(shù)據(jù)下載效率問題。

猜你喜歡
文件名測(cè)站網(wǎng)速
WiFi室內(nèi)定位測(cè)站布設(shè)優(yōu)化的DOP數(shù)值分析
利用探空產(chǎn)品評(píng)估GNSS-PPP估計(jì)ZTD精度
美伊沖突中的GPS信號(hào)增強(qiáng)分析
英國網(wǎng)速快慢相差800倍
右鍵調(diào)用多重更名更方便
Excel輕松提取文件名
把我的秘密藏起來
網(wǎng)速太慢
基于VC++6.0的文件名批量轉(zhuǎn)換
呼和浩特市| 德化县| 麻阳| 杨浦区| 外汇| 威远县| 民县| 奇台县| 平顶山市| 墨玉县| 新建县| 微山县| 松桃| 井陉县| 五原县| 临沂市| 肥东县| 莆田市| 石阡县| 崇州市| 肥城市| 临沂市| 扬州市| 岢岚县| 东城区| 海南省| 呼玛县| 温宿县| 建始县| 奎屯市| 淮阳县| 镇巴县| 万载县| 玉溪市| 集安市| 永丰县| 新田县| 资兴市| 萍乡市| 五原县| 石景山区|