P2p系統(tǒng)中查詢索引的方法、p2p服務器以及p2p服務器系統(tǒng)的制作方法
【專利摘要】本申請?zhí)峁┝艘环NP2P系統(tǒng)中查詢索引的方法、P2P服務器以及P2P服務器系統(tǒng),該方法包括:第一服務器接收來自客戶端的請求消息,并將請求消息轉發(fā)給第二服務器,其中,請求消息用于查詢索引;第一服務器接收來自第二服務器的響應消息,根據(jù)響應消息確定第二服務器中存儲有查詢的索引;第一服務器通知客戶端已查詢到索引。通過該方法,簡化了系統(tǒng)架構,節(jié)省了客戶端的信令流量。
【專利說明】P2P系統(tǒng)中查詢索引的方法、P2P服務器以及P2P服務器系統(tǒng)
【技術領域】
[0001]本申請涉及網(wǎng)絡【技術領域】,特別是涉及一種點對點(Peer to Peer,簡稱為P2P)系統(tǒng)中查詢索引的方法、P2P服務器以及P2P服務器系統(tǒng)。
【背景技術】
[0002]P2P也稱為對等連接,是一種新的通信模式,每個參與者都具有同等的能力,可以發(fā)起一個通信會話。
[0003]P2P通信系統(tǒng)包括:客戶端(Client)和服務器(Server)。其中,服務器包括負責連接功能的服務器(也稱為打洞服務器)和提供索引功能的服務器(也稱為索引服務器)。打洞服務器和索引服務器均與客戶端相連接。當用戶需要查詢索引時,客戶端分別需要先與打洞服務器和索引服務器相連接,然后再通過和索引服務器交互來查詢索引。
[0004]在上述查詢方法中,系統(tǒng)操作較為復雜。因此,需要本領域技術人員解決的一個技術問題就是:如何簡化P2P系統(tǒng)的管理。
【發(fā)明內(nèi)容】
[0005]本申請所要解決的技術問題是提供一種P2P系統(tǒng)中查詢索引的方法、P2P服務器以及P2P服務器系統(tǒng),能夠非常簡單的對P2P系統(tǒng)進行管理。
[0006]為了解決上述問題,本申請公開了一種點對點P2P系統(tǒng)中查詢索引的方法,包括:第一服務器接收來自客戶端的請求消息,并將請求消息轉發(fā)給第二服務器,其中,請求消息用于查詢索引;第一服務器接收來自第二服務器的響應消息,根據(jù)響應消息確定第二服務器中存儲有查詢的索引;第一服務器通知客戶端已查詢到索引。
[0007]優(yōu)選地,在第一服務器接收來自客戶端的請求消息之前,第一服務器接收來自客戶端的連接請求,建立與客戶端的連接。
[0008]優(yōu)選地,第一服務器是調(diào)度服務器為客戶端分配的。
[0009]優(yōu)選地,第一服務器為打洞服務器,第二服務器為索引服務器。
[0010]為了解決上述問題,本申請公開了一種P2P服務器,包括:接收模塊,用于接收來自客戶端的請求消息,請求消息用于查詢索引;發(fā)送模塊,用于將請求消息轉發(fā)給索引服務器;接收模塊還用于接收來自索引服務器的響應消息;確定模塊,用于根據(jù)響應消息確定索引服務器中存儲有查詢的索引;發(fā)送模塊還用于通知客戶端已查詢到索引。
[0011]優(yōu)選地,該P2P服務器還包括:接收模塊還用于在接收來自客戶端的請求消息之前,接收來自客戶端的連接請求;服務器還包括建立模塊,用于建立與客戶端的連接。
[0012]優(yōu)選地,P2P服務器是調(diào)度服務器為客戶端分配的。
[0013]為了解決上述問題,本申請公開了一種點對點P2P服務器系統(tǒng),包括:第一服務器,與客戶端相連接,用于接收來自客戶端的請求消息,并將請求消息轉發(fā)給第二服務器,其中,請求消息用于查詢索引;第二服務器,與第一服務器相連接,用于在接收到請求消息之后,確定第二服務器中存儲有查詢的索引,并向第一服務器發(fā)送響應消息;第一服務器還用于根據(jù)響應消息確定第二服務器中存儲有查詢的索引,并通知客戶端已查詢到索引。
[0014]優(yōu)選地,第一服務器還用于在接收來自客戶端的請求消息之前,接收來自客戶端的連接請求,建立與客戶端的連接。
[0015]優(yōu)選的,上述系統(tǒng)還包括調(diào)度服務器,用于為客戶端分配第一服務器。
[0016]與現(xiàn)有技術相比,本申請具有以下優(yōu)點:
[0017]現(xiàn)有技術中,打洞服務器和索引服務器分別與客戶端相連接,結構較為復雜,客戶端使用的邏輯信令也較多。通過本發(fā)明的上述方案,第二服務器通過第一服務器與客戶端相連接,簡化了系統(tǒng)結構,客戶端使用的邏輯信令明顯減少。
【專利附圖】
【附圖說明】
[0018]圖1是本申請一種P2P系統(tǒng)中查詢索引的方法的流程圖;
[0019]圖2是本申請另一種P2P系統(tǒng)中查詢索引的方法的流程圖;
[0020]圖3是本申請一種P2P服務器的結構框圖;
[0021]圖4是本申請一種優(yōu)選的P2P服務器的結構框圖;
[0022]圖5是本申請一種P2P服務器系統(tǒng)的結構框圖。
【具體實施方式】
[0023]為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本申請作進一步詳細的說明。
[0024]參照圖1,示出了本申請一種P2P系統(tǒng)中查詢索引的方法,包括:
[0025]步驟102,第一服務器接收來自客戶端的請求消息,并將該請求消息轉發(fā)給第二服務器,其中,該請求消息用于查詢索引;例如,該請求消息中攜帶有客戶端請求查詢的索引。
[0026]在本發(fā)明實施例的一種優(yōu)選的實現(xiàn)方式中,在步驟102之前,上述方法還包括:第一服務器接收來自客戶端的連接請求,響應于該請求,建立與客戶端之間的連接。
[0027]優(yōu)選的,第二服務器有多個,在接收到來自客戶端的請求消息時,第一服務器根據(jù)文件的描述符及哈希算法,直接確定去哪個第二服務器查詢,從而將該請求消息轉發(fā)給確定的那個第二服務器。
[0028]步驟104,第一服務器接收來自第二服務器的響應消息,根據(jù)響應消息確定第二服務器中存儲有查詢的索引;
[0029]優(yōu)選的,步驟104可以包括:
[0030]第一服務器接收到第二服務器的響應消息,即可確定第二服務器中存儲有查詢的索引。
[0031]步驟106,第一服務器將查詢結果轉發(fā)給客戶端,即,第一服務器通知客戶端查詢到該索引。
[0032]在本實施例中,索引服務器通過打洞服務器與客戶端相連接,簡化了系統(tǒng)結構,客戶端使用的邏輯信令明顯減少。
[0033]優(yōu)選地,第一服務器是調(diào)度服務器為客戶端分配的。
[0034]優(yōu)選地,第一服務器為打洞服務器,第二服務器為索引服務器。[0035]在本發(fā)明實施例中,索引的含義是指根據(jù)文件查找擁有這個文件的所有客戶端節(jié)點,是內(nèi)容相關的。
[0036]本實施例通過調(diào)整服務器的功能層次,將其分為打洞服務器和索引服務器,打洞服務器負責連接和協(xié)助穿透功能,從而保證連接和索引功能的分離。這樣方便系統(tǒng)管理。另夕卜,對于P2P軟件來說,客戶端的升級相對來說比服務器的升級難,服務器采用分層的設計后,客戶端可以只和第一服務器相連接,從而簡化客戶端的設計。簡化的客戶端設計可以減少相應的維護成本,保證了軟件的穩(wěn)定性,同時也提供了更大的靈活度。
[0037]本發(fā)明實施例還提供了一種P2P系統(tǒng)中查詢索引的方法,在本實施例的方法中,打洞服務器可以是上述實施例中的第一服務器,索引服務器可以是上述實施例中的第二服務器。如圖2所示,該方法包括:
[0038]步驟202,調(diào)度器為客戶端分配一個打洞服務器,并將分配到的打洞服務器通知給客戶端;例如,服務器向調(diào)度器發(fā)送連接請求,調(diào)度器為客戶分配一個打洞服務器,并將分配到的打洞服務器通知給客戶端。該步驟是可選的,客戶端也可以直接選擇一個打洞服務器進行連接。
[0039]步驟204,客戶端與打洞服務器進行連接。例如,客戶端可以向打洞服務器發(fā)送連接請求,打洞服務器確定可以與客戶端連接之后,建立與客戶端之間的連接,優(yōu)選的,打洞服務器收到連接請求,輔助穿透請求及保持連接請求之后,確定可以為客戶端提供相應的服務,則向客戶端返回響應,建立與客戶端之間的連接。
[0040]步驟206,客戶端向打洞服務器發(fā)送請求消息,該請求消息中攜帶有要查詢的索弓I。例如,用戶希望觀看視頻A,則向打洞服務器發(fā)送關于視頻A的索引。
[0041]步驟208,打洞服務器向索引服務器轉發(fā)該請求消息,例如,當收到關于查詢資源、刪除資源及更新資源的索引時,將該請求消息轉發(fā)給索引服務器。
[0042]步驟210,打洞服務器接收到索引服務器對該請求消息的反饋,據(jù)此回應客戶端。例如,用戶希望觀看視頻A,該請求消息攜帶有關于視頻A的索引,索引服務器I確定本地存儲了視頻A的索引,則向打洞服務器發(fā)送確認應答,打洞服務器通知客戶端已檢索到視頻A的索引,以便用戶觀看視頻A。優(yōu)選的,一個打洞服務器可以根據(jù)用戶要查詢的文件的描述符,連接不同的索引服務器,例如:用戶查詢視頻A,連接的是索引服務器1,索引服務器I中存儲有視頻A的索引;用戶查詢視頻B,可能連接到存儲有視頻B的索引的索引服務器2。
[0043]本實施例通過調(diào)整服務器的功能層次,將其分為打洞服務器和索引服務器,打洞服務器負責連接和協(xié)助穿透功能,從而保證連接和索引功能的分離。這樣方便系統(tǒng)管理。另夕卜,對于P2P軟件來說,客戶端的升級相對來說比服務器的升級難,服務器采用分層的設計后,客戶端可以只和第一服務器相連接,從而簡化客戶端的設計。簡化的客戶端設計可以減少相應的維護成本,保證了軟件的穩(wěn)定性,同時也提供了更大的靈活度。
[0044]本發(fā)明實施例還提供了一種P2P服務器,該P2P服務器可以作為第一服務器實現(xiàn)上述方法,因此,上述方法中的內(nèi)容可以結合到本實施例中。參照圖3,示出了本申請一種P2P服務器,該P2P服務器包括:
[0045]接收模塊302,用于接收來自客戶端的請求消息,該請求消息用于查詢索引;
[0046]發(fā)送模塊304,用于將該請求消息轉發(fā)給索引服務器;
[0047]接收模塊302還用于接收來自索引服務器的響應消息;[0048]確定模塊306,用于根據(jù)該響應消息確定索引服務器中存儲有查詢的索引;
[0049]發(fā)送模塊304還用于通知客戶端已檢索到該索引。
[0050]參照圖4,示出了本申請一種優(yōu)選的P2P服務器,在圖4所示的一個優(yōu)選實例中,接收模塊302還用于在接收來自客戶端的請求消息之前,接收來自客戶端的連接請求;服務器還包括建立模塊402,用于建立與客戶端的連接。
[0051]優(yōu)選地,P2P服務器是調(diào)度服務器為客戶端分配的。
[0052]本實施例通過調(diào)整服務器的功能層次,將其分為打洞服務器和索引服務器,打洞服務器負責連接和協(xié)助穿透功能,從而保證連接和索引功能的分離。這樣方便系統(tǒng)管理。另夕卜,對于P2P軟件來說,客戶端的升級相對來說比服務器的升級難,服務器采用分層的設計后,客戶端可以只和第一服務器相連接,從而簡化客戶端的設計。簡化的客戶端設計可以減少相應的維護成本,保證了軟件的穩(wěn)定性,同時也提供了更大的靈活度。
[0053]本發(fā)明實施例還提供了一種P2P服務器系統(tǒng),該P2P服務器系統(tǒng)中的第一服務器可以實現(xiàn)上述方法實施例中第一服務器的功能,該P2P服務器系統(tǒng)中的第二服務器可以實現(xiàn)上述方法實施例中第二服務器的功能,因此,上述方法中的內(nèi)容可以結合到本實施例中。參照圖5,示出了本申請一種P2P服務器系統(tǒng),該系統(tǒng)包括:
[0054]第一服務器502,與客戶端相連接,用于接收來自客戶端的請求消息,并將請求消息轉發(fā)給第二服務器504,其中,請求消息用于查詢索引;
[0055]第二服務器504,與第一服務器502相連接,用于在接收到請求消息之后,確定第二服務器504中存儲有查詢的索引,并向第一服務器502發(fā)送響應消息;
[0056]第一服務器502還用于根據(jù)響應消息確定第二服務器504中存儲有查詢的索引,并通知客戶端已檢索到該索引。
[0057]優(yōu)選地,第一服務器502還用于在接收來自客戶端的請求消息之前,接收來自客戶端的連接請求,建立與客戶端的連接。
[0058]可選地,上述系統(tǒng)還包括調(diào)度服務器,用于為客戶端分配第一服務器。
[0059]本實施例通過調(diào)整服務器的功能層次,將其分為打洞服務器和索引服務器,打洞服務器負責連接和協(xié)助穿透功能,從而保證連接和索引功能的分離。這樣方便系統(tǒng)管理。另夕卜,對于P2P軟件來說,客戶端的升級相對來說比服務器的升級難,服務器采用分層的設計后,客戶端可以只和第一服務器相連接,從而簡化客戶端的設計。簡化的客戶端設計可以減少相應的維護成本,保證了軟件的穩(wěn)定性,同時也提供了更大的靈活度。
[0060]本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于系統(tǒng)實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0061]以上對本申請所提供的一種P2P系統(tǒng)中查詢索引的方法、P2P服務器以及P2P服務器系統(tǒng),進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本申請的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本申請的限制。
【權利要求】
1.一種點對點P2P系統(tǒng)中查詢索引的方法,其特征在于,包括: 第一服務器接收來自客戶端的請求消息,并將所述請求消息轉發(fā)給第二服務器,其中,所述請求消息用于查詢索引; 所述第一服務器接收來自所述第二服務器的響應消息,根據(jù)所述響應消息確定所述第二服務器中存儲有所述查詢的索引; 所述第一服務器通知所述客戶端已查詢到所述索引。
2.根據(jù)權利要求1所述的方法,其特征在于,在第一服務器接收來自客戶端的請求消息之前,所述方法還包括: 所述第一服務器接收來自所述客戶端的連接請求,建立與所述客戶端的連接。
3.根據(jù)權利要求1所述的方法,其特征在于,所述第一服務器是調(diào)度服務器為所述客戶端分配的。
4.根據(jù)權利要求1至3中任一項所述的服務器,其特征在于,所述第一服務器為打洞服務器,所述第二服務器為索引服務器。
5.—種P2P服務器,其特征在于,包括: 接收模塊,用于接收來自客戶端的請求消息,所述請求消息用于查詢索引; 發(fā)送模塊,用于將所述請求消息轉發(fā)給索引服務器; 所述接收模塊還用于接收來自所述索引服務器的響應消息; 確定模塊,用于根據(jù)所述響應消息確定所述索引服務器中存儲有所述查詢的索引; 所述發(fā)送模塊還用于通知所述客戶端已查詢到所述索引。
6.根據(jù)權利要求5所述的P2P服務器,其特征在于,包括: 所述接收模塊還用于在接收來自所述客戶端的請求消息之前,接收來自所述客戶端的連接請求; 所述服務器還包括建立模塊,用于建立與所述客戶端的連接。
7.根據(jù)權利要求5或6所述的P2P服務器,其特征在于,所述P2P服務器是調(diào)度服務器為所述客戶端分配的。
8.一種點對點P2P服務器系統(tǒng),其特征在于,包括: 第一服務器,與客戶端相連接,用于接收來自所述客戶端的請求消息,并將所述請求消息轉發(fā)給第二服務器,其中,所述請求消息用于查詢索引; 所述第二服務器,與所述第一服務器相連接,用于在接收到所述請求消息之后,確定所述第二服務器中存儲有所述查詢的索引,并向所述第一服務器發(fā)送響應消息; 所述第一服務器還用于根據(jù)所述響應消息確定所述第二服務器中存儲有所述查詢的索引,并通知所述客戶端已查詢到所述索引。
9.根據(jù)權利要求8所述的系統(tǒng),其特征在于,所述第一服務器還用于在接收來自所述客戶端的請求消息之前,接收來自所述客戶端的連接請求,建立與所述客戶端的連接。
10.根據(jù)權利要求8或9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括調(diào)度服務器,用于為所述客戶端分配所述第一服務器。
【文檔編號】H04L29/08GK103701885SQ201310701430
【公開日】2014年4月2日 申請日期:2013年12月18日 優(yōu)先權日:2013年12月18日
【發(fā)明者】龐小飛 申請人:北京奇藝世紀科技有限公司