CN109495525B - 网络组件、解析内容标识的方法和计算机可读存储介质 - Google Patents

网络组件、解析内容标识的方法和计算机可读存储介质 Download PDF

Info

Publication number
CN109495525B
CN109495525B CN201710815919.XA CN201710815919A CN109495525B CN 109495525 B CN109495525 B CN 109495525B CN 201710815919 A CN201710815919 A CN 201710815919A CN 109495525 B CN109495525 B CN 109495525B
Authority
CN
China
Prior art keywords
content
network component
query message
bloom filter
prefix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710815919.XA
Other languages
English (en)
Other versions
CN109495525A (zh
Inventor
彭小雨
潘恬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710815919.XA priority Critical patent/CN109495525B/zh
Publication of CN109495525A publication Critical patent/CN109495525A/zh
Application granted granted Critical
Publication of CN109495525B publication Critical patent/CN109495525B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种网络组件、解析内容标识的方法和计算机可读存储介质,所述网络组件包括:拆分模块,用于接收查询消息,拆分所述查询消息中内容标识ID,获得所述查询消息的内容ID前缀和所述查询消息的内容ID后缀;查询模块,用于查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,当所述第一哈希表中存在与所述查询消息的内容ID前缀对应的第一布隆过滤器时,查询所述对应的第一布隆过滤器和所述查询消息的内容ID后缀是否匹配;发送模块,用于将所述查询消息转发至所述第一哈希表对应的分布式哈希表DHT节点。采用本发明实施例后,随着存储数据量的增长,处理复杂度不会大幅度变化,从而保证可扩展性。

Description

网络组件、解析内容标识的方法和计算机可读存储介质
技术领域
本发明涉及计算机领域,尤其涉及网络组件、解析内容标识的方法和计算机可读存储介质。
背景技术
随着科技的进步和网络的普及,信息的发布和共享逐渐成为当今互联网的主要功能。网络服务的主体正从端到端的信息通讯传输转变为包括文字、图片和视频等多媒体信息的全球共享。用户逐渐不关心也无需关心所请求的内容在网络上存放的位置,而只关心内容本身,以及获取内容的效率和内容自身的安全性。为克服早期网络之间互连的协议(Internet Protoocl,IP)网络在信息检索和内容共享上的低效性,提高早期IP网络的传输能力,内容分发网络(Content Delivery Network,CDN)、对等网络(Peer-to-peernetworking,P2P)等新兴技术被提出和使用,以满足当前以内容为中心的网络需求。
由于研究和发展以内容为中心的网络符合当前互联网的迫切需求,全球诸多工业界和学术界的研究小组开始设计信息中心网络(Information-Centric Networking,ICN),通过赋予基本的网络操作原语来直接对内容进行命名和检索,从而提高信息的检索和传输效率。
内容标识(ID)的解析是ICN方案中的核心技术。在内容ID解析方案中,需要将内容ID解析到网络地址。在终端访问网络内容时,终端或边缘路由器发起对内容ID的解析请求。网络中的解析服务节点响应解析,返回一个适当的内容提供节点的网络地址。随后网络将内容请求向内容提供节点逐跳转发,最终从内容提供者或中途缓存获取目标内容,回传给请求者。
ICN查询内容的方案可以根据寻址的方式分为基于名字解析寻址和基于名字的路由。传统分布式哈希(Distributed Hash Table,DHT)中内容ID解析的过程主要构建在DHT上。
多级哈希表搜索算法(multi-level indexed DHT,MDHT)是D'Ambrosio M等人在2011年提出的对DHT的改进结构。使用两个步骤完成信息检索。第一个步骤是名字解析,即名字被解析成多个位置信息,每个位置信息对应了内容的多个拷贝所在地址。第二个步骤是内容转发,即从多个内容拷贝中选择一个较优的,然后将这个内容转发给内容请求者。
MDHT中的根节点需要存储所有内容ID到内容ID所在网络的映射。随着内容ID的增多,根节点需存储的映射关系增加,相应存储数据量的迅速增长,处理复杂度快速升高,因此存在可扩展性问题。
发明内容
本发明实施例提供了一种网络组件,随着存储数据量的增长,处理复杂度不会大幅度变化,从而保证可扩展性。
本发明实施例还提供了一种解析内容标识的方法,随着存储数据量的增长,处理复杂度不会大幅度变化,从而保证可扩展性。
本发明实施例还提供了一种计算机可读存储介质,随着存储数据量的增长,处理复杂度不会大幅度变化,从而保证可扩展性。
第一方面,本发明实施例提供一种网络组件,其特征在于,所述网络组件包括:
拆分模块,用于接收查询消息,拆分所述查询消息中内容标识ID,获得所述内容ID前缀和所述内容ID后缀;
查询模块,用于查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,当所述第一哈希表中存在与所述查询消息的内容ID前缀对应的第一布隆过滤器时,查询所述对应的第一布隆过滤器和所述查询消息的内容ID后缀是否匹配;
发送模块,用于当所述对应的第一布隆过滤器和所述查询消息的内容ID后缀匹配时,将所述查询消息转发至所述第一哈希表对应的分布式哈希表DHT节点。
在上述技术方案中,拆分模块拆分查询消息中内容ID,获得查询消息的内容ID前缀和查询消息的内容ID后缀;查询模块在第一哈希表中存在与查询消息的内容ID前缀对应的第一布隆过滤器,则在第一布隆过滤器和查询消息的内容ID后缀匹配时,发送模块将查询消息转发至第一哈希表对应的DHT节点。随着存储数据量的增长,通过内容ID前缀查询第一哈希表确定布隆过滤器是否与内容ID后缀匹配,由于相同前缀内容ID在哈希表中的映射位置是相同的,因此处理复杂度不会大幅度变化,从而保证可扩展性。
结合第一方面,在第一种可能的实现方式中,所述查询模块,具体用于按照优先级从多个哈希表中确定第一哈希表,查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,所述优先级由发送所述查询消息的DHT节点地理位置和所述网络组件下属的DHT节点的负载情况确定的。
在上述技术方案中,由于查询是按照优先级依序进行,那么可以优先查询距离较近的,负载较轻的DHT节点,进而保证依据内容ID从距离较近且负载较轻的DHT节点中及时获取内容。
结合第一方面,在第二种可能的实现方式中,所述网络组件还包括注册模块,所述拆分模块,用于接收注册消息,拆分所述注册消息中内容ID,获得所述注册消息的内容ID前缀和所述注册消息的内容ID后缀;
所述注册模块,用于将注册消息的内容ID前缀做哈希运算得到哈希值,依据所述哈希值确定第二布隆过滤器,将所述注册消息的内容ID前缀对应的第二布隆过滤器存储在第二哈希表,所述第二哈希表与发送所述注册消息的DHT节点对应,所述注册消息的内容ID后缀与所述第二布隆过滤器相匹配。
在上述技术方案中,注册模块存储包括内容ID前缀对应的布隆过滤器的哈希表,并非存储内容ID与主机的位置信息的映射关系,因此注册模块存储的数据量较小;另外,哈希表通过把内容ID前缀映射到表中一个位置来访问记录,以加快查找的速度。随着存储数据量的增加,相同前缀的内容ID的映射位置是相同的,因此处理复杂度不会大幅度变化,因此可以保证可扩展性。
结合第一方面,在第三种可能的实现方式中,所述拆分模块,用于依据所述网络组件在网络构架的层数拆分所述查询消息中内容ID。
在上述技术方案中,在网络构架的层数较多的情况下,可以基于网络组件在网络构架的层数拆分内容ID,从而提高拆分内容ID的效率,降低处理复杂度。
结合第一方面,在第四种可能的实现方式中,所述发送模块,具体用于所述第一哈希表中不存在与所述查询消息的内容ID前缀对应的第一布隆过滤器时,
或,
当所述第一哈希表中存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,且所述对应的第一布隆过滤器和所述查询消息的内容ID后缀不匹配时,将所述查询消息转发至网络结构中所述网络组件上一层的网络组件。
在上述技术方案中,在网络组件下属的DHT节点中没有内容ID与主机位置的映射关系,则将查询消息发送至上一层网络组件,在其他的DHT节点中查找内容ID与主机位置的映射关系。在更大的范围内查询主机位置,便于及时向发送查询请求的主机反馈。
结合第一方面,在第五种可能的实现方式中,所述DHT节点存储DHT,所述DHT包括内容ID与主机的位置信息映射关系。
在上述技术方案中,DHT节点存储DHT,这样可以依据接收到的查询请求,依据内容ID与主机的位置信息,及时获取主机的位置信息。
结合第二方面,一种解析内容标识的方法,其特征在于,所述方法包括:
网络组件拆分查询消息中内容标识ID,获得所述查询消息的内容ID前缀和所述查询消息的内容ID后缀;
所述网络组件查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,当所述第一哈希表中存在与所述查询消息的内容ID前缀对应的第一布隆过滤器时,查询所述对应的第一布隆过滤器和所述查询消息的内容ID后缀是否匹配;
所述网络组件当所述对应的第一布隆过滤器和所述查询消息的内容ID后缀匹配时,将所述查询消息转发至所述第一哈希表对应的分布式哈希表DHT节点。
结合第二方面,在第一种可能的实现方式中,所述网络组件查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,包括:
所述网络组件按照优先级从多个哈希表中确定第一哈希表,查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,所述优先级由发送所述查询消息的DHT节点地理位置和所述网络组件下属的DHT节点的负载情况确定的。
结合第二方面,在第二种可能的实现方式中,所述方法还包括:
所述网络组件拆分注册消息中内容ID,获得所述注册消息的内容ID前缀和所述注册消息的内容ID后缀;
所述网络组件将内容ID前缀做哈希运算得到哈希值,依据所述哈希值确定第二布隆过滤器,将所述注册消息的内容ID前缀对应的第二布隆过滤器存储在第二哈希表中,所述第二哈希表与发送所述注册消息的DHT节点对应,所述注册消息的内容ID后缀与所述第二布隆过滤器相匹配。
结合第二方面,在第三种可能的实现方式中,所述方法还包括:
所述网络组件依据所述网络组件在网络构架的层数,拆分所述查询消息中内容ID。
结合第二方面,在第四种可能的实现方式中,所述方法还包括:
所述网络组件在所述第一哈希表中不存在与所述查询消息的内容ID前缀对应的第一布隆过滤器时,
或,
当所述第一哈希表中存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,且所述对应的第一布隆过滤器和所述查询消息的内容ID后缀不匹配时,将所述查询消息转发至网络结构中所述网络组件上一层的网络组件。
结合第二方面,在第五种可能的实现方式中,所述DHT节点存储DHT,所述DHT包括内容ID与主机的位置信息映射关系。
本申请的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的第四方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。
图1是本发明实施例中网络架构示意图;
图2是本发明实施例中网络组件的结构示意图;
图3是本发明实施例中另一个网络构架示意图;
图4是本发明另一个实施例中网络组件的结构示意图;
图5是本发明实施例中解析内容标识的方法流程示意图;
图6是本发明实施例中网络组件处理注册消息的流程示意图;
图7是示出能够实现根据本发明实施例解析内容标识的方法和网络组件的计算设备的示例性硬件架构的结构图。
具体实施方式
在本发明实施例中,网络组件存储包括内容ID前缀到布隆过滤器的映射的哈希表。网络组件拆分内容ID后,依据内容ID前缀查询哈希表,确定布隆过滤器与内容ID后缀相匹配,则将查询消息转发至哈希表对应的DHT节点中。由于DHT节点中存储有内容提供主机的位置信息,可以从哈希表对应的DHT节点中获取主机的位置信息。通过内容ID前缀查询哈希表确定布隆过滤器与内容ID后缀相匹配,随着数据量的增长,由于相同前缀内容ID在哈希表中的映射位置是相同的,因此处理复杂度不会大幅度变化,从而保证可扩展性。
需要说明的是,本发明实施例中是基于对内容ID的解析进而获取主机的位置,该主机中存储内容ID的内容。也就是说,只关心内容本身并不关注存储内容的设备。
利用域名系统(Domain Name System,DNS)解析域名进而获得主机名对应的IP地址,重点关注存储内容的设备。
DNS是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
从用户自身的角度而言,用户利用DNS获取主机的IP地址,其最终目的是获取内容。同样的内容有可能存储在多个设备中,从内容本身出发可以满足当前以内容为中心的网络需求。
参见图1,图1是本发明实施例中网络架构示意图。网络架构包括二层,第一层为DHT节点,第二层为网络组件。
网络中共存在三种类型的节点,即主机、DHT节点和网络组件。其中,一个DHT节点与多个主机相连;一个网络组件与多个DHT节点相连,网络组件下属多个DHT节点。
下面分别简要介绍主机、DHT节点和网络组件。
主机:存储内容ID的数据,具有注册和查询两种行为。
在作为注册方时,需要将内容ID与位置信息,如IP地址通过注册消息发送至DHT节点。
在作为查询方时,发送包括内容ID的查询消息至DHT节点。
主机可以是提供内容的用户或机构,也可以是网络中专用于缓存的设备。主机只与所属DHT节点通信。
DHT节点:存储DHT,其中DHT包括内容ID与主机的位置信息映射关系,主要处理注册消息和查询消息两种消息。
在收到注册消息时,需要将内容ID与主机的位置信息的映射关系存储到DHT中,然后将注册消息转发至网络组件。
在处理查询消息时,首先如果在DHT中找到内容ID与主机的位置信息映射关系,则将找到的主机的位置信息返回给查询主机。
DHT节点在内部没有找到内容ID与主机的位置信息映射关系,则向网络结构的上层即网络组件发送查询请求,查询请求中包括内容ID。
网络组件:存储内容ID前缀到布隆过滤器的映射的哈希表。
在收到注册消息时,拆分注册消息中内容ID,获得内容ID前缀和内容ID后缀。将内容ID前缀做哈希运算得到哈希值,内容ID后缀存储在该哈希值对应的布隆过滤器,内容ID前缀到布隆过滤器的映射关系存储在发送注册消息的DHT节点对应的哈希表中。换言之,依据哈希值可以确定布隆过滤器。也就是说,每个DHT节点对应一个哈希表,该哈希表中存储内容ID前缀到布隆过滤器的映射关系。
在处理查询消息时,拆分查询消息中内容ID,获得内容ID前缀和内容ID后缀。依据内容ID前缀查询哈希表,确定内容ID前缀对应的布隆过滤器中存储有内容ID后缀,即内容ID前缀对应的布隆过滤器与内容ID后缀相匹配。然后将查询消息转发至哈希表对应的DHT节点。
如果没有查到内容ID前缀的哈希值对应的布隆过滤器,或者查到布隆过滤器但其中未存有内容ID的后缀,则将查询消息向上层网络组件转发。
参见图2,图2是本发明实施例中网络组件的结构示意图,具体包括:
拆分模块201,用于接收查询消息,拆分查询消息中内容ID,获得查询消息的内容ID前缀和查询消息的内容ID后缀。
拆分模块201接收到DHT节点发送的查询消息,查询消息包括内容ID。可以依据预先设置的规则拆分查询消息中内容ID。
在本发明的一个实施例中,考虑到网络构架,那么可以依据网络组件在网络构架的层数,拆分查询消息中内容ID。
具体来说,网络构架中的第一层是DHT节点,第N层是网络组件,其中N大于1。作为一个示例,N等于2时,网络构架是两层;N等于3时,网络构架是三层。
网络构架可以依据实际的DHT节点数量决定的。作为一个示例,参见图3是本发明实施例中另一个网络构架示意图。网络构架是三层,第一层是DHT节点,第二层是低级网络组件,第三层是高级网络组件。多个主机与每个DHT节点相连,多个DHT节点与每个低级网络组件相连,每个低级网络组件与高级网络组件相连。
高级网络组件与低级网络组件的结构相同,只是分割内容ID的位置不同,布隆过滤器的规模更大。对于在同一个网络中具有共同前缀的内容ID采用一种可聚合的方式存储,如布隆过滤器。布隆过滤器可以用于检索一个元素是否在一个集合中。
表1是DHT表项即DHT中的内容,DHT表项存储在DHT节点中,其中包括内容ID与主机的位置信息映射关系,作为一个示例,主机的位置信息包括主机的IP地址。
表1
Figure BDA0001405072210000061
表2是DHT表项对应的DHT一次聚合后的表项,即低级网络组件中存储的哈希表,其中采用布隆过滤器作为聚合。该哈希表存储低级网络组件中内容ID前缀到布隆过滤器的映射。作为一个示例:低级网络组件位于网络构架的第二层,那么可以取内容ID的前M-a段作为内容ID前缀,M等于N+1,N是网络架构总层数,a是当前网络组件所处网络架构中的层数。
表2
Figure BDA0001405072210000062
表3是DHT表项对应的DHT二次聚合后的表项,即高级网络组件中存储的低级网络组件对应的哈希表,其中采用布隆过滤器作为聚合。该哈希表存储高级网络组件中内容ID前缀到布隆过滤器的映射,作为一个示例:高级网络组件位于网络构架的第三层,那么可以取内容ID的前M-a段作为内容ID前缀。
表3
Figure BDA0001405072210000063
每张哈希表中存储着DHT经过聚合后的内容,聚合方式为布隆过滤器。在内容ID具有层次结构的情况下,可以大大缩减存储空间。
查询模块202,用于查询第一哈希表中是否存在与查询消息的内容ID前缀对应的第一布隆过滤器,当第一哈希表中存在与查询消息的内容ID前缀对应的第一布隆过滤器时,查询第一布隆过滤器和查询消息的内容ID后缀是否匹配。
网络组件维护与下属DHT节点数目相同的哈希表,也就是说每个DHT节点对应一张哈希表,该哈希表存储在网络组件中,哈希表包括内容ID前缀到布隆过滤器的映射。哈希的原理是通过把内容ID前缀映射到表中一个位置来访问记录,以加快查找的速度。即使内容ID大量增加,由于具有相同前缀,相同前缀的内容ID的映射位置的相同的,只需要在布隆过滤器中执行插入操作,因此处理复杂度不会大幅度变化。
在网络构架大于两层时,每层的网络组件存储与下属网络组件或DHT节点数目相同的哈希表。每个下属网络组件或DHT节点对应一张哈希表。
查询模块202可以查询第一哈希表中是否存在与查询消息的内容ID前缀对应的第一布隆过滤器,第一哈希表是多个DHT节点对应哈希表中的一个哈希表。当第一哈希表中存在内容ID前缀与第一布隆过滤器的映射关系,则说明第一哈希表中存在与查询消息的内容ID前缀对应的第一布隆过滤器,则进一步查询第一布隆过滤器和查询消息的内容ID后缀是否匹配。
第一布隆过滤器和查询消息的内容ID后缀是否匹配,具体来说可以通过判断查询消息的内容ID后缀是否可以通过第一布隆过滤器的检测来确定。若查询消息的内容ID后缀可以通过第一布隆过滤器的检测,则第一布隆过滤器和查询消息的内容ID后缀相匹配;若查询消息的内容ID后缀没有通过第一布隆过滤器的检测,则第一布隆过滤器和查询消息的内容ID后缀不匹配。
第一布隆过滤器和查询消息的内容ID后缀相匹配,则说明当前查询的第一哈希表对应的DHT节点中存储有该内容ID对应的主机的位置信息。
通过布隆过滤器检测查询消息的内容ID后缀是否存在,由于布隆过滤器查询效率高,即使存储数据量的增长,处理复杂度不会大幅度变化,从而保证可扩展性。
发送模块203,用于当第一布隆过滤器和查询消息的内容ID后缀匹配时,将查询消息转发至哈希表对应的DHT节点。
发送模块203,当第一布隆过滤器和查询消息的内容ID后缀匹配时,可以将包括内容ID的查询消息转发至哈希表对应的DHT节点中,DHT节点中存储内容ID与主机的位置信息的映射关系。依据内容ID获取主机的位置信息,并将主机的位置信息返回至发出查询请求的主机,这样发出查询请求的主机就可以依据主机的位置信息获取内容ID的内容。
在网络构架大于两层时,可以将包括内容ID的查询消息转发至哈希表对应的低级网络组件中,再由低级网络组件确定存储内容ID与主机的位置信息的映射关系的DHT节点,再将查询消息转发至该DHT节点中。其中,低级网络组件的结构与高级网络组件的结构相同,可以依据内容ID将查询消息转发至相应的DHT节点中,DHT节点存储内容ID与主机的位置信息映射关系,将内容ID对应的主机的位置信息返回至发送查询消息的主机。
在本发明实施例中,拆分模块201首先拆分内容ID,获得查询消息的内容ID前缀和查询消息的内容ID后缀。查询模块202依据查询消息的内容ID前缀查询哈希表,确定布隆过滤器与查询消息的内容ID后缀相匹配,这样发送模块203就可以将查询消息转发至哈希表对应的DHT节点。通过查询消息的内容ID前缀查询哈希表,确定布隆过滤器与查询消息的内容ID后缀相匹配,即使存储数据量的增长,由于相同前缀内容ID在哈希表中的映射位置是相同的,处理复杂度不会大幅度变化,因此可以保证可扩展性。
在本发明的一个实施例中,查询模块202,具体用于按照优先级从多个哈希表中确定第一哈希表,查询第一哈希表中是否存在与查询消息的内容ID前缀对应的第一布隆过滤器,优先级由发送查询消息的DHT节点地理位置和网络组件下属的DHT节点的负载情况确定的。
考虑到网络组件不止一个哈希表,网络组件下属的每个DHT均对应一个哈希表。可以基于发送查询消息的DHT节点地理位置和网络组件下属的DHT节点的负载确定优先级。作为一个示例,与发送查询消息的DHT节点地理位置越近的DHT节点对应的哈希表优先级越高,网络组件下属的DHT节点的负载越轻则优先级越高。
还可以依据实际的应用场景确定,发送查询消息的DHT节点地理位置的占比和网络组件下属的DHT节点的负载情况占比。作为一个示例,发送查询消息的DHT节点地理位置的占比为50%,网络组件下属的DHT节点的负载情况占比为50%。
也就是说,按照优先级在多个哈希表中确定第一哈希表,然后进行查询。那么,查询多个哈希表可以是按照优先级顺序进行。
在本发明实施例中,由于查询是按照优先级依序进行,那么可以优先查询距离较近的,负载较轻的DHT节点,进而保证依据内容ID从距离较近且负载较轻的DHT节点中及时获取内容。
此外,考虑到有多个哈希表,为了提高查询哈希表的速率,可以并行查询哈希表。作为一个示例,有10个哈希表,可以依次并行查询10个哈希表中的两个哈希表,这样共计查询5次,就可以完成10个哈希表的查询。
在本发明的一个实施例中,DHT节点可以向网络组件发送注册消息。参见图4是本发明另一个实施例中网络组件的结构示意图,在图3结构的基础上还包括注册模块204。
网络组件接收到注册消息,拆分模块201,用于依据网络组件在网络构架的层数拆分注册消息中内容ID,获得内容ID前缀和内容ID后缀。
注册模块204,用于将注册消息的内容ID前缀做哈希运算得到哈希值,依据哈希值确定第二布隆过滤器,将第二布隆过滤器存储在第二哈希表,即第二哈希表存储注册消息的内容ID与第二布隆过滤器的关系。
第二哈希表与发送注册消息的DHT节点对应,注册消息的内容ID后缀与第二布隆过滤器相匹配。
具体的,注册消息的内容ID后缀存储在哈希值对应的第二布隆过滤器,注册消息的内容ID前缀到哈希值对应的布隆过滤器的映射关系,存储在发送注册消息的DHT节点对应的第二哈希表中。
注册模块204存储包括注册消息的内容ID前缀到布隆过滤器的映射的哈希表,并非存储内容ID与主机的位置信息的映射关系,因此注册模块204存储的数据量较小。另外,哈希表通过把内容ID前缀映射到表中一个位置来访问记录,以加快查找的速度。随着存储数据量的增加,由于相同前缀内容ID在哈希表中的映射位置是相同的,依据内容ID前缀查询布隆过滤器的处理复杂度不会大幅度变化,因此可以保证可扩展性。
在本发明的一个实施例中,发送模块203,具体用于第一哈希表中不存在与查询消息的内容ID前缀对应的第一布隆过滤器时,即第一哈希表中未存储查询消息的内容ID前缀到布隆过滤器的映射关系;
或,
第一哈希表中存在与查询消息的内容ID前缀对应的第一布隆过滤器,且第一布隆过滤器和查询消息的内容ID后缀不匹配时,即第一哈希表中存储查询消息的内容ID前缀到布隆过滤器的映射关系且查询消息的内容ID后缀没有通过布隆过滤器的检测。
在上述两种情况下,则说明在网络组件的下属DHT节点中未存储查询消息的内容ID与主机的位置信息的映射关系,即无法从网络组件的下属DHT节点的主机中获取查询消息的内容ID对应的内容。
在网络结构中,网络组件存在上一层的网络组件,发送模块203,具体用于在上述两种情况下,可以将查询消息转发至网络结构中所述网络组件上一层的网络组件。
在上一层的网络组件中可以依据查询消息的内容ID前缀确定存储查询消息的内容ID与主机的位置信息的映射关系。若网络组件处于顶层,没有上一层的网络组件,则通过发送查询请求的DHT节点向终端发送失败消息。
在本发明实施例中,在网络组件下属的DHT节点中没有查询消息的内容ID与主机位置的映射关系,则将查询消息发送至上一层网络组件,在其他的DHT节点中查找该内容ID与主机位置的映射关系。在更大的范围内查询主机位置,便于及时向发送查询请求的主机反馈。
参见图5,图5是本发明实施例中解析内容标识的方法流程示意图,具体包括以下步骤:
S501、网络组件拆分查询消息中内容ID,获得查询消息的内容ID前缀和查询消息的内容ID后缀。
网络组件接收到DHT节点发送的查询消息,查询消息包括内容ID。网络构架中的第一层是DHT节点,第N层是网络组件,其中N大于1。在N等于2时,网络构架是两层;N等于3时,网络构架是三层。
在本发明的一个实施例中,可以依据网络组件在网络构架的层数,拆分查询消息中内容ID。由于内容ID在网络架构的相同层有相似或相同的前缀,因此网络组件可以拆分内容ID,从而获得内容ID前缀和内容ID后缀。
S502、网络组件查询第一哈希表中是否存在与查询消息的内容ID前缀对应的第一布隆过滤器,当第一哈希表中存在与查询消息的内容ID前缀对应的第一布隆过滤器时,查询第一布隆过滤器和查询消息的内容ID后缀是否匹配。
网络组件维护与下属DHT节点数目相同的哈希表,也就是说每个DHT节点对应一张哈希表,该哈希表存储在网络组件中,哈希表包括内容ID前缀到布隆过滤器的映射。哈希的原理是通过把内容ID前缀映射到表中一个位置来访问记录,以加快查找的速度。即使内容ID大量增加,由于具有相同前缀,相同前缀的内容ID的映射位置的相同的,只需要在布隆过滤器中执行插入操作,因此处理复杂度不会大幅度变化。
在网络构架大于两层时,每层的网络组件存储与下属网络组件或DHT节点数目相同的哈希表。每个下属网络组件或DHT节点对于一张哈希表。
网络组件可以查询第一哈希表中是否存在与查询消息的内容ID前缀对应的第一布隆过滤器,第一哈希表是多个DHT节点对应哈希表中的一个哈希表。当第一哈希表中存在内容ID前缀与第一布隆过滤器的映射关系,则说明第一哈希表中存在与查询消息的内容ID前缀对应的第一布隆过滤器,则进一步查询第一布隆过滤器和查询消息的内容ID后缀是否匹配。
第一布隆过滤器和查询消息的内容ID后缀是否匹配,具体来说可以通过判断查询消息的内容ID后缀是否可以通过第一布隆过滤器的检测来确定。若查询消息的内容ID后缀可以通过第一布隆过滤器的检测,则第一布隆过滤器和查询消息的内容ID后缀相匹配;若查询消息的内容ID后缀没有通过第一布隆过滤器的检测,则第一布隆过滤器和查询消息的内容ID后缀不匹配。
第一布隆过滤器和查询消息的内容ID后缀相匹配,则说明当前查询的第一哈希表对应的DHT节点中存储有内容ID对应的主机的位置信息。
通过布隆过滤器检测查询消息的内容ID后缀是否存在,由于布隆过滤器查询效率高,即使存储数据量的增长,处理复杂度不会大幅度变化,从而保证可扩展性。
S503、网络组件当对应的第一布隆过滤器和查询消息的内容ID后缀匹配时,将查询消息转发至第一哈希表对应的DHT节点。
网络组件可以将包括内容ID的查询消息转发至哈希表对应的DHT节点中,DHT节点中存储内容ID与主机的位置信息的映射关系。依据内容ID获取主机的位置信息,并将主机的位置信息返回至发出查询请求的主机,这样发出查询请求的主机就可以依据主机的位置信息获取内容ID的内容。
在本发明实施例中,网络组件首先拆分内容ID,获得查询消息的内容ID前缀和查询消息的内容ID后缀。依据查询消息的内容ID前缀查询哈希表,确定布隆过滤器与查询消息的内容ID后缀相匹配,这样就可以将查询消息转发至哈希表对应的DHT节点。通过查询消息的内容ID前缀查询哈希表确定布隆过滤器与查询消息的内容ID后缀相匹配,即使存储数据量的增长,由于相同前缀内容ID在哈希表中的映射位置是相同的,处理复杂度不会大幅度变化,因此可以保证可扩展性。
在本发明的一个实施例中,网络组件可以按照优先级从多个哈希表中确定第一哈希表,查询第一哈希表中是否存在与查询消息的内容ID前缀对应的第一布隆过滤器。优先级可以由发送查询消息的DHT节点地理位置和网络组件下属的DHT节点的负载情况确定。
考虑到网络组件不止一个哈希表,网络组件下属的每个DHT节点均对应一个哈希表。可以基于发送查询消息的DHT节点地理位置和网络组件下属的DHT节点的负载确定优先级。作为一个示例,与发送查询消息的DHT节点地理位置越近的DHT节点对应的哈希表优先级越高,网络组件下属的DHT节点的负载越轻则优先级越高。
还可以依据实际的应用场景确定,发送查询消息的DHT节点地理位置的占比和网络组件下属的DHT节点的负载情况占比。作为一个示例,发送查询消息的DHT节点地理位置的占比为50%,网络组件下属的DHT节点的负载情况占比为50%。
也就是说,按照优先级在多个哈希表中确定第一哈希表,然后进行查询。那么,查询多个哈希表是按照优先级顺序进行的。
在本发明实施例中,由于查询是按照优先级依序进行,那么可以优先查询距离较近的,负载较轻的DHT节点,进而保证依据内容ID从距离较近且负载较轻的DHT节点中及时获取内容。
此外,考虑到有多个哈希表,为了提高查询哈希表的速率,可以并行查询哈希表。作为一个示例,有10个哈希表,可以依次并行查询10个哈希表中的两个哈希表,这样共计查询5次,就可以完成10个哈希表的查询。
在本发明的一个实施例中,DHT节点可以向网络组件发送注册消息。参见图6是本发明实施例中网络组件处理注册消息的流程示意图,具体包括:
S601、网络组件依据网络组件在网络构架的层数拆分注册消息中内容ID,获得注册消息的内容ID前缀和注册消息的内容ID后缀。
网络组件接收到DHT节点发送的注册消息,注册消息包括内容ID。内容ID在网络架构的相同层有相似或相同的前缀,因此网络组件可以拆分内容ID,从而获得内容ID前缀和内容ID后缀。
网络组件拆分注册消息中的内容ID与拆分查询消息中的内容ID相类似。
S602、网络组件将注册消息的内容ID前缀做哈希运算得到哈希值,依据哈希值确定第二布隆过滤器,将第二布隆过滤器存储在第二哈希表中,第二哈希表与发送注册消息的DHT节点对应,注册消息的内容ID后缀与第二布隆过滤器相匹配。
网络组件将注册消息的内容ID前缀做哈希运算后得到哈希值,具体的将注册消息的内容ID后缀存储在哈希值对应的第二布隆过滤器中,注册消息的内容ID前缀到哈希值对应的布隆过滤器的映射关系存储在第二哈希表中。第二哈希表与发送注册消息的DHT节点相对应。这样在依据注册消息的内容ID前缀查询哈希表,就可以获知存储内容ID到主机位置的映射关系的DHT节点。
在本发明实施例中,网络组件存储包括注册消息的内容ID前缀到布隆过滤器的映射的哈希表,并非存储内容ID与主机的位置信息的映射关系,因此网络组件存储的数据量较小;另外,哈希的原理是通过把内容ID前缀映射到表中一个位置来访问记录,以加快查找的速度。即使内容ID大量增加,由于具有相同前缀的内容ID的映射位置是相同的,依据内容ID前缀查询布隆过滤器的处理复杂度不会大幅度变化,因此可以保证可扩展性。
在本发明的一个实施例中,网络组件依据在第一哈希表中不存在与查询消息的内容ID前缀对应的第一布隆过滤器时,即第一哈希表中未存储查询消息的内容ID前缀到布隆过滤器的映射关系;
或,
当第一哈希表中存在与查询消息的内容ID前缀对应的第一布隆过滤器,且第一布隆过滤器和查询消息的内容ID后缀不匹配时,即第一哈希表中存储查询消息的内容ID前缀到布隆过滤器的映射关系且查询消息的内容ID后缀没有通过布隆过滤器的检测。
在上述两种情况下,则说明在网络组件的下属DHT节点中未存储查询消息的内容ID与主机的位置信息的映射关系,即无法从网络组件的下属DHT节点的主机中获取查询消息的内容ID对应的内容。
在网络结构中,网络组件存在上一层的网络组件,则可以将查询消息转发至网络结构中网络组件的上一层的网络组件。在上一层的网络组件中可以依据查询消息的内容ID前缀确定存储查询消息的内容ID与主机位置的映射关系的DHT节点。其中,确定DHT节点的过程参见S501-S503。网络组件处于顶层,没有上一层的网络组件,则通过发送查询请求的DHT节点向终端发送失败消息。
在本发明实施例中,在网络组件下属的DHT节点中没有查询消息的内容ID与主机位置的映射关系,则将查询消息发送至上一层网络组件,在其他的DHT节点中查找内容ID与主机位置的映射关系。
下面以ICN网络中内容ID的注册与查询为例,说明本发明实施例中的技术方案。
在进行网络中的消息处理时,各节点间通信所用的消息字段如表4所示:
表4
Figure BDA0001405072210000111
注册:主机通过产生注册包,并将自己的地址作为可提供内容的备选地址填入Value,设置类型为1,代表是注册类型的ICN内容ID解析包,参见表5是注册包的消息字段表。其它字段为空或默认初始化数值,然后发包给自己所连接的DHT节点。
表5
Figure BDA0001405072210000112
DHT节点接收到注册包之后,写入<内容id->地址>的映射,然后将注册包中的value加入到表2中;然后利用布隆过滤器执行向上的聚合注册:在注册消息中填入DHT节点标识后发送给管理DHT节点的网络组件。在本发明实施例中,管理DHT节点的网络组件可以是命名聚合系统(Name Aggregation system,NAS)。
NAS拆分内容ID,得到内容ID前缀和内容ID后缀。然后对内容ID前缀做哈希映射,将内容ID后缀写入映射位置存储的布隆过滤器中;再将本NAS的代号即NAS-1写入得到完整注册包,然后将完整数据报转发给更高层的NAS即NAS-2。表6是完成注册包对应的消息字段表。
表6
Figure BDA0001405072210000121
在注册过程中,DHT节点中的DHT存储完整的内容ID与主机的位置信息映射关系,如果在本地有多个主机注册并提供此内容,则其存储一个地址列表。NAS中存储内容ID前缀到聚合内容ID后缀的布隆过滤器的映射,如表7所示。其中,NAS-2是NAS-1上层的网络组件。
表7
Figure BDA0001405072210000122
以上是在注册过程中注册包中关键字段的变化过程,以及网络设备在处理过程中留下的数据项。
下面介绍查询,在查询过程中,主机首先发出填入内容id、本机地址的查询包,类型为2,参见表8,表8是初始查询包的消息字段表。
表8
Figure BDA0001405072210000123
DHT节点收到查询包后,先在本地查询即在DHT节点中查询内容ID与主机的位置信息映射关系,若存在本地记录则返回解析结果即主机的位置信息,本地记录是指内容ID与主机的位置信息映射关系;若本地无记录则在连接域填入DHT节点地址,然后将包传给上层NAS,即NAS-1。
NAS-1收到后,拆分内容ID得到内容ID前缀和内容ID后缀。依据内容ID前缀进行本地存储的哈希表的查询,即在NAS-1管理的DHT节点中寻找前缀a/b对应的布隆过滤器中是否含有c,如果含有符合条件的记录,则将包类型写为4,转发到相应的DHT节点中查询。如果遍历完毕没有发现含有内容ID前缀的哈希表,或是布隆过滤器中没有内容ID后缀的表项即内容ID没有通过布隆过滤器的检测,则说明该内容ID未在NAS-1管理的网络范围内注册过,需要向高层管理域即NAS-2继续转发。参见表9是NAS-1转发查询包的消息字段表。
表9
Figure BDA0001405072210000131
NAS-2收到查询包后,进行与NAS-1相似的查询,区别是划分内容ID前缀为a,内容ID后缀为b/c,在自己管理的除NAS-1外的哈希表中查询,其中每个NAS-2下属的NAS均对应一张哈希表。
若NAS-1.1对应的哈希表中含有符合要求的记录,则将包类型改为‘4’,向NAS-1.1下发查询包。参见表10是向NAS-1.1下发查询包的消息字段表。
表10
Figure BDA0001405072210000132
收到查询包的NAS1.1在自己管理的DHT节点的哈希表查询,例如查到DHT-02对应的a/b位置的过滤器中含有c,则将查询包转发给DHT-02,DHT-02若查询到对应结果则将内容的地址写入消息,type修改为3。参见表8是查询包的返回消息字段表。
表11
Figure BDA0001405072210000133
NAS-2在收到最终查询结果后,不管成功或失败,按原路返回查询结果。
在本发明实施例中,利用内容ID具有前缀相似的特点,将查表操作转化成具有高精度的存在性检测,达到了兼顾扩展性和效率、移动性的设计目的。NAS不存储具体的映射位置,只是通过聚合,间接管理内容ID所对应的主机的位置信息,具体的查询由DHT节点来完成,因此增加了网络架构的扩展性,有效收缩了节点面临的ID空间和存储数据量。
图7是示出能够实现根据本发明实施例解析内容标识的方法和网络组件的计算设备的示例性硬件架构的结构图。如图7所示,计算设备700包括输入设备701、输入接口702、处理器703、存储器704、输出接口705、以及输出设备706。
其中,输入接口702、处理器703、存储器704、以及输出接口705通过总线710相互连接,输入设备701和输出设备706分别通过输入接口702和输出接口705与总线710连接,进而与计算设备700的其他组件连接。
具体地,输入设备701接收来自外部的输入信息,并通过输入接口702将输入信息传送到处理器703;处理器703基于存储器704中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器704中,然后通过输出接口705将输出信息传送到输出设备706;输出设备706将输出信息输出到计算设备700的外部供用户使用。
计算设备700可以执行本申请上述的解析内容标识的方法中的各步骤。
处理器703可以是一个或多个中央处理器(英文:Central Processing Unit,CPU)。在处理器701或处理器701是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器704可以是但不限于随机存储存储器(RAM)、只读存储器(ROM),可擦除可编程只读存储器(EPROM)、光盘只读存储器(CD-ROM)、硬盘等中的一种或多种。存储器704用于存储程序代码。
可以理解的是,在本申请实施例中,图1-图4提供的任一模块或全部模块的功能可以用图7所示的中央处理器703实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。

Claims (13)

1.一种网络组件,其特征在于,所述网络组件包括:
拆分模块,用于接收查询消息,拆分所述查询消息中内容标识ID,获得所述查询消息的内容ID前缀和所述查询消息的内容ID后缀;
查询模块,用于查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,当所述第一哈希表中存在与所述查询消息的内容ID前缀对应的第一布隆过滤器时,查询所述对应的第一布隆过滤器和所述查询消息的内容ID后缀是否匹配;
发送模块,用于当所述对应的第一布隆过滤器和所述查询消息的内容ID后缀匹配时,将所述查询消息转发至所述第一哈希表对应的分布式哈希表DHT节点。
2.根据权利要求1所述网络组件,其特征在于,所述查询模块,具体用于按照优先级从多个哈希表中确定第一哈希表,查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,所述优先级由发送所述查询消息的DHT节点的地理位置和所述网络组件下属的DHT节点的负载情况确定。
3.根据权利要求1所述网络组件,其特征在于,所述网络组件还包括注册模块,
所述拆分模块,用于接收注册消息,拆分所述注册消息中内容ID,获得所述注册消息的内容ID前缀和所述注册消息的内容ID后缀;
所述注册模块,用于将所述注册消息的内容ID前缀做哈希运算得到哈希值,依据所述哈希值确定第二布隆过滤器,将所述第二布隆过滤器存储在第二哈希表,所述第二哈希表与发送所述注册消息的DHT节点对应,所述注册消息的内容ID后缀与所述第二布隆过滤器相匹配。
4.根据权利要求1所述网络组件,其特征在于,所述拆分模块,用于依据所述网络组件在网络构架的层数拆分所述查询消息中内容ID。
5.根据权利要求1所述网络组件,其特征在于,
所述发送模块,具体用于所述第一哈希表中不存在与所述查询消息的内容ID前缀对应的第一布隆过滤器时,
或,
当所述第一哈希表中存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,且所述对应的第一布隆过滤器和所述查询消息的内容ID后缀不匹配时,将所述查询消息转发至网络结构中所述网络组件上一层的网络组件。
6.根据权利要求1所述网络组件,其特征在于,所述DHT节点存储DHT,所述DHT包括内容ID与主机的位置信息映射关系。
7.一种解析内容标识的方法,其特征在于,所述方法包括:
网络组件拆分查询消息中内容标识ID,获得所述查询消息的内容ID前缀和所述查询消息的内容ID后缀;
所述网络组件查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,当所述第一哈希表中存在与所述查询消息的内容ID前缀对应的第一布隆过滤器时,查询所述对应的第一布隆过滤器和所述查询消息的内容ID后缀是否匹配;
所述网络组件当所述对应的第一布隆过滤器和所述查询消息的内容ID后缀匹配时,将所述查询消息转发至所述第一哈希表对应的分布式哈希表DHT节点。
8.根据权利要求7所述解析内容标识的方法,其特征在于,所述网络组件查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,包括:
所述网络组件按照优先级从多个哈希表中确定第一哈希表,查询第一哈希表中是否存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,所述优先级由发送所述查询消息的DHT节点地理位置和所述网络组件下属的DHT节点的负载情况确定。
9.根据权利要求7所述解析内容标识的方法,其特征在于,所述方法还包括:
所述网络组件拆分注册消息中内容ID,获得所述注册消息的内容ID前缀和所述注册消息的内容ID后缀;
所述网络组件将所述注册消息的内容ID前缀做哈希运算得到哈希值,依据所述哈希值确定第二布隆过滤器,将所述第二布隆过滤器存储在第二哈希表中,所述第二哈希表与发送所述注册消息的DHT节点对应,所述注册消息的内容ID后缀与所述第二布隆过滤器相匹配。
10.根据权利要求7所述解析内容标识的方法,其特征在于,所述网络组件拆分查询消息中内容ID,包括:
所述网络组件依据所述网络组件在网络构架的层数,拆分所述查询消息中内容ID。
11.根据权利要求7所述解析内容标识的方法,其特征在于,所述方法还包括:
所述网络组件在所述第一哈希表中不存在与所述查询消息的内容ID前缀对应的第一布隆过滤器时,
或,
当所述第一哈希表中存在与所述查询消息的内容ID前缀对应的第一布隆过滤器,且所述对应的第一布隆过滤器和所述查询消息的内容ID后缀不匹配时,将所述查询消息转发至网络结构中所述网络组件上一层的网络组件。
12.根据权利要求7所述解析内容标识的方法,其特征在于,所述DHT节点存储DHT,所述DHT包括内容ID与主机的位置信息映射关系。
13.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求7-12任意一项所述的方法。
CN201710815919.XA 2017-09-12 2017-09-12 网络组件、解析内容标识的方法和计算机可读存储介质 Active CN109495525B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710815919.XA CN109495525B (zh) 2017-09-12 2017-09-12 网络组件、解析内容标识的方法和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710815919.XA CN109495525B (zh) 2017-09-12 2017-09-12 网络组件、解析内容标识的方法和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109495525A CN109495525A (zh) 2019-03-19
CN109495525B true CN109495525B (zh) 2020-09-18

Family

ID=65688769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710815919.XA Active CN109495525B (zh) 2017-09-12 2017-09-12 网络组件、解析内容标识的方法和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109495525B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035413B (zh) * 2020-09-03 2024-02-20 杭州海康威视系统技术有限公司 元数据信息查询方法、装置及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613787B2 (en) * 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
CN101510897B (zh) * 2009-03-30 2012-02-01 北京邮电大学 针对层次化主机标识、基于叠加式dht的寻址系统和方法
US8578049B2 (en) * 2010-10-04 2013-11-05 Futurewei Technologies, Inc. Content router forwarding plane architecture
CN102110132B (zh) * 2010-12-08 2013-06-19 北京星网锐捷网络技术有限公司 统一资源定位符匹配查找方法、装置和网络侧设备
US8799507B2 (en) * 2012-03-13 2014-08-05 Juniper Networks, Inc. Longest prefix match searches with variable numbers of prefixes
CN103428093B (zh) * 2013-07-03 2017-02-08 北京邮电大学 一种基于名字路由前缀存储、匹配及更新方法与装置
CN104320451A (zh) * 2014-10-21 2015-01-28 北京邮电大学 支持内容中心网络的Web服务器缓存系统及处理方法

Also Published As

Publication number Publication date
CN109495525A (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
US10706029B2 (en) Content name resolution for information centric networking
US9978025B2 (en) Ordered-element naming for name-based packet forwarding
EP2214356B1 (en) System for forwarding a packet with a hierarchically structured variable-length identifier
US7720996B2 (en) Internet protocol (IP) address proximity and application to peer provider location
EP2214357B1 (en) Method and system for facilitating forwarding a packet in a content-centric network
US9774531B2 (en) Hash-based forwarding in content centric networks
US8886750B1 (en) Alias resource record sets
US20140149601A1 (en) Systems for accelerating content delivery via dns overriding
EP2073505A1 (en) Query routing in distributed database system
WO2018130061A1 (zh) 域名解析方法、服务器和存储介质
US11824829B2 (en) Methods and systems for domain name data networking
US20110099226A1 (en) Method of requesting for location information of resources on network, user node and server for the same
US9705843B2 (en) Method and system for domain name system based discovery of devices and objects
US8539041B2 (en) Method, apparatus, and network system for acquiring content
CN109450795B (zh) 一种面向服务网络的服务路由器及服务网络系统
US10742596B2 (en) Method and system for reducing a collision probability of hash-based names using a publisher identifier
US9401864B2 (en) Express header for packets with hierarchically structured variable-length identifiers
US11843650B2 (en) Two-level cache architecture for live video streaming through hybrid ICN
US8667085B2 (en) Methods and apparatuses for a network based on hierarchical name structure
Li et al. An aggregatable name-based routing for energy-efficient data sharing in big data era
RU2483457C2 (ru) Платформа маршрутизации сообщений
CN109495525B (zh) 网络组件、解析内容标识的方法和计算机可读存储介质
US10069720B2 (en) Routing by resolution
Alhisnawi Forwarding information base design techniques in content-centric networking: a survey
Hwang et al. Resource name-based routing in the network layer

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210427

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Device Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.