一种基于内容聚类的命名数据网络路由系统及其聚类查询方法

文档序号:9352769阅读:493来源:国知局
一种基于内容聚类的命名数据网络路由系统及其聚类查询方法
【技术领域】
[0001]本发明属于命名数据网络领域,具体涉及一种基于内容聚类的命名数据网络路由系统及其聚类查询方法。
【背景技术】
[0002]命名数据网络(NDN,Named Data Network)是一种不再以IP地址为主而是以内容为主的未来网络。网络中的报文包头不再以IP地址为标识,而是以内容名称作为标识,解决了传统网络IP地址二义性的问题。命名数据网络改变了主机到主机的通信范例,使用名称进行路由,且路由器在网络中缓存数据。因此路由机制是命名数据网络中最为重要的基础机制,该机制的核心问题是如何提升路由的查询效率和如何减少查询时延。命名数据网络是基于名字进行数据包的路由查找和转发,但由于命名数据网络采用层次化的命名机制,将会导致内容名称过长,会极大降低路由效率。
[0003]目前,命名数据网络中现有的路由是基于命名的广播和多播机制。虽然这种路由机制可以提高数据传输的多样性和可靠性,保证了网络性能,但同时带来查询转发次数增多、查询时延过长、检索冗余、网络负载严重等问题。NCE(Neighbor Cache Explore)邻居缓存路由策略,利用分布式蚁群算法在无缓存时探测最短路径,并将节点缓存因素引入到路由决策中对路由算法进行优化。虽然NCE可以充分利用缓存的特点解决转发效率问题,但是获取最短路径需要限制环境,并且探测最短路径的同时也延长了查询时延、增加了网络负载。在命名数据网络路由策略方面,专利“在命名数据网络中使用多路径路由和内容缓存的无缝移动方案”(CN201280039368.8),在移动节点(MN)启动切换程序时,将内容兴趣从丽组播到第一附接点(PoA)中,第二附接点(PoA)用于接收来自第一附接点PoA的组播兴趣、转发兴趣到命名数据网络、接收命名数据网络的内容数据,并且将内容数据转发到MN。该专利利用中间节点第一附接点和第二附接点来完成路由查询和转发。专利“Systems, methods and algorithms for named data network routing with pathlabeling”(US20140023076A1),在源节点和目的节点之间标识一条唯一路径,即为路径标签。请求兴趣包根据请求数据的名称和路径标签查找数据。以上专利分别根据节点间接性、路径标识对命名数据网络路由机制进行改进,与本发明采用的方法和针对的问题均不同。
[0004]综上所述,目前路由转发方案大多面向整个网络进行路由转发,主要缺点表现在:
[0005](I)当网络节点较多时,面向整个网络进行广播式路由转发,将降低查询效果、增加搜索成本。
[0006](2)在不确定某个节点缓存所请求数据的情况下,用户发送请求兴趣包,则需要进行多次转发才能找到所需数据,将会加大查询时延。

【发明内容】

[0007]本发明的目的在于提供一种基于内容聚类的命名数据网络路由系统。本发明的目的还在于提供一种基于内容聚类的命名数据网络路由系统的聚类查询方法。
[0008]本发明的目的是这样实现的:
[0009]—种基于内容聚类的命名数据网络路由系统:
[0010]簇头节点信息库用于存储每一类簇的信息:类簇名ClassName,簇头节点ID ;
[0011]簇内节点信息索引表用于记录类簇内节点的信息:节点ID,节点名称NodeName,访问次数Times,更新时间UpdateTime ;每一个类簇都拥有一个与该类簇相对应的簇内节点信息索引表;
[0012]簇查询模块用于接收用户发送的请求数据包,对请求数据包进行处理和查询,簇查询模块包括名称解析模块、类簇内容匹配模块和簇内节点匹配模块三部分:
[0013]名称解析模块接收命名数据网络用户发送的请求兴趣包:包名,内容;对请求兴趣包进行解析,解析为三元组的请求兴趣包InP,包括:类名,请求兴趣名,内容,其中类名是用于在类簇名ClassName中查找到匹配的类簇,请求兴趣名是用于定位满足请求兴趣包的节点位置;将请求兴趣包InP发送给类簇内容后匹配模块;
[0014]类簇内容匹配模块接收来自名称解析模块的请求兴趣包InP,从簇头节点信息库中获取类簇名ClassName ;对类名和类簇名ClassName进行名称前缀匹配查找,查找到类相似度Sd—大于阈值α的类簇时,符合条件的类簇构成类簇相似表,并根据类相似度高低对类簇进行排列;依据类簇相似表把请求兴趣包InP交给簇内节点匹配模块,并把类簇相似表中相关信息删除;
[0015]簇内节点匹配模块接收来自类簇内容匹配的请求兴趣包InP,获取类簇相似表中类簇的簇内节点信息索引表。对请求兴趣名和索引表中节点名称NodeName进行匹配查找,若查找到节点相似度Sn-大于阀值β的节点时,再依据簇内节点信息索引表查找这类节点ID,进行查找数据;
[0016]簇维护模块是对簇头节点、簇内节点进行管理,簇维护模块包括候选簇头模块、簇内节点管理模块和节点替换模块三部分:
[0017]候选簇头模块是用于管理簇头节点,从簇头节点信息库和簇内节点信息索引表获取信息;当簇头节点发生异常时,候选簇头模块将选择一个候选节点来替代当前簇头节点,并更新簇头节点信息库;在每个类簇中,选择与簇头节点相邻一跳的所有邻居节点为后备节点;在后备节点中,在满足具有最大连通度,并且只归属为一个类簇的节点中选择一个节点为候选簇头节点;簇头节点在时间Trapy内,对候选簇头节点发送相应簇内节点信息索引表进行备份;
[0018]簇内节点管理模块是用于管理更新簇内节点,在时间Tupdate内,该模块将对簇内节点信息索引表中所包含节点进行检查,检查节点是否依然存在于该类簇,若存在,则保留该项索引表信息;否则,则对簇内节点索引表中相对应信息进行修改或删除;
[0019]替换模块是用于处理归属类簇的移动节点;若节点更新数据后归属为另一类簇,该节点会主动发送请求信息要求加入该类簇;当簇内节点索引表空间充足时,则加入该节点的信息;当节点由于簇内节点索引表空间不足而不能正常加入时,节点需要按优先级排队等候;排队优先级以节点的访问次数Times作为度量参数,节点的访问次数Times值越大,优先级越高;当节点的访问次数Times值相同时,按照先到先服务原则进行处理;当簇内节点索引表有空间时,再将排队等候的节点依照顺序加入其中。
[0020]一种基于内容聚类的命名数据网络路由系统的聚类查询方法,包括如下步骤:
[0021](I)命名数据网络用户把请求数据包发送到名称解析模块;
[0022](2)名称解析模块将请求兴趣解析为三元组的请求兴趣包InP,将请求兴趣包InP发送到类簇内容匹配模块;
[0023](3)簇内节点更新模块判断簇内节点是否发生登入或登出情况,若发生登入或登出情况,执行步骤⑷;否则,执行步骤(5);
[0024](4)簇内节点更新管理模块对簇内节点进行检查,记录簇内节点的登入登出,并对簇内节点索引表进行更新;当簇内节点索引表空间不足时,节点替换模块将对登入节点进行处理;
[0025](5)候选簇头节点模块判断簇头节点是否发生异常情况,若簇头节点发生异常情况,执行步骤(6);否则,执行步骤(7);
[0026](6)候选簇头模块获取簇内信息索引表信息,并对簇头节点信息库进行更新处理;簇内节点更新管理模块对簇内节点进行检查,记录节点的登入登出,并对索引表进行更新;当索引表空间不足时,节点替换模块将对登入节点进行处理;
[00
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1