[发明专利]一种TCAM多模式字符串匹配方法及装置有效
申请号: | 201110092439.8 | 申请日: | 2011-04-13 |
公开(公告)号: | CN102253957A | 公开(公告)日: | 2011-11-23 |
发明(设计)人: | 周志雄;汪锐;王增丽;梁丽华;赵彦博;叶军 | 申请(专利权)人: | 北京恒光创新科技股份有限公司;北京恒光信息技术有限公司;北京恒光科技发展有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻 |
地址: | 100097 北京市海淀区蓝靛*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 tcam 模式 字符串 匹配 方法 装置 | ||
技术领域
本发明是关于字符串匹配技术,特别是关于多模式字符串匹配技术,具体的讲是关于一种TCAM多模式字符串匹配方法及装置。
背景技术
随着科学技术的高速发展,人们需要处理的信息急剧增加,如何在这些海量的信息中快速提取自己所需的信息,成为一个很重要的课题。
字符串匹配技术,作为文本处理、关键词检索、敏感词过滤等多种应用的关键技术,对信息检索起着至关重要的作用。尤其是多模式的字符串匹配技术,成为各种多字符串、超大容量信息检索的核心技术。信息检索工具的性能,取决于其所使用的多模式字符串匹配技术的性能。
现有技术中,针对多模式字符串匹配技术的算法通常都是基于AC算法或状态机匹配。然而,基于计算机执行的软件,受到了DDR内存数据读取延时较长的缺点的限制;而基于AC或状态机匹配的软件算法,需要根据当前状态获得下一状态的值,才能继续进行匹配。因此,现有的软件算法,都有一个性能极限,这个极限与DDR的频率和读数据延时有关。
发明内容
本发明提供一种TCAM多模式字符串匹配方法及装置,以提高多模式字符串匹配的速度。
为了实现上述目的,本发明实施例提供一种TCAM多模式字符串匹配方法,该方法包括:接收用户输入的多模式字符串及字符串配置信息,根据所述多模式字符串及字符串配置信息选择TCAM表项宽度、TCAM容量及TCAM工作频率符合条件的TCAM;以位置域的值和前掩码域表征字符串偏移且字符串域包含模式字符串内容的方式,将所述的多模式字符串存储到TCAM表项包含所述位置域、所述前掩码域、字符串域及后掩码域的所述选择的TCAM中;接收所述用户输入的待匹配字符串,根据每次匹配重复送入的字节数及TCAM表项宽度将所述待匹配字符串分为多个字符段,其中,相邻字符段的部分字符重叠;将所述字符段及对应的匹配顺序值发送到所述TCAM中进行匹配;从所述的TCAM中获取并输出字符串匹配结果。
进一步地,所述的字符串配置信息包括:字符串类型、字符串偏移、字符串标识、优先级及匹配性能。
进一步地,根据所述多模式字符串及字符串配置信息选择TCAM表项宽度、TCAM容量及TCAM工作频率符合条件的TCAM,包括:根据字符串长度及字符串偏移确定TCAM表项宽度;根据字符串的类型及大小确定TCAM的容量;根据匹配性能确定TCAM的工作频率。
进一步地,将所述的多模式字符串存储到TCAM表项包含位置域、前掩码域、字符串域及后掩码域的所述选择的TCAM中,包括:根据所述的字符串优先级确定字符串在TCAM中的存储地址;将所述字符串的对应表项内容存储到TCAM的所述存储地址中。在将所述的多模式字符串存储到TCAM表项包含位置域、前掩码域、字符串域及后掩码域的所述选择的TCAM中时,采用所述的前掩码域及后掩码域屏蔽多模式字符串中无需匹配部分。
进一步地,根据所述多模式字符串及字符串配置信息选择TCAM表项宽度、TCAM容量及TCAM工作频率符合条件的TCAM之前,所述的方法还包括:将所述的浮动偏移字符串转化为多条固定偏移字符串。
进一步地,从所述的TCAM中获取并输出字符串匹配结果,包括:根据所述多个字符段的匹配的结果生成总匹配结果;根据总匹配结果获取匹配到的多模式字符串的标识及匹配位置信息。
进一步地,所述字符段对应的匹配顺序值是按顺序分配的,每个待匹配字符串通过多次分段匹配的方式完成整个匹配过程。
为了实现上述目的,本发明实施例还提供一种TCAM多模式字符串匹配装置,该装置包括:TCAM选择单元,用于接收用户输入的多模式字符串及字符串配置信息,根据所述多模式字符串及字符串配置信息选择TCAM表项宽度、TCAM容量及TCAM工作频率符合条件的TCAM;字符串存储单元,用于以位置域的值和前掩码域表征字符串偏移且字符串域包含模式字符串内容的方式,将所述的多模式字符串存储到TCAM表项包含所述位置域、所述前掩码域、字符串域及后掩码域的所述选择的TCAM中;待匹配字符串处理单元,用于接收所述用户输入的待匹配字符串,根据每次匹配重复送入的字节数及TCAM表项宽度将所述待匹配字符串分为多个字符段,其中,相邻字符段的部分字符重叠;字符串匹配单元,用于将所述字符段及对应的匹配顺序值发送到所述TCAM中进行匹配;匹配结果输出单元,用于从所述的TCAM中获取并输出字符串匹配结果。
进一步地,所述的字符串配置信息包括:字符串类型、字符串偏移、字符串标识、优先级及匹配性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京恒光创新科技股份有限公司;北京恒光信息技术有限公司;北京恒光科技发展有限公司,未经北京恒光创新科技股份有限公司;北京恒光信息技术有限公司;北京恒光科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110092439.8/2.html,转载请声明来源钻瓜专利网。