一种查找装置、查找方法和配置方法_6

文档序号:9474190阅读:来源:国知局
联前缀的长度,不小于第j+1前缀集合中存储的关联前缀的长度,I<j<M。7. 如权利要求1至6中任一项所述的查找装置,其特征在于, 所述第i前缀节点中包含第一指示信息,用于指示所述第j前缀集合所对应的第二MBT子树中包含唯一一个前缀,所述第j前缀集合中的第一位置信息为所述唯一一个前缀在所 述第二MBT子树中的节点位置编号,所述第一位置信息的长度等于所述第二步长;或者 所述第i前缀节点中包含第二指示信息,用于指示所述第j前缀集合所对应的第二MBT子树中包含至少2个前缀,所述第j前缀集合中的所述第一位置信息为位图,用于指示所述 第二MBT子树中的所述至少2个前缀在该第二MBT子树中的位置,所述第一指示信息的长 度为2stnde-l,stride为所述第二步长。8. 如权利要求1至7中任一项所述的查找装置,其特征在于,所述存储单元用于执行查 找流程;或者,所述查找装置还包括查找单元,所述查找单元用于基于所述存储单元执行所 述查找流程; 所述查找流程包括: 获得查找关键字; 在所述N个前缀节点中查找关联前缀与所述查找关键字最长匹配的前缀节点,针对查 找到的前缀节点执行以下步骤: 根据前缀节点中前缀集合的总数量和每个前缀集合中的关联前缀的长度,确定每个前 缀集合的存储位置、每个前缀集合中的关联前缀和第一位置信息的存储位置; 根据每个前缀集合中的关联前缀和第一位置信息的存储位置,获取每个前缀集合中的 关联前缀和第一位置信息; 在所有前缀集合中查找关联前缀与所述查找关键字最长匹配的前缀集合; 根据查找到的前缀集合中的第一位置信息,确定与所述查找关键字最长匹配的前缀; 根据与所述查找关键字最长匹配的前缀获得下一跳,得到所述查找关键字的查找结 果。9. 如权利要求1至8中任一项所述的查找装置,其特征在于,还包括配置单元,所述配 置单元用于配置所述存储单元中的前缀节点,具体的,所述配置单元具体用于: 获得待配置的前缀信息,所述前缀中包括至少一个地址前缀以及所述地址前缀所对应 的下一跳; 在所有前缀节点中查找关联前缀与所述待配置的地址前缀最长匹配的前缀节点; 针对查找到的前缀节点执行以下操作: 根据前缀节点中前缀集合的总数量和每个前缀集合中的关联前缀的长度,确定每个前 缀集合的存储位置、每个前缀集合中的关联前缀和第一位置信息的存储位置; 根据每个前缀集合中的关联前缀和第一位置信息的存储位置,获取每个前缀集合中的 关联前缀和第一位置信息; 在所有前缀集合中查找关联前缀与所述待配置的地址前缀最长匹配的前缀集合; 在前缀节点中配置所述待配置的地址前缀所对应的下一跳,并更新与所述待配置的地 址前缀最长匹配的前缀集合中的第一位置信息。10. -种查找方法,其特征在于,包括: 获得查找关键字; 在所配置的N个前缀节点中查找关联前缀与所述查找关键字最长匹配的前缀节点;其 中,N> 1,每个前缀节点包括第一数据域,所述第一数据域中包括M个前缀集合,M> 1,其 中:第i前缀节点对应第一步长的第一MBT子树,所述第i前缀节点中的第j前缀集合对应 第二MBT子树,所述第二MBT子树是基于第二步长对所述第一MBT子树划分得到的,所述第 二步长小于所述第一步长,1彡i彡N,1彡j彡M,所述第j前缀集合中包括所述第二MBT 子树的关联前缀、第一位置信息,所述第一位置信息用于按序指示所述第二MBT子树中的 各个前缀在所述第二MBT子树中的位置; 针对查找到的前缀节点执行以下步骤: 根据前缀节点中前缀集合的总数量和每个前缀集合中的关联前缀的长度,确定每个前 缀集合的存储位置、每个前缀集合中的关联前缀和第一位置信息的存储位置; 根据每个前缀集合中的关联前缀和第一位置信息的存储位置,获取每个前缀集合中的 关联前缀和第一位置信息; 在所有前缀集合中查找关联前缀与所述查找关键字最长匹配的前缀集合; 根据查找到的前缀集合中的第一位置信息,确定与所述查找关键字最长匹配的前缀; 根据与所述查找关键字最长匹配的前缀获得下一跳,得到所述查找关键字的查找结 果。11. 如权利要求10所述的方法,其特征在于,所述第i前缀节点中还包括第二数据域, 所述第二数据域中包括所述第一MBT子树中所有前缀各自所对应的下一跳。12. 如权利要求11所述的方法,其特征在于,所述第二数据域设置于所述第一数据域 之后; 所述第二数据域中各个前缀所对应的下一跳的顺序,与所述第一数据域中各个前缀集 合中的第一位置信息所指示的前缀位置的顺序,相同或相反。13. 如权利要求10至12中任一项所述的方法,其特征在于,所述第i前缀节点中还包 括第三数据域,所述第三数据域中包括所述第i前缀节点中的所有前缀集合的数量、所述 第i前缀节点中的所有前缀集合中的每个前缀集合的头部信息,其中,第j前缀集合的头部 信息中包含所述第二MBT子树的关联前缀的长度。14. 如权利要求13所述的方法,其特征在于,所述第三数据域设置于所述第一数据域 之前; 所述第三数据域中各个前缀集合的头部信息的顺序,与所述第一数据域中各个前缀集 合的顺序,相同或相反。15. 如权利要求10至14中任一项所述的方法,其特征在于,所述第一数据域中的所述 M个前缀集合按照查找顺序包括第1至第M前缀集合,所述M个前缀集合中,第j前缀集合 中存储的关联前缀的长度,不小于第j+1前缀集合中存储的关联前缀的长度,I<j<M。16. 如权利要求10至15中任一项所述的方法,其特征在于, 所述第i前缀节点中包含第一指示信息,用于指示所述第j前缀集合所对应的第二MBT子树中包含唯一一个前缀,所述第j前缀集合中的第一位置信息为所述唯一一个前缀在所 述第二MBT子树中的节点位置编号,所述第一位置信息的长度等于所述第二步长;或者 所述第i前缀节点中包含第二指示信息,用于指示所述第j前缀集合所对应的第二MBT子树中包含至少2个前缀,所述第j前缀集合中的所述第一位置信息为位图,用于指示所述 第二MBT子树中的所述至少2个前缀在该第二MBT子树中的位置,所述第一指示信息的长 度为2stnde-l,stride为所述第二步长。17. -种配置方法,其特征在于,包括: 获得待配置的前缀信息,所述前缀中包括至少一个地址前缀以及所述地址前缀所对应 的下一跳; 在所配置的N个前缀节点中查找关联前缀与所述待配置的地址前缀最长匹配的前缀 节点;其中,N> 1,每个前缀节点包括第一数据域,所述第一数据域中包括M个前缀集合, M> 1,其中:第i前缀节点对应第一步长的第一MBT子树,所述第i前缀节点中的第j前缀 集合对应第二MBT子树,所述第二MBT子树是基于第二步长对所述第一MBT子树划分得到 的,所述第二步长小于所述第一步长,I<i<N,I<j<M,所述第j前缀集合中包括所述 第二MBT子树的关联前缀、第一位置信息,所述第一位置信息用于按序指示所述第二MBT子 树中的各个前缀在所述第二MBT子树中的位置; 针对查找到的前缀节点执行以下操作: 根据前缀节点中前缀集合的总数量和每个前缀集合中的关联前缀的长度,确定每个前 缀集合的存储位置、每个前缀集合中的关联前缀和第一位置信息的存储位置; 根据每个前缀集合中的关联前缀和第一位置信息的存储位置,获取每个前缀集合中的 关联前缀和第一位置信息; 在所有前缀集合中查找关联前缀与所述待配置的地址前缀最长匹配的前缀集合; 在前缀节点中配置所述待配置的地址前缀所对应的下一跳,并更新与所述待配置的地 址前缀最长匹配的前缀集合中的第一位置信息。18. 如权利要求17所述的方法,其特征在于,所述第i前缀节点中还包括第二数据域, 所述第二数据域中包括所述第一MBT子树中所有前缀各自所对应的下一跳。19. 如权利要求18所述的方法,其特征在于,所述第二数据域设置于所述第一数据域 之后; 所述第二数据域中各个前缀所对应的下一跳的顺序,与所述第一数据域中各个前缀集 合中的第一位置信息所指示的前缀位置的顺序,相同或相反。20. 如权利要求18至19中任一项所述的方法,其特征在于,所述第i前缀节点中还包 括第三数据域,所述第三数据域中包括所述第i前缀节点中的所有前缀集合的数量、所述 第i前缀节点中的所有前缀集合中的每个前缀集合的头部信息,其中,第j前缀集合的头部 信息中包含所述第二MBT子树的关联前缀的长度。21. 如权利要求20所述的方法,其特征在于,所述第三数据域设置于所述第一数据域 之前; 所述第三数据域中各个前缀集合的头部信息的顺序,与所述第一数据域中各个前缀集 合的顺序,相同或相反。22. 如权利要求17至21中任一项所述的方法,其特征在于,所述第一数据域中的所述 M个前缀集合按照查找顺序包括第1至第M前缀集合,所述M个前缀集合中,第j前缀集合 中存储的关联前缀的长度,不小于第j+1前缀集合中存储的关联前缀的长度,I<j<M; 所述在所有前缀集合中查找关联前缀与所述待配置的地址前缀最长匹配的前缀集合, 包括: 按照查找顺序,用前缀集合中的关联前缀与所述待配置的前缀进行匹配,并当查找到 第一个关联前缀与所述待配置的前缀匹配的前缀集合时,将查找到的前缀集合确定为所述 待配置的前缀最长匹配的前缀集合。23. 如权利要求17至22中任一项所述的方法,其特征在于, 所述第i前缀节点中包含第一指示信息,用于指示所述第j前缀集合所对应的第二MBT子树中包含唯一一个前缀,所述第j前缀集合中的第一位置信息为所述唯一一个前缀在所 述第二MBT子树中的节点位置编号,所述第一位置信息的长度等于所述第二步长;或者 所述第i前缀节点中包含第二指示信息,用于指示所述第j前缀集合所对应的第二MBT子树中包含至少2个前缀,所述第j前缀集合中的所述第一位置信息为位图,用于指示所述 第二MBT子树中的所述至少2个前缀在该第二MBT子树中的位置,所述第一指示信息的长 度为2stnde-l,stride为所述第二步长。
【专利摘要】一种查找装置,查找方法和配置方法。一个前缀节点中包含M个前缀集合,第i前缀节点对应第一步长的第一MBT子树,第i前缀节点中的第j前缀集合对应第二MBT子树,第二MBT子树是基于第二步长对第一MBT树划分得到的。这样,一个第一MBT子树对应的前缀节点的数据结构,可通过该子树内的第二MBT子树对应的前缀集合来描述。一个前缀集合对应的第二MBT子树小于第一MBT子树,因此用于描述前缀在第二MBT子树上的位置信息的比特数量可以减少,并且考虑到前缀分布较为稀松,因此本发明的前缀节点的数据结构与传统MBT算法相比可以提高编码,减少存储空间开销。
【IPC分类】H04L12/745
【公开号】CN105227468
【申请号】CN201410280969
【发明人】张文勇, 崔秀梅, 杨鸿志, 汪自雄
【申请人】华为技术有限公司
【公开日】2016年1月6日
【申请日】2014年6月20日
【公告号】WO2015192742A1
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1