一種確定緩存策略的方法及設備的制作方法
【專利摘要】本發(fā)明實施例公開了一種確定緩存策略的方法及設備,所述方法中通過統計節(jié)點接收路由器上報的第一數據被請求的信息,根據哈希函數、第一數據的元數據和第一數據的第一流行度等級計算存儲所述第一數據的路由器的標識值;通過判決路由器從用戶設備接收用于請求第一數據的報文,根據哈希函數計算出存儲所述第一數據的路由器標識;所述用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值,使得流行度等級高的請求內容緩存多份,流行等級低的請求內容緩存少份,避免現有技術中對所有內容都緩存或者僅緩存最新請求的內容,從而實現協作區(qū)域內路由器相互協作緩存,提高路由器緩存的效率。
【專利說明】一種確定緩存策略的方法及設備
【技術領域】
[0001]本發(fā)明屬于網絡【技術領域】,尤其涉及一種確定緩存策略的方法及設備。
【背景技術】
[0002]隨著網絡規(guī)模和技術的不斷進步,一方面,圖片,web頁面,辦公文檔以及多媒體音視頻等的獲取成為互聯網的主要應用,網絡流量也隨之急劇增加,另一方面,路由器的性能得到增強,除了基本轉發(fā)功能外,還具備一定的計算和緩存能力。由于路由器相對于原始的內容服務提供者更靠近用戶側,因此利用路由器的緩存能力可以快速響應用戶對內容的請求,并減少網絡帶寬的消耗。
[0003]目前大部分的技術方案中,路由器緩存之間不存在協作。位于用戶到原始內容提供者路徑上的各個路由器獨自根據其收到的內容的流行度來決定是否要緩存該內容,并截獲用戶請求命中本地路由器緩存的情況向用戶返回內容或者轉發(fā)該請求。采用該方式,用戶僅能利用路徑上的緩存,無法找到網絡中其他緩存。同時,由于單個路由器的緩存是有限的,無協作的方式使得單個路由器對收到的所有內容分片都要判斷是否需要緩存,其動態(tài)性較高,本地緩存命中率較低。最后,由于各個路由器單獨決定是否緩存,對于流行度很高的內容分片來說存在大量的冗余緩存,使得整個網絡的緩存利用率下降。
[0004]現有技術中解決協作區(qū)域內緩存路由器相互協作緩存內容的問題主要是可以分為集中式和分布式兩類。集中式方案是根據內容提供者的需求,利用一個集中式設備來指定各個路由器緩存應該緩存的內容。并不考慮該本地在本地流行度,其所有的請求都要通過集中式設備查找緩存的位置,負載過大。典型的分布式方案是通過哈希函數確定每個緩存路由器需要負責緩存的內容的范圍。每個內容在協作區(qū)域內最多緩存一份,流行度高的內容會導致負責的緩存路由器負載過大。
【發(fā)明內容】
[0005]本發(fā)明實施例的目的在于提供一種確定緩存策略的方法,解決路由器緩存之間不存在協作所導致的網絡緩存利用率低、路由器存在大量的冗余緩存及路由器負載過大等的問題。
[0006]第一方面,一種路由器緩存協作的方法,所述方法包括:
[0007]統計節(jié)點根據接收區(qū)域內的m個路由器分別上報的表示第一數據被請求的信息,m ≥ 1;
[0008]以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0009]對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m ≤n。
[0010]結合第一方面,在第一方面的第一種可能的實現方式中,當第一數據的第一流行度等級的絕對值大于或等于2時,所述方法還包括:[0011]以所述第一路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到
第二哈希值;
[0012]對所述第二哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第二路由器的標識值。
[0013]結合第一方面,在第一方面的第二種可能的實現方式中,所述m個路由器分別上報的表示第一數據被請求的信息為所述m個路由器分別上報的所述第一數據的流行度,所述方法還包括:
[0014]根據所述m個路由器分別上報的所述第一數據的流行度,確定所述第一數據的總流行度;
[0015]根據所述第一數據的總流行度查詢等級對應關系,確定所述第一數據的總流行度的第一流行度等級;[0016]當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j ^ 2時,所述方法還包括:
[0017]以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+1哈希值;
[0018]對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+ι路由器的標識值,其中j-1,I為整數;
[0019]確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0020]結合第一方面第二種可能的實現方式,在第一方面的第三種可能的實現方式中,所述等級對應關系包括所述總流行度和所述流行度等級的對應關系,或,所述等級對應關系包括流行度取值區(qū)域和所述流行度等級的對應關系,且所述總流行度在所述流行度取值區(qū)域之內。
[0021]結合第一方面或者第一方面的第一種可能的實現方式或者第一方面的第二種可能的實現方式或者第一方面的第三種可能的實現方式,在第一方面的第四種可能的實現方式中,所述哈希函數包括:MD5、SHAUBKDRHash或FNVIA
[0022]第二方面,一種確定緩存策略的方法,所述方法包括:
[0023]判決路由器從用戶設備接收用于請求第一數據的報文;
[0024]以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0025]對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
[0026]結合第二方面,在第二方面的第一種可能的實現方式中,所述方法還包括:
[0027]接收統計節(jié)點發(fā)送的所述第一數據的第一流行度等級;
[0028]當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j ^ 2時,所述方法還包括:
[0029]以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i + 1哈希值;
[0030]對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+ι路由器的標識值,其中1≤i≤j-1,i為整數;
[0031]確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0032]結合第二方面或者第二方面的第一種可能的實現方式,在第二方面的第二種可能的實現方式中,所述哈希函數包括:MD5、SHAUBKDRHash或FNVIA。
[0033]第三方面,一種確定緩存策略的方法,所述方法包括:
[0034]用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0035]對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m≤η。
[0036]結合第三方面,在第三方面的第一種可能的實現方式中,所述方法還包括:
[0037]所述用戶設備獲取所述第一數據的最大流行度等級;
[0038]當所述最大流行度等級的絕對值大于或等于j,且j為正整數,j≥2時,所述方法還包括:
[0039]以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i + 1哈希值;
[0040]對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+ι路由器的標識值,其中1≤i≤j-1,i為整數;
[0041]確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0042]結合第三方面或者第三方面的第一種可能的實現方式,在第三方面的第二種可能的實現方式中,所述哈希函數包括:MD5、SHAUBKDRHash或FNVIA。
[0043]第四方面,一種確定緩存策略的設備,所述確定緩存策略的設備包括:
[0044]第一接收單元,用于統計節(jié)點根據接收區(qū)域內的m個路由器分別上報的表示第一數據被請求的信息,m ≥1;
[0045]第一運算單元,用于以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0046]第一模運算單元,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m Sn。
[0047]結合第四方面,在第四方面的第一種可能的實現方式中,所述的確定緩存策略的設備還包括:
[0048]第二運算單元,用于當第一數據的第一流行度等級的絕對值大于或等于2時,以所述第一路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第二哈希值;
[0049]第二模運算單元,用于對所述第二哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第二路由器的標識值。
[0050]結合第四方面,在第四方面的第二種可能的實現方式中,所述m個路由器分別上報的表示第一數據被請求的信息為所述m個路由器分別上報的所述第一數據的流行度,所述確定緩存策略的設備還包括:[0051]第一確定單元,用于根據所述m個路由器分別上報的所述第一數據的流行度,確定所述第一數據的總流行度;
[0052]第二確定單元,用于根據所述第一數據的總流行度查詢等級對應關系,確定所述第一數據的總流行度的第一流行度等級;
[0053]所述確定緩存策略的設備還包括:
[0054]第三運算單元,用于當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j > 2時,以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+1哈希值;
[0055]第三模運算單元,用于第對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j_l,i為整數;
[0056]第三確定單元,用于確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0057]結合第四方面的第二種可能的實現方式,在第四方面的第三種可能的實現方式中,所述等級對應關系包括所述總流行度和所述流行度等級的對應關系,或,所述等級對應關系包括流行度取值區(qū)域和所述流行度等級的對應關系,且所述總流行度在所述流行度取值區(qū)域之內。
[0058]結合第四方面或者第四方面的第一種可能的實現方式或者第四方面的第二種可能的實現方式或者第四方面的第三種可能的實現方式,所述哈希函數包括:MD5、SHAUBKDRHash 或 FNVIA
[0059]第五方面,一種確定緩存策略的設備,所述確定緩存策略的設備包括:
[0060]第二接收單元,用于判決路由器從用戶設備接收用于請求第一數據的報文;
[0061]第四運算單元,用于以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0062]第四模運算單元,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,η。
[0063]結合第五方面,在第五方面的第一種可能的實現方式中,所述確定緩存策略的設備還包括:
[0064]第三接收單元,用于接收統計節(jié)點發(fā)送的所述第一數據的第一流行度等級;
[0065]所述確定緩存策略的設備還包括:
[0066]第五運算單元,用于當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j > 2時,以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+1哈希值;
[0067]第五模運算單元,用于對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j_l,i為整數;
[0068]第四確定單元,用于確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0069]結合第五方面或者第五方面的第一種可能的實現方式,所述哈希函數包括:MD5、SHAl、BKDRHash 或 FNVIA。
[0070]第六方面,一種確定緩存策略的設備,所述確定緩存策略的設備包括:[0071]第六運算單元,用于用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0072]第六模運算單元,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m Sn。
[0073]結合第六方面,在第六方面的第一種可能的實現方式中,所述確定緩存策略的設備還包括:
[0074]獲取單元,用于所述用戶設備獲取所述第一數據的最大流行度等級;
[0075]所述確定緩存策略的設備還包括:
[0076]第七運算單元,用于當所述最大流行度等級的絕對值大于或等于j,且j為正整數,j > 2時,以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+1哈希值;
[0077]第七模運算子單元,用于對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j_l,i為整數;
[0078]第五確定單元,用于確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0079]結合第六方面或者第六方面的第一種可能的實現方式,在第六方面的第二種可能的實現方式中,所述哈希函數包括:MD5、SHAUBKDRHash或FNVIA。
[0080]與現有技術相比,本發(fā)明實施例提供一種確定緩存策略的方法,所述方法中通過統計節(jié)點接收路由器上報的第一數據被請求的信息,根據哈希函數、第一數據的元數據和第一數據的第一流行度等級計算存儲所述第一數據的路由器的標識值;通過判決路由器從用戶設備接收用于請求第一數據的報文,根據哈希函數計算出存儲所述第一數據的路由器標識;所述用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值,使得流行度等級高的請求內容緩存多份,流行等級低的請求內容緩存少份,避免現有技術中對所有內容都緩存或者僅緩存最新請求的內容,從而實現協作區(qū)域內路由器相互協作緩存,提高路由器緩存的效率。
【專利附圖】
【附圖說明】
[0081]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0082]圖1是本發(fā)明實施例一提供的一種確定緩存策略的方法流程圖;
[0083]圖2是本發(fā)明實施例二提供的一種確定緩存策略的方法流程圖;
[0084]圖3是本發(fā)明實施例三提供的一種確定緩存策略的方法流程圖;
[0085]圖4是本發(fā)明實施例四提供的一種路由器緩存協作的方法示意圖;
[0086]圖5是本發(fā)明實施例四提供的一種統計節(jié)點緩存協作的方法流程圖;
[0087]圖6是本發(fā)明實施例四提供的一種路由器緩存協作的方法流程圖;
[0088]圖7是本發(fā)明實施例四提供的一種統計節(jié)點緩存協作的方法流程圖;
[0089]圖8是本發(fā)明實施例五提供的一種確定緩存策略的設備結構圖;[0090]圖9是本發(fā)明實施例五提供的一種確定緩存策略的設備結構圖;
[0091]圖10是本發(fā)明實施例五提供的一種確定緩存策略的設備結構圖;
[0092]圖11是本發(fā)明實施例六提供的一種確定緩存策略的設備結構圖;
[0093]圖12是本發(fā)明實施例六提供的一種確定緩存策略的設備結構圖;
[0094]圖13是本發(fā)明實施例七提供的一種確定緩存策略的設備結構圖;
[0095]圖14是本發(fā)明實施例七提供的一種確定緩存策略的設備結構圖;
[0096]圖15是本發(fā)明實施例八提供的一種統計節(jié)點的裝置結構圖;
[0097]圖16是本發(fā)明實施例九提供的一種路由器的裝置結構圖;
[0098]圖17是本發(fā)明實施例十提供的一種用戶設備的裝置結構圖。
【具體實施方式】 [0099]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0100]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
[0101]實施例一
[0102]參考圖1,圖1是本發(fā)明實施例一提供的一種確定緩存策略的方法流程圖。如圖1所示,所述方法包括如下步驟:
[0103]步驟101,統計節(jié)點根據接收區(qū)域內的m個路由器分別上報的表示第一數據被請求的信息,m ^ I ;
[0104]步驟102,以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0105]其中,所述哈希函數包括:MD5、SHAUBKDRHash或FNVIA。所述元數據是第一數據的名字,是攜帶在所述第一數據被請求的信息中的。
[0106]具體的,假設哈希函數為Hash,則Hash (第一數據的元數據)=第一哈希值。
[0107]步驟103,對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
[0108]具體的,第一哈希值moden=第一路由器標識。
[0109]作為一種可選的實施例,當第一數據的第一流行度等級的絕對值大于或等于2時,所述方法還包括:
[0110]以所述第一路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到
第二哈希值;
[0111]對所述第二哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第二路由器的標識值。
[0112]具體的,第二次計算時,Hash (第一路由器的標識)=第二哈希值,第二哈希值moden=第二路由器標識。
[0113]具體的,請求內容Cl的流行等級i=2,假設Hash (Cl) modeN=路由器l,Hash (I)modeN=路由器2,則計算出路由器I和路由器2負責緩存Cl。[0114]作為另一種可選的實施例,所述m個路由器分別上報的表示第一數據被請求的信息為所述m個路由器分別上報的所述第一數據的流行度,所述方法還包括:
[0115]根據所述m個路由器分別上報的所述第一數據的流行度,確定所述第一數據的總流行度;
[0116]根據所述第一數據的總流行度查詢等級對應關系,確定所述第一數據的總流行度的第一流行度等級;
[0117]當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j ≥2時,所述方法還包括:
[0118]以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+1哈希值;
[0119]對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+1路由器的標識值,其中1≤i≤j-1,i為整數;
[0120]確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0121]其中,所述等級對應關系包括所述總流行度和所述流行度等級的對應關系,或,所述等級對應關系包括流行度取值區(qū)域和所述流行度等級的對應關系,且所述總流行度在所述流行度取值區(qū)域之內。
[0122]具體的,假設第一級流行等級i=l的閥值為每統計周期收到100個請求,即i=l對應的流行度X的范圍為0-100 ;第二級流行等級i=2的閥值為每統計周期收到150個請求,即i=2對應的流行度X的范圍為100-150。
[0123]具體的,假設根據流行度大小排序前30%的請求內容,流行等級設置為I ;排序為前30%至50%的請求內容,流行等級設置為2。
[0124]具體的,第三次運算時,Hash (第二路由器的標識)=第三哈希值,第三哈希值moden=第三路由器標識;第四次運算時,Hash (第三路由器的標識)=第四哈希值,第四哈希值moden=第四路由器標識,依此類推,第j次運算時,Hash (第j_l路由器的標識)=第j哈希值,第j哈希值moden=第j路由器標識。
[0125]本發(fā)明實施例提供一種確定緩存策略的方法,所述方法中通過統計節(jié)點接收路由器上報的第一數據被請求的信息,根據哈希函數、第一數據的元數據和第一數據的第一流行度等級計算存儲所述第一數據的路由器的標識值;通過判決路由器從用戶設備接收用于請求第一數據的報文,根據哈希函數計算出存儲所述第一數據的路由器標識;所述用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值,使得流行度等級高的請求內容緩存多份,流行等級低的請求內容緩存少份,避免現有技術中對所有內容都緩存或者僅緩存最新請求的內容,從而實現協作區(qū)域內路由器相互協作緩存,提高路由器緩存的效率。
[0126]實施例二
[0127]參考圖2,圖2是本發(fā)明實施例二提供的一種確定緩存策略的方法流程圖。如圖2所示,所述方法包括如下步驟:
[0128]步驟201,判決路由器從用戶設備接收用于請求第一數據的報文;
[0129]步驟202,以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0130]其中,所述哈希函數包括:MD5、SHAUBKDRHash或FNVIA。所述元數據是第一數據的名字,是攜帶在所述第一數據被請求的信息中的。
[0131] 具體的,假設哈希函數為Hash,則Hash (第一數據的元數據)=第一哈希值。
[0132]步驟203,對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m≤n。
[0133]具體的,第一哈希值moden=第一路由器標識。
[0134]作為一種可選的實施例,所述方法還包括:
[0135]接收統計節(jié)點發(fā)送的所述第一數據的第一流行度等級;
[0136]當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j ^ 2時,所述方法還包括:
[0137]以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i + 1哈希值;
[0138]對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+ι路由器的標識值,其中j-1,I為整數;
[0139]確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0140]具體的,第二次計算時,Hash (第一路由器的標識)=第二哈希值,第二哈希值moden=第二路由器標識。
[0141]具體的,第三次運算時,Hash (第二路由器的標識)=第三哈希值,第三哈希值moden=第三路由器標識;第四次運算時,Hash (第三路由器的標識)=第四哈希值,第四哈希值moden=第四路由器標識,依此類推,第j次運算時,Hash (第j_l路由器的標識)=第j哈希值,第j哈希值moden=第j路由器標識。
[0142]本發(fā)明實施例提供一種確定緩存策略的方法,所述方法中通過統計節(jié)點接收路由器上報的第一數據被請求的信息,根據哈希函數、第一數據的元數據和第一數據的第一流行度等級計算存儲所述第一數據的路由器的標識值;通過判決路由器從用戶設備接收用于請求第一數據的報文,根據哈希函數計算出存儲所述第一數據的路由器標識;所述用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值,使得流行度等級高的請求內容緩存多份,流行等級低的請求內容緩存少份,避免現有技術中對所有內容都緩存或者僅緩存最新請求的內容,從而實現協作區(qū)域內路由器相互協作緩存,提高路由器緩存的效率。
[0143]實施例三
[0144]參考圖3,圖3是本發(fā)明實施例三提供的一種確定緩存策略的方法流程圖。所述方法包括以下步驟:
[0145]步驟301,用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0146]其中,所述哈希函數包括:MD5、SHAUBKDRHash或FNVIA。
[0147]具體的,Hash (第一數據的元數據)=第一哈希值。
[0148]步驟302,對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m≤η。
[0149]具體的,第一哈希值moden=第一路由器標識。
[0150]作為一種可選的實施例,所述方法還包括:
[0151]所述用戶設備獲取所述第一數據的最大流行度等級;
[0152]當所述最大流行度等級的絕對值大于或等于j,且j為正整數,j ^ 2時,所述方法還包括:
[0153]以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+1哈希值;
[0154]對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+ι路由器的標識值,其中j-1,I為整數;
[0155]確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0156]具體的,第二次計算時,Hash (第一路由器的標識)=第二哈希值,第二哈希值moden=第二路由器標識。
[0157]具體的,第三次運算時,Hash (第二路由器的標識)=第三哈希值,第三哈希值moden=第三路由器標識;第四次運算時,Hash (第三路由器的標識)=第四哈希值,第四哈希值moden=第四路由器標識,依此類推,第j次運算時,Hash (第j_l路由器的標識)=第j哈希值,第j哈希值moden=第j路由器標識。
[0158]本發(fā)明實施例提供一種確定緩存策略的方法,所述方法中通過統計節(jié)點接收路由器上報的第一數據被請求的信息,根據哈希函數、第一數據的元數據和第一數據的第一流行度等級計算存儲所述第一數據的路由器的標識值;通過判決路由器從用戶設備接收用于請求第一數據的報文,根據哈希函數計算出存儲所述第一數據的路由器標識;所述用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值,使得流行度等級高的請求內容緩存多份,流行等級低的請求內容緩存少份,避免現有技術中對所有內容都緩存或者僅緩存最新請求的內容,從而實現協作區(qū)域內路由器相互協作緩存,提高路由器緩存的效率。
[0159]實施例四
[0160]假設本發(fā)明實施例提供的協作區(qū)域如圖4所示,本實施例中統計節(jié)點負責在統計周期結束后統計各路由器上報的數據請求的流行度,根據流行度將每個數據請求信息劃分一定的流行度等級,并將流行度等級下發(fā)到各路由器,由各路由器計算負責緩存每個數據請求的路由器標識,即分布式方式。
[0161]作為另一種可選的方式,本實施例還可由統計節(jié)點計算負責緩存每個數據請求的路由器標識,將計算后的標識下發(fā)到各路由器,即集中式方式。
[0162]以下以分布式方式為例,該協作區(qū)域內包括n=3臺具有緩存能力的路由器,2個用戶設備和一個統計節(jié)點(統計節(jié)點可設置在某個路由器上)。以下實施例中總共涉及10個文件分片,每個的大小為2M,每個路由器的緩存能力為4M,即2個文件分片。路由器I為本區(qū)域與其他區(qū)域的連接點。以下實施例中,協作區(qū)域中采用的哈希算法是FNV1A。協作區(qū)域內支持的最大流行度等級K=2。統計周期為5分鐘,第一級流行度等級閥值為每統計周期收到100個請求,第二級流行度等級閥值為每統計周期收到150個請求。以下實施例中用戶設備的程序,路由器和統計節(jié)點均已完成初始化的工作。用戶設備通過網絡工具(比如,PING)已獲知到所有路由器的距離。用戶設備I到路由器3,I, 2的距離依次增加,用戶設備2到路由器1,3,2的距離依次增加。
[0163]當協作區(qū)域內路由器剛開始運行時,接收用戶設備請求某個內容時,所有的路由器都沒有緩存內容,系統啟動時,所有內容的流行度等級都默認為I。
[0164]用戶設備I執(zhí)行如圖5所示步驟,路由器執(zhí)行如圖6所示步驟,統計節(jié)點執(zhí)行如圖7所示步驟。
[0165]步驟501,用戶設備加入協作區(qū)域,從統計節(jié)點獲取所述協作區(qū)域內使用的哈希函數,路由器總數n,路由器標識,協作區(qū)域內支持的最大流行度等級K;
[0166]步驟502,用戶設備I的程序收到上層對內容Cl請求;
[0167]步驟503,執(zhí)行K=2次哈希運算,n=3 ;
[0168]Hash (Cl的元數據)mode n=l,由路由器I負責
[0169]Hash (I)mode n=3,有路由器 3 負責
[0170]步驟504,當前有兩個可能負責緩存的路由器;
[0171]步驟505,向距離更近的路由器3進行請求;
[0172]該請求遞交到路由器3,執(zhí)行
[0173]步驟602,收到請求;
[0174]步驟603,請求的目的是自己;
[0175]步驟604,第一次收到該內容,在流行度(X)統計表中創(chuàng)建表項并進行更新;
[0176]步驟605,根據流行度等級進行i=l次哈希運算,(默認等級為I);
[0177]Hash (Cl 的元數據)mode n=l ;
[0178]步驟606,不由本路由器負責;
[0179]步驟608,通知用戶設備查詢失敗;
[0180]用戶設備I收到路由器3的回復
[0181]步驟506,收到的不是數據內容
[0182]步驟504,當前還有I個可能負責緩存的路由器
[0183]步驟505,向距離更近的路由器I進行請求
[0184]該請求遞交到路由器1,執(zhí)行
[0185]步驟602,收到請求
[0186]步驟603,請求的目的是自己
[0187]步驟604,第一次收到該內容,在流行度(X)統計表中創(chuàng)建表項并進行更新
[0188]步驟605,根據流行等級進行i=l次哈希運算,(默認等級為I)
[0189]Hash (Cl的元數據)mode n=l,由本路由器負責
[0190]步驟606,由本路由器負責
[0191]步驟607,本地沒有緩存
[0192]步驟608,通知用戶設備查詢失敗
[0193]用戶設備I收到路由器I的回復
[0194]步驟506,收到的不是數據內容
[0195]步驟504,已向所有可能負責緩存的路由器進行了請求[0196]步驟507,向原始內容提供者請求
[0197]該請求被路由到本區(qū)域的出口,即路由器I
[0198]步驟602,收到請求
[0199]步驟603,請求的目的不是自己
[0200]步驟610,請求的目的是域外
[0201]步驟611,第一次收到該內容,在流行度(X)統計表中創(chuàng)建表項并進行更新
[0202]步驟612,根據路由器表進行轉發(fā)
[0203]當第一個統計周期結束后,此時,所有路由器都沒有緩存,僅以路由器I為例說明。
[0204]步驟602,統計周期結束,應該進行本地流行度(X)通告
[0205]步驟609,將本地緩存中有的內容的流行度(X)通告給統計節(jié)點,同時由于路由器I是本區(qū)域和其他區(qū)域的連接點,因此還需要將自己轉發(fā)到其他區(qū)域的內容的流行度(X)進行通告,假設在此統計周期內僅有內容Cl,C2, C5, C6, C7, ClO被請求,由于沒有緩存,因此都會原始內容提供者獲取。
[0206]步驟610,遍歷所有本應該有本地負責,但本地沒有進行緩存的內容,假設在路由器I應該緩存包括Cl,C7,由于本地沒有緩存,因此需要向原始內容提供者獲取一份,然后進行本地緩存;
[0207]第一個統計周期結束后,統計節(jié)點會收到路由器I通告的本地流行度(X),執(zhí)行
[0208]步驟702,統計周期結束,應該進行流行度(X)匯總下發(fā);
[0209]步驟703,匯總收到的流行度(X),Cl,C2,C5,C6,C7,ClO ;
[0210]步驟704,根據流行度閥值,ClO的流行等級為k = 2,Cl,C2,C5,C6,C7的流行等級均為k=l,,其余全部調整為O ;
[0211]步驟705,將流行等級發(fā)生變化的內容的流行度(X)發(fā)送給應該負責的路由器。
[0212]路由器收到統計節(jié)點下發(fā)的新的流行等級,以路由器I為例,開始時路由器已經緩存Cl和C7,由于ClO的流行等級提高,路由器I需要負責緩存,執(zhí)行;
[0213]步驟602,收到統計節(jié)點發(fā)送的流行等級;
[0214]步驟615,ClO是新添加的需要本路由器負責的內容;
[0215]步驟616,需要判斷是否需要緩存ClO ;
[0216]步驟617,將ClO在本地的流行度(Xaci)與Cl和C7的流行度(xC7)進行比較,由于ClO的流行度(Xatl)比C7高,需要進行替換;
[0217]步驟618,向原始路由器獲取并緩存C10。
[0218]實施例五
[0219]參考圖8,圖8是本發(fā)明實施例五提供的一種確定緩存策略的設備結構圖。如圖8所示,所述設備包括如下單元:
[0220]第一接收單元801,用于統計節(jié)點根據接收區(qū)域內的m個路由器分別上報的表示第一數據被請求的信息,m ^ I ;
[0221]第一運算單元802,用于以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0222]其中,所述哈希函數包括:MD5、SHAl、BKDRHash或FNVIA[0223]第一模運算單元803,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
[0224]作為一種可選的實施例,參考圖9,圖9是本發(fā)明實施例五提供的一種確定緩存策略的設備結構圖。如圖9所示,
[0225]第一接收單元901,用于統計節(jié)點根據接收區(qū)域內的m個路由器分別上報的表示第一數據被請求的信息,m ^ I ;
[0226]第一運算單元902,用于以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0227]其中,所述哈希函數包括:MD5、SHAl、BKDRHash或FNVIA
[0228]第一模運算單元903,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < n。
[0229]所述確定緩存策略的設備還包括:
[0230]第二運算單元904,用于當第一數據的第一流行度等級的絕對值大于或等于2時,以所述第一路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第二哈希值;
[0231]第二模運算單元905,用于對所述第二哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第二路由器的標識值。
[0232]作為另一種可選的實施例,參考圖10,圖10是本發(fā)明實施例五提供的一種確定緩存策略的設備結構圖。如圖10所示,
[0233]第一接收單元1001,用于統計節(jié)點根據接收區(qū)域內的m個路由器分別上報的表示第一數據被請求的信息,m ^ I ;
[0234]第一運算單元1002,用于以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0235]其中,所述哈希函數包括:MD5、SHAl、BKDRHash或FNVIA
[0236]第一模運算單元1003,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
[0237]所述m個路由器分別上報的表示第一數據被請求的信息為所述m個路由器分別上報的所述第一數據的流行度,所述確定緩存策略的設備還包括:
[0238]第一確定單元1004,用于根據所述m個路由器分別上報的所述第一數據的流行度,確定所述第一數據的總流行度;
[0239]第二確定單元1005,用于根據所述第一數據的總流行度查詢等級對應關系,確定所述第一數據的總流行度的第一流行度等級;
[0240]所述確定緩存策略的設備還包括:
[0241]第三運算單元1006,用于當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j > 2時,以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+Ι哈希值;[0242]第三模運算單元1007,對所述第i+1哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j_l,i為整數;
[0243]第三確定單元1008,確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0244]其中,所述等級對應關系包括所述總流行度和所述流行度等級的對應關系,或,所述等級對應關系包括流行度取值區(qū)域和所述流行度等級的對應關系,且所述總流行度在所述流行度取值區(qū)域之內。
[0245]本發(fā)明實施例提供一種確定緩存策略的設備,所述設備中通過統計節(jié)點接收路由器上報的第一數據被請求的信息,根據哈希函數、第一數據的元數據和第一數據的第一流行度等級計算存儲所述第一數據的路由器的標識值;通過判決路由器從用戶設備接收用于請求第一數據的報文,根據哈希函數計算出存儲所述第一數據的路由器標識;所述用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值,使得流行度等級高的請求內容緩存多份,流行等級低的請求內容緩存少份,避免現有技術中對所有內容都緩存或者僅緩存最新請求的內容,從而實現協作區(qū)域內路由器相互協作緩存,提高路由器緩存的效率。
[0246]實施例六
[0247]參考圖11,圖11是本發(fā)明實施例六提供的一種確定緩存策略的設備結構圖。如圖11所示,所述設備包括:
[0248]第二接收單元1101,用于判決路由器從用戶設備接收用于請求第一數據的報文;
[0249]第四運算單元1102,用于以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0250]其中,所述哈希函數包括:MD5、SHAl、BKDRHash或FNVIA。
[0251]第四模運算單元1103,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
[0252]作為一種可選的實施例,如圖12所示,圖12是本發(fā)明實施例六提供的一種確定緩存策略的設備結構圖。如圖12所示,所述設備包括:
[0253]第二接收單元1201,用于判決路由器從用戶設備接收用于請求第一數據的報文;
[0254]第四運算單元1202,用于以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0255]其中,所述哈希函數包括:MD5、SHAl、BKDRHash或FNVIA。
[0256]第四模運算單元1203,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
[0257]第三接收單元1204,用于接收統計節(jié)點發(fā)送的所述第一數據的第一流行度等級;
[0258]所述確定緩存策略的設備還包括:
[0259]第五運算單元1205,用于當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j > 2時,以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+Ι哈希值;[0260]第五模運算單元1206,用于對所述第i+1哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j_l,i為整數;
[0261]第四確定單元1207,用于確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0262]本發(fā)明實施例提供一種確定緩存策略的設備,所述設備中通過統計節(jié)點接收路由器上報的第一數據被請求的信息,根據哈希函數、第一數據的元數據和第一數據的第一流行度等級計算存儲所述第一數據的路由器的標識值;通過判決路由器從用戶設備接收用于請求第一數據的報文,根據哈希函數計算出存儲所述第一數據的路由器標識;所述用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值,使得流行度等級高的請求內容緩存多份,流行等級低的請求內容緩存少份,避免現有技術中對所有內容都緩存或者僅緩存最新請求的內容,從而實現協作區(qū)域內路由器相互協作緩存,提高路由器緩存的效率。
[0263]實施例七
[0264]參考圖13,圖13是本發(fā)明實施例七提供的一種確定緩存策略的設備結構圖。如圖13所示,所述設備包括:
[0265]第六運算單元1301,用于用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0266]其中,所述哈希函數包括:MD5、SHAl、BKDRHash或FNVIA。
[0267]第六模運算單元1302,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
[0268]作為一種可選的實施例,圖14是本發(fā)明實施例七提供的一種確定緩存策略的設備結構圖。如圖14所示,所述設備包括:
[0269]第六運算單元1401,用于用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0270]其中,所述哈希函數包括:MD5、SHAl、BKDRHash或FNVIA。
[0271]第六模運算單元1402,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
[0272]獲取單元1403,用于所述用戶設備獲取所述第一數據的最大流行度等級;
[0273]所述確定緩存策略的設備還包括:
[0274]第七運算單元1404,用于當所述最大流行度等級的絕對值大于或等于j,且j為正整數,j > 2時,以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+Ι哈希值;
[0275]第七模運算單元1405,用于對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j_l,i為整數;
[0276]第五確定單元1406,用于確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0277]其中,所述用戶設備可以是計算機或者手機等。[0278]本發(fā)明實施例提供一種確定緩存策略的設備,所述設備中通過統計節(jié)點接收路由器上報的第一數據被請求的信息,根據哈希函數、第一數據的元數據和第一數據的第一流行度等級計算存儲所述第一數據的路由器的標識值;通過判決路由器從用戶設備接收用于請求第一數據的報文,根據哈希函數計算出存儲所述第一數據的路由器標識;所述用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值,使得流行度等級高的請求內容緩存多份,流行等級低的請求內容緩存少份,避免現有技術中對所有內容都緩存或者僅緩存最新請求的內容,從而實現協作區(qū)域內路由器相互協作緩存,提高路由器緩存的效率。
[0279]實施例八
[0280]參考圖15,圖15是本發(fā)明實施例八提供的一種統計節(jié)點的裝置結構圖。參考圖15,圖15是本發(fā)明實施例提供的一種統計節(jié)點1500,本發(fā)明具體實施例并不對所述設備的具體實現做限定。所述統計節(jié)點1500包括:
[0281]處理器(processor)1501,通信接口(Communications Interface) 1502,存儲器(memory) 1503,總線 1504。
[0282]處理器1501,通信接口 1502,存儲器1503通過總線1504完成相互間的通信。
[0283]通信接口 1502,用于與路由器進行通信;
[0284]處理器1501,用于執(zhí)行程序。
[0285]具體地,程序可以包括程序代碼,所述程序代碼包括計算機操作指令。
[0286]處理器1501可能是一個中央處理器CPU,或者是特定集成電路ASICXApplicationSpecific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電
路。
[0287]存儲器1503,用于存放程序。存儲器1503可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory)。程序具體可以包括:
[0288]統計節(jié)點根據接收區(qū)域內的m個路由器分別上報的表示第一數據被請求的信息,m ^ I ;
[0289]以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0290]對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
[0291]當第一數據的第一流行度等級的絕對值大于或等于2時,所述方法還包括:
[0292]以所述第一路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到
第二哈希值;
[0293]對所述第二哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第二路由器的標識值。
[0294]所述m個路由器分別上報的表示第一數據被請求的信息為所述m個路由器分別上報的所述第一數據的流行度,所述方法還包括:
[0295]根據所述m個路由器分別上報的所述第一數據的流行度,確定所述第一數據的總流行度;
[0296]根據所述第一數據的總流行度查詢等級對應關系,確定所述第一數據的總流行度的第一流行度等級;
[0297]當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j ^ 2時,所述方法還包括:
[0298]以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i + 1哈希值;
[0299]對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中1i≤≤j_l,i為整數;
[0300]確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0301]所述等級對應關系包括所述總流行度和所述流行度等級的對應關系,或,所述等級對應關系包括流行度取值區(qū)域和所述流行度等級的對應關系,且所述總流行度在所述流行度取值區(qū)域之內。
[0302]所述哈希函數包括:MD5、SHAl、BKDRHash或 FNVIA
[0303]實施例九
[0304]參考圖16,圖16是本發(fā)明實施例九提供的一種路由器的裝置結構圖。參考圖16,圖16是本發(fā)明實施例提供的一種路由器1600,本發(fā)明具體實施例并不對所述設備的具體實現做限定。所述路由器1600包括:
[0305]處理器(processor)1601,通信接口(Communications Interface) 1602,存儲器(memory) 1603,總線 1604。
[0306]處理器1601,通信接口 1602,存儲器1603通過總線1604完成相互間的通信。
[0307]通信接口 1602,用于與用戶設備和統計節(jié)點進行通信;
[0308]處理器1601,用于執(zhí)行程序。
[0309]具體地,程序可以包括程序代碼,所述程序代碼包括計算機操作指令。
[0310]處理器1601可能是一個中央處理器CPU,或者是特定集成電路ASICXApplicationSpecific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。
[0311]存儲器1603,用于存放程序。存儲器1603可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory)。程序具體可以包括:
[0312]判決路由器從用戶設備接收用于請求第一數據的報文;
[0313]以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值;
[0314]對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
[0315]所述方法還包括:
[0316]接收統計節(jié)點發(fā)送的所述第一數據的第一流行度等級;
[0317]當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j ^ 2時,所述方法還包括:
[0318]以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i + 1哈希值;[0319]對所述第i+1哈希值進行模n運算,得到用于緩存所述第一數據中的部分或全部數據的第i+ι路由器的標識值,其中j-1,I為整數;
[0320]確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
[0321]所述哈希函數包括:MD5、SHAl、BKDRHash或 FNVIA。
[0322]實施例十
[0323]參考圖17,圖17是本發(fā)明實施例十提供的一種用戶設備的裝置結構圖。參考圖
17,圖17是本發(fā)明實施例提供的一種用戶設備1700,本發(fā)明具體實施例并不對所述設備的具體實現做限定。所述用戶設備1700包括:
[0324]處理器(processor)1701,通信接口(Communications Interface) 1702,存儲器(memory) 1703,總線 1704。
[0325]處理器1701,通信接口 1702,存儲器1703通過總線1704完成相互間的通信。
[0326]通信接口 1702,用于與路由器進行通信;
[0327]處理器1701,用于執(zhí)行程序。
[0328]具體地,程序可以包括程序代碼,所述程序代碼包括計算機操作指令。
[0329]處理器1701可能是一個中央處理器CPU,或者是特定集成電路ASICXApplicationSpecific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。
[0330]存儲器1703,用于存放程序。存儲器1703可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory)。程序具體可以包括:
[0331]用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到
第一哈希值;
[0332]對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m≤n。
[0333]所述方法還包括:
[0334]所述用戶設備獲取所述第一數據的最大流行度等級;
[0335]當所述最大流行度等級的絕對值大于或等于j,且j為正整數,j ≥ 2時,所述方法還包括:
[0336]以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i + 1哈希值;
[0337]對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j_l,i為整數;
[0338]確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i + Ι路由器的標識值。
[0339]以上所述僅為本發(fā)明的優(yōu)選實施方式,并不構成對本發(fā)明保護范圍的限定。任何在本發(fā)明之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明要求包含范圍之內。
【權利要求】
1.一種確定緩存策略的方法,其特征在于,所述方法包括: 統計節(jié)點根據接收區(qū)域內的m個路由器分別上報的表示第一數據被請求的信息,m ≥1 ; 以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值; 對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
2.根據權利要求1所述的方法,其特征在于,當第一數據的第一流行度等級的絕對值大于或等于2時,所述方法還包括: 以所述第一路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第二哈希值; 對所述第二哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第二路由器的標識值。
3.根據權利要求1所述的方法,其特征在于,所述m個路由器分別上報的表示第一數據被請求的信息 為所述m個路由器分別上報的所述第一數據的流行度,所述方法還包括: 根據所述m個路由器分別上報的所述第一數據的流行度,確定所述第一數據的總流行度; 根據所述第一數據的總流行度查詢等級對應關系,確定所述第一數據的總流行度的第一流行度等級; 當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j ^ 2時,所述方法還包括: 以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+Ι哈希值; 對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j-1, i為整數; 確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
4.根據權利要求3所述的方法,其特征在于,所述等級對應關系包括所述總流行度和所述流行度等級的對應關系,或,所述等級對應關系包括流行度取值區(qū)域和所述流行度等級的對應關系,且所述總流行度在所述流行度取值區(qū)域之內。
5.根據權利要求1至4中任一項所述的方法,其特征在于,所述哈希函數包括:MD5、SHAl、BKDRHash 或 FNVIA。
6.一種確定緩存策略的方法,其特征在于,所述方法包括: 判決路由器從用戶設備接收用于請求第一數據的報文; 以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值; 對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
7.根據權利要求6所述的方法,其特征在于,所述方法還包括:接收統計節(jié)點發(fā)送的所述第一數據的第一流行度等級; 當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j ^ 2時,所述方法還包括: 以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+Ι哈希值; 對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j-1, i為整數; 確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
8.根據權利要求6或7所述的方法,其特征在于,所述哈希函數包括:MD5、SHAl、BKDRHash 或 FNVIA。
9.一種確定緩存策略的方法,其特征在于,所述方法包括: 用戶設備以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值; 對所述第一哈希值進行 模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m^n0
10.根據權利要求9所述的方法,其特征在于,所述方法還包括: 所述用戶設備獲取所述第一數據的最大流行度等級; 當所述最大流行度等級的絕對值大于或等于j,且j為正整數,j ^ 2時,所述方法還包括: 以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+Ι哈希值; 對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j-1, i為整數; 確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
11.根據權利要求9或10所述的方法,其特征在于,所述哈希函數包括:MD5、SHAUBKDRHash 或 FNVIA。
12.一種確定緩存策略的設備,其特征在于,所述確定緩存策略的設備包括: 第一接收單元,用于根據接收區(qū)域內的m個路由器分別上報的表示第一數據被請求的信息,m≥1; 第一運算單元,用于以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值; 第一模運算單元,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m^n0
13.根據權利要求12所述的確定緩存策略的設備,其特征在于,所述確定緩存策略的設備還包括: 第二運算單元,用于當第一數據的第一流行度等級的絕對值大于或等于2時,以所述第一路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第二哈希值;第二模運算單元,用于對所述第二哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第二路由器的標識值。
14.根據權利要求12所述的確定緩存策略的設備,所述m個路由器分別上報的表示第一數據被請求的信息為所述m個路由器分別上報的所述第一數據的流行度,所述確定緩存策略的設備還包括: 第一確定單元,用于根據所述m個路由器分別上報的所述第一數據的流行度,確定所述第一數據的總流行度; 第二確定單元,用于根據所述第一數據的總流行度查詢等級對應關系,確定所述第一數據的總流行度的第一流行度等級; 所述確定緩存策略的設備還包括: 第三運算單元,用于當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j > 2時,以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+1哈希值; 第三模運算單元,用于對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j_l,i為整數; 第三確定單元,用于確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
15.根據權利要求 14所述的確定緩存策略的設備,其特征在于,所述等級對應關系包括所述總流行度和所述流行度等級的對應關系,或,所述等級對應關系包括流行度取值區(qū)域和所述流行度等級的對應關系,且所述總流行度在所述流行度取值區(qū)域之內。
16.根據權利要求12至15中任一項所述的確定緩存策略的設備,其特征在于,所述哈希函數包括:MD5、SHAl、BKDRHash 或 FNVIA。
17.一種確定緩存策略的設備,其特征在于,所述確定緩存策略的設備包括: 第二接收單元,用于從用戶設備接收用于請求第一數據的報文; 第四運算單元,用于以所述第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值; 第四模運算單元,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
18.根據權利要求17所述的確定緩存策略的設備,其特征在于,所述確定緩存策略的設備還包括: 第三接收單元,用于接收統計節(jié)點發(fā)送的所述第一數據的第一流行度等級; 所述確定緩存策略的設備還包括: 第五運算單元,用于當所述第一流行度等級的絕對值大于或等于j,且j為正整數,j > 2時,以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+1哈希值; 第五模運算單元,用于對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j_l,i為整數; 第四確定單元,用于確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
19.根據權利要求17或18所述的確定緩存策略的設備,其特征在于,所述哈希函數包括:MD5、SHAl、BKDRHash 或 FNVIA。
20.一種確定緩存策略的設備,其特征在于,所述確定緩存策略的設備包括: 第六運算單元,用于以第一數據的元數據為函數輸入值,使用哈希函數進行哈希運算,得到第一哈希值; 第六模運算單元,用于對所述第一哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第一路由器的標識,所述η為所述區(qū)域內路由器的總數,m < η。
21.根據權利要求20所述的確定緩存策略的設備,其特征在于,所述確定緩存策略的設備還包括: 獲取單元,用于獲取所述第一數據的最大流行度等級; 所述確定緩存策略的設備還包括: 第七運算單元,用于當所述最大流行度等級的絕對值大于或等于j,且j為正整數,j > 2時,以第i路由器的標識為函數輸入值,使用所述哈希函數進行哈希運算,得到第i+1哈希值; 第七模運算單元,用于對所述第i+Ι哈希值進行模η運算,得到用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值,其中j_l,i為整數; 第五確定單元,用于確定i的每個取值對應的用于緩存所述第一數據中的部分或全部數據的第i+Ι路由器的標識值。
22.根據權利要求20或21所述的確定緩存策略的設備,其特征在于,所述哈希函數包括:MD5、SHAl、BKDRHash 或 FNVIA。
【文檔編號】H04L12/861GK103905332SQ201210590587
【公開日】2014年7月2日 申請日期:2012年12月31日 優(yōu)先權日:2012年12月31日
【發(fā)明者】劉樹成 申請人:華為技術有限公司