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同样不存在穿越问题 ...
【技术保护点】
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 ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。