衛(wèi)思瑜
(陜西職業(yè)技術(shù)學(xué)院 陜西 西安 710100)
網(wǎng)絡(luò)教學(xué)系統(tǒng)是建立在因特網(wǎng)或者校園網(wǎng)絡(luò)上的一種虛擬的教育教學(xué)的環(huán)境,通過該平臺(tái)可實(shí)現(xiàn)授課、交流、資源共享和自主學(xué)習(xí)等方面的功能。網(wǎng)絡(luò)教學(xué)已經(jīng)成為當(dāng)前我高校教育教學(xué)改革的重要方式,并被應(yīng)用在各個(gè)課程教育中。當(dāng)前大多數(shù)的網(wǎng)絡(luò)教學(xué)輔助系統(tǒng)通常采用B/S或者是C/S的訪問模式,其中教育教學(xué)資通常集中在系統(tǒng)的服務(wù)器端,各用戶PC端不能實(shí)現(xiàn)對學(xué)習(xí)資源的交換。通過這樣的方式雖然可滿足課堂的需要,但是還是存在以下幾方面的問題:第一,單點(diǎn)故障問題。由于學(xué)習(xí)資源為服務(wù)器端提供,一旦服務(wù)器端出現(xiàn)問題,則該系統(tǒng)無法運(yùn)行;第二,成本高昂。為更好的滿足系統(tǒng)的需求,需要架構(gòu)各種不同的教學(xué)服務(wù),同時(shí)隨著客戶端的增加,對服務(wù)器和數(shù)據(jù)方面都提出了更高的要求;第三,擴(kuò)展性差。當(dāng)用戶在增多的情況下,需要增加昂貴的服務(wù)器的數(shù)量來提供更為穩(wěn)定的服務(wù)。對此,針對上述對問題,本文提出一種基于P2P模式的教學(xué)輔助教學(xué)系統(tǒng),并以思政課程為例對系統(tǒng)實(shí)現(xiàn)進(jìn)行了研究。
P2P技術(shù)作為一種應(yīng)用技術(shù)是在上個(gè)世紀(jì)的90年代被人們所提出,其主要是利用整個(gè)網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行對等的計(jì)算,從而可充分的挖掘出該網(wǎng)絡(luò)中存在的空間資源,并在容錯(cuò)性、利用率和擴(kuò)展性等方面都具備很大的優(yōu)勢。第一代的P2P是以Napster作為代表,通過利用中央服務(wù)器的方式對索引的資源進(jìn)行保存。但因?yàn)槠浯嬖趩吸c(diǎn)問題,在改進(jìn)后采用分布式結(jié)構(gòu),但需要通過采用泛洪的方式才能進(jìn)行通信,耗費(fèi)大量的網(wǎng)絡(luò)資源;第二代則以DHT為代表,旨在通過構(gòu)筑結(jié)構(gòu)化的P2P網(wǎng)絡(luò),實(shí)現(xiàn)對資源的的精確定位和查詢。當(dāng)前針對P2P的研究在主要集中在基于拓?fù)淦ヅ涞木W(wǎng)絡(luò)建構(gòu)方面,希望通過物理網(wǎng)絡(luò)來改善整體P2P的性能。
在P2P模式中,JXTA作為SUN公司所開發(fā)的一個(gè)開放式的編程平臺(tái),主要分為三層:核心層、服務(wù)層和應(yīng)用層。其中核心層主要包括所需服務(wù)的核心的功能;服務(wù)層則主要為用戶提供訪問JXTA協(xié)議的接口,該協(xié)議主要由6個(gè)組成:1)Peer Discovery Protocol(PDP):節(jié)點(diǎn)發(fā)現(xiàn)協(xié)議,主要用在對節(jié)點(diǎn)資源的發(fā)現(xiàn);2)Peer Information Protocol(PIP):節(jié)點(diǎn)信息協(xié)議, 主要用于對節(jié)點(diǎn)狀態(tài)的獲取;3)Pipe Binding Protocol(PBP):管道綁定協(xié)議,用于構(gòu)建節(jié)點(diǎn)間的虛擬管道;4)Endpoint Routing Protocol(ERP):端點(diǎn)路由協(xié)議,用于節(jié)點(diǎn)間的路由路徑發(fā)現(xiàn);5)Rendezvous Protocol(RVP):匯聚點(diǎn)協(xié)議,用于節(jié)點(diǎn)成為組播協(xié)議的發(fā)布者。 6)Peer Resolver Protocol(PRP):節(jié)點(diǎn)解析協(xié)議,用于對節(jié)點(diǎn)的查詢/回應(yīng)消息的解析。由此通過上述6個(gè)組成部的共同協(xié)作,從而完成對P2P網(wǎng)絡(luò)當(dāng)中節(jié)點(diǎn)的發(fā)現(xiàn)、監(jiān)控和交流;應(yīng)用層主要提供訪問服務(wù)層的接口和對JXTA網(wǎng)絡(luò)的構(gòu)建。
文中以思政課程為例,在構(gòu)建該教學(xué)系統(tǒng)之后,思政課程學(xué)習(xí)者可通過視頻點(diǎn)播的方式實(shí)現(xiàn)對視頻資源的流暢觀看,并借助文件共享的功能實(shí)現(xiàn)對資源的下載。如果學(xué)生在學(xué)習(xí)思政課程的問題中遇到相關(guān)的問題,可通過該系統(tǒng)的交流功能實(shí)現(xiàn)和老師的交流。同時(shí)在借助現(xiàn)代P2P網(wǎng)絡(luò)發(fā)展模式,本文采用P2P混合網(wǎng)絡(luò),該網(wǎng)絡(luò)是傳統(tǒng)P2P模式的改進(jìn)版,用公式表示則為。該模式的工作方式為:第一步,用戶下載安裝客戶端,向軟件服務(wù)器發(fā)出去下載的請求;第二步,在互聯(lián)網(wǎng)上檢索相關(guān)的資源,當(dāng)服務(wù)器在發(fā)現(xiàn)匹配資源之后,將該信息記錄到數(shù)據(jù)庫當(dāng)中;第三步,對資源進(jìn)行優(yōu)化,如服務(wù)器聽到資源有限或者是在用戶所處的局域網(wǎng)內(nèi),及可采用P2P技術(shù);第四步:如不存在上述的第三步情況,則采用P2S模式,返回資源信息給用戶;第五步:在P2P網(wǎng)絡(luò)中的所有的資源可同時(shí)下載,包括鏡像服務(wù)器、互聯(lián)網(wǎng)上的用戶。這種模式以當(dāng)前使用比較流行的迅雷軟件作為代表,其優(yōu)點(diǎn)在于通過客戶PC端即可實(shí)現(xiàn)發(fā)出資源搜索指令;中央服務(wù)器結(jié)合PC指令可實(shí)現(xiàn)無邊界搜索;可根據(jù)實(shí)際情況選擇P2S或P2P模式。對此,該系統(tǒng)結(jié)構(gòu)具體見圖1所示。
圖1 系統(tǒng)架構(gòu)Fig.1 System architecture diagram
通過圖1可以看出,通過目錄服務(wù)器對該系統(tǒng)中節(jié)點(diǎn)的統(tǒng)一的管理,從而有效的縮短了對節(jié)點(diǎn)資源的發(fā)現(xiàn)和定位時(shí)間。而各個(gè)節(jié)點(diǎn)則根據(jù)目錄服務(wù)器獲取的節(jié)點(diǎn)信息,根據(jù)歷史的記錄自動(dòng)的對相關(guān)的請求進(jìn)行調(diào)整。而目錄服務(wù)器則作為該系統(tǒng)控制的核心,通過組織不同的內(nèi)容服務(wù)器,為客戶端提供服務(wù),同時(shí)組織多個(gè)不同的客戶端間的交互節(jié)點(diǎn)信息,使得在該系統(tǒng)中的客戶端能夠獲取內(nèi)容服務(wù)器和其他客戶端的情況。內(nèi)容服務(wù)器則從視頻源當(dāng)中獲取相應(yīng)的思政課程數(shù)據(jù),以此響應(yīng)客戶端的文件/視頻源內(nèi)容數(shù)據(jù)獲取請求。當(dāng)內(nèi)容服務(wù)器啟動(dòng)的時(shí)候,將其搜索到的視頻資源全部傳遞給目錄服務(wù)器。而目錄服務(wù)器則記錄內(nèi)容服務(wù)器搜索到的每個(gè)資源信息,以此提供目錄索引服務(wù)??蛻舳藙t通過系統(tǒng)前端的獲取需要觀看的思政課資源或思政課程文件的url地址。在客戶端得到該文件地址后,與目錄服務(wù)器建立相關(guān)的連接,通過P2P協(xié)議從內(nèi)容服務(wù)器獲取相關(guān)的文件內(nèi)容數(shù)據(jù)。
對該系統(tǒng)的設(shè)計(jì)主要包括客戶端和服務(wù)器端。其中服務(wù)器端包括資源的發(fā)布、更新、刪除;管理員登陸;用戶管理;數(shù)據(jù)庫服務(wù)器;流媒體服務(wù)器等功能。同時(shí)針對純P2P當(dāng)中相關(guān)思政課程文件資源不容易管理和容易中斷的問題,通過設(shè)置網(wǎng)頁服務(wù)器的方式用于對文件的存放;客戶端則主要包括視頻點(diǎn)播、資源共享與下載;登陸、注冊等功能(見圖2)。
圖2 客戶端功能設(shè)計(jì)Fig.2 Client functional design
基于P2P混合技術(shù)的用戶點(diǎn)播流程設(shè)計(jì)則如圖3所示。
圖3 視頻點(diǎn)播實(shí)現(xiàn)流程Fig.3 VOD implementation process
其具體的流程為:
1)用戶登錄到P2P服務(wù)器端;
2)將P2P視頻點(diǎn)播的內(nèi)容發(fā)布到服務(wù)的網(wǎng)頁,在找到用戶所需的相關(guān)思政課程資源,如馬克思哲學(xué)、馬克思經(jīng)濟(jì)學(xué)等視頻資源之后,P2P流媒體客戶端程序?qū)υ撘曨l資源進(jìn)行唯一的標(biāo)識,以區(qū)別其他的視頻。
3)點(diǎn)播系統(tǒng)連接資源管理服務(wù)器,通過唯一的標(biāo)識找到該內(nèi)容節(jié)點(diǎn)的資源列表,并通過該內(nèi)容節(jié)點(diǎn)的屬性(如客戶端ID號,IP地址等)對內(nèi)容節(jié)點(diǎn)進(jìn)行調(diào)度。
4)在收到內(nèi)容服務(wù)器和響應(yīng)的節(jié)點(diǎn)間的連接之后,通過Socket連接將視頻資源通過緩沖的方式進(jìn)行存儲(chǔ)。其具體實(shí)現(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)思政課程視頻的同時(shí),將視頻資源存儲(chǔ)到客戶端本地存儲(chǔ)當(dāng)中,并不間斷的與資源管理器匯報(bào)視頻資源存儲(chǔ)的情況。
通過對該系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)了對視頻點(diǎn)播資源系統(tǒng)的實(shí)現(xiàn),通過該系統(tǒng),用戶通過對內(nèi)容的搜索,即可實(shí)現(xiàn)對思政課程視頻資源的點(diǎn)播。同時(shí)當(dāng)該系統(tǒng)在運(yùn)行一段時(shí)間后,其傳輸速度與傳統(tǒng)的C/S或者B/S模式都有著較大的提高,具有一定的實(shí)用性和推廣性。
[1]黃海,龐濤,武娟.P2P網(wǎng)絡(luò)技術(shù)研究現(xiàn)狀與展望[J].計(jì)算機(jī)科學(xué),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)絡(luò)引擎的設(shè)計(jì) [J].北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),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].軟件學(xué)報(bào),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ù)的遠(yuǎn)程教學(xué)系統(tǒng)的設(shè)計(jì) [J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,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)絡(luò)中固定節(jié)點(diǎn)延遲修復(fù)策略的性能分析[J].小型微型計(jì)算機(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計(jì)算的教育資源庫共享系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),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.