查找装置及方法制造方法及图纸

技术编号:10371202 阅读:88 留言:0更新日期:2014-08-28 13:26
本申请提供了一种查找装置,包括:全局分发器、全局仲裁器以及N个查找引擎。N个查找引擎能够访问第一查找表。全局分发器用于确定第一查找关键字对应第一查找表,确定第一查找表对应N个查找引擎,将第一查找关键字分发给N个查找引擎。N个查找引擎中的每个查找引擎用于根据第一查找算法在其能够访问的第一查找表的一个子表中查找是否存在与第一查找关键字匹配的表项,并将查找结果输出至全局仲裁器。全局仲裁器用于对每个查找引擎输出的查找结果进行仲裁,得到对应第一查找表的查找结果。此外,还提供了其他装置及对应的方法。上述方案有助于提高查找引擎的灵活性。

【技术实现步骤摘要】
【国外来华专利技术】查找装置及方法
本申请涉及计算机领域,尤其涉及查找装置及方法。
技术介绍
互联网数据量、速率、业务种类的增长,以及服务质量(英文:qualityofservice,简称:QoS)及深度包检测(英文:deeppacketinspection,简称:DPI)要求的出现,对网络装置(如路由器)的查找引擎提出了更高要求。目前,网络设备需要支持多种业务,所述多种业务可能对应多种查找算法。网络设备中包含多个查找引擎,其中每个查找引擎对应一种查找算法。例如,路由器可能需要支持网际协议(英文:internetprotocol,简称:IP)报文的转发和媒体访问控制(英文:mediaaccesscontrol,简称:MAC)协议报文的转发。IP报文的转发对应最长前缀匹配算法。MAC报文的转发对应精确匹配算法。路由器中需要包含对应于所述最长前缀匹配算法的查找引擎,以及对应于所述精确匹配算法的查找引擎。其中,对应于所述最长前缀匹配算法的查找引擎用于访问路由表。对应于所述精确匹配算法的查找引擎用于访问MAC协议表。上述技术方案中,查找引擎不够灵活。
技术实现思路
本申请实施例提供了查找装置及方法,有助于提高查找引擎的灵活性。第一方面,提供了一种查找装置,包括:全局分发器、全局仲裁器以及N个查找引擎,N为大于1的整数;所述N个查找引擎能够访问第一查找表,其中,每个查找引擎只能够访问所述第一查找表的一个子表,对于所述第一查找表中的任意两个子表N1和N2,所述子表N1中的任意一个表项不同于所述子表N2中的任意一个表项,所述第一查找表对应第一查找算法;所述全局分发器,用于确定第一查找关键字对应所述第一查找表,确定所述第一查找表对应所述N个查找引擎,将所述第一查找关键字分发给所述N个查找引擎;所述N个查找引擎中的每个查找引擎,用于根据所述第一查找算法在其能够访问的所述第一查找表的一个子表中查找是否存在与所述全局分发器分发的所述第一查找关键字匹配的表项,并将查找结果输出至所述全局仲裁器;所述全局仲裁器,用于对每个查找引擎输出的查找结果进行仲裁,得到对应所述第一查找表的查找结果。上述技术方案中,N个查找引擎中每个查找引擎能够访问第一查找表的一个子表。相对于现有技术中一个查找引擎对应一个查找表,上述技术方案提高了查找引擎的灵活性。在第一方面的第一种可能的实现方式中,还包括存储器,所述存储器中存储有所述第一查找表的标识与存储所述第一查找表中的所有子表的所述N个查找引擎的标识的对应关系;所述全局分发器具体用于根据所述第一查找表的标识与所述N个查找引擎的标识的对应关系以及所述第一查找表的标识,确定所述第一查找表对应所述N个查找引擎。根据第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述N个查找引擎包括至少一个查找引擎,所述至少一个查找引擎包括:本地分发器、第一个查找单元、第二查找单元以及本地仲裁器;所述第一查找单元能够访问所述第一查找表中的一个子表,所述第二查找单元能够访问第二查找表或者所述第二查找表中的一个子表,所述第二查找表对应第二查找算法;所述本地分发器,用于接收所述全局分发器分发的所述第一查找关键字,确定所述第一查找关键字对应所述第一查找单元,以及将所述第一查找关键字分发至所述第一查找单元;所述第一查找单元,用于根据所述第一查找算法在所述第一查找单元能够访问的所述第一查找表中的一个子表中查找是否存在与所述第一查找关键字匹配的表项,并将查找结果输出至所述本地仲裁器;所述本地仲裁器,用于对所述至少一个查找引擎中的查找单元输出的查找结果进行仲裁,并将仲裁结果输出至所述全局仲裁器。根据第一方面、第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述N个查找引擎包括第一查找引擎和第二查找引擎,所述第一查找引擎能够访问的所述第一查找表中的子表为第一子表,所述第二查找引擎能够访问的所述第一查找表中的子表为第二子表;所述装置还用于对所述N个查找引擎能够访问的表项的范围进行调整,其中,所述第一查找引擎能够访问的所述第一查找表中的子表被调整为第三子表,所述第三子表包括所述第一子表中除第一表项之外的所有表项,所述第二查找引擎能够访问的所述第一查找表中的子表被调整为第四子表,所述第四子表包括所述第二子表所有表项以及所述第一表项。根据第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述全局仲裁器还用于将对应所述第一查找表的查找结果发送至所述全局分发器;所述全局分发器还用于保存对应所述第一查找表的查找结果与所述第一查找关键字的映射关系;所述全局分发器还用于获取第二查找关键字,根据对应所述第一查找表的查找结果与所述第一查找关键字的映射关系确定第二查找关键字对应的查找结果是对应所述第一查找表的查找结果,所述第二查找关键字等于所述第一查找关键字。第二方面,提供了一种查找装置,包括:全局分发器、全局仲裁器以及N个查找引擎,N为大于1的整数;所述N个查找引擎包括第一查找引擎,所述第一查找引擎能够访问第一查找表或者所述第一查找表的一个子表,所述第一查找表对应第一查找算法,所述第一查找引擎能够访问第二查找表或者所述第二查找表的一个子表,所述第二查找表对应第二查找算法;所述全局分发器,用于确定第一查找关键字对应所述第一查找表,确定所述第一查找表对应所述第一查找引擎,将所述第一查找关键字分发给所述第一查找引擎;所述第一查找引擎,用于根据所述第一查找算法在其能够访问的所述第一查找表或者所述第一查找表的一个子表中查找是否存在与所述全局分发器分发的所述第一查找关键字匹配的表项以得到所述第一查找关键字对应的查找结果,并将所述第一查找关键字对应的查找结果输出至所述全局仲裁器;所述全局分发器,还用于确定第二查找关键字对应所述第二查找表,确定所述第二查找表对应所述第一查找引擎,将所述第二查找关键字分发给所述第一查找引擎;所述第一查找引擎,还用于根据所述第二查找算法在其能够访问的所述第二查找表或者所述第二查找表的一个子表中查找是否存在与所述全局分发器分发的所述第二查找关键字匹配的表项以得到所述第二查找关键字对应的查找结果,并将所述第二查找关键字对应的查找结果输出至所述全局仲裁器;所述全局仲裁器,用于接收所述第一查找关键字对应的查找结果以及所述第二查找关键字对应的查找结果。上述技术方案中,第一查找引擎能够访问的第一查找表或者所述第一查找表的一个子表。另外,所述第一查找引擎能够访问的第二查找表或者所述第二查找表的一个子表。相对于现有技术中一个查找引擎只能访问一个查找表,上述技术方案提高了查找引擎的灵活性。在第二方面的第一种可能的实现方式中,还包括存储器,所述存储器用于在所述全局分发器确定所述第一查找表对应所述第一查找引擎前,存储所述第一查找表的标识与所述第一查找引擎的标识的对应关系;所述全局分发器具体用于根据所述第一查找表的标识与所述第一查找引擎的标识的对应关系以及所述第一查找表的标识,确定所述第一查找表对应所述第一查找引擎。根据第二方面、第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述存储器本文档来自技高网...
查找装置及方法

【技术保护点】
一种查找装置,其特征在于,包括:全局分发器、全局仲裁器以及N个查找引擎,N为大于1的整数;所述N个查找引擎能够访问第一查找表,其中,每个查找引擎只能够访问所述第一查找表的一个子表,对于所述第一查找表中的任意两个子表N1和N2,所述子表N1中的任意一个表项不同于所述子表N2中的任意一个表项,所述第一查找表对应第一查找算法;所述全局分发器,用于确定第一查找关键字对应所述第一查找表,确定所述第一查找表对应所述N个查找引擎,将所述第一查找关键字分发给所述N个查找引擎;所述N个查找引擎中的每个查找引擎,用于根据所述第一查找算法在其能够访问的所述第一查找表的一个子表中查找是否存在与所述全局分发器分发的所述第一查找关键字匹配的表项,并将查找结果输出至所述全局仲裁器;所述全局仲裁器,用于对每个查找引擎输出的查找结果进行仲裁,得到对应所述第一查找表的查找结果。

【技术特征摘要】
【国外来华专利技术】1.一种查找装置,其特征在于,包括:存储器、全局分发器、全局仲裁器以及N个查找引擎,N为大于1的整数;所述N个查找引擎能够访问第一查找表,其中,每个查找引擎只能够访问所述第一查找表的一个子表,对于所述第一查找表中的任意两个子表N1和N2,所述子表N1中的任意一个表项不同于所述子表N2中的任意一个表项,所述第一查找表对应第一查找算法;所述存储器中存储有所述第一查找表的标识与存储所述第一查找表中的所有子表的所述N个查找引擎的标识的对应关系;所述全局分发器,用于确定第一查找关键字对应第一查找表,根据所述第一查找表的标识与所述N个查找引擎的标识的对应关系以及所述第一查找表的标识,确定所述第一查找表对应所述N个查找引擎,将所述第一查找关键字分发给所述N个查找引擎;所述N个查找引擎中的每个查找引擎,用于根据所述第一查找算法在其能够访问的所述第一查找表的一个子表中查找是否存在与所述全局分发器分发的所述第一查找关键字匹配的表项,并将查找结果输出至所述全局仲裁器;所述全局仲裁器,用于对每个查找引擎输出的查找结果进行仲裁,得到对应所述第一查找表的查找结果。2.如权利要求1所述的装置,其特征在于,所述全局仲裁器还用于将对应所述第一查找表的查找结果发送至所述全局分发器;所述全局分发器还用于保存对应所述第一查找表的查找结果与所述第一查找关键字的映射关系;所述全局分发器还用于获取第二查找关键字,根据对应所述第一查找表的查找结果与所述第一查找关键字的映射关系确定第二查找关键字对应的查找结果是对应所述第一查找表的查找结果,所述第二查找关键字等于所述第一查找关键字。3.一种查找装置,其特征在于,包括全局分发器、全局仲裁器以及N个查找引擎,N为大于1的整数;所述N个查找引擎能够访问第一查找表,其中,每个查找引擎只能够访问所述第一查找表的一个子表,对于所述第一查找表中的任意两个子表N1和N2,所述子表N1中的任意一个表项不同于所述子表N2中的任意一个表项,所述第一查找表对应第一查找算法;所述全局分发器,用于确定第一查找关键字对应所述第一查找表,确定所述第一查找表对应所述N个查找引擎,将所述第一查找关键字分发给所述N个查找引擎;所述N个查找引擎中的每个查找引擎,用于根据所述第一查找算法在其能够访问的所述第一查找表的一个子表中查找是否存在与所述全局分发器分发的所述第一查找关键字匹配的表项,并将查找结果输出至所述全局仲裁器;所述全局仲裁器,用于对每个查找引擎输出的查找结果进行仲裁,得到对应所述第一查找表的查找结果;所述N个查找引擎包括至少一个查找引擎,所述至少一个查找引擎包括:本地分发器、第一个查找单元、第二查找单元以及本地仲裁器;所述第一查找单元能够访问所述第一查找表中的一个子表,所述第二查找单元能够访问第二查找表或者所述第二查找表中的一个子表,所述第二查找表对应第二查找算法;所述本地分发器,用于接收所述全局分发器分发的所述第一查找关键字,确定所述第一查找关键字对应所述第一查找单元,以及将所述第一查找关键字分发至所述第一查找单元;所述第一查找单元,用于根据所述第一查找算法在所述第一查找单元能够访问的所述第一查找表中的一个子表中查找是否存在与所述第一查找关键字匹配的表项,并将查找结果输出至所述本地仲裁器;所述本地仲裁器,用于对所述至少一个查找引擎中的查找单元输出的查找结果进行仲裁,并将仲裁结果输出至所述全局仲裁器。4.如权利要求3所述的装置,其特征在于,还包括存储器,所述存储器中存储有所述第一查找表的标识与存储所述第一查找表中的所有子表的所述N个查找引擎的标识的对应关系;所述全局分发器具体用于根据所述第一查找表的标识与所述N个查找引擎的标识的对应关系以及所述第一查找表的标识,确定所述第一查找表对应所述N个查找引擎。5.如权利要求3或4所述的装置,其特征在于,所述全局仲裁器还用于将对应所述第一查找表的查找结果发送至所述全局分发器;所述全局分发器还用于保存对应所述第一查找表的查找结果与所述第一查找关键字的映射关系;所述全局分发器还用于获取第二查找关键字,根据对应所述第一查找表的查找结果与所述第一查找关键字的映射关系确定第二查找关键字对应的查找结果是对应所述第一查找表的查找结果,所述第二查找关键字等于所述第一查找关键字。6.一种查找装置,其特征在于,包括全局分发器、全局仲裁器以及N个查找引擎,N为大于1的整数;所述N个查找引擎能够访问第一查找表,其中,每个查找引擎只能够访问所述第一查找表的一个子表,对于所述第一查找表中的任意两个子表N1和N2,所述子表N1中的任意一个表项不同于所述子表N2中的任意一个表项,所述第一查找表对应第一查找算法;所述全局分发器,用于确定第一查找关键字对应所述第一查找表,确定所述第一查找表对应所述N个查找引擎,将所述第一查找关键字分发给所述N个查找引擎;所述N个查找引擎中的每个查找引擎,用于根据所述第一查找算法在其能够访问的所述第一查找表的一个子表中查找是否存在与所述全局分发器分发的所述第一查找关键字匹配的表项,并将查找结果输出至所述全局仲裁器;所述全局仲裁器,用于对每个查找引擎输出的查找结果进行仲裁,得到对应所述第一查找表的查找结果;所述N个查找引擎包括第一查找引擎和第二查找引擎,所述第一查找引擎能够访问的所述第一查找表中的子表为第一子表,所述第二查找引擎能够访问的所述第一查找表中的子表为第二子表;所述装置还用于对所述N个查找引擎能够访问的表项的范围进行调整,其中,所述第一查找引擎能够访问的所述第一查找表中的子表被调整为第三子表,所述第三子表包括所述第一子表中除第一表项之外的所有表项,所述第二查找引擎能够访问的所述第一查找表中的子表被调整为第四子表,所述第四子表包括所述第二子表所有表项以及所述第一表项。7.如权利要求6所述的装置,其特征在于,还包括存储器,所述存储器中存储有所述第一查找表的标识与存储所述第一查找表中的所有子表的所述N个查找引擎的标识的对应关系;所述全局分发器具体用于根据所述第一查找表的标识与所述N个查找引擎的标识的对应关系以及所述第一查找表的标识,确定所述第一查找表对应所述N个查找引擎。8.如权利要求6或7所述的装置,其特征在于,所述N个查找引擎包括至少一个查找引擎,所述至少一个查找引擎包括:本地分发器、第一个查找单元、第二查找单元以及本地仲裁器;所述第一查找单元能够访问所述第一查找表中的一个子表,所述第二查找单元能够访问第二查找表或者所述第二查找表中的一个子表,所述第二查找表对应第二查找算法;所述本地分发器,用于接收所述全局分发器分发的所述第一查找关键字,确定所述第一查找关键字对应所述第一查找单元,以及将所述第一查找关键字分发至所述第一查找单元;所述第一查找单元,用于根据所述第一查找算法在所述第一查找单元能够访问的所述第一查找表中的一个子表中查找是否存在与所述第一查找关键字匹配的表项,并将查找结果输出至所述本地仲裁器;所述本地仲裁器,用于对所述至少一个查找引擎中的查找单元输出的查找结果进行仲裁,并将仲裁结果输出至所述全局仲裁器。9.如权利要求8所述的装置,其特征在于,所述全局仲裁器还用于将对应所述第一查找表的查找结果发送至所述全局分发器;所述全局分发器还用于保存对应所述第一查找表的查找结果与所述第一查找关键字的映射关系;所述全局分发器还用于获取第二查找关键字,根据对应所述第一查找表的查找结果与所述第一查找关键字的映射关系确定第二查找关键字对应的查找结果是对应所述第一查找表的查找结果,所述第二查找关键字等于所述第一查找关键字。10.如权利要求6或7所述的装置,所述全局仲裁器还用于将对应所述第一查找表的查找结果发送至所述全局分发器;所述全局分发器还用于保存对应所述第一查找表的查找结果与所述第一查找关键字的映射关系;所述全局分发器还用于获取第二查找关键字,根据对应所述第一查找表的查找结果与所述第一查找关键字的映射关系确定第二查找关键字对应的查找结果是对应所述第一查找表的查找结果,所述第二查找关键字等于所述第一查找关键字。11.一种查找装置,其特征在于,包括:全局分发器、全局仲裁器以及N个查找引擎,N为大于1的整数;所述N个查找引擎包括第一查找引擎,所述第一查找引擎能够访问第一查找表或者所述第一查找表的一个子表,所述第一查找表对应第一查找算法,所述第一查找引擎能够访问第二查找表或者所述第二查找表的一个子表,所述第二查找表对应第二查找算法;所述全局分发器,用于确定第一查找关键字对应所述第一查找表,确定所述第一查找表对应所述第一查找引擎,将所述第一查找关键字分发给所述第一查找引擎;所述第一查找引擎,用于根据所述第一查找算法在其能够访问的所述第一查找表或者所述第一查找表的一个子表中查找是否存在与所述全局分发器分发的所述第一查找关键字匹配的表项以得到所述第一查找关键字对应的查找结果,并将所述第一查找关键字对应的查找结果输出至所述全局仲裁器;所述全局分发器,还用于确定第二查找关键字对应所述第二查找表,确定所述第二查找表对应所述第一查找引擎,将所述第二查找关键字分发给所述第一查找引擎;所述第一查找引擎,还用于根据所述第二查找算法在其能够访问的所述第二查找表或者所述第二查找表的一个子表中查找是否存在与所述全局分发器分发的所述第二查找关键字匹配的表项以得到所述第二查找关键字对应的查找结果,并将所述第二查找关键字对应的查找结果输出至所述全局仲裁器;所述全局仲裁器,用于接收所述第一查找关键字对应的查找结果以及所述第二查找关键字对应的查找结果。12.如权利要求11所述的装置,其特征在于,还包括存储器,所述存储器用于在所述全局分发器确定所述第一查找表对应所述第一查找引擎前,存储所述第一查找表的标识与所述第一查找引擎的标识的对应关系;所述全局分发器具体用于根据所述第一查找表的标识与所述第一查找引擎的标识的对应关系以及所述第一查找表的标识,确定所述第一查找表对应所述第一查找引擎。13.如权利要求12所述的装置,其特征在于,所述存储器还用于在所述全局分发器确定所述第二查找表对应所述第一查找引擎前,存储所述第二查找表的标识与所述第一查找引擎的标识的对应关系;所述全局分发器具体用于根据所述第二查找表的标识与所述第一查找引擎的标识的对应关系以及所述第二查找表的标识,确定所述第二查找表对应所述第一查找引擎。14.如权利要求11至13中任一所述的装置,其特征在于,所述第一查找引擎包括:本地分发器、第一个查找单元、第二查找单元以及本地仲裁器;所述第一查找单元能够访问所述第一查找表或者所述第一查找表中的一个子表,所述第二查找单元能够访问第二查找表或者所述第二查找表中的一个子表;所述本地分发器,用于接收所述全局分发器分发的所述第一查找关键字,确定所述第一查找关键字对应所述第一查找单元,以及将所述第一查找关键字分发至所述第一查找单元;所述第一查找单元,用于根据所述第一查找算法在所述第一查找单元能够访问的所述第一查找表或者所述第一查找表中的一个子表中查找是否存在与所述第一查找关键字匹配的表项,并将查找结果输出至所述本地仲裁器;所述本地仲裁器,用于对所述第一查找单元输出的查找结果进行仲裁;所述本地分发器,还用于接收所述全局分发器分发的所述第二查找关键字,确定所述第二查找关键字对应所述第二查找单元,以及将所述第二查找关键字分发至所述第二查找单元;所述第二查找单元,用于根据所述第二查找算法在所述第二查找单元能够访问的所述第二查找表或者所述第二查找表中的一个子表中查找是否存在与所述第二查找关键字匹配的表项,并将查找结果输出至所述本地仲裁器;所述本地仲裁器,还用于对所述第二查找单元输出的查找结果进行仲裁。15.如权利要求14所述的装置,其特征在于,所述N个查找引擎还包括第二查找引擎,所述第一查找引擎能够访问所述第一查找表或者所述第一查找表中第一子表,所述第二查找引擎能够访问所述第一查找表中的第二子表;所述装置还用于对所述第一查找引擎和第二查找引擎能够访问的表项的范围进行调整,其中,所述第一查找引擎能够访问的表项的范围从所述第一查找表或者所述第一查找表中第一子表被调整为所述第一查找表中的第三子表,所述第三子表包括所述第一子表中除第一表项之外的所有表项,所述第二查找引擎能够访问的表项的范围从所述第一查找表中的第二子表被调整为所述第一查找表中的第四子表,所述第四子表包括所述第二子表所有表项以及所述第一表项。16.如权利要求11至13中任一所述的装置,其特征在于,所述N个查找引擎还包括第二查找引擎,所述第一查找引擎能够访问所述第一查找表或者所述第一查找表中第一子表,所述第二查找引擎能够访问所述第一查找表中的第二子表;所述装置还用于对所述第一查找引擎和第二查找引擎能够访问的表项的范围进行调整,其中,所述第一查找引擎能够访问的表项的范围从所述第一查找表或者所述第一查找表中第一子表被调整为所述第一查找表中的第三子表,所述第三子表包括所述第一子表中除第一表项之外的所有表项,所述第二查找引擎能够访问的表项的范围从所述第一查找表中的第二子表被调整为所述第一查找表中的第四子表,所述第四...

【专利技术属性】
技术研发人员:龚钧刘淑英胡晶
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1