衛(wèi)思瑜
(陜西職業(yè)技術(shù)學院 陜西 西安 710100)
網(wǎng)絡教學系統(tǒng)是建立在因特網(wǎng)或者校園網(wǎng)絡上的一種虛擬的教育教學的環(huán)境,通過該平臺可實現(xiàn)授課、交流、資源共享和自主學習等方面的功能。網(wǎng)絡教學已經(jīng)成為當前我高校教育教學改革的重要方式,并被應用在各個課程教育中。當前大多數(shù)的網(wǎng)絡教學輔助系統(tǒng)通常采用B/S或者是C/S的訪問模式,其中教育教學資通常集中在系統(tǒng)的服務器端,各用戶PC端不能實現(xiàn)對學習資源的交換。通過這樣的方式雖然可滿足課堂的需要,但是還是存在以下幾方面的問題:第一,單點故障問題。由于學習資源為服務器端提供,一旦服務器端出現(xiàn)問題,則該系統(tǒng)無法運行;第二,成本高昂。為更好的滿足系統(tǒng)的需求,需要架構(gòu)各種不同的教學服務,同時隨著客戶端的增加,對服務器和數(shù)據(jù)方面都提出了更高的要求;第三,擴展性差。當用戶在增多的情況下,需要增加昂貴的服務器的數(shù)量來提供更為穩(wěn)定的服務。對此,針對上述對問題,本文提出一種基于P2P模式的教學輔助教學系統(tǒng),并以思政課程為例對系統(tǒng)實現(xiàn)進行了研究。
P2P技術(shù)作為一種應用技術(shù)是在上個世紀的90年代被人們所提出,其主要是利用整個網(wǎng)絡中的節(jié)點進行對等的計算,從而可充分的挖掘出該網(wǎng)絡中存在的空間資源,并在容錯性、利用率和擴展性等方面都具備很大的優(yōu)勢。第一代的P2P是以Napster作為代表,通過利用中央服務器的方式對索引的資源進行保存。但因為其存在單點問題,在改進后采用分布式結(jié)構(gòu),但需要通過采用泛洪的方式才能進行通信,耗費大量的網(wǎng)絡資源;第二代則以DHT為代表,旨在通過構(gòu)筑結(jié)構(gòu)化的P2P網(wǎng)絡,實現(xiàn)對資源的的精確定位和查詢。當前針對P2P的研究在主要集中在基于拓撲匹配的網(wǎng)絡建構(gòu)方面,希望通過物理網(wǎng)絡來改善整體P2P的性能。
在P2P模式中,JXTA作為SUN公司所開發(fā)的一個開放式的編程平臺,主要分為三層:核心層、服務層和應用層。其中核心層主要包括所需服務的核心的功能;服務層則主要為用戶提供訪問JXTA協(xié)議的接口,該協(xié)議主要由6個組成:1)Peer Discovery Protocol(PDP):節(jié)點發(fā)現(xiàn)協(xié)議,主要用在對節(jié)點資源的發(fā)現(xiàn);2)Peer Information Protocol(PIP):節(jié)點信息協(xié)議, 主要用于對節(jié)點狀態(tài)的獲?。?)Pipe Binding Protocol(PBP):管道綁定協(xié)議,用于構(gòu)建節(jié)點間的虛擬管道;4)Endpoint Routing Protocol(ERP):端點路由協(xié)議,用于節(jié)點間的路由路徑發(fā)現(xiàn);5)Rendezvous Protocol(RVP):匯聚點協(xié)議,用于節(jié)點成為組播協(xié)議的發(fā)布者。 6)Peer Resolver Protocol(PRP):節(jié)點解析協(xié)議,用于對節(jié)點的查詢/回應消息的解析。由此通過上述6個組成部的共同協(xié)作,從而完成對P2P網(wǎng)絡當中節(jié)點的發(fā)現(xiàn)、監(jiān)控和交流;應用層主要提供訪問服務層的接口和對JXTA網(wǎng)絡的構(gòu)建。
文中以思政課程為例,在構(gòu)建該教學系統(tǒng)之后,思政課程學習者可通過視頻點播的方式實現(xiàn)對視頻資源的流暢觀看,并借助文件共享的功能實現(xiàn)對資源的下載。如果學生在學習思政課程的問題中遇到相關(guān)的問題,可通過該系統(tǒng)的交流功能實現(xiàn)和老師的交流。同時在借助現(xiàn)代P2P網(wǎng)絡發(fā)展模式,本文采用P2P混合網(wǎng)絡,該網(wǎng)絡是傳統(tǒng)P2P模式的改進版,用公式表示則為。該模式的工作方式為:第一步,用戶下載安裝客戶端,向軟件服務器發(fā)出去下載的請求;第二步,在互聯(lián)網(wǎng)上檢索相關(guān)的資源,當服務器在發(fā)現(xiàn)匹配資源之后,將該信息記錄到數(shù)據(jù)庫當中;第三步,對資源進行優(yōu)化,如服務器聽到資源有限或者是在用戶所處的局域網(wǎng)內(nèi),及可采用P2P技術(shù);第四步:如不存在上述的第三步情況,則采用P2S模式,返回資源信息給用戶;第五步:在P2P網(wǎng)絡中的所有的資源可同時下載,包括鏡像服務器、互聯(lián)網(wǎng)上的用戶。這種模式以當前使用比較流行的迅雷軟件作為代表,其優(yōu)點在于通過客戶PC端即可實現(xiàn)發(fā)出資源搜索指令;中央服務器結(jié)合PC指令可實現(xiàn)無邊界搜索;可根據(jù)實際情況選擇P2S或P2P模式。對此,該系統(tǒng)結(jié)構(gòu)具體見圖1所示。
圖1 系統(tǒng)架構(gòu)Fig.1 System architecture diagram
通過圖1可以看出,通過目錄服務器對該系統(tǒng)中節(jié)點的統(tǒng)一的管理,從而有效的縮短了對節(jié)點資源的發(fā)現(xiàn)和定位時間。而各個節(jié)點則根據(jù)目錄服務器獲取的節(jié)點信息,根據(jù)歷史的記錄自動的對相關(guān)的請求進行調(diào)整。而目錄服務器則作為該系統(tǒng)控制的核心,通過組織不同的內(nèi)容服務器,為客戶端提供服務,同時組織多個不同的客戶端間的交互節(jié)點信息,使得在該系統(tǒng)中的客戶端能夠獲取內(nèi)容服務器和其他客戶端的情況。內(nèi)容服務器則從視頻源當中獲取相應的思政課程數(shù)據(jù),以此響應客戶端的文件/視頻源內(nèi)容數(shù)據(jù)獲取請求。當內(nèi)容服務器啟動的時候,將其搜索到的視頻資源全部傳遞給目錄服務器。而目錄服務器則記錄內(nèi)容服務器搜索到的每個資源信息,以此提供目錄索引服務。客戶端則通過系統(tǒng)前端的獲取需要觀看的思政課資源或思政課程文件的url地址。在客戶端得到該文件地址后,與目錄服務器建立相關(guān)的連接,通過P2P協(xié)議從內(nèi)容服務器獲取相關(guān)的文件內(nèi)容數(shù)據(jù)。
對該系統(tǒng)的設(shè)計主要包括客戶端和服務器端。其中服務器端包括資源的發(fā)布、更新、刪除;管理員登陸;用戶管理;數(shù)據(jù)庫服務器;流媒體服務器等功能。同時針對純P2P當中相關(guān)思政課程文件資源不容易管理和容易中斷的問題,通過設(shè)置網(wǎng)頁服務器的方式用于對文件的存放;客戶端則主要包括視頻點播、資源共享與下載;登陸、注冊等功能(見圖2)。
圖2 客戶端功能設(shè)計Fig.2 Client functional design
基于P2P混合技術(shù)的用戶點播流程設(shè)計則如圖3所示。
圖3 視頻點播實現(xiàn)流程Fig.3 VOD implementation process
其具體的流程為:
1)用戶登錄到P2P服務器端;
2)將P2P視頻點播的內(nèi)容發(fā)布到服務的網(wǎng)頁,在找到用戶所需的相關(guān)思政課程資源,如馬克思哲學、馬克思經(jīng)濟學等視頻資源之后,P2P流媒體客戶端程序?qū)υ撘曨l資源進行唯一的標識,以區(qū)別其他的視頻。
3)點播系統(tǒng)連接資源管理服務器,通過唯一的標識找到該內(nèi)容節(jié)點的資源列表,并通過該內(nèi)容節(jié)點的屬性(如客戶端ID號,IP地址等)對內(nèi)容節(jié)點進行調(diào)度。
4)在收到內(nèi)容服務器和響應的節(jié)點間的連接之后,通過Socket連接將視頻資源通過緩沖的方式進行存儲。其具體實現(xiàn)的關(guān)鍵代碼為:
socket=SS.a(chǎn)ccept();
DatalnputStream fis l=new DatalnputStream(
new BufferedlnputStream (new FilelnputStream(filePath)));
DataOutputStream ps=new DataOutputStream(socket.getOutputStream0);intbufferSi2e=1024;
byte[]buf=new byte[bufferSi2e];while(true){
int read=0:
if(fisl!=null){read=fisl.read(bur);}
if(read=-1){break;}
ps.write(bur,0,read);
}
}
ps.flush();
fis 1.close();
socket.close();
5)在播放相關(guān)思政課程視頻的同時,將視頻資源存儲到客戶端本地存儲當中,并不間斷的與資源管理器匯報視頻資源存儲的情況。
通過對該系統(tǒng)的設(shè)計,實現(xiàn)了對視頻點播資源系統(tǒng)的實現(xiàn),通過該系統(tǒng),用戶通過對內(nèi)容的搜索,即可實現(xiàn)對思政課程視頻資源的點播。同時當該系統(tǒng)在運行一段時間后,其傳輸速度與傳統(tǒng)的C/S或者B/S模式都有著較大的提高,具有一定的實用性和推廣性。
[1]黃海,龐濤,武娟.P2P網(wǎng)絡技術(shù)研究現(xiàn)狀與展望[J].計算機科學,2012(S1):178-183.HUANG Hai,PANG Tao,WU Juan.Situation network technology research in the P2P and prospects[J].Computer Science,2012(S1):178-183.
[2]孫洪迪.一款基于P2P技術(shù)的游戲網(wǎng)絡引擎的設(shè)計 [J].北京工業(yè)職業(yè)技術(shù)學院學報,2011(3):27-30,99.SUN Hong-di.Design a P2P network game engine technology[J].Beijing Polytechnic University,2011(3):27-30,99.
[3]方啟明,楊廣文,武永衛(wèi),等.基于P2P的W leb搜索技術(shù)[J].軟件學報,2008(10):2706-2719.FANG Qi-ming,YANG Guang-wen,WU Yong-wei,et al.Wleb search technology based on P2P[J].Software,2008(10):2706-2719.
[4]吝春妮.基于混合P2P技術(shù)的遠程教學系統(tǒng)的設(shè)計 [J].網(wǎng)絡安全技術(shù)與應用,2013(7):5-6.LIN Chun-ni.Distance learning system designed hybrid P2P technology[J].Network-based Security Technologies and Applications,2013(7):5-6.
[5]金順福,王晨飛,尹春霞,等.混合P2P網(wǎng)絡中固定節(jié)點延遲修復策略的性能分析[J].小型微型計算機系統(tǒng),2014(6):1315-1319.JIN Shun-fu,WANG Chen-fei,YIN Chun-xia,et al.Hybrid P2P network latency repair strategy performance analysis of fixed nodes[J].Computer Systems,2014(6):1315-1319.
[6]王文宏,王鳳蕊,潘全科.基于P2P計算的教育資源庫共享系統(tǒng)設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2007,28(23):3130-3132.WANG Wen-hong,WANG Feng-rui,PAN Quan-ke.Based P2P computing general education resource library sharing system design and implementation[J].Computer Engineering and Design,2007,28(23):3130-3132.