網格是構筑在Internet上的一項新興技術,是高性能計算機、數據源、互聯網三種技術的有機組合和發展。它是利用現有互聯網的架構,把地理上廣泛分布的各種資源,包括計算資源、存儲資源、帶寬資源、軟件資源、數據資源、信息資源、知識資源等整合成一個邏輯整體。隨著信息技術與網絡技術的發展和普及,對于教學資源共享方式提出了新的要求,要求更及時、更豐富的信息共享。為了更好地實現教學資源的共享,筆者在現有資源共享技術P2P基礎上提出了新的基于網格技術的共享方案,利用網格技術和P2P構建了教育資源整合及共享平臺,實現了實時、高效、智能的資源發布、共享、整合與下載。
一、教學資源共享平臺體系結構的設計
1.P2P和網格技術。P2P和網格都屬于分布式技術,它們的總體目標相似,但二者有明顯的不同。P2P的技術側重點傾向于為普通網絡用戶構建一個使用網絡資源的良好環境,并向用戶提供各種計算服務,從而有效地利用網上的閑置資源。而網格技術的重點則是將一個國家或地區的大型超級計算機整合為統一的計算平臺,完成大規模的科學計算、數據分析等密集型任務。
目前的教育網格體系主要是開放服務網格體系OGSA(Open Grid Server Architecture)。這種體系在構建網格系統并對Grid進行拓撲規劃設計時,整體上都是以分布式模式為主,但是在具體實現上都沒有脫離集中式的思維。這樣可以高效地對網格資源實現控制,為快速發現資源提供保障,從而能夠準確迅速地獲取互聯網中的資源信息。但是在面對如視頻這種動態大規模分布式環境時,網格的層次式的集中模型就會產生瓶頸。而P2P系統是一種全分布式的系統,沒有需要依賴的中心服務器,可以避免瓶頸,充分實現網絡的流量均衡,使得視頻播放流暢、文件傳輸較快。為此,提出P2P與網格技術結合來構建教學資源共享平臺。利用P2P技術實現了在因特網上的實時課堂直播、及時通信或語音服務。利用WsRF創建網格服務,來提供給用戶一個統一的全局資源視圖,可以達到整合學習資源的目的。
目前網格系統大多采用開放式網格服務體系結構(OGSA)。OGSA是以“服務”為中心的“服務結構”,OGSA描述并定義了基于Web服務的體系結構,這個體系結構由一組接口及其關聯的行為組成,用來方便在異構動態環境中共享分布式資源。OGSA服務架構由四個主要層構成,從下到上依次為:物理和邏輯資源層;Web服務層;基于OGSA架構的網格服務層;網格應用程序層。
目前所有重大的網格項目都是基于Globus Toolkit提供的協議與服務建設的。Globus Toolkit 4(簡稱GT4)是一個很有影響力的網格中間件。它對一組Web服務進行打包,這些服務為開發者提供了一個面向服務的基礎設施,它可以幫助開發者對分布式基礎設施組件進行訪問和管理。GT4的最大特征在于實現了WSRF和WS-Notification標準。Globus Toolkits4的體系結構中主要包括資源調度組件、安全管理工具、信息服務工具、數據管理組件,并支持Java Web服務的開發部署。在GT4中,開發者可以通過Appache Ant工具比較方便地實現和發布自己的服務,但這些服務的實現與發布一般采用Java工具。
二、教學資源共享平臺的設計
利用開放網格服務體系結構OGSA和網格工具包GT4建立教學資源共享平臺。該平臺的體系結構就是一個以服務為中心的體系結構,從下到上被分為資源層、服務層、應用層三個部分,如圖1所示。

1.資源層。它是教學資源共享平臺的基礎,包括:硬件資源,如開展現代遠程教育的基礎設施、多媒體和網絡教室以及校外學習中心等;軟件資源如教學平臺、管理平臺、網絡課件、資源庫(素材庫、案例庫、題庫、答題庫)以及各種軟件工具等。而軟件資源則是通過資源虛擬化來進行組織。構建的教學資源平臺中的資源部分是異構的。要將它們置于網格環境下,需要安裝運行GT4的Apache AXIS,并用其作為Web服務引擎。
2.服務層。在資源層之上的是服務層,它實現了對資源層各種資源的共享和整合,是實現服務功能的關鍵。該層次定義了一系列的管理工具和協議規范來實現在資源層中所有資源的共享、整合及協作問題。該層也提供了給上層訪問資源和服務的統一接口。服務層由三部分組成:WSRF.net、面向服務的軟件體系結構和P2P平臺。服務資源框架(WSRF)是OGSA的最新核心規范。WSRF是一組Web服務規范和約定,用來描述分布式環境中的有狀態資源與Web服務的關系。WSRF.NET是一組基于.NET的類庫和軟件工具包,通過和微軟技術的配合,可以很容易地創建符合WSRF.NET技術規范的服務器端和客戶端,它提供了一個面向服務的軟件體系結構框架。使用WSRF.net來構建索引服務,可以使P2P平臺很容易與其它網格平臺進行互聯和整合,可以利用網格大量的計算和存儲資源來擴展其服務容量。利用GT4就能實現基于WSRF的web服務。
面向服務的接口:處理網格平臺和應用層之間的交互、定位網格的調度、管理多種應用程序等問題。
P2P平臺:實現實時流媒體的傳輸以及消息或文件數據的傳輸。使用Sun公司提供的Java語言環境下開發P2P網絡軟件的工具包來完成該平臺。
XML(eXtensible Markup Language,可擴展標記語言)可以實現數據的跨平臺傳輸、交換和共享。它不同于只能提供數據格式描述HTML,XML提供了數據結構的描述,從而有助于進行文件內容的結構聲明和語義描述。對于服務層中所設計的服務均建立在WEB服務上,對每個需要服務的接口,是用XML語言來描述的。這樣XML語言描述的服務之間可以進行交互,同時這些服務接口可以解決服務發現、動態服務創建、生命周期管理及通知等問題,從而使得應用網格資源就變得非常方便和快捷。
3.應用層。應用層是直接面向用戶的核心部分,是教學資源共享平臺設計中相當重要的一個環節。為用戶設計透明、可擴展以及安全的應用程序和服務是該層需主要考慮的問題。在該層中我們可以開發智能輔助學習智能考試系統、協同虛擬實驗、安全控制、遠程沉浸、在線課堂的直播等應用。編程語言可以是C、C++或JAVA,運行平臺是在JAVA主機環境下的任何操作系統。
三、實現教學資源共享需要解決的關鍵技術
一個理想的資源共享體系應類似當前的Web服務,給用戶提供完全透明的環境。對用戶而言,它把眾多同構、異構的資源變成了同構的虛擬環境。因此,要實現基于網格技術的教學資源共享還要解決以下關鍵技術:
1.高性能調度技術。在網格系統中,大量的應用共享網格的各種資源,如何使得這些應用獲得最大的性能,這就是調度所要解決的問題。任務調度是網格應用研究必須解決的另一個關鍵問題。網格調度技術比傳統高性能計算中的調度技術更復雜,這主要是因為網格具有一些獨有的特征,例如,網格資源的動態變化性、資源的類型異構性和多樣性、調度器的局部管理性等。所以網格的調度需要建立隨時間變化的性能預測模型,充分利用網格的動態信息來表示網格性能的波動。在網格調度中,還需要考慮移植性、擴展性、效率、可重復性以及網格調度和本地調度的結合等一系列問題。
2.資源管理技術。資源管理包括資源的發現、描述、定位、組織、分配、監測、更新和信息發布,收集任務運行時的資源占用數據等,其核心是提高可用資源的效率。實現高性能計算和共享異構網格資源,必須提供統一的資源管理機制來負責用戶與網格計算環境的交互,提供與網格計算系統的統一出入口。
3.安全技術。網格計算環境對安全的要求比Intemet的安全要求更為復雜。網格計算環境中的用戶數量、資源數量都很大且動態可變,一個計算過程中的多個進程間存在不同的通信機制,資源支持不同的認證和授權機制且可以屬于多個組織。正是由于這些網格獨有的特征,使得它的安全要求更高。網格的安全控制機制主要包括了身份認證機制、信息訪問控制機制和審計機制。在建立完善的安全保障機制的同時,還要避免安全驗證耗費過多的處理能力。如果這一部分工作所消耗的系統資源大于系統所節約的計算資源,則網格也就失去了其真正的意義。容錯和自動修復也是網格系統必須考慮的問題。
P2P網絡采用的分布式結構在提供擴展性和靈活性的同時,也包括由其自身的技術缺陷所帶來的主要安全威脅,如路由攻擊、防火墻穿越、病毒傳播等。在這個系統中也要解決P2P所帶來的安全威脅。
(作者單位:廊坊師范學院)