摘要:本文敘述了P2P網絡的概念、發展歷史以及它與傳統網絡模式的區別,探討和分析了JXTA技術,闡述了基于JXTA技術對分布式課程輔助教學應用系統JBCAT的研究、設計與實現。
關鍵詞:Peer-to-Peer;混合模式P2P;JXTA技術;計算機輔助教學;網絡協作化
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)12-20000-00
The Research and Realization of JXTA-Based Course Aided Teaching System
ZHAO Xiao-jing, RAO Chen
(ChangZhou Institute of Technology School of Computer Information Engineering,Changzhou 213002,China)
Abstract:This article introduces the conception, history of P2P network as well as its differences from traditional networks. Then it analyzes and explores JXTA technology. On this basis, this article presents our research, design and implementation of JBCAT –a new distributed course aided system in details.
Key words: peer to peer; Hybrid P2P; JXTA technology; computer aided teaching; cooperation
1 引言
現在的輔助教學系統大多采用集中式(客戶/服務器)的模型實現,這類系統在教學內容的設計、內容的瀏覽方法都比較好,但在教學功能上存在兩個不足:一是資源共享方式的不足。學習者只能瀏覽到網站中各個網頁提供的內容,也就是說只有網頁上的內容才能實現共享,而教師或其他學習者擁有的很多資源由于只存放在本地機中沒有放在網頁上則難以實現共享。二是在線同步交互的不足。在線同步交互就是教師、學生在遠程電子教室,直接通過Internet進行實時教學,這種教學模式要求信息能即時傳遞與反饋。采用這種方式需要網絡有足夠的帶寬和良好的性能,否則質量不能保證。這就需要大量的網絡設施硬件的投資,很多教學站點望而卻步,這使得學習者難以得到及時的教學輔導,教師也難以按照現代教學思路實施教學評估,嚴重地影響了網絡教學的效果。
為了能夠解決傳統輔助教學系統的不足,本系統采用基于JXTA平臺的P2P技術進行輔助教學系統的研究與設計(JXTA Based Course Aided Teaching System),以下簡稱JBCAT。這種輔助教學追求以學習者為主的研究性協作性學習,應用網絡信息平臺及虛擬學習社區的優勢引導、革新教學模式,最終使教學效率、教學質量能有質的提高。
2 P2P技術
P2P是英文Peer to Peer的縮寫,稱為對等網或點對點技術。P2P是一種網絡模型,在這種網絡中所有的節點是對等的(稱為對等點),各節點具有相同的責任與能力并協同完成任務。對等點之間通過直接互連共享、處理、存儲甚至高速緩存資源,無需依賴集中式服務器或資源就可完成。這種模式與當今廣泛使用C/S網絡模式形成鮮明對比,C/S模式中服務器是網絡的控制核心,而P2P模式的節點則具有很高的自治性和隨意性。
P2P系統最大的特點就是用戶之間直接共享資源,其核心技術就是分布式對象的定位機制,這也是提高網絡可擴展性、解決網絡帶寬被吞噬的關鍵所在。迄今為止,P2P網絡已經歷了集中目錄式結構、純P2P網絡模型和混合式網絡模型三代。從P2P應用發展的前景來看,參與P2P網絡的設備的種類將不斷豐富。為使不同性能的設備更加有效的利用P2P網絡,提高網絡的總體性能以及擴展性,應當使不同的設備根據性能的不同承擔不同的任務,使用P2P混合模式可以較好的滿足這種要求。
本系統就采用混合式P2P網絡模型。在該模型中,節點分為兩個層次,一類是處理能力較強的超級節點,另一類是普通節點。它既有集中目錄式結構的特點,又有純P2P的特點。我校的各個學院的混合式P2P網絡模型如圖1所示。

其中在學院內部采用集中目錄式結構,即在每個學院內部配置一個超級節點,學院內部的普通節點將自身所擁有的資源信息登記在學院內部的超級節點上,以便于資源的定位;學院之間超級節點的連接采用完全圖模型,當某個學院內部的普通節點需要其它學院內部的資源時,該普通節點所在的超級節點負責向其它學院的超級節點發起查詢,并將查詢結果返回給查詢發起者。
普通節點是JBCAT系統提供給老師和學生的操作實體,所有的操作都可以通過普通節點來實現。普通節點實現了四個輔助教學功能模塊,分別是:登錄模塊(注冊/登錄/注銷)、課程管理模塊、新聞公告模塊、交流協作模塊。
超級節點的處理能力較強,由學校教務部門統一管理,維護著學院內部普通節點的注冊信息、在線信息,并且對普通節點發起的操作請求給予響應,給系統各個功能模塊充當索引作用。普通節點要連入輔助教學系統網絡,必須在學院內部的超級節點上進行注冊,然后登錄超級節點,登錄之后,便可以享受系統帶來的服務。
超級節點的功能模塊包括用戶管理、討論板管理、在線輔導管理、共享資源管理以及學院之間的通訊模塊。其中學院之間通訊模塊主要用于校級資源的查找。
3 JXTA技術
JXTA是為了構建P2P網絡而制訂的一組協議,是處理構建P2P網絡所碰到的問題的解決方法;其次,JXTA是P2P應用程序開發的運行平臺。
傳統的網絡學習系統雖然可以允許學習者進行學習交流和直接溝通,但這類學習活動一般都需要在主題、時間和交流人員等方面制訂明確的計劃和安排,造成了很多的麻煩和不便?;赑2P的知識交流方案卻不同,P2p使得知識自由獲取的、動態的學習成為可能。在JBCAT系統中我們采用基于JXTA的p2p模式,在本系統中資源是開放的:一方面,可以為廣大學習者同時使用;另一方面,所有成員都可以將自己的知識加入進來,不斷豐富資源庫,學生可以隨時、隨地學習,學習者可以通過即時溝通方式能夠更快捷地解決所遭遇的現實問題,并消除了通過正式教學系統進行學習的時空障礙。同時JBCAT系統使人際間的知識交流更加迅速,資源共享更加快捷和方便,從而提高了人們解決學習問題和處理事務的效率。我們還可以把原有的教學過程轉變成在網絡上的協同學習,可以開放和提供各種學習資源,從而滿足不同用戶的不同需要,并在每個學習需要的時間和地點被利用。以達到改善教學質量,提高教學效率,降低教學成本的目的。
4系統總體設計與主要功能模塊
JBCAT系統由登錄管理、課程管理、交流協作三大功能模塊組成。總體設計如圖2所示。

系統各功能模塊設計描述如下:
(1)登錄管理
登錄管理模塊是JBCAT系統的一個最基本的功能模塊,是其它模塊功能得以實現的基礎。登錄管理模塊分為三個子模塊,分別是:用戶注冊、用戶登錄和用戶注銷模塊。
用戶注冊功能是必不可少的基本功能,也是登錄和注銷功能的前提。由于在系統中,學院內部采用中心化拓撲模型,所以需要超級節點扮演接受用戶注冊的服務器角色。注冊內容包括姓名、password、身份(是學生還是教師等)、學院類別、注冊時間等,注冊成功后生成一個ID號,記錄在超級節點。用戶登錄/注銷功能是普通節點連入和退出系統的具體方式。用戶只有在成功登錄學院內部的超級節點的情況下,才能享受系統帶來的各種功能;當用戶想退出系統時,應該首先注銷,這樣才能在超級節點上刪除本節點過時的在線信息。
(2)課程管理
教師節點在注冊成功以后,登入JBCAT系統,可以創建新課程組,新用戶;學生節點經過超級節點身份認證,成功登入JBCAT系統后,學習者根據自己的興趣和需要自主搜索課程對等組然后加入到該課程對等組內。如果學習者是第一次加入該課程組,創建該課程組的管理者(教師節點)首先要對學習者進行初始化,給學習者一個進入對等組的密鑰。一旦學習者加入課程對等組后,將會接受到學習者課程組內的更新信息,這些更新信息包括新聞公告、學習者所屬的對等組內的共享資源和組內成員信息的目錄更新。學習者可以參與多門課程的學習,可以在不同的課程組之間進行切換,學習結束后可以退出該課程組。
(3)新聞公告
公告板服務主要用于發布一些簡短的臨時性的通知或公告。面向課程組的全體成員進行廣播,比如通知有新問題請大家參與討論。
(4)交流協作
只要登錄到該系統,學生在任何時候可以搜索其他用戶,方便地進行問題討論和交流。此時系統就不再需要服務器的支持,用戶的交流就不會受服務器限制。交流協作模塊是本系統最重要的模塊,主要由三部分組成。
A)討論板子模塊
該模塊的用途是十分廣泛的,在輔助教學方面的應用可以歸納為幾個方面:在線答疑、在線專題講座、多人會議。在本系統中,支持多個討論組,極大地便利了以上功能的開展。
傳統的C/S模式中實現討論組功能,發言內容必須經過服務器中轉,這樣既加重了服務器的負擔,又不利于發言內容的保密性。而基于P2P技術實現的討論組功能,發言信息不需要經過服務器中轉,信息直接發送給組內的每一個成員,超級節點只起到了管理討論組的功能。
由于討論組發言消息要直接發給組內的每個成員,而組內成員加入/退出討論組的靈活性很大,這導致了組內成員交流采用TCP協議的代價很大。因此,系統選擇了UDP協議。
B)在線輔導子模塊
如果說討論板注重的是文字交流,那么在線輔導注重的是操作交流。該模塊主要用電子白板來實現。電子白板在同一時刻只有一個操作者,操作權由超級節點負責發放,超級節點維護著操作權的分配。老師和學生都可以申請對電子白板的操作權,超級節點按照操作權分配算法給申請者予以回應。操作權分配算法原則一是老師申請優先;二是先到先得的算法。
與討論組功能模塊類似,由于電子白板操作消息也要直接發給電子白板內部的每個成員,因此,系統選擇了UDP協議。
C)資料共享子模塊
該模塊也是老師與學生交流的重要方式之一,用戶節點可以發布共享資源,在發布的同時,要在超級節點上登記此資料的信息,資料信息包括:資料名、發布者ID、發布者姓名、學院類別和發布時間。為了保證要下載該資料的用戶能順利下載,要寄存一份在超級節點上。用戶下載之前先向超級節點發送查詢某一資源下載地址列表消息,超級節點會返回該課件的下載地址列表,下載地址列表中包括超級節點和已下載過該課件的學生節點,然后用戶可以向地址列表中的任一地址進行課件的下載,充分體現了P2P的精髓。
5 結束語
通過此課題的研究,采用的P2P網絡設計模式克服了傳統模式的不足,同時,將JXTA技術應用于輔助教學領域進行研究,也有助于對教育網絡化、信息化的進一步探討,這個P2P應用系統的研究和實現對課程輔助教學系統的開發提供了一種新的思路和解決方案。
參考文獻:
[1]p2p點對點對等計算[EB/OL].http://docs.huihoo.com/.
[2]p2p天空[EB/OL].http://www.p2psky.com.
[3]許斌.JXTA-Java P2P網絡編程技術[M].北京:清華大學出版社,2003.
[4]奧克斯(Oaks,S.),切沃薩特(Traversat,B.),宮力(Gong,L.),技橋譯.JXTA技術手冊[M].北京:清華大學出版社,2004.
[5]沈悅,楊璐,蔣蕾.基于P2P技術的計算機輔助教學系統的研究與設計[J]. 農業網絡信息,2006(10):75-78.
收稿日期:2008-03-27