1.一種基于區(qū)域協(xié)作緩存的D2D內(nèi)容分發(fā)方法,其特征在于,包括:
步驟1,根據(jù)請求節(jié)點的移動趨勢信息和請求數(shù)據(jù)信息,獲取所需的緩存預(yù)置區(qū)域的數(shù)目與位置;
步驟2,根據(jù)所述請求節(jié)點的移動趨勢信息,獲取中繼節(jié)點,所述中繼節(jié)點用于在所述請求節(jié)點到達(dá)所述緩存預(yù)置區(qū)域之前,將所述請求節(jié)點請求的數(shù)據(jù)攜帶至所述緩存預(yù)置區(qū)域;
步驟3,當(dāng)所述請求節(jié)點到達(dá)所述緩存預(yù)置區(qū)域后,在每個緩存預(yù)置區(qū)域獲取部分的請求數(shù)據(jù),并通過所有的緩存預(yù)置區(qū)域協(xié)作來獲得全部的請求數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的基于區(qū)域協(xié)作緩存的D2D內(nèi)容分發(fā)方法,其特征在于,所述步驟1之前還包括:
獲取所述請求節(jié)點的移動終點位置及當(dāng)前位置;
根據(jù)獲取的所述請求節(jié)點的移動終點位置及當(dāng)前位置,對所述請求節(jié)點的行進(jìn)路線進(jìn)行預(yù)測,得到所述請求節(jié)點的移動趨勢信息。
3.根據(jù)權(quán)利要求1所述的基于區(qū)域協(xié)作緩存的D2D內(nèi)容分發(fā)方法,其特征在于,所述步驟1包括:
步驟11,根據(jù)所述請求數(shù)據(jù)信息中的請求數(shù)據(jù)包大小與D2D通信帶寬,得出所述請求節(jié)點請求的數(shù)據(jù)所需的傳輸時間;
步驟12,根據(jù)網(wǎng)絡(luò)中的節(jié)點密度得出所述緩存預(yù)置區(qū)域的半徑;
步驟13,根據(jù)所述緩存預(yù)置區(qū)域的半徑與所述請求節(jié)點的移動速度,得出所述請求節(jié)點在所述緩存預(yù)置區(qū)域內(nèi)的期望停留時間;
步驟14,根據(jù)所述傳輸時間與所述期望停留時間,獲取所需的緩存預(yù)置區(qū)域的數(shù)目na,根據(jù)所述請求數(shù)據(jù)信息中的請求數(shù)據(jù)包大小及所需的緩存預(yù)置區(qū)域的數(shù)目na得出每個緩存預(yù)置區(qū)域所需部署的緩存數(shù)據(jù)量,并將所述請求節(jié)點請求的數(shù)據(jù)按每個緩存預(yù)置區(qū)域所需部署的緩存數(shù)據(jù)量進(jìn)行分塊;
步驟15,按照預(yù)設(shè)的時間條件,根據(jù)所述請求節(jié)點的移動趨勢信息和平均移動速度得出所述請求節(jié)點最快取到請求數(shù)據(jù)的位置Dt,并以所述Dt為圓心的區(qū)域作為所述請求節(jié)點最快到達(dá)區(qū)域;
步驟16,判斷所述最快到達(dá)區(qū)域是否是第一個緩存預(yù)置區(qū)域;
步驟17,若是,在確定第一個緩存預(yù)置區(qū)域之后,以所述請求節(jié)點的移動終點位置為起點,以緩存預(yù)置區(qū)域的直徑為步長,以所述第一個緩存預(yù)置區(qū)域的圓心為終點,根據(jù)所述請求節(jié)點的移動趨勢信息,確定下一個緩存預(yù)置區(qū)域的圓心位置,直至確定所有緩存預(yù)置區(qū)域的圓心位置,其中,各緩存預(yù)置區(qū)域的半徑相同。
4.根據(jù)權(quán)利要求3所述的基于區(qū)域協(xié)作緩存的D2D內(nèi)容分發(fā)方法,其特征在于,所述步驟15包括:
步驟151,獲取數(shù)據(jù)源節(jié)點的位置Ds;
步驟152,獲取所述請求節(jié)點行進(jìn)一半路程時的位置
步驟153,根據(jù)所述請求節(jié)點的平均移動速度,獲取從所述請求節(jié)點的當(dāng)前位置到達(dá)時的用時與從所述數(shù)據(jù)源節(jié)點的位置Ds到達(dá)時的用時
步驟154,若則取到所述請求節(jié)點的當(dāng)前位置的中點為否則,則取到所述請求節(jié)點的移動終點位置的中點為
步驟155,迭代執(zhí)行步驟151-步驟154,直至所述請求節(jié)點比所述數(shù)據(jù)源節(jié)點到某地時的用時更長,且不多于30秒,則此時的為所述請求節(jié)點最快取到請求數(shù)據(jù)的位置Dt,其中,所述為第n次迭代時所述請求節(jié)點行進(jìn)一半路程時的位置。
5.根據(jù)權(quán)利要求4所述的基于區(qū)域協(xié)作緩存的D2D內(nèi)容分發(fā)方法,其特征在于,所述步驟16包括:
步驟161,將所述Dt展示給用戶,由用戶確認(rèn)是否會經(jīng)過此地;
步驟162,若用戶確定會經(jīng)過此地,則將所述最快到達(dá)區(qū)域作為第一個緩存預(yù)置區(qū)域;
步驟163,若用戶不確定會經(jīng)過此地,則根據(jù)預(yù)測的所述請求節(jié)點的行進(jìn)路線,在所述Dt到所述請求節(jié)點的移動終點位置之間的范圍內(nèi)選取一個距離所述Dt最近且會經(jīng)過的位置作為第一個緩存預(yù)置區(qū)域的圓心。
6.根據(jù)權(quán)利要求4所述的基于區(qū)域協(xié)作緩存的D2D內(nèi)容分發(fā)方法,其特征在于,所述步驟2包括:
步驟21,將所述請求節(jié)點的請求數(shù)據(jù)信息、得到的每個緩存預(yù)置區(qū)域的圓心坐標(biāo)、半徑及所需部署的緩存數(shù)據(jù)量發(fā)送給所述數(shù)據(jù)源節(jié)點;
步驟22,查找所述數(shù)據(jù)源節(jié)點通信范圍內(nèi)的移動節(jié)點,根據(jù)每個移動節(jié)點的移動信息,從查找到的所述數(shù)據(jù)源節(jié)點通信范圍內(nèi)的移動節(jié)點中選取k個移動節(jié)點作為本次傳輸?shù)闹欣^節(jié)點,將所述請求節(jié)點請求的數(shù)據(jù)分成na塊并進(jìn)行隨機(jī)線性網(wǎng)絡(luò)編碼處理后向選取的k個中繼節(jié)點發(fā)送數(shù)據(jù);
步驟23,通過選取的k個中繼節(jié)點將所述請求節(jié)點請求的數(shù)據(jù)攜帶至相應(yīng)的緩存預(yù)置區(qū)域。
7.根據(jù)權(quán)利要求6所述的基于區(qū)域協(xié)作緩存的D2D內(nèi)容分發(fā)方法,其特征在于,所述步驟22包括:
步驟221,以第一個緩存預(yù)置區(qū)域為目標(biāo)區(qū)域;
步驟222,判斷每個移動節(jié)點的移動方向,若移動方向?qū)┻^所述目標(biāo)區(qū)域的移動節(jié)點的數(shù)目大于k,則比較相應(yīng)移動節(jié)點的當(dāng)前位置,選取距離所述目標(biāo)區(qū)域最近的k個移動節(jié)點作為中繼節(jié)點;否則,則選取移動方向離所述目標(biāo)區(qū)域中心偏移最少的k個移動節(jié)點作為中繼節(jié)點;
步驟223,以下一個緩存預(yù)置區(qū)域為目標(biāo)區(qū)域,重復(fù)步驟222,選取k個中繼節(jié)點,直至所有緩存預(yù)置區(qū)域所對應(yīng)的中繼節(jié)點選擇完成;
步驟224,將所述請求節(jié)點請求的數(shù)據(jù)包平均分為na塊,將平均分成的na塊數(shù)據(jù)塊繼續(xù)分塊,對繼續(xù)分塊后的數(shù)據(jù)使用隨機(jī)線性網(wǎng)絡(luò)編碼進(jìn)行編碼;
步驟225,將編碼后的數(shù)據(jù)塊發(fā)送至每個緩存預(yù)置區(qū)域?qū)?yīng)的中繼節(jié)點。
8.根據(jù)權(quán)利要求6所述的基于區(qū)域協(xié)作緩存的D2D內(nèi)容分發(fā)方法,其特征在于,所述步驟22之后還包括:
步驟24,在所述數(shù)據(jù)源節(jié)點向所述中繼節(jié)點發(fā)送數(shù)據(jù)的過程中,所述中繼節(jié)點還用于判斷所述中繼節(jié)點當(dāng)前位置到所述中繼節(jié)點終點位置的連線與所述中繼節(jié)點自身的移動方向夾角是否小于45度,若是,則重復(fù)步驟22;
否則,則刪除所述中繼節(jié)點自身的緩存數(shù)據(jù),不再繼續(xù)作為中繼節(jié)點。
9.根據(jù)權(quán)利要求6所述的基于區(qū)域協(xié)作緩存的D2D內(nèi)容分發(fā)方法,其特征在于,所述步驟3包括:
步驟31,當(dāng)中繼節(jié)點攜帶相應(yīng)的數(shù)據(jù)到達(dá)相應(yīng)的緩存預(yù)置區(qū)域后,獲取處于所述中繼節(jié)點自身通信范圍和相應(yīng)的緩沖預(yù)置區(qū)域交集內(nèi)的緩存節(jié)點;
步驟32,將所述中繼節(jié)點攜帶的相應(yīng)數(shù)據(jù)傳輸至獲取到的所述緩存節(jié)點,若所述中繼節(jié)點還攜帶有前一緩存預(yù)置區(qū)域的數(shù)據(jù),且本區(qū)域數(shù)據(jù)傳輸完成后仍與所述緩存節(jié)點保持連接,則繼續(xù)向所述緩存節(jié)點傳輸前一緩存預(yù)置區(qū)域的數(shù)據(jù)直至連接中斷;
步驟33,通過所述緩存節(jié)點在相應(yīng)的緩存預(yù)置區(qū)域內(nèi)尋找新的緩存節(jié)點并分發(fā)數(shù)據(jù),在數(shù)據(jù)分發(fā)結(jié)束后判斷所述緩存節(jié)點自身是否仍處于相應(yīng)的緩存預(yù)置區(qū)域內(nèi),若仍處于相應(yīng)的緩存預(yù)置區(qū)域內(nèi),則保留自身攜帶的緩存數(shù)據(jù);否則,則刪除自身攜帶的緩存數(shù)據(jù),不再作為相應(yīng)的緩存預(yù)置區(qū)域內(nèi)的緩存節(jié)點。
10.根據(jù)權(quán)利要求9所述的基于區(qū)域協(xié)作緩存的D2D內(nèi)容分發(fā)方法,其特征在于,所述步驟3還包括:
步驟34,當(dāng)所述請求節(jié)點到達(dá)某緩存預(yù)置區(qū)域時,判斷當(dāng)前緩存預(yù)置區(qū)域是否緩存有前一緩存預(yù)置區(qū)域的數(shù)據(jù),且緩存的數(shù)據(jù)量是否滿足所述請求節(jié)點的需求;若緩存的數(shù)據(jù)量滿足所述請求節(jié)點的需求,則當(dāng)前緩存預(yù)置區(qū)域內(nèi)的緩存節(jié)點直接向所述請求節(jié)點發(fā)送本區(qū)域數(shù)據(jù);若緩存的數(shù)據(jù)量不滿足所述請求節(jié)點的需求,且當(dāng)前緩存預(yù)置區(qū)域內(nèi)的緩存節(jié)點攜帶有前一緩存預(yù)置區(qū)域的數(shù)據(jù),則當(dāng)前緩存預(yù)置區(qū)域內(nèi)的緩存節(jié)點先向所述請求節(jié)點發(fā)送前一緩存預(yù)置區(qū)域缺少的數(shù)據(jù)再發(fā)送本區(qū)域數(shù)據(jù);當(dāng)所述請求節(jié)點收到足夠的本區(qū)域數(shù)據(jù)時,立即使用隨機(jī)線性網(wǎng)絡(luò)編碼進(jìn)行解碼,則此部分?jǐn)?shù)據(jù)傳輸完成;
步驟35,當(dāng)所述請求節(jié)點到達(dá)新的緩存預(yù)置區(qū)域時,重復(fù)步驟34,直至所述請求節(jié)點離開最后一個緩存預(yù)置區(qū)域。