戴 碩,沈呈彩,李瓊英,趙世清,林 雋
(1.中國(guó)科學(xué)院國(guó)家天文臺(tái)云南天文臺(tái),云南 昆明 650011;2.中國(guó)科學(xué)院研究生院,北京 100049)
近年來(lái),隨著天文觀測(cè)儀器精度的提高,觀測(cè)數(shù)據(jù)量越來(lái)越大。如目前LAMOST計(jì)劃,使用32個(gè)4K×4K的CCD進(jìn)行觀測(cè),每晚觀測(cè)產(chǎn)生約15G(4K×4K×2×32×5×3=15.3G)的數(shù)據(jù)。澄江撫仙湖太陽(yáng)觀測(cè)基地建成后,僅光譜儀就能帶來(lái)每天約15G的數(shù)據(jù)。云南天文臺(tái)Hα全日面望遠(yuǎn)鏡每天的觀測(cè)數(shù)據(jù)也為1~2G(觀測(cè)樣圖見(jiàn)圖1)。同時(shí),云南天文臺(tái)還加入了全球Hα觀測(cè)網(wǎng)絡(luò)(Global High Resolution Network),每天需要和該網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)共享。如此海量的數(shù)據(jù)對(duì)數(shù)據(jù)保存和共享提出了嚴(yán)峻的挑戰(zhàn)。因此需要建立一個(gè)存儲(chǔ)數(shù)據(jù)庫(kù),并以此為基礎(chǔ),實(shí)現(xiàn)數(shù)據(jù)共享和各種附加功能。全日面觀測(cè)數(shù)據(jù)的服務(wù)已經(jīng)有了多年實(shí)踐經(jīng)驗(yàn),這里只是把這些經(jīng)驗(yàn)做一總結(jié),并將之和澄江1m紅外太陽(yáng)塔聯(lián)系起來(lái),以起到經(jīng)驗(yàn)傳承的作用。正如文中所總結(jié)的,這些觀測(cè)數(shù)據(jù)服務(wù)系統(tǒng)在最基本的功能需求上是一致的,因此只要做好最基本的功能,就可以在這之上進(jìn)行有針對(duì)性的擴(kuò)展,以適用于各種望遠(yuǎn)鏡的需求。澄江1m紅外太陽(yáng)塔就是在此之上進(jìn)行擴(kuò)展的實(shí)例。
為了給各種數(shù)據(jù)庫(kù)功能提供有力保障,特別是對(duì)于存儲(chǔ)的各個(gè)方面的需求,需要給數(shù)據(jù)庫(kù)選擇合適的硬件設(shè)備。硬件方面,目前主流的存儲(chǔ)系統(tǒng)網(wǎng)絡(luò)架構(gòu)有直連式存儲(chǔ)(Direct-Attached Storage,DAS)、網(wǎng)絡(luò)接入存儲(chǔ)(Network-Attached Storage,NAS)和存儲(chǔ)區(qū)域網(wǎng)絡(luò)(Storage Area Network,SAN),見(jiàn)圖2。
直連式存儲(chǔ)是服務(wù)器直接與應(yīng)用端相連,那么數(shù)據(jù)存儲(chǔ)、共享等操作均需占用服務(wù)器資源。由于各種數(shù)據(jù)操作會(huì)占用較多的服務(wù)器CPU資源,因此此類(lèi)設(shè)計(jì)的各種數(shù)據(jù)操作常選擇在數(shù)據(jù)服務(wù)不繁忙時(shí)進(jìn)行。網(wǎng)絡(luò)接入存儲(chǔ)可以采用目前成熟的以太網(wǎng),通過(guò)網(wǎng)絡(luò)設(shè)備,如網(wǎng)絡(luò)交換機(jī)等,用網(wǎng)絡(luò)來(lái)連接存儲(chǔ)系統(tǒng)(存儲(chǔ)節(jié)點(diǎn))和服務(wù)器主機(jī),相當(dāng)于建立一個(gè)專(zhuān)門(mén)的存儲(chǔ)網(wǎng)絡(luò)。由于存儲(chǔ)系統(tǒng)不需要復(fù)雜的操作,只具備簡(jiǎn)單的功能和服務(wù)即可,因此各存儲(chǔ)系統(tǒng)不需要專(zhuān)業(yè)的服務(wù)器。存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)是一個(gè)由存儲(chǔ)設(shè)備和系統(tǒng)部件構(gòu)成的網(wǎng)絡(luò),所有的通信都在一個(gè)與應(yīng)用網(wǎng)絡(luò)隔離的單獨(dú)的網(wǎng)絡(luò)上完成,可以被用來(lái)集中和共享存儲(chǔ)資源。SAN存儲(chǔ)采用的接口技術(shù)可以為FC(光纖通道)或者是iSCSI(基于internet的TCP/IP協(xié)議的SCSI),傳輸協(xié)議為Block協(xié)議。前者帶寬一般為2Gbps,目前最快為10Gbps,但成本極為昂貴;后者帶寬最快可以為10Gbps。圖2表示了這3種存儲(chǔ)結(jié)構(gòu)的主要特征。從圖中可以看到DAS和SAN是基于設(shè)備的,而NAS是基于數(shù)據(jù)塊的。
圖1 2005年10月12日云南天文臺(tái)Hα全日面望遠(yuǎn)鏡觀測(cè)得到的單色像Fig.1 Full-disk Hα solar image obtained by the solar telescope of the Yunnan Observatory in Oct.12,2005
圖2 3種不同的存儲(chǔ)架構(gòu)示意圖Fig.2 Illustration of three different storage architectures
軟件方面,目前常用的數(shù)據(jù)庫(kù)軟件主要有Oracle、Mysql和SQL-Server。其中Mysql為開(kāi)源軟件,可以自由下載使用,Oracle和SQL-Server均需購(gòu)買(mǎi)。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在2008年被Sun公司收購(gòu)。MySQL被廣泛應(yīng)用在Internet上的中小型網(wǎng)站中。它為C和C++語(yǔ)言編寫(xiě),支持多線程,提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。MySQL的MyISAM引擎專(zhuān)為快速讀取而設(shè)計(jì),在給因特網(wǎng)上的應(yīng)用提供服務(wù)的數(shù)據(jù)庫(kù)中性能最優(yōu)。它同時(shí)還提供若干實(shí)用工具用來(lái)優(yōu)化數(shù)據(jù)庫(kù)和表,以及方便進(jìn)行數(shù)據(jù)庫(kù)移植等。
根據(jù)Hα全日面望遠(yuǎn)鏡這些年來(lái)的運(yùn)行經(jīng)驗(yàn)[1-2],結(jié)合未來(lái)的發(fā)展要求,本設(shè)計(jì)需要滿足如下需求:
(1)大容量數(shù)據(jù)存儲(chǔ),且要求可靈活擴(kuò)展
目前觀測(cè)的原始數(shù)據(jù)量為每天1~2G,若保證5年的數(shù)據(jù)存儲(chǔ)空間,則需要3TB左右。按照下面第2點(diǎn)要求,數(shù)據(jù)進(jìn)行完整備份,則數(shù)據(jù)量還要翻一倍,即6TB。另外,如果以后進(jìn)行設(shè)備改造,每天采集的數(shù)據(jù)量會(huì)進(jìn)一步增加。因此必須保證存儲(chǔ)空間可以靈活增加。
(2)數(shù)據(jù)安全
由于天文觀測(cè)的特殊性,所有的資料都是唯一的,過(guò)期不可能再次觀測(cè)。因此必須完全保證觀測(cè)資料的存儲(chǔ)安全。這包括兩方面的含義:一是保證數(shù)據(jù)存儲(chǔ)本身的安全,數(shù)據(jù)庫(kù)軟件和存儲(chǔ)設(shè)備硬件;另一個(gè)是保證數(shù)據(jù)服務(wù)的安全,網(wǎng)絡(luò)服務(wù)和防范黑客攻擊。
(3)數(shù)據(jù)服務(wù)
至少支持基于時(shí)間和儀器的簡(jiǎn)單查詢。數(shù)據(jù)記錄可以被所有人訪問(wèn)。經(jīng)過(guò)身份認(rèn)證后,被授權(quán)人應(yīng)該可以通過(guò)網(wǎng)絡(luò)下載數(shù)據(jù)。有重大觀測(cè)任務(wù)時(shí),須保證不間斷服務(wù)。保證一定數(shù)量的并發(fā)連接。
(4)數(shù)據(jù)接收
可以自動(dòng)導(dǎo)入望遠(yuǎn)鏡的觀測(cè)記錄和觀測(cè)數(shù)據(jù)、處理后的數(shù)據(jù)。在某些情況下,進(jìn)行簡(jiǎn)單的數(shù)據(jù)處理。處理完畢的數(shù)據(jù)可以自動(dòng)上網(wǎng)。
(5)數(shù)據(jù)檢索
由于數(shù)據(jù)量很大,對(duì)數(shù)據(jù)庫(kù)性能要求較高,數(shù)據(jù)庫(kù)和表首先要結(jié)構(gòu)設(shè)計(jì)良好??紤]到目前網(wǎng)絡(luò)狀況,必須保證數(shù)據(jù)庫(kù)的反應(yīng)速度。另外,根據(jù)目前各種太陽(yáng)物理數(shù)據(jù)服務(wù)的特點(diǎn),提供更多檢索種類(lèi)的支持??紤]整合各種其他太陽(yáng)物理數(shù)據(jù)庫(kù),實(shí)現(xiàn)一站式檢索。
(6)適當(dāng)考慮數(shù)據(jù)庫(kù)周邊
提供類(lèi)似于科普教育的功能。
(1)設(shè)計(jì)原則
先進(jìn)性:使用的硬件和軟件必須是先進(jìn)而成熟的。
實(shí)用性:本數(shù)據(jù)庫(kù)面向各個(gè)方面的用戶,包括科研和科普,因此要滿足他們的實(shí)際需要。各個(gè)方面宜采用最簡(jiǎn)單的方案,使大家易于接受。
經(jīng)濟(jì)性:在同等條件下,要減輕經(jīng)濟(jì)負(fù)擔(dān)。
易于管理:管理人員均為非專(zhuān)業(yè)人員,必須易于管理,還應(yīng)該具有一定的指令容錯(cuò)性。
安全性:除了硬件存儲(chǔ)安全之外,強(qiáng)調(diào)網(wǎng)絡(luò)服務(wù)安全和防范黑客。
可擴(kuò)充性:設(shè)計(jì)方案具有良好的存儲(chǔ)擴(kuò)充性和升級(jí)能力。
標(biāo)準(zhǔn)化:對(duì)于未來(lái)的國(guó)際合作,必須有相應(yīng)的考慮。
(2)設(shè)計(jì)目標(biāo)
根據(jù)目前反饋信息,本數(shù)據(jù)服務(wù)系統(tǒng)的總體目標(biāo)是建立基于DAS+NAS的數(shù)據(jù)中心,即建立一個(gè)集中、異構(gòu)、可擴(kuò)充、可集成、可交換的和安全可靠的復(fù)合數(shù)據(jù)庫(kù)系統(tǒng)。具體目標(biāo)如下:存儲(chǔ)方案采用DAS+NAS方案;軟件方面,網(wǎng)絡(luò)服務(wù)采用Linux+Apache+MySQL+PHP(LAMP),數(shù)據(jù)處理采用IDL;數(shù)據(jù)庫(kù)引擎采用MySQL的MyISAM引擎;存儲(chǔ)設(shè)備提供冗余支持,磁盤(pán)存儲(chǔ)使用RAID-5,并有完整的光盤(pán)備份;提供網(wǎng)絡(luò)安全的保障機(jī)制。
(3)系統(tǒng)功能組成
圖3為系統(tǒng)功能組成示意圖。基本運(yùn)行流程為:用戶對(duì)服務(wù)系統(tǒng)提出服務(wù)請(qǐng)求;服務(wù)系統(tǒng)返回相應(yīng)結(jié)果;數(shù)據(jù)列表的檢索在服務(wù)系統(tǒng)本地完成;具體數(shù)據(jù)下載,服務(wù)系統(tǒng)需要再向存儲(chǔ)系統(tǒng)提出服務(wù)請(qǐng)求;服務(wù)系統(tǒng)對(duì)存儲(chǔ)系統(tǒng)提出服務(wù)請(qǐng)求;存儲(chǔ)系統(tǒng)返回相應(yīng)結(jié)果;備份系統(tǒng)可以對(duì)存儲(chǔ)系統(tǒng)進(jìn)行訪問(wèn);存儲(chǔ)系統(tǒng)不能訪問(wèn)備份系統(tǒng)。澄江1m紅外太陽(yáng)塔的系統(tǒng)會(huì)在此基礎(chǔ)上進(jìn)一步完善,配備獨(dú)立的日志系統(tǒng)防止誤操作。另外,服務(wù)系統(tǒng)還將具有一個(gè)包括完整功能的副本,該副本會(huì)在服務(wù)系統(tǒng)出現(xiàn)問(wèn)題時(shí)上線工作。
圖3 全日面觀測(cè)數(shù)據(jù)服務(wù)系統(tǒng)的功能組成示意圖Fig.3 Block diagram of the service system for full-disk solar observations
(4)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
為了滿足實(shí)際功能的需要,設(shè)計(jì)圖4所示的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。這里面存在2個(gè)局域網(wǎng),望遠(yuǎn)鏡局域網(wǎng)和全日面觀測(cè)數(shù)據(jù)服務(wù)系統(tǒng)的NAS局域網(wǎng)。數(shù)據(jù)系統(tǒng)單獨(dú)組成局域網(wǎng),一方面是因?yàn)镹AS還要承擔(dān)部分?jǐn)?shù)據(jù)處理任務(wù)。因此在NAS的基礎(chǔ)上,把標(biāo)準(zhǔn)的NAS結(jié)構(gòu)做了修改,使用專(zhuān)業(yè)服務(wù)器來(lái)充當(dāng)各節(jié)點(diǎn),所以組成了局域網(wǎng)。另一方面,考慮到天文臺(tái)內(nèi)網(wǎng)速度較慢,實(shí)際工作中,有時(shí)候當(dāng)天的存儲(chǔ)系統(tǒng)和備份系統(tǒng)的同步不能按時(shí)完成,所以單獨(dú)建立局域網(wǎng),以提高同步的速度。服務(wù)系統(tǒng)同時(shí)連接著NAS和天文臺(tái)的內(nèi)網(wǎng),內(nèi)網(wǎng)用戶可以直接進(jìn)行下載。外網(wǎng)用戶須經(jīng)過(guò)天文臺(tái)的防火墻才能訪問(wèn)到服務(wù)器。這樣可以提高安全性。不過(guò),考慮到實(shí)際工作的需要,如與Hα全球聯(lián)測(cè)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)同步,傳輸數(shù)據(jù)量巨大,那么此時(shí)的服務(wù)系統(tǒng)就直接連接到因特網(wǎng)上,提供數(shù)據(jù)服務(wù)。根據(jù)澄江1m紅外太陽(yáng)塔初步的需求,其存儲(chǔ)部分將分為3部分,即磁盤(pán)存儲(chǔ)的當(dāng)天觀測(cè)數(shù)據(jù),磁盤(pán)陣列存儲(chǔ)的近期數(shù)據(jù)以及磁帶機(jī)存儲(chǔ)的全部數(shù)據(jù)。根據(jù)這一特點(diǎn),將為其設(shè)計(jì)相應(yīng)的網(wǎng)絡(luò)。
圖4 全日面觀測(cè)數(shù)據(jù)服務(wù)系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱DFig.4 Topological structure of the network of the service system for full-disk solar observations
(5)用戶工作流程圖
用戶獲取數(shù)據(jù)的步驟,可以用如圖5的流程圖來(lái)說(shuō)明。按照實(shí)際工作的需求,當(dāng)天的“每日照”和觀測(cè)數(shù)據(jù)列表是可以被每個(gè)人訪問(wèn)到的,具體數(shù)據(jù)的下載須申請(qǐng),在經(jīng)過(guò)記錄之后可以下載。
圖5 用戶工作流程圖Fig.5 Flowchart of data acquisition
任何用戶,如果瀏覽當(dāng)天或近期的“每日照”,在云南天文臺(tái)太陽(yáng)爆發(fā)和CME理論組的首頁(yè)上即看到。如果需要進(jìn)行數(shù)據(jù)檢索操作,那么進(jìn)入如圖6的全日面觀測(cè)服務(wù)系統(tǒng)的網(wǎng)頁(yè),在“數(shù)據(jù)查詢快速通道中”選擇Hα數(shù)據(jù),然后進(jìn)入如圖7檢索界面進(jìn)行操作。得到檢索結(jié)果后,如果是天文臺(tái)內(nèi)網(wǎng)用戶,那么經(jīng)過(guò)IP認(rèn)證和VNC端口號(hào)認(rèn)證(分配給太陽(yáng)組計(jì)算服務(wù)器用戶的端口號(hào))后,即可對(duì)數(shù)據(jù)進(jìn)行下載。如果是外網(wǎng)用戶,可以通過(guò)email提交申請(qǐng)至halpha@ynao.ac.cn,經(jīng)過(guò)記錄后,會(huì)發(fā)送下載地址到用戶郵箱。用戶可通過(guò)該地址自行下載。
圖6 查詢系統(tǒng)界面Fig.6 Web interface of the service system for full-disk solar observations
圖7 檢索操作的界面Fig.7 Interface of searching observations
(6)實(shí)際工作中的一些考慮和待解決的問(wèn)題
由于本系統(tǒng)是運(yùn)行在因特網(wǎng)上的服務(wù),因此根據(jù)實(shí)際工作的需要還有如下考慮:
網(wǎng)絡(luò)安全性,這是任何提供網(wǎng)絡(luò)服務(wù)的項(xiàng)目所必須考慮的。在本系統(tǒng)中,只是初步嘗試了有關(guān)方法,以求為以后澄江紅外太陽(yáng)觀測(cè)基地的有關(guān)項(xiàng)目積累經(jīng)驗(yàn)??紤]的安全問(wèn)題主要是MySQL注入式攻擊。這種攻擊主要是指在查詢界面中輸入一些特殊的內(nèi)容,從而使MySQL錯(cuò)誤的理解攻擊者的查詢本意。這種攻擊結(jié)合PHP的一些漏洞,使數(shù)據(jù)庫(kù)的數(shù)據(jù)面臨嚴(yán)重威脅。對(duì)于本系統(tǒng),這里由于查詢方式簡(jiǎn)單,因此使用了下拉式的PHP選單而不是輸入框,并且限定返回值為合法日期對(duì)應(yīng)的數(shù)字(如圖6)。這種簡(jiǎn)單做法可以避免初等的攻擊手段。另外,使用了Zend程序。它不僅可以提高PHP的性能,本身還改進(jìn)了PHP和MySQL安全性,禁用了某些高危函數(shù)。當(dāng)然,以后的發(fā)展將需要系統(tǒng)提供更多的查詢方式,因此這里的安全問(wèn)題還需要做進(jìn)一步的工作。
數(shù)據(jù)庫(kù)優(yōu)化。若數(shù)據(jù)查詢過(guò)程中一次查詢結(jié)果為幾百條,則響應(yīng)速度已經(jīng)較慢了,如果考慮到并發(fā)查詢請(qǐng)求,那么服務(wù)器的壓力就會(huì)更大。實(shí)際上,國(guó)外臺(tái)站如墨東天文臺(tái)、中歐太陽(yáng)數(shù)據(jù)中心等均已限制查詢結(jié)果不得超過(guò)200條,否則用戶須改變查詢條件以獲得較少命中結(jié)果。因此數(shù)據(jù)庫(kù)必須進(jìn)行優(yōu)化。
對(duì)于本系統(tǒng),只是使用常規(guī)手段進(jìn)行優(yōu)化。這一方面是因?yàn)镸ySQL記錄數(shù)量約在每年十萬(wàn)的量級(jí),查詢壓力不是很大,另一方面是因?yàn)榉?wù)器性能較好。經(jīng)過(guò)測(cè)試,MySQL的CPU和內(nèi)存占用處于合理水平,所以沒(méi)有做這方面的限制。不過(guò),以后澄江太陽(yáng)觀測(cè)基地因?yàn)槭嵌嗖ǘ螖?shù)據(jù),記錄數(shù)會(huì)成倍增加,估計(jì)每年約在百萬(wàn)量級(jí)。因此可能會(huì)需要使用一些專(zhuān)門(mén)的優(yōu)化方法。
本系統(tǒng)已經(jīng)正常運(yùn)行了半年左右。根據(jù)在運(yùn)行過(guò)程中出現(xiàn)的問(wèn)題對(duì)系統(tǒng)進(jìn)行了及時(shí)更新,這也為澄江太陽(yáng)觀測(cè)基地?cái)?shù)據(jù)庫(kù)的建設(shè)積累了經(jīng)驗(yàn)。由于實(shí)際工作中問(wèn)題多種多樣,以后還會(huì)對(duì)有關(guān)問(wèn)題進(jìn)一步跟蹤解決。這些經(jīng)驗(yàn)也會(huì)進(jìn)一步豐富和完善澄江1m紅外太陽(yáng)塔有關(guān)系統(tǒng)的設(shè)計(jì)。
致謝:感謝新澤西理工大學(xué)物理系日地關(guān)系研究中心徐硯博士對(duì)本文提出的有益建議。
[1]陳東.網(wǎng)絡(luò)控制技術(shù)與虛擬天文臺(tái)[D].中科院研究生院博士學(xué)位論文,2003.
[2]韋卡寧,趙世清,李瓊英,等.H-alpha太陽(yáng)全日面像數(shù)據(jù)管理系統(tǒng)的建立[J].天文研究與技術(shù)—國(guó)家天文臺(tái)臺(tái)刊,2004,1(2):119-128.
WEI Ka-ning,ZHAO Shi-qing,LI Qiong-ying,et al.Development of the Prototype Data Management System of the Solar H-alpha Full Disk Observation[J].Astronomical Research & Technology,2004,1(2):119-128.
AServiceSystemforFull-diskHαSolarObservationsintheYunnanObservatory