淺析基於P2P的多媒體教學平臺的研究與設計論文
論文摘要:針對C/S,B/S結構的網路教學平臺的缺陷,該文提出基於P2P模式的多媒體教學平臺。詳細闡述了該平臺的設計方案和功能模組的設計,並利用JXTA技術實現了基於P2P的多媒體教學。
論文關鍵詞:多媒體教學平臺;P2P;JXTA
網路教學突破了時間和空間的限制,使得人們可以快捷方便地獲取知識和技術,毫無疑問,網路教學有著非常好的發展前景。目前C/S,B/S結構的網路教學平臺在提供文字和靜態圖片、講義和課件資源方面做得不錯,但缺乏教師和學生、學生和學生之間的即時互動交流功能,且所有的教學資源都放在伺服器上,必須訪問伺服器才能得到所需的資源,隨著客戶數目增多,伺服器往往成為整個系統的瓶頸,特別是影片直播的媒體資料量大,更會加重伺服器頻寬的負擔,造成服務質量下降影響教學。
為了解決C/S,B/S結構教學平臺的不足,本教學平臺採用P2P和流媒體技術進行研究與設計,目標在於改善和擴充套件現有教學平臺的功能,緩解伺服器的I/0壓力和頻寬限制,促進網路教學平臺的教學資源更加豐富,教學形式更加多樣化。
1、P2P技術
1.1P2P
P2P是一種用於不同PC使用者之間直接交換資料或服務的技術,它弱化了傳統的C/S模式、B/S模式中伺服器處於中心地位的思想,P2P網路中各節點地位平等,各節點既可以作為提供服務的伺服器,也可以作為使用服務的客戶機。
1.2JXTA
JXTA、是Sun公司推出的一個P2P網路應用開發平臺,其目的是為P2P應用所需的基礎服務提供支援。JXTA透過定義一套XML協議來完成P2P網路的基本功能,由於這套協議獨立於作業系統、網路協議和程式語言,因此JXTA可以在不同的軟.、硬體平臺上實現,有望成為P2P網路應用開發的統一平臺。
2、教學平臺的設計
2.1需求分析
利用JXTA來構建P2P應用,對等點是P2P網路中的基本單元,是P2P應用中進行各種互動活動的實體;而對等組是構建各類P2P應用的基本單元,是一種組織對等點並在組內釋出特定服務的方式。本文構建的'教學平臺,以一個教師的一門課程來作為一個對等組,在課程對等組內,設定了一個虛擬的教學空間,教師和學生的教學和學習活動被限制在每個課程對等組內,這樣不僅很好地反映了現實中的課程教學,也較好地解決了P2P網路應用面臨的節點的組織和管理問題。
使用者要加人本平臺,首先要進行註冊,註冊分為教學管理員、教師和學生三種身份,註冊內容有:姓名,密碼,身份。註冊登入後即成為基本對等組NetPeerGroup中的一員。教學管理員能建立與撤消各個課程對等組,同時要為新建立的課程對等組指定教師作為該課程對等組的管理員;學生要加人該課程對等組需要向教師提出申請經批准之後方可加人。教師和學生登入平臺之後選擇進人某門課程對等組就可以進行交流、教學、資源共享等各項活動。
2.2系統結構設計
如圖1所示。中心服務節點用來控制使用者的認證及註冊資訊.幫助完成使用者節點間的初始連線。教師和學生節點之間直接互連實現線上文字交流、資原始檔共享及課堂教學直播等功能,不需依賴中心服務節點。如中心服務節點故障,則隻影響新使用者的加人,老使用者間仍舊可以自行組織互動,充分體現了P2P的精髓。
2.3功能設計
系統各功能模組設計描述如下:
1)認證及註冊管理
首先中心服務節點獲取請求認證使用者節點的管道ID值。在認證資訊庫裡尋找匹配使用者節點發送來的使用者名稱/口令/身份認證資訊。如果通過了認證匹配,傳送一個認證透過回應訊息給使用者節點。同時更改註冊資訊庫裡當前使用者節點的管道ID值。如果沒有透過認證匹配,就傳送一個認證未透過的回應訊息給使用者節點。然後根據使用者節點在註冊資訊庫裡的註冊資訊,向用戶節點發送其所註冊的每門課程對等組及其組成員的資訊列表。當用戶節點退出平臺時,向中心服務節點及其所屬的每門課程對等組的線上成員傳送登出訊息。這樣其所屬課程對等組的所有線上成員節點就可在其組成員資訊列表中修改此使用者節點的線上狀態。
2)線上文字交流
在使用教學平臺的過程中,學生與學生之間需要討論,教師和學生之間需要答疑。本模組的功能設計中,使用者節點可以看到所在課程對等組中教師和學生的線上情況,可以選擇兩人交流形式或多人交流形式,在交流時,大家可以看到彼此輸人的文字,類似QQ軟體的私聊和群聊功能,給使用者提供方便的點對點的交流。 利用JXTA實現使用者實時通訊,其核心在於管道((Pipe)技術的實現。其中管道是JXTA中對等點之間傳輸資料的通道,它為開發人員在網路底層的IP和路由之上建立了一個邏輯連線。在JXTA參考實現中提供了三種管道:單向管道((JxtaUnicast)、單向安全管道((JxtaUnicastSecure)、組播管道((JxtaPropagate)。本教學平臺的兩人交流和多人交流分別採用單向安全管道和組播管道。基本的過程是:接收方根據管道廣告建立一個輸人管道,並等待訊息到達;傳送方得到了接收方的管道廣告,建立對應該管道廣告的輸出管道。首先它給所有知道的對等點和彙集對等點發送一個管道繫結請求訊息。接收方收到管道繫結請求訊息後,檢查它的快取看是否有匹配的管道,如果有,它就回復一個管道繫結響應訊息,其中包含它的對等點廣告。傳送方收到管道繫結響應訊息後,從其中的對等點廣告中提取出端點資訊建立一個輸出管道;建立後,傳送方就可以給接收方傳送訊息了。
3)教學資原始檔共享
本模組設計課程對等組內的所有使用者都可以共享自己的教學資料和學習資料給其他使用者使用,共享的資料可以是文字、圖片、聲音或影片檔案等。在此模組中,使用者可以透過開啟檔案對話方塊的方式共享本地的檔案,也可以從共享列表中移除不想再共享的檔案。使用者可以搜尋其他使用者共享的檔案。透過將各個使用者的資料共享出來供其他使用者下載閱讀,每個使用者都可以成為資源的提供者和使用者,從而達到資訊傳播與共享的目的。C/S,B/S模式的資源共享,資源都位於中心伺服器,如果中心伺服器出現故障,那麼共享資源不再可以正常下載和閱讀;本教學平臺採用P2P模式的資源共享,即使中心服務節點出現故障,使用者節點間仍然可以正常共享和下載。本教學平臺設計為學生使用者也可以提供資源,不同於一般的教學平臺中只能教師使用者才能提供資源,從教師節點下載的教學資料,可以共享給其他學生節點使用,從而擴大了提供資源的使用者範圍。
本模組採用JXTA中的CMS(ContentManagerService)來實現,CMS是一個在對等組中的多個對等點之間共享內容的服務,它充當在JXTA對等點之間共享並交換內容的框架。該服務使得對等點可共享自己的內容以及定位和獲取其他對等點的內容。
4)檔案傳送
檔案傳送分為一對一傳送和一對多傳送。教學資原始檔共享功能用於檔案接收方去搜索並下載才能獲取檔案,而檔案傳送用於檔案傳送方主動的把檔案直接傳送給接收方。當教師佈置作業、練習、實驗時,可以一下子給課程對等組內的所有學生髮送,也可以選擇學生來發送。學生之間也可以互相直接傳送檔案。
5)課堂教學直播
本模組設計的課堂教學直播,可以用於教師和學生都在機房上課的場合,也可以用於教師和學生異地的場合。將教師上課的音訊流、影片流、教師機的電腦螢幕流傳送到學生機,可以模擬出教師上課的情景。本模組包括媒體流採集和網路傳輸兩個子模組。利用基於Java的多媒體框架JMF(JavaMediaFrame)技術,將教師上課的音訊流、影片流用音效卡、攝像頭等音影片捕獲裝置來捕獲;電腦螢幕流的捕獲使用JDK提供的Robot物件來對螢幕進行連續的截圖操作,然後利用JMF將這些圖片轉換成連續的動畫作分資料來源。網路傳輸模組使用RTP進行實時流媒體的傳輸。
JAVA媒體框架((JavaMediaFramework,JMF)是一組用來將時基媒體整合到JAVA應用程式和JAVA小應用程式的應用程式程式設計介面。JMF主要包括兩部分:JMFAPI和JMFRTPAPIoJMFAPI主要功能是捕獲、處理、儲存和播放媒體,支援媒體捕獲並能夠滿足應用程式開發人員對媒體處理和回放進行控制的要求;JMFRTPAPI提供實時傳輸RTP的支援,主要實現在網路上傳輸和接收媒體流。
6)教學課件點播
在課程對等組的共享教學資源的列表中,選擇課件來點播。共享的課件可以是教師提供,也可以是學生提供。每個使用者節點,都要做好兩手準備,即要作為課件點播的伺服器,又要作為課件點播的客戶機。自己共享的媒體資源如果被別的節點點播,自己就充當伺服器的角色,反之,就充當客戶機的角色。實現的技術亦是JMF。
7)教學公告板
教學公共板用於釋出一些簡短的臨時性的通知或公告,主要是面向課程對等組成員進行廣‘播,比如教師通知學生收看作業。公告板的工作原理與線上文字交流的多人交流基本一致,都是採用組播管道(JxtaPropagate)進行通訊,這樣可以在多個對等點之間對等的傳輸訊息而不需要伺服器的支援。
3、結束語
本文透過構建基於P7.P的多媒體教學平臺,教師可以在任何地方給學生_h.課,資源和服務分散到教師節點和學生節點中,充分體現了P2P模式的“內容位於邊緣”,不同於C/S模式的“內容位於中心”。把P2P應用到教學平臺中,能充分利用各節點的資源,使教師和學生、學生和學生之間方便的交流和共享資源,並且利用JXTA來開發,系統的擴充套件性也好。