数据查找方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:17516515 阅读:20 留言:0更新日期:2018-03-21 01:07
本发明专利技术涉及一种数据查找方法,包括步骤:接收报文,从报文中提取出查找关键字,将查找关键字拆分为第一字段组合和第二字段组合,第一字段组合需要掩码查找,第二字段组合不需要掩码查找;根据预设的TCAM查找表项,对第一字段组合进行TCAM查找,获得查找结果;对第二字段组合用哈希算法进行计算,获得计算结果;根据查找结果和计算结果查找预设于SRAM表项中的关联数据,获取目标关联数据。本发明专利技术通过只对查找关键字中需要掩码查找的。字段组合进行TCAM查找,有效地节约了TCAM的资源。本发明专利技术还提供一种数据查找装置,计算机设备和存储介质。

Data lookup methods, devices, computer devices, and storage media

The invention relates to a data search method, comprising the steps of: receiving the message from the message, extract the search keywords, keyword search will be split into first and second field combination field combination, the first group of fields need to find second mask, do not need to find the mask field combination; according to the preset TCAM lookup table, TCAM search the first field combined with search results; the calculation of second field combination with hash algorithm to get the calculation results; according to relevance data search results and find the presupposition in SRAM list item, obtaining the target association data. The invention is found by only the need mask in the lookup key. Field combination for TCAM lookup, effectively saving the resources of TCAM. The invention also provides a data lookup device, a computer device and a storage medium.

【技术实现步骤摘要】
数据查找方法、装置、计算机设备和存储介质
本专利技术涉及计算机网络技术,特别是涉及数据查找方法、装置、计算机设备和存储介质。
技术介绍
交换机作为重要的二层交换网络设备,其性能直接影响着所在网络的整体网络速度.随着高速网络的发展,流量和网络端口的激增,需要交换机设备具有高速和线性处理能力。为了应付高速的数据流量,需要用网络芯片来实现查找逻辑。网络芯片当前包括ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)和NP(NetworkProcessor,网络处理器)两大类。网络处理器凭借其高速处理及灵活的可编程性,已成为当今网络中数据处理的有效解决方案,而网络处理器中有不同的例如CAM(ContentAddressableMemory,内容寻址存储器)和TCAM(TernaryContentAddressableMemory,三态内容寻址存储器)。TCAM中的每一个bit的状态可以是“0”或“1”,或者是第三种状态“不关心态”,所以称为“三态”。这个特点使得TCAM对所查找的数据的位域具有筛选的功能。TCAM的主要特点是快速并行查找,现有TCAM的查询方式为:NP从报文提取信息,整理成和TCAM查找表相同的格式。称为键值(Key),然后将键值(Key)送到TCAM查找表中与所有表项进行对照,返回匹配度最高的一项对应的地址索引(index),然后根据地址索引(index)查找SRAM(StaticRandomAccessMemory,随机存取存储器)的数据,最后将SRAM查找的数据结果返回NP,完成一次查找工作。但是当TCAM查找表中出现大量掩码,使用TCAM表项进行查找时,实际上只有少数字段进行了查找,而又因为TCAM表项长度是固定的,浪费TCAM的资源。
技术实现思路
基于此,有必要针对TCAM查找表出现大量掩码,使用TCAM表项进行查找时,浪费TCAM资源的问题,提供一种可以节约TCAM资源的数据查找方法,装置,计算机设备和存储介质。一种数据查找方法,包括步骤:接收报文,从所述报文中提取出查找关键字,将所述查找关键字拆分为第一字段组合和第二字段组合,所述第一字段组合需要掩码查找,所述第二字段组合不需要掩码查找;根据预设的TCAM查找表项,对所述第一字段组合进行TCAM查找,获得查找结果,所述预设的TCAM查找表项为缩减后的TCAM表项;对所述第二字段组合用哈希算法进行计算,获得计算结果;根据所述查找结果和所述计算结果查找预设于SRAM表项中的关联数据,获取目标关联数据。本申请通过只对查找关键字中需要掩码查找的字段组合进行TCAM查找,有效地节约了TCAM的资源。在其中一个实施例中,所述接收报文,从所述报文中提取出查找关键字,将所述查找关键字拆分为第一字段组合和第二字段组合的步骤之前还包括步骤:根据与TCAM查找表项对应的预设关键字中需要掩码查找的字段组合将所述TCAM查找表项进行缩减。在其中一个实施例中,所述接收报文,从所述报文中提取出查找关键字,将所述查找关键字拆分为第一字段组合和第二字段组合的步骤之前还包括步骤:根据与TCAM查找表项对应的预设关键字中需要掩码查找的字段组合将所述TCAM查找表项进行缩减,缩减后的所述TCAM查找表项的长度与所述预设关键字中需要掩码查找的字段组合的长度相等。在其中一个实施例中,所述SRAM表项中存储有与各关联数据对应的不需掩码查找的字段组合,所述不需要掩码查找的字段组合由与各关联数据对应的预设关键字拆分形成,所述获取关联数据后,还包括,判断所述报文对应的所述第二字段组合与所述目标关联数据对应的字段组合是否相同;若相同,则判定本次数据查找成功;若不相同,则判定本次数据查找失败。在其中一个实施例中,所述关联数据在SRAM表项存放的数据地址包括基础地址和地址偏移量,所述根据所述查找结果和所述计算结果,查找存放在SRAM表项中的关联数据的步骤包括:根据所述查找结果确定SRAM表项中的基础地址;根据所述计算结果确定SRAM表项中的地址偏移量;根据确定的基础地址和确定的地址偏移量,查找存放在SRAM表项中的关联数据。一种数据查找装置,包括:提取模块,用于接收报文,从所述报文中提取出查找关键字;拆分模块,用于将所述查找关键字拆分为第一字段组合和第二字段组合,所述第一字段组合需要掩码查找,所述第二字段组合不需要掩码查找;查找模块,用于根据预设的TCAM查找表项,对所述第一字段组合进行TCAM查找,获得查找结果;计算模块,用于对所述第二字段组合用哈希算法进行计算,获得计算结果;数据获取模块,用于根据查找结果和运算结果查找存放在SRAM表项中的关联数据,获取目标关联数据。在其中一个实施例中,所述数据查找装置还包括:缩减模块,用于在查找模块对所述第一字段组合进行TCAM查找前,将TCAM查找表项缩减,所述缩减是按预设关键字中需要掩码查找的字段组合进行的,所述预设关键字与所述TCAM查找表项对应,缩减后的所述TCAM查找表项的长度与所述需要掩码查找的字段组合的长度相等。在其中一个实施例中,所述SRAM表项中存储有与各关联数据对应的不需掩码查找的字段组合,所述不需要掩码查找的字段组合由与各关联数据对应的预设关键字拆分形成,所述数据查找装置还包括,验证模块,用于判断所述报文对应的所述第二字段组合与所述目标关联数据对应的第二字段组合是否相同;若相同,则判定本次数据查找成功;若不相同,则判定本次数据查找失败。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述任意一项方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任意一项方法的步骤。上述方法,装置,计算机设备,计算机可读存储介质通过只对查找关键字中需要掩码查找的字段组合进行TCAM查找,有效地节约了TCAM的资源。附图说明图1为本申请数据查找方法其中一个实施例的应用环境图;图2为本申请数据查找方法其中一个实施例的流程示意图;图3为本申请数据查找方法其中一个实施例的流程示意图;图4为本申请数据查找方法其中一个实施例的流程示意图;图5为本申请数据查找装置其中一个实施例的结构示意图;图6为本申请数据查找装置其中一个实施例的结构示意图;图7为本申请数据查找装置其中一个实施例的结构示意图;图8为本申请计算机设备其中一个实施例的结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。图1为一个实施例中数据查找方法的应用环境图。参照图1,该查找方法应用于NP。该NP包括用于系统管理维护和复杂数据处理的处理核心,用于快速数据处理的转发引擎,以及SRAM,TCAM,SDRAM(SynchronousDynamicRandomAccessMemory,同步动态随机存储器)等多种不同存储器,这些存储器中存放着各种业务表项,如端口表,MAC表,路由表。除此之外,该NP还各种接口单元,包括物理链路接口、交换接口,存储器接口及其他外部处理单元接口。如图2所示,在一个实施本文档来自技高网
...
数据查找方法、装置、计算机设备和存储介质

【技术保护点】
一种数据查找方法,其特征在于,包括步骤:接收报文,从所述报文中提取出查找关键字,将所述查找关键字拆分为第一字段组合和第二字段组合,所述第一字段组合需要掩码查找,所述第二字段组合不需要掩码查找;根据预设的TCAM查找表项,对所述第一字段组合进行TCAM查找,获得查找结果,所述预设的TCAM查找表项为缩减后的TCAM表项;对所述第二字段组合用哈希算法进行计算,获得计算结果;根据所述查找结果和所述计算结果查找预设于SRAM表项中的关联数据,获取目标关联数据。

【技术特征摘要】
1.一种数据查找方法,其特征在于,包括步骤:接收报文,从所述报文中提取出查找关键字,将所述查找关键字拆分为第一字段组合和第二字段组合,所述第一字段组合需要掩码查找,所述第二字段组合不需要掩码查找;根据预设的TCAM查找表项,对所述第一字段组合进行TCAM查找,获得查找结果,所述预设的TCAM查找表项为缩减后的TCAM表项;对所述第二字段组合用哈希算法进行计算,获得计算结果;根据所述查找结果和所述计算结果查找预设于SRAM表项中的关联数据,获取目标关联数据。2.根据权利要求1所述的数据查找方法,其特征在于,所述接收报文,从所述报文中提取出查找关键字,将所述查找关键字拆分为第一字段组合和第二字段组合的步骤之前还包括步骤:根据与TCAM查找表项对应的预设关键字中需要掩码查找的字段组合将所述TCAM查找表项进行缩减。3.根据权利要求1所述的数据查找方法,其特征在于,所述接收报文,从所述报文中提取出查找关键字,将所述查找关键字拆分为第一字段组合和第二字段组合的步骤之前还包括步骤:根据与TCAM查找表项对应的预设关键字中需要掩码查找的字段组合将所述TCAM查找表项进行缩减,缩减后的所述TCAM查找表项的长度与所述预设关键字中需要掩码查找的字段组合的长度相等。4.根据权利要求1所述的数据查找方法,其特征在于,所述SRAM表项中存储有与各关联数据对应的不需掩码查找的字段组合,所述不需要掩码查找的字段组合由与各关联数据对应的预设关键字拆分形成,所述获取关联数据的步骤之后,还包括:判断所述报文对应的所述第二字段组合与所述目标关联数据对应的字段组合是否相同;若相同,则判定本次数据查找成功;若不相同,则判定本次数据查找失败。5.根据权利要求1所述的数据查找方法,其特征在于,所述关联数据在SRAM表项存放的数据地址包括基础地址和地址偏移量,所述根据所述查找结果和所述计算结果,查找存放在SRAM表项中的关联数据的步骤包括:根据所...

【专利技术属性】
技术研发人员:郭敏谢海春廖北平蒋汉柏
申请(专利权)人:湖南恒茂高科股份有限公司
类型:发明
国别省市:湖南,43

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

1