CN105025013B - 基于优先级Trie树的动态IP匹配模型的建立方法 - Google Patents
基于优先级Trie树的动态IP匹配模型的建立方法 Download PDFInfo
- Publication number
- CN105025013B CN105025013B CN201510324464.2A CN201510324464A CN105025013B CN 105025013 B CN105025013 B CN 105025013B CN 201510324464 A CN201510324464 A CN 201510324464A CN 105025013 B CN105025013 B CN 105025013B
- Authority
- CN
- China
- Prior art keywords
- node
- index
- prefix
- trees
- priority
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于优先级Trie树的动态IP匹配模型,其包括:BIPT匹配模型的构建过程;BIPT树的前缀插入操作;BIPT树的前缀删除操作;BIPT树的IP匹配操作。与现有的方法相比,本发明提出了基于优先级Trie树的动态IP匹配模型,利用优先级Trie树在IP查找方面的优越性,提高它在更新方面的性能。利用B*树保证在更快定位到优先级Trie树分支,同时能以更小的概率分配索引结点。本发明提出的算法与已有的优先级Trie树相比,不仅减少了前缀更新时的开销,同时也保持了较高的查找效率。
Description
技术领域
本发明属于防火墙技术领域,尤其涉及一种基于优先级Trie树的动态IP匹配模型。
背景技术
Web防火墙可以很好的解决互联网平台监管问题。在Web防火墙工作过程中,需要根据数据流的IP地址进行筛选,并对相应的数据流进行安全控制。由于Internet规模的不断扩大,Web防火墙中IP安全规则的更新愈加频繁的发生。这就在Web防火墙对IP地址进行筛选过程中,引入了一个问题:如何处理Web 防火墙中IP安全规则的大量事实更新。
最常用的IP匹配算法就是基于二进制Trie树的算法。在IP最长前缀匹配算法中最基本的Trie树为二进制Trie。前缀匹配算法是对比特串进行逐位比较,而比特串的每一位只包含两种情况,那就是0和1,对应二进制Trie树中的左结点和右结点。在二进制Trie树中,将一次Trie树的操作分为多个步骤。在Trie 树的构建或更新过程中,需要根据前缀各比特的值决定分支的走向。在IP最长前缀匹配过程中,需要根据地址各比特的值决定分支的走向。
综上所述,当前IP匹配算法的缺点是查找效率低下,开销大。
发明内容
为解决上述问题,本发明提供一种基于优先级Trie树的动态IP匹配模型,克服了当前Web防火墙中IP匹配模块的以下缺点,即查找效率低下,开销比较大。
本发明的基于优先级Trie树的动态IP匹配模型,其包括以下步骤:
步骤1:BIPT匹配模型的构建过程,具体包括:
步骤11,划分前缀;
设前缀P的长度为l,则该前缀P表示为P=P0P1...Pl-1*;以长度k(k<l)对前缀 P进行划分,分为长度大于划分点k的第一前缀集合和长度小于划分点k的第二前缀集合,赋予第一前缀集合内每个前缀一个索引值,赋予第二前缀集合内每个前缀一个索引后缀,且所有的索引后缀相同;
以Prek(P)来表示有索引值的前缀,则Prek(P)=(P0P1...Pk-1)2;以Park(P)表示有索引后缀的前缀,则Park(P)=PkPk+1...Pl-1*;
步骤12,构建B*索引树;
将第一前缀集合内的前缀P根据索引值挂载到B*索引树上相应的B*结点中,并用BIPT[i]表示,且0≤i≤2k-1;将第二前缀集合内的所有前缀挂载到B*索引树上的一个共同的B*结点中,并用BIPT[-1]表示;
步骤2:BIPT树的前缀插入操作;
步骤21:对每一个前缀P,先求前缀P的长度,如果其长度大于划分点k,则设置起始查找结点为根结点并进行步骤22;否则将前缀插入BIPT[-1]对应的优先级Trie树中并终止前缀插入操作;
步骤22:在B*索引树的给定结点中进行查找,直到叶子结点;在索引结点中若Pre(p)<k1,则选择索引结点的第1个分支进行查找,并执行步骤23;若 ki≤Pre(p)≤ki+1,则选择索引结点的第i个分支进行查找,并执行步骤23;若 kn(x)<Pre(p),则选择索引结点的第n(x)个分支进行查找,并执行步骤23;并记录查找路径中所搜索的给定结点以及给定结点中分支的选择;
其中规定ki(x)是结点x的第i个索引值,cj(x)是结点x的第j个孩子指针,其中i和j满足1≤i≤n(x)并且1≤j≤n(x)。在结点中的索引值存在如下关系:
k1(x)<k2(x)<...<kn(x)(x)
步骤23:查找索引结点中是否有与B*索引树的给定结点的索引值相同的关键字,如果有,则直接在该B*索引树的给定结点优先级Trie树中插入索引后缀,并结束插入操作;否则执行步骤24;
步骤24:判断B*索引树的给定结点中索引值数目是否已满,如果给定结点已满,则进行索引结点分裂,在新结点中的优先级Trie树中插入索引后缀;如果结点未满,则在该B*索引树的给定结点中插入索引值,并在优先级Trie树中插入索引后缀;
步骤3:BIPT树的前缀删除操作;
步骤31:对每一个前缀P,先求前缀P的长度,如果其长度小于划分点,则在BIPT[-1]形成的优先级Trie树中删除前缀P,并终止前缀删除操作;否则进行步骤32;
步骤32:在B*索引树的索引结点中进行查找,直到叶子结点;使得索引值在索引结点两个关键字之间,索引结点分别为左区间和右区间;
步骤33,在左区间对应的优先级Trie树中移除索引后缀,释放相应的数据结点;然后记录搜索路径各结点指针以及左区间的位置;
步骤34:释放数据结点后,若左区间对应的优先级Trie树为空,则在B*索引树中删除对应的索引值,并判断索引结点中的结点数小于执行步骤34,否则结束删除操作;
步骤35若结点数小于则进行结点合并操作,否则结束删除操作;合并操作如下:
步骤351:若索引结点为根结点,则结束合并操作,否则执行步骤352;
步骤352:判断兄弟结点中的结点数是否小于若小于则结束合并操作,若大于则将兄弟结点中的结点移至该索引结点中,并更新父结点对这两个分支的索引值;若兄弟结点中的结点数等于则将这三个结点合并为两个结点,同时更新并删除父结点中对这两个分支的索引值,如果父结点中元素不足则结束合并操作;
步骤4:BIPT树的IP匹配操作;
根据给定的IP地址,将其前缀分为索引值以及索引后缀,根据索引值在B* 索引树中定位到对应的优先级Trie树分支并进行查找,得到的结果为最长前缀;若未找到对应分支,或在优先级Trie树中未找到匹配结果,则在BIPT[-1]中继续进行最长前缀匹配,直到找到最长前缀,结束BIPT最长前缀匹配过程。
进一步的,所述步骤24中结点分裂的过程如下:
步骤241:若给定结点为根结点,则分裂为两个结点,并申请新结点;在索引结点中,对其中的索引值赋值并指向两个分裂结点,用新结点替换根结点;
步骤242:判断给定结点的兄弟结点中索引值数目是否已满,如果兄弟结点中索引值数目未满,则根据索引值大小计算位置,并将该兄弟结点的部分信息移至其兄弟结点中,并更新父结点中关于两个结点的标记;
如果兄弟结点中索引值数目已满,则申请索引结点,并将兄弟结点和刚申请的索引结点中的个元素移至新结点,并计算新索引结点的位置,进行分裂,同时更新并插入父结点中关于三个结点的索引值,如果父结点中元素已满,则跳转到步骤241。
有益效果:
本发明的有益效果体现在,与现有的方法相比,本发明提出了基于优先级 Trie树的动态IP匹配模型,利用优先级Trie树在IP查找方面的优越性,提高它在更新方面的性能。利用B*树保证在更快定位到优先级Trie树分支,同时能以更小的概率分配索引结点。本发明提出的算法与已有的优先级Trie树相比,不仅减少了前缀更新时的开销,同时也保持了较高的查找效率。
附图说明
图1为本发明的基于优先级Trie树的动态IP匹配模型中BIPT结构示意图。
具体实施方式
本发明结合B*树和优先级Trie树的数据结构构建能够支持前缀实时更新的 BIPT匹配模型,它包括如下步骤:
BIPT匹配模型的构建过程(步骤1);
BIPT树的前缀插入操作(步骤2);
BIPT树的前缀删除操作(步骤3);
BIPT树的IP匹配操作(步骤4);
所述步骤1的构建方法包括但不限于以下方法:
前缀在进行划分的时候可以被分类两类:长度小于划分点的前缀和长度大于划分点的前缀。长度大于划分点的前缀需要根据索引值将其挂载到相应的B* 结点中,其余的前缀挂载到一个共同的结点中。
BIPT是一个结合了B*树和优先级Trie树的数据结构,这种结构包括两种结点:索引结点和数据结点。索引结点又可分为两种,内部索引结点和外部索引结点(又称叶子索引结点)。针对BIPT树,定义如下属性:
1、针对索引结点
1)利用f(x)代表结点为内部索引结点还是外部索引结点,该属性包含0, 1两种值。当f(x)为0是代表内部索引结点,当f(x)为1时代表外部索引结点。
2)利用n(x)表示结点x中索引值的个数,根据B*树的特点,除根结点外,需要有若n(x)=m表示结点已满。
3)规定ki(x)是结点x的第i个索引值,cj(x)是结点x的第j个孩子指针,其中i和j满足1≤i≤n(x)并且1≤j≤n(x)。在结点中的索引值存在如下关系:
k1(x)<k2(x)<...<kn(x)(x)
4)规定通过inx(x)表示结点中索引值的集合,则有:
ins(x)={ki(x)|1≤i≤n(x)}
5)索引结点包括一个指向兄弟结点的指针,用next(x)进行表示。
6)所有的外部索引结点处于同一层,层数为h。
7)外部索引结点存放与n(x)数值相等的数据结点,数据结点存储前缀,对所有的前缀使用优先级Trie树进行组织。ki(x)中存放的前缀集合为BIPT[i]。
综上所述,索引结点可以被表示为:
(l(x),n(x),k1(x),c1(x),k2(x),c2(x),...,kn(x)(x),cn(x)(x),next(x))
通过索引结点的性质,可以计算出索引树在最坏情况下层数的复杂度。当结点中都存放个索引值,并且取索引值全部情况时,索引树高度最大,即有:
则h=Ο(k/logm)。
2、针对数据结点
1)在数据结点中,同样需要判断结点是否为叶子结点。
2)数据结点为优先级Trie树中的结点,因此需要指明结点为优先结点,还是普通结点。用pri(x)表示,当值为0时,代表为普通结点,当值为1时,代表为优先结点。
3)数据结点包括左右两个孩子,用cl(x)表示左孩子,用cr(x)表示右孩子。
4)使用p(x)存储索引后缀,并不是完整的前缀,完整的前缀可以由索引值与索引后缀合并得出。
最终数据结点可以表示为:(l(x),pri(x),cl(x),cr(x))。
下面具体举例说明BIPT树的结构。
图1为根据样例前缀表1构建的BIPT树。该图1的BIPT树中以k值为3 对前缀进行划分,在构建B*树的过程中,选择m值为3。该结构中的根结点为两个指针,这两个指针分别指向两种结构的结点。其中一个结点指向B*树,另外一个结点指向以优先级Trie树组织的BIPT[-1]和索引前缀树。在BIPT[-1]中的结点为数据结点,其中黑色结点为优先结点,白色结点为普通结点。在索引前缀树中结点被分为两类,以方框形状进行表示的结点为索引结点,以圆形进行表示的结点为数据结点,它的数据结点也有优先与普通之分。
表1
图1的BIPT结构中包括6个索引结点以及11个数据结点。虽然有6个索引结点,但其前缀值只包括4个,因为B*树的要求为所有的关键值必须出现在叶子结点中。第一层的索引值为对应索引结点指向的分支中最大的关键值,在本图中,两个第二层分支中的最大值分别为5和7。在进行IP匹配的过程中,根据索引值搜索到优先级Trie树,然后进行匹配。
例如给定IP地址10101110 10010110 10101010 01110111,其索引值pre(p)=5,根据对比,在B*树的第一层选择关键值5对应的分支,在该分支中匹配到关键字5,然后在以k为根的优先级Trie树中进行匹配。该地址与k中前缀01*相匹配,因为 k为优先结点,则匹配终止,通过与索引值合并得到与该地址匹配的最长前缀为 10101*。如果给定IP地址11010110 10010110 10101010 01110111,则以相同的方式根据索引值6在B*结构中定位到以数据结点g为根的优先级Trie树。在该优先级 Trie树中,与g中前缀进行匹配,匹配失败。接着与h进行前缀匹配,虽然匹配成功,但由于h为普通结点,仍然与g进行匹配,在此结点中匹配成功,并得到最终结果11010*。
所述步骤2的前缀插入方法包括但不限于以下方法:
在前缀插入的步骤4中,由于索引结点中索引值已满,因此需要进行结点分裂。结点分裂的过程如下:
步骤1:若该结点为根结点,则分裂为两个结点,并申请新结点。在索引结点中,对其中的索引值赋值并指向两个分裂结点,用新结点替换根结点。
步骤2:判断兄弟结点中元素是否已满。如果兄弟结点中元素未满,则根据索引值大小计算位置,并将该结点的部分信息移至其兄弟结点中,并更新父结点中关于两个结点的标记。
步骤3:如果兄弟结点中元素已满,则申请索引结点,并将两个结点个元素移至新结点,并计算新索引结点的位置,进行分裂。更新并插入父结点中关于三个结点的索引值。如果父结点中元素已满,则跳转到步骤1。
所述步骤3的前缀删除方法包括但不限于以下方法:
在前缀删除的步骤5中,需要判断索引值的删除是否会造成结点中的元素数小于若结点数小于需要进行结点合并。具体操作步骤如下所示。
步骤1:若该结点为根结点,则合并操作终止。
步骤2:判断删除结点后是否会造成结点数小于如果不会造成,则合并操作终止。
步骤3:判断兄弟结点中的元素是否大于如果兄弟结点大于将兄弟结点中的元素移至该结点中,并更新父结点对这两个分支的索引值。
步骤4:若兄弟结点中的元素数恰好等于则将这三个结点合并为两个结点,同时更新并删除父结点中对这两个分支的索引值。如果父结点中元素不足则跳转到步骤1。
所述步骤4的IP匹配方法包括但不限于以下方法:
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (2)
1.一种基于优先级Trie树的动态IP匹配模型的建立方法,其特征在于,包括以下步骤:
步骤1:BIPT匹配模型的构建过程,具体包括:
步骤11,划分前缀;
设前缀P的长度为l,则该前缀P表示为P=P0P1...Pl-1*;以长度k(k<l)对前缀P进行划分,分为长度大于划分点k的第一前缀集合和长度小于划分点k的第二前缀集合,赋予第一前缀集合内每个前缀一个索引值,赋予第二前缀集合内每个前缀一个索引后缀,且所有的索引后缀相同;
以Prek(P)来表示有索引值的前缀,则Prek(P)=(P0P1...Pk-1)2;以Park(P)表示有索引后缀的前缀,则Park(P)=PkPk+1...Pl-1*;
步骤12,构建B*索引树;
将第一前缀集合内的前缀P根据索引值挂载到B*索引树上相应的B*结点中,并用BIPT[i]表示,且0≤i≤2k-1;将第二前缀集合内的所有前缀挂载到B*索引树上的一个共同的B*结点中,并用BIPT[-1]表示;
步骤2:BIPT树的前缀插入操作;
步骤21:对每一个前缀P,先求前缀P的长度,如果其长度大于划分点k,则设置起始查找结点为根结点并进行步骤22;否则将前缀插入BIPT[-1]对应的优先级Trie树中并终止前缀插入操作;
步骤22:在B*索引树的给定结点中进行查找,直到叶子结点;在索引结点中若Pre(p)<k1,则选择索引结点的第1个分支进行查找,并执行步骤23;若ki≤Pre(p)≤ki+1,则选择索引结点的第i个分支进行查找,并执行步骤23;若kn(x)<Pre(p),则选择索引结点的第n(x)个分支进行查找,并执行步骤23;并记录查找路径中所搜索的给定结点以及给定结点中分支的选择;
其中规定ki(x)是结点x的第i个索引值,cj(x)是结点x的第j个孩子指针,其中i和j满足1≤i≤n(x)并且1≤j≤n(x), 在结点中的索引值存在如下关系:
k1(x)<k2(x)<...<kn(x)(x)
步骤23:查找索引结点中是否有与B*索引树的给定结点的索引值相同的关键字,如果有,则直接在该B*索引树的给定结点优先级Trie树中插入索引后缀,并结束插入操作;否则执行步骤24;
步骤24:判断B*索引树的给定结点中索引值数目是否已满,如果给定结点已满,则进行索引结点分裂,在新结点中的优先级Trie树中插入索引后缀;如果结点未满,则在该B*索引树的给定结点中插入索引值,并在优先级Trie树中插入索引后缀;
步骤3:BIPT树的前缀删除操作;
步骤31:对每一个前缀P,先求前缀P的长度,如果其长度小于划分点,则在BIPT[-1]形成的优先级Trie树中删除前缀P,并终止前缀删除操作;否则进行步骤32;
步骤32:在B*索引树的索引结点中进行查找,直到叶子结点;使得索引值在索引结点两个关键字之间,索引结点分别为左区间和右区间;
步骤33,在左区间对应的优先级Trie树中移除索引后缀,释放相应的数据结点;然后记录搜索路径各结点指针以及左区间的位置;
步骤34:释放数据结点后,若左区间对应的优先级Trie树为空,则在B*索引树中删除对应的索引值,并判断索引结点中的结点数小于执行步骤34,否则结束删除操作;
步骤35若结点数小于则进行结点合并操作,否则结束删除操作;合并操作如下:
步骤351:若索引结点为根结点,则结束合并操作,否则执行步骤352;
步骤352:判断兄弟结点中的结点数是否小于若小于则结束合并操作,若大于则将兄弟结点中的结点移至该索引结点中,并更新父结点对这两个分支的索引值;若兄弟结点中的结点数等于则将这三个结点合并为两个结点,同时更新并删除父结点中对这两个分支的索引值,如果父结点中元素不足则结束合并操作;
步骤4:BIPT树的IP匹配操作;
根据给定的IP地址,将其前缀分为索引值以及索引后缀,根据索引值在B*索引树中定位到对应的优先级Trie树分支并进行查找,得到的结果为最长前缀;若未找到对应分支,或在优先级Trie树中未找到匹配结果,则在BIPT[-1]中继续进行最长前缀匹配,直到找到最长前缀,结束BIPT最长前缀匹配过程。
2.如权利要求1所述的基于优先级Trie树的动态IP匹配模型的建立方法,其特征在于,所述步骤24中结点分裂的过程如下:
步骤241:若给定结点为根结点,则分裂为两个结点,并申请新结点;在索引结点中,对其中的索引值赋值并指向两个分裂结点,用新结点替换根结点;
步骤242:判断给定结点的兄弟结点中索引值数目是否已满,如果兄弟结点中索引值数目未满,则根据索引值大小计算位置,并将该兄弟结点的部分信息移至其兄弟结点中,并更新父结点中关于两个结点的标记;
如果兄弟结点中索引值数目已满,则申请索引结点,并将兄弟结点和刚申请的索引结点中的个元素移至新结点,并计算新索引结点的位置,进行分裂,同时更新并插入父结点中关于三个结点的索引值,如果父结点中元素已满,则跳转到步骤241。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510324464.2A CN105025013B (zh) | 2015-06-12 | 2015-06-12 | 基于优先级Trie树的动态IP匹配模型的建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510324464.2A CN105025013B (zh) | 2015-06-12 | 2015-06-12 | 基于优先级Trie树的动态IP匹配模型的建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105025013A CN105025013A (zh) | 2015-11-04 |
CN105025013B true CN105025013B (zh) | 2018-04-10 |
Family
ID=54414718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510324464.2A Active CN105025013B (zh) | 2015-06-12 | 2015-06-12 | 基于优先级Trie树的动态IP匹配模型的建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105025013B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110071871A (zh) * | 2019-03-13 | 2019-07-30 | 国家计算机网络与信息安全管理中心 | 一种大模式集ip地址匹配方法 |
CN109951495B (zh) * | 2019-03-29 | 2021-10-12 | 新华三信息安全技术有限公司 | 网段查找方法及装置 |
CN111131015B (zh) * | 2019-12-27 | 2021-09-03 | 芯启源(南京)半导体科技有限公司 | 一种基于PC-Trie动态更新路由的方法 |
CN114050925B (zh) * | 2021-11-09 | 2024-03-01 | 京东科技信息技术有限公司 | 访问控制列表匹配方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587484A (zh) * | 2009-06-19 | 2009-11-25 | 南京航空航天大学 | 一种基于T-lt树的主存数据库的索引方法 |
CN102281196A (zh) * | 2011-08-11 | 2011-12-14 | 中兴通讯股份有限公司 | 决策树生成方法及设备、基于决策树报文分类方法及设备 |
CN103561133A (zh) * | 2013-11-19 | 2014-02-05 | 中国科学院计算机网络信息中心 | 一种ip地址归属信息索引方法及快速查询方法 |
-
2015
- 2015-06-12 CN CN201510324464.2A patent/CN105025013B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587484A (zh) * | 2009-06-19 | 2009-11-25 | 南京航空航天大学 | 一种基于T-lt树的主存数据库的索引方法 |
CN102281196A (zh) * | 2011-08-11 | 2011-12-14 | 中兴通讯股份有限公司 | 决策树生成方法及设备、基于决策树报文分类方法及设备 |
CN103561133A (zh) * | 2013-11-19 | 2014-02-05 | 中国科学院计算机网络信息中心 | 一种ip地址归属信息索引方法及快速查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105025013A (zh) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105025013B (zh) | 基于优先级Trie树的动态IP匹配模型的建立方法 | |
CN108052514B (zh) | 一种处理地理文本Skyline查询的混合空间索引方法 | |
US8224861B2 (en) | Coupled node tree splitting/conjoining method and program | |
WO2008053583A1 (fr) | Procédé et programme de recherche de séquence de bits | |
CA2519179C (en) | A computer implemented compact 0-complete tree dynamic storage structure and method of processing stored data | |
CN104346444B (zh) | 一种基于路网反空间关键字查询的最佳选址方法 | |
CN106503223A (zh) | 一种结合位置和关键词信息的在线房源搜索方法及装置 | |
CN108717448B (zh) | 一种面向键值对存储的范围查询过滤方法和键值对存储系统 | |
CN106485211B (zh) | 一种基于二叉树的文本行精确定位方法 | |
CN102523155B (zh) | 一种基于Boost库的K则最短路径搜索方法和系统 | |
CN105847145A (zh) | 一种基于网络直径的重要节点搜索方法 | |
KR100398142B1 (ko) | 대용량 데이터베이스에서의 고속에 의한 다해상도의 최적탐색방법 | |
CN104008205A (zh) | 一种内容路由的查询方法及系统 | |
CN104408128B (zh) | 一种基于b+树异步更新索引的读优化方法 | |
CN110097581A (zh) | 基于点云配准icp算法构建k-d树的方法 | |
KR20100022565A (ko) | 해시트리를 이용한 url 검색방법 | |
US20100174742A1 (en) | Bit string search apparatus, search method, and program | |
CN106484863A (zh) | 基于属性构建概念格的增加算法 | |
CN105353968B (zh) | 对滑动输入轨迹进行识别的方法 | |
CN102456073A (zh) | 一种部分最值查询方法 | |
CN112819160B (zh) | 一种神经网络模型的可视化方法、装置、设备及存储介质 | |
CN104504660B (zh) | 用于网格模型孔洞解除的数据处理方法及装置 | |
CN109033215A (zh) | 基于互相关函数的数据信息储存方法及系统 | |
CN108776704A (zh) | 一种基于回归分析的时序数据索引方法 | |
CN108170846B (zh) | 基于弹性表模型的大规模多源异构数据持久化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |