郭炎鑫,羅阿理
(1. 中國科學(xué)院光學(xué)天文重點(diǎn)實(shí)驗(yàn)室 (國家天文臺),北京 100101;2. 中國科學(xué)院大學(xué),北京 100049)
大天區(qū)面積多目標(biāo)光纖光譜天文望遠(yuǎn)鏡(the Large Sky Area Multi-Object Fiber Spectroscopic Telescope, LAMOST, 又叫郭守敬望遠(yuǎn)鏡)[1]是一架新型的大視場兼?zhèn)浯罂趶酵h(yuǎn)鏡。2017年6月,郭守敬望遠(yuǎn)鏡圓滿完成了為期5年的第1期光譜巡天任務(wù),共獲取了約900萬條光譜數(shù)據(jù),其中高質(zhì)量光譜數(shù)(信噪比大于10)超過700萬,同時(shí)獲取了超過500萬組恒星參數(shù),遠(yuǎn)遠(yuǎn)超過了全世界光譜巡天項(xiàng)目獲取的光譜數(shù)總和,為天文學(xué)家研究銀河系及一般星系的形成與演化提供了重要的基礎(chǔ)性數(shù)據(jù)。
郭守敬望遠(yuǎn)鏡每夜上萬顆天體的觀測和數(shù)千兆字節(jié)的FITS[2]文件構(gòu)成了一個(gè)海量數(shù)據(jù)集合。為了高效地利用望遠(yuǎn)鏡的觀測能力,已經(jīng)建成了一套完整的自動化觀測、數(shù)據(jù)處理和存儲的軟件系統(tǒng)[3],其中主要包括巡天戰(zhàn)略系統(tǒng)(Survey Strategy System, SSS)、觀測控制系統(tǒng)(Observatory Control System, OCS)、二維光譜數(shù)據(jù)處理系統(tǒng)(2D, 2-Dimention spectrum analysis software)和一維光譜數(shù)據(jù)處理系統(tǒng)(1D, 1-Dimention spectrum analysis software)。 如何有效地維護(hù)和管理巡天過程中產(chǎn)生的海量觀測和光譜數(shù)據(jù),并將這些數(shù)據(jù)和以上軟件系統(tǒng)有機(jī)地融合起來是光譜數(shù)據(jù)處理系統(tǒng)要解決的首要問題之一。
借助于數(shù)據(jù)庫系統(tǒng)對數(shù)據(jù)處理數(shù)據(jù)流進(jìn)行整合和管理是一種行之有效的解決方案。國內(nèi)外越來越多的望遠(yuǎn)鏡巡天項(xiàng)目帶來越來越多的海量數(shù)據(jù)存儲和處理的客觀要求,對數(shù)據(jù)庫技術(shù)要求也越來越高。國外已經(jīng)建立了成熟的數(shù)據(jù)服務(wù)網(wǎng)站,比如 ADS, SDSS 等,雖然它們都能夠提供某方面的服務(wù),比如數(shù)據(jù)交叉服務(wù)、數(shù)據(jù)可視化服務(wù)、數(shù)據(jù)下載服務(wù)等,但是它們都是在數(shù)據(jù)處理和發(fā)布之后的服務(wù),專門針對天文數(shù)據(jù)處理整個(gè)過程中數(shù)據(jù)流的數(shù)據(jù)庫系統(tǒng)還沒有先例。這需要在充分了解數(shù)據(jù)處理流程及其過程中涉及的數(shù)據(jù)流情況的基礎(chǔ)上,探索建立適合郭守敬望遠(yuǎn)鏡數(shù)據(jù)流的數(shù)據(jù)庫系統(tǒng),同時(shí)能夠融合光譜質(zhì)量控制機(jī)制,協(xié)助數(shù)據(jù)存儲、處理和發(fā)布。
郭守敬望遠(yuǎn)鏡已經(jīng)獨(dú)立建立了一系列數(shù)據(jù)處理軟件,除了巡天戰(zhàn)略系統(tǒng)、觀測控制系統(tǒng)、二維光譜數(shù)據(jù)處理系統(tǒng)和一維光譜數(shù)據(jù)處理系統(tǒng)之外,數(shù)據(jù)質(zhì)量控制還需要加入觀測日志檢查和人工光譜檢查環(huán)節(jié)等。以下是望遠(yuǎn)鏡數(shù)據(jù)處理過程中涉及的關(guān)鍵環(huán)節(jié):
(1)巡天戰(zhàn)略系統(tǒng):負(fù)責(zé)自動化制定觀測計(jì)劃,決定觀測時(shí)間和安排觀測流程,充分利用望遠(yuǎn)鏡的觀測能力,有效地組織巡天觀測,縮短觀測周期,提高觀測效率。每個(gè)觀測夜大概需要6~8個(gè)觀測計(jì)劃,每個(gè)觀測計(jì)劃大約有3 600個(gè)源。
(2)每日觀測日志入庫:在每天觀測完成后,結(jié)合人工復(fù)核,自動化入庫各個(gè)觀測天區(qū)實(shí)時(shí)的天氣等狀況,標(biāo)記天區(qū)類型包括:科學(xué)觀測與否、月相、數(shù)據(jù)是否有效等,后期的質(zhì)量控制會根據(jù)標(biāo)記選擇不同的數(shù)據(jù)發(fā)布策略,比如對于無效數(shù)據(jù)將無法發(fā)布給用戶。
(3)二維數(shù)據(jù)處理軟件(2D Pipeline)[3-4]:二維光譜處理的對象是光譜的CCD圖像,目標(biāo)是將二維圖像的流量抽取成一維光譜,并扣除本底流量、雜散光、宇宙線和天光的干擾,再利用定標(biāo)燈進(jìn)行波長定標(biāo),利用流量標(biāo)準(zhǔn)星進(jìn)行相對流量定標(biāo),最后將同一個(gè)目標(biāo)的多次曝光和紅藍(lán)端合并成最終的光譜,在此過程中還要進(jìn)行例如平場改正等在內(nèi)的其他改正。
(4)一維光譜分析軟件(1D Pipeline)[5]:它的處理對象是二維數(shù)據(jù)處理輸出的一維光譜,目的是對光譜進(jìn)行分類,并測量天體的紅移,然后對恒星進(jìn)行細(xì)分類。最后,光譜分折軟件生成的4個(gè)主要分類分別為STAR, GALAXY, QSO 和 UNKNOWN。
(5)相關(guān)函數(shù)初始值(Correlation Funtion Initial, CFI)[3]:為了提高LAMOST恒星參數(shù)測量軟件(LAMOST Stellar Parameter pipeline, LASP)的收斂速度和結(jié)果的準(zhǔn)確性,相關(guān)函數(shù)初始值測量首先生成一組大氣參數(shù)的初值,作為后續(xù)進(jìn)行精確大氣參數(shù)測量的范圍,然后由里昂大學(xué)光譜分析軟件(University of Lyon Spectroscopic analysis Software, Ulyss)[6]生成最終的大氣參數(shù)測量值。
(6)LASP[3,6]:LAMOST恒星參數(shù)測量軟件是完整的大氣參數(shù)測量程序。它專門針對分類為AFGK型恒星且滿足一定信噪比條件的光譜,用Ulyss程序自動測量給出他們的有效溫度、表面重力、金屬豐度和視向速度。
(7)星系測量軟件[3]:星系和類星體的識別和紅移的測量是一項(xiàng)艱巨的任務(wù),受望遠(yuǎn)鏡極限星等的影響,很多星系和類星體隱藏在低質(zhì)量光譜中,因此一維光譜分析軟件在處理星系和類星體的光譜時(shí)還有一定的缺陷。所以,在初始的一維光譜分析運(yùn)行完之后,還需要一個(gè)額外的獨(dú)立的用于星系識別及其紅移測量的軟件。
(8)人工光譜檢查:LAMOST系統(tǒng)數(shù)據(jù)流中包括兩個(gè)人工檢查環(huán)節(jié),二維檢查和一維檢查,前者是為了發(fā)現(xiàn)定標(biāo)星有無異常、數(shù)據(jù)有無雜散光等大批量的數(shù)據(jù)問題,后者是為了保證數(shù)據(jù)分類和紅移的準(zhǔn)確性。只要這兩部分檢查出現(xiàn)問題,就會反饋給二維或者一維數(shù)據(jù)處理軟件進(jìn)行重新處理,相當(dāng)于數(shù)據(jù)流出現(xiàn)小循環(huán)。
(9)星表整合:在數(shù)據(jù)檢查完畢以及數(shù)據(jù)處理和參數(shù)測量等一系列工作完成之后,會根據(jù)多項(xiàng)判據(jù)整合出滿足數(shù)據(jù)發(fā)布條件的幾個(gè)星表,以備數(shù)據(jù)發(fā)布時(shí)與信息中心對接。星表整合環(huán)節(jié)和人工檢查環(huán)節(jié)共同配合完成光譜質(zhì)量控制過程。
(10)發(fā)布數(shù)據(jù)打包:在星表整合完成之后,對于即將釋放的光譜數(shù)據(jù),需要根據(jù)數(shù)據(jù)發(fā)布要求重寫FITS頭,重新畫縮略圖,以備數(shù)據(jù)上線真正發(fā)布。
(11)數(shù)據(jù)產(chǎn)品發(fā)布:按照數(shù)據(jù)發(fā)布要求的節(jié)點(diǎn),將整合的星表以及打包的數(shù)據(jù)一并推送給信息中心,并完成相應(yīng)的數(shù)據(jù)統(tǒng)計(jì)。
郭守敬望遠(yuǎn)鏡數(shù)據(jù)處理流程復(fù)雜,涉及的環(huán)節(jié)眾多,需要一個(gè)系統(tǒng)級的核心數(shù)據(jù)庫將這些環(huán)節(jié)及其數(shù)據(jù)進(jìn)行銜接。該數(shù)據(jù)庫系統(tǒng)的用戶包括望遠(yuǎn)鏡巡天與數(shù)據(jù)部全體工作人員,重點(diǎn)是巡天戰(zhàn)略系統(tǒng)、觀測控制系統(tǒng)、二維數(shù)據(jù)處理系統(tǒng)以及一維數(shù)據(jù)處理系統(tǒng)的開發(fā)人員,通過訪問該數(shù)據(jù)庫可以實(shí)時(shí)獲取所需數(shù)據(jù),分析處理結(jié)果,從而改進(jìn)程序的處理方法,最終使得望遠(yuǎn)鏡的數(shù)據(jù)庫能夠達(dá)到以下目標(biāo):
(1)對于天文學(xué)家選定的觀測目標(biāo),該數(shù)據(jù)庫系統(tǒng)存儲了從巡天戰(zhàn)略系統(tǒng)生成觀測計(jì)劃、觀測控制系統(tǒng)獲取觀測圖像、二維數(shù)據(jù)處理系統(tǒng)處理圖像數(shù)據(jù)以及一維數(shù)據(jù)處理系統(tǒng)輸出光譜產(chǎn)品各階段的主要信息,以幫助天文學(xué)家追蹤他們的數(shù)據(jù),更高效地查詢各個(gè)處理過程的中間結(jié)果,獲取有用的光譜產(chǎn)品輸出。
(2)光譜處理軟件面臨軟件版本的更新,這時(shí)需要對上一版本處理過的數(shù)據(jù)進(jìn)行再次處理,該數(shù)據(jù)庫系統(tǒng)可以幫助數(shù)據(jù)處理程序開發(fā)人員存儲和管理關(guān)鍵數(shù)據(jù)、查詢處理結(jié)果,進(jìn)而通過分析和比較這些結(jié)果對程序和處理算法做出改進(jìn)。
(3)具有良好的可擴(kuò)展性和兼容性,能夠適應(yīng)時(shí)刻變化的人工檢查和數(shù)據(jù)處理流程,能夠?qū)υ到y(tǒng)最小改動情況下實(shí)現(xiàn)新環(huán)節(jié)的系統(tǒng)級融合,提供高效的檢索服務(wù)。
(4)本數(shù)據(jù)庫系統(tǒng)中一維數(shù)據(jù)處理結(jié)果數(shù)據(jù)庫表與數(shù)據(jù)存儲和發(fā)布部門進(jìn)行對接,協(xié)助實(shí)現(xiàn)一套高效的數(shù)據(jù)發(fā)布系統(tǒng)。
光譜質(zhì)量控制的目標(biāo)是及時(shí)發(fā)現(xiàn)光譜質(zhì)量問題,既包括由雜散光、天氣、儀器等原因?qū)е碌某膳鷨栴}光譜,又包括二維數(shù)據(jù)處理系統(tǒng)在處理過程中發(fā)生錯(cuò)誤導(dǎo)致的光譜問題。然而,伴隨著將要對國內(nèi)外天文學(xué)家釋放的光譜,還有一維數(shù)據(jù)處理系統(tǒng)對光譜分析的結(jié)果、分類紅移等。對于低質(zhì)量光譜,一維數(shù)據(jù)處理系統(tǒng)不能保證百分之百的正確率,所以也需要進(jìn)行質(zhì)量控制。望遠(yuǎn)鏡系統(tǒng)數(shù)據(jù)流中包括兩個(gè)人工檢查環(huán)節(jié),二維數(shù)據(jù)處理系統(tǒng)結(jié)果檢查和一維數(shù)據(jù)處理系統(tǒng)結(jié)果檢查,一方面需要結(jié)合核心數(shù)據(jù)庫進(jìn)行檢查結(jié)果的寫入和查詢,另一方面也需結(jié)合網(wǎng)絡(luò)技術(shù)將人工檢查環(huán)節(jié)變得更加高效和方便。圖1為光譜質(zhì)量控制具體的流程,它主要分為恒星和星系/類星體兩條主線。

圖1 LAMOST光譜質(zhì)量控制流程圖
Fig.1 Flow chart of LAMOST spectral quality control
綜上所述,質(zhì)量控制要求達(dá)到以下目標(biāo):
(1)二維數(shù)據(jù)處理系統(tǒng)結(jié)果檢查:快速瀏覽光譜,及時(shí)發(fā)現(xiàn)問題并錄入數(shù)據(jù)庫。
(2)一維數(shù)據(jù)處理系統(tǒng)結(jié)果檢查:對河外光譜,逐條檢查分類和紅移的正確性,同時(shí)也檢查選源為河外而光譜分類結(jié)果是恒星的光譜部分;對于特殊類型的恒星光譜,逐條檢查分類和紅移的正確性,結(jié)果也會入庫。
(3)實(shí)時(shí)掌握數(shù)據(jù)處理各個(gè)環(huán)節(jié)的處理進(jìn)度:對原始數(shù)據(jù)來說就是原始數(shù)據(jù)推送情況、單次曝光缺失情況等;對各個(gè)軟件來說就是處理進(jìn)度、異常監(jiān)控、系統(tǒng)負(fù)載等情況;對人工檢查來說就是人工檢查進(jìn)度、任務(wù)分配等。
(4)光譜產(chǎn)品追溯:對單個(gè)目標(biāo),可以給出它自選源、觀測、軟件處理結(jié)果、信噪比、質(zhì)量控制標(biāo)記、生命周期和生命結(jié)束原因等的查詢;對于一個(gè)天區(qū),可以提供光譜整體質(zhì)量統(tǒng)計(jì)分析,各環(huán)節(jié)輸入輸出檢查。從時(shí)間角度講,最終可以對特定時(shí)間點(diǎn)提供光譜所處狀態(tài)的查詢。
(5)數(shù)據(jù)流檢查:各處理環(huán)節(jié)能夠?qū)崟r(shí)獲取其輸入輸出結(jié)果,對數(shù)據(jù)庫和文件系統(tǒng)及各個(gè)軟件進(jìn)行自檢和交叉檢驗(yàn),保證數(shù)據(jù)生產(chǎn)過程的可靠性。
(6)產(chǎn)品封裝和上線:對光譜產(chǎn)品進(jìn)行自動化包括FITS頭重寫和打包在內(nèi)的封裝過程,同時(shí)實(shí)現(xiàn)與網(wǎng)絡(luò)中心進(jìn)行數(shù)據(jù)庫和數(shù)據(jù)的對接,為每季度和每個(gè)正式對外釋放的數(shù)據(jù)提供一個(gè)便捷的數(shù)據(jù)庫。
要一并完成以數(shù)據(jù)庫為核心的數(shù)據(jù)流設(shè)計(jì)和光譜質(zhì)量控制系統(tǒng),采用MySQL + PHP + Apache的架構(gòu)方案。開源關(guān)系型數(shù)據(jù)庫MySQL提供數(shù)據(jù)流存儲,Apache網(wǎng)頁服務(wù)器端用PHP開發(fā)的光譜人工檢查與結(jié)果反饋系統(tǒng)為日常的光譜檢查工作平臺。數(shù)據(jù)庫和光譜檢查平臺一同完成光譜質(zhì)量控制。以下是所用軟件:
(1)PHP5:開源、跨平臺、服務(wù)器端嵌入式動態(tài)網(wǎng)頁開發(fā)腳本語言,具有數(shù)據(jù)庫訪問速度快、運(yùn)行效率高、性能穩(wěn)定等優(yōu)點(diǎn),完全支持SQL標(biāo)準(zhǔn),可以兼容絕大多數(shù)的數(shù)據(jù)庫系統(tǒng);
(2)Apache:目前應(yīng)用最廣泛的網(wǎng)絡(luò)服務(wù)器軟件,它支持多種操作系統(tǒng),功能強(qiáng)大且完全免費(fèi);
(3)MySQL:快速、多用戶、多線程的SQL數(shù)據(jù)庫服務(wù)器軟件,它支持標(biāo)準(zhǔn)的SQL語句,支持多種平臺,提供多種客戶程序接口,適用于中等規(guī)模應(yīng)用,完全開源。
建立望遠(yuǎn)鏡數(shù)據(jù)處理系統(tǒng)離線數(shù)據(jù)庫的目的是有效維護(hù)和管理數(shù)據(jù)處理過程中的數(shù)據(jù)流,在不同的數(shù)據(jù)處理階段,不同的軟件承擔(dān)不同的職責(zé):(1)巡天戰(zhàn)略系統(tǒng)的目標(biāo)是為巡天觀測制定觀測計(jì)劃,根據(jù)一個(gè)大的巡天星表,結(jié)合觀測時(shí)的約束條件,尋找最佳位置,分配目標(biāo)到光纖。這時(shí)需要將必要的統(tǒng)計(jì)信息,比如導(dǎo)星數(shù)量、目標(biāo)數(shù)量、成功分配數(shù)量、分配天光數(shù)量、標(biāo)準(zhǔn)星數(shù)量以及標(biāo)準(zhǔn)星信息存入數(shù)據(jù)庫以便程序訪問。同時(shí),二維數(shù)據(jù)處理系統(tǒng)在處理過程中需要利用光纖分配的一些信息,也需要在觀測計(jì)劃生成的同時(shí)寫入該數(shù)據(jù)庫。(2)觀測控制系統(tǒng)獲取原始曝光圖像之后不僅把數(shù)據(jù)打包以文件夾形式傳回?cái)?shù)據(jù)中心,而且要將每次曝光的信息,如曝光時(shí)間、曝光時(shí)長、光譜儀狹縫狀態(tài)以及光譜儀溫度等信息寫入數(shù)據(jù)庫,這樣二維數(shù)據(jù)處理系統(tǒng)在處理過程中才能獲得充足的信息。(3)二維數(shù)據(jù)處理系統(tǒng)每處理一批原始數(shù)據(jù),不僅將處理的中間結(jié)果、最終結(jié)果存儲在文件夾中,而且要將各個(gè)目標(biāo)的描述信息,包括目標(biāo)對應(yīng)的光譜儀號、光纖號、觀測計(jì)劃、所用軟件版本號、處理日期、信噪比、輸出文件夾路徑等信息記錄在數(shù)據(jù)庫中。(4)一維數(shù)據(jù)處理系統(tǒng)通過查詢數(shù)據(jù)庫中二維數(shù)據(jù)處理系統(tǒng)輸出的信息表記錄來處理一維光譜數(shù)據(jù),最終將有價(jià)值的一維光譜信息寫入數(shù)據(jù)庫。星系分類程序通過讀取數(shù)據(jù)庫中一維數(shù)據(jù)處理系統(tǒng)的分類結(jié)果,將指定河外數(shù)據(jù)信息讀出,待程序處理完畢將結(jié)果寫入數(shù)據(jù)庫,供人工檢查階段參考。(5)人工檢查環(huán)節(jié)的檢查結(jié)果要保存下來,在后期的星表整合過程中使用。
圖2為郭守敬望遠(yuǎn)鏡數(shù)據(jù)流設(shè)計(jì)圖。由數(shù)據(jù)庫和文件系統(tǒng)將各個(gè)環(huán)節(jié)有機(jī)串聯(lián)起來,每個(gè)處理環(huán)節(jié)都與文件系統(tǒng)或者數(shù)據(jù)庫進(jìn)行交互。通過查詢數(shù)據(jù)庫和文件可以實(shí)時(shí)掌握數(shù)據(jù)處理各個(gè)環(huán)節(jié)的處理進(jìn)度,追溯光譜產(chǎn)品,協(xié)助完成光譜質(zhì)量控制。而對于人工檢查環(huán)節(jié),單獨(dú)開發(fā)了一套軟件,可以在線檢查光譜,所有信息記錄在后臺數(shù)據(jù)庫中。

圖2 LAMOST數(shù)據(jù)流圖
Fig.2 LAMOST dataflow
在郭守敬望遠(yuǎn)鏡尚未正式建成之前,文[7]設(shè)計(jì)了基于MySQL/Linux的基本的數(shù)據(jù)庫原型,文[8]在先導(dǎo)巡天階段根據(jù)實(shí)際數(shù)據(jù)處理情況完成了望遠(yuǎn)鏡的總體數(shù)據(jù)庫設(shè)計(jì)和實(shí)現(xiàn)。本文在此基礎(chǔ)上優(yōu)化設(shè)計(jì)了望遠(yuǎn)鏡正式的數(shù)據(jù)庫系統(tǒng)。
該數(shù)據(jù)庫系統(tǒng)由幾個(gè)子數(shù)據(jù)庫組成:日常數(shù)據(jù)處理數(shù)據(jù)庫、成品數(shù)據(jù)庫、光譜檢查數(shù)據(jù)庫。其中,日常數(shù)據(jù)處理數(shù)據(jù)庫用于存放日常數(shù)據(jù)流中各個(gè)環(huán)節(jié)需要用到的信息;成品數(shù)據(jù)庫用于存放整合好的可以對外釋放的星表,而這里面又分為最初版和正式版兩個(gè)數(shù)據(jù)庫;光譜檢查數(shù)據(jù)庫用來存放光譜人工檢查的相關(guān)信息和記錄。整體的數(shù)據(jù)庫結(jié)構(gòu)示意圖如圖3。

圖3 數(shù)據(jù)庫整體設(shè)計(jì)圖
Fig.3 Designation diagram of the whole databases
以下簡要介紹各個(gè)數(shù)據(jù)庫表的設(shè)計(jì)和結(jié)構(gòu):
*日常數(shù)據(jù)處理數(shù)據(jù)庫:
(1)plan_info:天區(qū)信息表,包括日期、天區(qū)名稱、視寧度、月相、是否科學(xué)天區(qū)標(biāo)記等信息。一條記錄對應(yīng)一個(gè)天區(qū)。
(2)target_info:選源信息表,存儲選源信息表,一個(gè)記錄對應(yīng)一根光纖。一個(gè)天區(qū)的集合對應(yīng)巡天戰(zhàn)略系統(tǒng)的相應(yīng)觀測計(jì)劃。該表包括目標(biāo)位置、目標(biāo)類型、選源來源、星等等信息。
(3)obj_info:二維目標(biāo)信息表,對應(yīng)二維數(shù)據(jù)處理系統(tǒng)抽譜的信息,包括光纖標(biāo)記編號、天區(qū)名稱、光譜儀號、光纖號、曝光次數(shù)、數(shù)據(jù)版本、信噪比、抽譜完成存放路徑、燈譜路徑、平場路徑等。
(4)spec_info:一維光譜信息表,對應(yīng)一維數(shù)據(jù)處理系統(tǒng)光譜分析結(jié)果。包括二維目標(biāo)編號、一維數(shù)據(jù)處理系統(tǒng)軟件版本號、光譜分類、紅移、紅移誤差、置信度、二維數(shù)據(jù)處理系統(tǒng)光譜存放路徑等信息。
(5)param_info:待測參數(shù)的光譜信息表,包括滿足測量大氣參數(shù)的AFGK型恒星記錄。提供一維光譜編號、一維光譜路徑、參數(shù)測量標(biāo)記、拉平光譜存放路徑等信息。
(6)cfi_param:相關(guān)函數(shù)初始值測量程序結(jié)果表,包括相關(guān)函數(shù)初始值測量程序得到的初始大氣參數(shù)值及誤差。
(7)cfi_param_norm:用拉平后的光譜進(jìn)行相關(guān)函數(shù)初始值測量的結(jié)果表,包括相關(guān)函數(shù)初始值測量程序得到的針對拉平光譜的初始大氣參數(shù)值及誤差。
(8)uly_param:Ulyss參數(shù)測量結(jié)果表,包括里昂大學(xué)光譜分析軟件得到的精確大氣參數(shù)測量結(jié)果值。
(9)uly_param_norm:用里昂大學(xué)光譜分析軟件對拉平后的光譜進(jìn)行參數(shù)測量的結(jié)果信息表,包括針對拉平后的光譜進(jìn)行精確的大氣參數(shù)測量結(jié)果值。
(10)extragalaxy_info:待測星系或類星體光譜信息表,包括滿足星系測量模塊條件的所有光譜記錄。提供一維光譜編號、一維光譜路徑、信噪比、選源來源等信息。
(11)GQ_info:星系測量結(jié)果信息表,包括所有星系模塊測量的星系或者類星體的類型、細(xì)分類、紅移、置信度等信息。
(12)GM_info:星系測量結(jié)果中的星系部分信息表,結(jié)構(gòu)同GQ_info。
(13)QM_info:星系測量結(jié)果中的類星體部分信息表,結(jié)構(gòu)同GQ_info。
(14)fail2d:二維光譜處理系統(tǒng)處理失敗的光譜儀信息表,包括失敗光譜儀的日期、光譜儀號、天區(qū)名稱、失敗原因、軟件版本等信息。
(15)ccd_info:CCD狀態(tài)信息表,包括CCD的編號和增益。
(16)mask_info:光纖標(biāo)記定義表,包括編號、類型和含義。
(17)exposure:曝光信息表,記錄每次曝光的日期、開始時(shí)間、結(jié)束時(shí)間、曝光類型、狹縫狀態(tài)等信息。
值得注意的是,這里僅僅是相同版本處理軟件對應(yīng)的表,如果從二維開始軟件升級了,就會有一系列新的表產(chǎn)生,這樣不同版本之間也可以相互比較和分析。
*成品數(shù)據(jù)庫:
(1)DR*數(shù)據(jù)庫:每個(gè)DR都有自己的數(shù)據(jù)庫,目前從DR1到DR5共5個(gè)。
總光譜星表:整合好的所有光譜星表,包括滿足發(fā)布條件的部分,通過if_release字段是否為1可以卡出來。一條記錄對應(yīng)一條光譜,包括選源信息、位置信息、分類、紅移在內(nèi)的所有關(guān)于這顆源的信息,在數(shù)據(jù)發(fā)布時(shí),按需卡出子集和所需字段交付給信息中心。
-A型恒星星表:整合好的A型星參數(shù)星表,包括每個(gè)DR所有A型星的線指數(shù)信息。
-M型恒星星表:整合好的M型星參數(shù)星表,包括每個(gè)DR所有M型星的分子帶指數(shù)信息等。
-AFGK型恒星高質(zhì)量光譜參數(shù)星表:整合好的高質(zhì)量的AFGK型恒星大氣參數(shù)星表,包括每個(gè)DR所有AFGK型恒星的有效溫度、重力加速度、金屬豐度、視向速度及其誤差等信息。
-天區(qū)信息表:整合好的所有觀測天區(qū)信息表,一條記錄對應(yīng)一個(gè)天區(qū),包括中央星位置、視寧度、曝光時(shí)間等信息。
(2)DR*最初版數(shù)據(jù)庫:每年都有最初版的數(shù)據(jù)于每個(gè)季度對外釋放,所以每一年對應(yīng)一個(gè)最初版數(shù)據(jù)庫,截止到目前共有6個(gè),即到DR6_ALPHA。而對于每個(gè)子數(shù)據(jù)庫,他們包含的數(shù)據(jù)表及結(jié)構(gòu)都是一樣的。
-總光譜星表:結(jié)構(gòu)同DR*數(shù)據(jù)庫中的總光譜星表一致。
-AFGK型恒星高質(zhì)量光譜參數(shù)星表:結(jié)構(gòu)同DR*數(shù)據(jù)庫中的AFGK型恒星高質(zhì)量光譜參數(shù)星表一致。
-天區(qū)信息表:結(jié)構(gòu)同DR*數(shù)據(jù)庫中的天區(qū)信息表一致。
這里沒有A型恒星及M型恒星星表是因?yàn)閿?shù)據(jù)發(fā)布策略規(guī)定最初版數(shù)據(jù)只提供大氣參數(shù),不用測量線指數(shù)。
*光譜檢查數(shù)據(jù)庫:
(1)chk_login:記錄加密后的用戶名和密碼信息。
(2)chk_member:記錄用戶信息、編號、部門、權(quán)限等。
(3)check_status:記錄光譜檢查狀態(tài)、是否完成及完成量、百分比等。
(4)spec_check:記錄需要人工檢查的光譜的信息,比如FITS文件讀取路徑等。
(5)humanverify:記錄人工檢查結(jié)果,包括分類、紅移、是否有特殊問題等。
(6)humanrecheck:記錄人工復(fù)核結(jié)果,內(nèi)容主要是分類和紅移。
(7)2dprob:記錄用戶反饋的原始數(shù)據(jù)問題,包括雜散光、負(fù)流量、天光等問題,這種情況下需要反饋給相關(guān)工作人員進(jìn)行及時(shí)處理。
對于以上數(shù)據(jù)庫的具體表字段設(shè)計(jì),本文不一一贅述,在此僅展示光譜檢查數(shù)據(jù)庫的邏輯設(shè)計(jì)圖,如圖4,具體表信息見上文光譜檢查數(shù)據(jù)庫介紹。

圖4 光譜檢查數(shù)據(jù)庫表結(jié)構(gòu)與關(guān)系圖Fig.4 Structure and Relationship Diagram of the spectra eye-check database
因?yàn)楣鼐赐h(yuǎn)鏡可同時(shí)觀測4 000個(gè)天體,每個(gè)觀測夜能得到近3萬條光譜,儀器效率的不均衡加上天氣、視寧度的影響導(dǎo)致數(shù)據(jù)質(zhì)量即信噪比降低,進(jìn)而使得自動分類和測量參數(shù)的結(jié)果不正確。與此同時(shí),也存在由于分類程序升級導(dǎo)致的同一批原始數(shù)據(jù)分類的結(jié)果不一致。為了保證每一條光譜的分類和測量信息的準(zhǔn)確性,需要人工經(jīng)驗(yàn)或者專家知識的介入,由于數(shù)據(jù)量大,逐條進(jìn)行光譜人工檢查是不切實(shí)際的,本軟件就是為了最大程度地輔助專家進(jìn)行自動化的光譜檢查。通過該軟件,專家可以憑借自己的專業(yè)知識對每條光譜標(biāo)記出他認(rèn)為正確的屬性信息,對于因?yàn)橛^測原因?qū)е碌臄?shù)據(jù)不可用情況也會予以反饋,所有信息記錄在后臺數(shù)據(jù)庫中。
3.3.1 所用軟件及技術(shù)
該軟件是基于瀏覽器/服務(wù)器(Browser/Server, BS)模式的在線網(wǎng)頁版的檢查系統(tǒng)。服務(wù)器端需要用到的基本軟件包括:
(1)MySQL——存儲后臺數(shù)據(jù)庫數(shù)據(jù)。
(2)PHP——用于實(shí)現(xiàn)動態(tài)交互式網(wǎng)頁。
(3)Python及相應(yīng)的天文軟件包和科學(xué)運(yùn)算包——用于遠(yuǎn)程讀取光譜數(shù)據(jù)的FITS文件。
(4)Apache——網(wǎng)頁服務(wù)器。
(5)一臺內(nèi)存32 G、硬盤2 T以上的高性能服務(wù)器——用于部署上述網(wǎng)頁服務(wù)。
客戶端只需要安裝瀏覽器就可以登錄查看。
3.3.2 功能設(shè)計(jì)與實(shí)現(xiàn)
該系統(tǒng)設(shè)計(jì)為3個(gè)光譜檢查部分,如圖5,(1)星系或者類星體等比較容易錯(cuò)分的少量的光譜檢查頁面(圖5(a));(2)恒星等比較不易出錯(cuò)的光譜檢查頁面(圖5(b));(3)按照光譜儀進(jìn)行二維預(yù)覽檢查的頁面(圖5(c))。軟件主要實(shí)現(xiàn)以下基本功能:
(1)用戶登錄,密碼驗(yàn)證。
(2)光譜逐條查看和結(jié)果提交,這是針對星系和類星體等河外光譜數(shù)據(jù),需要最大化展示光譜圖像供專家查看,給出正確的分類和紅移結(jié)果,頁面上提供細(xì)分類單選按鈕供用戶選擇。
(3)光譜瀏覽查看和結(jié)果提交,針對恒星光譜數(shù)據(jù),只需要成批地瀏覽查看,對其中有誤分類或者紅移結(jié)果進(jìn)行糾正。所有圖片以日期-天區(qū)-光譜儀號-光纖號升序排序,點(diǎn)擊其中任一幅圖像,可以自動獲取該圖對應(yīng)的id,點(diǎn)擊提交之后可以記錄目前查看的進(jìn)度。
(4)按光譜儀成批檢查原始數(shù)據(jù)或者二維數(shù)據(jù)處理是否有問題并標(biāo)記,如果是原始數(shù)據(jù)問題將丟棄,如果是二維數(shù)據(jù)處理問題將標(biāo)記自動反饋給相關(guān)人員進(jìn)行重新處理。依次點(diǎn)擊開始光纖號和結(jié)束光纖號文本框,然后點(diǎn)擊圖片,網(wǎng)頁自動識別光纖起止編號。當(dāng)用戶錄入問題描述并點(diǎn)擊提交按鈕之后,該起止編號的問題光纖就記錄在數(shù)據(jù)庫中。
(5)時(shí)間節(jié)點(diǎn)提交功能,瀏覽查看頁面中記錄用戶上次查看的最后位置,以便下次接著檢查而無需從頭查看,而且可以統(tǒng)計(jì)已經(jīng)檢查的數(shù)量,更好地掌握檢查進(jìn)度。
(6)紅移測量,根據(jù)譜線匹配測量(圖5(d))。該網(wǎng)頁用Javascript控制光譜紅移的增大和減小,實(shí)時(shí)展示光譜譜線的相應(yīng)變化。
(7)檢查進(jìn)度查詢,可以查詢某些時(shí)間段的數(shù)據(jù)檢查進(jìn)度(圖5(e))。
(8)二維數(shù)據(jù)處理系統(tǒng)檢查結(jié)果響應(yīng),相關(guān)處理人員查詢某些日期的用戶曾經(jīng)反饋的問題,確認(rèn)問題并在數(shù)據(jù)庫中標(biāo)記,直到查詢結(jié)果空白表示沒有任何問題(圖5(f))。
3.3.3 系統(tǒng)測試
將以上功能逐一單獨(dú)測試,該軟件系統(tǒng)能順利完成快速SQL讀寫,以及光譜的逐條檢查或是瀏覽檢查、紅移測量等功能。
將該系統(tǒng)做負(fù)載能力測試,500個(gè)用戶同時(shí)訪問,系統(tǒng)比較穩(wěn)定。對于數(shù)據(jù)處理機(jī)房的32臺刀片機(jī)以及20多個(gè)用戶來說,這種穩(wěn)定性和負(fù)載能力足夠。相信以后如果對服務(wù)器和硬盤等各種硬件環(huán)境升級的情況下,性能會有更大提升。

圖5 光譜檢查頁面展示
Fig.5 Page demonstration of LAMOST spectra eye-check
本文針對郭守敬望遠(yuǎn)鏡數(shù)據(jù)處理的特點(diǎn),結(jié)合數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)技術(shù),設(shè)計(jì)了望遠(yuǎn)鏡數(shù)據(jù)處理核心數(shù)據(jù)庫和數(shù)據(jù)流,開發(fā)了一套光譜質(zhì)量控制系統(tǒng),第1次在兼顧光譜質(zhì)量控制標(biāo)準(zhǔn)的同時(shí),為大型望遠(yuǎn)鏡后期數(shù)據(jù)處理提供了數(shù)據(jù)庫和數(shù)據(jù)流基礎(chǔ)模型。望遠(yuǎn)鏡二期巡天已經(jīng)開始,中分辨率數(shù)據(jù)越來越多,在后續(xù)工作中,將進(jìn)一步研究中分辨率數(shù)據(jù)處理和發(fā)布需求,優(yōu)化現(xiàn)有數(shù)據(jù)流和數(shù)據(jù)庫,同時(shí)將質(zhì)量控制擴(kuò)展到中分辨率數(shù)據(jù)處理中。