虛擬天文臺是以無縫、透明的方式查詢異構異地天文數據中心的系統,它為天文學家服務. 自國際虛擬天文臺聯盟\\( IVOA\\) 框架發布以來,以 WebServices 技術為核心的天文信息服務系統開始不斷的發展,如美國國家航空航天局\\( NASA\\) 和法國斯特拉斯堡天文數據中心\\( CDS\\) 利用 Web Services技術對分散在異地的數據進行了整合,對多波段數據進行聯合訪問并進行交叉證認等,為天文學家提供天體圖像、光譜、星表、文獻等各種天文數據資源; 美國國家虛擬天文臺\\( NVO\\) 通過門戶網站發布相關信息、提供基于 Web Service 技術的各種查詢工具并提供資源下載. Sloan 數字巡天項目\\( SDSS\\) 也運用了 Web Services.國內虛擬天文臺\\( VO\\) 的開展仍存在較多的困難,研究團隊較少,國內對 VO 的認可程度較低. 在數據訪問技術上趕上國際的常規水平,以 VO 的框架為標準,實現國內數據的發布,提供必要的 WebServices 服務無疑是必要且急迫的.整體來看,我國的虛擬天文臺相關研究經過了一個發展高峰期后歸于平靜,目前處于相對的低潮期. 除了國家天文臺信息中心崔辰州團隊,以及LAMOST 趙永恒研究員團隊,其它天文相關團隊采用 VO 架構進行天文數據存儲、歸檔、檢索基本上是一片空白,分析其原因,主要的問題在于:
\\( 1\\) VO 概念過于復雜是影響當前推廣應用的主要原因;\\( 2\\) VO 是一個標準,對不同的望遠鏡數據發布不存在一個統一的解決方法,其具體的實現完成需要進行定制,急需對大量的天文數據進行快速地處理和發布. 但是,面向國際的海量數據處理、展現發布等還很缺乏,天文數據基本處于一種只進不出的局面;\\( 3\\) 應用系統的需求變化較快,常規方法雖然開發快,但維護困難. 而采用 Web Services 相關技術開發,所需要的技術復雜,開發周期較慢,調試與維護相對困難.
1 相關工作
1. 1 Web Services 的定義及在天文領域的應用
Web Services是以標準的 Web 協議為不同平臺應用服務的互操作提供服務的一種服務導向架構技術.Web Services 將業務服務化,通過開放的 HT-TP、XML 協議,可不改變當前軟件系統而完成更新或添加服務,滿足新的應用需求,還可以很好的為異地異構用戶提供相應的服務. Web Services 具有的跨平臺、開放、松耦合的特性,很好的滿足了具有異地異構特性的數據密集型天文數據發布的需求.因此,通過 Web Services 發布各種天文數據信息,對于天文研究是積極而有意義,在目前也是非常緊迫的.近年來,IVOA 制定了一系列的 XML Web Ser-vicess 的技術標準,替代了早期流行的 HttpGet 協議. 如基于標準 VO 接口的 Web Servicess,即 VOServices. 2010 年 EVO \\( euro - vo\\) 使用基于 STAP\\( Simple Time Access Protocol\\) 的 AstroGrid 集成了事件數據,通過客戶端或 VO 訪問工具,Web Serv-ices 實現了查詢事件接口應用; 美國賓夕法尼亞大學研發的 Vostat 是基于虛擬天文臺架構的,可進行多分辨率 K 維樹的聚類和離群數據探測、主分量分析和存在分析等,它也采用了 Web Services 技術進行面向天文的統計分析; 美國虛擬天文臺的交叉證認工具 OpenSkyQuery 實現了通過 Web Services將分布的天文數據進行聯合,實現星表的交叉認證,支持多種數據庫但查詢的行數不能超過 5000行. 英國虛擬天文臺 AstroGrid 中實現 Cone Search服務采用的是 SOAP 式的 Web 服務. 利用 WebServices 技術,可建立模塊化的架構,其中底層支持異構數據庫,通過制定簡單標準的接口服務,為上層的各類天文應用提供服務,從而使這種多層架構具有更強的互操作性.
1. 2 Web Services 在我國的應用情況
2003 年崔辰州提出 Web Services 是 VO 的三大支柱技術之一. 為實現對天文資源的無縫訪問,中國虛擬天文臺\\( CVO\\) 開發了相應的項目,其中使用了 WebServices 的 代 表 項 目 如 下: SkyMouse 利 用 WebServices 整合了很多的天文服務,輔助天文學家完成科研工作; VOFilter 是由 CVO 開發的基于過濾器的 XML 項目,目的是將表格數據文件從 VOTa-ble 格式轉化為 Open Document 格式; 面向星歷研究人員和天文程序開發人員的星歷計算服務平臺- - China - VO Ephemeris WS,利用 JNI 和 WebServices 等技術克服了復雜且耗時的星歷計算. 以上項目證明了 Web Services 在數據整合中得到了較好的應用,但國內目前尚缺乏將 Web Services 用于數據發布中的有效研究和應用.
1. 3 基于錐形檢索和 REST 的天文數據發布
Web Services 有兩種服務: SOAP 和 REST. 二者在基本層次上的區別主要取決于應用程序是面向資源的還是面向活動的. SOAP 通常是面向活動的;而 REST 是面向資源的,且它的效率和易用性更好. 因簡單錐形檢索\\( SCS\\) 是面向資源的,且根據IVOA 中的標準,多數的數據服務都是基于 REST風格的,所以本文選擇基于 REST 的 Web Serv-ices.簡單錐形檢索\\( Simple Cone Search,SCS\\) 協議是在指定半徑的錐形天區中的檢索. 通過圓形天區中心坐標和搜索半徑可確定天區范圍,創建并搜索給定天區中表格化的天體目標,它是由 IVOA 制定的相應規范. 簡單錐形檢索的接受 Http Get 請求,表現形式為基本 URL 或帶約束限制條件的 URL查詢; 約束限制條件包括赤經\\( RA\\) 、赤緯\\( DEC\\) 、搜索半徑\\( Radius\\) 三個參數值; 查詢返回結果必須是 VOTable 格式的 XML 文件,以表格形式展現該錐形天區內天文數據信息.本文以錐形檢索服務為突破口,利用相應的軟件自動生成技術實現對天文 IVOA 框架下的錐形檢索進行自動生成.
1. 4 軟件定制技術
本文進行了相關軟件定制的設計,具體流程如下:
\\( 1\\) 通過分析當前成熟可用的天文 Web Serv-ices,形成可用的輸入,通過揀取需要的信息得到常量和函數從而生成相應的各種文件.\\( 2\\) 通過分析特定應用\\( 如錐型檢索\\) ,形成帶有特殊標記的源代碼,將天文數據訪問等語句嵌入到源代碼中,使底層結構和復雜的查詢操作分開.\\( 3\\) 通過輸入源代碼,建立對話框控件及其代表的變量之間的映射關系.\\( 4\\) 采用 Velocity 這一源代碼開放的 Java 模版引擎,定義模板文件和包含特定類所需的文件信息,并產生應用所需的基類,再繼承該基類,最終完成類的生成.\\( 5\\) 最后,通過模型驅動方法定制滿足相應圖形用戶界面和服務的模板,為多層應用生成所有的代碼. 實現抽象數據模型的定制,通過配置數據邏輯對應關系,實現異構數據源的統一.2 系統的設計與實現。。
2. 1 基于 GUI 的快速定制
Web Services 原型系統流程 天文研究人員需要進行快速的數據處理,用高層工具來快速的搭建各種問題處理組件,以此來驗證各種科學設想. 本文提供了一種快速數據發布的系統. 數據發布系統通過數據訪問層實現對多數據源的訪問,如圖 1 所示.【圖1】
通過定義抽象數據模型,可配置數據邏輯關系對應,實現異構數據源的統一,實現基于簡單錐形檢索協議的數據訪問并實現 Web Services 的定制發布. 其中的數據查詢結果通過 Web Services 返回,從而將可定制的數據服務無縫的進行了封裝,實現了異構天文數據的快速發布,方便了天文工作者對不同數據的快速查詢.圖 2 指明了抽象數據的定制. 用戶通過數據訪問服務可以定制自己感興趣的數據源和數據文件,基于錐形檢索數據訪問協議,定制滿足該協議的檢索字段,完成數據邏輯關系配置,屏蔽了不同數據源,完成基于 Web Services 構建的天文數據發布.【圖2】
完成天文數據的定制和發布后,天文學家可通過輸入定制返回的檢索字段值,實現相應的數據訪問協議查詢,如在簡單錐形檢索中將查詢字段 - 赤經\\( ra\\) 、赤緯\\( dec\\) 和半徑\\( radius\\) 的值輸入,系統會把查詢信息通過 http 協議提交到數據訪問對象\\( DAO\\) 端,在后臺根據給定的數據源信息,返回滿足查詢條件參數的結果.利用軟件工程中的軟件復用與軟件自生成技術,基于簡單錐形數據檢索協議對當前天文服務構建中的技術細節進行封裝,以給出可以在最大程度上滿足天文學家進行信息發布需要的 Web Serv-ices 構建模板,通過簡單的定制\\( 或配置\\) 就可以實現快速簡化的天文 Web Services 構建,滿足虛擬天文臺建設的需要.
2. 2 系統架構及測試
本系統分為三層架構,第一層為數據資源層,包括星表數據、元數據信息和相應的服務,向上層提供基本的數據訪問服務; 第二層是數據處理層,包括數據查詢、處理及 VOTa-ble 格式封裝; 第三層是數據訪問層,為客戶端提供具體的數據訪問服務,如圖 3 所示.【圖3】
最底層的數據資源層采用天文數據結點,它位于 CVO 架構的底層,支持 IVOA 的數據訪問標準,支持網絡環境下異構的各種星表數據資源及星表數據庫系統等,并將它們統一組織起來,通過系統提供的數據訪問與管理服務屏蔽底層數據資源的異構性,并在其架構上為用戶提供直觀、方便、規范的訪問和操作接口. 用戶通過數據訪問協議層定制自己感興趣的數據源,而這些數據源則在天文數據結點的基礎上進行配置,從而實現采用不同協議對異地異構的天文數據進行訪問和數據處理. 本文重點介紹采用簡單錐形檢索協議的數據查詢操作,流程如圖 4.【圖4】
訪問層 Clients 定制數據源,輸入赤經、赤緯和半徑的查詢參數,通過檢索快速查詢天文數據結點的相關天文數據\\( 數據處理\\) ,返回符合查詢條件的 VOTable.通過使用 WS - I 測試工具\\( WS - I Test Tool\\)攔截并記錄客戶端與服務器之間的消息,該面向天文數據的快速定制 Web Services 的構件符合 IVOA基本概要\\( Basic Profile \\) ,滿足測試要求.
3 總 結
本文詳細調研了虛擬天文臺中利用 Web Serv-ices 技術進行數據發布的情況,針對簡單錐形檢索服務構建了基于 GUI 的快速定制 Web Services 原型系統,實現了可定制的多種數據服務,詳細闡述了系統架構、流程及軟件定制的核心技術,以實現天文數據的快速發布.
參考文獻:
[1] 張彥霞,趙永恒. 虛擬天文臺的科學意義[J]. 天文學進展,2004,22\\( 4\\) : 350-353.
[2] GRAHAM M J,FITZPATRICK M J. MCGLYNN T A.The national virtual observatory: tools and tecniques forastronomical research [C]. ASP Conference series,2007.
[3] SSZALAY A,BUDAVARI T ,TANUMALIKA,et al. WebServices for the virtual observatory[C]. Proceedings ofSPIE,2002: 22-28.
[4] 崔辰州,趙永恒. 中國虛擬天文臺研究策略與重點[J]. 天文研究與技術,2004\\( 1\\) : 203-209.
[5] SCHAAFF A,GRAHAM M. IVOA Web service basieprofile[J / OL]. [2013 - 06 - 10].
[6] MALIK T,SZALAY A S,BUDVARI T,et al. SkyQuery:A Web service approach to federate databases[DB].CoRR,2002.
[7] GROUP G. IVOA support interfaces[EB/ OL].[2013- 06 - 15]
[8] 孫華平,崔辰州,趙永恒. 天文服務的統一調用及其在 SkyMouse 系統中的實現[J]. 天文研究與技術,2008,5\\( 2\\) : 130-136.
[9] 李曉科,季凱帆,鄧輝,等. 面向 Web 服務的天文數據發布技術[J]. 天文研究與技術,2012,9\\( 11\\) : 70-77.
[10] 張月梅. 錐形檢索 Web 服務的 REST 式設計和實現[D]. 天津: 天津大學,2009.