戴 碩,沈呈彩,李瓊英,趙世清,林 雋
(1.中國科學院國家天文臺云南天文臺,云南 昆明 650011;2.中國科學院研究生院,北京 100049)
近年來,隨著天文觀測儀器精度的提高,觀測數據量越來越大。如目前LAMOST計劃,使用32個4K×4K的CCD進行觀測,每晚觀測產生約15G(4K×4K×2×32×5×3=15.3G)的數據。澄江撫仙湖太陽觀測基地建成后,僅光譜儀就能帶來每天約15G的數據。云南天文臺Hα全日面望遠鏡每天的觀測數據也為1~2G(觀測樣圖見圖1)。同時,云南天文臺還加入了全球Hα觀測網絡(Global High Resolution Network),每天需要和該網絡進行數據共享。如此海量的數據對數據保存和共享提出了嚴峻的挑戰。因此需要建立一個存儲數據庫,并以此為基礎,實現數據共享和各種附加功能。全日面觀測數據的服務已經有了多年實踐經驗,這里只是把這些經驗做一總結,并將之和澄江1m紅外太陽塔聯系起來,以起到經驗傳承的作用。正如文中所總結的,這些觀測數據服務系統在最基本的功能需求上是一致的,因此只要做好最基本的功能,就可以在這之上進行有針對性的擴展,以適用于各種望遠鏡的需求。澄江1m紅外太陽塔就是在此之上進行擴展的實例。
為了給各種數據庫功能提供有力保障,特別是對于存儲的各個方面的需求,需要給數據庫選擇合適的硬件設備。硬件方面,目前主流的存儲系統網絡架構有直連式存儲(Direct-Attached Storage,DAS)、網絡接入存儲(Network-Attached Storage,NAS)和存儲區域網絡(Storage Area Network,SAN),見圖2。
直連式存儲是服務器直接與應用端相連,那么數據存儲、共享等操作均需占用服務器資源。由于各種數據操作會占用較多的服務器CPU資源,因此此類設計的各種數據操作常選擇在數據服務不繁忙時進行。網絡接入存儲可以采用目前成熟的以太網,通過網絡設備,如網絡交換機等,用網絡來連接存儲系統(存儲節點)和服務器主機,相當于建立一個專門的存儲網絡。由于存儲系統不需要復雜的操作,只具備簡單的功能和服務即可,因此各存儲系統不需要專業的服務器。存儲區域網絡(SAN)是一個由存儲設備和系統部件構成的網絡,所有的通信都在一個與應用網絡隔離的單獨的網絡上完成,可以被用來集中和共享存儲資源。SAN存儲采用的接口技術可以為FC(光纖通道)或者是iSCSI(基于internet的TCP/IP協議的SCSI),傳輸協議為Block協議。前者帶寬一般為2Gbps,目前最快為10Gbps,但成本極為昂貴;后者帶寬最快可以為10Gbps。圖2表示了這3種存儲結構的主要特征。從圖中可以看到DAS和SAN是基于設備的,而NAS是基于數據塊的。

圖1 2005年10月12日云南天文臺Hα全日面望遠鏡觀測得到的單色像Fig.1 Full-disk Hα solar image obtained by the solar telescope of the Yunnan Observatory in Oct.12,2005

圖2 3種不同的存儲架構示意圖Fig.2 Illustration of three different storage architectures
軟件方面,目前常用的數據庫軟件主要有Oracle、Mysql和SQL-Server。其中Mysql為開源軟件,可以自由下載使用,Oracle和SQL-Server均需購買。MySQL是一個小型關系型數據庫管理系統,在2008年被Sun公司收購。MySQL被廣泛應用在Internet上的中小型網站中。它為C和C++語言編寫,支持多線程,提供TCP/IP、ODBC和JDBC等多種數據庫連接途徑。MySQL的MyISAM引擎專為快速讀取而設計,在給因特網上的應用提供服務的數據庫中性能最優。它同時還提供若干實用工具用來優化數據庫和表,以及方便進行數據庫移植等。
根據Hα全日面望遠鏡這些年來的運行經驗[1-2],結合未來的發展要求,本設計需要滿足如下需求:
(1)大容量數據存儲,且要求可靈活擴展
目前觀測的原始數據量為每天1~2G,若保證5年的數據存儲空間,則需要3TB左右。按照下面第2點要求,數據進行完整備份,則數據量還要翻一倍,即6TB。另外,如果以后進行設備改造,每天采集的數據量會進一步增加。因此必須保證存儲空間可以靈活增加。
(2)數據安全
由于天文觀測的特殊性,所有的資料都是唯一的,過期不可能再次觀測。因此必須完全保證觀測資料的存儲安全。這包括兩方面的含義:一是保證數據存儲本身的安全,數據庫軟件和存儲設備硬件;另一個是保證數據服務的安全,網絡服務和防范黑客攻擊。
(3)數據服務
至少支持基于時間和儀器的簡單查詢。數據記錄可以被所有人訪問。經過身份認證后,被授權人應該可以通過網絡下載數據。有重大觀測任務時,須保證不間斷服務。保證一定數量的并發連接。
(4)數據接收
可以自動導入望遠鏡的觀測記錄和觀測數據、處理后的數據。在某些情況下,進行簡單的數據處理。處理完畢的數據可以自動上網。
(5)數據檢索
由于數據量很大,對數據庫性能要求較高,數據庫和表首先要結構設計良好。考慮到目前網絡狀況,必須保證數據庫的反應速度。另外,根據目前各種太陽物理數據服務的特點,提供更多檢索種類的支持。考慮整合各種其他太陽物理數據庫,實現一站式檢索。
(6)適當考慮數據庫周邊
提供類似于科普教育的功能。
(1)設計原則
先進性:使用的硬件和軟件必須是先進而成熟的。
實用性:本數據庫面向各個方面的用戶,包括科研和科普,因此要滿足他們的實際需要。各個方面宜采用最簡單的方案,使大家易于接受。
經濟性:在同等條件下,要減輕經濟負擔。
易于管理:管理人員均為非專業人員,必須易于管理,還應該具有一定的指令容錯性。
安全性:除了硬件存儲安全之外,強調網絡服務安全和防范黑客。
可擴充性:設計方案具有良好的存儲擴充性和升級能力。
標準化:對于未來的國際合作,必須有相應的考慮。
(2)設計目標
根據目前反饋信息,本數據服務系統的總體目標是建立基于DAS+NAS的數據中心,即建立一個集中、異構、可擴充、可集成、可交換的和安全可靠的復合數據庫系統。具體目標如下:存儲方案采用DAS+NAS方案;軟件方面,網絡服務采用Linux+Apache+MySQL+PHP(LAMP),數據處理采用IDL;數據庫引擎采用MySQL的MyISAM引擎;存儲設備提供冗余支持,磁盤存儲使用RAID-5,并有完整的光盤備份;提供網絡安全的保障機制。
(3)系統功能組成
圖3為系統功能組成示意圖。基本運行流程為:用戶對服務系統提出服務請求;服務系統返回相應結果;數據列表的檢索在服務系統本地完成;具體數據下載,服務系統需要再向存儲系統提出服務請求;服務系統對存儲系統提出服務請求;存儲系統返回相應結果;備份系統可以對存儲系統進行訪問;存儲系統不能訪問備份系統。澄江1m紅外太陽塔的系統會在此基礎上進一步完善,配備獨立的日志系統防止誤操作。另外,服務系統還將具有一個包括完整功能的副本,該副本會在服務系統出現問題時上線工作。

圖3 全日面觀測數據服務系統的功能組成示意圖Fig.3 Block diagram of the service system for full-disk solar observations
(4)網絡拓撲結構
為了滿足實際功能的需要,設計圖4所示的網絡拓撲結構。這里面存在2個局域網,望遠鏡局域網和全日面觀測數據服務系統的NAS局域網。數據系統單獨組成局域網,一方面是因為NAS還要承擔部分數據處理任務。因此在NAS的基礎上,把標準的NAS結構做了修改,使用專業服務器來充當各節點,所以組成了局域網。另一方面,考慮到天文臺內網速度較慢,實際工作中,有時候當天的存儲系統和備份系統的同步不能按時完成,所以單獨建立局域網,以提高同步的速度。服務系統同時連接著NAS和天文臺的內網,內網用戶可以直接進行下載。外網用戶須經過天文臺的防火墻才能訪問到服務器。這樣可以提高安全性。不過,考慮到實際工作的需要,如與Hα全球聯測網絡進行數據同步,傳輸數據量巨大,那么此時的服務系統就直接連接到因特網上,提供數據服務。根據澄江1m紅外太陽塔初步的需求,其存儲部分將分為3部分,即磁盤存儲的當天觀測數據,磁盤陣列存儲的近期數據以及磁帶機存儲的全部數據。根據這一特點,將為其設計相應的網絡。

圖4 全日面觀測數據服務系統的網絡拓撲圖Fig.4 Topological structure of the network of the service system for full-disk solar observations
(5)用戶工作流程圖
用戶獲取數據的步驟,可以用如圖5的流程圖來說明。按照實際工作的需求,當天的“每日照”和觀測數據列表是可以被每個人訪問到的,具體數據的下載須申請,在經過記錄之后可以下載。

圖5 用戶工作流程圖Fig.5 Flowchart of data acquisition
任何用戶,如果瀏覽當天或近期的“每日照”,在云南天文臺太陽爆發和CME理論組的首頁上即看到。如果需要進行數據檢索操作,那么進入如圖6的全日面觀測服務系統的網頁,在“數據查詢快速通道中”選擇Hα數據,然后進入如圖7檢索界面進行操作。得到檢索結果后,如果是天文臺內網用戶,那么經過IP認證和VNC端口號認證(分配給太陽組計算服務器用戶的端口號)后,即可對數據進行下載。如果是外網用戶,可以通過email提交申請至halpha@ynao.ac.cn,經過記錄后,會發送下載地址到用戶郵箱。用戶可通過該地址自行下載。

圖6 查詢系統界面Fig.6 Web interface of the service system for full-disk solar observations

圖7 檢索操作的界面Fig.7 Interface of searching observations
(6)實際工作中的一些考慮和待解決的問題
由于本系統是運行在因特網上的服務,因此根據實際工作的需要還有如下考慮:
網絡安全性,這是任何提供網絡服務的項目所必須考慮的。在本系統中,只是初步嘗試了有關方法,以求為以后澄江紅外太陽觀測基地的有關項目積累經驗。考慮的安全問題主要是MySQL注入式攻擊。這種攻擊主要是指在查詢界面中輸入一些特殊的內容,從而使MySQL錯誤的理解攻擊者的查詢本意。這種攻擊結合PHP的一些漏洞,使數據庫的數據面臨嚴重威脅。對于本系統,這里由于查詢方式簡單,因此使用了下拉式的PHP選單而不是輸入框,并且限定返回值為合法日期對應的數字(如圖6)。這種簡單做法可以避免初等的攻擊手段。另外,使用了Zend程序。它不僅可以提高PHP的性能,本身還改進了PHP和MySQL安全性,禁用了某些高危函數。當然,以后的發展將需要系統提供更多的查詢方式,因此這里的安全問題還需要做進一步的工作。
數據庫優化。若數據查詢過程中一次查詢結果為幾百條,則響應速度已經較慢了,如果考慮到并發查詢請求,那么服務器的壓力就會更大。實際上,國外臺站如墨東天文臺、中歐太陽數據中心等均已限制查詢結果不得超過200條,否則用戶須改變查詢條件以獲得較少命中結果。因此數據庫必須進行優化。
對于本系統,只是使用常規手段進行優化。這一方面是因為MySQL記錄數量約在每年十萬的量級,查詢壓力不是很大,另一方面是因為服務器性能較好。經過測試,MySQL的CPU和內存占用處于合理水平,所以沒有做這方面的限制。不過,以后澄江太陽觀測基地因為是多波段數據,記錄數會成倍增加,估計每年約在百萬量級。因此可能會需要使用一些專門的優化方法。
本系統已經正常運行了半年左右。根據在運行過程中出現的問題對系統進行了及時更新,這也為澄江太陽觀測基地數據庫的建設積累了經驗。由于實際工作中問題多種多樣,以后還會對有關問題進一步跟蹤解決。這些經驗也會進一步豐富和完善澄江1m紅外太陽塔有關系統的設計。
致謝:感謝新澤西理工大學物理系日地關系研究中心徐硯博士對本文提出的有益建議。
[1]陳東.網絡控制技術與虛擬天文臺[D].中科院研究生院博士學位論文,2003.
[2]韋卡寧,趙世清,李瓊英,等.H-alpha太陽全日面像數據管理系統的建立[J].天文研究與技術—國家天文臺臺刊,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