本發(fā)明屬于領域p2p交互技術領域,特別涉及一種網絡節(jié)點篩選方法及系統(tǒng)。
背景技術:
p2p學名對等網絡(peer-to-peernetworking)或對等計算(peer-to-peercomputing),常譯為“點對點”或者“端對端”,意為網絡的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲能力、網絡連接能力、打印機等),這些共享資源通過網絡提供服務和內容,能被其它對等節(jié)點(peer)直接訪問而無需經過中間實體。在此網絡中的參與者既是資源、服務和內容的提供者,又是資源、服務和內容的獲取者。
在p2p網絡環(huán)境中,彼此連接的多臺計算機之間都處于對等的地位,各臺計算機有相同的功能,無主從之分,一臺計算機既可作為服務器,設定共享資源供網絡中其他計算機所使用,又可以作為工作站,整個網絡一般來說不依賴專用的集中服務器,也沒有專用的工作站。網絡中的每一臺計算機既能充當網絡服務的請求者,又對其它計算機的請求做出響應,提供資源、服務和內容。通常這些資源和服務包括:信息的共享和交換、計算資源(如cpu計算能力共享)、存儲共享(如緩存和磁盤空間的使用)、網絡共享、打印機共享等。因此,網絡中節(jié)點的選取方式成為p2p過程的重要技術問題。
授權公告號為cn103368903b的發(fā)明專利公開了一種候選節(jié)點選取方法、系統(tǒng)及索引服務器,根據節(jié)點的生存時間將網絡中的節(jié)點劃分為若干群,并從相應的群中選擇候選節(jié)點。這一方式可以降低檢索的工作量,但同時也降低了檢索的準確性。因此開發(fā)出一種新型的節(jié)點篩選方法,在控制檢索工作量的同時保證檢索的準確性,成為本領域與技術人員急需解決的技術問題。
技術實現要素:
為了解決上述技術問題,本發(fā)明提供了一種網絡節(jié)點篩選方法及系統(tǒng)。
本發(fā)明具體技術方案如下:
本發(fā)明一方面提供了一種網絡節(jié)點篩選方法,包括如下步驟:
s1:請求節(jié)點向服務器發(fā)送交互節(jié)點獲取請求,所述交互節(jié)點獲取請求中包括至少兩項選擇條件;
s2:服務器對所述交互節(jié)點獲取請求進行分析,提取出所述請求節(jié)點對交互節(jié)點的選擇條件,并設定節(jié)點篩選的數量閾值;
s3:根據所述選擇條件,從當前網絡中獲取所有可用節(jié)點,并從中選擇不超過所述數量閾值的可用節(jié)點作為候選節(jié)點,并生成候選節(jié)點列表;
s4:所述請求節(jié)點選擇所述候選節(jié)點列表內任一候選節(jié)點作為交互節(jié)點,進行信息交互,并對交互記錄進行備份。
進一步地,所述步驟s1中還包括如下步驟:對所述選擇條件按照重要性由高到低進行排序。
進一步地,所述步驟s3包括如下步驟:
s3.1:獲取網絡中所有能與所述請求節(jié)點連接的可用節(jié)點;
s3.2:當所述可用節(jié)點的數量低于所述數量閾值的下限時,按照重要性由低到高關閉至少一項選擇條件,擴大選擇范圍,重新獲取網絡中的可用節(jié)點作為候選節(jié)點;
s3.3:當所述可用節(jié)點的數量高于所述數量閾值的上限時,從所有可用節(jié)點中選取不超過所述數量閾值上限的可用節(jié)點作為候選節(jié)點;
s3.4:根據獲得的候選節(jié)點,生成候選節(jié)點列表。
進一步地,所述步驟s3.2的具體方法如下:
當所述可用節(jié)點的數量低于所述數量閾值的下限時,關閉重要性最低的一項選擇條件,重新獲取網絡中的可用節(jié)點;如此時獲得的可用節(jié)點的數量仍低于所述數量閾值的下限,則繼續(xù)關閉余下選擇條件中重要性最低的一項,重新獲取網絡中的可用節(jié)點;以此類推,直到所述可用節(jié)點的數量高于所述數量閾值的下限,將此時的可用節(jié)點作為候選節(jié)點,并生成候選節(jié)點列表;
所述步驟s3.3的具體方法如下:
當開啟了所有選擇條件時,如果所述可用節(jié)點的數量仍高于所述數量閾值的上限,則根據獲取時間先后選取不超過所述數量閾值上限的可用節(jié)點作為候選節(jié)點并生成候選節(jié)點列表;如果所述請求節(jié)點仍然請求獲取候選節(jié)點,則從剩余可用節(jié)點中繼續(xù)選取不超過所述數量閾值上限的可用節(jié)點;以此類推,直到所述請求節(jié)點不再發(fā)送候選節(jié)點獲取請求。
進一步地,所述步驟s3還包括如下步驟:
對所述候選節(jié)點列表的使用時間進行設定,候選節(jié)點列表在請求節(jié)點開啟狀態(tài)下、超過設定時間而未被調用時,即修改篩選條件進行重新篩選。
進一步地,所述方法還包括如下步驟:
s5:當有候選節(jié)點關閉或請求退出所述候選節(jié)點列表時,所述服務器對該候選節(jié)點進行標記,保留其加入所述候選節(jié)點列表的記錄,再對該候選節(jié)點進行刪除。
本發(fā)明另一方面提供了一種網絡節(jié)點篩選系統(tǒng),包括如下部分:
服務器,用接收請求節(jié)點發(fā)送的交互節(jié)點獲取請求并進行分析,提取出所述請求節(jié)點對交互節(jié)點的選擇條件,并設定節(jié)點篩選的數量閾值;
篩選單元,用于根據所述選擇條件,獲取網絡中所有符合條件的可用節(jié)點,并選擇不超過所述數量閾值的可用節(jié)點,作為候選節(jié)點;
列表管理單元,用于根據所述候選節(jié)點生成候選節(jié)點列表并進行管理;
存儲器,用于對生成的候選節(jié)點列表進行存儲,并對請求節(jié)點和候選節(jié)點的信息交互情況進行記錄。
進一步地,所述篩選單元包括如下部分:
查找模塊,用于根據所述選擇條件查找網絡中所有符合條件的可用節(jié)點,并將獲得的可用節(jié)點作為候選節(jié)點;
節(jié)點數量判斷模塊,用于對得到的可用節(jié)點的數量與所述數量閾值進行比較,判斷是否需要對可用節(jié)點進行重新選擇,
選擇條件管理模塊,用于對所述選擇條件進行管理,當需要重新選擇可用節(jié)點時,則對選擇條件進行調整,并通知所述查找模塊重新進行選擇。
進一步地,所述列表管理單元包括如下部分:
節(jié)點列表生成模塊,用于根據所述篩選單元提供的候選節(jié)點生成候選節(jié)點列表;
時間管理模塊,用于對所述候選節(jié)點列表的工作時間進行設定和監(jiān)控。
進一步地,所述系統(tǒng)還包括如下部分:
標記模塊,用于對退出所述候選節(jié)點列表的候選節(jié)點添加標記;
識別模塊,用于對所述候選節(jié)點列表之外的可用節(jié)點上的標記進行識別,并報告給所述服務器。
本發(fā)明的有益效果如下:本發(fā)明提供了一種網絡節(jié)點篩選方法及系統(tǒng),通過設置節(jié)點篩選的數量閾值來縮小選擇的范圍,利用上限閾值和下限閾值,既能保證為請求節(jié)點提供足夠的選擇余地、又能避免過大的范圍給篩選工作增加難度;請求節(jié)點設置至少兩項選擇條件,既能對篩選的要求做進一步細化,又能在可用節(jié)點超出數量閾值的范圍時,視情況增減選擇條件,以便靈活調整選擇范圍、更改獲取的可用節(jié)點的數量。通過以上設計,可以提高篩選的效率和準確性,同時使篩選的工作量降到最低,一舉兩得。
附圖說明
圖1為實施例1所述的一種網絡節(jié)點篩選方法的流程圖;
圖2為實施例2所述的一種網絡節(jié)點篩選方法中節(jié)點篩選方式的示意圖;
圖3為實施例3所述的一種網絡節(jié)點篩選方法中時間閾值的使用方法示意圖;
圖4為實施例4所述的一種網絡節(jié)點篩選系統(tǒng)的結構示意圖;
圖5為實施例5所述的一種網絡節(jié)點篩選系統(tǒng)的結構示意圖;
圖6為實施例6所述的一種網絡節(jié)點篩選系統(tǒng)的結構示意圖。
具體實施方式
下面結合附圖和以下實施例對本發(fā)明作進一步詳細說明。
實施例1
如圖1所示,本發(fā)明實施例1提供了一種網絡節(jié)點篩選方法,包括如下步驟:
s1:請求節(jié)點向服務器1發(fā)送交互節(jié)點獲取請求,所述交互節(jié)點獲取請求中包括至少兩項選擇條件;
s2:服務器1對所述交互節(jié)點獲取請求進行分析,提取出所述請求節(jié)點對交互節(jié)點的選擇條件,并設定節(jié)點篩選的數量閾值;
該數量閾值包括上限和下限,如果可用節(jié)點的數量高于上限閾值,則會增加篩選的工作量;如果可用節(jié)點的數量低于下限閾值,則可能由于備選范圍過小導致最適宜的節(jié)點被漏掉,降低交互的效率和準確性;根據可用節(jié)點的數量與數量閾值的比較情況,判斷是否需要對選擇條件做出調整;
s3:根據所述選擇條件,從當前網絡中獲取所有可用節(jié)點,并從中選擇不超過所述數量閾值的可用節(jié)點作為候選節(jié)點,并生成候選節(jié)點列表;
如可用節(jié)點的數量位于數量閾值的范圍內,則可直接將全部可用節(jié)點作為候選節(jié)點;如果可用節(jié)點的數量超過所述數量閾值的上限,則需要進一步篩選,從中選出不超過上限閾值的可用節(jié)點,再作為候選節(jié)點使用;
s4:所述請求節(jié)點選擇所述候選節(jié)點列表內任一候選節(jié)點作為交互節(jié)點,進行信息交互,并對交互記錄進行備份。
本實施例提供的網絡節(jié)點篩選方法,通過設置節(jié)點篩選的數量閾值來控制選擇的范圍,既能保證為請求節(jié)點提供足夠的選擇余地、又能避免過大的范圍使篩選的工作量增加;請求節(jié)點設置至少兩項選擇條件,既能對篩選的要求做進一步細化,又能在可用節(jié)點超出數量閾值的范圍時,視情況增減選擇條件,以便靈活調整選擇范圍、更改獲取的可用節(jié)點的數量。
實施例2
如圖2所示,本實施例2在實施例1的基礎上提供了一種網絡節(jié)點篩選方法,該實施例2進一步限定了所述步驟s1中還包括如下步驟:對所述選擇條件按照重要性由高到低進行排序。
對所有選擇條件進行排序,有利于在后續(xù)調整選擇條件時提供參考依據;選擇條件的重要程度決定了其在選擇節(jié)點中的優(yōu)先程度,這一重要程度可以由請求節(jié)點在發(fā)送交互節(jié)點獲取請求時預先設定,也可以由服務器1對交互節(jié)點獲取請求進行解析時設定。
所述步驟s3包括如下步驟:
s3.1:獲取網絡中所有能與所述請求節(jié)點連接的可用節(jié)點;
s3.2:當所述可用節(jié)點的數量低于所述數量閾值的下限時,按照重要性由低到高關閉至少一項選擇條件,擴大選擇范圍,重新獲取網絡中的可用節(jié)點作為候選節(jié)點;
當需要擴大選擇范圍時,優(yōu)先關閉重要性最低的選擇條件,保留重要性較高的選擇條件,使得到的可用節(jié)點符合請求節(jié)點的最根本要求,可以避免過多關聯性交低的節(jié)點被篩選進來,盡可能提高篩選時的精確性;
s3.3:當所述可用節(jié)點的數量高于所述數量閾值的上限時,從所有可用節(jié)點中選取不超過所述數量閾值上限的可用節(jié)點作為候選節(jié)點;
s3.4:根據獲得的候選節(jié)點,生成候選節(jié)點列表。
所述步驟s3.2的具體方法如下:
當所述可用節(jié)點的數量低于所述數量閾值的下限時,關閉重要性最低的一項選擇條件,重新獲取網絡中的可用節(jié)點;如此時獲得的可用節(jié)點的數量仍低于所述數量閾值的下限,則繼續(xù)關閉余下選擇條件中重要性最低的一項,重新獲取網絡中的可用節(jié)點;以此類推,直到所述可用節(jié)點的數量高于所述數量閾值的下限,將此時的可用節(jié)點作為候選節(jié)點,并生成候選節(jié)點列表;
為保證每次篩選時得到可用節(jié)點與請求節(jié)點發(fā)出請求的關聯度最高,每次擴大篩選范圍時均關閉所有開啟狀態(tài)的選擇條件中重要性最低的一項,保留重要性較高的條件,以確保篩選的準確性。
所述步驟s3.3的具體方法如下:
當開啟了所有選擇條件時,如果所述可用節(jié)點的數量仍高于所述數量閾值的上限,則根據獲取時間先后選取不超過所述數量閾值上限的可用節(jié)點作為候選節(jié)點并生成候選節(jié)點列表;如果所述請求節(jié)點仍然請求獲取候選節(jié)點,則從剩余可用節(jié)點中繼續(xù)選取不超過所述數量閾值上限的可用節(jié)點;以此類推,直到所述請求節(jié)點不再發(fā)送候選節(jié)點獲取請求;
在無法通過增加選擇條件來縮小篩選范圍時,默認根據獲取的時間先后對可用節(jié)點進行排序,并選取獲取時間最先的不超過上限閾值的可用節(jié)點作為候選節(jié)點;當請求節(jié)點從中未篩選出可與之交互的節(jié)點時,即再次發(fā)送候選節(jié)點獲取請求,此時從之前未被選中的可用節(jié)點中繼續(xù)選擇,以保證在請求節(jié)點在限定范圍內能夠對可用節(jié)點進行充分選擇,提高選擇的準確性。
實施例3
如圖3所示,本實施例3在實施例1的基礎上提供了一種網絡節(jié)點篩選方法,該實施例3進一步限定了所述步驟s3還包括如下步驟:
對所述候選節(jié)點列表的使用時間進行設定,候選節(jié)點列表在請求節(jié)點開啟狀態(tài)下、超過設定時間而未被調用時,即修改篩選條件進行重新篩選。
通過對節(jié)點列表設置使用時間,為重新進行節(jié)點篩選提供了啟動條件;當候選節(jié)點列表超過設定時間仍未被調用,則默認為該列表中沒有請求節(jié)點希望與之交互的節(jié)點,此時即啟動修改條件、進行重新篩選,以便提高篩選的效率和篩選工作的主動性、減少時間的浪費。
所述方法還包括如下步驟:
s5:當有候選節(jié)點關閉或請求退出所述候選節(jié)點列表時,所述服務器1對該候選節(jié)點進行標記,保留其加入所述候選節(jié)點列表的記錄,再對該候選節(jié)點進行刪除。
對已經進入候選節(jié)點列表的節(jié)點進行標記,再次篩選時,如果用到與該節(jié)點相符的選擇條件時,可以對其進行識別,并優(yōu)先選為候選節(jié)點,以便提高篩選的效率。
實施例4
如圖4所示,本實施例4提供了一種網絡節(jié)點篩選系統(tǒng),包括如下部分:
服務器1,用接收請求節(jié)點發(fā)送的交互節(jié)點獲取請求并進行分析,提取出所述請求節(jié)點對交互節(jié)點的選擇條件,并設定節(jié)點篩選的數量閾值;
篩選單元2,用于根據所述選擇條件,獲取網絡中所有符合條件的可用節(jié)點,并選擇不超過所述數量閾值的可用節(jié)點,作為候選節(jié)點;
列表管理單元3,用于根據所述候選節(jié)點生成候選節(jié)點列表并進行管理;
存儲器4,用于對生成的候選節(jié)點列表進行存儲,并對請求節(jié)點和候選節(jié)點的信息交互情況進行記錄。
實施例5
如圖5所示,本實施例5在實施例4的基礎上提供了一種網絡節(jié)點篩選系統(tǒng),該實施例5進一步限定了所述篩選單元2包括如下部分:
查找模塊21,用于根據所述選擇條件查找網絡中所有符合條件的可用節(jié)點,并將獲得的可用節(jié)點作為候選節(jié)點;
節(jié)點數量判斷模塊22,用于對得到的可用節(jié)點的數量與所述數量閾值進行比較,判斷是否需要對可用節(jié)點進行重新選擇,
選擇條件管理模塊23,用于對所述選擇條件進行管理,當需要重新選擇可用節(jié)點時,則對選擇條件進行調整,并通知所述查找模塊21重新進行選擇。
查找模塊21查找到所有符合條件的可用節(jié)點,并交由節(jié)點數量判斷模塊22對可用節(jié)點的數量與數量閾值進行比較,如果未超過數量閾值,則直接交給列表管理單元3;如果超過數量閾值,則通知選擇條件管理模塊23,選擇條件管理模塊23根據需要調整選擇條件,再通知查找模塊21按照新的條件進行查找,查找的的可用節(jié)點再次交由節(jié)點數量判斷模塊22進行判斷,如此循環(huán),直到獲得數量符合要求的可用節(jié)點。三個模塊相互協(xié)作、相互制約,共同完成節(jié)點篩選工作。
所述列表管理單元3包括如下部分:
節(jié)點列表生成模塊31,用于根據所述篩選單元2提供的候選節(jié)點生成候選節(jié)點列表;
時間管理模塊32,用于對所述候選節(jié)點列表的工作時間進行設定和監(jiān)控。
節(jié)點列表生成模塊31接收篩選單元2發(fā)送的候選節(jié)點,并生成候選節(jié)點列表,發(fā)送給服務器1,再由服務器1發(fā)送給請求節(jié)點進行選擇;時間管理模塊32負責監(jiān)控候選節(jié)點列表的工作時間,當超過設定的工作時間時請求節(jié)點仍未從中選擇交互節(jié)點時,時間管理模塊32即通知篩選單元2,改變篩選條件、重新進行篩選。
實施例6
如圖6所示,本實施例6在實施例1的基礎上提供了一種網絡節(jié)點篩選系統(tǒng),該實施例6進一步限定了所述系統(tǒng)還包括如下部分:
標記模塊5,用于對退出所述候選節(jié)點列表的候選節(jié)點添加標記;
識別模塊6,用于對所述候選節(jié)點列表之外的可用節(jié)點上的標記進行識別,并報告給所述服務器1。
標記模塊5對已經進入候選節(jié)點列表的節(jié)點進行標記,再次篩選時,該標記仍然存在,如果用到與該節(jié)點相符的選擇條件時,識別模塊6可以對其進行識別,并通知篩選單元2將其優(yōu)先選為候選節(jié)點,以便提高篩選的效率。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。