基于JXTA的P2P遠程學習系統的設計與實現
(2)服務層(JXTA Services) 該層擴展核心層的功能,為P2P應用程序提供可選通用服務,如索引、文件共享、分布式信息檢索、對等節點認證、代碼緩存和內容緩存機制。
(3)應用層(JXTA Application)該層為創建各種類型的P2P應用系統提供相關的應用程序,主要有信息內容管理、分布式存儲以及實時信息傳輸等應用程序。
2.2 JXTA協議
JXTA協議采用XML標準的數據格式定義消息,獨立于具體的編程語言和傳輸協議,使得它更易于理解和獲得更多的支持。它可在TCP/IP、HTTP、 BlueTooth、HomePNA或其他傳輸協議之上建立一個虛擬JXTA網,使得節點位于由防火墻和NAT設備分隔開的網絡的不同部分或者處于異構網絡協議的環境之間都同樣可以相互通信。這一優點正是當前遠程學習系統最需要的。本文引用地址:http://www.104case.com/article/188597.htm
3 遠程學習系統的設計與實現
3.1 遠程學習系統的架構設計
構建的基于JXTA的P2P遠程學習系統采用混合P2P模式,各個參與學習的站點分為3種不同角色:學生對等節點(Student Peer,SP)、教師對等節點(Teaeher Peer,TP)、教務管理對等節點(ManagerbPeer,MP)。MP在學習系統中起到管理、組織、協調各參與者的作用,并負責創建課程組,記錄各個課程組的資源索引,在課程組間提供搜索路由的功能,管理維護教學網站中的BBS、電子白板、聊天室、資源下載區、教師信息、學生信息、內部電子郵件系統等欄目;TP節點從屬于某一課程組,主要協調、組織、評價本課程組內參與學習者的學習過程,維護本課程組內資源的索引信息,并將資源索引的變動信息傳遞給MP;SP找到相應課程組后可加人到其中,利用課程組中提供的課件、參考資料等共享資料進行自主學習;當碰到疑難問題時,可與在線人員進行兩兩學習交流,或展開多人共同探討;若遇到難題無法解決時,可聯系課程組教師通過電子白板實現虛擬教室,進行及時在線輔導講課。整個遠程學習系統的架構如圖2所示。
3.2 遠程學習系統的實現
系統應用的開發工具是NetBeans5.5、JDK5.0、JXTA2.0、 Sun Java System Application Server Enterprise Edition 8服務器,數據庫采用由純Java語言編寫的小型數據庫PointBase,它對平臺的支持性強,并可直接過渡到其他數據庫。通過使用面向對象的程序設計方法,根據遠程學習系統的工作原理和主要功能設計以下3個主要的類:
(1)Manager類該類代表系統中的MP,負責為MP設置JXTA環境及完成與TP的通信連接,將加入對等網的TP分配至合適的課程組;能夠創建一個新的課程組,當某一課程組資源點擊人數低于某值時,刪除該課程組。主要方法有:啟動JXTA環境startJXTA(),創建課程組createCourseGroup()、刪除課程組deleteCourseCroup()、發布提供的遠程學習服務discoverySvc()、獲取節點在線狀態pipeAdv()、創建一個通信管道inputPipe()、信息發送sendMessage()、發布節點的在線狀態publishPipeAdv(),創建信息發送管道 createInputPipe()和運行主方法main()等。
p2p機相關文章:p2p原理
評論