CN104253851A - 一种移动ccn中数据缓存的节点分组方法 - Google Patents
一种移动ccn中数据缓存的节点分组方法 Download PDFInfo
- Publication number
- CN104253851A CN104253851A CN201410085384.1A CN201410085384A CN104253851A CN 104253851 A CN104253851 A CN 104253851A CN 201410085384 A CN201410085384 A CN 201410085384A CN 104253851 A CN104253851 A CN 104253851A
- Authority
- CN
- China
- Prior art keywords
- node
- array
- triangle
- ccn
- data structure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于网络技术领域,涉及一种移动CCN中数据缓存的节点分组方法。本发明包括:对于CCN中任意第一节点Pi、第二节点Pj,计算两个节点之间的距离Dij;执行Dij搜索算法,求出距离小于CCN节点间通信距离阈值L的节点对;执行△Hx搜索算法,根据△Hx算法求出所有△Hx,即求出所有满足要求CCN节点分组;根据计算出的△Hx,执行MAX△搜索算法,求出一个MAX△,取得最优划分结果。本发明在节点密度较大、缓存空间较小时,与移动CCN默认的缓存算法相比,节点划分缓存算法降低了内容请求时延,减少了内容重复请求率,显著提高了移动CCN网络数据传输性能,具有更高的缓存效率。
Description
技术领域
本发明属于网络技术领域,涉及一种移动CCN中数据缓存的节点分组方法。
背景技术
目前,互联网已经成为集信息采集、传输、存储与处理于一体的信息社会的重要基础设施。人们对网络的移动性要求越来越高。如何提高移动互联网络中内容分发效率,已成为无线通信的重点研究领域。
一种新型的网络体系结构,内容中心网络(Content-Centric Network,CCN)以内容为中心寻找需要的资源,即利用资源的名称寻找路由,替代了以往以IP为中心端到端的通信模式。CCN网络的最大特点是节点之间发送数据不需要事先建立连接,这种模式对网络的移动性有较强的适应能力。另外,CCN节点增加了数据缓存特性,可以进一步增强CCN对移动网络的支持。
针对高密度分布的移动CCN网络,如何能既保证正确有效的数据传输、降低CCN节点同时工作的密度,又节省整个网络系统的能量使网络寿命最大化;以及在节点频繁移动的情况下,进行节点的合理调度来保障整个网络进行有效的数据传输,本文提出了一种移动CCN中数据缓存的节点分组策略。
本发明首先基于移动CCN网络节点位置信息,研究了高密度分布移动CCN网络的节点划分算法。从全局节点的分布上考虑,通过限定节点间通信距离阀值上限,然后将整个网络区域划分成无公用节点的分组网络,并取得一个最优分组划分。其次基于节点分组,研究了如何进行数据缓存,最后进行了仿真实验。在数据的请求时延,丢包率和缓存的命中率等方面对节点分组算法的有效性进行了评估和验证,并取得了较好的效果。
发明内容
本发明的目的在于提供一种降低了用户内容请求失效的概率的一种移动CCN中数据缓存的节点分组方法。
本发明的目的是这样实现的:
一种移动CCN中数据缓存的节点分组方法:
(1)对于CCN中任意第一节点Pi、第二节点Pj,计算两个节点之间的距离Dij;
(2)执行Dij搜索算法,求出距离小于CCN节点间通信距离阈值L的节点对;
(3)执行△Hx搜索算法,根据△Hx算法求出所有△Hx,即求出所有满足要求CCN节点分组;
(4)根据计算出的△Hx,执行MAX△搜索算法,求出一个MAX△,取得最优划分结果。
步骤(1)中两节点之间的距离Dij,是根据节点地理位置信息来计算该值的:
移动CCN中Level-2节点集合S(n)={P1,P2,…,Pn},Level-1节点通过一趟扫描得到所有Level-2层节点的X坐标和Y坐标的最小和最大值,记为Xmin,Xmax,Ymin,Ymax,此时形成了矩形区域F={F(x,y)|Xmin≤x≤Xmax,Ymin≤y≤Ymax},根据扫描到的节点位置信息计算任意两个节点之间的距离Dij。
步骤(2)所述的执行Dij搜索算法,求出距离小于CCN节点间通信距离阈值L的节点对包括:结构体Pstr={id,plink},id为节点集S(n)按X坐标轴排序后点的索引,plink为指向该类型结构体的指针,结构体Pstr型数组Q[n],其存储方式为:数组的索引分别对应排序后的CCN节点索引,即Q[c]=c,1≤c≤n,当节点Pi、Pj之间的距离Dij≤L时,在Q[i]和Q[j]后分别创建Pstr型节点Node1、Node2,并令Node1.idx=j,Node2.idx=i;
将CCN矩形区域F={F(x,y)|Xmin≤x≤Xmax,Ymin≤y≤Ymax}沿B边进行横向区域分割,分割边长为L;
区域S被分成了m个区域分别为S1,S2,…Sm,则点集S(n)近似地被分割成m=B/L份。令S(n)={S1,S2,…Sm},Si(i=1…m)所包含点数的数学期望值为n/m=nL/B;
Dij搜索算法的执行过程如下:
2.1)Level-1层节点扫描Level-2层节点集S(n),得到Xmin,Xmax,Ymin,Ymax,构成矩形区域F;
2.2)如果S(n)有序,则执行步骤2.4);如果无序,则采用随机选择快速排序方法将所有的点按X坐标非降序排列;
2.3)从节点集S(n)中划分出节点子集S1、S2;
2.4)对节点子集S1、,S2中的点分别按y坐标进行非降序排列,得到节点集合S'1、S'2;
2.5)如果S1与S2之间的距离大于通信阈值L,对节点子集S'1中的点Pi(xi,yi)做矩形窗Ri={y|yi≤y≤yi+L}∩(S'1∪S'2);
2.6)从点Pi开始沿y正向顺次搜索S'1、S'2,检查是否有点落入矩形窗Ri中,如果有点Pt落入矩形窗Ri中,则计算Pi、Pt两点之间的距离Dit,如果Dit<L,按照数据结构的存储规则将Pi,Pt分别写入链表中的相应位置,执行步骤2.9);
2.7)如果S1与S2之间的距离小于等于通信阈值L,对S'1中的点Pi(xi,yi)做矩形窗Ri={y|yi≤y≤yi+L}∩S'1;
2.8)从点Pi开始沿y正向顺次搜索S'1,检查是否有点落入矩形窗Ri中,若干有点Pj落入Ri中,则计算Pi、Pj两点之间的距离Dij,如果Dij<L,按照数据结构的存储规则将Pi,Pt分别写入链表中的相应位置,执行步骤2.9);
2.9)直到沿y正向顺次搜索并找到一点落入Ri外时,停止Pi点的矩形窗处理;
2.10)如果与点Pi满足距离小于等于通信阈值L的所有点的数量为1,则删除链接到数据结构Q[i]的节点,即令数据结构Q[i].plink=null;
2.11)对Pi+1点处理时使用同样的方式构造矩形窗Ri+1,从点Pi+1开始沿y正向顺次搜索是否有点落入矩形窗Ri+1中;
2.12)处理完节点区域S1,S2后再从节点集S(n)中划分出节点子集S3,转2.3)-2.9),按照处理S1,S2的方式处理S2、S3;待S(n)所有划分出的区域都处理完成时,便求出所有距离小于CCN节点间通信距离阈值L的节点对。
步骤(3)所述的执行△Hx搜索算法,其前提条件是执行完Dij搜索算法,根据△Hx算法求出所有满足条件的三角形△H(Pi,Pj,Pk)x记为△Hx,即求出所有满足条件的CCN节点分组,△H(Pi,Pj,Pk)x(i,j,k∈{1…n}),表示为从S(n)中选出三个点Pi,Pj,Pk组成的三角形,称(Dij、Dik、Dkj≤L)=TRUE的三角形为分组候选三角形,△Hx搜索算法的执行过程如下:
3.1)遍历结构体数组Q[n];
3.2)对于数组元素Q[i],如果与点Pi满足距离小于等于通信阈值L的所有点的数量大于等于2,则遍历链接到数据结构Q[i]后且与点Pi满足距离小于等于通信阈值L的所有节点,否则,遍历结构体数组Q[n]的下一个元素Q[i+1];
3.3)在遍历链接到数据结构Q[i]后第j个结点时,记Node[j].idx=k,如果没有节点链接到数据结构Q[k],则遍历链接到数据结构Q[i]后第j+1个结点;否则,按照遍历链接到数据结构Q[i]后节点的方式遍历链接到数据结构Q[k]后的所有节点;
3.4)在遍历链接到数据结构Q[k]后第c个结点时,记Node[c].idx=d,如果d=i或没有节点链接到数据结构Q[d],则遍历链接到数据结构Q[k]后第c+1个结点,否则,按相同的方式遍历链接到数据结构Q[d]后的所有节点;
3.5)在遍历链接到数据结构Q[d]后第e个结点时,记Node[e].idx=f,如果f=k,则遍历链接到数据结构Q[d]后第e+1个结点。如果f=i,则找到一个满足任意两个节点距离小于等于L的三角形△H(Pi,Pk,Pd)x,x值增1,然后遍历链接到数据结构Q[k]后第c+1个结点;
3.6)如果没有节点链接到数据结构Q[e],则遍历链接到数据结构Q[k]后第c+1个结点;
3.7)如果没有节点链接到数据结构Q[c],则遍历链接到数据结构Q[i]后第j+1个结点;
3.8)如果没有节点链接到数据结构Q[j],则遍历结构体数组Q[n]的下一个元素Q[i+1];
3.9)当遍历结构体数组Q[n]结束后,便找到了所有满足任意两个节点距离小于等于L的三角形。即根据△Hx算法求出所有△Hx。
步骤(4)所述的执行MAX△搜索算法,求出一个MAX△,取得最优划分结果,算法搜 索相容矩阵中可以组成元素全为1的下三角矩阵的最大满足三角形集合,三角形△M(Pi,Pj,Pk)y,简记为△My,并且△My∈△Hx,且为整数,将△My中的三个点表示为Py,对于Py所表示的所有三角形的点对于给定节点集S(n),称所有分组三角形的集合为分组集合,集合元素最多的分组集合为最大分组集合,记为MAX△,对于集合△Hx中的任意两个三角形,如果这两个三角形没有公共点,则称他们为相容三角形,集合△Hx中的任意一个三角形可以相容于自身,称这种性质为自容性,令集合△Hx中的元素数量为Z,构造Z×Z的byte数组W[U][V],U、V与△Hx中的x序号分别对应。如果△Hx1与△Hx2(1≤x1,x2≤Z)相容或自容,则令W[x1][x2]=W[x2][x1]=1,初始时令数组元素全为0,称这样的数组为相容矩阵,由一个相容矩阵必是一个对称矩阵和MAX△单独组成的相容矩阵必然满足所有矩阵元素为1可以得出算法的搜索策略,即搜索相容矩阵中可以组成元素全为1的下三角矩阵的最大满足三角形集合,MAX△搜索算法的执行过程如下:
4.1)记△Hx中x最大序号为Z,定义相容矩阵W[Z][Z],其各元素初始值均为0;
4.2)循环处理△Hx中每个三角形;
4.3)当处理到第i个三角形时,由于自容性,令元素W[i][i]=1;
4.4)将△Hi与其后三角形进行相容检查,如果△Hi与△Hj相容,则令元素W[j][i]=1。如果已检测完△Hi后所有三角形,则处理第i+1个三角形;
4.5)如果△Hx中每个三角形都已处理,则得到相容矩阵;
4.6)定义int型数组A[Z]和B[Z],存储当前待处理的可能为最优MAX△的所有候选三角形的编号。数组初始时所有元素均为0,且A[1]=B[1];
4.7)扫描相容矩阵的每一列;
4.8)每一列扫描前,假定当前所使用数组A或B中元素个数为1,数组A或B中某项存储的三角形编号为1以及假定当前行对应三角形可加入候选数组;
4.9)如果当前使用的是数组A,则令当前所使用数组中元素个数为数组A中存储的△My的个数;否则,为数组B中存储的△My的个数;
4.10)扫描相容矩阵的每一行;
4.11)扫描第L行时,检测第L行的三角形是否与当前使用的数组A或B中已存在的所有三角形相容。如果相容,将L行三角形加入数组中;
4.12)如果可以当前行对应三角形可加入候选数组并且当前所使用的数组为A,将第L行三角形编号添加到数组A中。如果可以当前行对应三角形可加入候选数组并且当前所使用的数组为B,将第L行三角形编号添加到数组B中;
4.13)所有行扫描结束后,如果当前使用的是候选数组A,并且A中△My的个数大于B的,则下一轮循环开始时使用候选数组B,如果不大于则仍旧使用A。如果当前使用的是候选数组B,并且B中△My的个数大于A的,则下一轮循环开始时使用候选数组A,如果不大于则仍旧使用B;
4.14)所以列扫描结束后,如果数组A中存储的△My的个数多于数组A中存储的△My的个数,则数组A中所有的序号对应的三角形即为一个MAX△;否则,数组A中所有的序号对应的三角形即为一个MAX△。
本发明的有益效果在于:
本发明针对MAX△分组网络,在每一个分组内进行缓存内容的同步,以及内容响应的合理调度。获得MAX△网络后,每个△Hx中的三个节点在地理位置上均处于可通信距离之内,可以在该△Hx内进行缓存内容同步,在移动过程中三个节点全部离开该△Hx的概率相对较小,留下的节点依然可以提供内容请求服务,降低了用户内容请求失效的概率。通过实验证明,在节点密度较大、缓存空间较小时,与移动CCN默认的缓存算法相比,节点划分缓存算法降低了内容请求时延,减少了内容重复请求率,显著提高了移动CCN网络数据传输性能,具有更高的缓存效率。
附图说明
图1是本发明的总流程图;
图2是本发明的最大分组集合示例图;
图3是本发明的数据存储结构示意图;
图4是本发明的区域分割与Dij搜索过程示意图;
图5是本发明的MAX△搜索过程示意图;
图6是本发明的相容矩阵填充示例示意图;
图7是本发明的节点速度对内容请求时延影响示意图;
图8是本发明的节点速度对内容重复请求率影响示意图;
图9是本发明的模拟时间对内容请求时延影响示意图;
图10是本发明的不同缓存大小对内容请求时延影响示意图。
具体实施方式
下面结合附图举例对本发明做更详细地描述。
本发明要解决的技术问题是:提供一种移动CCN中数据缓存的节点分组策略,其根据节点定位信息,通过限定节点间通信距离阀值上限,将整个网络区域划分成无公用节点的分组网络,且取得一个最优划分结果,之后在每个分组内进行实时内容同步。解决了移动CCN中 节点拓扑结构不断变化、缓存内容不断更新以及节点故障时如何保障节点数据有效、可靠且可被较长时间缓存等问题。
为解决上述问题,本发明提出了一种移动CCN中数据缓存的节点分组策略,将CCN节点按位置进行分组。节点划分算法包括三部分:Dij搜索算法、△Hx搜索算法和MAX△搜索算法。其工作流程如下所示:
1、对于CCN中任意两个节点Pi、Pj,计算它们之间的距离Dij。
2、执行Dij搜索算法,求出距离小于CCN节点间通信距离阈值L的节点对。
3、执行完Dij所搜算法后,执行△Hx搜索算法,根据△Hx算法求出所有△Hx,即求出所有满足要求CCN节点分组。
4、根据计算出的△Hx,执行MAX△搜索算法,求出一个MAX△,取得一个最优划分结果。
本发明采用基于NS-3的ndnSIM平台进行实验仿真。实验共配置72个节点,其中包括2个数据服务节点,负责接收网络中数据请求并进行响应,响应内容均为固定大小1024B。所有节点在200m长,100m宽的一个矩形范围内采用RandomWalk2dMobilityModel运动模型进行移动,网络采用泛洪(Flooding)的路由转发策略。节点缓存空间大小即CS表缓存内容条目的数量在实验中可以动态配置,默认为100。选取网络中40个节点为数据请求节点,配置数据请求应用程序,其余节点为内容中转节点。设定请求内容共3000种,用户数据请求过程符合泊松分布,请求频率为每秒10次。
移动CCN中Level-2节点集合S(n)={P1P2…Pn},以n=7为例说明本发明实施过程。
结合图1,对本发明的具体实施方案作详细描述。本发明移动CCN中数据缓存的节点分组策略,包括以下步骤:
步骤1,对于CCN中任意两个节点Pi、Pj,计算它们之间的距离Dij。
根据节点地理位置信息来计算任意两个节点之间的距离Dij。
步骤2,执行Dij搜索算法,求出距离小于CCN节点间通信距离阈值L的节点对。
Dij搜索算法描述:
输入:初始无序或有序二维点集S(n);
输出:所有Dij。
步骤3,执行完Dij所搜算法后,执行△Hx搜索算法,根据△Hx算法求出所有△Hx,即求出所有满足要求CCN节点分组。
△Hx搜索算法:
前条件:执行完Dij搜索算法。
输入:如图3所示数据结构及其数据,整数计数器z(初始x=1)。
输出:所有的△Hx。
一个节点集S(n)以及生成的数据结构分别如图2和图3所示,将数据代入算法,按照执行顺序先后分别得到满足条件的候选三角形△H(P1P2P3)1、△H(P2P3P4)2、△H(P4P5P6)3、△H(P5P6P7)4。
步骤4,根据计算出的△Hx,执行MAX△搜索算法,求出一个MAX△,取得一个最优划分结果。
MAX△搜索算法:
输入:△Hx。
输出:一个MAX△。
由对于一个给定的S(n),最大分组集合MAX△可能不唯一可知,上述点集S(n)共有三种MAX△的划分方式。即各种数量为:SUM(△Hx)=4,SUM(△My)=2,SUM(MAX△)=3。
从△Hx到MAX△的搜索过程如图5所示,即从产生的四个候选△Hx中可以搜索出三种满足条件的MAX△。在图5中左部,用△Hx的下标序号x为满足条件的每个△Hx做标记,分别为1、2、3、4。
一个相容矩阵的填写示例如图6所示,以例1和图5数据为基础。则根据定义9,矩阵对角线应全部为1;其他元素根据定义9和定义10进行添加。由图5可知1、2不相容,1、3相容,1、4相容;2、3不相容,2、4相容;3、4不相容。完成后的矩阵如图6。
图7和图8分别是节点速度对内容请求时延影响示意图和节点速度对内容重复请求率影响示意图。本发明提出的数据请求时延直接反应了网络数据分发性能。所有节点数据请求的平均延迟计算公式如下:
其中M代表数据请求的总次数,Dreq代表数据请求的时刻,Decho代表数据响应的时刻。
内容重复请求率(Content Re-Request Rate,RReq)为规定时间内容重复请求的次数与请求内容数的比值。RReq越小说明网络的数据传输能力越强。计算公式如下所示:
通过给节点设置不同的移动速度,来分析移动速度对本发明提出的节点分组算法性能的影响。从图7可以看出,采用了节点分组算法的移动CCN网络,节点数据请求延迟较小。节点速度0m/s时,节点分组算法平均内容请求时延为30ms与CCN时延接近。18m/s时,节点 分组算法平均内容请求时延为51ms,比CCN降低了15%。节点分组算法采用的是基于地理信息的方式进行分组缓存内容,即使节点移动与该组中某些节点仍然保持通信的机会很大,因此,比can更能够适应移动的网络环境。图8可以看出,在速度<5m/s时,节点分组算法与CCN的重复请求率几乎一致,在节点静止或者低速运动时,内容请求可以及时的得到响应。随着移动速度的增加,内容重复请求率变大,由于节点分组算法采取的基于位置的分组方式,请求内容得到响应的概率要大于CCN。
图9和图10分别是模拟时间对内容请求时延影响示意图和不同缓存大小对内容请求时延影响示意图。内网缓存是CCN网络的主要特征之一,节点的缓存大小对网络内容分发性能有着直接影响。节点设置不同的缓存空间大小,分析对节点分组算法性能影响。图9显示节点移动速度10m/s,缓存大小100时,随时间变化节点的平均内容请求时延。在前10s,节点分组算法与CCN的内容请求时延几乎相同,是因为初始所有节点缓存空间均未缓存内容。随着运行时间增加,节点分组算法与CCN内容请求时延均有所增加,在35s时,节点分组算法内容请求时延为30ms,CCN为47ms。是因为节点分组算法基于三模备份技术划分的节点具有空间相邻的特点,因此内容请求成功更高。图10显示了不同缓存空间大小对内容请求时延的影响。结果显示缓存越大内容请求时延越小,当缓存<1500时,节点分组算法比较CCN具有明显的性能优势,平均内容请求时延降低了25%。当缓存>1500时节点分组算法和CCN具有近似的内容请求时延。实验设置的网络内容种类3000种,当缓存>1500时,节点可以缓存大部分受欢迎度较高的内容,因此内容请求时延趋于稳定。但在实际的网络环境中,网络的内容种类要远远大于节点缓存大小,节点分组算法的应用可以大大提高网络中内容分发性能。
Claims (5)
1.一种移动CCN中数据缓存的节点分组方法,其特征在于:
(1)对于CCN中任意第一节点Pi、第二节点Pj,计算两个节点之间的距离Dij;
(2)执行Dij搜索算法,求出距离小于CCN节点间通信距离阈值L的节点对;
(3)执行△Hx搜索算法,根据△Hx算法求出所有△Hx,即求出所有满足要求CCN节点分组;
(4)根据计算出的△Hx,执行MAX△搜索算法,求出一个MAX△,取得最优划分结果。
2.根据权利要求1所述的一种移动CCN中数据缓存的节点分组方法,其特征在于:所述步骤(1)中两节点之间的距离Dij,是根据节点地理位置信息来计算该值的:
移动CCN中Level-2节点集合S(n)={P1,P2,…,Pn},Level-1节点通过一趟扫描得到所有Level-2层节点的X坐标和Y坐标的最小和最大值,记为Xmin,Xmax,Ymin,Ymax,此时形成了矩形区域F={F(x,y)|Xmin≤x≤Xmax,Ymin≤y≤Ymax},根据扫描到的节点位置信息计算任意两个节点之间的距离Dij。
3.根据权利要求1或2所述的一种移动CCN中数据缓存的节点分组方法,其特征在于,步骤(2)所述的执行Dij搜索算法,求出距离小于CCN节点间通信距离阈值L的节点对包括:结构体Pstr={id,plink},id为节点集S(n)按X坐标轴排序后点的索引,plink为指向该类型结构体的指针,结构体Pstr型数组Q[n],其存储方式为:数组的索引分别对应排序后的CCN节点索引,即Q[c]=c,1≤c≤n,当节点Pi、Pj之间的距离Dij≤L时,在Q[i]和Q[j]后分别创建Pstr型节点Node1、Node2,并令Node1.idx=j,Node2.idx=i;
将CCN矩形区域F={F(x,y)|Xmin≤x≤Xmax,Ymin≤y≤Ymax}沿B边进行横向区域分割,分割边长为L;
区域S被分成了m个区域分别为S1,S2,…Sm,则点集S(n)近似地被分割成m=B/L份。令S(n)={S1,S2,…Sm},Si(i=1…m)所包含点数的数学期望值为n/m=nL/B;
Dij搜索算法的执行过程如下:
2.1)Level-1层节点扫描Level-2层节点集S(n),得到Xmin,Xmax,Ymin,Ymax,构成矩形区域F;
2.2)如果S(n)有序,则执行步骤2.4);如果无序,则采用随机选择快速排序方法将所有的点按X坐标非降序排列;
2.3)从节点集S(n)中划分出节点子集S1、S2;
2.4)对节点子集S1、,S2中的点分别按y坐标进行非降序排列,得到节点集合S'1、S'2;
2.5)如果S1与S2之间的距离大于通信阈值L,对节点子集S'1中的点Pi(xi,yi)做矩形窗Ri={y|yi≤y≤yi+L}∩(S'1∪S'2);
2.6)从点Pi开始沿y正向顺次搜索S'1、S'2,检查是否有点落入矩形窗Ri中,如果有点Pt落入矩形窗Ri中,则计算Pi、Pt两点之间的距离Dit,如果Dit<L,按照数据结构的存储规则将Pi,Pt分别写入链表中的相应位置,执行步骤2.9);
2.7)如果S1与S2之间的距离小于等于通信阈值L,对S'1中的点Pi(xi,yi)做矩形窗Ri={y|yi≤y≤yi+L}∩S'1;
2.8)从点Pi开始沿y正向顺次搜索S'1,检查是否有点落入矩形窗Ri中,若干有点Pj落入Ri中,则计算Pi、Pj两点之间的距离Dij,如果Dij<L,按照数据结构的存储规则将Pi,Pt分别写入链表中的相应位置,执行步骤2.9);
2.9)直到沿y正向顺次搜索并找到一点落入Ri外时,停止Pi点的矩形窗处理;
2.10)如果与点Pi满足距离小于等于通信阈值L的所有点的数量为1,则删除链接到数据结构Q[i]的节点,即令数据结构Q[i].plink=null;
2.11)对Pi+1点处理时使用同样的方式构造矩形窗Ri+1,从点Pi+1开始沿y正向顺次搜索是否有点落入矩形窗Ri+1中;
2.12)处理完节点区域S1,S2后再从节点集S(n)中划分出节点子集S3,转2.3)-2.9),按照处理S1,S2的方式处理S2、S3;待S(n)所有划分出的区域都处理完成时,便求出所有距离小于CCN节点间通信距离阈值L的节点对。
4.根据权利要求1所述的一种移动CCN中数据缓存的节点分组方法,其特征在于:步骤(3)所述的执行△Hx搜索算法,其前提条件是执行完Dij搜索算法,根据△Hx算法求出所有满足条件的三角形△H(Pi,Pj,Pk)x记为△Hx,即求出所有满足条件的CCN节点分组,△H(Pi,Pj,Pk)x(i,j,k∈{1…n}),表示为从S(n)中选出三个点Pi,Pj,Pk组成的三角形,称(Dij、Dik、Dkj≤L)=TRUE的三角形为分组候选三角形,△Hx搜索算法的执行过程如下:
3.1)遍历结构体数组Q[n];
3.2)对于数组元素Q[i],如果与点Pi满足距离小于等于通信阈值L的所有点的数量大于等于2,则遍历链接到数据结构Q[i]后且与点Pi满足距离小于等于通信阈值L的所有节点,否则,遍历结构体数组Q[n]的下一个元素Q[i+1];
3.3)在遍历链接到数据结构Q[i]后第j个结点时,记Node[j].idx=k,如果没有节点链接到数据结构Q[k],则遍历链接到数据结构Q[i]后第j+1个结点;否则,按照遍历链接到数据结构Q[i]后节点的方式遍历链接到数据结构Q[k]后的所有节点;
3.4)在遍历链接到数据结构Q[k]后第c个结点时,记Node[c].idx=d,如果d=i或没有节点链接到数据结构Q[d],则遍历链接到数据结构Q[k]后第c+1个结点,否则,按相同的方式遍历链接到数据结构Q[d]后的所有节点;
3.5)在遍历链接到数据结构Q[d]后第e个结点时,记Node[e].idx=f,如果f=k,则遍历链接到数据结构Q[d]后第e+1个结点。如果f=i,则找到一个满足任意两个节点距离小于等于L的三角形△H(Pi,Pk,Pd)x,x值增1,然后遍历链接到数据结构Q[k]后第c+1个结点;
3.6)如果没有节点链接到数据结构Q[e],则遍历链接到数据结构Q[k]后第c+1个结点;
3.7)如果没有节点链接到数据结构Q[c],则遍历链接到数据结构Q[i]后第j+1个结点;
3.8)如果没有节点链接到数据结构Q[j],则遍历结构体数组Q[n]的下一个元素Q[i+1];
3.9)当遍历结构体数组Q[n]结束后,便找到了所有满足任意两个节点距离小于等于L的三角形。即根据△Hx算法求出所有△Hx。
5.根据权利要求1所述的一种移动CCN中数据缓存的节点分组方法,其特征在于:步骤(4)所述的执行MAX△搜索算法,求出一个MAX△,取得最优划分结果,算法搜索相容矩阵中可以组成元素全为1的下三角矩阵的最大满足三角形集合,三角形△M(Pi,Pj,Pk)y,简记为△My,并且△My∈△Hx,且为整数,将△My中的三个点表示为Py,对于Py所表示的所有三角形的点对于给定节点集S(n),称所有分组三角形的集合为分组集合,集合元素最多的分组集合为最大分组集合,记为MAX△,对于集合△Hx中的任意两个三角形,如果这两个三角形没有公共点,则称他们为相容三角形,集合△Hx中的任意一个三角形可以相容于自身,称这种性质为自容性,令集合△Hx中的元素数量为Z,构造Z×Z的byte数组W[U][V],U、V与△Hx中的x序号分别对应。如果△Hx1与△Hx2(1≤x1,x2≤Z)相容或自容,则令W[x1][x2]=W[x2][x1]=1,初始时令数组元素全为0,称这样的数组为相容矩阵,由一个相容矩阵必是一个对称矩阵和MAX△单独组成的相容矩阵必然满足所有矩阵元素为1可以得出算法的搜索策略,即搜索相容矩阵中可以组成元素全为1的下三角矩阵的最大满足三角形集合,MAX△搜索算法的执行过程如下:
4.1)记△Hx中x最大序号为Z,定义相容矩阵W[Z][Z],其各元素初始值均为0;
4.2)循环处理△Hx中每个三角形;
4.3)当处理到第i个三角形时,由于自容性,令元素W[i][i]=1;
4.4)将△Hi与其后三角形进行相容检查,如果△Hi与△Hj相容,则令元素W[j][i]=1。如果已检测完△Hi后所有三角形,则处理第i+1个三角形;
4.5)如果△Hx中每个三角形都已处理,则得到相容矩阵;
4.6)定义int型数组A[Z]和B[Z],存储当前待处理的可能为最优MAX△的所有候选三角形的编号。数组初始时所有元素均为0,且A[1]=B[1];
4.7)扫描相容矩阵的每一列;
4.8)每一列扫描前,假定当前所使用数组A或B中元素个数为1,数组A或B中某项 存储的三角形编号为1以及假定当前行对应三角形可加入候选数组;
4.9)如果当前使用的是数组A,则令当前所使用数组中元素个数为数组A中存储的△My的个数;否则,为数组B中存储的△My的个数;
4.10)扫描相容矩阵的每一行;
4.11)扫描第L行时,检测第L行的三角形是否与当前使用的数组A或B中已存在的所有三角形相容。如果相容,将L行三角形加入数组中;
4.12)如果可以当前行对应三角形可加入候选数组并且当前所使用的数组为A,将第L行三角形编号添加到数组A中。如果可以当前行对应三角形可加入候选数组并且当前所使用的数组为B,将第L行三角形编号添加到数组B中;
4.13)所有行扫描结束后,如果当前使用的是候选数组A,并且A中△My的个数大于B的,则下一轮循环开始时使用候选数组B,如果不大于则仍旧使用A。如果当前使用的是候选数组B,并且B中△My的个数大于A的,则下一轮循环开始时使用候选数组A,如果不大于则仍旧使用B;
4.14)所以列扫描结束后,如果数组A中存储的△My的个数多于数组A中存储的△My的个数,则数组A中所有的序号对应的三角形即为一个MAX△;否则,数组A中所有的序号对应的三角形即为一个MAX△。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410085384.1A CN104253851B (zh) | 2014-03-11 | 2014-03-11 | 一种移动ccn中数据缓存的节点分组方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410085384.1A CN104253851B (zh) | 2014-03-11 | 2014-03-11 | 一种移动ccn中数据缓存的节点分组方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104253851A true CN104253851A (zh) | 2014-12-31 |
CN104253851B CN104253851B (zh) | 2017-12-19 |
Family
ID=52188379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410085384.1A Active CN104253851B (zh) | 2014-03-11 | 2014-03-11 | 一种移动ccn中数据缓存的节点分组方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104253851B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834741A (zh) * | 2015-05-20 | 2015-08-12 | 东华大学 | 一种基于分布式文件系统的数据块分配方法 |
CN109246224A (zh) * | 2018-09-25 | 2019-01-18 | 麒麟合盛网络技术股份有限公司 | Cdn系统的容器化部署方法及装置 |
CN110307887A (zh) * | 2019-07-04 | 2019-10-08 | 四川爱创科技有限公司 | 一种应用于智能货柜的基于纯重力识别商品的方法 |
CN110839166A (zh) * | 2019-11-19 | 2020-02-25 | 中国联合网络通信集团有限公司 | 一种数据共享方法及装置 |
CN111614771A (zh) * | 2020-05-25 | 2020-09-01 | 北京邮电大学 | 一种内容中心物联网络的内容缓存方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143212A (zh) * | 2010-12-31 | 2011-08-03 | 华为技术有限公司 | 一种内容分发网络中缓存共享的方法及装置 |
US20130227168A1 (en) * | 2012-02-29 | 2013-08-29 | Fujitsu Limited | Location manager, information processing system and location design method |
-
2014
- 2014-03-11 CN CN201410085384.1A patent/CN104253851B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143212A (zh) * | 2010-12-31 | 2011-08-03 | 华为技术有限公司 | 一种内容分发网络中缓存共享的方法及装置 |
US20130227168A1 (en) * | 2012-02-29 | 2013-08-29 | Fujitsu Limited | Location manager, information processing system and location design method |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834741A (zh) * | 2015-05-20 | 2015-08-12 | 东华大学 | 一种基于分布式文件系统的数据块分配方法 |
CN109246224A (zh) * | 2018-09-25 | 2019-01-18 | 麒麟合盛网络技术股份有限公司 | Cdn系统的容器化部署方法及装置 |
CN110307887A (zh) * | 2019-07-04 | 2019-10-08 | 四川爱创科技有限公司 | 一种应用于智能货柜的基于纯重力识别商品的方法 |
CN110307887B (zh) * | 2019-07-04 | 2021-01-26 | 四川爱创科技有限公司 | 一种应用于智能货柜的基于纯重力识别商品的方法 |
CN110839166A (zh) * | 2019-11-19 | 2020-02-25 | 中国联合网络通信集团有限公司 | 一种数据共享方法及装置 |
CN110839166B (zh) * | 2019-11-19 | 2022-01-25 | 中国联合网络通信集团有限公司 | 一种数据共享方法及装置 |
CN111614771A (zh) * | 2020-05-25 | 2020-09-01 | 北京邮电大学 | 一种内容中心物联网络的内容缓存方法 |
CN111614771B (zh) * | 2020-05-25 | 2021-07-13 | 北京邮电大学 | 一种内容中心物联网络的内容缓存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104253851B (zh) | 2017-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abuarqoub et al. | Dynamic clustering and management of mobile wireless sensor networks | |
CN104253851A (zh) | 一种移动ccn中数据缓存的节点分组方法 | |
CN103281740B (zh) | 一种机会网络中的兴趣社区路由方法 | |
CN102970725A (zh) | 一种基于多层社区分组的移动机会网络路由方法 | |
CN102665253A (zh) | 一种基于无线传感网络的事件检测方法 | |
CN102065446B (zh) | 面向群组移动环境的拓扑控制系统及控制方法 | |
Tao et al. | Enhancement of DV-Hop by weighted hop distance | |
CN103078793A (zh) | 基于网络编码的改进定向扩散路由协议 | |
CN105025516A (zh) | 高动态环境下的移动状态累积加权路由方法 | |
CN108093056A (zh) | 信息中心无线网络虚拟化网络中节点缓存替换方法 | |
CN104023367A (zh) | 基于可视路径及加强评估判据的定向扩散协议 | |
Dou et al. | 3D localization method based on MDS-RSSI in wireless sensor network | |
CN106332211A (zh) | 一种选择路由的方法及装置 | |
Zou et al. | A routing algorithm on delay-tolerant of wireless sensor network based on the node selfishness | |
Wu et al. | Efficient cache discovery for cooperative caching in wireless ad hoc networks | |
CN103491612B (zh) | 一种传感器网络中移动Sink节点位置信息获取方法 | |
Munoz et al. | Design of an Unstructured and Free Geo-Coordinates Information Brokerage System for Sensor Networks using Directional Random Walks. | |
CN110784412A (zh) | 基于交通流量的分簇路由查找的方法、装置及系统 | |
Li et al. | Wireless sensor network mobile agent routing based on the improved ant colony algorithm | |
Yu et al. | A Packet Forwarding Algorithm based on Game and Indirect Reciprocity | |
Diane et al. | Energy optimization in redundant wsns under deterministic and probabilistic sensing models | |
Balouch et al. | ISDV-Hop Localization Algorithm with Increased Node Density In Wireless Sensor Networks | |
Cai et al. | Improved location algorithm based on DV-hop for the indoor internet of things | |
Ma et al. | Research on Relative Coordinate Localization of Nodes Based on Topology Control. | |
Li | Application of an improved DV-Hop algorithm on the wireless sensor network of the mine shaft |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |