姜 旭,佟繼周,崔辰州,鄒自明
(1.中國科學院空間科學與應用研究中心,北京 100190;2.中國科學院大學計算機與控制學院,北京 100049;3.中國科學院國家天文臺,北京 100012)
基于虛擬天文臺的HXMT衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)設計與實現(xiàn)
姜 旭1,2,佟繼周1,崔辰州3,鄒自明1
(1.中國科學院空間科學與應用研究中心,北京 100190;2.中國科學院大學計算機與控制學院,北京 100049;3.中國科學院國家天文臺,北京 100012)
目前,國際上諸多天文項目均遵循虛擬天文臺(Virtual Observatory,VO)標準協(xié)議開發(fā)各天文數(shù)據(jù)檢索發(fā)布系統(tǒng),對外公開發(fā)布數(shù)據(jù),并對數(shù)據(jù)資源進行VO注冊,從而使用戶通過虛擬天文臺門戶網(wǎng)站即可訪問獲取不同天文項目的數(shù)據(jù)集。硬X射線調(diào)制望遠鏡(HXMT)衛(wèi)星項目也將虛擬天文臺技術(shù)引入HXMT衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)的設計與實現(xiàn)過程中,既滿足HXMT衛(wèi)星數(shù)據(jù)發(fā)布需求,又將HXMT衛(wèi)星數(shù)據(jù)融入虛擬天文臺環(huán)境,實現(xiàn)國際天文數(shù)據(jù)的共享共用。系統(tǒng)提出了符合虛擬天文臺規(guī)范的體系架構(gòu),并選取SCS錐形檢索、VOTable數(shù)據(jù)格式等虛擬天文臺標準協(xié)議加以實現(xiàn),采用MVC模式、SSH框架以及各種J2EE技術(shù)進行軟件研發(fā),提供檢索訪問、瀏覽下載和可視化功能。實踐和應用結(jié)果表明,系統(tǒng)在解決天文數(shù)據(jù)資源互操作、共享發(fā)布、檢索訪問及異構(gòu)應用集成方面均具有可操作性,對我國空間天文衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)的研制具有參考意義。
空間天文;虛擬天文臺;HXMT衛(wèi)星;數(shù)據(jù)檢索發(fā)布;VO標準協(xié)議;MVC模式;J2EE技術(shù)
CN53-1189/P ISSN1672-7673
虛擬天文臺是通過一系列虛擬天文臺標準協(xié)議和集成化服務,將全球范圍內(nèi)的天文研究資源無縫透明連結(jié)起來形成的數(shù)據(jù)密集型網(wǎng)絡化天文研究環(huán)境[1]。自20世紀初,國際虛擬天文臺聯(lián)盟(International Virtual Observatory Alliance,IVOA)正式成立并確定虛擬天文臺的概念之后,各國天文項目紛紛遵循虛擬天文臺標準協(xié)議并結(jié)合自身特點進行天文數(shù)據(jù)檢索發(fā)布系統(tǒng)的研發(fā)。各天文項目的數(shù)據(jù)資源經(jīng)虛擬天文臺注冊后,可被虛擬天文臺體系內(nèi)的門戶網(wǎng)站VAO(Virtual Astronomical Observatory,http://www.usvao.org/)或其他門戶系統(tǒng)方便快捷地檢索訪問,從而提升國際天文數(shù)據(jù)的共享利用率。
硬X射線調(diào)制望遠鏡(Hard X-ray Modulation Telescope,HXMT)衛(wèi)星是我國即將發(fā)射的第1顆空間天文衛(wèi)星,其科學目標是實現(xiàn)高靈敏度寬波段X射線巡天,研究致密天體和黑洞強引力場中動力學和高能輻射過程。硬X射線調(diào)制望遠鏡衛(wèi)星將搭載高能X射線望遠鏡(HE)、中能X射線望遠鏡(ME)、低能X射線望遠鏡(LE)和空間環(huán)境監(jiān)測器(SEM)4種有效載荷。預計在4到6年的壽命里,通過巡天觀測、小天區(qū)觀測和定點觀測3種工作模式產(chǎn)生共計約22 TB的原始觀測數(shù)據(jù)。遵循國際天文數(shù)據(jù)分級標準規(guī)范,硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)劃分為一級和二級科學數(shù)據(jù)產(chǎn)品,其中,一級科學數(shù)據(jù)產(chǎn)品包含按天區(qū)組織的巡天觀測數(shù)據(jù)產(chǎn)品和按觀測提案號組織的定點、小天區(qū)觀測數(shù)據(jù)產(chǎn)品;二級科學數(shù)據(jù)產(chǎn)品包括光變曲線、能譜等具有初步科學意義的數(shù)據(jù)產(chǎn)品。
為滿足硬X射線調(diào)制望遠鏡衛(wèi)星各級數(shù)據(jù)產(chǎn)品的發(fā)布需求,為我國空間天文衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)的研制奠定基礎,又能使硬X射線調(diào)制望遠鏡數(shù)據(jù)融入虛擬天文臺環(huán)境,實現(xiàn)與不同天文項目數(shù)據(jù)資源的互訪問、互操作,設計并實現(xiàn)了基于虛擬天文臺技術(shù)框架的硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)。本系統(tǒng)對錐形檢索(Simple Cone Search,SCS)、圖片檢索協(xié)議(Simple Image Access Protocol,SIAP)和光譜檢索協(xié)議(Simple Spectral Access Protocol,SSAP)3類虛擬天文臺數(shù)據(jù)訪問協(xié)議進行服務化的封裝,開發(fā)了相應的網(wǎng)絡服務接口以供客戶端軟件或網(wǎng)站調(diào)用,采用VOTable格式封裝數(shù)據(jù)以便于異構(gòu)系統(tǒng)間數(shù)據(jù)的互訪與傳輸[2],同時,提供了HXMT門戶網(wǎng)站直接與用戶交互,支持對用戶指定空間區(qū)域硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)的訪問與獲取。
1.1 體系架構(gòu)
參照IVOA定義的虛擬天文臺概念體系結(jié)構(gòu)[3],并結(jié)合實際應用需求與項目自身特性,對硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)進行體系架構(gòu)的設計。系統(tǒng)的體系架構(gòu)分為資源層、服務層、用戶層3層,如圖1。
圖1 HXMT衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)的體系架構(gòu)Fig.1 The architecture of the HXMT data retrieval/publishing system
(1)資源層負責存儲硬X射線調(diào)制望遠鏡衛(wèi)星科學數(shù)據(jù)和輔助數(shù)據(jù),為上層提供數(shù)據(jù)資源。主要包括數(shù)據(jù)實體文件和元數(shù)據(jù)兩大部分。數(shù)據(jù)實體文件多存儲于分布式的文件系統(tǒng)內(nèi),包括硬X射線調(diào)制望遠鏡衛(wèi)星原始觀測數(shù)據(jù)、一級科學數(shù)據(jù)產(chǎn)品、二級科學數(shù)據(jù)產(chǎn)品,以及標定數(shù)據(jù)、工程數(shù)據(jù)等輔助數(shù)據(jù)。元數(shù)據(jù)是對數(shù)據(jù)實體的特征屬性提供結(jié)構(gòu)化描述的數(shù)據(jù),包括從物理數(shù)據(jù)實體文件中提取的觀測ID、赤經(jīng)、赤緯、任務名稱、載荷名稱、觀測模式、觀測日期等數(shù)據(jù)信息以及文件大小、文件路徑等文件信息。元數(shù)據(jù)信息主要存儲于MySQL關(guān)系型數(shù)據(jù)庫中,以便于上層檢索。
(2)服務層作為整個系統(tǒng)的核心,集成了豐富的虛擬天文臺服務組件[4],主要提供以下3類服務。面向數(shù)據(jù)資源,提供數(shù)據(jù)訪問與獲取服務。數(shù)據(jù)訪問與獲取服務直接與資源層進行交互,對資源層的數(shù)據(jù)資源進行快速訪問與獲取,同時,為上層屏蔽底層實現(xiàn)細節(jié),提高系統(tǒng)的透明性。
面向應用需求,提供數(shù)據(jù)發(fā)布、資源發(fā)現(xiàn)、數(shù)據(jù)下載、可視化服務。數(shù)據(jù)發(fā)布是指通過調(diào)用數(shù)據(jù)訪問與獲取服務,開發(fā)符合錐形檢索、圖片檢索協(xié)議和光譜檢索協(xié)議的網(wǎng)絡服務接口,響應上層查詢請求并將檢索結(jié)果封裝為標準的VOTable格式數(shù)據(jù),從而將硬X射線調(diào)制望遠鏡數(shù)據(jù)資源暴露給用戶的過程。資源發(fā)現(xiàn)服務用于接收并處理用戶層的檢索請求,返回符合檢索條件的數(shù)據(jù)以供用戶瀏覽。數(shù)據(jù)下載服務既可根據(jù)用戶層的下載請求,下載FITS格式保存的硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)實體文件,也可將檢索結(jié)果導出為VOTable格式文件??梢暬肇撠煂?shù)據(jù)處理為直觀的多維圖像呈現(xiàn)給用戶,便于用戶分析研究。
面向用戶,提供用戶管理服務。根據(jù)項目需求,用戶主要分為數(shù)據(jù)管理員、科學用戶、公眾用戶3類,不同類別的用戶擁有不同層次的權(quán)限。依據(jù)用戶的不同,用戶管理服務為用戶設置其可訪問的數(shù)據(jù)范圍及訪問深度,并實現(xiàn)用戶身份認證、用戶訪問權(quán)限授予、服務使用權(quán)限限制、注冊用戶信息管理等功能。
(3)用戶層主要負責直接與用戶進行交互,提供檢索訪問硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)的網(wǎng)絡門戶網(wǎng)站。用戶層通過調(diào)用服務層集成的服務,實現(xiàn)檢索訪問、瀏覽下載、數(shù)據(jù)可視化等應用功能。
1.2 功能模塊
硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)的主要功能包括硬X射線調(diào)制望遠鏡衛(wèi)星各級數(shù)據(jù)產(chǎn)品的匯交、推送、發(fā)布、檢索訪問、瀏覽下載、數(shù)據(jù)可視化、用戶管理、狀態(tài)監(jiān)控、授權(quán)管理等。下面重點對檢索訪問、瀏覽下載、數(shù)據(jù)可視化3大核心功能模塊進行介紹。
(1)檢索訪問
檢索訪問模塊主要負責對硬X射線調(diào)制望遠鏡衛(wèi)星各級數(shù)據(jù)產(chǎn)品的檢索訪問。按檢索條件可分為錐形檢索、組合檢索、星空圖交互檢索3種檢索方式。其中,錐形檢索是指基于赤經(jīng)、赤緯和檢索半徑共3項限定條件進行的檢索,用戶提交包含目標天體位置坐標和檢索半徑信息的請求后,即可檢索與目標位置的角距離小于檢索半徑的所有表格化的天體目標[5],并返回VOTable數(shù)據(jù)格式的檢索結(jié)果;組合檢索是指多重條件組合檢索,針對硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)的特性,設置更為詳盡的檢索條件,如觀測ID、序列號、提案名稱、PI名稱、任務名稱、載荷名稱、光柵類型、觀測模式、觀測起始時間、數(shù)據(jù)發(fā)布時間、曝光時間;星空圖交互檢索是指用戶在星空圖中圈畫檢索范圍,系統(tǒng)提取位置坐標(赤經(jīng)、赤緯)和檢索半徑信息后進行錐形檢索的交互型檢索方式,有助于建立良好的用戶交互體驗。
(2)瀏覽下載
瀏覽下載模塊主要提供數(shù)據(jù)顯示、數(shù)據(jù)導出、購物車、數(shù)據(jù)下載功能。其中,數(shù)據(jù)顯示功能負責在檢索操作后,根據(jù)用戶權(quán)限顯示符合檢索條件的數(shù)據(jù)列表,并可實現(xiàn)升/降序排序;數(shù)據(jù)導出是指用戶可將檢索結(jié)果數(shù)據(jù)導出為VOTable、CSV、HTML、XSL、TXT數(shù)據(jù)格式文件;用戶可通過購物車功能收集并記錄感興趣的數(shù)據(jù)信息,以待后續(xù)查看與下載;數(shù)據(jù)下載操作可在數(shù)據(jù)顯示界面或購物車中進行,用戶勾選數(shù)據(jù)確定待下載數(shù)據(jù)條目后,即可進行單條FITS格式數(shù)據(jù)下載或批量數(shù)據(jù)下載。
(3)數(shù)據(jù)可視化
數(shù)據(jù)可視化模塊集成了VOTable可視化組件和Aladin開源軟件,對數(shù)據(jù)顯示界面的檢索結(jié)果數(shù)據(jù)進行多形式多角度的可視化展示,以方便用戶直觀查看數(shù)據(jù)。按可視化方式不同,分為VOTable可視化和Aladin可視化。
1)VOTable可視化是指基于檢索返回的VOTable格式數(shù)據(jù)繪制散點圖、曲線圖。散點圖便于靈活展現(xiàn)多個變量間的變化關(guān)系。用戶任選屬性(包括赤經(jīng)、赤緯、觀測ID、曝光時間等)作為X軸、Y軸(或Z軸),對數(shù)據(jù)顯示界面勾選的數(shù)據(jù)進行二維或三維散點圖的繪制。折線圖則以時間為X軸,數(shù)據(jù)屬性為Y軸,充分表現(xiàn)某一數(shù)據(jù)屬性隨時間的變化情況。
2)Aladin可視化是指直接調(diào)用Aladin開源軟件進行數(shù)據(jù)展示的可視化方式。Aladin接收從數(shù)據(jù)顯示界面提取的空間位置參數(shù)信息,自動檢索Simbad數(shù)據(jù)庫、SDSS巡天等天文數(shù)據(jù)項目對應位置的數(shù)據(jù),并將數(shù)據(jù)以點源顯示、圖片加載、星表條目自動添加的方式呈現(xiàn)[6]。
2.1 技術(shù)開發(fā)策略
硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)主要采用網(wǎng)絡方式實現(xiàn)數(shù)據(jù)發(fā)布與服務共享??紤]到系統(tǒng)的跨平臺、跨區(qū)域部署能力,選用Java語言進行系統(tǒng)研發(fā)。為實現(xiàn)各程序模塊間的高內(nèi)聚、松耦合,增強代碼可讀性、復用性,方便后續(xù)維護,系統(tǒng)引入MVC(Model-View-Controller)模式,將模型、視圖、控制器分別進行獨立開發(fā)。相應地,選擇Java語言開發(fā)中較為成熟的SSH(Struts+Spring+Hibernate)框架具體實現(xiàn)MVC模式。系統(tǒng)運行時,服務器端需部署JDK、Tomcat、Apache和MySQL數(shù)據(jù)庫,客戶端安裝有IE、Firefox等瀏覽器即可。
MVC模式通常分為表示層、控制層、業(yè)務邏輯層、DAO層(Data Access Object Layer,又稱為數(shù)據(jù)訪問層)和數(shù)據(jù)存儲層共5層[7]。與系統(tǒng)體系架構(gòu)中的各分層可相互對應,其中,表示層即系統(tǒng)的用戶層,控制層、業(yè)務邏輯層和DAO層對應于系統(tǒng)的服務層,數(shù)據(jù)存儲層包含在系統(tǒng)的資源層中。
下面按系統(tǒng)的體系架構(gòu),逐一描述各層具體應用的技術(shù)。系統(tǒng)技術(shù)架構(gòu)如圖2。用戶層主要由JSP (Java Server Pages)頁面構(gòu)成。服務層具體細分為控制層、業(yè)務邏輯層、DAO層。其中,由Struts充當控制器的角色,根據(jù)配置文件將ActionServlet接收的Request委派給相應的Action處理;系統(tǒng)具體的業(yè)務邏輯處理則放置于ActionForm和JavaBean中,同時,Spring AOP處理程序負責權(quán)限管理、事務管理、日志管理等非純業(yè)務的邏輯處理,以提升系統(tǒng)性能并保證數(shù)據(jù)的完整性;數(shù)據(jù)訪問層采用Hibernate的對象化映射技術(shù)與資源層的MySQL數(shù)據(jù)庫進行交互,處理DAO組件的請求,并返回處理結(jié)果數(shù)據(jù)。資源層中,將FITS格式保存的硬X射線調(diào)制望遠鏡衛(wèi)星各級數(shù)據(jù)產(chǎn)品以文件系統(tǒng)的形式存儲在磁盤等存儲設備上;從FITS格式數(shù)據(jù)文件中抽取FITS頭信息,附加文件大小、文件路徑等文件本身信息,導入硬X射線調(diào)制望遠鏡MySQL數(shù)據(jù)庫中,以方便數(shù)據(jù)訪問與獲取。
圖2 系統(tǒng)技術(shù)架構(gòu)Fig.2 The technological architecture of the system
2.2 實現(xiàn)方法
硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)主要包含檢索訪問、瀏覽下載、數(shù)據(jù)可視化3大核心功能模塊。其中,檢索訪問是最重要的核心功能模塊。下面主要以檢索訪問模塊為例,具體描述系統(tǒng)的實現(xiàn)方法。
圖3 檢索訪問功能模塊流程圖Fig.3 A flowchart of the retrieval module
檢索訪問功能模塊流程如圖3。用戶在硬X射線調(diào)制望遠鏡門戶網(wǎng)站的數(shù)據(jù)檢索界面中輸入檢索信息,系統(tǒng)驗證檢索信息的有效性。若有效,則根據(jù)檢索信息判斷所屬的檢索方式。(1)若組合檢索條件不為空,則提取不為空的組合檢索條件參數(shù);若組合檢索條件為空,則忽略組合檢索中所有條件。(2)若錐形檢索條件不為空,則判斷目標名稱是否為空,若不為空,則調(diào)用名稱解析服務將其解析為空間位置坐標(赤經(jīng)、赤緯),若為空則直接提取赤經(jīng)、赤緯、檢索范圍3項錐形檢索條件參數(shù)。若錐形檢索條件為空,則忽略錐形檢索中所有條件。(3)若用戶操作星空圖進行交互檢索,則提取星空圖中用戶圈畫的赤經(jīng)、赤緯、檢索范圍信息。將3種檢索方式中獲取的檢索請求參數(shù)拼接為SQL語句。檢索數(shù)據(jù)庫并返回VOTable格式的檢索結(jié)果。對VOTable數(shù)據(jù)進行解析后,將檢索結(jié)果顯示于網(wǎng)絡界面以供用戶瀏覽。
下面針對檢索訪問模塊中SSH框架的具體實現(xiàn)過程進行簡要介紹。
(1)配置Hibernate
根據(jù)硬X射線調(diào)制望遠鏡衛(wèi)星各級數(shù)據(jù)產(chǎn)品的元數(shù)據(jù)信息,進行數(shù)據(jù)庫概念模型、邏輯模型和物理模型設計,并具體創(chuàng)建數(shù)據(jù)庫的各個表。例如,硬X射線調(diào)制望遠鏡衛(wèi)星2級數(shù)據(jù)產(chǎn)品類對應的數(shù)據(jù)庫表設計如表1。
表1 硬X射線調(diào)制望遠鏡衛(wèi)星2級數(shù)據(jù)的數(shù)據(jù)庫表Table 1 The database table of Level 2 data obtained by the HXMT satellite
然后,在MyEclipse開發(fā)平臺中搭建DadaBase連接和Hibernate工程,配置數(shù)據(jù)庫連接參數(shù),并定義數(shù)據(jù)映射文件。依次操作后,會自動生成DAO類和數(shù)據(jù)庫表對象,也就是持久化類。
持久化類的映射定義置于XXX.hbm.xml中,例如硬X射線調(diào)制望遠鏡衛(wèi)星2級數(shù)據(jù)產(chǎn)品類對應的HXMTL2Data.hbm.xml部分代碼如下:
同時,數(shù)據(jù)庫管理配置信息保存于hibernate.cfg.xml文件中,可手動修改其中的數(shù)據(jù)庫驅(qū)動類名、數(shù)據(jù)庫用戶名、密碼等信息。
(2)搭建Struts
利用MyEclipse提供的圖形化工具可以完成Struts的搭建,進而實現(xiàn)視圖、控制器、模型間的邏輯控制。具體配置內(nèi)容在struts-config.xml文件中,相關(guān)代碼如下:
(3)整合Spring
Spring通過ApplicationContext配置管理SessionFactory,負責與數(shù)據(jù)庫的連接,應用啟動時可自動加載。具體配置文件為ApplicationContext.xml,可替代hibernate.cfg.xml。Spring采用依賴注入為DAO對象注入SessionFactory的引用,從而完成Spring與Hibernate的整合。修改struts-config.xml文件,用Spring提供的控制器替換Struts原有的控制器,即可完成Spring與Struts的整合。
系統(tǒng)開發(fā)過程中,檢索訪問模塊主要實現(xiàn)服務層的資源發(fā)現(xiàn)、數(shù)據(jù)發(fā)布、數(shù)據(jù)訪問與獲取3類服務,以響應用戶層收集的檢索請求,完成對資源層數(shù)據(jù)的檢索訪問,并呈現(xiàn)檢索結(jié)果。下面具體介紹4類較為重要的實現(xiàn)類。(1)PublicStoreDataDao數(shù)據(jù)訪問類,負責與數(shù)據(jù)庫中的數(shù)據(jù)信息進行交互,完成數(shù)據(jù)增加、刪除、修改、查詢操作。(2)PublishDataService數(shù)據(jù)發(fā)布服務類,負責提供符合錐形檢索、圖片檢索協(xié)議和光譜檢索協(xié)議的服務接口,并將檢索結(jié)果封裝為標準的VOTable格式數(shù)據(jù)反饋給上層服務,實現(xiàn)遵循虛擬天文臺標準規(guī)范的數(shù)據(jù)發(fā)布。以錐形檢索為例,硬X射線調(diào)制望遠鏡衛(wèi)星任務中的星表數(shù)據(jù)大多需要遵循錐形檢索協(xié)議開發(fā)相應的數(shù)據(jù)訪問服務接口進行數(shù)據(jù)發(fā)布。錐形檢索服務必須遵循以下約束:服務必須接收并響應以標準URL方式傳輸?shù)腍TTP GET請求,標準URL具體格式為http://服務部署的域名/本地路徑?赤經(jīng)RA&赤緯DEC&檢索半徑SR,必須包含RA、DEC、SR 3個參數(shù);服務必須以VOTable標準格式返回檢索結(jié)果;返回的VOTable必須包括一個單一的<TABLE>標簽,<TABLE>標簽中必須包含一個單一的<RESOURCE>標簽,且必須至少含有3個獨立的<FIELDS>描述天體名稱、赤經(jīng)、赤緯信息[8]。(3)SearchDataAction數(shù)據(jù)檢索發(fā)現(xiàn)類,負責實現(xiàn)資源發(fā)現(xiàn)服務,通過分析用戶檢索條件,調(diào)用相應的數(shù)據(jù)發(fā)布服務接口進行數(shù)據(jù)檢索。例如,若接收的檢索條件僅包含赤經(jīng)、赤緯和檢索半徑,則調(diào)用PublishDataService類提供的錐形檢索服務。(4)DisplayDataAction數(shù)據(jù)瀏覽顯示類,負責解析返回的VOTable格式檢索結(jié)果數(shù)據(jù),并以網(wǎng)頁形式顯示。
整個SSH框架的應用是由用戶請求驅(qū)動的。下面具體描述在檢索訪問過程中,SSH框架是如何響應用戶請求的。用戶進入數(shù)據(jù)檢索界面Search.jsp,輸入赤經(jīng)、赤緯、檢索范圍或其他檢索信息。系統(tǒng)對檢索信息進行驗證,若驗證成功則實例化ActionForm。待用戶提交檢索請求后,表示層將表單ActionForm封裝的檢索信息交給控制層的ActionServlet,根據(jù)struts-config.xml文件分派給相應的Action即SearchDataAction進行處理。SearchDataAction類根據(jù)表單傳來的用戶請求和配置參數(shù)信息,調(diào)用業(yè)務邏輯層的PublishDataService類,依據(jù)業(yè)務規(guī)則具體處理用戶請求,并創(chuàng)建JavaBean實例。由DAO層的PublicStoreDataDao類完成與數(shù)據(jù)存儲層的交互。PublicStoreDataDao類將檢索條件參數(shù)拼接成SQL查詢語句,通過調(diào)用Hibernate創(chuàng)建的持久化類中的getXXX()函數(shù)訪問數(shù)據(jù)庫中的具體數(shù)據(jù)信息,并將查詢結(jié)果返回給PublishDataService類,由PublishDataService類封裝為VOTable格式數(shù)據(jù)再反饋給表示層的JSP頁面,以HTML文件形式呈現(xiàn)在客戶端瀏覽器上。
硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)的檢索訪問界面如圖4,用戶可輸入檢索條件進行數(shù)據(jù)檢索。檢索結(jié)果顯示界面如圖5,集成購物車、數(shù)據(jù)導出、數(shù)據(jù)下載和可視化功能。點擊數(shù)據(jù)顯示界面的可視化按鈕,選擇可視化方式,可對用戶勾選數(shù)據(jù)進行散點圖、曲線圖的繪制,以及Aladin軟件的調(diào)用。二維散點圖可視化界面如圖6。Aladin作為開源可視化軟件,提供Java接口、IDL接口、CGI程序、插件調(diào)用等方式,以實現(xiàn)與其他軟件工具之間的數(shù)據(jù)傳遞與信息交互。系統(tǒng)通過調(diào)用Aladin提供的Javascript命令: applet.execAsyncCommand("get Aladin,Simbad"+target),將數(shù)據(jù)顯示界面的目標名稱信息以參數(shù)形式傳入Aladin中,Aladin檢索Simbad數(shù)據(jù)庫并加載相應目標位置的圖片及星表信息,從而達到可視化效果。Aladin可視化界面如圖7。
圖4 HXMT數(shù)據(jù)檢索訪問界面Fig.4 A screenshot of the HXMT data retrieval interface
目前,已基本完成硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)的原型開發(fā)。因硬X射線調(diào)制望遠鏡衛(wèi)星尚未發(fā)射,故采用Chandra數(shù)據(jù)作為測試數(shù)據(jù),對原型系統(tǒng)接入虛擬天文臺環(huán)境的可行性進行應用驗證。VO應用環(huán)境主要包括發(fā)現(xiàn)、注冊、發(fā)布、存儲4大要素。這4類要素通過自由組合與相互作用構(gòu)成不同的功能實體。例如,系統(tǒng)只選取發(fā)現(xiàn)、發(fā)布、存儲3大要素進行功能開發(fā)與實現(xiàn);美國虛擬天文臺的VAO提供注冊、發(fā)現(xiàn)功能;Chandra Web Chaser數(shù)據(jù)檢索發(fā)布系統(tǒng)實現(xiàn)發(fā)布、存儲功能。
圖5 HXMT數(shù)據(jù)顯示界面Fig.5 A screenshot of the HXMT data display interface
圖6 二維散點圖可視化界面Fig.6 A screenshot of the 2D scatter plot interface
圖7 Aladin可視化界面Fig.7 A screenshot of the Aladin visualization interface
系統(tǒng)接入虛擬天文臺應用環(huán)境的示意圖如圖8。首先,按照國際天文學界標準規(guī)范和一定的組織歸檔目錄格式,對硬X射線調(diào)制望遠鏡各級數(shù)據(jù)產(chǎn)品進行歸檔、存儲,把全部數(shù)據(jù)實體文件存儲在文件系統(tǒng)中,并抽取元數(shù)據(jù)信息存儲到數(shù)據(jù)庫中。然后,針對不同類型的數(shù)據(jù)進行錐形檢索、圖片檢索等服務開發(fā),提供對外訪問接口,將硬X射線調(diào)制望遠鏡數(shù)據(jù)發(fā)布為符合虛擬天文臺標準協(xié)議的硬X射線調(diào)制望遠鏡節(jié)點。再將硬X射線調(diào)制望遠鏡節(jié)點注冊到VAO注冊系統(tǒng)(http://vao.stsci.edu/publishing/)中。注冊時需提供的信息包括資源名稱、簡稱、全球唯一標識、描述、關(guān)鍵字、獲取方式、數(shù)據(jù)所有者信息等。VAO注冊系統(tǒng)收錄了遵循虛擬天文臺標準協(xié)議發(fā)布的各個天文項目數(shù)據(jù)節(jié)點信息,例如Chandra、Hershel等天文衛(wèi)星數(shù)據(jù)。硬X射線調(diào)制望遠鏡數(shù)據(jù)只有進行虛擬天文臺資源注冊并傳播到虛擬天文臺網(wǎng)絡中后,才能被其他虛擬天文臺門戶網(wǎng)站提供的資源發(fā)現(xiàn)服務檢索訪問。HXMT門戶既可直接訪問底層存儲的硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)資源,也可與SkyView等其他符合虛擬天文臺標準規(guī)范的天文項目數(shù)據(jù)資源進行互操作、互訪問,實現(xiàn)真正意義上的全球數(shù)據(jù)共享。因此,用戶可以通過HXMT門戶網(wǎng)站或VAO等國際門戶網(wǎng)站檢索硬X射線調(diào)制望遠鏡數(shù)據(jù),同時,也可通過HXMT門戶訪問SkyView等天文項目的數(shù)據(jù)資源,從而成功驗證了系統(tǒng)融入虛擬天文臺應用環(huán)境的可行性。
圖8 HXMT衛(wèi)星數(shù)據(jù)融入虛擬天文臺應用環(huán)境示意圖Fig.8 Illustration of the approach of integrating HXMT data into a VO application environment
硬X射線調(diào)制望遠鏡衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)為中國首臺太空望遠鏡——HXMT建立起一個虛擬天文臺應用環(huán)境。系統(tǒng)主要擁有以下4方面的特點:(1)參照虛擬天文臺概念體系結(jié)構(gòu)進行系統(tǒng)體系架構(gòu)的設計,開發(fā)符合錐形檢索、圖片檢索協(xié)議、光譜檢索協(xié)議的網(wǎng)絡服務接口和門戶系統(tǒng),推動虛擬天文臺技術(shù)在實際天文項目中的應用;(2)將硬X射線調(diào)制望遠鏡數(shù)據(jù)資源發(fā)布到國際虛擬天文臺環(huán)境中,有助于國際范圍內(nèi)的數(shù)據(jù)共享;(3)通過硬X射線調(diào)制望遠鏡門戶網(wǎng)站直接與用戶交互,提供檢索訪問、瀏覽下載和數(shù)據(jù)可視化等應用功能;(4)采用松耦合的MVC模式和SSH框架進行系統(tǒng)開發(fā),降低組件間的依賴程度,增加了代碼的可讀性,具有良好的靈活性和擴展性。
系統(tǒng)對我國空間天文衛(wèi)星數(shù)據(jù)檢索發(fā)布系統(tǒng)的研制具有良好的參考意義,但在如下幾方面仍有待進一步探索與研究。(1)用戶訪問量增加時,數(shù)據(jù)檢索效率和資源下載速度降低,未來可以考慮采用負載均衡技術(shù)提升服務器響應效率及系統(tǒng)運行性能;(2)數(shù)據(jù)可視化方面形式比較單一,后續(xù)工作會集成更多可視化組件,以豐富可視化效果,提升用戶交互體驗;(3)可添加交叉證認、ADQL (Astronomical Data Query Language)檢索等功能,完成不同天文數(shù)據(jù)項目的數(shù)據(jù)融合工作,從而提高數(shù)據(jù)發(fā)現(xiàn)的科學價值。
致謝:本文的數(shù)據(jù)來源于中國科學院信息化建設專項“空間科學主題數(shù)據(jù)庫”及國家科技基礎條件平臺地球系統(tǒng)科學數(shù)據(jù)共享平臺——“空間科學數(shù)據(jù)共享平臺”,感謝其提供的數(shù)據(jù)支持。
[1] 崔辰州,趙永恒.中國虛擬天文臺體系結(jié)構(gòu)[J].天文研究與技術(shù)——國家天文臺臺刊,2004,1(2):140-151.
Cui Chenzhou,Zhao Yongheng.Architecture of Chinese virtual observatory[J].Astronomical Research&Technology——Publications of National Astronomical Observatories of China,2004,1(2):140-151.
[2] Plante R L,Greene G,Hanisch R J,et al.Building archives in the virtual observatory era [C]//Proceedings of the SPIE:Software and Cyberinfrastructure for Astronomy.2010.
[3] 傅衍杰.空間科學虛擬觀測臺體系結(jié)構(gòu)研究[D].北京:中國科學院研究生院,2011:40-41.
[4] 傅衍杰,鄒自明,佟繼周.空間科學虛擬觀測臺體系結(jié)構(gòu)研究[J].天文研究與技術(shù)——國家天文臺臺刊,2011,8(4):395-402.
Fu Yanjie,Zou Ziming,Tong Jizhou.Research of architecture of the Chinese space science virtual observatory[J].Astronomical Research&Technology——Publications of NationalAstronomical Observatories of China,2011,8(4):395-402.
[5] 張月梅.錐形檢索Web服務的REST式設計和實現(xiàn)[D].天津:天津大學,2009.
[6] Matthew J G,Michael J F,Thomas A M.虛擬天文臺:天文學研究的工具與技術(shù)[M].崔辰州,譯.北京:中國科學技術(shù)出版社,2010:24-27.
[7] 張宇,王映輝,張翔南.基于Spring的MVC框架設計與實現(xiàn)[J].計算機工程,2010,36 (4):59-62.
Zhang Yu,Wang Yinghui,Zhang Xiangnan.Design and implementation of MVC framework based on Spring[J].Computer Engineering,2010,36(4):59-62.
[8] 李曉科,季凱帆,鄧輝,等.面向Web服務的天文數(shù)據(jù)發(fā)布技術(shù)[J].天文研究與技術(shù)——國家天文臺臺刊,2012,9(1):70-77.
Li Xiaoke,Ji Kaifan,Deng Hui,et al.Astronomical data publishing techniques oriented toward the WEB SERVICE[J].Astronomical Research&Technology——Publications of National Astronomical Observatories of China,2012,9(1):70-77.
Design and Implementation of the HXMT Data Retrieval/Publishing System Based on the Virtual Observatory
Jiang Xu1,2,Tong Jizhou1,Cui Chenzhou3,Zou Ziming1
(1.Center for Space Science and Applied Research,Chinese Academy of Sciences,Beijing 100190,China,Email:jiangxu1113@163.com;2.College of Computer and Control Engineering,University of Chinese Academy of Sciences,Beijing 100049,China;3.National Astronomical Observatories,Chinese Academy of Sciences,Beijing 100012,China)
The Virtual Observatory(VO)integrates worldwide astronomical-data resources seamlessly and transparently to meet requirements of cross-regional processing,retrieval,and publishing of astronomical data(which can be of multiple-band).Currently,many international astronomical projects have adopted VO standard protocols for developing data retrieval/publishing systems.After logging into the VO,a user can search and retrieve data of various astronomical projects by using the VO Portal.Following this trend the Hard X-ray Modulation Telescope(HXMT)Project also has adopted VO technologies in the design and implementation of the HXMT data retrieval/publishing system.This will make the system to meet the requirements of HXMT-data publishing,and to integrate HXMT data into the VO environment for international data sharing.In this paper we propose such a system,with its architecture conformed to VO specifications.It consists of a user layer,a service layer,and a resource layer.We implement the Simple Cone Search(SCS),Simple Image Access Protocol (SIAP),Simple Spectral Access Protocol(SSAP),and VOTable standard in the system.In addition,we develop the system software using the MVC mode,SSH framework,and various J2EE technologies.This makes the system easily deployable,scalable,stable,and user friendly.We have successfully constructed a prototype of the system.The prototype provides Web-service interfaces for invoking other software applications and has a user interface which is a portal website.The prototype has various functions,including those allowing retrieval,access,download,and visualization of data.Our experiments with the prototype show that the system is widely applicable in cross manipulation of astronomical data from different resources,data sharing/ publishing,data search/access,and integration of heterogeneous applications.The system can benefit the development of retrieval/publishing systems for other astronomical satellite data in China.
Space astronomy;Virtual Observatory;HXMT;Data retrieval/publishing;VO standard protocol;MVC;J2EE
P17
A
1672-7673(2014)04-0378-10
2014-01-24;
2014-02-21
姜 旭,女,碩士.研究方向:空間科學信息管理與應用技術(shù).Email:jiangxu1113@163.com