CN107870925A - 一种字符串过滤方法和相关装置 - Google Patents
一种字符串过滤方法和相关装置 Download PDFInfo
- Publication number
- CN107870925A CN107870925A CN201610850786.5A CN201610850786A CN107870925A CN 107870925 A CN107870925 A CN 107870925A CN 201610850786 A CN201610850786 A CN 201610850786A CN 107870925 A CN107870925 A CN 107870925A
- Authority
- CN
- China
- Prior art keywords
- prefix
- character string
- string
- network node
- preserved
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种字符串过滤方法和相关装置,为网络节点设置接口过滤装置,接口过滤装置中包括保存了与该网络节点相关数据的字符串和字符串前缀的第一过滤组件和第二过滤组件,接口过滤装置可以先于网络节点接收到数据请求方发送的获取请求,根据所保存的字符串和字符串前缀匹配该获取请求中携带的待识别字符串,若待识别字符串能够匹配到接口过滤装置中任意一个字符串或字符串前缀,则可以确定该获取请求中所请求的数据与该网络节点相关,可见,通过接口过滤装置可以有效的将请求获取与网络节点无关数据的获取请求进行过滤,尽量保证网络节点需要处理的获取请求所请求的数据是与该网络节点相关的,从而提高了网络节点处理资源的利用率。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种字符串过滤方法和相关装置。
背景技术
在通信网络中,数据可以通过字符串进行标识,保存有数据的网络节点可以记录所保存数据对应的字符串。当数据请求方希望获取一个数据时,可以向网络节点发送携带有标识这个数据的字符串的获取请求。接收到该获取请求的网络节点可以将获取请求中携带的字符串匹配自身所记录的字符串,若匹配成功,则表示该网络节点具有向该数据请求方提供这个数据的能力。
然而,大部分请求下,数据请求方并不是向指定网络节点发送获取请求,而是以例如广播的方式传播获取请求,任意一个保存有数据的网络节点都可以接收到该获取请求。然而并不是每一个网络节点都有保存该获取请求所请求的数据,实际上,一个网络节点所接收到的获取请求中很大一部分所请求的数据都与这个网络节点自身保存的数据不相关。如果网络节点对接收到的每一个获取请求都进行匹配处理,导致网络节点会浪费大量***资源处理这些不相关的获取请求,降低效率。
故网络节点具有对接收到的获取请求进行过滤的需求,以希望将与自身所保存数据不相关的获取请求在处理前过滤掉,以提高***效率。然而目前并没有有效的为网络节点过滤获取请求的方案。
发明内容
为了解决上述技术问题,本发明实施例提供了一种
第一方面,本发明提供了一种字符串过滤方法,应用于网络节点的接口过滤装置,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件中保存了用于标识与所述网络节点相关的数据的字符串,所述第二过滤组件中保存了用于标识与所述网络节点相关的数据的字符串前缀,所述方法包括:
所述接口过滤装置接收到获取请求,所述获取请求中包括所请求数据的待识别字符串;
所述接口过滤装置判断所述待识别字符串是否与所述第一过滤组件保存的字符串和第二过滤组件保存的字符串前缀匹配;
若所述待识别字符串与所述第一过滤组件保存的字符串中任意一个匹配或所述第二过滤组件保存的字符串前缀中任意一个匹配,所述接口过滤装置识别所述所请求数据为与所述网络节点相关的数据;
所述接口过滤装置向所述网络节点上传所述获取请求。
可选的,所述接口过滤装置判断所述待识别字符串是否与所述第一过滤组件保存的字符串和第二过滤组件保存的字符串前缀匹配,包括:
若所述待识别字符串与所述第一过滤组件保存的字符串和所述第二过滤组件保存字符串前缀均不匹配,所述接口过滤装置识别所述所请求数据为与所述网络节点不相关的数据;
所述接口过滤装置将所述获取请求丢弃,而不向所述网络节点上传所述获取请求。
可选的,所述网络节点处于NDN中。
第二方面,本发明提供了一种用于字符串过滤的接口过滤装置,所述接口过滤装置用于为所对应网络节点过滤获取请求,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件包括字符串BF,所述第二过滤组件包括前缀BF;
所述字符串BF用于保存用于标识与所述网络节点相关的数据的字符串;
所述前缀BF用于保存用于标识与所述网络节点相关的数据的字符串前缀;
所述接口过滤装置用于接收可被所述网络节点接收的获取请求,所述获取请求中包括所请求数据的待识别字符串;
所述字符串BF和所述前缀BF用于根据保存的字符串和字符串前缀匹配所述待识别字符串,若所述待识别字符串与所述字符串BF保存的字符串中任意一个匹配或与所述前缀BF保存的字符串前缀中任意一个匹配,所述接口过滤装置还用于识别所述所请求数据为与所述网络节点相关的数据;并向所述网络节点上传所述获取请求。
可选的,若所述待识别字符串与所述字符串BF保存的字符串和所述前缀BF保存字符串前缀均不匹配,所述接口过滤装置还用于识别所述所请求数据为与所述网络节点不相关的数据;并将所述获取请求丢弃,而不向所述网络节点上传所述获取请求。
可选的,所述第一过滤组件还包括对应所述字符串BF的字符串计数CBF,所述第二过滤组件还包括对应所述前缀BF的前缀CBF:
所述字符串CBF用于记录第一哈希表的使用情况,所述第一哈希表为所述第一过滤组件对应的哈希表,所述第一哈希表用于记录所述字符串BF所保存的字符串的哈希值;
所述前缀CBF用于记录第二哈希表的使用情况,所述第二哈希表为所述第二过滤组件对应的哈希表,所述第二哈希表用于记录所述前缀BF所保存的字符串前缀的哈希值。
可选的,当改动所述字符串BF中保存的字符串时,所述字符串CBF还用于根据改动内容更新所述第一哈希表的使用情况;
当改动所述前缀BF中保存的字符串前缀时,所述前缀CBF还用于根据改动内容更新所述第二哈希表的使用情况。
第三方面,本发明提供了一种针对接口过滤装置的调控方法,应用于接口过滤装置,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件包括字符串BF,所述第二过滤组件包括前缀BF;所述字符串BF用于保存用于标识与所述网络节点相关的数据的字符串;所述前缀BF用于保存用于标识与所述网络节点相关的数据的字符串前缀;所述接口过滤装置记录所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,所述方法包括:
根据所述字符串BF中保存字符串的数量,计算所述字符串BF出现字符串假阳性的程度,所述字符串假阳性用于标识所述字符串BF将与所述字符串BF保存的字符串均不匹配的待识别字符串错误确定为匹配的概率数值;
若所述字符串假阳性超过第一预设阈值,将符合第一长度条件的第一字符串从所述字符串BF中删除,所述第一字符串为所述字符串BF中保存的一个字符串;
将所述第一字符串作为字符串前缀保存到所述前缀BF中。
可选的,所述根据所述字符串BF中保存字符串的数量,计算所述字符串BF出现字符串假阳性的程度,包括:
若所述字符串假阳性低于第二预设阈值,将符合第二长度条件的第一字符串前缀从所述前缀BF中删除,所述第一字符串前缀为所述前缀BF中保存的一个字符串前缀;
将所述第一字符串前缀作为字符串保存到所述字符串BF中。
可选的,在所述将符合第二长度条件的第一字符串前缀从所述前缀BF中删除之后,还包括:
根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第一字符串前缀的字符串前缀保存至所述前缀BF中。
可选的,还包括:
根据所述前缀BF中保存字符串前缀的数量,计算所述前缀BF出现前缀假阳性的程度,所述前缀假阳性用于标识所述前缀BF将与所述前缀BF保存的字符串前缀均不匹配的待识别字符串错误确定为匹配的概率数值;
若所述前缀假阳性超过第三预设阈值,确定出符合第一长度条件的多个字符串前缀,所述多个字符串前缀从属于相同的公共前缀;
将所述多个字符串前缀合并为所述公共前缀,并将所述多个字符串前缀从所述前缀BF中删除。
可选的,所述根据所述前缀BF中保存字符串前缀的数量,计算所述前缀BF出现前缀假阳性的程度,包括:
若所述前缀假阳性低于第四预设阈值,将符合第二长度条件的第二字符串前缀从所述前缀BF中删除,所述第二字符串前缀为所述前缀BF中保存的一个字符串前缀;
将所述第二字符串前缀作为字符串保存到所述字符串BF中。
可选的,在所述将符合第二长度条件的第二字符串前缀从所述前缀BF中删除之后,还包括:
根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第二字符串前缀的字符串前缀保存至所述前缀BF中。
可选的,所述第一长度条件为所述字符串BF中保存字符串长度的最大值。
可选的,所述第二长度条件为所述前缀BF中保存字符串前缀长度的最小值。
第四方面,本发明提供了一种字符串过滤装置,应用于网络节点的接口过滤装置,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件中保存了用于标识与所述网络节点相关的数据的字符串,所述第二过滤组件中保存了用于标识与所述网络节点相关的数据的字符串前缀,所述字符串过滤装置包括接收单元、判断单元、第一识别单元、发送单元:
所述接收单元,用于接收到获取请求,所述获取请求中包括所请求数据的待识别字符串;
所述判断单元,用于判断所述待识别字符串是否与所述第一过滤组件保存的字符串和第二过滤组件保存的字符串前缀匹配;若所述待识别字符串与所述第一过滤组件保存的字符串中任意一个匹配或所述第二过滤组件保存的字符串前缀中任意一个匹配,触发所述第一识别单元;
所述第一识别单元,用于识别所述所请求数据为与所述网络节点相关的数据;
所述发送单元,用于向所述网络节点上传所述获取请求。
可选的,还包括第二识别单元和丢弃单元:
若所述待识别字符串与所述第一过滤组件保存的字符串和所述第二过滤组件保存字符串前缀均不匹配,所述判断单元触发第二识别单元;
所述第二识别单元,用于识别所述所请求数据为与所述网络节点不相关的数据;
所述丢弃单元,用于将所述获取请求丢弃,而不向所述网络节点上传所述获取请求。
可选的,所述网络节点处于NDN中。
第五方面,本发明提供了一种针对接口过滤装置的调控装置,应用于接口过滤装置,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件包括字符串BF,所述第二过滤组件包括前缀BF;所述字符串BF用于保存用于标识与所述网络节点相关的数据的字符串;所述前缀BF用于保存用于标识与所述网络节点相关的数据的字符串前缀;所述接口过滤装置记录所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,所述调控装置包括计算单元、删除单元和保存单元:
所述计算单元,用于根据所述字符串BF中保存字符串的数量,计算所述字符串BF出现字符串假阳性的程度,所述字符串假阳性用于标识所述字符串BF将与所述字符串BF保存的字符串均不匹配的待识别字符串错误确定为匹配的概率数值;若所述字符串假阳性超过第一预设阈值,触发所述删除单元;
所述删除单元,用于将符合第一长度条件的第一字符串从所述字符串BF中删除,所述第一字符串为所述字符串BF中保存的一个字符串;
所述保存单元,用于将所述第一字符串作为字符串前缀保存到所述前缀BF中。
可选的,若所述字符串假阳性低于第二预设阈值,所述计算单元触发所述删除单元,所述删除单元还用于将符合第二长度条件的第一字符串前缀从所述前缀BF中删除,所述第一字符串前缀为所述前缀BF中保存的一个字符串前缀;
所述保存单元还用于将所述第一字符串前缀作为字符串保存到所述字符串BF中。
可选的,所述保存单元还用于根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第一字符串前缀的字符串前缀保存至所述前缀BF中。
可选的,还包括确定单元和合并单元:
所述计算单元还用于根据所述前缀BF中保存字符串前缀的数量,计算所述前缀BF出现前缀假阳性的程度,所述前缀假阳性用于标识所述前缀BF将与所述前缀BF保存的字符串前缀均不匹配的待识别字符串错误确定为匹配的概率数值;若所述前缀假阳性超过第三预设阈值,触发所述确定单元;
所述确定单元,用于确定出符合第一长度条件的多个字符串前缀,所述多个字符串前缀从属于相同的公共前缀;
所述合并单元,用于将所述多个字符串前缀合并为所述公共前缀,并将所述多个字符串前缀从所述前缀BF中删除。
可选的,若所述前缀假阳性低于第四预设阈值,所述计算单元触发所述删除单元,所述删除单元还用于将符合第二长度条件的第二字符串前缀从所述前缀BF中删除,所述第二字符串前缀为所述前缀BF中保存的一个字符串前缀;
所述保存单元还用于将所述第二字符串前缀作为字符串保存到所述字符串BF中。
可选的,所述保存单元还用于根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第二字符串前缀的字符串前缀保存至所述前缀BF中。
可选的,所述第一长度条件为所述字符串BF中保存字符串长度的最大值。
可选的,所述第二长度条件为所述前缀BF中保存字符串前缀长度的最小值。
由上述技术方案可以看出,为网络节点设置接口过滤装置,接口过滤装置中包括保存了与该网络节点相关数据的字符串和字符串前缀的第一过滤组件和第二过滤组件,接口过滤装置可以先于网络节点接收到数据请求方发送的获取请求,根据所保存的字符串和字符串前缀匹配该获取请求中携带的待识别字符串,若待识别字符串能够匹配到接口过滤装置中任意一个字符串或字符串前缀,则可以确定该获取请求中所请求的数据与该网络节点相关,可以将该获取请求上传给该网络节点处理,可见,通过接口过滤装置可以有效的将请求获取与网络节点无关数据的获取请求进行过滤,尽量保证网络节点需要处理的获取请求所请求的数据是与该网络节点相关的,从而提高了网络节点处理资源的利用率,提高了网络节点的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种字符串过滤方法的方法流程图;
图2为本发明实施例提供的一种用于字符串过滤的接口过滤装置的装置结构图;
图3为本发明实施例提供的一种NDN-NIC架构的硬件结构图;
图4为本发明实施例提供的一种针对接口过滤装置的调控方法的方法流程图;
图5为本发明实施例提供的一种NDN场景中针对接口过滤装置的调控示意图;
图6为本发明实施例提供的一种NDN场景中针对接口过滤装置的调控示意图;
图7为本发明实施例提供的一种针对接口过滤装置的调控方法的方法流程图;
图8为本发明实施例提供的一种NDN场景中针对接口过滤装置的调控示意图;
图9a为本发明实施例提供的一种NDN场景中BF-CS和BF-FIB之间调控示意图;
图9b为本发明实施例提供的一种NDN场景中BF-CS和BF-FIB之间调控示意图;
图9c为本发明实施例提供的一种NDN场景中BF-CS和BF-FIB之间调控示意图;
图9d为本发明实施例提供的一种NDN场景中BF-CS和BF-FIB之间调控示意图;
图10为本发明实施例提供的一种字符串过滤装置的装置结构图
图11为本发明实施例提供的一种针对接口过滤装置的调控装置的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在通信网络中,数据可以通过字符串进行标识,例如内容标记网络(Named DataNetworking,NDN)中,内容(data)是通过名字(也就是一种字符串或者interest)进行标识的,而不是存储内容的网络节点也就是目的主机的地址。当数据请求方(Consumer)希望获取一个数据时,可以向网络节点发送携带有标识这个数据的字符串的获取请求,该获取请求并没有指定的接收方,例如NDN中,内容请求方所发送的获取请求(Interest)在共享媒体(shared media,例如Wi-Fi环境)中传播,不需指定特定接收端。在共享媒体中的网络节点例如存储数据的终端(host)均可以接收该获取请求。但是并不是每个接收到的获取请求所请求的数据都是与网络节点相关的数据。有些场景中,甚至一个网络节点接收到的获取请求中,有超过九成的获取请求所请求的数据与这个网络节点无关,即这个网络节点所能提供的数据并不是这些获取请求所请求的数据。处理这些无关的获取请求浪费了网络节点的大量***资源(CPU计算、查表访存等),不利于这种通过字符串标识数据的通信网络的推广。
故网络节点具有对接收到的获取请求进行过滤的需求,以希望将与自身所保存数据不相关的获取请求在处理前过滤掉,以提高***效率。然而目前并没有有效的为网络节点过滤获取请求的方案。
为此,本发明实施例提供了一种字符串过滤方法和相关装置,为网络节点设置接口过滤装置,接口过滤装置中包括保存了与该网络节点相关数据的字符串和字符串前缀的第一过滤组件和第二过滤组件,接口过滤装置可以先于网络节点接收到数据请求方发送的获取请求,根据所保存的字符串和字符串前缀匹配该获取请求中携带的待识别字符串,若待识别字符串能够匹配到接口过滤装置中任意一个字符串或字符串前缀,则可以确定该获取请求中所请求的数据与该网络节点相关,可以将该获取请求上传给该网络节点处理,可见,通过接口过滤装置可以有效的将请求获取与网络节点无关数据的获取请求进行过滤,尽量保证网络节点需要处理的获取请求所请求的数据是与该网络节点相关的,从而提高了网络节点处理资源的利用率,提高了网络节点的处理效率。
本发明实施例所提供的接口过滤装置可以与网络节点一一对应,设置在网络节点的与网络之间的接口上,以此可以先于网络节点接收到上述获取请求,通过接口过滤装置对获取请求的过滤,可以将请求的数据明显与该网络节点不相关的获取请求筛除,而不提供给该网络节点进行处理,以避免浪费该网络节点的***资源。在NDN的场景下,该接口过滤装置可以设置在NDN中终端的网络接口卡(Network Interface Card,NIC)上,从而形成一种NDN-NIC框架的接口过滤装置。把识别和过滤获取请求的工作保留在NIC硬件上完成,使得传递到网络节点的软件协议栈中的获取请求尽可能都是本网络节点能够处理的获取请求。
接下来首先接收如何使用为网络节点设置的接口过滤装置,以实现减少该网络节点处理无关获取请求的实现方案。
在介绍过滤方法流程之前,首先介绍本发明实施例所提供的接口过滤装置,该接口过滤装置为对应的网络节点提供获取请求的过滤功能。该接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件中保存了用于标识与所述网络节点相关的数据的字符串,所述第二过滤组件中保存了用于标识与所述网络节点相关的数据的字符串前缀。
举例说明,与网络节点相关的字符串可以理解为与该网络节点相关的数据的字符串。在本发明中,字符串可以具有标识数据的功能,例如可以是一个文件或内容的名称,也可以是数据的ID、标识等。与网络节点相关的数据不仅可以包括该网络节点中保存的数据,也可以包括未保存在该网络节点上,但是该网络节点可以快速获取的数据,例如保存在该网络节点的邻居节点中的数据等。那么与网络节点相关的字符串可以是标识这类数据的字符串,与网络节点相关的字符串前缀可以是标识这类数据的字符串中从字符串的起始点开始的一部分。例如一个数据的字符串为“/A/b/3”,这个字符串的起始点为最左边的“/”,这个字符串的字符串前缀可以包括“/”、“/A”、“/A/b”等。例如字符串前缀“/”可以包括所有以“/”起始的字符串,例如“/a”、“/b/1”等都可以与字符串前缀“/”匹配。
可以看出,字符串相当于数据的完整名称,而字符串前缀相当于数据的部分名称。
在NDN的场景下,第一过滤组件中保存的字符串可以是NDN的网络节点的内容存储库(Content Store,CS)中保存的内容名字(数据的字符串)。而第二过滤组件中保存的字符串前缀可以是网络节点的转发信息库(Forwarding Information Base,FIB)或待定兴趣表(Pending Interest Table,PIT)中保存的名字前缀(字符串前缀)。
接口过滤装置中除了可以包括第一过滤组件和第二过滤组件外,还可以包括其他过滤组件,例如还可以包括其他保存字符串前缀的过滤组件。
图1为本发明实施例提供的一种字符串过滤方法的方法流程图,应用于网络节点的接口过滤装置,在一种可选的应用场景中,该网络节点为NDN中的网络节点,所述方法包括:
S101:所述接口过滤装置接收到获取请求,所述获取请求中包括所请求数据的待识别字符串。
举例说明,接口过滤装置可以先于该网络节点接收到网络中的获取请求,该获取请求用于请求获取数据,该数据包括用于标识的字符串。对于所述接口过滤装置来说,由于尚未确定该数据是否是与该网络节点相关的数据,故用于判断是否相关的依据:该数据的字符串称为待识别字符串。
S102:所述接口过滤装置判断所述待识别字符串是否与所述第一过滤组件保存的字符串和第二过滤组件保存的字符串前缀匹配。若所述待识别字符串与所述第一过滤组件保存的字符串中任意一个匹配或所述第二过滤组件保存的字符串前缀中任意一个匹配,执行S103。
举例说明,可以将该待识别字符串依次与第一过滤组件和第二过滤组件进行匹配,也可以同时进行匹配。以待识别字符串“/A/b/3”为例,若第一过滤组件中保存的字符串包括“/A/b/3”,则可以认为该“/A/b/3”与第一过滤组件中的该字符串匹配。若第二过滤组件中保存的字符串前缀包括“/A/b”、“/A”、“/”中一个,也可以认为该“/A/b/3”与第二过滤器中保存的字符串前缀匹配。
S103:所述接口过滤装置识别所述所请求数据为与所述网络节点相关的数据。
S104:所述接口过滤装置向所述网络节点上传所述获取请求。
当通过待识别字符串确认出该待识别字符串所对应的数据为与该网络节点相关的数据时,可以将获取请求上传至该网络节点,由该网络节点对该获取请求进行后续处理。
需要注意的是,当进行S102的匹配时,若所述待识别字符串与所述第一过滤组件保存的字符串和所述第二过滤组件保存字符串前缀均不匹配,所述接口过滤装置识别所述所请求数据为与所述网络节点不相关的数据,也就是说,即使将该获取请求提供给该网络节点,该网络节点无法提供给该获取请求的发送方的数据。故这种情况下,所述接口过滤装置可以将所述获取请求丢弃,而不向所述网络节点上传所述获取请求。
可以看出,为网络节点设置接口过滤装置,接口过滤装置中包括保存了与该网络节点相关数据的字符串和字符串前缀的第一过滤组件和第二过滤组件,接口过滤装置可以先于网络节点接收到数据请求方发送的获取请求,根据所保存的字符串和字符串前缀匹配该获取请求中携带的待识别字符串,若待识别字符串能够匹配到接口过滤装置中任意一个字符串或字符串前缀,则可以确定该获取请求中所请求的数据与该网络节点相关,可以将该获取请求上传给该网络节点处理,可见,通过接口过滤装置可以有效的将请求获取与网络节点无关数据的获取请求进行过滤,尽量保证网络节点需要处理的获取请求所请求的数据是与该网络节点相关的,从而提高了网络节点处理资源的利用率,提高了网络节点的处理效率。
接下来将从装置的角度来对接口过滤装置进行说明。如图2所示,所述接口过滤装置200用于为所对应网络节点过滤获取请求,接口过滤装置200至少包括第一过滤组件210和第二过滤组件220,第一过滤组件210包括字符串布隆过滤器(Bloom Filter,BF)211,第二过滤组件220包括前缀BF221。
BF是一种用于存在性检测(membership query)的数据结构,广泛用于网络中的流分类和查找结构。保存在BF中的数据将通过BF的哈希表进行置位。在本发明实施例中的字符串BF和前缀BF均为一种BF。
字符串BF211用于保存用于标识与所述网络节点相关的数据的字符串。
前缀BF221用于保存用于标识与所述网络节点相关的数据的字符串前缀。
接口过滤装置200用于接收可被所述网络节点接收的获取请求,所述获取请求中包括所请求数据的待识别字符串。
字符串BF211和所述前缀BF221用于根据保存的字符串和字符串前缀匹配所述待识别字符串,若所述待识别字符串与所述字符串BF保存的字符串中任意一个匹配或与所述前缀BF保存的字符串前缀中任意一个匹配,所述接口过滤装置还用于识别所述所请求数据为与所述网络节点相关的数据;并向所述网络节点上传所述获取请求。
可选的,若所述待识别字符串与所述字符串BF保存的字符串和所述前缀BF保存字符串前缀均不匹配,所述接口过滤装置还用于识别所述所请求数据为与所述网络节点不相关的数据;并将所述获取请求丢弃,而不向所述网络节点上传所述获取请求。
可选的,第一过滤组件210还包括对应字符串BF211的字符串计数布隆过滤器(Counting Bloom Filter,CBF)212,第二过滤组件220还包括对应前缀BF221的前缀CBF222。
字符串CBF212用于记录第一哈希表的使用情况,所述第一哈希表为所述第一过滤组件对应的哈希表,所述第一哈希表用于记录字符串BF211所保存的字符串的哈希值。
前缀CBF222用于记录第二哈希表的使用情况,所述第二哈希表为所述第二过滤组件对应的哈希表,所述第二哈希表用于记录前缀BF221所保存的字符串前缀的哈希值。
举例说明,CBF也属于一种BF。
在BF中,可以通过哈希表(hash table)来记录该BF所保存的字符串,以字符串BF211为例,若字符串BF211保存了一个字符串,该字符串对应的哈希值可以存储在第一哈希表中的几个位置,当字符串BF211需要匹配待识别字符串时,可以对待识别字符串进行哈希计算,通过得到的哈希值来与第一哈希表进行比较,若待识别字符串的哈希值在第一哈希表中对应的位置有记录,字符串BF211可以认为待识别字符串与自身保存的字符串匹配,若待识别字符串的哈希值在第一哈希表中对应的位置中有一个或几个没有记录,则字符串BF211可以认为待识别字符串与自身保存的字符串不匹配。字符串BF211对应的字符串CBF212可以用于记录第一哈希表的使用情况,例如第一哈希表中哪些位置有记录,以及记录了几次。例如字符串BF211保存的字符串1的哈希值在第一哈希表中的位置是a1,b2,c2,字符串2的哈希值在第一哈希表中的位置是a1,b5,c8,那么字符串CBF212所记录的第一哈希表的使用情况可以是位置a1记录了两次,位置b2,c2,b5,c8各记录了一次。
前缀BF221对所保存的字符串前缀也可以同样进行哈希计算,并将得到的哈希值记录在第二哈希表中,同理,前缀CBF222对第二哈希表的记录与字符串CBF对第一哈希表的记录类似,这里不再赘述。
可选的,当改动字符串BF211中保存的字符串时,字符串CBF212还用于根据改动内容更新所述第一哈希表的使用情况。
当改动前缀BF221中保存的字符串前缀时,前缀CBF222还用于根据改动内容更新所述第二哈希表的使用情况。
举例说明,改动字符串BF211中保存的字符串可以包括删除已存的字符串,也可以包括保存新的字符串,也可以包括对已存字符串进行修改。对字符串BF211中保存的字符串可以主动进行改动,也可以根据与网络节点相关的数据的变化进行相应的改动,例如网络节点将原本保存的数据a删除了,字符串BF211也需要相应的将原先保存的数据a的字符串删除,以便提高过滤准确性。
在字符串BF211中保存的字符串发生改动时,字符串CBF212还用于根据改动内容更新所述第一哈希表的使用情况,例如字符串BF211保存的字符串1的哈希值在第一哈希表中的位置是a1,b2,c2,字符串2的哈希值在第一哈希表中的位置是a1,b5,c8,那么字符串CBF212所记录的第一哈希表的使用情况可以是位置a1记录了两次,位置b2,c2,b5,c8各记录了一次。若此时将字符串2删除,字符串CBF212可以将第一哈希表中位置a1,b5,c8所对应的记录数值各减1,此时第一哈希表的使用情况可以是位置a1,b2,c2各记录了一次。
结合具体应用场景进行说明,在网络节点处于NDN中的情况下,接口过滤装置可以是NDN-NIC架构,该架构的装置结构可以参见图3,在该NDN-NIC架构中,由软件部分NDN-NICdriver和硬件部分NDN-NIC hardware构成。其中,NDN-NIC driver中用Counting BloomFilter构建三个过滤器,用软件实现;NDN-NIC hardware在硬件上实现对应的三个基于Bloom Filter的过滤器,与driver中三个CBF内容一一对应。即BF-CS包括对应的CBF-CS,BF-FIB包括对应的CBF-FIB,BF-PIT包括对应的CBF-PIT。
NDN-NIC更新时,先更新软件上的CBF。CBF记录对应的哈希表中哪些位置发生变化(例如0->1和1->0)。随后,在BF中,首先更新CBF中0->1的位,然后再更新1->0的位。因此,硬件可以在更新过程中继续处理接收到的获取请求。
NDN-NIC接收到获取请求后,可以直接在hardware的BF中进行匹配操作,而不通过driver中的CBF。
可见,为网络节点设置接口过滤装置,该接口过滤装置至少包括第一过滤组件和第二过滤组件,第一过滤组件中包括字符串BF,第二过滤组件中包括前缀BF,通过字符串BF保存用于标识与所述网络节点相关的数据的字符串,前缀BF保存用于标识与所述网络节点相关的数据的字符串前缀。接口过滤装置可以先于网络节点接收到数据请求方发送的获取请求,根据字符串BF和前缀BF中所保存的字符串和字符串前缀匹配该获取请求中携带的待识别字符串,从而可以有效的将请求获取与网络节点无关数据的获取请求进行过滤,尽量保证网络节点需要处理的获取请求所请求的数据是与该网络节点相关的,从而提高了网络节点处理资源的利用率,提高了网络节点的处理效率。
为网络节点设置的接口过滤装置中通过BF实现获取请求的过滤,由于BF的存储空间有限,当保存的数据数量较多时,将原本匹配不到的待识别字符串错误确定为能够匹配到的情况会大量增加,这种情况可以称为假阳性(false positive)。假阳性的出现导致很多请求与该网络节点无关数据的获取请求都不会被接口过滤装置过滤,而被上传到该网络节点处理,使得接口过滤装置不能正常工作。
假阳性的情况例如字符串BF中保存的大量的字符串后,第一哈希表中的位置可能基本上都被记录了,这种情况下,若字符串BF匹配一个待识别字符串,该待识别字符串的哈希值在第一哈希表中对应的位置很有可能都已经被字符串BF保存的其他字符串的哈希值所记录了,这种情况下,即使该待识别字符串与字符串BF所保存的字符串均不匹配,但是由于该待识别字符串的哈希值在第一哈希表中对应的位置都有记录,故字符串BF依然会确定该待识别字符串是与自身保存字符串匹配的结论。
一个BF的假阳性的程度随着这个BF中所保存数据的数量增加而指数级增加,可见,BF中保存数据的数量对假阳性的影响很大。
计算一个BF中假阳性程度可以使用下式:
假阳性程度=(1-e-kn/m)k
其中,k为一个数据的哈希值在哈希表中所记录位置的数量,m为哈希表中位置的数量,n为BF中保存数据的数量。
一般情况下,接口过滤装置中的字符串BF由于需要保存的字符串数量远多于前缀BF所需保存的字符串前缀,故字符串BF更容易出现针对字符串的字符串假阳性问题,即字符串BF将与所述字符串BF保存的字符串均不匹配的待识别字符串错误确定为匹配的可能性更大。
为了解决BF假阳性过高所带来的问题,尤其是对字符串BF所带来的影响,本发明实施例提供了一种针对接口过滤装置的调控方法,该方法应用于接口过滤装置,该接口过滤装置可以为如图1和图2所对应实施例中提到的接口过滤装置。而针对接口过滤装置的调控方法本发明实施例中主要提出三种方式,分别为移动操作(Transform),合并操作(Aggregation)和回滚操作(Reversion),接下来将一一介绍上述操作。
所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件包括字符串BF,所述第二过滤组件包括前缀BF;所述字符串BF用于保存用于标识与所述网络节点相关的数据的字符串;所述前缀BF用于保存用于标识与所述网络节点相关的数据的字符串前缀。
所述接口过滤装置记录所述字符串BF中保存的字符串与前缀BF中保存的字符串前缀之间的关联关系。例如可以通过树状结构记录该关联关系,树结构中的节点可以是字符串中的字符。
图4为本发明实施例提供的一种针对接口过滤装置的调控方法的方法流程图,所述方法包括:
S401:根据所述字符串BF中保存字符串的数量,计算所述字符串BF出现字符串假阳性的程度,所述字符串假阳性用于标识所述字符串BF将与所述字符串BF保存的字符串均不匹配的待识别字符串错误确定为匹配的概率数值;若所述字符串假阳性超过第一预设阈值,执行S402。
举例说明,本实施例中提到的字符串假阳性以及前缀假阳性均为一种BF的假阳性,即字符串假阳性为针对字符串BF的假阳性,前缀假阳性为针对前缀BF的假阳性。
由于明确了假阳性的程度与BF中保存数据的数量相关,故可以通过字符串BF中字符串的数量计算出字符串假阳性的程度。如果字符串假阳性较高,例如超出了第一预设阈值(例如25%),这时使用字符串BF匹配字符串的效果很差,会将很多与网络节点不相关的数据的待识别字符串错误确定为匹配,导致大量不相关获取请求上传到了网络节点,对网络节点造成处理负担。
为了降低字符串假阳性,最直接的方式就是减少字符串BF中所保存字符串的数量,故需要从字符串BF中确定出合适的字符串。
S402:将符合第一长度条件的第一字符串从所述字符串BF中删除,所述第一字符串为所述字符串BF中保存的一个字符串。
S403:将所述第一字符串作为字符串前缀保存到所述前缀BF中。
举例说明,确定出用于删除的字符串需要考虑到不会对字符串BF的过滤精度影响过大,而且,由于删除的字符串会作为字符串前缀保存到前缀BF中,还要考虑到当这个字符串成为字符串前缀时,不会对前缀BF的过滤精度影响过大。故此,本发明实施例从字符串长度作为判断条件,当一个字符串较长时,即使作为字符串前缀,该字符串前缀所能匹配到的字符串范围也不会太大,对前缀BF的过滤精度影响不大。
将字符串BF中的字符串删除,并将该字符串作为字符串前缀保存到前缀BF中的操作可以称为移动操作(Transform)。移动操作主要应用于字符串BF中。这种从字符串转换为字符串前缀导致对前缀BF的过滤精度影响可以称为前缀匹配假阳性(prefix match falsepositive)。例如“/A/b/3”作为字符串时,待识别字符串“/A/b/3/1”是不能与字符串“/A/b/3”匹配的,但是,当“/A/b/3”作为字符串前缀时,原本不能匹配的待识别字符串“/A/b/3/1”将可以与字符串前缀“/A/b/3”,可见,这种将字符串作为字符串前缀的操作,会使得一些原本不能匹配的待识别字符串匹配了,而这些原本不能匹配的待识别字符串所对应的数据是与网络节点不相关的数据,故携带该待识别字符串的获取请求本不应该上传给网络节点,但是,当将字符串“/A/b/3”作为字符串前缀后,携带待识别字符串“/A/b/3/1”的获取请求将可以上传给网络节点,为网络节点造成了不必要的处理负担。可见,在执行移动操作时,需要考虑到前缀匹配假阳性。
故此,可以从字符串BF中确定出一条字符串长度符合第一长度条件的字符串作为从字符串BF中移除的字符串。
这里所述的字符串长度可以根据字符串中所包括字符的数量确定。字符串的字符数量越多,长度相对越长。
可选的,所述第一长度条件为所述字符串BF中保存字符串长度的最大值。也就是第一字符串可以是字符串BF中最长的那个字符串。从而对其中BF的前缀匹配假阳性的影响最小。
结合具体的NDN应用场景说明,如图5所示,其中,CS控制器(CS-controller)先发送LGT_CS,查询名字树(name tree)中已存的最长表项x(即最长的字符串),名字树也就是BF-CS中保存的字符串与BF-FIB中保存的字符串前缀之间的关联关系。
然后发出DEL_CS,在BF-CS中删除查询到的x;然后向FIB控制器(FIB-controller)发出添加x的信息ADD_FIB,FIB-controller随即发出LBL_FIB,更新name tree中x节点的状态:CS->FIB,然后向BF-FIB中发出ADD_BF_FIB,添加x,完成一条表项的Transform操作。
可见,通过字符串BF中保存字符串的数量计算和字符串BF的字符串假阳性程度,当字符串假阳性超过第一预设阈值,将字符串BF中的符合第一长度条件的第一字符串从所述字符串BF中删除,从而减少了字符串BF中所保存字符串的数量,由此有效降低了字符串BF中假阳性的程度,提高了字符串BF的过滤效率,同时为了提高过滤准确性,还可以将第一字符串作为字符串前缀保存到前缀BF中,由前缀BF通过以第一字符串构成的前缀来实现针对第一字符串的匹配功能。
可选的,针对S401,若所述字符串假阳性低于第二预设阈值,还可以将符合第二长度条件的第一字符串前缀从所述前缀BF中删除,所述第一字符串前缀为所述前缀BF中保存的一个字符串前缀。
将所述第一字符串前缀作为字符串保存到所述字符串BF中。
举例说明,当字符串BF的字符串假阳性较低时(例如10%),可以相应的增加字符串BF中的字符串数量,以便高效的使用字符串BF。
为了从前缀BF中确定出该第一字符串前缀,本发明提供了一种从前缀BF中确定出字符串前缀作为字符串移动到字符串BF,并在前缀BF中增加从属于移出的字符串前缀的多个字符串前缀的回滚操作(Reversion)。回滚操作主要应用于前缀BF中。
在从前缀BF中确定出第一字符串前缀时可以考虑到前缀BF的群组匹配假阳性,选择较短的字符串前缀可以有效减少前缀BF中的前缀匹配假阳性。故第二长度条件可以比较小,可选的,所述第二长度条件为所述前缀BF中保存字符串前缀长度的最小值。
进一步,在所述将符合第二长度条件的第一字符串前缀从所述前缀BF中删除之后,还包括:
根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第一字符串前缀的字符串前缀保存至所述前缀BF中。
举例说明,将第一字符串前缀删除,并增加从属于第一字符串前缀的多个字符串前缀,可以降低删除第一字符串前缀对前缀BF的过滤准确性的影响、
例如字符串前缀“/A/b/3”被从前缀BF中移除后,可以从所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系中确定出从属于“/A/b/3”的其他可能的组合,例如“/A/b/3/1”和“/A/b/3/b”,从而可以在前缀BF中添加“/A/b/3/1”和“/A/b/3/b”用于一定程度上抵消删除字符串前缀“/A/b/3”对前缀BF过滤准确性的影响。
结合具体的NDN应用场景说明,如图6所示。由于引入了前缀匹配假阳性的概念,导致NDN-NIC必须权衡两方面的假阳性,保证总体假阳性最少。NDN-NIC对BF的假阳性设定了上、下界阈值。当BF的假阳性低于下界阈值时,采取回滚操作扩展一部分BF-FIB元素,以降低前缀匹配假阳性。回滚操作可以一次选择某个BF-FIB保持的字符串前缀,将其转化为BF-CS中对应字符串,然后将从属于该选择的字符串前缀的其他字符串前缀添加到BF-FIB中。
回滚操作执行过程如图6所示。FIB-controller首先发出SRT_FIB消息查询最短的有多个后继节点(x1,x2)的前缀x;然后向CS-controller发出ADD_CS消息添加字符串x;CS-controller用ADD_BF_CS命令在BF_CS中添加字符串x,同时用LBL_CS消息更新name tree中x的状态(此时如果发现x在原始的CS中不存在,则删除原本所添加的x);另一端,BF-controller用DEL_BF_FIB命令在BF-FIB中删除x,并用ADD_BF_FIB添加x1和x2到BF-FIB中,最后用RMV_LBL消息在name tree中添加x1和x2的新状态为BF-FIB中的字符串前缀。
除了需要注意字符串BF的假阳性以外,还需要关注前缀BF中字符串前缀的数量,如果字符串前缀的数量过多,前缀BF同样也会出现如同字符串BF的假阳性问题,为了能够区分,针对前缀BF的假阳性在本发明实施例中称为前缀假阳性。
在图4所对应实施例的基础上,图7为本发明实施例提供的一种针对接口过滤装置的调控方法的方法流程图,所述方法包括:
S701:根据所述前缀BF中保存字符串前缀的数量,计算所述前缀BF出现前缀假阳性的程度,所述前缀假阳性用于标识所述前缀BF将与所述前缀BF保存的字符串前缀均不匹配的待识别字符串错误确定为匹配的概率数值。若所述前缀假阳性超过第三预设阈值,执行S702;若所述前缀假阳性低于第四预设阈值,执行S704。
举例说明,计算前缀假阳性的方式传统计算BF的假阳性方式一致,这里不再赘述。通过第三预设阈值和第四预设阈值,可以将前缀BF的前缀假阳性控制在一定范围内,避免前缀假阳性过高对前缀BF过滤准确性的影响,也避免前缀假阳性过低对前缀BF的低效使用。为了便于计算,第三预设阈值与第一预设阈值可以相同,第四预设阈值与第二预设阈值可以相同。
S702:确定出符合第一长度条件的多个字符串前缀,所述多个字符串前缀从属于相同的公共前缀。
举例说明,第一长度条件可以设置的较长,由于较长的字符串前缀可以涵盖的字符串数量相对于较短的字符串前缀所涵盖的字符串数量较小,故将较长的字符串前缀的合并对前缀BF的前缀匹配假阳性的较小,
S703:将所述多个字符串前缀合并为所述公共前缀,并将所述多个字符串前缀从所述前缀BF中删除。
这种将两个字符串前缀合并为其共有的公共前缀,并将这两个字符串前缀删除的操作为合并操作(Aggregation)。合并操作主要应用于前缀BF中。
以两个字符串前缀的合并操作为例,字符串前缀“/a/c/3”和“/a/c/b”均从属于相同的公共前缀“/a/c”,这里所述的公共前缀即多个字符串前缀中相同的前缀。通过合并操作,可以将字符串前缀“/a/c/3”和“/a/c/b”合并为字符串前缀“/a/c”,前缀BF删除原本保存的字符串前缀“/a/c/3”和“/a/c/b”,并保存字符串前缀“/a/c”到前缀BF中。
通过合并操作,可以有效的减少前缀BF中字符串前缀的数量,降低前缀BF的前缀假阳性。
需要注意的是,回滚操作除了可以由字符串BF的字符串假阳性较低时触发外,还可以通过前缀BF的前缀假阳性较低时触发。
S704:将符合第二长度条件的第二字符串前缀从所述前缀BF中删除,所述第二字符串前缀为所述前缀BF中保存的一个字符串前缀。
S705:将所述第二字符串前缀作为字符串保存到所述字符串BF中。
S706:根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第二字符串前缀的字符串前缀保存至所述前缀BF中。
结合具体的NDN应用场景说明,如图8所示。FIB-controller首先发出LGT_ADD_SET消息,查询name tree中,有最长公共前缀(x)的BF-FIB字符串前缀集合(x1,x2);然后在BF-FIB中用DEL_BF_FIB消息删除x1,x2,同时用ADD_BF_FIB添加x;最后发出RMV_LBL和LBL_FIB更新name tree上x,x1,x2的状态。
接下来通过NDN场景中一个具体方案实现,进一步说明以上介绍的三种操作如何结合运用,如图9a所示为BF-CS中保存字符串和BF-FIB中保存的字符串前缀。
当BF-CS新增字符串“/A/a/2”后,BF-CS中字符串变为7个,此时字符串假阳性大于第一预设阈值,需要进行移动操作。从BF-CS中选择BF-CS中最长字符串“/A/b/2”作为字符串前缀保存到BF-FIB中。移动操作后的BF-CS和BF-FIB可以如图9b所示。
此时导致BF-FIB的前缀假阳性大于第三预设阈值,选择BF-FIB中具有相同公共前缀的两个最长字符串前缀“/A/c/1”和“/A/c/2”进行合并操作。移动操作后的BF-CS和BF-FIB可以如图9c所示。
在BF-CS在删除两个字符串“/A/a/1”和“/A/b/1”后,字符串假阳性小于第二预设阈值,此时将BF-FIB中存在字符串前缀“/A/c”(为BF-FIB中最短的字符串前缀)作为字符串移动到BF-CS中,同时把“/A/c”的两个后继字符串前缀“/A/c/1”和“/A/c/2”替换到BF-FIB中,完成回滚操作后的BF-CS和BF-FIB可以如图9d所示。
图10为本发明实施例提供的一种字符串过滤装置的装置结构图,应用于网络节点的接口过滤装置,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件中保存了用于标识与所述网络节点相关的数据的字符串,所述第二过滤组件中保存了用于标识与所述网络节点相关的数据的字符串前缀,所述字符串过滤装置1000包括接收单元1001、判断单元1002、第一识别单元1003、发送单元1004:
所述接收单元1001,用于接收到获取请求,所述获取请求中包括所请求数据的待识别字符串;
所述判断单元1002,用于判断所述待识别字符串是否与所述第一过滤组件保存的字符串和第二过滤组件保存的字符串前缀匹配;若所述待识别字符串与所述第一过滤组件保存的字符串中任意一个匹配或所述第二过滤组件保存的字符串前缀中任意一个匹配,触发所述第一识别单元1003;
所述第一识别单元1003,用于识别所述所请求数据为与所述网络节点相关的数据;
所述发送单元1004,用于向所述网络节点上传所述获取请求。
可选的,还包括第二识别单元和丢弃单元:
若所述待识别字符串与所述第一过滤组件保存的字符串和所述第二过滤组件保存字符串前缀均不匹配,所述判断单元触发第二识别单元;
所述第二识别单元,用于识别所述所请求数据为与所述网络节点不相关的数据;
所述丢弃单元,用于将所述获取请求丢弃,而不向所述网络节点上传所述获取请求。
可选的,所述网络节点处于内容标记网络NDN中。
可见,为网络节点设置接口过滤装置,接口过滤装置中包括保存了与该网络节点相关数据的字符串和字符串前缀的第一过滤组件和第二过滤组件,接口过滤装置可以先于网络节点接收到数据请求方发送的获取请求,根据所保存的字符串和字符串前缀匹配该获取请求中携带的待识别字符串,若待识别字符串能够匹配到接口过滤装置中任意一个字符串或字符串前缀,则可以确定该获取请求中所请求的数据与该网络节点相关,可以将该获取请求上传给该网络节点处理,可见,通过接口过滤装置可以有效的将请求获取与网络节点无关数据的获取请求进行过滤,尽量保证网络节点需要处理的获取请求所请求的数据是与该网络节点相关的,从而提高了网络节点处理资源的利用率,提高了网络节点的处理效率。
图11为本发明实施例提供的一种针对接口过滤装置的调控装置的装置结构图,应用于接口过滤装置,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件包括字符串BF,所述第二过滤组件包括前缀BF;所述字符串BF用于保存用于标识与所述网络节点相关的数据的字符串;所述前缀BF用于保存用于标识与所述网络节点相关的数据的字符串前缀;所述接口过滤装置记录所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,所述调控装置1100包括计算单元1101、删除单元1102和保存单元1103:
所述计算单元1101,用于根据所述字符串BF中保存字符串的数量,计算所述字符串BF出现字符串假阳性的程度,所述字符串假阳性用于标识所述字符串BF将与所述字符串BF保存的字符串均不匹配的待识别字符串错误确定为匹配的概率数值;若所述字符串假阳性超过第一预设阈值,触发所述删除单元1102;
所述删除单元1102,用于将符合第一长度条件的第一字符串从所述字符串BF中删除,所述第一字符串为所述字符串BF中保存的一个字符串;
所述保存单元1103,用于将所述第一字符串作为字符串前缀保存到所述前缀BF中。
可选的,若所述字符串假阳性低于第二预设阈值,所述计算单元触发所述删除单元,所述删除单元还用于将符合第二长度条件的第一字符串前缀从所述前缀BF中删除,所述第一字符串前缀为所述前缀BF中保存的一个字符串前缀;
所述保存单元还用于将所述第一字符串前缀作为字符串保存到所述字符串BF中。
可选的,所述保存单元还用于根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第一字符串前缀的字符串前缀保存至所述前缀BF中。
可选的,还包括确定单元和合并单元:
所述计算单元还用于根据所述前缀BF中保存字符串前缀的数量,计算所述前缀BF出现前缀假阳性的程度,所述前缀假阳性用于标识所述前缀BF将与所述前缀BF保存的字符串前缀均不匹配的待识别字符串错误确定为匹配的概率数值;若所述前缀假阳性超过第三预设阈值,触发所述确定单元;
所述确定单元,用于确定出符合第一长度条件的多个字符串前缀,所述多个字符串前缀从属于相同的公共前缀;
所述合并单元,用于将所述多个字符串前缀合并为所述公共前缀,并将所述多个字符串前缀从所述前缀BF中删除。
可选的,若所述前缀假阳性低于第四预设阈值,所述计算单元触发所述删除单元,所述删除单元还用于将符合第二长度条件的第二字符串前缀从所述前缀BF中删除,所述第二字符串前缀为所述前缀BF中保存的一个字符串前缀;
所述保存单元还用于将所述第二字符串前缀作为字符串保存到所述字符串BF中。
可选的,所述保存单元还用于根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第二字符串前缀的字符串前缀保存至所述前缀BF中。
可选的,所述第一长度条件为所述字符串BF中保存字符串长度的最大值。
可选的,所述第二长度条件为所述前缀BF中保存字符串前缀长度的最小值。
可见,通过字符串BF中保存字符串的数量计算和字符串BF的字符串假阳性程度,当字符串假阳性超过第一预设阈值,将字符串BF中的符合第一长度条件的第一字符串从所述字符串BF中删除,从而减少了字符串BF中所保存字符串的数量,由此有效降低了字符串BF中假阳性的程度,提高了字符串BF的过滤效率,同时为了提高过滤准确性,还可以将第一字符串作为字符串前缀保存到前缀BF中,由前缀BF通过以第一字符串构成的前缀来实现针对第一字符串的匹配功能。
本发明实施例中提到的第一过滤组件、第一哈希表、第一预设阈值、第一长度条件、第一字符串、第一字符串前缀的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”、“第三”、“第四”。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及***实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (26)
1.一种字符串过滤方法,其特征在于,应用于网络节点的接口过滤装置,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件中保存了用于标识与所述网络节点相关的数据的字符串,所述第二过滤组件中保存了用于标识与所述网络节点相关的数据的字符串前缀,所述方法包括:
所述接口过滤装置接收到获取请求,所述获取请求中包括所请求数据的待识别字符串;
所述接口过滤装置判断所述待识别字符串是否与所述第一过滤组件保存的字符串和第二过滤组件保存的字符串前缀匹配;
若所述待识别字符串与所述第一过滤组件保存的字符串中任意一个匹配或所述第二过滤组件保存的字符串前缀中任意一个匹配,所述接口过滤装置识别所述所请求数据为与所述网络节点相关的数据;
所述接口过滤装置向所述网络节点上传所述获取请求。
2.根据权利要求1所述的方法,其特征在于,所述接口过滤装置判断所述待识别字符串是否与所述第一过滤组件保存的字符串和第二过滤组件保存的字符串前缀匹配,包括:
若所述待识别字符串与所述第一过滤组件保存的字符串和所述第二过滤组件保存字符串前缀均不匹配,所述接口过滤装置识别所述所请求数据为与所述网络节点不相关的数据;
所述接口过滤装置将所述获取请求丢弃,而不向所述网络节点上传所述获取请求。
3.根据权利要求1或2的方法,其特征在于,所述网络节点处于内容标记网络NDN中。
4.一种用于字符串过滤的接口过滤装置,其特征在于,所述接口过滤装置用于为所对应网络节点过滤获取请求,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件包括字符串布隆过滤器BF,所述第二过滤组件包括前缀BF;
所述字符串BF用于保存用于标识与所述网络节点相关的数据的字符串;
所述前缀BF用于保存用于标识与所述网络节点相关的数据的字符串前缀;
所述接口过滤装置用于接收可被所述网络节点接收的获取请求,所述获取请求中包括所请求数据的待识别字符串;
所述字符串BF和所述前缀BF用于根据保存的字符串和字符串前缀匹配所述待识别字符串,若所述待识别字符串与所述字符串BF保存的字符串中任意一个匹配或与所述前缀BF保存的字符串前缀中任意一个匹配,所述接口过滤装置还用于识别所述所请求数据为与所述网络节点相关的数据;并向所述网络节点上传所述获取请求。
5.根据权利要求4所述的接口过滤装置,其特征在于,若所述待识别字符串与所述字符串BF保存的字符串和所述前缀BF保存字符串前缀均不匹配,所述接口过滤装置还用于识别所述所请求数据为与所述网络节点不相关的数据;并将所述获取请求丢弃,而不向所述网络节点上传所述获取请求。
6.根据权利要求4所述的接口过滤装置,其特征在于,所述第一过滤组件还包括对应所述字符串BF的字符串计数布隆过滤单元CBF,所述第二过滤组件还包括对应所述前缀BF的前缀CBF:
所述字符串CBF用于记录第一哈希表的使用情况,所述第一哈希表为所述第一过滤组件对应的哈希表,所述第一哈希表用于记录所述字符串BF所保存的字符串的哈希值;
所述前缀CBF用于记录第二哈希表的使用情况,所述第二哈希表为所述第二过滤组件对应的哈希表,所述第二哈希表用于记录所述前缀BF所保存的字符串前缀的哈希值。
7.根据权利要求6所述的接口过滤装置,其特征在于,当改动所述字符串BF中保存的字符串时,所述字符串CBF还用于根据改动内容更新所述第一哈希表的使用情况;
当改动所述前缀BF中保存的字符串前缀时,所述前缀CBF还用于根据改动内容更新所述第二哈希表的使用情况。
8.一种针对接口过滤装置的调控方法,其特征在于,应用于接口过滤装置,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件包括字符串布隆过滤器BF,所述第二过滤组件包括前缀BF;所述字符串BF用于保存用于标识与所述网络节点相关的数据的字符串;所述前缀BF用于保存用于标识与所述网络节点相关的数据的字符串前缀;所述接口过滤装置记录所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,所述方法包括:
根据所述字符串BF中保存字符串的数量,计算所述字符串BF出现字符串假阳性的程度,所述字符串假阳性用于标识所述字符串BF将与所述字符串BF保存的字符串均不匹配的待识别字符串错误确定为匹配的概率数值;
若所述字符串假阳性超过第一预设阈值,将符合第一长度条件的第一字符串从所述字符串BF中删除,所述第一字符串为所述字符串BF中保存的一个字符串;
将所述第一字符串作为字符串前缀保存到所述前缀BF中。
9.根据权利要求8所述的调控方法,其特征在于,所述根据所述字符串BF中保存字符串的数量,计算所述字符串BF出现字符串假阳性的程度,包括:
若所述字符串假阳性低于第二预设阈值,将符合第二长度条件的第一字符串前缀从所述前缀BF中删除,所述第一字符串前缀为所述前缀BF中保存的一个字符串前缀;
将所述第一字符串前缀作为字符串保存到所述字符串BF中。
10.根据权利要求9所述的调控方法,其特征在于,在所述将符合第二长度条件的第一字符串前缀从所述前缀BF中删除之后,还包括:
根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第一字符串前缀的字符串前缀保存至所述前缀BF中。
11.根据权利要求8所述的调控方法,其特征在于,还包括:
根据所述前缀BF中保存字符串前缀的数量,计算所述前缀BF出现前缀假阳性的程度,所述前缀假阳性用于标识所述前缀BF将与所述前缀BF保存的字符串前缀均不匹配的待识别字符串错误确定为匹配的概率数值;
若所述前缀假阳性超过第三预设阈值,确定出符合第一长度条件的多个字符串前缀,所述多个字符串前缀从属于相同的公共前缀;
将所述多个字符串前缀合并为所述公共前缀,并将所述多个字符串前缀从所述前缀BF中删除。
12.根据权利要求11所述的调控方法,其特征在于,所述根据所述前缀BF中保存字符串前缀的数量,计算所述前缀BF出现前缀假阳性的程度,包括:
若所述前缀假阳性低于第四预设阈值,将符合第二长度条件的第二字符串前缀从所述前缀BF中删除,所述第二字符串前缀为所述前缀BF中保存的一个字符串前缀;
将所述第二字符串前缀作为字符串保存到所述字符串BF中。
13.根据权利要求12所述的调控方法,其特征在于,在所述将符合第二长度条件的第二字符串前缀从所述前缀BF中删除之后,还包括:
根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第二字符串前缀的字符串前缀保存至所述前缀BF中。
14.根据权利要求8所述的调控方法,其特征在于,所述第一长度条件为所述字符串BF中保存字符串长度的最大值。
15.根据权利要求9所述的调控方法,其特征在于,所述第二长度条件为所述前缀BF中保存字符串前缀长度的最小值。
16.一种字符串过滤装置,其特征在于,应用于网络节点的接口过滤装置,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件中保存了用于标识与所述网络节点相关的数据的字符串,所述第二过滤组件中保存了用于标识与所述网络节点相关的数据的字符串前缀,所述字符串过滤装置包括接收单元、判断单元、第一识别单元、发送单元:
所述接收单元,用于接收到获取请求,所述获取请求中包括所请求数据的待识别字符串;
所述判断单元,用于判断所述待识别字符串是否与所述第一过滤组件保存的字符串和第二过滤组件保存的字符串前缀匹配;若所述待识别字符串与所述第一过滤组件保存的字符串中任意一个匹配或所述第二过滤组件保存的字符串前缀中任意一个匹配,触发所述第一识别单元;
所述第一识别单元,用于识别所述所请求数据为与所述网络节点相关的数据;
所述发送单元,用于向所述网络节点上传所述获取请求。
17.根据权利要求16所述的字符串过滤装置,其特征在于,还包括第二识别单元和丢弃单元:
若所述待识别字符串与所述第一过滤组件保存的字符串和所述第二过滤组件保存字符串前缀均不匹配,所述判断单元触发第二识别单元;
所述第二识别单元,用于识别所述所请求数据为与所述网络节点不相关的数据;
所述丢弃单元,用于将所述获取请求丢弃,而不向所述网络节点上传所述获取请求。
18.根据权利要求16或17的字符串过滤装置,其特征在于,所述网络节点处于内容标记网络NDN中。
19.一种针对接口过滤装置的调控装置,其特征在于,应用于接口过滤装置,所述接口过滤装置至少包括第一过滤组件和第二过滤组件,所述第一过滤组件包括字符串布隆过滤器BF,所述第二过滤组件包括前缀BF;所述字符串BF用于保存用于标识与所述网络节点相关的数据的字符串;所述前缀BF用于保存用于标识与所述网络节点相关的数据的字符串前缀;所述接口过滤装置记录所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,所述调控装置包括计算单元、删除单元和保存单元:
所述计算单元,用于根据所述字符串BF中保存字符串的数量,计算所述字符串BF出现字符串假阳性的程度,所述字符串假阳性用于标识所述字符串BF将与所述字符串BF保存的字符串均不匹配的待识别字符串错误确定为匹配的概率数值;若所述字符串假阳性超过第一预设阈值,触发所述删除单元;
所述删除单元,用于将符合第一长度条件的第一字符串从所述字符串BF中删除,所述第一字符串为所述字符串BF中保存的一个字符串;
所述保存单元,用于将所述第一字符串作为字符串前缀保存到所述前缀BF中。
20.根据权利要求19所述的调控装置,其特征在于,若所述字符串假阳性低于第二预设阈值,所述计算单元触发所述删除单元,所述删除单元还用于将符合第二长度条件的第一字符串前缀从所述前缀BF中删除,所述第一字符串前缀为所述前缀BF中保存的一个字符串前缀;
所述保存单元还用于将所述第一字符串前缀作为字符串保存到所述字符串BF中。
21.根据权利要求20所述的调控装置,其特征在于,所述保存单元还用于根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第一字符串前缀的字符串前缀保存至所述前缀BF中。
22.根据权利要求19所述的调控装置,其特征在于,还包括确定单元和合并单元:
所述计算单元还用于根据所述前缀BF中保存字符串前缀的数量,计算所述前缀BF出现前缀假阳性的程度,所述前缀假阳性用于标识所述前缀BF将与所述前缀BF保存的字符串前缀均不匹配的待识别字符串错误确定为匹配的概率数值;若所述前缀假阳性超过第三预设阈值,触发所述确定单元;
所述确定单元,用于确定出符合第一长度条件的多个字符串前缀,所述多个字符串前缀从属于相同的公共前缀;
所述合并单元,用于将所述多个字符串前缀合并为所述公共前缀,并将所述多个字符串前缀从所述前缀BF中删除。
23.根据权利要求22所述的调控装置,其特征在于,若所述前缀假阳性低于第四预设阈值,所述计算单元触发所述删除单元,所述删除单元还用于将符合第二长度条件的第二字符串前缀从所述前缀BF中删除,所述第二字符串前缀为所述前缀BF中保存的一个字符串前缀;
所述保存单元还用于将所述第二字符串前缀作为字符串保存到所述字符串BF中。
24.根据权利要求23所述的调控装置,其特征在于,所述保存单元还用于根据所述字符串BF中保存的字符串与前者BF中保存的字符串前缀之间的关联关系,将从属所述第二字符串前缀的字符串前缀保存至所述前缀BF中。
25.根据权利要求19所述的调控装置,其特征在于,所述第一长度条件为所述字符串BF中保存字符串长度的最大值。
26.根据权利要求20所述的调控装置,其特征在于,所述第二长度条件为所述前缀BF中保存字符串前缀长度的最小值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610850786.5A CN107870925B (zh) | 2016-09-26 | 2016-09-26 | 一种字符串过滤方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610850786.5A CN107870925B (zh) | 2016-09-26 | 2016-09-26 | 一种字符串过滤方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107870925A true CN107870925A (zh) | 2018-04-03 |
CN107870925B CN107870925B (zh) | 2021-08-20 |
Family
ID=61751828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610850786.5A Active CN107870925B (zh) | 2016-09-26 | 2016-09-26 | 一种字符串过滤方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107870925B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471635A (zh) * | 2018-09-03 | 2019-03-15 | 中新网络信息安全股份有限公司 | 一种基于Java Set集合实现的算法优化方法 |
CN110502629A (zh) * | 2019-08-27 | 2019-11-26 | 桂林电子科技大学 | 一种基于lsh的过滤验证字符串相似性连接方法 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005036A1 (en) * | 2001-04-06 | 2003-01-02 | Michael Mitzenmacher | Distributed, compressed Bloom filter Web cache server |
US20070115986A1 (en) * | 2005-11-01 | 2007-05-24 | Udaya Shankara | Method to perform exact string match in the data plane of a network processor |
CN101055574A (zh) * | 2006-04-13 | 2007-10-17 | 华为技术有限公司 | 一种域名类信息的存储及查询方法以及*** |
US20080022403A1 (en) * | 2006-07-22 | 2008-01-24 | Tien-Fu Chen | Method and apparatus for a pattern matcher using a multiple skip structure |
CN101149739A (zh) * | 2007-08-24 | 2008-03-26 | 中国科学院计算技术研究所 | 一种面向互联网的有意义串的挖掘方法和*** |
CN101359325A (zh) * | 2007-08-01 | 2009-02-04 | 北京启明星辰信息技术有限公司 | 一种快速内容分析的多关键词匹配方法 |
CN101383034A (zh) * | 2008-09-18 | 2009-03-11 | 腾讯科技(深圳)有限公司 | 一种广告统计和投放的方法及*** |
CN101398820A (zh) * | 2007-09-24 | 2009-04-01 | 北京启明星辰信息技术有限公司 | 一种大规模关键词匹配方法 |
CN101605129A (zh) * | 2009-06-23 | 2009-12-16 | 北京理工大学 | 一种用于url过滤***的url查找方法 |
CN101686146A (zh) * | 2008-09-28 | 2010-03-31 | 华为技术有限公司 | 模糊查询、查询结果处理和过滤条件处理的方法及设备 |
CN101901257A (zh) * | 2010-07-21 | 2010-12-01 | 北京理工大学 | 一种多字符串匹配方法 |
CN103078854A (zh) * | 2012-12-28 | 2013-05-01 | 北京亿赞普网络技术有限公司 | 报文过滤方法与装置 |
CN103294822A (zh) * | 2013-06-17 | 2013-09-11 | 北京航空航天大学 | 一种基于主动哈希和布隆过滤器的高效缓存方法 |
CN103428093A (zh) * | 2013-07-03 | 2013-12-04 | 北京邮电大学 | 一种基于名字路由前缀存储、匹配及更新方法与装置 |
CN103544316A (zh) * | 2013-11-06 | 2014-01-29 | 苏州大拿信息技术有限公司 | Url过滤的***及其实现方法 |
CN104320451A (zh) * | 2014-10-21 | 2015-01-28 | 北京邮电大学 | 支持内容中心网络的Web服务器缓存***及处理方法 |
CN104468349A (zh) * | 2014-11-27 | 2015-03-25 | 中国科学院计算机网络信息中心 | 一种基于逐跳监督的bgp路由验证方法 |
KR101587756B1 (ko) * | 2015-02-17 | 2016-01-21 | 이화여자대학교 산학협력단 | 블룸 필터 선-검색을 이용한 스트링 정보 검색 장치 및 방법 |
-
2016
- 2016-09-26 CN CN201610850786.5A patent/CN107870925B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005036A1 (en) * | 2001-04-06 | 2003-01-02 | Michael Mitzenmacher | Distributed, compressed Bloom filter Web cache server |
US20070115986A1 (en) * | 2005-11-01 | 2007-05-24 | Udaya Shankara | Method to perform exact string match in the data plane of a network processor |
CN101055574A (zh) * | 2006-04-13 | 2007-10-17 | 华为技术有限公司 | 一种域名类信息的存储及查询方法以及*** |
US20080022403A1 (en) * | 2006-07-22 | 2008-01-24 | Tien-Fu Chen | Method and apparatus for a pattern matcher using a multiple skip structure |
CN101359325A (zh) * | 2007-08-01 | 2009-02-04 | 北京启明星辰信息技术有限公司 | 一种快速内容分析的多关键词匹配方法 |
CN101149739A (zh) * | 2007-08-24 | 2008-03-26 | 中国科学院计算技术研究所 | 一种面向互联网的有意义串的挖掘方法和*** |
CN101398820A (zh) * | 2007-09-24 | 2009-04-01 | 北京启明星辰信息技术有限公司 | 一种大规模关键词匹配方法 |
CN101383034A (zh) * | 2008-09-18 | 2009-03-11 | 腾讯科技(深圳)有限公司 | 一种广告统计和投放的方法及*** |
CN101686146A (zh) * | 2008-09-28 | 2010-03-31 | 华为技术有限公司 | 模糊查询、查询结果处理和过滤条件处理的方法及设备 |
CN101605129A (zh) * | 2009-06-23 | 2009-12-16 | 北京理工大学 | 一种用于url过滤***的url查找方法 |
CN101901257A (zh) * | 2010-07-21 | 2010-12-01 | 北京理工大学 | 一种多字符串匹配方法 |
CN103078854A (zh) * | 2012-12-28 | 2013-05-01 | 北京亿赞普网络技术有限公司 | 报文过滤方法与装置 |
CN103294822A (zh) * | 2013-06-17 | 2013-09-11 | 北京航空航天大学 | 一种基于主动哈希和布隆过滤器的高效缓存方法 |
CN103428093A (zh) * | 2013-07-03 | 2013-12-04 | 北京邮电大学 | 一种基于名字路由前缀存储、匹配及更新方法与装置 |
CN103544316A (zh) * | 2013-11-06 | 2014-01-29 | 苏州大拿信息技术有限公司 | Url过滤的***及其实现方法 |
CN104320451A (zh) * | 2014-10-21 | 2015-01-28 | 北京邮电大学 | 支持内容中心网络的Web服务器缓存***及处理方法 |
CN104468349A (zh) * | 2014-11-27 | 2015-03-25 | 中国科学院计算机网络信息中心 | 一种基于逐跳监督的bgp路由验证方法 |
KR101587756B1 (ko) * | 2015-02-17 | 2016-01-21 | 이화여자대학교 산학협력단 | 블룸 필터 선-검색을 이용한 스트링 정보 검색 장치 및 방법 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109471635A (zh) * | 2018-09-03 | 2019-03-15 | 中新网络信息安全股份有限公司 | 一种基于Java Set集合实现的算法优化方法 |
CN110502629A (zh) * | 2019-08-27 | 2019-11-26 | 桂林电子科技大学 | 一种基于lsh的过滤验证字符串相似性连接方法 |
CN110502629B (zh) * | 2019-08-27 | 2020-09-11 | 桂林电子科技大学 | 一种基于lsh的过滤验证字符串相似性连接方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107870925B (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102337092B1 (ko) | 트래픽 측정 방법, 장치, 및 시스템 | |
CN110301120B (zh) | 流分类装置、方法和*** | |
EP2552059B1 (en) | Packet transfer system, control apparatus, transfer apparatus, method of creating processing rules, and program | |
CN100547984C (zh) | 在交换机的输入端口处过滤帧 | |
CN103283191B (zh) | 信息***、控制装置、通信方法 | |
US11729085B2 (en) | Cluster wide packet tracing | |
CN104272679A (zh) | 通信***、控制装置、通信方法以及程序 | |
RU2628477C2 (ru) | Устройство обработки пакета, способ конфигурирования записи потока и программа | |
CN104468401A (zh) | 一种报文处理方法和装置 | |
CN104782087B (zh) | 交换设备、控制器、交换设备配置、报文处理方法及*** | |
CN105429879A (zh) | 流表项查询方法、设备及*** | |
US20150049764A1 (en) | Distributed Storage System, Control Apparatus, Client Terminal, Load Balancing Method and Program | |
CN107577423A (zh) | 一种优化存储空间的方法及*** | |
CN109542857A (zh) | 审计日志存储方法、查询方法、装置及相关设备 | |
EP3534577B1 (en) | Forwarding multicast packets through an extended bridge | |
CN107870925A (zh) | 一种字符串过滤方法和相关装置 | |
US8681792B2 (en) | Packet forwarding in a network | |
CN107403012A (zh) | 一种数据交换方法及装置 | |
CN106506647A (zh) | 一种客户端具有数据备份装置的智慧社区云存储*** | |
CN108259340B (zh) | 一种拓扑信息传输方法和装置 | |
CN102655476A (zh) | 一种互联网协议流转发方法,及设备 | |
CN112637053B (zh) | 路由的备份转发路径的确定方法及装置 | |
JP5144225B2 (ja) | 情報検索装置、及び情報検索装置へのエントリ情報の登録方法 | |
US8244746B2 (en) | Parallel linking system and parallel linking method | |
CN114900475B (zh) | 一种混合流转发方法、装置、设备及存储介质 |
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 |