[发明专利]一种移动CCN中数据缓存的节点分组方法有效

专利信息
申请号: 201410085384.1 申请日: 2014-03-11
公开(公告)号: CN104253851B 公开(公告)日: 2017-12-19
发明(设计)人: 张国印;邢志静;武俊鹏;姜春茂;唐滨 申请(专利权)人: 哈尔滨工程大学
主分类号: H04L29/08 分类号: H04L29/08;H04L12/24
代理公司: 暂无信息 代理人: 暂无信息
地址: 150001 黑龙江省哈尔滨市南岗区*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明属于网络技术领域,涉及一种移动CCN中数据缓存的节点分组方法。本发明包括对于CCN中任意第一节点Pi、第二节点Pj,计算两个节点之间的距离Dij;执行Dij搜索算法,求出距离小于CCN节点间通信距离阈值L的节点对;执行△Hx搜索算法,根据△Hx算法求出所有△Hx,即求出所有满足要求CCN节点分组;根据计算出的△Hx,执行MAX△搜索算法,求出一个MAX△,取得最优划分结果。本发明在节点密度较大、缓存空间较小时,与移动CCN默认的缓存算法相比,节点划分缓存算法降低了内容请求时延,减少了内容重复请求率,显著提高了移动CCN网络数据传输性能,具有更高的缓存效率。
搜索关键词: 一种 移动 ccn 数据 缓存 节点 分组 方法
【主权项】:
一种移动CCN中数据缓存的节点分组方法,其特征在于:(1)对于CCN中任意第一节点Pi、第二节点Pj,计算两个节点之间的距离Dij;(2)执行Dij搜索算法,求出距离小于CCN节点间通信距离阈值L的节点对;步骤(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.id=j,Node2.id=i;将CCN矩形区域F={F(x,y)|Xmin≤x≤Xmax,Ymin≤y≤Ymax}沿长边进行横向区域分割,分割边长为L;矩形区域被分成了m个区域分别为S1,S2,…Sm,则点集S(n)近似地被分割成m=B/L份;令S(n)={S1,S2,…Sm},Si所包含点数的数学期望值为n/m=nL/B;i=1…m;Dij搜索算法的执行过程如下:2.1)Level‑1层节点扫描Level‑2层节点集S(n),得到Xmin,Xmax,Ymin,Ymax,构成矩形区域F;Level‑2层节点的X坐标和Y坐标的最小和最大值,记为Xmin,Xmax,Ymin,Ymax;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搜索算法,根据△Hx算法求出所有△Hx,即求出所有满足要求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].id=k,如果没有节点链接到数据结构Q[k],则遍历链接到数据结构Q[i]后第j+1个结点;否则,按照遍历链接到数据结构Q[i]后节点的方式遍历链接到数据结构Q[k]后的所有节点;3.4)在遍历链接到数据结构Q[k]后第c个结点时,记Node[c].id=d,如果d=i或没有节点链接到数据结构Q[d],则遍历链接到数据结构Q[k]后第c+1个结点,否则,按相同的方式遍历链接到数据结构Q[d]后的所有节点;3.5)在遍历链接到数据结构Q[d]后第e个结点时,记Node[e].id=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)根据计算出的△Hx,执行MAX△搜索算法,求出一个MAX△,取得最优划分结果;步骤(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的中△My的个数,则下一轮循环开始时使用候选数组B,如果不大于则仍旧使用A;如果当前使用的是候选数组B,并且B中△My的个数大于A的中△My的个数,则下一轮循环开始时使用候选数组A,如果不大于则仍旧使用B;4.14)所有列扫描结束后,如果数组A中存储的△My的个数多于数组B中存储的△My的个数,则数组A中所有的序号对应的三角形即为一个MAX△;否则,数组B中所有的序号对应的三角形即为一个MAX△。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410085384.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top