畢業(yè)論文范文——高精度星表位置計(jì)算及在muser數(shù)據(jù)處理中的_第1頁
已閱讀1頁,還剩91頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  分類號 密級 </p><p>  U D C </p><p>  昆明理工大學(xué) 碩士學(xué)位論文</p><p>  高精度星表位置計(jì)算及在MUSER數(shù)據(jù)處理中的</p&

2、gt;<p><b>  實(shí)時發(fā)布應(yīng)用研究</b></p><p>  研究生姓名    </p><p>  指導(dǎo)教師姓名、職稱    </p><p>  學(xué)科專業(yè)    軟件工程

3、 </p><p>  研究方向    數(shù)據(jù)處理 </p><p><b>  論文工作</b></p><p>  起止日期 </p><p>  論文提交日期

4、 </p><p><b>  摘要</b></p><p>  高精度星表位置計(jì)算不僅是天文研究領(lǐng)域中的基本問題,而且也是明安圖超寬頻譜射電日像儀(Mingantu Ultrawide Spectral Radioheliograph, MUSER)觀測與數(shù)據(jù)處理過程中的重要組成部分。觀測時為了確保相位補(bǔ)償精度,MUSER需要觀測目標(biāo)的視位置計(jì)算精度能夠優(yōu)

5、于1個毫角秒。</p><p>  論文針對MUSER海量實(shí)時數(shù)據(jù)處理特點(diǎn),主要研究了高精度星表位置計(jì)算及在MUSER數(shù)據(jù)處理系統(tǒng)中的實(shí)時發(fā)布應(yīng)用研究等工作。論文的主要研究工作如下:</p><p>  1.論文研究了基于JPL精密星歷的高精度星表位置計(jì)算方法。在研究NOVAS (Naval Observatory Vector Astrometry Software, NOVAS)星歷計(jì)

6、算基礎(chǔ)上,結(jié)合MUSER數(shù)據(jù)處理的特點(diǎn),使用SWIG(Simplified Wrapper and Interface Generator, SWIG)技術(shù)實(shí)現(xiàn)了Python調(diào)用NOVAS軟件包的方法,最后實(shí)現(xiàn)了一個可以在MUSER數(shù)據(jù)處理系統(tǒng)中被集成調(diào)用的星歷軟件包;</p><p>  2.論文在高精度星表位置計(jì)算基礎(chǔ)上,研究了不同插值方法對星表計(jì)算插值結(jié)果的影響。實(shí)驗(yàn)設(shè)計(jì)主要從精度和效率兩個維度分別對拉格朗

7、日插值、分段低次插值(包括分段線性插值和分段二次插值)以及三次樣條插值進(jìn)行了對比分析試驗(yàn);</p><p>  3.在上述研究的基礎(chǔ)上,論文設(shè)計(jì)并實(shí)現(xiàn)了基于ZeroMQ的高精度星表位置實(shí)時發(fā)布系統(tǒng)。該系統(tǒng)作為OpenCluster中的服務(wù)實(shí)例,主要為MUSER分布計(jì)算框架中的Headman、Worker等實(shí)體提供高精度星表位置計(jì)算服務(wù),系統(tǒng)的實(shí)現(xiàn)屬于MUSER數(shù)據(jù)處理中的應(yīng)用研究問題。</p>&l

8、t;p>  論文屬于天文應(yīng)用領(lǐng)域的基礎(chǔ)研究,論文中的相關(guān)研究工作有效推進(jìn)了MUSER數(shù)據(jù)處理系統(tǒng)的建設(shè),同時對天文信息技術(shù)研究領(lǐng)域中高精度星表位置計(jì)算和實(shí)時發(fā)布等實(shí)際問題也有一定參考價值。</p><p>  關(guān)鍵字:星表計(jì)算;NOVAS;插值方法;實(shí)時發(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天文數(shù)據(jù)處理背景(1)</p><p>  1.1.2明安圖超寬頻譜射電日像儀介紹(1)</p><p>  1.2高精度星表位置計(jì)算與實(shí)時發(fā)布應(yīng)用需求(3)</p><p>  1.3國內(nèi)外研究現(xiàn)狀

22、(6)</p><p>  1.4論文的主要工作(7)</p><p>  1.5論文的結(jié)構(gòu)和安排(8)</p><p>  1.6本章小結(jié)(8)</p><p>  第二章 相關(guān)技術(shù)研究</p><p>  2.1 JPL精密星歷概述(11)</p><p>  2.2實(shí)時發(fā)布技術(shù)研

23、究(12)</p><p>  2.2.1基于WebService的實(shí)時發(fā)布技術(shù)(12)</p><p>  2.2.2基于消息中間件的實(shí)時發(fā)布技術(shù)(13)</p><p>  2.2.3消息中間件的定義(14)</p><p>  2.2.4消息中間件的特點(diǎn)(15)</p><p>  2.2.5 WebS

24、ervice與消息中間件的比較(15)</p><p>  2.3消息中間件ZeroMQ(16)</p><p>  2.3.1 ZeroMQ在天文數(shù)據(jù)發(fā)布中的優(yōu)勢(17)</p><p>  2.3.2 ZeroMQ通訊模式(17)</p><p>  2.3.3 ZeroMQ和同類產(chǎn)品相比(19)</p><

25、p>  2.4本章小結(jié)(21)</p><p>  第三章 基于NOVAS的高精度星表位置計(jì)算</p><p>  3.1 JPL DE405星歷表(23)</p><p>  3.1.1星表文件格式(24)</p><p>  3.1.2星表計(jì)算原理(25)</p><p>  3.1.3DE405精度

26、分析(26)</p><p>  3.2 MUSER觀測目標(biāo)精確位置計(jì)算(27)</p><p>  3.3 NOVAS軟件包介紹(27)</p><p>  3.4 基于PYTHON的NOVAS計(jì)算(29)</p><p>  3.4.1 SWIG接口文件定義(30)</p><p>  3.4.2 PYT

27、HON調(diào)用(33)</p><p>  3.5 IERS數(shù)據(jù)提取與更新系統(tǒng)的調(diào)用(34)</p><p>  3.5.1 IERS數(shù)據(jù)需求分析(34)</p><p>  3.5.2 IERS數(shù)據(jù)分析(35)</p><p>  3.5.3系統(tǒng)函數(shù)調(diào)用(35)</p><p>  3.6本章小結(jié)(36)&l

28、t;/p><p>  第四章 星表位置計(jì)算中插值方法分析</p><p>  4.1 幾種插值數(shù)學(xué)模型(37)</p><p>  4.1.1拉格朗日多項(xiàng)式插值(37)</p><p>  4.1.2分段低次插值(38)</p><p>  4.1.3三次樣條插值(39)</p><p> 

29、 4.2實(shí)驗(yàn)一:幾種插值方法精度分析對比實(shí)驗(yàn)(40)</p><p>  4.2.1實(shí)驗(yàn)?zāi)康模?0)</p><p>  4.2.2實(shí)驗(yàn)描述(40)</p><p>  4.2.3實(shí)驗(yàn)結(jié)果及分析(41)</p><p>  4.3實(shí)驗(yàn)二:幾種插值算法效率分析對比實(shí)驗(yàn)(53)</p><p>  4.3.1實(shí)

30、驗(yàn)?zāi)康模?3)</p><p>  4.3.2實(shí)驗(yàn)描述(54)</p><p>  4.3.3實(shí)驗(yàn)結(jié)果及分析(54)</p><p>  4.4實(shí)驗(yàn)結(jié)論(54)</p><p>  4.5本章小結(jié)(55)</p><p>  第五章 高精度星表位置實(shí)時發(fā)布系統(tǒng)應(yīng)用研究</p><p>

31、  5.1系統(tǒng)設(shè)計(jì)背景(57)</p><p>  5.1.1流式計(jì)算模型(57)</p><p>  5.1.2MUSER分布環(huán)境(57)</p><p>  5.2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(59)</p><p>  5.2.1 ZeroMQ通訊模式的選擇(59)</p><p>  5.2.2 ZeroMQ消息

32、使用(60)</p><p>  5.2.3系統(tǒng)服務(wù)器實(shí)現(xiàn)(61)</p><p>  5.2.4 系統(tǒng)客戶機(jī)實(shí)現(xiàn)(62)</p><p>  5.3系統(tǒng)開發(fā)環(huán)境(66)</p><p>  5.3.1硬件設(shè)備(66)</p><p>  5.3.2軟件環(huán)境(66)</p><p>

33、  5.3.3開發(fā)語言(66)</p><p>  5.4系統(tǒng)健壯性分析(66)</p><p>  5.4.1系統(tǒng)分布部署(67)</p><p>  5.4.2系統(tǒng)數(shù)據(jù)更新(67)</p><p>  5.4.3系統(tǒng)負(fù)載均衡(67)</p><p>  5.5本章小結(jié)(68)</p>&l

34、t;p><b>  第六章 總結(jié)與展望</b></p><p>  6.1全文研究工作總結(jié)(69)</p><p>  6.2對未來工作的展望(70)</p><p><b>  致謝(73)</b></p><p><b>  參考文獻(xiàn)(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天文數(shù)據(jù)處理背景</p><p

36、>  隨著天文望遠(yuǎn)鏡的設(shè)計(jì)和制造、大尺寸探測器陣列的開發(fā)以及一系列巡天項(xiàng)目的實(shí)施,加上計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,天文學(xué)已經(jīng)邁入了豐富的信息數(shù)據(jù)新紀(jì)元。天文數(shù)據(jù)也已經(jīng)跨越了全電磁波段,無論是射線、X射線、紫外、光學(xué)、紅外還是射電波段都具有豐富的數(shù)據(jù)信息。豐富的觀測數(shù)據(jù)為研究新現(xiàn)象和新規(guī)律提供了有力基礎(chǔ)。然而,天文數(shù)據(jù)量也由此越來越大,總量已經(jīng)達(dá)到PB量級。另外,天文數(shù)據(jù)一般來自于不同的觀測儀器、觀測地點(diǎn)和觀測時間,而且數(shù)據(jù)文件格式也

37、不盡相同,這也由此導(dǎo)致了天文數(shù)據(jù)處理的復(fù)雜性。天文數(shù)據(jù)的內(nèi)容包括星表、星圖、光譜和天文方面的文獻(xiàn)資料、觀測日志等多種數(shù)據(jù)類型。其中,星表是包含天體信息的一種數(shù)據(jù)表格,也是天文學(xué)家最常用到的天文數(shù)據(jù)之一。天文星表數(shù)據(jù)作為天文數(shù)據(jù)中心數(shù)據(jù)庫的重要部分,收集和整理了重要的和最新的星表數(shù)據(jù)集,為國內(nèi)外天文學(xué)家和其他用戶提供星表查詢服務(wù)和星表獲得服務(wù)[1]。 </p><p>  1.1.2明安圖超寬頻譜射電日像儀介紹&l

38、t;/p><p>  日像儀[2]也是一種射電望遠(yuǎn)鏡。射電望遠(yuǎn)鏡與光學(xué)望遠(yuǎn)鏡的不同點(diǎn)在于前者沒有物鏡和目鏡。射電望遠(yuǎn)鏡一般是由天線陣、接收系統(tǒng)和數(shù)據(jù)處理系統(tǒng)這三大部分構(gòu)成。其中,天線陣是射電望遠(yuǎn)鏡最顯著的特點(diǎn),而且天線陣種類繁多,最常用的天線陣是拋物面。天線陣之所以如此突出,是因?yàn)樘炀€陣能夠把微弱的無線電信號收集起來,然后通過接收系統(tǒng)將信號記錄以數(shù)據(jù)的形式保存在計(jì)算機(jī)中。天文科學(xué)家利用數(shù)據(jù)處理系統(tǒng)分析這些數(shù)據(jù)進(jìn)而得到

39、天體的相關(guān)信息。</p><p>  為推動太陽射電觀測技術(shù)的發(fā)展,我國天文科學(xué)家提出了400MHz~15GHz范圍內(nèi)的厘米-分米波日像儀。該日像儀將首次在多波段上實(shí)現(xiàn)以高時間,高空間以及高頻率分辨率來觀測太陽活動的動力學(xué)性質(zhì),并能對太陽從色球?qū)拥礁呷彰釋拥膹V大區(qū)域中進(jìn)行高分辨率的三維動態(tài)成像觀測,繼而填補(bǔ)國際科學(xué)界在太陽耀斑、日冕物質(zhì)拋射等爆發(fā)活動的能量初始釋放區(qū)高分辨率射電成像觀測方面的空白。明安圖超寬頻譜射

40、電日像儀不僅揭示了太陽劇烈活動的起源和發(fā)生規(guī)律,而且也已取得一批原創(chuàng)性的研究成果,這大大提升了我國在太陽活動預(yù)報(bào)方面的能力,也為航空、航天、衛(wèi)星通訊和國防建設(shè)等應(yīng)用領(lǐng)域提供了有力基礎(chǔ),對推動學(xué)科發(fā)展及相關(guān)高新技術(shù)領(lǐng)域的建設(shè)都具有重要的推動作用[3-6]。</p><p>  明安圖超寬頻譜射電日像儀(Mingantu Ultrawide Spectral Radioheliograph, MUSER)項(xiàng)目選址[7

41、]在中國內(nèi)蒙錫林格勒盟正鑲白旗明安圖觀測站,整體分兩期完成:第一期(MUSER –I)低頻陣(400MHz~2GHz)由40面4.5m天線及接收設(shè)備組成;第二期(MUSER –II)高頻陣由60面2m天線及接收設(shè)備組成。隨著MUSER –I進(jìn)入系統(tǒng)聯(lián)調(diào)和試觀測階段,當(dāng)前迫切需要實(shí)現(xiàn)的是對試觀測結(jié)果進(jìn)行相應(yīng)的數(shù)據(jù)處理。如圖1.1所示,天線陣接收到射電噪聲信號后,首先經(jīng)過低噪聲放大器放大,然后進(jìn)行電光模式轉(zhuǎn)換,并將電信號轉(zhuǎn)換為光信號再通過光

42、纖傳到觀測站機(jī)房[8]。在觀測站機(jī)房,經(jīng)過模擬數(shù)字接收機(jī)和數(shù)字接收機(jī)的依次處理后,最終生成約定格式的數(shù)據(jù)文件并離線存儲[9]。為了實(shí)現(xiàn)實(shí)時狀態(tài)監(jiān)控以及實(shí)時可視化展現(xiàn)等功能,數(shù)字接收機(jī)在保存觀測數(shù)據(jù)文件的同時,也可以將部分觀測數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到指定服務(wù)器,以供后續(xù)實(shí)時數(shù)據(jù)處理分析使用。其中,虛線框內(nèi)表示MUSER觀測與數(shù)據(jù)處理系統(tǒng)的基本結(jié)構(gòu)。</p><p>  圖1. 1 MUSER觀測與數(shù)據(jù)處理系統(tǒng)流程圖<

43、;/p><p>  1.2高精度星表位置計(jì)算與實(shí)時發(fā)布應(yīng)用需求</p><p>  1.高精度星表位置計(jì)算需求分析:</p><p>  MUSER天線陣由100面天線接收系統(tǒng)組成,采用綜合孔徑方法成像,即通過對每個天線接收到的信號進(jìn)行復(fù)相關(guān)計(jì)算得到源的亮度分布。但是,在進(jìn)行相關(guān)計(jì)算時要求天線接收的信號也要同時達(dá)到相關(guān)器做復(fù)相關(guān)運(yùn)算。然而,在傳輸過程中,信號經(jīng)過不同路徑

44、時不免要產(chǎn)生延遲,因此需要做延時補(bǔ)償。MUSER的延時主要有兩類:一是幾何延時;二是系統(tǒng)延時。其中空間段幾何延時主要是因?yàn)樘炀€位置不同產(chǎn)生的,并會隨天線觀測太陽角度變化而產(chǎn)生相應(yīng)延時。</p><p>  圖1.2雙天線干涉獲得信號的相關(guān)輸出圖[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兩面天線間信號同時同相位相關(guān),因此在接收機(jī)A路需要加入幾何延時補(bǔ)償參數(shù),數(shù)字本振加入相位φ,只有這樣才能保證A、B信號相關(guān)。延時和相位的補(bǔ)

46、償與基線距離有關(guān),因此基線距離的精度會影響幾何補(bǔ)償?shù)臏?zhǔn)確性,從而影響圖像的動態(tài)范圍和源的位置等信息。</p><p>  根據(jù)式(1.1)我們知道,幾何延時與基線距離密切相關(guān)。在射電天文中,基線距離即天線三維位置測量,一般可采用大地坐標(biāo)測量、天文源干涉測量等方法。MUSER日像儀采用大地坐標(biāo)測量方法對天線的相對位置進(jìn)行測量。大地坐標(biāo)測量是利用光學(xué)測距的方法確定天線位置坐標(biāo),從而計(jì)算基線距離。綜合孔徑成像原理是把源

47、假定為二維圖像,源位置信息的傅里葉分量用地面上的方向矢量表示,因此地面上的天線坐標(biāo)只需要知道相對坐標(biāo)即可。MUSER采用相對坐標(biāo)系對太陽進(jìn)行觀測,成像的坐標(biāo)系為垂直于源的直角坐標(biāo)系,計(jì)算延時的時候需要把相對坐標(biāo)進(jìn)行坐標(biāo)轉(zhuǎn)換,統(tǒng)一到成像坐標(biāo)系統(tǒng)內(nèi)計(jì)算[11]。計(jì)算公式如式(1.2)所示: </p><p><b&g

48、t; ?。?.2)</b></p><p>  式(1.2)中,為前面說的幾何延時;分別為源的赤緯和時間角; 分別為站心坐標(biāo)系和地心坐標(biāo)系下天線間的基線距離;為指向觀測員的坐標(biāo)系統(tǒng)。通過站心平面直角坐標(biāo)系和地心直角坐標(biāo)系的轉(zhuǎn)換,從而得到統(tǒng)一的成像坐標(biāo)系下的延時補(bǔ)償和相位條紋旋轉(zhuǎn)參數(shù)。[11]我們知道通過本地恒星時和赤經(jīng)可以推算赤緯,其中為本地恒星時,為赤經(jīng),為時角,如式(1.3):</p>

49、<p> ?。?.3) </p><p>  MUSER是具有高時間、高空間和高分辨率的太陽射電望遠(yuǎn)鏡。為了使信號相關(guān)值準(zhǔn)確,需要精確測量系統(tǒng)的延時,因此在實(shí)際的數(shù)據(jù)處理過程中系統(tǒng)延時補(bǔ)償計(jì)算就顯得非常有必要。通過前面的敘述,我們知道計(jì)算延時補(bǔ)償和相位條紋旋轉(zhuǎn)參數(shù)時需要用到的關(guān)鍵參數(shù)是觀測目標(biāo)的視位置。另外,在MUSER數(shù)據(jù)預(yù)處理過程中,需要將源數(shù)據(jù)生成自

50、定義格式數(shù)據(jù),如UVFITS[12]和FITSIDI[13, 14]。在這些自定義格式數(shù)據(jù)說明中都有UV_DATA表,而UV_DATA表都定義了RA(赤經(jīng)),DEC(赤緯)字段以及UU,VV,WW字段,其中由式(1.2)知道UU,VV,WW[15]的也需要赤經(jīng)和赤緯。</p><p>  由此可見,高精度星表位置計(jì)算是MUSER觀測與后續(xù)數(shù)據(jù)處理的重要組成部分。作為一個射電干涉陣,MUSER在觀測及后續(xù)數(shù)據(jù)處理時

51、,均需要進(jìn)行高精度的觀測目標(biāo)(如太陽)的視位置進(jìn)行計(jì)算。如對各個基線的相位差進(jìn)行修正、保存觀測數(shù)據(jù)進(jìn)行UVW計(jì)算等。MUSER的基線為3200米,在高頻(15GHz)觀測時為了確保相位補(bǔ)償精度,需要觀測目標(biāo)的視位置計(jì)算精度能夠優(yōu)于1個毫角秒。為達(dá)到這樣高的計(jì)算精度,采用精密行星星表是一種必然的選擇。</p><p>  2.高精度星表位置實(shí)時發(fā)布需求分析:</p><p>  MUSER整

52、個工作分兩期完成,一期低頻陣MUSER-I由40面4.5米天線及接收設(shè)備組成,在64個頻率點(diǎn)上成像,一分鐘觀測產(chǎn)生1.92GB數(shù)據(jù),假定一天觀測10小時,則一天的觀測數(shù)據(jù)約1.05TB;二期高頻陣MUSER-II由60面2米天線及接收設(shè)備組成,在528個頻率點(diǎn)上成像,假定一天觀測10小時,則一天產(chǎn)生的數(shù)據(jù)約為2.146TB。當(dāng)系統(tǒng)設(shè)備進(jìn)入正常觀測后,一個月的總觀測數(shù)據(jù)量則將接近100TB。</p><p>  M

53、USER的數(shù)據(jù)處理過程與常規(guī)的綜合孔徑成像觀測數(shù)據(jù)處理過程是類似的。但是由于MUSER的特點(diǎn),使得整個系統(tǒng)的研究與其它射電觀測存在很大區(qū)別。MUSER數(shù)據(jù)處理是一個復(fù)雜的數(shù)據(jù)處理系統(tǒng),根據(jù)軟件工程的思想,將整個系統(tǒng)進(jìn)行自頂向下設(shè)計(jì),共分為5個子系統(tǒng):</p><p>  1.?dāng)?shù)據(jù)采集系統(tǒng)(Data Collection System, DCS):主要實(shí)現(xiàn)元數(shù)據(jù)的采集并供后續(xù)數(shù)據(jù)處理使用;</p>&

54、lt;p>  2.數(shù)據(jù)處理系統(tǒng)(Data Processing System, DPS):主要實(shí)現(xiàn)元數(shù)據(jù)到Fits文件(包括UVFITS和FITSIDI)的格式轉(zhuǎn)換,進(jìn)行數(shù)據(jù)歸檔和成圖(包括互相關(guān)圖,流量密度圖,臟圖以及潔化圖);</p><p>  3.數(shù)據(jù)監(jiān)控系統(tǒng)(Data Supervisor System, DSS):主要實(shí)現(xiàn)以多屏方式實(shí)時監(jiān)控和實(shí)時展現(xiàn)DPS中的圖像信息;</p>&

55、lt;p>  4.?dāng)?shù)據(jù)可視化展現(xiàn)系統(tǒng)(Data Visualization System, DVS):主要實(shí)現(xiàn)數(shù)據(jù)處理系統(tǒng)結(jié)果和圖像信息的web發(fā)布。</p><p>  MUSER需離線存儲、實(shí)時處理并實(shí)時監(jiān)控觀測數(shù)據(jù)以研究太陽動力學(xué)性質(zhì)。MUSER中的海量數(shù)據(jù)對系統(tǒng)實(shí)時處理和高性能計(jì)算都提出了較大的技術(shù)挑戰(zhàn)。</p><p>  針對MUSER中所面臨的海量數(shù)據(jù)的實(shí)時處理技術(shù)難點(diǎn)

56、,項(xiàng)目組依據(jù)流式計(jì)算原理構(gòu)建了分布式計(jì)算框架(Open Cluster)。Open Cluster抽象傳統(tǒng)工業(yè)生產(chǎn)中的Factory生產(chǎn)流程模型,例如在傳統(tǒng)的工業(yè)生產(chǎn)流程中,產(chǎn)品在Factory中從生產(chǎn)到銷售需要多個步驟,如加工,包裝,發(fā)貨等。Factory收到訂單后,按照生產(chǎn)工藝將訂單交由加工環(huán)節(jié)的Headman, Headman收到任務(wù)后,再將工作任務(wù)下發(fā)到Worker。工作完成后再交由包裝環(huán)節(jié)的Headman,同理最后到發(fā)貨環(huán)節(jié)。

57、在整個生產(chǎn)過程中,Worker和Headman都需要一些公共服務(wù),如打印,通訊等。這就構(gòu)成了一個簡單的Factory生產(chǎn)流程。這種簡單的Factory生產(chǎn)流程模型,也非常適用于科學(xué)數(shù)據(jù)處理。</p><p>  在MUSER數(shù)據(jù)處理流程中,數(shù)據(jù)在系統(tǒng)中從采集到處理同樣需要經(jīng)過多個步驟,而且在處理過程中也需要調(diào)用多個公共服務(wù)來提供校驗(yàn)或者修正數(shù)據(jù),其中很重要的一種服務(wù)就是為MUSER中的各個子系統(tǒng)實(shí)時發(fā)布觀測目標(biāo)的

58、基礎(chǔ)數(shù)據(jù)[15]:</p><p>  1.視位置(apparent place):包括視赤經(jīng)(apparent right ascension)和視赤緯(declination);</p><p>  2.站心位置(topocentric place):包括站心赤經(jīng)(topocentric right ascension)和站心赤緯(topocentric declination)<

59、;/p><p>  3.格林尼治視恒星時(Greenwich apparent sidereal time, GAST)</p><p>  1.3國內(nèi)外研究現(xiàn)狀</p><p>  隨著光學(xué)望遠(yuǎn)鏡和射電望遠(yuǎn)鏡的發(fā)展,天文學(xué)家面臨越來越多的望遠(yuǎn)鏡觀測到的海量天文數(shù)據(jù)。天文科學(xué)家常常需要聯(lián)合多個波段的星表信息來分析觀測目標(biāo)在多波段上的光譜特性,進(jìn)而對觀測目標(biāo)進(jìn)行更深入的科

60、學(xué)研究和分析。因此,星表相關(guān)研究工作成為了天文學(xué)不可忽視的重要課題。</p><p>  國際上,星表主要分全天星表和特殊星表。全天星表主要按亮度設(shè)定收錄依據(jù),而特殊星表主要針對特殊類型。目前,在科學(xué)數(shù)據(jù)處理中,用得比較多的是由美國海軍天文臺出版的系列星表,其中USNO-B1.0星表采用J2000.0歷元,星表位置精確到0.2角秒[16];UCAC3也是一個整合的全天星表。此星表覆蓋了V和R波段的8到16星等范圍

61、的主要目標(biāo)天體。在星等為10-14時,位置誤差范圍大約為15-20毫角秒。 此外,法國的天體力學(xué)和星歷計(jì)算研究組織[17](IMCCE)也為全球提供星表數(shù)據(jù)服務(wù)。</p><p>  國內(nèi),關(guān)于星表位置計(jì)算應(yīng)用領(lǐng)域主要有天文導(dǎo)航以及太陽能發(fā)電等。在天文導(dǎo)航技術(shù)方面,早在2004和2005年王安國[18, 19]等人就在FK5和DE405星表數(shù)據(jù)文件基礎(chǔ)上提出了一套高精度恒星視位置計(jì)算數(shù)學(xué)模型,該模型中實(shí)現(xiàn)的恒星視

62、位置計(jì)算精度優(yōu)于1秒,總體精度優(yōu)于目前廣泛應(yīng)用的天文導(dǎo)航軟件包中的視位置精度10到20倍,同時優(yōu)于法定歷書《航海天文年歷》精度16到40倍;2010年周慶勇[20]等人提出設(shè)計(jì)和實(shí)現(xiàn)天體視位置計(jì)算軟件,系統(tǒng)計(jì)算精度達(dá)到毫角秒,而且也滿足天文導(dǎo)航的要求;在太陽能發(fā)電應(yīng)用方面,2008年馬健[21]等人根據(jù)《天文算法》中計(jì)算天體的方法,提出了計(jì)算太陽位置的具體方法,由該方法計(jì)算的太陽位置結(jié)果與天文年歷十分接近,赤經(jīng)最大誤差不超過0.01s,

63、赤緯最大誤差不超過0.03s。</p><p>  目前國內(nèi)在高精度星表位置實(shí)時發(fā)布的天文研究工作尚處于起步階段,有一些具體的天文應(yīng)用[22]開始著手使用Web Service技術(shù),進(jìn)行海量天文數(shù)據(jù)的發(fā)布研究。而在實(shí)時性方面,海量天文數(shù)據(jù)為星表位置發(fā)布研究工作提出了更嚴(yán)峻的挑戰(zhàn)。高精度星表位置實(shí)時發(fā)布工作,目前仍然需要進(jìn)一步的研究和探索。</p><p>  1.4論文的主要工作</

64、p><p>  本文針對天文數(shù)據(jù)處理的復(fù)雜性,在借鑒美國海軍天文臺JPL星表計(jì)算程序的基礎(chǔ)上,并結(jié)合MUSER數(shù)據(jù)處理的自身特點(diǎn),針對天文學(xué)中的高精度星表計(jì)算,提出了利用SWIG技術(shù)實(shí)現(xiàn)PYTHON調(diào)用NOVAS軟件包的方法。在PYTHON調(diào)用中驗(yàn)證了這個方法,并對星表計(jì)算的精度做了簡要分析。在該星表計(jì)算精度的基礎(chǔ)上,結(jié)合MUSER對星表計(jì)算的高精度需求,提出了幾種插值方法以實(shí)現(xiàn)高精度星表計(jì)算需求,通過實(shí)驗(yàn)分析驗(yàn)證分

65、段二次插值方法在精度和效率上優(yōu)于其他插值方法。最后在星表計(jì)算中利用該插值方法,實(shí)現(xiàn)了基于消息中間件的實(shí)時發(fā)布服務(wù)。本論文的主要工作有:</p><p>  首先,介紹了天文數(shù)據(jù)處理的大致背景,MUSER日像儀的基本情況以及高精度星表位置計(jì)算與實(shí)時發(fā)布的需求;</p><p>  其次,在對NOVAS軟件包的相關(guān)技術(shù)知識研究的基礎(chǔ)上,分析了NOVAS軟件包的星表計(jì)算程序,同時結(jié)合SWIG技術(shù)

66、,實(shí)現(xiàn)了PYTHON調(diào)用NOVAS軟件包的方法;</p><p>  然后,對基于NOVAS的高精度星表位置計(jì)算精度進(jìn)行了分析研究,結(jié)合MUSER數(shù)據(jù)處理高精度星表位置的計(jì)算需求,提出了幾種插值方法并通過實(shí)驗(yàn)分析驗(yàn)證了分段二次插值優(yōu)于其他插值方法,精度和效率也滿足MUSER數(shù)據(jù)處理的要求;</p><p>  最后,依據(jù)MUSER數(shù)據(jù)處理系統(tǒng)提出的分布計(jì)算框架OpenCluster,設(shè)計(jì)并

67、實(shí)現(xiàn)了基于消息中間件的高精度星表位置實(shí)時發(fā)布系統(tǒng)。</p><p>  1.5論文的結(jié)構(gòu)和安排</p><p>  本論文研究的主要內(nèi)容是分布環(huán)境下高精度星表位置計(jì)算與實(shí)時發(fā)布研究,本文分為六章,具體的章節(jié)內(nèi)容安排如下:</p><p>  第一章:緒論。論述了論文的選題背景及研究意義;介紹了天文數(shù)據(jù)處理背景以及MUSER日像儀的基本情況,并分析了MUSER數(shù)據(jù)處理

68、中高精度星表位置計(jì)算與實(shí)時發(fā)布需求。最后簡述了本文的主要工作以及全文的結(jié)構(gòu)和安排。</p><p>  第二章:相關(guān)技術(shù)研究。簡要介紹了JPL精密星歷;并分別從Web服務(wù)和消息中間件兩個方面詳細(xì)介紹了實(shí)時數(shù)據(jù)發(fā)布技術(shù),結(jié)合MUSER數(shù)據(jù)處理系統(tǒng)的實(shí)現(xiàn)目標(biāo),重點(diǎn)介紹了ZeroMQ消息中間件,并闡述了ZeroMQ的概念、消息模式以及技術(shù)優(yōu)勢等相關(guān)知識;</p><p>  第三章:基于NOVA

69、S的高精度星表位置計(jì)算。主要從星表文件格式、星表計(jì)算原理以及DE405精度等三個方面介紹了JPL DE405星歷表;介紹了MUSER觀測目標(biāo)精確位置計(jì)算;分析和介紹了NOVAS軟件包,并對基于PYTHON的NOVAS計(jì)算作了詳細(xì)介紹,最后對IERS數(shù)據(jù)提取與更新系統(tǒng)的調(diào)用作了簡要闡述;</p><p>  第四章:星表位置計(jì)算中插值方法分析。實(shí)驗(yàn)主要探討和分析了拉格朗日多項(xiàng)式插值、分段低次插值以及三次樣條插值等幾

70、種插值方法;并對不同插值方法從精度和效率兩個方面分別進(jìn)行了對比試驗(yàn)分析。實(shí)驗(yàn)證明,分段二次插值要優(yōu)于其他插值方法,且滿足MUSER數(shù)據(jù)處理的要求。</p><p>  第五章:高精度星表位置實(shí)時發(fā)布系統(tǒng)應(yīng)用研究。主要對星表數(shù)據(jù)的發(fā)布技術(shù)作了現(xiàn)狀分析,介紹了本章的研究目標(biāo);并詳細(xì)介紹了MUSER的分布環(huán)境;從消息模式、消息使用方法、論述了該系統(tǒng)的實(shí)現(xiàn),并對該系統(tǒng)的消息模式、消息使用方法做了詳細(xì)介紹;對系統(tǒng)服務(wù)器和客

71、戶機(jī)實(shí)現(xiàn)的關(guān)鍵代碼進(jìn)行了標(biāo)記和解釋,同時,對系統(tǒng)的健壯性做了分析和討論。</p><p>  第六章:總結(jié)與展望??偨Y(jié)了本文現(xiàn)階段的研究工作成果,并對下一步研究工作進(jìn)行了設(shè)想和展望。</p><p><b>  1.6本章小結(jié)</b></p><p>  本章主要介紹了文章的選題背景和研究意義。論述了論文的選題背景及研究意義;介紹了MUSER日

72、像儀;JPL星歷表的相關(guān)概念;分布環(huán)境下的中間件技術(shù),并對國內(nèi)外的星表研究現(xiàn)狀作了簡單介紹,最后闡述了本文的研究工作和論文的組織結(jié)構(gòu)。</p><p>  第二章 相關(guān)技術(shù)研究</p><p>  2.1 JPL精密星歷概述</p><p>  美國噴氣推進(jìn)實(shí)驗(yàn)室(Jet Propulsion Laboratory, JPL) 使用最新確定的天文常數(shù)和天體運(yùn)動理論計(jì)

73、算了太陽、月球、地月質(zhì)心、水星、金星、火星、木星、土星、天王星、海王星和冥王星的位置,以及地球黃經(jīng)章動和黃赤交角章動的數(shù)值。自1984年以來,JPL的行星/月球歷表已經(jīng)成為歷算工作中廣泛使用的歷表,同時也廣泛應(yīng)用于空間導(dǎo)航、行星和月球探測中。早在20世紀(jì)60年代,為了支持機(jī)器人和載人航天任務(wù),就已經(jīng)有許多版本的JPL星歷表。當(dāng)時有效文檔是比較粗略的,但在1969年JPL公開宣布DE69為星歷第三版。當(dāng)時的JPL星歷出口是DE19。這些較

74、早期的版本都發(fā)布在當(dāng)時的磁帶機(jī)上。</p><p>  在PC計(jì)算機(jī)時代之前,計(jì)算機(jī)都是非常笨重且昂貴的。因此只有具備足夠資金的大型組織才會負(fù)責(zé)研究諸如數(shù)值積分等較復(fù)雜的運(yùn)算。噴氣推進(jìn)實(shí)驗(yàn)室率先將DE405星歷表集成在一臺雙精度通用自動計(jì)算機(jī)(Universal automatic computer, Univac)上。對比而言,研制于1977年的DE102,在UNIVAC 1100 / 81上花了近600百萬步

75、,運(yùn)行時間長達(dá)9天;但是集成DEC Alpha的DE405就已經(jīng)能夠達(dá)到DE102的四倍精度。</p><p>  在70年代和80年代早期,天文學(xué)領(lǐng)域的大部分工作是根據(jù)19世紀(jì)90年代的理論研究到當(dāng)代的相對論理論原理更新天文年歷。從1975到1982年,噴氣推進(jìn)實(shí)驗(yàn)室利用數(shù)值積分的最小二乘平差現(xiàn)代技術(shù)研制6種星歷表并能夠輸出高精度數(shù)據(jù):它們分別是DE96、DE102、DE111、DE118、 DE200和DE1

76、02。JPL星歷表保存了從最初版本到目前的所有天文年歷,目前國際地球自轉(zhuǎn)服務(wù)(International Earth Rotation Service, IERS)推薦的行星/月球星歷表為JPL的DE405/LE405歷表,下面僅對JPL的DE系列星歷表作簡單介紹[23-25]:</p><p>  1.DE200:包含章動,但不包含天平動。1984年以來DE200已經(jīng)成為天文年歷的基礎(chǔ),它基于J2000歷元的動

77、力學(xué)赤道和分點(diǎn)。</p><p>  2.DE403:包含章動,但不包含天平動。DE403由于曾作為IERS標(biāo)準(zhǔn),鑒于某些領(lǐng)域的特殊用途,目前仍在沿用。</p><p>  3.DE405:包含章動和天平動。DE405是比較常用的JPL星歷表,創(chuàng)建于1997年5月到6月。DE405是基于國際天文協(xié)會(IAU)簡歷的參考坐標(biāo)系ICRF。DE200與DE405僅相差大約0.01角秒。</

78、p><p>  4.DE406:不包含章動和天平動。DE406是新JPL長星歷,類似DE405,只是插值多項(xiàng)式的精度已經(jīng)減少。對于DE406/LE406,任意行星的插值精度優(yōu)于25米,月球的插值精度優(yōu)于1米。</p><p>  5.DE410:包含章動和天平動。DE410是DE405的改進(jìn)版,它主要是為2004年1月的火星探測漫游者號(Mars Exploration Rover, MER)

79、到達(dá)土星以及同年7月的卡西尼號土星探測器(Cassini))到達(dá)土星而發(fā)布的,因此對火星和土星的改進(jìn)最為明顯。</p><p>  2.2實(shí)時發(fā)布技術(shù)研究</p><p>  目前,在天文數(shù)據(jù)發(fā)布方面運(yùn)用的比較廣泛的是Web Service技術(shù),而消息中間件是最近幾年才推出來的數(shù)據(jù)發(fā)布技術(shù)。</p><p>  2.2.1基于WebService的實(shí)時發(fā)布技術(shù)<

80、;/p><p>  Web服務(wù),即WebService。WebService[26-28]是新一代的開放分布式處理技術(shù),它易于在Internet上實(shí)現(xiàn)跨平臺、語言獨(dú)立、松散耦合的異構(gòu)應(yīng)用間的交互和集成。在SOAP(Simple Object Access Protocol,SOAP)、XML[29](Extensible Markup Languages,XML)、WSDL[30](WebService)等技術(shù)協(xié)議規(guī)

81、范基礎(chǔ)上,Web Service可以較好地實(shí)現(xiàn)異構(gòu)系統(tǒng)之間的應(yīng)用集成以及數(shù)據(jù)交換。</p><p>  萬維網(wǎng)聯(lián)盟(World Wide Web Consortium,W3C)定義了Web服務(wù)的概念。根據(jù)W3C的定義,Web服務(wù)應(yīng)該是一個軟件系統(tǒng),并用以支持網(wǎng)絡(luò)上機(jī)器與機(jī)器間的互動操作。WebService采用SOA(Services-Oriented Architecture)體系架構(gòu),通過服務(wù)提供者,服務(wù)請求

82、者以及服務(wù)注冊庫之間的交互實(shí)現(xiàn)服務(wù)調(diào)用,Web服務(wù)體系架構(gòu)圖如圖2.1所示。</p><p>  圖2. 1Web服務(wù)體系架構(gòu)圖 </p><p>  1.Web服務(wù)體系涉及的規(guī)范協(xié)議主要包括WSDL、SOAP以及UDDI(Universal Description, Discovery, and Integration,統(tǒng)一描述、發(fā)現(xiàn)和集成,UDDI)。其中WSDL、SOAP和UDDI都

83、是基于XML的協(xié)議規(guī)范。XML為Web服務(wù)的實(shí)現(xiàn)奠定了有力基礎(chǔ)。XML是一種元語言,主要用來定義和描述其他語言。XML易于設(shè)計(jì)、創(chuàng)建和處理,而且可讀性高,因此,XML非常適用于描述Web文檔,因而也廣泛應(yīng)用于應(yīng)用程序之間的數(shù)據(jù)交換等問題。下面分別簡要介紹WSDL、SOAP以及UDDI:</p><p>  2.WSDL:即描述Web服務(wù)的標(biāo)準(zhǔn)方法。為了讓機(jī)器能夠識別Web Service的功能及函數(shù)調(diào)用的參數(shù)等,

84、我們需要提供一個機(jī)器可讀的Web 服務(wù)正式描述文檔。WSDL就是這樣一個基于XML語言的正式描述文檔。WSDL主要描述了Web 服務(wù)及該服務(wù)相關(guān)的函數(shù)、參數(shù)以及返回值等。因此,開發(fā)工具能夠根據(jù)Web Service生成WSDL文檔,也能根據(jù)已知的WSDL文檔,生成相應(yīng)的Web Service代碼。</p><p>  3.SOAP:即綁定到Web服務(wù)的標(biāo)準(zhǔn)應(yīng)用程序協(xié)議。SOAP主要為調(diào)用Web Service提供

85、標(biāo)準(zhǔn)的遠(yuǎn)程過程調(diào)用(RPC)方法。SOAP規(guī)范主要定義了SOAP消息的格式,以及怎樣通過HTTP協(xié)議來使用SOAP。由于SOAP也是基于XML的,因此很容易通過XML來進(jìn)行擴(kuò)展。</p><p>  4.UDDI:即發(fā)布和查找Web服務(wù)標(biāo)準(zhǔn)協(xié)議。UDDI主要提供一種方法,使Web服務(wù)提供者將所在機(jī)構(gòu)的詳細(xì)資料以及Web服務(wù)的消息情況發(fā)布到中心注冊表中。相應(yīng)地,UDDI也提供一個服務(wù)消費(fèi)者的標(biāo)準(zhǔn),使消費(fèi)者能夠找到對

86、應(yīng)的服務(wù)提供者及Web服務(wù)的詳細(xì)資料。</p><p>  2.2.2基于消息中間件的實(shí)時發(fā)布技術(shù)</p><p>  隨著互聯(lián)網(wǎng)在各個領(lǐng)域應(yīng)用的廣泛普及和不斷深入,分布式計(jì)算體系結(jié)構(gòu)也得到了空前的發(fā)展。相應(yīng)地,分布式環(huán)境下的應(yīng)用需求也越來越多。例如,隨著天文數(shù)據(jù)爆炸式的增長,在天文研究工作中利用自動化工具提高科研效率已經(jīng)是必然趨勢。在MUSER數(shù)據(jù)處理系統(tǒng)中,同樣面臨海量天文數(shù)據(jù)的技術(shù)難

87、點(diǎn),而且在復(fù)雜的數(shù)據(jù)處理系統(tǒng)中如何保證各個子系統(tǒng)有效協(xié)同工作是關(guān)鍵。為了解決各個子系統(tǒng)不能形成統(tǒng)一整體的問題,一般采用分布式系統(tǒng)來實(shí)現(xiàn)。在分布式系統(tǒng)中,一般采用中間件技術(shù)以屏蔽分布環(huán)境的異構(gòu)性和復(fù)雜性,進(jìn)而達(dá)到簡化分布式應(yīng)用程序開發(fā)和維護(hù)的目標(biāo)。</p><p>  中間件技術(shù)的工作原理是,通過在應(yīng)用層與底層基礎(chǔ)軟件中間增加一層,以屏蔽底層復(fù)雜的技術(shù)細(xì)節(jié),實(shí)現(xiàn)對底層的透明訪問,方便應(yīng)用的開發(fā)、部署與管理[31]。

88、中間件技術(shù)發(fā)展迅速,種類繁多,其中消息中間件是發(fā)展較為迅速,也是比較成熟的一類中間件。</p><p>  消息中間件位于中間層,主要通過核心的API,極易擴(kuò)展到不同系統(tǒng)和平臺上,因而滿足Internet環(huán)境下快速、可靠地連接異構(gòu)資源的需求。消息中間件的體系結(jié)構(gòu)圖如圖2.2所示。消息中間件主要為分布式應(yīng)用提供可靠的異步數(shù)據(jù)傳輸。消息中間件的核心技術(shù)是以消息的形式收發(fā)不同系統(tǒng)中的應(yīng)用程序數(shù)據(jù),以解決不同系統(tǒng)或應(yīng)用間

89、的通信問題。在分布式應(yīng)用中,消息通常指的是不同應(yīng)用進(jìn)程之間用來傳遞和交換的信息。消息由消息的內(nèi)容、消息接受者構(gòu)成,其內(nèi)容及格式由消息提供者和接受者共同協(xié)商而定。在實(shí)際通信過程中,通信雙方以異步、非阻塞、確定的方式收發(fā)消息,不需要實(shí)際的物理鏈路,因而消息中間件非常適合松散耦合的系統(tǒng)[32]。</p><p>  圖2. 2 消息中間件體系架構(gòu)圖 </p><p>  2.2.3消息中間件的定

90、義</p><p>  消息中間件(MOM, Message Oriented Middleware)是一種利用高效可靠的消息傳遞機(jī)制進(jìn)行與平臺無關(guān)的數(shù)據(jù)傳輸?shù)能浖?。MOM基于數(shù)據(jù)傳輸進(jìn)行分布式系統(tǒng)的集成。消息中間件在應(yīng)用系統(tǒng)中的位置,如圖2.3所示,位于操作系統(tǒng)和應(yīng)用程序之間,因此,消息中間件能夠屏蔽不同的操作系統(tǒng)平臺以及不同協(xié)議之間的特性,從而實(shí)現(xiàn)不同操作系統(tǒng)平臺之間數(shù)據(jù)的傳遞和交換。</p>

91、<p>  圖2. 3 消息中間在應(yīng)用系統(tǒng)中的位置</p><p>  2.2.4消息中間件的特點(diǎn)</p><p>  傳統(tǒng)的RPC技術(shù)主要針對一對一的通信,在一對多的通信實(shí)現(xiàn)上還存在一定技術(shù)缺陷。而且在一對一的通信模式中,一般要求同步通信,即客戶機(jī)發(fā)出請求后,必須等待服務(wù)器返回結(jié)果后才能繼續(xù)執(zhí)行下一個任務(wù),因而導(dǎo)致客戶端執(zhí)行效率很低;同時,客戶機(jī)發(fā)出請求時,服務(wù)器必須在線,否則

92、會導(dǎo)致客戶端出錯。</p><p>  而在消息中間件技術(shù)中,應(yīng)用程序之間并不直接通信,而是與消息中間件通信,也就是松耦合的方式集成。消息中間件能夠提供可靠高效的消息傳遞機(jī)制,非常適用于需要可靠的數(shù)據(jù)傳送的分布式環(huán)境。消息中間件主要特點(diǎn)有[33]:</p><p>  1.豐富的通信方式:消息中間件提供一對一,一對多,多對一,甚至多對多的通訊方式;</p><p>

93、  2.異步通信:整個通信過程是異步的,例如當(dāng)客戶機(jī)把消息發(fā)送給消息中間件后不必等待返回結(jié)果可以繼續(xù)執(zhí)行下個任務(wù);而服務(wù)器也不必立即處理這個消息,它可以在閑時從消息隊(duì)列中取出消息,處理完后發(fā)給消息中間件;</p><p>  3.跨平臺多協(xié)議傳輸:屏蔽操作系統(tǒng)的特性,并支持不同的協(xié)議;</p><p>  4.可靠的消息傳輸:消息可以離線存儲在硬盤,應(yīng)用程序任何時候都能夠從硬盤讀取消息,而

94、且在重新啟動時,消息不丟失。</p><p>  目前主流的消息中間件產(chǎn)品有IBM的MQ,BEA的Message Q,北京東方通科技公司的TongLink/Q以及iMatix公司最近幾年推出的ZeroMQ等。</p><p>  2.2.5 WebService與消息中間件的比較</p><p>  Web Service主要是在不同機(jī)器或者不同應(yīng)用系統(tǒng)之間進(jìn)行交互

95、操作或者數(shù)據(jù)交換的一種服務(wù)類技術(shù)。在SOAP、XML、WSDL等技術(shù)協(xié)議規(guī)范基礎(chǔ)上,Web Service可以較好地實(shí)現(xiàn)異構(gòu)系統(tǒng)之間的應(yīng)用集成以及數(shù)據(jù)交換。雖然XML簡單且可讀性強(qiáng),但是,隨之而來的問題是,在數(shù)據(jù)傳輸過程中由于XML技術(shù)的封裝,所以系統(tǒng)傳輸?shù)臄?shù)據(jù)往往會附帶大量數(shù)據(jù)標(biāo)簽、數(shù)據(jù)說明信息等冗余信息,從而導(dǎo)致數(shù)據(jù)體積和傳輸量大于實(shí)際數(shù)據(jù)量。所以,Web Service其實(shí)比較適合小數(shù)據(jù)量,且對傳輸效率要求不高的情況。Web Se

96、rvice不能支持一次采集復(fù)用,也就是說各個請求需要發(fā)起獨(dú)立調(diào)用請求,相應(yīng)地,Web Service服務(wù)端也需要重復(fù)進(jìn)行處理。</p><p>  針對MUSER數(shù)據(jù)處理系統(tǒng)的海量天文數(shù)據(jù)量以及實(shí)時處理要求,采用傳統(tǒng)的基于Web服務(wù)的數(shù)據(jù)發(fā)布方案是行不通的。而消息中間件,不僅具備Web Service支持多語言、跨平臺等基本的優(yōu)良特性,而且消息中間件通信是面向消息的,所以不存在Web Service的數(shù)據(jù)冗余問題

97、。從數(shù)據(jù)傳輸?shù)矫嫦蛳⒛J降霓D(zhuǎn)變,使得應(yīng)用程序之間的交互操作和數(shù)據(jù)交換更安全,也更容易實(shí)現(xiàn)。</p><p>  2.3消息中間件ZeroMQ </p><p>  ZeroMQ(又稱ØMQ或0MQ)是由技術(shù)社區(qū)推動發(fā)展的,主要由三十多名作者歷時三年合作開發(fā)出來的開源軟件,2009那年下半年才推出第一個版本1.0.1,經(jīng)過幾年的發(fā)展,至今已經(jīng)推出了版本4.1.0[34]。<

98、/p><p>  ZeroMQ雖然看起來像是嵌入式的網(wǎng)絡(luò)庫,但行為像一個并發(fā)式的框架。ZeroMQ通過socket在進(jìn)程內(nèi)、進(jìn)程間、TCP和組播中傳遞消息。程序員可以使用該socket建立N到N的通信模式,如扇出,發(fā)布-訂閱,任務(wù)分發(fā),請求-應(yīng)答等。ZeroMQ足夠快,因此備受集群系統(tǒng)的青睞。而且,ZeroMQ的異步I/O模型有利于多核應(yīng)用程序的擴(kuò)展,并完成異步的消息處理任務(wù)。ZeroMQ支持多語言,幾乎能在所有操作

99、系統(tǒng)上運(yùn)行[35, 36]。</p><p>  最初,有研究ZeroMQ應(yīng)用于開發(fā)Web服務(wù)器的相關(guān)工作,例如Zed Shaw開發(fā)的網(wǎng)頁服務(wù)器Mongrel2[37]就是基于ZeroMQ的。由于ZeroMQ簡單、高性能,因而被越來越多的人關(guān)注。有專業(yè)人士分析,ZeroMQ是搭建云計(jì)算環(huán)境最好的通訊庫。因?yàn)閆eroMQ屬于高性能的分布式消息中間件,對服務(wù)器集群和超級計(jì)算都足夠快,所以用它實(shí)現(xiàn)云計(jì)算無疑會大大提高效

100、率。ZeroMQ正在不斷完善,性能也會越來越穩(wěn)定,使用者也將越來越多,未來ZeroMQ會成為通訊網(wǎng)絡(luò)的主流軟件之一。</p><p>  2.3.1 ZeroMQ在天文數(shù)據(jù)發(fā)布中的優(yōu)勢</p><p>  ZeroMQ提供多種通信方式,很好的為異地異構(gòu)用戶提供相應(yīng)的服務(wù)。ZeroMQ具有跨平臺、高效可靠、松耦合等特性,很好的滿足了具有異地異構(gòu)特性的數(shù)據(jù)密集型天文數(shù)據(jù)發(fā)布的需求。</p

101、><p>  傳統(tǒng)的網(wǎng)絡(luò)交互使用的是基于TCP/IP協(xié)議的BSD,BSD套接字主要是點(diǎn)對點(diǎn)的連接,它需要顯式地建立連接、銷毀連接、選擇協(xié)議和處理錯誤等。這些基本上都屬于底層技術(shù)細(xì)節(jié)部分,因而編程復(fù)雜。而且,TCP/IP協(xié)議往往需要自下到上遍歷網(wǎng)絡(luò)棧,因而傳輸效率比較低。但是,ZeroMQ會自動建立連接、撤銷連接以及重新連接等,并且會自己處理好緩存和組幀等,因而編程較更為簡單和安全。</p><p&

102、gt;  ZeroMQ是面向消息的,端到端的消息傳輸機(jī)制,大大提高了傳輸效率[38, 39]。目前,ZeroMQ可用于C、C++、Python和Java等多種語言,并支持絕大部分的操作系統(tǒng),因此非常適合復(fù)雜的科學(xué)數(shù)據(jù)處理。</p><p>  2.3.2 ZeroMQ通訊模式</p><p>  ZeroMQ支持多種消息模式。ZeroMQ把通訊的需求看成四類。其中一類是一對一的結(jié)對通訊,主

103、要用來支持傳統(tǒng)的TCP socket模型,但并不推薦使用。常用的通訊模式主要有以下三種[40]:</p><p>  1.請求應(yīng)答模式(Request-Reply):</p><p>  請求應(yīng)答模式中的套接字類型是ZMQ_REQ和ZMQ_REP。其中,ZMQ_REQ套接字常用于客戶端,其通信模式必須是先發(fā)送一條消息,然后接收一條消息,再發(fā)送消息和接收消息。當(dāng)服務(wù)器不在線時,ZMQ_REQ

104、套接字則進(jìn)入異常狀態(tài);ZMQ_REP套接字常用于服務(wù)端,其通信模式必須是先接收一個消息,再發(fā)送一個應(yīng)答,再接收消息和發(fā)送。當(dāng)客戶端不在線時,ZMQ_REP套接字也進(jìn)入異常狀態(tài),并丟棄該客戶端發(fā)送的請求,直至異常狀態(tài)終止。如圖2.4和2.5所示,一個ZMQ_REQ套接字可以對應(yīng)多個ZMQ_REP套接字,而一個ZMQ_REP套接字也可以對應(yīng)多個ZMQ_REQ套接字,即實(shí)現(xiàn)一對一和一對多的通信模式。從圖中可以看出,ZMQ_REQ-ZMQ_RE

105、P套接字組合是同步的。為了提高這兩種套接字在路由轉(zhuǎn)發(fā)和異步通信方面的能力,ZeroMQ引入了擴(kuò)展的請求應(yīng)答套接字ZMQ_DEALER和ZMQ_ROUTER。</p><p>  圖2. 4請求應(yīng)答模式</p><p>  2.發(fā)布訂閱模式(Publish-Subscribe):</p><p>  發(fā)布訂閱模式中的套接字類型是ZMQ_PUB和ZMQ_SUB。其中ZM

106、Q_PUB套接字用于發(fā)布端,負(fù)責(zé)分發(fā)數(shù)據(jù),該套接字只能發(fā)送消息,不能接收消息;ZMQ_SUB套接字則用于訂閱端,接收消息前需要使用zmq_setsockopt()方法設(shè)置訂閱,否則訂閱端將收不到任何消息。如圖2.5所示,在這種通訊模式中,發(fā)布者只是單向發(fā)送數(shù)據(jù),且不關(guān)心是否把全部的信息都發(fā)送給訂閱者。如果發(fā)布者開始發(fā)布信息的時候,而訂閱者還尚未連接成功的話,則這些信息將直接被丟棄。同樣,訂閱者只負(fù)責(zé)接收,而不像請求應(yīng)答模式中需要反饋。當(dāng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論