版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 分類號 密級 </p><p> U D C </p><p> 昆明理工大學 碩士學位論文</p><p> 高精度星表位置計算及在MUSER數據處理中的</p&
2、gt;<p><b> 實時發(fā)布應用研究</b></p><p> 研究生姓名 </p><p> 指導教師姓名、職稱 </p><p> 學科專業(yè) 軟件工程
3、 </p><p> 研究方向 數據處理 </p><p><b> 論文工作</b></p><p> 起止日期 </p><p> 論文提交日期
4、 </p><p><b> 摘要</b></p><p> 高精度星表位置計算不僅是天文研究領域中的基本問題,而且也是明安圖超寬頻譜射電日像儀(Mingantu Ultrawide Spectral Radioheliograph, MUSER)觀測與數據處理過程中的重要組成部分。觀測時為了確保相位補償精度,MUSER需要觀測目標的視位置計算精度能夠優(yōu)
5、于1個毫角秒。</p><p> 論文針對MUSER海量實時數據處理特點,主要研究了高精度星表位置計算及在MUSER數據處理系統中的實時發(fā)布應用研究等工作。論文的主要研究工作如下:</p><p> 1.論文研究了基于JPL精密星歷的高精度星表位置計算方法。在研究NOVAS (Naval Observatory Vector Astrometry Software, NOVAS)星歷計
6、算基礎上,結合MUSER數據處理的特點,使用SWIG(Simplified Wrapper and Interface Generator, SWIG)技術實現了Python調用NOVAS軟件包的方法,最后實現了一個可以在MUSER數據處理系統中被集成調用的星歷軟件包;</p><p> 2.論文在高精度星表位置計算基礎上,研究了不同插值方法對星表計算插值結果的影響。實驗設計主要從精度和效率兩個維度分別對拉格朗
7、日插值、分段低次插值(包括分段線性插值和分段二次插值)以及三次樣條插值進行了對比分析試驗;</p><p> 3.在上述研究的基礎上,論文設計并實現了基于ZeroMQ的高精度星表位置實時發(fā)布系統。該系統作為OpenCluster中的服務實例,主要為MUSER分布計算框架中的Headman、Worker等實體提供高精度星表位置計算服務,系統的實現屬于MUSER數據處理中的應用研究問題。</p>&l
8、t;p> 論文屬于天文應用領域的基礎研究,論文中的相關研究工作有效推進了MUSER數據處理系統的建設,同時對天文信息技術研究領域中高精度星表位置計算和實時發(fā)布等實際問題也有一定參考價值。</p><p> 關鍵字:星表計算;NOVAS;插值方法;實時發(fā)布;ZeroMQ</p><p><b> Abstract</b></p><p&g
9、t; High precision target position is not only the basic research problem in astronomy, but also an important component in the Mingantu Ultrawide Spectral Radioheliograph (Mingantu Ultrawide Spectral Radioheliograph, MUS
10、ER) observation and data processing. MUSER need target position accuracy can be better than one milli-arcsecond. </p><p> Aiming at the characteristics of MUSER observation and data processing, this paper m
11、ainly discussed a research on High Precision Target Position Computing and Real-time applications in MUSER observation and data processing system. The main achievements are as follows:</p><p> First, we pro
12、pose a high-precision position computing method based on the JPL DE405 ephemeris. On the basis of study of NOVAS (Naval Observatory Vector Astrometry Software, NOVAS) ephemeris calculation, combined the specific characte
13、ristics of MUSER data processing, using SWIG (Simplified Wrapper and Interface Generator, SWIG) to achieve the method invocation NOVAS package through Python, and finally realized an ephemeris package can be integrated i
14、n MUSER data processing system;</p><p> Second, based on the achieved NOVAS high precision position, comparison and analysis between the different interpolations methods are made. And we mainly design the e
15、xperiments from the precision and efficiency, so as to compare and analyze the lagrange interpolation, piecewise low-order interpolation (including piecewise linear interpolation, piecewise quadratic interpolation) and c
16、ubic spline interpolation;</p><p> Third, on the basis of the above research, we design and implement a high-precision position real-time release system based on message-oriented middleware(ZeroMQ).This sys
17、tem, as the service instance in the OpenCluster of MUSER, mainly to provide the service of high precision position for the headman, workers and other entities in the distributed computing framework, the realization of th
18、is system belongs to MUSER data processing application problems ;</p><p> This paper is a fundamental research in scientific data processing. The related research in the study effectively promoted the const
19、ruction of MUSER data processing system, and also has some reference value for some problems, such as the high precision target position computing, real-time release and so on.</p><p> Keyword: Catalog Comp
20、uting; NOVAS; Interpolation Method; Real-time Release; ZeroMQ</p><p><b> 目錄</b></p><p><b> 摘要I</b></p><p> AbstractIII</p><p><b> 第一
21、章 緒論</b></p><p> 1.1選題背景及研究意義(1)</p><p> 1.1.1天文數據處理背景(1)</p><p> 1.1.2明安圖超寬頻譜射電日像儀介紹(1)</p><p> 1.2高精度星表位置計算與實時發(fā)布應用需求(3)</p><p> 1.3國內外研究現狀
22、(6)</p><p> 1.4論文的主要工作(7)</p><p> 1.5論文的結構和安排(8)</p><p> 1.6本章小結(8)</p><p> 第二章 相關技術研究</p><p> 2.1 JPL精密星歷概述(11)</p><p> 2.2實時發(fā)布技術研
23、究(12)</p><p> 2.2.1基于WebService的實時發(fā)布技術(12)</p><p> 2.2.2基于消息中間件的實時發(fā)布技術(13)</p><p> 2.2.3消息中間件的定義(14)</p><p> 2.2.4消息中間件的特點(15)</p><p> 2.2.5 WebS
24、ervice與消息中間件的比較(15)</p><p> 2.3消息中間件ZeroMQ(16)</p><p> 2.3.1 ZeroMQ在天文數據發(fā)布中的優(yōu)勢(17)</p><p> 2.3.2 ZeroMQ通訊模式(17)</p><p> 2.3.3 ZeroMQ和同類產品相比(19)</p><
25、p> 2.4本章小結(21)</p><p> 第三章 基于NOVAS的高精度星表位置計算</p><p> 3.1 JPL DE405星歷表(23)</p><p> 3.1.1星表文件格式(24)</p><p> 3.1.2星表計算原理(25)</p><p> 3.1.3DE405精度
26、分析(26)</p><p> 3.2 MUSER觀測目標精確位置計算(27)</p><p> 3.3 NOVAS軟件包介紹(27)</p><p> 3.4 基于PYTHON的NOVAS計算(29)</p><p> 3.4.1 SWIG接口文件定義(30)</p><p> 3.4.2 PYT
27、HON調用(33)</p><p> 3.5 IERS數據提取與更新系統的調用(34)</p><p> 3.5.1 IERS數據需求分析(34)</p><p> 3.5.2 IERS數據分析(35)</p><p> 3.5.3系統函數調用(35)</p><p> 3.6本章小結(36)&l
28、t;/p><p> 第四章 星表位置計算中插值方法分析</p><p> 4.1 幾種插值數學模型(37)</p><p> 4.1.1拉格朗日多項式插值(37)</p><p> 4.1.2分段低次插值(38)</p><p> 4.1.3三次樣條插值(39)</p><p>
29、 4.2實驗一:幾種插值方法精度分析對比實驗(40)</p><p> 4.2.1實驗目的(40)</p><p> 4.2.2實驗描述(40)</p><p> 4.2.3實驗結果及分析(41)</p><p> 4.3實驗二:幾種插值算法效率分析對比實驗(53)</p><p> 4.3.1實
30、驗目的(53)</p><p> 4.3.2實驗描述(54)</p><p> 4.3.3實驗結果及分析(54)</p><p> 4.4實驗結論(54)</p><p> 4.5本章小結(55)</p><p> 第五章 高精度星表位置實時發(fā)布系統應用研究</p><p>
31、 5.1系統設計背景(57)</p><p> 5.1.1流式計算模型(57)</p><p> 5.1.2MUSER分布環(huán)境(57)</p><p> 5.2 系統設計與實現(59)</p><p> 5.2.1 ZeroMQ通訊模式的選擇(59)</p><p> 5.2.2 ZeroMQ消息
32、使用(60)</p><p> 5.2.3系統服務器實現(61)</p><p> 5.2.4 系統客戶機實現(62)</p><p> 5.3系統開發(fā)環(huán)境(66)</p><p> 5.3.1硬件設備(66)</p><p> 5.3.2軟件環(huán)境(66)</p><p>
33、 5.3.3開發(fā)語言(66)</p><p> 5.4系統健壯性分析(66)</p><p> 5.4.1系統分布部署(67)</p><p> 5.4.2系統數據更新(67)</p><p> 5.4.3系統負載均衡(67)</p><p> 5.5本章小結(68)</p>&l
34、t;p><b> 第六章 總結與展望</b></p><p> 6.1全文研究工作總結(69)</p><p> 6.2對未來工作的展望(70)</p><p><b> 致謝(73)</b></p><p><b> 參考文獻(75)</b></
35、p><p> 附錄A 攻讀碩士期間發(fā)表論文目錄(79)</p><p> 附錄B 攻讀碩士期間參與的研究工作(81)</p><p><b> 第一章 緒論</b></p><p> 1.1選題背景及研究意義</p><p> 1.1.1天文數據處理背景</p><p
36、> 隨著天文望遠鏡的設計和制造、大尺寸探測器陣列的開發(fā)以及一系列巡天項目的實施,加上計算機網絡技術的迅速發(fā)展,天文學已經邁入了豐富的信息數據新紀元。天文數據也已經跨越了全電磁波段,無論是射線、X射線、紫外、光學、紅外還是射電波段都具有豐富的數據信息。豐富的觀測數據為研究新現象和新規(guī)律提供了有力基礎。然而,天文數據量也由此越來越大,總量已經達到PB量級。另外,天文數據一般來自于不同的觀測儀器、觀測地點和觀測時間,而且數據文件格式也
37、不盡相同,這也由此導致了天文數據處理的復雜性。天文數據的內容包括星表、星圖、光譜和天文方面的文獻資料、觀測日志等多種數據類型。其中,星表是包含天體信息的一種數據表格,也是天文學家最常用到的天文數據之一。天文星表數據作為天文數據中心數據庫的重要部分,收集和整理了重要的和最新的星表數據集,為國內外天文學家和其他用戶提供星表查詢服務和星表獲得服務[1]。 </p><p> 1.1.2明安圖超寬頻譜射電日像儀介紹&l
38、t;/p><p> 日像儀[2]也是一種射電望遠鏡。射電望遠鏡與光學望遠鏡的不同點在于前者沒有物鏡和目鏡。射電望遠鏡一般是由天線陣、接收系統和數據處理系統這三大部分構成。其中,天線陣是射電望遠鏡最顯著的特點,而且天線陣種類繁多,最常用的天線陣是拋物面。天線陣之所以如此突出,是因為天線陣能夠把微弱的無線電信號收集起來,然后通過接收系統將信號記錄以數據的形式保存在計算機中。天文科學家利用數據處理系統分析這些數據進而得到
39、天體的相關信息。</p><p> 為推動太陽射電觀測技術的發(fā)展,我國天文科學家提出了400MHz~15GHz范圍內的厘米-分米波日像儀。該日像儀將首次在多波段上實現以高時間,高空間以及高頻率分辨率來觀測太陽活動的動力學性質,并能對太陽從色球層到高日冕層的廣大區(qū)域中進行高分辨率的三維動態(tài)成像觀測,繼而填補國際科學界在太陽耀斑、日冕物質拋射等爆發(fā)活動的能量初始釋放區(qū)高分辨率射電成像觀測方面的空白。明安圖超寬頻譜射
40、電日像儀不僅揭示了太陽劇烈活動的起源和發(fā)生規(guī)律,而且也已取得一批原創(chuàng)性的研究成果,這大大提升了我國在太陽活動預報方面的能力,也為航空、航天、衛(wèi)星通訊和國防建設等應用領域提供了有力基礎,對推動學科發(fā)展及相關高新技術領域的建設都具有重要的推動作用[3-6]。</p><p> 明安圖超寬頻譜射電日像儀(Mingantu Ultrawide Spectral Radioheliograph, MUSER)項目選址[7
41、]在中國內蒙錫林格勒盟正鑲白旗明安圖觀測站,整體分兩期完成:第一期(MUSER –I)低頻陣(400MHz~2GHz)由40面4.5m天線及接收設備組成;第二期(MUSER –II)高頻陣由60面2m天線及接收設備組成。隨著MUSER –I進入系統聯調和試觀測階段,當前迫切需要實現的是對試觀測結果進行相應的數據處理。如圖1.1所示,天線陣接收到射電噪聲信號后,首先經過低噪聲放大器放大,然后進行電光模式轉換,并將電信號轉換為光信號再通過光
42、纖傳到觀測站機房[8]。在觀測站機房,經過模擬數字接收機和數字接收機的依次處理后,最終生成約定格式的數據文件并離線存儲[9]。為了實現實時狀態(tài)監(jiān)控以及實時可視化展現等功能,數字接收機在保存觀測數據文件的同時,也可以將部分觀測數據通過網絡發(fā)送到指定服務器,以供后續(xù)實時數據處理分析使用。其中,虛線框內表示MUSER觀測與數據處理系統的基本結構。</p><p> 圖1. 1 MUSER觀測與數據處理系統流程圖<
43、;/p><p> 1.2高精度星表位置計算與實時發(fā)布應用需求</p><p> 1.高精度星表位置計算需求分析:</p><p> MUSER天線陣由100面天線接收系統組成,采用綜合孔徑方法成像,即通過對每個天線接收到的信號進行復相關計算得到源的亮度分布。但是,在進行相關計算時要求天線接收的信號也要同時達到相關器做復相關運算。然而,在傳輸過程中,信號經過不同路徑
44、時不免要產生延遲,因此需要做延時補償。MUSER的延時主要有兩類:一是幾何延時;二是系統延時。其中空間段幾何延時主要是因為天線位置不同產生的,并會隨天線觀測太陽角度變化而產生相應延時。</p><p> 圖1.2雙天線干涉獲得信號的相關輸出圖[10]</p><p> 如圖1.2所示,以兩面天線干涉為例,天線A,B接收來自源S的射頻信號,信號與天線基線法向夾角為,A,B兩面天線的地理位
45、置不同,因此在A、B接收射頻信號之間存在延時。B收到的信號延時 :</p><p><b> ?。?.1)</b></p><p> 式(1.1)中,為基線間距離;為光速;為源入射方向與基線法向間的夾角。綜合孔徑成像原理要求A、B兩面天線間信號同時同相位相關,因此在接收機A路需要加入幾何延時補償參數,數字本振加入相位φ,只有這樣才能保證A、B信號相關。延時和相位的補
46、償與基線距離有關,因此基線距離的精度會影響幾何補償的準確性,從而影響圖像的動態(tài)范圍和源的位置等信息。</p><p> 根據式(1.1)我們知道,幾何延時與基線距離密切相關。在射電天文中,基線距離即天線三維位置測量,一般可采用大地坐標測量、天文源干涉測量等方法。MUSER日像儀采用大地坐標測量方法對天線的相對位置進行測量。大地坐標測量是利用光學測距的方法確定天線位置坐標,從而計算基線距離。綜合孔徑成像原理是把源
47、假定為二維圖像,源位置信息的傅里葉分量用地面上的方向矢量表示,因此地面上的天線坐標只需要知道相對坐標即可。MUSER采用相對坐標系對太陽進行觀測,成像的坐標系為垂直于源的直角坐標系,計算延時的時候需要把相對坐標進行坐標轉換,統一到成像坐標系統內計算[11]。計算公式如式(1.2)所示: </p><p><b&g
48、t; ?。?.2)</b></p><p> 式(1.2)中,為前面說的幾何延時;分別為源的赤緯和時間角; 分別為站心坐標系和地心坐標系下天線間的基線距離;為指向觀測員的坐標系統。通過站心平面直角坐標系和地心直角坐標系的轉換,從而得到統一的成像坐標系下的延時補償和相位條紋旋轉參數。[11]我們知道通過本地恒星時和赤經可以推算赤緯,其中為本地恒星時,為赤經,為時角,如式(1.3):</p>
49、<p> ?。?.3) </p><p> MUSER是具有高時間、高空間和高分辨率的太陽射電望遠鏡。為了使信號相關值準確,需要精確測量系統的延時,因此在實際的數據處理過程中系統延時補償計算就顯得非常有必要。通過前面的敘述,我們知道計算延時補償和相位條紋旋轉參數時需要用到的關鍵參數是觀測目標的視位置。另外,在MUSER數據預處理過程中,需要將源數據生成自
50、定義格式數據,如UVFITS[12]和FITSIDI[13, 14]。在這些自定義格式數據說明中都有UV_DATA表,而UV_DATA表都定義了RA(赤經),DEC(赤緯)字段以及UU,VV,WW字段,其中由式(1.2)知道UU,VV,WW[15]的也需要赤經和赤緯。</p><p> 由此可見,高精度星表位置計算是MUSER觀測與后續(xù)數據處理的重要組成部分。作為一個射電干涉陣,MUSER在觀測及后續(xù)數據處理時
51、,均需要進行高精度的觀測目標(如太陽)的視位置進行計算。如對各個基線的相位差進行修正、保存觀測數據進行UVW計算等。MUSER的基線為3200米,在高頻(15GHz)觀測時為了確保相位補償精度,需要觀測目標的視位置計算精度能夠優(yōu)于1個毫角秒。為達到這樣高的計算精度,采用精密行星星表是一種必然的選擇。</p><p> 2.高精度星表位置實時發(fā)布需求分析:</p><p> MUSER整
52、個工作分兩期完成,一期低頻陣MUSER-I由40面4.5米天線及接收設備組成,在64個頻率點上成像,一分鐘觀測產生1.92GB數據,假定一天觀測10小時,則一天的觀測數據約1.05TB;二期高頻陣MUSER-II由60面2米天線及接收設備組成,在528個頻率點上成像,假定一天觀測10小時,則一天產生的數據約為2.146TB。當系統設備進入正常觀測后,一個月的總觀測數據量則將接近100TB。</p><p> M
53、USER的數據處理過程與常規(guī)的綜合孔徑成像觀測數據處理過程是類似的。但是由于MUSER的特點,使得整個系統的研究與其它射電觀測存在很大區(qū)別。MUSER數據處理是一個復雜的數據處理系統,根據軟件工程的思想,將整個系統進行自頂向下設計,共分為5個子系統:</p><p> 1.數據采集系統(Data Collection System, DCS):主要實現元數據的采集并供后續(xù)數據處理使用;</p>&
54、lt;p> 2.數據處理系統(Data Processing System, DPS):主要實現元數據到Fits文件(包括UVFITS和FITSIDI)的格式轉換,進行數據歸檔和成圖(包括互相關圖,流量密度圖,臟圖以及潔化圖);</p><p> 3.數據監(jiān)控系統(Data Supervisor System, DSS):主要實現以多屏方式實時監(jiān)控和實時展現DPS中的圖像信息;</p>&
55、lt;p> 4.數據可視化展現系統(Data Visualization System, DVS):主要實現數據處理系統結果和圖像信息的web發(fā)布。</p><p> MUSER需離線存儲、實時處理并實時監(jiān)控觀測數據以研究太陽動力學性質。MUSER中的海量數據對系統實時處理和高性能計算都提出了較大的技術挑戰(zhàn)。</p><p> 針對MUSER中所面臨的海量數據的實時處理技術難點
56、,項目組依據流式計算原理構建了分布式計算框架(Open Cluster)。Open Cluster抽象傳統工業(yè)生產中的Factory生產流程模型,例如在傳統的工業(yè)生產流程中,產品在Factory中從生產到銷售需要多個步驟,如加工,包裝,發(fā)貨等。Factory收到訂單后,按照生產工藝將訂單交由加工環(huán)節(jié)的Headman, Headman收到任務后,再將工作任務下發(fā)到Worker。工作完成后再交由包裝環(huán)節(jié)的Headman,同理最后到發(fā)貨環(huán)節(jié)。
57、在整個生產過程中,Worker和Headman都需要一些公共服務,如打印,通訊等。這就構成了一個簡單的Factory生產流程。這種簡單的Factory生產流程模型,也非常適用于科學數據處理。</p><p> 在MUSER數據處理流程中,數據在系統中從采集到處理同樣需要經過多個步驟,而且在處理過程中也需要調用多個公共服務來提供校驗或者修正數據,其中很重要的一種服務就是為MUSER中的各個子系統實時發(fā)布觀測目標的
58、基礎數據[15]:</p><p> 1.視位置(apparent place):包括視赤經(apparent right ascension)和視赤緯(declination);</p><p> 2.站心位置(topocentric place):包括站心赤經(topocentric right ascension)和站心赤緯(topocentric declination)<
59、;/p><p> 3.格林尼治視恒星時(Greenwich apparent sidereal time, GAST)</p><p> 1.3國內外研究現狀</p><p> 隨著光學望遠鏡和射電望遠鏡的發(fā)展,天文學家面臨越來越多的望遠鏡觀測到的海量天文數據。天文科學家常常需要聯合多個波段的星表信息來分析觀測目標在多波段上的光譜特性,進而對觀測目標進行更深入的科
60、學研究和分析。因此,星表相關研究工作成為了天文學不可忽視的重要課題。</p><p> 國際上,星表主要分全天星表和特殊星表。全天星表主要按亮度設定收錄依據,而特殊星表主要針對特殊類型。目前,在科學數據處理中,用得比較多的是由美國海軍天文臺出版的系列星表,其中USNO-B1.0星表采用J2000.0歷元,星表位置精確到0.2角秒[16];UCAC3也是一個整合的全天星表。此星表覆蓋了V和R波段的8到16星等范圍
61、的主要目標天體。在星等為10-14時,位置誤差范圍大約為15-20毫角秒。 此外,法國的天體力學和星歷計算研究組織[17](IMCCE)也為全球提供星表數據服務。</p><p> 國內,關于星表位置計算應用領域主要有天文導航以及太陽能發(fā)電等。在天文導航技術方面,早在2004和2005年王安國[18, 19]等人就在FK5和DE405星表數據文件基礎上提出了一套高精度恒星視位置計算數學模型,該模型中實現的恒星視
62、位置計算精度優(yōu)于1秒,總體精度優(yōu)于目前廣泛應用的天文導航軟件包中的視位置精度10到20倍,同時優(yōu)于法定歷書《航海天文年歷》精度16到40倍;2010年周慶勇[20]等人提出設計和實現天體視位置計算軟件,系統計算精度達到毫角秒,而且也滿足天文導航的要求;在太陽能發(fā)電應用方面,2008年馬健[21]等人根據《天文算法》中計算天體的方法,提出了計算太陽位置的具體方法,由該方法計算的太陽位置結果與天文年歷十分接近,赤經最大誤差不超過0.01s,
63、赤緯最大誤差不超過0.03s。</p><p> 目前國內在高精度星表位置實時發(fā)布的天文研究工作尚處于起步階段,有一些具體的天文應用[22]開始著手使用Web Service技術,進行海量天文數據的發(fā)布研究。而在實時性方面,海量天文數據為星表位置發(fā)布研究工作提出了更嚴峻的挑戰(zhàn)。高精度星表位置實時發(fā)布工作,目前仍然需要進一步的研究和探索。</p><p> 1.4論文的主要工作</
64、p><p> 本文針對天文數據處理的復雜性,在借鑒美國海軍天文臺JPL星表計算程序的基礎上,并結合MUSER數據處理的自身特點,針對天文學中的高精度星表計算,提出了利用SWIG技術實現PYTHON調用NOVAS軟件包的方法。在PYTHON調用中驗證了這個方法,并對星表計算的精度做了簡要分析。在該星表計算精度的基礎上,結合MUSER對星表計算的高精度需求,提出了幾種插值方法以實現高精度星表計算需求,通過實驗分析驗證分
65、段二次插值方法在精度和效率上優(yōu)于其他插值方法。最后在星表計算中利用該插值方法,實現了基于消息中間件的實時發(fā)布服務。本論文的主要工作有:</p><p> 首先,介紹了天文數據處理的大致背景,MUSER日像儀的基本情況以及高精度星表位置計算與實時發(fā)布的需求;</p><p> 其次,在對NOVAS軟件包的相關技術知識研究的基礎上,分析了NOVAS軟件包的星表計算程序,同時結合SWIG技術
66、,實現了PYTHON調用NOVAS軟件包的方法;</p><p> 然后,對基于NOVAS的高精度星表位置計算精度進行了分析研究,結合MUSER數據處理高精度星表位置的計算需求,提出了幾種插值方法并通過實驗分析驗證了分段二次插值優(yōu)于其他插值方法,精度和效率也滿足MUSER數據處理的要求;</p><p> 最后,依據MUSER數據處理系統提出的分布計算框架OpenCluster,設計并
67、實現了基于消息中間件的高精度星表位置實時發(fā)布系統。</p><p> 1.5論文的結構和安排</p><p> 本論文研究的主要內容是分布環(huán)境下高精度星表位置計算與實時發(fā)布研究,本文分為六章,具體的章節(jié)內容安排如下:</p><p> 第一章:緒論。論述了論文的選題背景及研究意義;介紹了天文數據處理背景以及MUSER日像儀的基本情況,并分析了MUSER數據處理
68、中高精度星表位置計算與實時發(fā)布需求。最后簡述了本文的主要工作以及全文的結構和安排。</p><p> 第二章:相關技術研究。簡要介紹了JPL精密星歷;并分別從Web服務和消息中間件兩個方面詳細介紹了實時數據發(fā)布技術,結合MUSER數據處理系統的實現目標,重點介紹了ZeroMQ消息中間件,并闡述了ZeroMQ的概念、消息模式以及技術優(yōu)勢等相關知識;</p><p> 第三章:基于NOVA
69、S的高精度星表位置計算。主要從星表文件格式、星表計算原理以及DE405精度等三個方面介紹了JPL DE405星歷表;介紹了MUSER觀測目標精確位置計算;分析和介紹了NOVAS軟件包,并對基于PYTHON的NOVAS計算作了詳細介紹,最后對IERS數據提取與更新系統的調用作了簡要闡述;</p><p> 第四章:星表位置計算中插值方法分析。實驗主要探討和分析了拉格朗日多項式插值、分段低次插值以及三次樣條插值等幾
70、種插值方法;并對不同插值方法從精度和效率兩個方面分別進行了對比試驗分析。實驗證明,分段二次插值要優(yōu)于其他插值方法,且滿足MUSER數據處理的要求。</p><p> 第五章:高精度星表位置實時發(fā)布系統應用研究。主要對星表數據的發(fā)布技術作了現狀分析,介紹了本章的研究目標;并詳細介紹了MUSER的分布環(huán)境;從消息模式、消息使用方法、論述了該系統的實現,并對該系統的消息模式、消息使用方法做了詳細介紹;對系統服務器和客
71、戶機實現的關鍵代碼進行了標記和解釋,同時,對系統的健壯性做了分析和討論。</p><p> 第六章:總結與展望??偨Y了本文現階段的研究工作成果,并對下一步研究工作進行了設想和展望。</p><p><b> 1.6本章小結</b></p><p> 本章主要介紹了文章的選題背景和研究意義。論述了論文的選題背景及研究意義;介紹了MUSER日
72、像儀;JPL星歷表的相關概念;分布環(huán)境下的中間件技術,并對國內外的星表研究現狀作了簡單介紹,最后闡述了本文的研究工作和論文的組織結構。</p><p> 第二章 相關技術研究</p><p> 2.1 JPL精密星歷概述</p><p> 美國噴氣推進實驗室(Jet Propulsion Laboratory, JPL) 使用最新確定的天文常數和天體運動理論計
73、算了太陽、月球、地月質心、水星、金星、火星、木星、土星、天王星、海王星和冥王星的位置,以及地球黃經章動和黃赤交角章動的數值。自1984年以來,JPL的行星/月球歷表已經成為歷算工作中廣泛使用的歷表,同時也廣泛應用于空間導航、行星和月球探測中。早在20世紀60年代,為了支持機器人和載人航天任務,就已經有許多版本的JPL星歷表。當時有效文檔是比較粗略的,但在1969年JPL公開宣布DE69為星歷第三版。當時的JPL星歷出口是DE19。這些較
74、早期的版本都發(fā)布在當時的磁帶機上。</p><p> 在PC計算機時代之前,計算機都是非常笨重且昂貴的。因此只有具備足夠資金的大型組織才會負責研究諸如數值積分等較復雜的運算。噴氣推進實驗室率先將DE405星歷表集成在一臺雙精度通用自動計算機(Universal automatic computer, Univac)上。對比而言,研制于1977年的DE102,在UNIVAC 1100 / 81上花了近600百萬步
75、,運行時間長達9天;但是集成DEC Alpha的DE405就已經能夠達到DE102的四倍精度。</p><p> 在70年代和80年代早期,天文學領域的大部分工作是根據19世紀90年代的理論研究到當代的相對論理論原理更新天文年歷。從1975到1982年,噴氣推進實驗室利用數值積分的最小二乘平差現代技術研制6種星歷表并能夠輸出高精度數據:它們分別是DE96、DE102、DE111、DE118、 DE200和DE1
76、02。JPL星歷表保存了從最初版本到目前的所有天文年歷,目前國際地球自轉服務(International Earth Rotation Service, IERS)推薦的行星/月球星歷表為JPL的DE405/LE405歷表,下面僅對JPL的DE系列星歷表作簡單介紹[23-25]:</p><p> 1.DE200:包含章動,但不包含天平動。1984年以來DE200已經成為天文年歷的基礎,它基于J2000歷元的動
77、力學赤道和分點。</p><p> 2.DE403:包含章動,但不包含天平動。DE403由于曾作為IERS標準,鑒于某些領域的特殊用途,目前仍在沿用。</p><p> 3.DE405:包含章動和天平動。DE405是比較常用的JPL星歷表,創(chuàng)建于1997年5月到6月。DE405是基于國際天文協會(IAU)簡歷的參考坐標系ICRF。DE200與DE405僅相差大約0.01角秒。</
78、p><p> 4.DE406:不包含章動和天平動。DE406是新JPL長星歷,類似DE405,只是插值多項式的精度已經減少。對于DE406/LE406,任意行星的插值精度優(yōu)于25米,月球的插值精度優(yōu)于1米。</p><p> 5.DE410:包含章動和天平動。DE410是DE405的改進版,它主要是為2004年1月的火星探測漫游者號(Mars Exploration Rover, MER)
79、到達土星以及同年7月的卡西尼號土星探測器(Cassini))到達土星而發(fā)布的,因此對火星和土星的改進最為明顯。</p><p> 2.2實時發(fā)布技術研究</p><p> 目前,在天文數據發(fā)布方面運用的比較廣泛的是Web Service技術,而消息中間件是最近幾年才推出來的數據發(fā)布技術。</p><p> 2.2.1基于WebService的實時發(fā)布技術<
80、;/p><p> Web服務,即WebService。WebService[26-28]是新一代的開放分布式處理技術,它易于在Internet上實現跨平臺、語言獨立、松散耦合的異構應用間的交互和集成。在SOAP(Simple Object Access Protocol,SOAP)、XML[29](Extensible Markup Languages,XML)、WSDL[30](WebService)等技術協議規(guī)
81、范基礎上,Web Service可以較好地實現異構系統之間的應用集成以及數據交換。</p><p> 萬維網聯盟(World Wide Web Consortium,W3C)定義了Web服務的概念。根據W3C的定義,Web服務應該是一個軟件系統,并用以支持網絡上機器與機器間的互動操作。WebService采用SOA(Services-Oriented Architecture)體系架構,通過服務提供者,服務請求
82、者以及服務注冊庫之間的交互實現服務調用,Web服務體系架構圖如圖2.1所示。</p><p> 圖2. 1Web服務體系架構圖 </p><p> 1.Web服務體系涉及的規(guī)范協議主要包括WSDL、SOAP以及UDDI(Universal Description, Discovery, and Integration,統一描述、發(fā)現和集成,UDDI)。其中WSDL、SOAP和UDDI都
83、是基于XML的協議規(guī)范。XML為Web服務的實現奠定了有力基礎。XML是一種元語言,主要用來定義和描述其他語言。XML易于設計、創(chuàng)建和處理,而且可讀性高,因此,XML非常適用于描述Web文檔,因而也廣泛應用于應用程序之間的數據交換等問題。下面分別簡要介紹WSDL、SOAP以及UDDI:</p><p> 2.WSDL:即描述Web服務的標準方法。為了讓機器能夠識別Web Service的功能及函數調用的參數等,
84、我們需要提供一個機器可讀的Web 服務正式描述文檔。WSDL就是這樣一個基于XML語言的正式描述文檔。WSDL主要描述了Web 服務及該服務相關的函數、參數以及返回值等。因此,開發(fā)工具能夠根據Web Service生成WSDL文檔,也能根據已知的WSDL文檔,生成相應的Web Service代碼。</p><p> 3.SOAP:即綁定到Web服務的標準應用程序協議。SOAP主要為調用Web Service提供
85、標準的遠程過程調用(RPC)方法。SOAP規(guī)范主要定義了SOAP消息的格式,以及怎樣通過HTTP協議來使用SOAP。由于SOAP也是基于XML的,因此很容易通過XML來進行擴展。</p><p> 4.UDDI:即發(fā)布和查找Web服務標準協議。UDDI主要提供一種方法,使Web服務提供者將所在機構的詳細資料以及Web服務的消息情況發(fā)布到中心注冊表中。相應地,UDDI也提供一個服務消費者的標準,使消費者能夠找到對
86、應的服務提供者及Web服務的詳細資料。</p><p> 2.2.2基于消息中間件的實時發(fā)布技術</p><p> 隨著互聯網在各個領域應用的廣泛普及和不斷深入,分布式計算體系結構也得到了空前的發(fā)展。相應地,分布式環(huán)境下的應用需求也越來越多。例如,隨著天文數據爆炸式的增長,在天文研究工作中利用自動化工具提高科研效率已經是必然趨勢。在MUSER數據處理系統中,同樣面臨海量天文數據的技術難
87、點,而且在復雜的數據處理系統中如何保證各個子系統有效協同工作是關鍵。為了解決各個子系統不能形成統一整體的問題,一般采用分布式系統來實現。在分布式系統中,一般采用中間件技術以屏蔽分布環(huán)境的異構性和復雜性,進而達到簡化分布式應用程序開發(fā)和維護的目標。</p><p> 中間件技術的工作原理是,通過在應用層與底層基礎軟件中間增加一層,以屏蔽底層復雜的技術細節(jié),實現對底層的透明訪問,方便應用的開發(fā)、部署與管理[31]。
88、中間件技術發(fā)展迅速,種類繁多,其中消息中間件是發(fā)展較為迅速,也是比較成熟的一類中間件。</p><p> 消息中間件位于中間層,主要通過核心的API,極易擴展到不同系統和平臺上,因而滿足Internet環(huán)境下快速、可靠地連接異構資源的需求。消息中間件的體系結構圖如圖2.2所示。消息中間件主要為分布式應用提供可靠的異步數據傳輸。消息中間件的核心技術是以消息的形式收發(fā)不同系統中的應用程序數據,以解決不同系統或應用間
89、的通信問題。在分布式應用中,消息通常指的是不同應用進程之間用來傳遞和交換的信息。消息由消息的內容、消息接受者構成,其內容及格式由消息提供者和接受者共同協商而定。在實際通信過程中,通信雙方以異步、非阻塞、確定的方式收發(fā)消息,不需要實際的物理鏈路,因而消息中間件非常適合松散耦合的系統[32]。</p><p> 圖2. 2 消息中間件體系架構圖 </p><p> 2.2.3消息中間件的定
90、義</p><p> 消息中間件(MOM, Message Oriented Middleware)是一種利用高效可靠的消息傳遞機制進行與平臺無關的數據傳輸的軟件。MOM基于數據傳輸進行分布式系統的集成。消息中間件在應用系統中的位置,如圖2.3所示,位于操作系統和應用程序之間,因此,消息中間件能夠屏蔽不同的操作系統平臺以及不同協議之間的特性,從而實現不同操作系統平臺之間數據的傳遞和交換。</p>
91、<p> 圖2. 3 消息中間在應用系統中的位置</p><p> 2.2.4消息中間件的特點</p><p> 傳統的RPC技術主要針對一對一的通信,在一對多的通信實現上還存在一定技術缺陷。而且在一對一的通信模式中,一般要求同步通信,即客戶機發(fā)出請求后,必須等待服務器返回結果后才能繼續(xù)執(zhí)行下一個任務,因而導致客戶端執(zhí)行效率很低;同時,客戶機發(fā)出請求時,服務器必須在線,否則
92、會導致客戶端出錯。</p><p> 而在消息中間件技術中,應用程序之間并不直接通信,而是與消息中間件通信,也就是松耦合的方式集成。消息中間件能夠提供可靠高效的消息傳遞機制,非常適用于需要可靠的數據傳送的分布式環(huán)境。消息中間件主要特點有[33]:</p><p> 1.豐富的通信方式:消息中間件提供一對一,一對多,多對一,甚至多對多的通訊方式;</p><p>
93、 2.異步通信:整個通信過程是異步的,例如當客戶機把消息發(fā)送給消息中間件后不必等待返回結果可以繼續(xù)執(zhí)行下個任務;而服務器也不必立即處理這個消息,它可以在閑時從消息隊列中取出消息,處理完后發(fā)給消息中間件;</p><p> 3.跨平臺多協議傳輸:屏蔽操作系統的特性,并支持不同的協議;</p><p> 4.可靠的消息傳輸:消息可以離線存儲在硬盤,應用程序任何時候都能夠從硬盤讀取消息,而
94、且在重新啟動時,消息不丟失。</p><p> 目前主流的消息中間件產品有IBM的MQ,BEA的Message Q,北京東方通科技公司的TongLink/Q以及iMatix公司最近幾年推出的ZeroMQ等。</p><p> 2.2.5 WebService與消息中間件的比較</p><p> Web Service主要是在不同機器或者不同應用系統之間進行交互
95、操作或者數據交換的一種服務類技術。在SOAP、XML、WSDL等技術協議規(guī)范基礎上,Web Service可以較好地實現異構系統之間的應用集成以及數據交換。雖然XML簡單且可讀性強,但是,隨之而來的問題是,在數據傳輸過程中由于XML技術的封裝,所以系統傳輸的數據往往會附帶大量數據標簽、數據說明信息等冗余信息,從而導致數據體積和傳輸量大于實際數據量。所以,Web Service其實比較適合小數據量,且對傳輸效率要求不高的情況。Web Se
96、rvice不能支持一次采集復用,也就是說各個請求需要發(fā)起獨立調用請求,相應地,Web Service服務端也需要重復進行處理。</p><p> 針對MUSER數據處理系統的海量天文數據量以及實時處理要求,采用傳統的基于Web服務的數據發(fā)布方案是行不通的。而消息中間件,不僅具備Web Service支持多語言、跨平臺等基本的優(yōu)良特性,而且消息中間件通信是面向消息的,所以不存在Web Service的數據冗余問題
97、。從數據傳輸到面向消息模式的轉變,使得應用程序之間的交互操作和數據交換更安全,也更容易實現。</p><p> 2.3消息中間件ZeroMQ </p><p> ZeroMQ(又稱ØMQ或0MQ)是由技術社區(qū)推動發(fā)展的,主要由三十多名作者歷時三年合作開發(fā)出來的開源軟件,2009那年下半年才推出第一個版本1.0.1,經過幾年的發(fā)展,至今已經推出了版本4.1.0[34]。<
98、/p><p> ZeroMQ雖然看起來像是嵌入式的網絡庫,但行為像一個并發(fā)式的框架。ZeroMQ通過socket在進程內、進程間、TCP和組播中傳遞消息。程序員可以使用該socket建立N到N的通信模式,如扇出,發(fā)布-訂閱,任務分發(fā),請求-應答等。ZeroMQ足夠快,因此備受集群系統的青睞。而且,ZeroMQ的異步I/O模型有利于多核應用程序的擴展,并完成異步的消息處理任務。ZeroMQ支持多語言,幾乎能在所有操作
99、系統上運行[35, 36]。</p><p> 最初,有研究ZeroMQ應用于開發(fā)Web服務器的相關工作,例如Zed Shaw開發(fā)的網頁服務器Mongrel2[37]就是基于ZeroMQ的。由于ZeroMQ簡單、高性能,因而被越來越多的人關注。有專業(yè)人士分析,ZeroMQ是搭建云計算環(huán)境最好的通訊庫。因為ZeroMQ屬于高性能的分布式消息中間件,對服務器集群和超級計算都足夠快,所以用它實現云計算無疑會大大提高效
100、率。ZeroMQ正在不斷完善,性能也會越來越穩(wěn)定,使用者也將越來越多,未來ZeroMQ會成為通訊網絡的主流軟件之一。</p><p> 2.3.1 ZeroMQ在天文數據發(fā)布中的優(yōu)勢</p><p> ZeroMQ提供多種通信方式,很好的為異地異構用戶提供相應的服務。ZeroMQ具有跨平臺、高效可靠、松耦合等特性,很好的滿足了具有異地異構特性的數據密集型天文數據發(fā)布的需求。</p
101、><p> 傳統的網絡交互使用的是基于TCP/IP協議的BSD,BSD套接字主要是點對點的連接,它需要顯式地建立連接、銷毀連接、選擇協議和處理錯誤等。這些基本上都屬于底層技術細節(jié)部分,因而編程復雜。而且,TCP/IP協議往往需要自下到上遍歷網絡棧,因而傳輸效率比較低。但是,ZeroMQ會自動建立連接、撤銷連接以及重新連接等,并且會自己處理好緩存和組幀等,因而編程較更為簡單和安全。</p><p&
102、gt; ZeroMQ是面向消息的,端到端的消息傳輸機制,大大提高了傳輸效率[38, 39]。目前,ZeroMQ可用于C、C++、Python和Java等多種語言,并支持絕大部分的操作系統,因此非常適合復雜的科學數據處理。</p><p> 2.3.2 ZeroMQ通訊模式</p><p> ZeroMQ支持多種消息模式。ZeroMQ把通訊的需求看成四類。其中一類是一對一的結對通訊,主
103、要用來支持傳統的TCP socket模型,但并不推薦使用。常用的通訊模式主要有以下三種[40]:</p><p> 1.請求應答模式(Request-Reply):</p><p> 請求應答模式中的套接字類型是ZMQ_REQ和ZMQ_REP。其中,ZMQ_REQ套接字常用于客戶端,其通信模式必須是先發(fā)送一條消息,然后接收一條消息,再發(fā)送消息和接收消息。當服務器不在線時,ZMQ_REQ
104、套接字則進入異常狀態(tài);ZMQ_REP套接字常用于服務端,其通信模式必須是先接收一個消息,再發(fā)送一個應答,再接收消息和發(fā)送。當客戶端不在線時,ZMQ_REP套接字也進入異常狀態(tài),并丟棄該客戶端發(fā)送的請求,直至異常狀態(tài)終止。如圖2.4和2.5所示,一個ZMQ_REQ套接字可以對應多個ZMQ_REP套接字,而一個ZMQ_REP套接字也可以對應多個ZMQ_REQ套接字,即實現一對一和一對多的通信模式。從圖中可以看出,ZMQ_REQ-ZMQ_RE
105、P套接字組合是同步的。為了提高這兩種套接字在路由轉發(fā)和異步通信方面的能力,ZeroMQ引入了擴展的請求應答套接字ZMQ_DEALER和ZMQ_ROUTER。</p><p> 圖2. 4請求應答模式</p><p> 2.發(fā)布訂閱模式(Publish-Subscribe):</p><p> 發(fā)布訂閱模式中的套接字類型是ZMQ_PUB和ZMQ_SUB。其中ZM
106、Q_PUB套接字用于發(fā)布端,負責分發(fā)數據,該套接字只能發(fā)送消息,不能接收消息;ZMQ_SUB套接字則用于訂閱端,接收消息前需要使用zmq_setsockopt()方法設置訂閱,否則訂閱端將收不到任何消息。如圖2.5所示,在這種通訊模式中,發(fā)布者只是單向發(fā)送數據,且不關心是否把全部的信息都發(fā)送給訂閱者。如果發(fā)布者開始發(fā)布信息的時候,而訂閱者還尚未連接成功的話,則這些信息將直接被丟棄。同樣,訂閱者只負責接收,而不像請求應答模式中需要反饋。當
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高精度gps變形監(jiān)測數據處理研究
- 高精度GNSS數據處理及關鍵算法研究.pdf
- arcgis軟件在測繪數據處理中的應用-畢業(yè)論文
- 【畢業(yè)論文】gps測量及數據處理
- arcgis軟件在測繪數據處理中的應用-畢業(yè)論文
- 熱處理畢業(yè)論文范文
- 【畢業(yè)論文】gps測量及數據處理
- 28900.gamit與bernese軟件在高精度gps數據處理中的應用分析
- gps數據處理研究畢業(yè)論文
- 計算機畢業(yè)論文范文
- 高精度變形測量技術與數據處理方法.pdf
- 畢業(yè)論文范文——淺談計算機在材料工程中的應用
- 畢業(yè)論文范文——淺談計算機在材料工程中的應用
- 計算機畢業(yè)論文范文畢業(yè)論文計算機專業(yè)
- 畢業(yè)論文范文范文
- 計算機專業(yè)畢業(yè)論文范文
- 計算機專業(yè)畢業(yè)論文范文
- 基于時數轉換的高精度測距數據處理方法研究.pdf
- 計算機專業(yè)畢業(yè)論文范文
- 畢業(yè)論文范文
評論
0/150
提交評論