操作指令。
[0030]所述服務(wù)器判斷自身狀態(tài)還包括:
在自身狀態(tài)為不活躍的情況下,調(diào)用預(yù)先存儲的hash函數(shù)查找到預(yù)先存儲的且與所述報文相匹配的資源塊,根據(jù)所述資源塊和報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件。
[0031]所述服務(wù)器根據(jù)所述報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件還包括:
在存在所述種子文件的情況下,發(fā)送所述種子文件。
[0032]所述查找與種子文件請求報文相匹配的種子文件還包括:
在未找到種子文件的情況下,所述服務(wù)器自動執(zhí)行預(yù)先存儲的釋放該報文請求的操作指令。
[0033]根據(jù)本發(fā)明的另一方面,提供了一種基于AP的P2P傳輸系統(tǒng),該基于AP的P2P傳輸系統(tǒng)包括: 接收報文模塊,用于通過預(yù)先設(shè)置的服務(wù)器并采用預(yù)先配置的握手協(xié)議接收報文,根據(jù)所述握手協(xié)議判斷報文的正確性;
狀態(tài)監(jiān)測模塊,用于在判斷結(jié)果為報文正確的情況下,所述服務(wù)器判斷自身狀態(tài);文件查找模塊,用于在自身狀態(tài)為活躍的情況下,所述服務(wù)器根據(jù)所述報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件;
請求報文發(fā)送模塊,用于在不存在所述種子文件的情況下,發(fā)送預(yù)先設(shè)置的與種子文件相匹配的種子文件請求報文;
接收存儲模塊,用于通過預(yù)先設(shè)置的服務(wù)器接收所述種子文件請求報文,并將所述種子文件報文存儲在預(yù)先設(shè)置的中間管道內(nèi);
文件讀取查找模塊,用于讀取預(yù)先存儲在中間管道內(nèi)的信息并根據(jù)所述種子文件請求報文,查找與種子文件請求報文相匹配的種子文件;
文件發(fā)送模塊,用于在找到種子文件的情況下,將所述種子文件信息發(fā)送至管道; 接收反饋模塊,用于所述管道接收所述種子文件,并向用戶端發(fā)送所述種子文件。
[0034]根據(jù)所述握手協(xié)議判斷報文的正確性還包括:
程序釋放模塊,用于在判斷結(jié)果為報文錯誤的情況下,所述服務(wù)器執(zhí)行預(yù)先存儲的釋放該報文請求的操作指令。
[0035]所述服務(wù)器判斷自身狀態(tài)還包括:
函數(shù)調(diào)用模塊,用于在自身狀態(tài)為不活躍的情況下,調(diào)用預(yù)先存儲的hash函數(shù)查找到預(yù)先存儲的且與所述報文相匹配的資源塊,根據(jù)所述資源塊和報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件。
[0036]所述服務(wù)器根據(jù)所述報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件還包括:
文件發(fā)送子模塊,用于在存在所述種子文件的情況下,發(fā)送所述種子文件。
[0037]所述查找與種子文件請求報文相匹配的種子文件還包括:
釋放程序子模塊,用于在未找到種子文件的情況下,所述服務(wù)器自動執(zhí)行預(yù)先存儲的釋放該報文請求的操作指令。
[0038]具體應(yīng)用時,本發(fā)明中還包括內(nèi)容文件傳輸流程,而所述內(nèi)容文件傳輸流程與種子文件傳輸流程一致,均采用管道處理模式。
[0039]另外,如圖3-4所示,本系統(tǒng)中的結(jié)構(gòu)包括SOURCE,而所述SOURCE包括種子文件和可傳輸文件,通過管道做緩沖,并開辟單獨(dú)線程處理磁盤到管道的傳輸,隨后從管道中獲取請求報文或回復(fù)報文,傳送給peer。而具體的文件傳輸過程是從磁盤復(fù)制至請求或應(yīng)答結(jié)構(gòu)體中,之后復(fù)制至管道中,再從管道復(fù)制到socket隊列發(fā)送至請求或應(yīng)答peer,并且在文件傳輸時,可以根據(jù)文件的特點設(shè)置傳輸任務(wù)的優(yōu)先等級,使得系統(tǒng)可以根據(jù)不同的優(yōu)先等級進(jìn)行相對應(yīng)的處理,可以有效的提高傳輸效率。
[0040]此外,本發(fā)明中還包括釋放程序操作,具體操作時運(yùn)用三種以上的刪除方法,及時刪除傳輸完成節(jié)點/無連接節(jié)點/超時未傳輸完成節(jié)點/無資源節(jié)點。
[0041]另外,本發(fā)明中還增加預(yù)判函數(shù),判斷某個傳輸任務(wù)是否可被執(zhí)行,以減少額外的傳輸任務(wù),有效的提高了系統(tǒng)運(yùn)行的穩(wěn)定性和可靠性。
[0042]最后,本發(fā)明運(yùn)用雙向鏈表管理鄰居節(jié)點;配置中間管道,做為緩沖,結(jié)合私有協(xié)議,減少了傳輸時間。
[0043]綜上所述,借助于本發(fā)明的上述技術(shù)方案,相對于現(xiàn)有技術(shù),本發(fā)明具有以下優(yōu)占.V.1、多線程處理磁盤讀寫任務(wù)鏈,將單任務(wù)整合成多任務(wù),可集中處理大量磁盤讀寫任務(wù),分離磁盤1操作和socket傳輸操作,將磁盤讀寫時間與網(wǎng)絡(luò)傳輸時間并行化,設(shè)磁盤讀寫時間為m,網(wǎng)絡(luò)傳輸時間為n,則將原來的m+n變?yōu)閚 (m>n);
2、超時檢查機(jī)制去除了無效任務(wù),三種刪除操作節(jié)省內(nèi)存占用空間;
3、鄰居節(jié)點的管理方式為雙向鏈表結(jié)構(gòu),是單向鏈表查找效率的2倍,內(nèi)存增加為0(1)數(shù)量級;
4、預(yù)判函數(shù)和任務(wù)等級劃分借鑒了cpu任務(wù)處理模式,類型1/4的有效報文得到優(yōu)先傳送,可占報文總數(shù)的62%以上。
[0044]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項】
1.一種基于AP的P2P傳輸方法,其特征在于,包括以下步驟: 通過預(yù)先設(shè)置的服務(wù)器并采用預(yù)先配置的握手協(xié)議接收報文,根據(jù)所述握手協(xié)議判斷報文的正確性; 在判斷結(jié)果為報文正確的情況下,所述服務(wù)器判斷自身狀態(tài); 在自身狀態(tài)為活躍的情況下,所述服務(wù)器根據(jù)所述報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件; 在不存在所述種子文件的情況下,發(fā)送預(yù)先設(shè)置的與種子文件相匹配的種子文件請求報文; 通過預(yù)先設(shè)置的服務(wù)器接收所述種子文件請求報文,并將所述種子文件報文存儲在預(yù)先設(shè)置的中間管道內(nèi); 讀取預(yù)先存儲在中間管道內(nèi)的信息并根據(jù)所述種子文件請求報文,查找與種子文件請求報文相匹配的種子文件; 在找到種子文件的情況下,將所述種子文件信息發(fā)送至管道; 所述管道接收所述種子文件,并向用戶端發(fā)送所述種子文件。
2.根據(jù)權(quán)利要求1所述的基于AP的P2P傳輸方法,其特征在于,根據(jù)所述握手協(xié)議判斷報文的正確性還包括: 在判斷結(jié)果為報文錯誤的情況下,所述服務(wù)器執(zhí)行預(yù)先存儲的釋放該報文請求的操作指令。
3.根據(jù)權(quán)利要求1所述的基于AP的P2P傳輸方法,其特征在于,所述服務(wù)器判斷自身狀態(tài)還包括: 在自身狀態(tài)為不活躍的情況下,調(diào)用預(yù)先存儲的hash函數(shù)查找到預(yù)先存儲的且與所述報文相匹配的資源塊,根據(jù)所述資源塊和報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件。
4.根據(jù)權(quán)利要求1所述的基于AP的P2P傳輸方法,其特征在于,所述服務(wù)器根據(jù)所述報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件還包括: 在存在所述種子文件的情況下,發(fā)送所述種子文件。
5.根據(jù)權(quán)利要求1所述的基于AP的P2P傳輸方法,其特征在于,所述查找與種子文件請求報文相匹配的種子文件還包括: 在未找到種子文件的情況下,所述服務(wù)器自動執(zhí)行預(yù)先存儲的釋放該報文請求的操作指令。
6.一種基于AP的P2P傳輸系統(tǒng),其特征在于,包括: 接收報文模塊,用于通過預(yù)先設(shè)置的服務(wù)器并采用預(yù)先配置的握手協(xié)議接收報文,根據(jù)所述握手協(xié)議判斷報文的正確性; 狀態(tài)監(jiān)測模塊,用于在判斷結(jié)果為報文正確的情況下,所述服務(wù)器判斷自身狀態(tài);文件查找模塊,用于在自身狀態(tài)為活躍的情況下,所述服務(wù)器根據(jù)所述報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件; 請求報文發(fā)送模塊,用于在不存在所述種子文件的情況下,發(fā)送預(yù)先設(shè)置的與種子文件相匹配的種子文件請求報文; 接收存儲模塊,用于通過預(yù)先設(shè)置的服務(wù)器接收所述種子文件請求報文,并將所述種子文件報文存儲在預(yù)先設(shè)置的中間管道內(nèi); 文件讀取查找模塊,用于讀取預(yù)先存儲在中間管道內(nèi)的信息并根據(jù)所述種子文件請求報文,查找與種子文件請求報文相匹配的種子文件; 文件發(fā)送模塊,用于在找到種子文件的情況下,將所述種子文件信息發(fā)送至管道; 接收反饋模塊,用于所述管道接收所述種子文件,并向用戶端發(fā)送所述種子文件。
7.根據(jù)權(quán)利要求6所述的基于AP的P2P傳輸系統(tǒng),其特征在于,根據(jù)所述握手協(xié)議判斷報文的正確性還包括: 程序釋放模塊,用于在判斷結(jié)果為報文錯誤的情況下,所述服務(wù)器執(zhí)行預(yù)先存儲的釋放該報文請求的操作指令。
8.根據(jù)權(quán)利要求6所述的基于AP的P2P傳輸系統(tǒng),其特征在于,所述服務(wù)器判斷自身狀態(tài)還包括: 函數(shù)調(diào)用模塊,用于在自身狀態(tài)為不活躍的情況下,調(diào)用預(yù)先存儲的hash函數(shù)查找到預(yù)先存儲的且與所述報文相匹配的資源塊,根據(jù)所述資源塊和報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件。
9.根據(jù)權(quán)利要求6所述的基于AP的P2P傳輸系統(tǒng),其特征在于,所述服務(wù)器根據(jù)所述報文信息判斷是否存在預(yù)先存儲的與所述報文信息相匹配的種子文件還包括: 文件發(fā)送子模塊,用于在存在所述種子文件的情況下,發(fā)送所述種子文件。
10.根據(jù)權(quán)利要求6所述的基于AP的P2P傳輸系統(tǒng),其特征在于,所述查找與種子文件請求報文相匹配的種子文件還包括: 釋放程序子模塊,用于在未找到種子文件的情況下,所述服務(wù)器自動執(zhí)行預(yù)先存儲的釋放該報文請求的操作指令。
【專利摘要】本發(fā)明公開了一種基于AP的P2P傳輸方法,包括通過服務(wù)器并采用握手協(xié)議接收報文,根據(jù)握手協(xié)議判斷報文的正確性;在判斷結(jié)果為報文正確時,服務(wù)器判斷自身狀態(tài);在自身狀態(tài)為活躍時,服務(wù)器根據(jù)報文信息判斷是否存在與報文信息種子文件;在不存在種子文件時,發(fā)送種子文件請求報文;通過服務(wù)器接收種子文件請求報文,并將種子文件報文存儲在中間管道內(nèi);讀取在中間管道內(nèi)的信息并根據(jù)種子文件請求報文,查找種子文件;在找到種子文件時,將種子文件信息發(fā)送至管道;管道接收種子文件,并向用戶端發(fā)送種子文件。本發(fā)明的有益效果為:采用管道傳輸技術(shù)、循環(huán)鏈表鄰居技術(shù)及事件驅(qū)動組合的方法,有效提高了文件傳輸?shù)木群托省?br>【IPC分類】H04L29-08
【公開號】CN104539728
【申請?zhí)枴緾N201510020819
【發(fā)明人】龍峻, 白帆, 袁洪, 王彥青
【申請人】北京國創(chuàng)富盛通信股份有限公司
【公開日】2015年4月22日
【申請日】2015年1月15日