張書臺, 何世鈞
(上海海洋大學信息學院,上海201306)
海洋中海水從一個海區水平或垂直地流向另一個海區的大規模的非海水流動具有不同尺度、速度與周期,且隨風、季節和年份而變化掌握海流[1]的運動規律,對研究水團的形成、環流結構及其變化、海水內部及海氣界面之間的熱量交換以及對生物、化學、地質的影響都是極其重要的。海流一般是三維的,不但存在水平方向的流動,而且也存在垂直力一向的流動,當然,由于海洋的水平尺度遠遠大于其垂直尺度,因此水平方向的流動遠比垂直方向上的流動強得多。潮流是海岸海洋主要的水動力因素之一,它影響著諸如泥沙、鹽分、各類污染物及能量的輸運過程。潮流場的數學模型是海岸海洋科學研究中一個重要且經濟快速的技術方法,它通過離散化描述潮流運動的控制方程,用近似的求解方法模擬潮流的運動規律,達到對海岸海洋潮流場特征及其變化的科學認識,并指導對海岸海洋的管理、開發和利用。具有實際地形的潮流場的計算是在特定的地理環境的邊界條件下,考慮其在各種潮流場、風場等因素的作用下,研究對象在海水中的擴散過程,包括不同點源、不同時刻擴散的狀況和結果的可視化。潮流場的數學模型過程,是一種復雜的計算過程,涉及地理信息系統,遙感,全球定位系統的海量數據,需要計算資源,存儲資源,軟件資源以及硬件資源的融合。
而云計算依靠其優秀的跨地域和跨組織的資源共享能力和基于云的強大的協同研究能力,成為以網絡為基礎的科學活動環境的候選技術之一。云計算是分布式處理、并行處理和云計算的發展,或者說是計算機科學概念的商業實現。通過使計算分布在大量的分布式計算機上,而非本地計算機或遠程服務器中,企業數據中心的運行將更與互聯網相似。這使得企業能夠將資源切換到需要的應用上,根據需求訪問計算機和存儲系統。目前多個工業和科研的項目已經啟動,例如 RESERVOIR 項目[2],Amazon Elastic Compute Cloud[3],IBM Blue Cloud[4],Nimbus[5]和 Stratus[6],Open NEbula[7]科學云計算項目,HP,Intel和Yahoo!公司最近也提出了開源的數據中心的開源試驗床[8-9]。包括 Google、微軟、IBM、Amazon、EMC 和惠普在內的許多IT業巨頭都宣布要在云計算上進行重點研究。
云計算環境能滿足海洋潮流場計算的復雜性,大規模性,資源共享的特點。目前海洋潮流場的計算模型,主要采用單機串行計算,Master-Slave型并行計算[10],以及其他一些優化的并行計算模型,這些模型計算的特點,都是基于單機和并行機的計算,目前還沒有基于網絡或云計算環境的計算模型,本文就是構建基于云計算的潮流場問題求解環境。建立云計算環境下潮流場的計算模型,充分的利用網絡的資源,來解決具有實際地形的潮流場的繁雜計算問題,為現代科學研究的重大問題求解尋求一條途徑。
云計算把IT基礎設施作為一項服務,而且服務可以從租用原始硬件到使用第三方API的所有事情。海洋潮流場的云計算架構層,提出了XasaService的理念,其中X表示所有海洋潮流場資源包括硬件,體系架構和平臺,數據等都看作服務,以服務提供者的身份對服務需求者提供服務。如圖1所示,海洋潮流場云計算的用戶和服務提供者關系圖。

圖1 海洋潮流場云計算環境的用戶和服務提供者關系
海洋潮流場云計算環境的部署,從一個預配置虛擬機映像庫中選擇負載均衡器、WebGIS服務器和數據庫服務器。配置負載均衡器,通過將靜態內容上載到存儲云來給Web GIS服務器填充,并用站點的動態內容來填充數據庫服務器設備。把自定義的代碼層疊在新的架構之中,從而使組件滿足特定應用程序要求。選擇一個呈現各層映像并部署這些映像的模式,以便處理網絡、安全和可擴展性問題。安全而高度可用的Web應用程序啟動并正常運行。如圖2所示,海洋潮流場云計算環境部署。

圖2 云計算海洋潮流場系統部署
一種部署模式可以封裝起來,以便重復利用。一個模式指定Web服務器、應用程序服務器和數據庫服務器,而用此模式部署其本身的一個實例所需要的一切都指向各層的虛擬機的指針。負載平衡器實現對多個Web服務器,Apache服務器,ARCGIS服務器等提供負載均衡,海洋潮流場模擬器實現對海洋潮流場模擬。
云計算環境下資源組織和管理的功能抽象模型如圖3所示。基于圖3中不同功能組元的內在聯系和相關性,面向多個資源組織與管理功能的綜合控制策略與折衷方案。采用商品市場、投標和拍賣等基于經濟學的研究方案,進行云計算資源服務的管理和任務調度,基于計算經濟的資源管理策略及其在網格系統中進行實現的機制與算法。

圖3 云計算資源組織與管理的功能抽象模型

式中:h——水深;u,v——流體在x,y——方向上的流速;P(x,y,t)——降雨量函數;F(x,y,t)——排水系數;Q(x,y,t)——決堤口流量;S(x,y,t)——滲透匯函數;W(x,y,t)——區域可調蓄水量;——災情水位;g——重力加速度;K——平均粘滯系數;n——曼寧糙率系數;c*——風阻力系數; ——空氣的密度;——水的密度; ——風速;——風向與y軸的夾角。
動量守恒方程中上述動量方程中,第1項為加速度項,第2,3項為對流項,第4項為重力項,第5項為阻力項,第6項為擴散項,第7項為風的阻力。
如圖4所示,潮流場計算模型,給定水文、氣象、地形等參數,確定邊界條件,進行有限元剖分算法,以及水動力模型,最后進行數值計算算法模擬,顯示流速、流量和災害分布。

圖4 潮流場計算模型
根據圖4所示,潮流場計算模型需要水文、氣象、地形的參數,其中水文數據、氣象數據和地形的數據屬于在不同的部門,不同的機構擁有。復雜潮流場云計算環境的關鍵問題,是實現水文數據、氣象數據和地形數據等異構數據資源的共享。
數據資源共享中,基于Web Service實現系統集成。采用開放式地理信息處理系統的軟件體系結構。將現有GIS應用模塊和其中的數據,通過包裝,產生基于XML形式的WebService的運行接口。在數據存儲服務中,數據先是存儲于云中的節點上,但因為節點數量和節點本身資源是有限的,因而數據必須由節點轉儲到數據池以供長期存儲。Cache普遍存在的一種典型的應用為某由客戶端數據上傳至云中,此時數據仍留在節點上,還未轉移至數據池,若此時服務端接收到數據獲取請求,則可以不經數據池而直接將其由云中節點取出并處理。基本的Cache管理機制如圖5所示。

圖5 Cache的管理機制
通常一個可視化過程包括數據預處理、構造模型、繪圖及顯示等幾個步驟。建立具有實際地形的流場數學模型的可視化與虛擬現實系統。首先對潮流場預測和評估模型生成的數據進行預處理,針對每種數據的特點進行數據集的自適應歸一化處理;根據可視化方法的不同構建流程的“數據映射”模塊,形成幾何數據、圖像數據;利用OpenGL技術繪制三維場景,將時間作為另外一維加入,在仿真中主要就是表現為災情數據的動態顯示和更新。主要過程如下:
(1)數據集構建。根據風暴潮預測和評估模型生成的原始數據進行處理,處理的內容主要是數據內部格式轉換和數據差值重采樣,經過處理后生成規則的數據集,以便于后續可視化的處理。
(2)對數據集進行自適應的歸一化處理。對量級相差較大的數據集可通過整體取對數的方式進行歸化,對量級變化較小的數據集則采用求比值的方法進行歸化,歸化結果在0~1之間,從而達到用象素顏色分量來表示數據集的目的;
(3)對數據進行可視化映射,也即對數據進行可視化表達和描述;
(4)渲染與繪制。通過一系列的三維可視化處理步驟(投影變換→視口裁減→光照模型處理→顏色調整),生成真實感的三維圖形。
對云計算環境下流場的數學模型的資源建模進行需求分析,結合面向對象的思想和UML工具構建了云計算環境下的資源服務模型。然后XML,Web2.0技術、UML和WSDL技術應用到云計算環境中,建立XML到WSDL的映射關系,探索基于XML-WSDL的流場服務資源描述的方法。
基于時序邏輯的Web服務形式描述,以服務形式連接信息資源的云計算統一形式化描述,解決接口軟件對內(云計算內部)和對外(云計算外部)兩方面的計算機制問題,如圖6所示。由于資源具有異構性和多樣性,需要針對不同情況做不同的處理。對外則表現為一致的標準的服務接口(WSRF)。

圖6 云計算結點服務結構

圖7 廈門近海的邊界劃分

圖8 xm5907號臺風2D展示
自底向上每層都透明的為其上層服務,最底層為云計算平臺提供的應用程序接口,最頂層為用戶界面與開放接口,通過調用開放接口,用戶可以共享數據集、調用潮流場模擬計算和可視化算法,并可以方便的把他們集成到用戶自己的應用中,從而實現平臺的開放性。
實驗平臺模擬廈門近海的xm5907號臺風的潮流場的2D和3D的潮流信息。圖7是廈門近海的邊界劃分,其中綠色為陸地變現,紅色為外海邊界。根據外海邊界和內海邊界條件信息,計算海洋潮流場的發展蔓延的過程,通過可視化的用戶接口調用,在用戶端顯示,圖8是xm5907號臺風2D展示。
本文主根據海洋潮流場的特點,結合云計算環境的最新研究進展,提出了基于云計算海洋潮流場的特點及其體系結構。將云計算的引入是目前最先進的互聯網技術與思想同海洋科學科學的緊密結合,也是發展基于網絡的數字模擬的關鍵技術。采用云計算技術發展基于模擬的問題求解環境,可以解決當前信息的共享嚴重滯后于網絡技術發展的速度的局面。給出云計算環境架構,部署以及服務調度和任務調度模型和策略。
[1]馮士笽,李鳳歧,李少菁.海洋科學導論[M].北京:高等教育出版社,2007.
[2]Rochwerger B Galis,Levy E.Reservoir:Management technologies and requirements for next generation service oriented infrastructures[DB/OL].Integrated Network Management,2009:307-310.
[3]Borja Sotomayor,Rubén S Montero,Ignacio M,et al.Virtual infrastructure management in private and hybrid clouds[J].IEEE Internet Computing,2009,13(5):14-22.
[4]Adolfy Hoisie,Vladimir Getov.Extreme-scale computing-where'just moreofthesame'doesnotwork[J].IEEE Computer,2009,42(10):24-26.
[5]Christakos G,Kolovos A,Serre M L,et al.High resolution ozone mapping using instruments on the nimbus 7 satellite and secondary information[M].GEOENV IV-Geostatistics for Environmental Applications(Quantitative Geology and Geostatistics),2004,13 Part2:67-78.
[6]Li Li,Ji Hong,Chen Xuejiao,et al.Data pattern for allocating user experience meta-data to user experience research data[C].Lecture Notes in Computer Science 5617,2009:675-684.
[7]Razak S F A.Cloud computing in Malaysia universities[C].Innovative Technologies in Intelligent Systems and Industrial Applications,2009:101-106.
[8]Rajiv Ranjan,Zhao Liang,Wu Xiaomin,et al.Peer-to-Peer cloud provisioning:service discovery and load-balancing[M].Computer Communications and Networks,Cloud Computing,2010:195-217.
[9]Christian Baun,Marcel Kunze.Elastic cloud computing infrastructures in the open cirrus testbed implemented via eucalyptus[M].Managed Grids and Cloud Systems in the Asia-Pacific Research Community,2010:219-230.
[10]王光謙,劉家宏.數字流域模型[M].北京:科學出版社,2006:103-109.