基于树的内容中心网络多个兴趣包处理方法技术

技术编号:9720468 阅读:122 留言:0更新日期:2014-02-27 07:48
本发明专利技术公开一种基于树的内容中心网络多个兴趣包处理方法,主要解决现有技术在内容中心网络中发送多个兴趣包的情形下,网络资源利用率低,不适用于公共前缀较短或无公共前缀的情况,完全依赖代理服务器处理,导致网络传输效率低、网络负荷大的不足的问题。具体步骤包括:(1)读取兴趣包内容名字:(2)建立内容名字树:(3)合并内容名字树中的单分支结点:(4)存储内容名字树中的结点:(5)发送压缩兴趣包:(6)解压缩压缩兴趣包。本发明专利技术通过采用发送压缩兴趣包的方法,对多个兴趣包进行发送;在接收端,采用了建立目的内容名字串对压缩兴趣包中内容名字进行解压缩,减少了网络中兴趣包的个数,降低网络带宽的消耗。

【技术实现步骤摘要】

【技术保护点】
基于树的内容中心网络多个兴趣包处理方法,包括对兴趣包的压缩和兴趣包解压缩两个过程,具体步骤如下:对兴趣包压缩的具体步骤如下:(1)读取兴趣包内容名字:在内容中心网络的用户端和路由器端中的一端读取兴趣包内容名字;(2)建立内容名字树:2a)建立仅有一个根结点的内容名字树,将该树根结点的数据域设置为空;2b)逐个扫描要发送的所有兴趣包内容名字;2c)逐个扫描兴趣包内容名字中每一块;将内容名字的第一块作为当前块,将内容名字树的根结点作为当前结点;2d)在当前结点的所有孩子结点中查找是否存在存储有当前块中内容名字的孩子结点;若存在,则将存储有当前块中内容名字的孩子结点,作为当前结点;若不存在,则给当前结点新建一个孩子结点,将该孩子结点的数据域设置为当前块中的内容名字,将该孩子结点作为当前结点;2e)判断兴趣包内容名字中所有块是否扫描完毕,若是,则执行步骤2f);否则,将内容名字的下一块作为当前块,执行步骤2d);2f)判断所有兴趣包内容名字是否扫描完毕,若是,则执行步骤(3);否则,执行步骤2b);(3)合并内容名字树中的单分支结点:从内容名字树的根结点开始扫描内容名字树中的所有结点,当内容名字树中存在只有一个孩子结点的父结点时,将该父结点与其唯一的孩子结点进行合并;(4)存储内容名字树中的结点:4a)建立一个空栈,将内容名字树的根结点入栈顶;建立一个内容名字串,将该内容名字串设置为空串;4b)读取栈顶中结点的孩子总数字段;4c)判断栈顶中结点的孩子总数是否等于0,若是,执行步骤4i);否则,执行步骤4d);4d)读取栈顶中结点的下一个未被访问的孩子结点的序号字段;4e)判断栈顶中结点的下一个未被访问的孩子结点的序号是否大于孩子总数,若是,执行步骤4i);否则,执行步骤4f);4f)将栈顶中结点的下一个未被访问过的孩子结点的序号作为下一个拟访问的结点的序号,将栈顶中结点的下一个未被访问过的孩子结点的序号增1;4g)将拟访问的结点入栈顶;4h)读取栈顶中结点数据域值字段,将该数据域值存储到内容名字串的末尾;执行步骤4b);4i)将栈顶元素出栈顶,将数字0存储到内容名字串的末尾;4j)判断栈是否为空,若是,则执行步骤(5);否则,执行步骤4b);(5)发送压缩兴趣包:将内容名字串封装成一个压缩兴趣包,发送至内容中心网络;对压缩兴趣包解压缩的具体步骤如下:(6)建立一个目的内容名字串,将该目的内容名字串设置为空串;从压缩兴趣包中内容名字的第一个字节开始,逐个扫描压缩兴趣包中的内容名字中每一字节;(7)读取一个字节,得出下一个块序列所包含的块的总数;(8)判断块的总数是否为0,若是,则执行步骤(9);否则,根据块的总数读取块序列,将读取的块序列存储到目的内容名字串的末尾,执行步骤(7);(9)当前一次读取的块的总数为0时,输出当前存储的目的内容名字串;(10)判断目的内容名字串是否为空,若是,执行步骤(11);否则,将目的内容名字串中的最后一个块序列删除,执行步骤(7);(11)解压缩结束。...

【技术特征摘要】

【专利技术属性】
技术研发人员:盛立杰何花杨春磊
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1