一种基于区域协作缓存的D2D内容分发方法与流程

文档序号:12753063阅读:217来源:国知局
一种基于区域协作缓存的D2D内容分发方法与流程

本发明涉及通信技术领域,特别是指一种基于区域协作缓存的D2D内容分发方法



背景技术:

近年来,随着多媒体技术与移动网络的不断发展,传统的无线蜂窝网络已无法满足用户对于带宽的需求。业界提出了Device-to-Device(设备到设备,D2D)连接使得移动终端可以互相交换数据,辅助蜂窝网络进行内容分发。然而无线移动D2D网络虽然有传输速度快、通信资费低的优点,但同时也存在通信范围受限,网络拓扑多变的缺点。当网络中的节点移动较为频繁时,D2D连接可能会因节点移动出通信范围而中断,进而导致传输失败。

目前针对该问题主要有两种解决思路:(1)请求发生前预先部署缓存资源;(2)请求发生后筛选最佳中继节点。

第一种思路综合考量全网中的节点与数据资源,使用特定机制优化缓存资源部署位置,此种方式特点是未雨绸缪,主动优化资源部署而不依赖请求信息,协作缓存方法是其中的代表,Zhuo等人提出根据“中心度”来优化缓存部署的协作缓存机制。“中心度”是由节点的地理位置、连接度等参数综合计算而来,用来判断该节点可能参与传输的概率。“中心度”数值会随节点移动而变化,网络中的资源部署因此保持着动态优化,由此可缓解D2D网络中节点频繁移动的问题。但该方法的缺点是小区内的资源分布不平均,在靠近小区边缘的区域缓存资源较为匮乏,若请求节点在此发起请求,则很难在短时间内获得足够的资源。

第二种思路主要研究在请求开始后如何筛选最佳的中继节点,代表方法是机会路由,机会路由充分利用无线信道的广播特性,基于特定测度自动选择每跳中的最佳中继节点,该方法根据每一跳传输完成后的结果来选择最佳中继节点,以此可解决节点移动的随机性问题,但该方法每一跳传输时均需将资源广播至通信范围内的全部节点,对信道与节点资源有着极大的浪费。



技术实现要素:

本发明要解决的技术问题是提供一种基于区域协作缓存的D2D内容分发方法,以解决现有技术所存在的当请求节点在缓存资源匮乏的位置发起请求时难以在短时间内获得足够的请求数据,以及将请求的数据广播至通信范围内的全部节点会造成信道与节点资源浪费的问题。

为解决上述技术问题,本发明实施例提供一种基于区域协作缓存的D2D内容分发方法,包括:

步骤1,根据请求节点的移动趋势信息和请求数据信息,获取所需的缓存预置区域的数目与位置;

步骤2,根据所述请求节点的移动趋势信息,获取中继节点,所述中继节点用于在所述请求节点到达所述缓存预置区域之前,将所述请求节点请求的数据携带至所述缓存预置区域;

步骤3,当所述请求节点到达所述缓存预置区域后,在每个缓存预置区域获取部分的请求数据,并通过所有的缓存预置区域协作来获得全部的请求数据。

进一步地,所述步骤1之前还包括:

获取所述请求节点的移动终点位置及当前位置;

根据获取的所述请求节点的移动终点位置及当前位置,对所述请求节点的行进路线进行预测,得到所述请求节点的移动趋势信息。

进一步地,所述步骤1包括:

步骤11,根据所述请求数据信息中的请求数据包大小与D2D通信带宽,得出所述请求节点请求的数据所需的传输时间;

步骤12,根据网络中的节点密度得出所述缓存预置区域的半径;

步骤13,根据所述缓存预置区域的半径与所述请求节点的移动速度,得出所述请求节点在所述缓存预置区域内的期望停留时间;

步骤14,根据所述传输时间与所述期望停留时间,获取所需的缓存预置区域的数目na,根据所述请求数据信息中的请求数据包大小及所需的缓存预置区域的数目na得出每个缓存预置区域所需部署的缓存数据量,并将所述请求节点请求的数据按每个缓存预置区域所需部署的缓存数据量进行分块;

步骤15,按照预设的时间条件,根据所述请求节点的移动趋势信息和平均移动速度得出所述请求节点最快取到请求数据的位置Dt,并以所述Dt为圆心的区域作为所述请求节点最快到达区域;

步骤16,判断所述最快到达区域是否是第一个缓存预置区域;

步骤17,若是,在确定第一个缓存预置区域之后,以所述请求节点的移动终点位置为起点,以缓存预置区域的直径为步长,以所述第一个缓存预置区域的圆心为终点,根据所述请求节点的移动趋势信息(所述请求节点的行进路线),确定下一个缓存预置区域的圆心位置,直至确定所有缓存预置区域的圆心位置,其中,各缓存预置区域的半径相同。

进一步地,所述步骤15包括:

步骤151,获取数据源节点的位置Ds;

步骤152,获取所述请求节点行进一半路程时的位置

步骤153,根据所述请求节点的平均移动速度,获取从所述请求节点的当前位置到达时的用时与从所述数据源节点的位置Ds到达时的用时

步骤154,若则取到所述请求节点的当前位置的中点为否则,则取到所述请求节点的移动终点位置的中点为

步骤155,迭代执行步骤151-步骤154,直至所述请求节点比所述数据源节点到某地时的用时更长,且不多于30秒,则此时的为所述请求节点最快取到请求数据的位置Dt,其中,所述为第n次迭代时所述请求节点行进一半路程时的位置。

进一步地,所述步骤16包括:

步骤161,将所述Dt展示给用户,由用户确认是否会经过此地;

步骤162,若用户确定会经过此地,则将所述最快到达区域作为第一个缓存预置区域;

步骤163,若用户不确定会经过此地,则根据预测的所述请求节点的行进路线,在所述Dt到所述请求节点的移动终点位置之间的范围内选取一个距离所述Dt最近且会经过的位置作为第一个缓存预置区域的圆心。

进一步地,所述步骤2包括:

步骤21,将所述请求节点的请求数据信息、得到的每个缓存预置区域的圆心坐标、半径及所需部署的缓存数据量发送给所述数据源节点;

步骤22,查找所述数据源节点通信范围内的移动节点,根据每个移动节点的移动信息,从查找到的所述数据源节点通信范围内的移动节点中选取k个移动节点作为本次传输的中继节点,将所述请求节点请求的数据分成na块并进行随机线性网络编码处理后向选取的k个中继节点发送数据;

步骤23,通过选取的k个中继节点将所述请求节点请求的数据携带至相应的缓存预置区域。

进一步地,所述步骤22包括:

步骤221,以第一个缓存预置区域为目标区域;

步骤222,判断每个移动节点的移动方向,若移动方向将会穿过所述目标区域的移动节点的数目大于k,则比较相应移动节点的当前位置,选取距离所述目标区域最近的k个移动节点作为中继节点;否则,则选取移动方向离所述目标区域中心偏移最少的k个移动节点作为中继节点;

步骤223,以下一个缓存预置区域为目标区域,重复步骤222,选取k个中继节点,直至所有缓存预置区域所对应的中继节点选择完成;

步骤224,将所述请求节点请求的数据包平均分为na块,将平均分成的na块数据块继续分块,对继续分块后的数据使用随机线性网络编码进行编码;

步骤225,将编码后的数据块发送至每个缓存预置区域对应的中继节点。

进一步地,所述步骤22之后还包括:

步骤24,在所述数据源节点向所述中继节点发送数据的过程中,所述中继节点还用于判断所述中继节点当前位置到所述中继节点终点位置的连线与所述中继节点自身的移动方向夹角是否小于45度,若是,则重复步骤22;

否则,则删除所述中继节点自身的缓存数据,不再继续作为中继节点。

进一步地,所述步骤3包括:

步骤31,当中继节点携带相应的数据到达相应的缓存预置区域后,获取处于所述中继节点自身通信范围和相应的缓冲预置区域交集内的缓存节点;

步骤32,将所述中继节点携带的相应数据传输至获取到的所述缓存节点,若所述中继节点还携带有前一缓存预置区域的数据,且本区域数据传输完成后仍与所述缓存节点保持连接,则继续向所述缓存节点传输前一缓存预置区域的数据直至连接中断;

步骤33,通过所述缓存节点在相应的缓存预置区域内寻找新的缓存节点并分发数据,在数据分发结束后判断所述缓存节点自身是否仍处于相应的缓存预置区域内,若仍处于相应的缓存预置区域内,则保留自身携带的缓存数据;否则,则删除自身携带的缓存数据,不再作为相应的缓存预置区域内的缓存节点。

进一步地,所述步骤3还包括:

步骤34,当所述请求节点到达某缓存预置区域时,判断当前缓存预置区域是否缓存有前一缓存预置区域的数据,且缓存的数据量是否满足所述请求节点的需求;若缓存的数据量满足所述请求节点的需求,则当前缓存预置区域内的缓存节点直接向所述请求节点发送本区域数据;若缓存的数据量不满足所述请求节点的需求,且当前缓存预置区域内的缓存节点携带有前一缓存预置区域的数据,则当前缓存预置区域内的缓存节点先向所述请求节点发送前一缓存预置区域缺少的数据再发送本区域数据;当所述请求节点收到足够的本区域数据时,立即使用随机线性网络编码进行解码,则此部分数据传输完成;

步骤35,当所述请求节点到达新的缓存预置区域时,重复步骤34,直至所述请求节点离开最后一个缓存预置区域。

本发明的上述技术方案的有益效果如下:

上述方案中,根据请求节点的移动趋势信息和请求数据信息,获取所需的缓存预置区域的数目与位置;根据所述请求节点的移动趋势信息,获取中继节点,在所述请求节点到达相应的缓存预置区域之前,由所述中继节点携带所述请求节点请求的数据到达相应的缓存预置区域进行缓存;当所述请求节点到达所述缓存预置区域后,在每个缓存预置区域获取部分的请求数据,并通过所有的缓存预置区域协作来获得所述请求节点全部的请求数据,这样,根据所述请求节点的移动趋势信息和请求数据信息部署缓存,请求节点的具体位置对数据分发无影响,并根据所述请求节点的移动趋势信息,获取中继节点,不存在机会路由的资源浪费问题,从而可以提高网络传输的质量和可靠性。

附图说明

图1为本发明实施例提供的基于区域协作缓存的D2D内容分发方法的流程示意图;

图2为本发明实施例提供的获取最快到达区域的中心位置的示意图;

图3为本发明实施例提供的判断最快到达区域是否是第一个缓存预置区域的示意图;

图4为本发明实施例提供的当中继节点到达对应的缓存预置区域后,获取当前缓存预置区域内的缓存节点的示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明针对现有的D2D网络节点移动导致的通信中断,以及将请求的数据广播至通信范围内的全部节点会造成信道与节点资源浪费的问题,提供一种基于区域协作缓存的D2D内容分发方法。

实施例一

参看图1所示,本发明实施例提供的基于区域协作缓存的D2D内容分发方法,包括:

步骤1,根据请求节点的移动趋势信息和请求数据信息,获取所需的缓存预置区域的数目与位置;

步骤2,根据所述请求节点的移动趋势信息,获取中继节点,所述中继节点用于在所述请求节点到达所述缓存预置区域之前,将所述请求节点请求的数据携带至所述缓存预置区域;

步骤3,当所述请求节点到达所述缓存预置区域后,在每个缓存预置区域获取部分的请求数据,并通过所有的缓存预置区域协作来获得全部的请求数据。

本发明实施例所述的基于区域协作缓存的D2D内容分发方法,根据请求节点的移动趋势信息和请求数据信息,获取所需的缓存预置区域的数目与位置;根据所述请求节点的移动趋势信息,获取中继节点,在所述请求节点到达相应的缓存预置区域之前,由所述中继节点携带所述请求节点请求的数据到达相应的缓存预置区域进行缓存;当所述请求节点到达所述缓存预置区域后,在每个缓存预置区域获取部分的请求数据,并通过所有的缓存预置区域协作来获得所述请求节点全部的请求数据,这样,根据所述请求节点的移动趋势信息和请求数据信息部署缓存,请求节点的具体位置对数据分发无影响,并根据所述请求节点的移动趋势信息,获取中继节点,不存在机会路由的资源浪费问题,从而可以提高网络传输的质量和可靠性。

本实施例中,为了解决现有的D2D网络节点移动导致的通信中断,以及将请求的数据广播至通信范围内的全部节点会造成信道与节点缓存空间浪费的问题,本实施例提出了一种基于区域协作缓存的D2D数据分发方法,通过分析请求节点的移动趋势信息和请求数据信息来规划缓存预置区域,并利用中继节点的移动将所述请求节点请求的数据携带至已规划的缓存预置区域,再由各缓存预置区域协作完成内容分发。在本实施例中,主要要解决以下三个基本问题:

(1)当某请求节点请求数据时,需解决的问题是如何根据请求节点的移动趋势信息来规划缓存预置区域;

(2)在规划缓存预置区域后,需解决的问题是如何选择中继节点来携带所述请求节点请求的数据(缓存数据)至已规划的缓存预置区域中;

(3)当中继节点携带缓存数据到达缓存预置区域后,需解决的问题是如何在缓存预置区域内部署缓存数据,并在请求节点到达缓存预置区域后如何由各缓存预置区域协作完成数据分发。

本实施例中,所述请求节点可以为移动终端,该移动终端可以通过基站接入网络,或,通过D2D与其他移动终端进行通信,该移动终端需要能接入地图和导航数据的应用(Application,APP),并具备全球定位系统(Global Positioning System,GPS)功能。

本实施例中,为了解决问题(1),当有新的请求节点准备加入网络时,可以由用户在移动终端中输入移动终点,得到移动终点坐标(xdn,ydn),并使用GPS可获取所述新的请求节点的当前位置坐标(xln,yln),进而由导航APP预测所述新的请求节点的行进路线,从而得到所述新的请求节点的移动趋势信息。

本实施例中,作为一可选实施例,所述步骤1之前还包括:

获取所述请求节点的移动终点位置及当前位置;

根据获取的所述请求节点的移动终点位置及当前位置,对所述请求节点的行进路线进行预测,得到所述请求节点的移动趋势信息。

本实施例中,当网络中有请求节点请求数据时,为了解决问题(1),还需执行以下操作:

A11,根据网络中的节点密度p(所述节点密度指每平方米中的节点数量)得出每个缓存预置区域的半径其中,所述缓存预置区域为圆形;

A12,由所述节点密度及所述请求节点的移动速度vd(可以指平均移动速度)得出所述请求节点在所述缓存预置区域内的最大停留时间tsm=2r/vd,由于请求节点可能不是沿缓存预置区域的直径穿过,但大多数情况下停留时间不小于因此取作为在所述请求节点在每个缓存预置区域内的期望停留时间;

A13,根据所述请求数据信息中的请求数据包大小m与D2D通信带宽B可得出所述请求节点请求的数据所需的传输时间t=m/B;

A14,根据所述传输时间t与所述期望停留时间tse,得到所需的缓存预置区域的数目以及每个缓存预置区域所需部署的缓存数据量mn=m/na,并将所述请求节点请求的数据按每个缓存预置区域所需部署的缓存数据量mn进行分块;

A 15,按照预设的时间条件,根据所述请求节点的移动趋势信息和平均移动速度得出所述请求节点最快取到请求数据的位置Dt,并以所述Dt为圆心的区域作为所述请求节点最快到达区域;

A 16,判断所述最快到达区域是否是第一个缓存预置区域;

A 17,若是第一个缓存预置区域,则在确定所述第一个缓存预置区域之后,按以下方式确定其余的缓存预置区域的位置:以所述请求节点的移动终点位置为起点,以缓存预置区域的直径为步长,以所述第一个缓存预置区域的圆心为终点,根据所述请求节点的移动趋势信息,确定下一个缓存预置区域的圆心位置,直至确定所有缓存预置区域的圆心位置,其中,各缓存预置区域的半径相同。这样,其余的缓存预置区域依次排列于所述第一个缓存预置区域之后,在所述请求节点的行进路线上首尾相接。

依次排列于所述第一个缓存预置区域之后,在所述请求节点的行进路线上首尾相接。

本实施例中,作为一可选实施例,所述步骤1包括:

步骤11,根据所述请求数据信息中的请求数据包大小与D2D通信带宽,得出所述请求节点请求的数据所需的传输时间;

步骤12,根据网络中的节点密度得出所述缓存预置区域的半径;

步骤13,根据所述缓存预置区域的半径与所述请求节点的移动速度,得出所述请求节点在所述缓存预置区域内的期望停留时间;

步骤14,根据所述传输时间与所述期望停留时间,获取所需的缓存预置区域的数目na,根据所述请求数据信息中的请求数据包大小及所需的缓存预置区域的数目na得出每个缓存预置区域所需部署的缓存数据量,并将所述请求节点请求的数据按每个缓存预置区域所需部署的缓存数据量进行分块;

步骤15,按照预设的时间条件,根据所述请求节点的移动趋势信息和平均移动速度得出所述请求节点最快取到请求数据的位置Dt,并以所述Dt为圆心的区域作为所述请求节点最快到达区域;

步骤16,判断所述最快到达区域是否是第一个缓存预置区域;

步骤17,若是,在确定第一个缓存预置区域之后,以所述请求节点的移动终点位置为起点,以缓存预置区域的直径为步长,以所述第一个缓存预置区域的圆心为终点,根据所述请求节点的移动趋势信息,确定下一个缓存预置区域的圆心位置,直至确定所有缓存预置区域的圆心位置,其中,各缓存预置区域的半径相同。

本实施例中,在A15中,根据请求节点的移动趋势信息(预测的行进路线)和平均移动速度ν可以利用二分法得出所述请求节点最快可以得到数据的位置Dt,并将其作为“最快到达区域”的圆心,其中,所述最快到达区域的半径记所述请求节点的当前位置为Dstart,移动终点位置为Dstop;通过基站查找数据源节点位置记为Ds;首先计算所述请求节点行进一半路程时的位置记为根据所述请求节点的平均移动速度,可以获得所述请求节点由Dstart到达此地的用时与所述数据源节点由Ds到达此地的用时若则取到Dstart的中点为否则,取到Dstop的中点为迭代上述步骤直至则此时的即为Dt,其中,所述为第n次迭代时所述请求节点行进一半路程时的位置,如图2所示。

本实施例中,作为一可选实施例,所述步骤15包括:

步骤151,获取数据源节点的位置Ds;

步骤152,获取所述请求节点行进一半路程时的位置

步骤153,根据所述请求节点的平均移动速度,获取从所述请求节点的当前位置到达时的用时与从所述数据源节点的位置Ds到达时的用时

步骤154,若则取到所述请求节点的当前位置的中点为否则,则取到所述请求节点的移动终点位置的中点为

步骤155,迭代执行步骤151-步骤154,直至所述请求节点比所述数据源节点到某地时的用时更长,且不多于30秒,则此时的为所述请求节点最快取到请求数据的位置,其中,所述为第n次迭代时所述请求节点行进一半路程时的位置。

本实施例中,在A 16中,将Dt显示在预定的APP中展示给用户,并由用户确认是否会经过此地,如图3所示;若用户确认会经过此地,则将Dt为圆心的区域作为离用户最近的缓存预置区域(最快到达区域),记作“第一个缓存预置区域”;若用户不确定会经过此地,则按如下方式重新选择第一个缓存预置区域:

根据预测的请求节点的行进路线,在Dt到请求节点的移动终点位置Dstop之间的范围内选择出一个距Dt最近且会经过的位置,作为第一个缓存预置区域的圆心。

本实施例中,作为一可选实施例,所述步骤16包括:

步骤161,将所述Dt展示给用户,由用户确认是否会经过此地;

步骤162,若用户确定会经过此地,则将所述最快到达区域作为第一个缓存预置区域;

步骤163,若用户不确定会经过此地,则根据预测的所述请求节点的行进路线,在所述Dt到所述请求节点的移动终点位置之间的范围内选取一个距离所述Dt最近且会经过的位置作为第一个缓存预置区域的圆心。

本实施例中,为了解决问题(2),可以执行以下步骤:

A21,当规划好每个缓存预置区域的圆心坐标、半径及所需部署的缓存数据量后,可以通过基站将所述请求节点的请求数据信息、每个缓存预置区域的圆心坐标、半径及所需部署的缓存数据量发送给数据源节点;

A22,所述数据源节点查找其通信范围内的移动节点,根据每个移动节点移动信息挑选出最佳的k个作为本次传输的中继节点,将所述请求节点请求的数据分成na块并使用随机线性网络编码处理后向选取的k个中继节点发送数据;

A 23,通过选取的k个中继节点将所述请求节点请求的数据携带至相应的缓存预置区域。

在前述基于区域协作缓存的D2D内容分发方法的具体实施方式中,进一步地,所述步骤2包括:

步骤21,将所述请求节点的请求数据信息、得到的每个缓存预置区域的圆心坐标、半径及所需部署的缓存数据量发送给所述数据源节点;

步骤22,查找所述数据源节点通信范围内的移动节点,根据每个移动节点的移动信息,从查找到的所述数据源节点通信范围内的移动节点中选取k个移动节点作为本次传输的中继节点,将所述请求节点请求的数据分成na块并进行随机线性网络编码处理后向选取的k个中继节点发送数据;

步骤23,通过选取的k个中继节点将所述请求节点请求的数据携带至相应的缓存预置区域。

本实施例中,在A22中,具体包括:数据源节点收到所述请求节点的请求数据信息、每个缓存预置区域的圆心坐标、半径及所需部署的缓存数据量后,立即查找处于其通信范围内的移动节点,将其列为潜在的中继节点,询问所述处于其通信范围内的移动节点的当前位置与移动终点位置并得出每个移动节点的移动方向;接着,以第一个缓存预置区域为目标区域,判断每个移动节点的移动方向,若将会经过目标区域的移动节点的数目大于k个(其中,k为预设值),则进一步比较移动节点的当前位置,挑选距离目标区域最近的k个移动节点作为中继节点;若移动方向穿过所述目标区域的移动节点的数目不足k个,则挑选移动方向距目标区域圆心偏移最少的k个移动节点作为中继节点;以上述方法更换目标区域进行迭代,直至所有缓存预置区域所对应中继节点选择完成;接着,所述数据源节点将所述请求节点请求的数据按缓存预置区域的数目进行分块,每一个缓存预置区域负责一块数据且每块数据中的数据量相同;数据源节点依次将数据块发送给各缓存预置区域对应的中继节点,发送前将数据块进一步分为pn块(pn的值由每个数据块大小确定),并使用随机线性网络编码进行编码处理;若某中继节点同时负责多个缓存预置区域的传输任务,则向所述中继节点平均发送多个缓存预置区域的数据;若某中继节点自身传输任务完成后仍与数据源节点保持连接,则继续向所述中继节点传输前一缓存预置区域的数据直至连接中断。

本实施例中,作为一可选实施例,所述步骤22包括:

步骤221,以第一个缓存预置区域为目标区域;

步骤222,判断每个移动节点的移动方向,若移动方向将会穿过所述目标区域的移动节点的数目大于k,则比较相应移动节点的当前位置,选取距离所述目标区域最近的k个移动节点作为中继节点;否则,则选取移动方向离所述目标区域中心偏移最少的k个移动节点作为中继节点;

步骤223,以下一个缓存预置区域为目标区域,重复步骤222,选取k个中继节点,直至所有缓存预置区域所对应的中继节点选择完成;

步骤224,将所述请求节点请求的数据包平均分为na块,将平均分成的na块数据块继续分块,对继续分块后的数据使用随机线性网络编码进行编码;

步骤225,将编码后的数据块发送至每个缓存预置区域对应的中继节点。

在前述基于区域协作缓存的D2D内容分发方法的具体实施方式中,进一步地,所述步骤22之后还包括:

步骤24,在所述数据源节点向所述中继节点发送数据的过程中,所述中继节点还用于判断所述中继节点当前位置到所述中继节点终点位置的连线与所述中继节点自身的移动方向夹角是否小于45度,若是,则重复步骤22;

否则,则删除所述中继节点自身的缓存数据,不再继续作为中继节点。

本实施中,从数据源节点收到请求数据的请求时刻开始,网络中每τ秒为一次传输时刻,数据源节点在向中继节点发送数据时告知其请求时刻具体信息。在所述数据源节点向所述中继节点传输数据时,此时携带缓存数据的中继节点会判断自身是否有机会与请求节点相遇;判断依据为本中继节点的当前位置到本中继节点的终点位置的连线与自身移动方向夹角是否小于45度,若是则重复步骤22,所述数据源节点继续寻找新的中继节点并向本中继节点发送数据;否则,则删除本中继节点自身的缓存数据,不再继续作为中继节点。

本实施例中,为了解决问题(3),可以执行以下步骤:

A31,当某中继节点发现自身已携带相应的数据到达对应的缓存预置区域后,其不再执行步骤24,而是立即获取处于所述中继节点通信范围和对应的缓冲预置区域交集内的节点,将获取到的所述节点记为缓存节点,如图4所示;

A32,将将所述中继节点携带的相应数据卸载下来交给所述缓存节点;若该中继节点除携带本区域数据外,还携带有前一缓存预置区域的数据,且本区域数据发送完成后仍与当前缓存预置区域内的缓存节点保持连接,则继续向其发送前一缓存预置区域的数据直至连接中断;

A33,所述当前缓存预置区域内的缓存节点在接收到数据后,进一步寻找新的缓存节点,并分发数据,直到无法找到新的缓存节点,以保持缓存预置区域内的缓存数据量;在数据分发结束后判断所述缓存节点自身是否仍处于对应的缓存预置区域内,若仍处于相应的缓存预置区域内则保留自身携带的缓存数据;若已离开相应的缓存预置区域内则删除携带的缓存数据,不再作为区域缓存节点。

本实施例中,作为一可选实施例,所述步骤3包括:

步骤31,当中继节点携带相应的数据到达相应的缓存预置区域后,获取处于所述中继节点自身通信范围和相应的缓冲预置区域交集内的缓存节点;

步骤32,将所述中继节点携带的相应数据传输至获取到的所述缓存节点,若所述中继节点还携带有前一缓存预置区域的数据,且本区域数据传输完成后仍与所述缓存节点保持连接,则继续向所述缓存节点传输前一缓存预置区域的数据直至连接中断;

步骤33,通过所述缓存节点在相应的缓存预置区域内寻找新的缓存节点并分发数据,在数据分发结束后判断所述缓存节点自身是否仍处于相应的缓存预置区域内,若仍处于相应的缓存预置区域内,则保留自身携带的缓存数据;否则,则删除自身携带的缓存数据,不再作为相应的缓存预置区域内的缓存节点。

本实施例中,为了解决问题(3),还需以继续执行以下步骤:

A34,若请求节点到达某缓存预置区域,首先判断其是否缓存有前一缓存预置区域的数据,且缓存的数据量满足请求节点需求;若缓存数据量满足需求,则当前缓存预置区域内的缓存节点直接向所述请求节点发送本区域数据;若缓存数据量不足,且当前缓存预置区域内的缓存节点携带有前一缓存预置区域的数据,则优先向所述请求节点发送前一缓存预置区域缺少的数据再发送本区域数据,否则直接发送本区域数据;当所述请求节点收到足够的本区域数据时,立即使用随机线性网络编码进行解码,则此部分数据传输完成;

A35,当所述请求节点到达新的缓存预置区域时,重复A34,直至请求节点离开最后一个缓存预置区域。

本实施例中,作为一可选实施例,所述步骤3还包括:

步骤34,当所述请求节点到达某缓存预置区域时,判断当前缓存预置区域是否缓存有前一缓存预置区域的数据,且缓存的数据量是否满足所述请求节点的需求;若缓存的数据量满足所述请求节点的需求,则当前缓存预置区域内的缓存节点直接向所述请求节点发送本区域数据;若缓存的数据量不满足所述请求节点的需求,且当前缓存预置区域内的缓存节点携带有前一缓存预置区域的数据,则当前缓存预置区域内的缓存节点先向所述请求节点发送前一缓存预置区域缺少的数据再发送本区域数据;当所述请求节点收到足够的本区域数据时,立即使用随机线性网络编码进行解码,则此部分数据传输完成;

步骤35,当所述请求节点到达新的缓存预置区域时,重复步骤34,直至所述请求节点离开最后一个缓存预置区域。

本实施例中,在所述请求节点到达相应的缓存预置区域之前,由所述中继节点携带所述请求节点请求的数据到达相应的缓存预置区域,并由相应的缓存预置区域内的缓存节点协作部署好相应的请求数据。当所述请求节点每到达一个缓存预置区域后可获得一部分的请求数据,若所述请求节点请求的是视频资源,则在完成第一个缓存预置区域的传输后可实现边看边传输。

本实施例中,执行步骤35后,此时若所述请求节点仍未收到所述请求数据信息请求的全部数据,则在所述请求节点的终点位置重新规划一个缓存预置区域,再次执行步骤2和步骤3,将所述请求节点缺少的数据部署到所述重新规划的缓存预置区域中,并在所述请求节点到达移动终点时完成数据分发;若所述请求节点收到所述请求数据信息请求的全部数据,则此次数据请求完成。以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1