基于命名数据网络的Top-k查询方法及系统技术方案

技术编号:19263406 阅读:18 留言:0更新日期:2018-10-27 02:20
本发明专利技术公开了一种基于命名数据网络的Top‑k查询方法及系统,本发明专利技术在命名数据网络中的数据消费节点上查询兴趣包的发送和路由转发,在命名数据网络中的数据生产节点上进行本地化数据Top‑k查询处理,在命名数据网络中的路由节点上对来自不同数据源而有关同一兴趣的返回数据包中各数据项的排序、聚合处理以及最终返回完备的Top‑k查询结果给上一跳,最终逐级回溯直到发出查询兴趣包的数据消费节点,进而完成整个Top‑k查询过程。本发明专利技术不仅能够在路由过程中处理大规模数据,而且提高了查询的效率、可扩展性和性能。

Top-k query method and system based on named data network

The invention discloses a Top_k query method and system based on a named data network. The method queries the sending and routing of interest packets on a data consumption node in a named data network, performs localized data Top_k query processing on a data production node in a named data network, and performs a Top_k query processing on a data production node in a named data network. Routing nodes sort, aggregate, and finally return complete Top_k query results from different data sources with the same interest in the returned packets, and then step back until the data consumption node sends out the query interest packets, and then complete the whole Top_k query process. The invention can not only process large-scale data in the routing process, but also improve the query efficiency, scalability and performance.

【技术实现步骤摘要】
基于命名数据网络的Top-k查询方法及系统
本专利技术涉及命名数据网络(NDN)来实现动态分布数据的查询方法,具体涉及一种基于命名数据网络的Top-k查询方法及系统,包含数据在查询转发、响应处理和排序聚合及返回的各个模块阶段的实现过程。
技术介绍
命名数据网络(NamedDataNetworking,NDN)是一种新兴的互联网体系架构,从现在的以主机为中心的IP网络体系结构会逐渐演变成以数据为中心的命名数据网络体系结构。NDN可以实现命名数据在分布式网络中基于名字的路由和转发,而不再依赖于类似IP网络中的地址来进行路由和转发数据,同时它采用分层结构化命名方法对内容名称进行命名,类似于IP地址前缀机制来迅速定位所需要的信息内容。NDN中有消费者(Consumer)和生产者(Producer)和两种类型的传输包:兴趣包(InterestPacket)和数据包(DataPacket),命名数据网络中的路由节点包含待定兴趣表(PIT)、内容存储(CS)和转发信息库(FIB)三个组件,其中,PIT的作用是保存兴趣包发送的请求信息,以保证当接收到数据包时可以根据这些信息将其正确地返回给请求者,CS的作用类似于IP路由中的内容缓存存储,主要作用为缓存数据以备以后查找使用,FIB是用来将兴趣包发送至潜在匹配的内容数据包所在的节点,与IP路由器相比,它可以实现同时向多个节点转发兴趣包。NDN根据名字路由和转发包,从而消除了IP架构中地址造成的四个问题:地址空间耗尽、NAT穿越、流动性和可扩展的地址管理。NDN没有地址枯竭的问题,因为命名空间是无限的;NDN同样不存在穿越问题,因为一台主机在传送内容时并不需要暴露其地址;流动性指的是主机IP地址发生变化,但是在NDN中不再需要中断通信,因为数据的名称保持不变;最后,在本地网络不再需要进行地址的分配和管理。传统的IP网络路由采用一个单一的最佳路径,而命名数据网络支持多路径路由。Top-k查询在处理海量的数据时显示出很好的查询效率,它的基本含义为:给定N个数据项,从中选出与用户兴趣最匹配和最相关的k(k≤N)个数据项,然后采用相关的一些技术或查询算法,将所得的数据结果返回给用户。但是,如何基于命名数据网络(NDN)来实现动态分布数据的Top-k查询,且确保该查询方式高效可靠、响应快速,能够解决命名数据网络查询中返回结果的爆炸式增长的问题,则仍然是一项亟待解决的关键技术问题。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种基于命名数据网络的Top-k查询方法及系统,本专利技术不仅能够在路由过程中处理大规模数据,而且提高了查询的效率、可扩展性和性能。为了解决上述技术问题,本专利技术采用的技术方案为:一种基于命名数据网络的Top-k查询方法,实施步骤包括:1)接收上一跳的查询兴趣包,对循环或重复的查询兴趣包对应的查询兴趣包进行抑制,如果接收的查询兴趣包被抑制,则跳转执行步骤1);否则,跳转执行步骤2);2)判断完全匹配内容存储CS是否找到匹配的Top-k查询结果,如果找到匹配的Top-k查询结果则跳转执行步骤3);否则,跳转执行步骤4);3)判断Top-k查询结果是否完备,如果Top-k查询结果完备,则向上一跳返回完备的Top-k查询结果,结束并退出;否则如果Top-k查询结果不完备,则跳转执行步骤4);4)初始化转发信息库转出接口数组变量OutfaceFIB和待定兴趣表转出接口数组变量OutfacePIT;判断完全匹配待定兴趣表PIT是否找到匹配的条目,如果找到匹配的条目,则将查询兴趣包的接收接口inface添加到匹配的条目、待定兴趣表PIT中匹配条目的Outface的值添加到待定兴趣表转出接口数组变量OutfacePIT;否则,将查询兴趣包存入待定兴趣表PIT,并设置存入条目的待定兴趣表转出接口数组变量OutfacePIT为空;5)判断最长前缀匹配转发信息库FIB是否匹配成功,如果匹配不成功,则丢弃查询兴趣包并退出;否则,跳转执行步骤6);6)将匹配结果存入转发信息库转出接口数组变量OutfaceFIB;7)将转发信息库转出接口数组变量OutfaceFIB减去待定兴趣表转出接口数组变量OutfacePIT得到下一跳接口集合OUT;8)执行本地Top-k查询,将本地Top-k查询得到的k个答案作为Top-k查询结果并缓存到内容存储CS,并根据下一跳接口集合OUT将查询兴趣包分别转发至各下一跳;9)等待下一跳返回内容数据包,当收到内容数据包时解析获取内容数据包中的Top-k查询结果,并跳转执行步骤10);10)将收到的Top-k查询结果、内容存储CS中的Top-k查询结果进行聚合处理,得到包含k个答案的新的Top-k查询结果并替换更新内容存储CS中的缓存;11)根据下一跳集合OUT中的下一跳是否全部返回Top-k查询结果来更新内容存储CS中的Top-k查询结果的完备状态,如果内容存储CS中的Top-k查询结果尚未完备,则跳转执行步骤9);否则,跳转执行步骤12);12)将内容存储CS中的Top-k查询结果封装,判断完全匹配待定兴趣表PIT是否找到匹配的条目,如果找到匹配的条目,则将封装后的Top-k查询结果转发给匹配的条目对应的上一跳;否则,丢弃查询兴趣包并退出。优选地,步骤1)的详细步骤包括:1.1)接收上一跳的查询兴趣包;1.2)判断完全匹配待定兴趣表PIT是否找到匹配的条目,如果找到匹配的条目,则将查询兴趣包携带的随机数值nonce和匹配的条目的随机数值nonce是否相同,如果随机数值nonce相同,则跳转执行步骤1.3);否则,则将查询兴趣包的接收接口inface添加到匹配的条目、待定兴趣表PIT中匹配条目的发送接口outface的值添加到待定兴趣表转出接口数组变量OutfacePIT,则跳转执行步骤2);如果没有找到匹配的条目,则将查询兴趣包存入待定兴趣表PIT,并设置存入条目的待定兴趣表转出接口数组变量OutfacePIT为空,跳转执行步骤2);1.3)通过接收查询兴趣包的接收接口inface向上一跳发送否定应答消息NACK,收到否定应答消息NACK的上一跳在待定兴趣表PIT中删除该查询兴趣包对应的发送接口outface,如果该查询兴趣包对应的发送接口outface是该查询兴趣包的唯一的一个发送接口outface,则在待定兴趣表PIT中删除该查询兴趣包对应的条目;跳转执行步骤1)。优选地,步骤1)中接收的查询兴趣包包含响应策略信息字段ReStrategy,所述响应策略信息ReStrategy包含了向上一跳返回Top-k查询结果的方式,返回Top-k查询结果的方式分别包括三种:(1)聚合后立即响应策略IRA:每一次聚合处理后立即返回Top-k查询结果;(2)仅响应最终聚合策略MAR-1:仅在Top-k查询结果完备时返回Top-k查询结果;(3)多次聚合后响应策略MAR-2:多次聚合处理后立即返回Top-k查询结果且在Top-k查询结果完备时返回Top-k查询结果;且步骤3)中如果Top-k查询结果不完备时:如果响应策略信息ReStrategy为聚合后立即响应策略IRA则立即向上一跳返回匹配的Top-k查询结果,然后再跳转执行步骤4);如果响应策略信息本文档来自技高网
...

【技术保护点】
1.一种基于命名数据网络的Top‑k查询方法,其特征在于实施步骤包括:1)接收上一跳的查询兴趣包,对循环或重复的查询兴趣包对应的查询兴趣包进行抑制,如果接收的查询兴趣包被抑制,则跳转执行步骤1);否则,跳转执行步骤2);2)判断完全匹配内容存储CS是否找到匹配的Top‑k查询结果,如果找到匹配的Top‑k查询结果则跳转执行步骤3);否则,跳转执行步骤4);3)判断Top‑k查询结果是否完备,如果Top‑k查询结果完备,则向上一跳返回完备的Top‑k查询结果,结束并退出;否则如果Top‑k查询结果不完备,则跳转执行步骤4);4)初始化转发信息库转出接口数组变量OutfaceFIB和待定兴趣表转出接口数组变量OutfacePIT;判断完全匹配待定兴趣表PIT是否找到匹配的条目,如果找到匹配的条目,则将查询兴趣包的接收接口inface添加到匹配的条目、待定兴趣表PIT中匹配条目的Outface的值添加到待定兴趣表转出接口数组变量OutfacePIT;否则,将查询兴趣包存入待定兴趣表PIT,并设置存入条目的待定兴趣表转出接口数组变量OutfacePIT为空;5)判断最长前缀匹配转发信息库FIB是否匹配成功,如果匹配不成功,则丢弃查询兴趣包并退出;否则,跳转执行步骤6);6)将匹配结果存入转发信息库转出接口数组变量OutfaceFIB;7)将转发信息库转出接口数组变量OutfaceFIB减去待定兴趣表转出接口数组变量OutfacePIT得到下一跳接口集合OUT;8)执行本地Top‑k查询,将本地Top‑k查询得到的k个答案作为Top‑k查询结果并缓存到内容存储CS,并根据下一跳接口集合OUT将查询兴趣包分别转发至各下一跳;9)等待下一跳返回内容数据包,当收到内容数据包时解析获取内容数据包中的Top‑k查询结果,并跳转执行步骤10);10)将收到的Top‑k查询结果、内容存储CS中的Top‑k查询结果进行聚合处理,得到包含k个答案的新的Top‑k查询结果并替换更新内容存储CS中的缓存;11)根据下一跳集合OUT中的下一跳是否全部返回Top‑k查询结果来更新内容存储CS中的Top‑k查询结果的完备状态,如果内容存储CS中的Top‑k查询结果尚未完备,则跳转执行步骤9);否则,跳转执行步骤12);12)将内容存储CS中的Top‑k查询结果封装,判断完全匹配待定兴趣表PIT是否找到匹配的条目,如果找到匹配的条目,则将封装后的Top‑k查询结果转发给匹配的条目对应的上一跳;否则,丢弃查询兴趣包并退出。...

【技术特征摘要】
1.一种基于命名数据网络的Top-k查询方法,其特征在于实施步骤包括:1)接收上一跳的查询兴趣包,对循环或重复的查询兴趣包对应的查询兴趣包进行抑制,如果接收的查询兴趣包被抑制,则跳转执行步骤1);否则,跳转执行步骤2);2)判断完全匹配内容存储CS是否找到匹配的Top-k查询结果,如果找到匹配的Top-k查询结果则跳转执行步骤3);否则,跳转执行步骤4);3)判断Top-k查询结果是否完备,如果Top-k查询结果完备,则向上一跳返回完备的Top-k查询结果,结束并退出;否则如果Top-k查询结果不完备,则跳转执行步骤4);4)初始化转发信息库转出接口数组变量OutfaceFIB和待定兴趣表转出接口数组变量OutfacePIT;判断完全匹配待定兴趣表PIT是否找到匹配的条目,如果找到匹配的条目,则将查询兴趣包的接收接口inface添加到匹配的条目、待定兴趣表PIT中匹配条目的Outface的值添加到待定兴趣表转出接口数组变量OutfacePIT;否则,将查询兴趣包存入待定兴趣表PIT,并设置存入条目的待定兴趣表转出接口数组变量OutfacePIT为空;5)判断最长前缀匹配转发信息库FIB是否匹配成功,如果匹配不成功,则丢弃查询兴趣包并退出;否则,跳转执行步骤6);6)将匹配结果存入转发信息库转出接口数组变量OutfaceFIB;7)将转发信息库转出接口数组变量OutfaceFIB减去待定兴趣表转出接口数组变量OutfacePIT得到下一跳接口集合OUT;8)执行本地Top-k查询,将本地Top-k查询得到的k个答案作为Top-k查询结果并缓存到内容存储CS,并根据下一跳接口集合OUT将查询兴趣包分别转发至各下一跳;9)等待下一跳返回内容数据包,当收到内容数据包时解析获取内容数据包中的Top-k查询结果,并跳转执行步骤10);10)将收到的Top-k查询结果、内容存储CS中的Top-k查询结果进行聚合处理,得到包含k个答案的新的Top-k查询结果并替换更新内容存储CS中的缓存;11)根据下一跳集合OUT中的下一跳是否全部返回Top-k查询结果来更新内容存储CS中的Top-k查询结果的完备状态,如果内容存储CS中的Top-k查询结果尚未完备,则跳转执行步骤9);否则,跳转执行步骤12);12)将内容存储CS中的Top-k查询结果封装,判断完全匹配待定兴趣表PIT是否找到匹配的条目,如果找到匹配的条目,则将封装后的Top-k查询结果转发给匹配的条目对应的上一跳;否则,丢弃查询兴趣包并退出。2.根据权利要求1所述的基于命名数据网络的Top-k查询方法,其特征在于,步骤1)的详细步骤包括:1.1)接收上一跳的查询兴趣包;1.2)判断完全匹配待定兴趣表PIT是否找到匹配的条目,如果找到匹配的条目,则将查询兴趣包携带的随机数值nonce和匹配的条目的随机数值nonce是否相同,如果随机数值nonce相同,则跳转执行步骤1.3);否则,则将查询兴趣包的接收接口inface添加到匹配的条目、待定兴趣表PIT中匹配条目的发送接口outface的值添加到待定兴趣表转出接口数组变量OutfacePIT,则跳转执行步骤2);如果没有找到匹配的条目,则将查询兴趣包存入待定兴趣表PIT,并设置存入条目的待定兴趣表转出接口数组变量OutfacePIT为空,跳转执行步骤2);1.3)通过接收查询兴趣包的接收接口inface向上一跳发送否定应答消息NACK,收到否定应答消息NACK的上一跳在待定兴趣表PIT中删除该查询兴趣包对应的发送接口outface,如果该查询兴趣包对应的发送接口outface是该查询兴趣包的唯一的一个发送接口outface,则在待定兴趣表PIT中删除该查询兴趣包对应的条目;跳转执行步骤1)。3.根据权利要求2所述的基于命名数据网络的Top-k查询方法,其特征在于,步骤1)中接收的查询兴趣包包含响应策略信息字段ReStrategy,所述响应策略信息ReStrategy包含了向上一跳返回Top-k查询结果的方式,返回Top-k查询结果的方式...

【专利技术属性】
技术研发人员:廖祝华滕增德张健刘毅志易爱平
申请(专利权)人:湖南科技大学
类型:发明
国别省市:湖南,43

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

1