[发明专利]一种多模式下匹配字符串的方法及系统有效
申请号: | 201210064914.5 | 申请日: | 2012-03-13 |
公开(公告)号: | CN103309882B | 公开(公告)日: | 2016-11-30 |
发明(设计)人: | 许金鹏;薛萍;李健安;熊金芬;李旻翊 | 申请(专利权)人: | 北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;曲鹏 |
地址: | 100193 北京市海淀区东北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模式 匹配 字符串 方法 系统 | ||
1.一种多模式下匹配字符串的方法,其特征在于,该方法包括:
存储模式集信息,所述模式集信息至少包括各关键字的长度和其首字母序号;
当接收到字符串时,从所接收的字符串中提取出待匹配字,然后从所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,则此待匹配字匹配成功,否则匹配失败。
2.如权利要求1所述的方法,其特征在于,
通过一个数组存储所述模式集信息,该用于存储模式集信息的数组至少包括关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数,其中,关键字在模式集中可容忍冲突数为模式集中关键字长度以及关键字首字母序号均相同的关键字总数,所述数组的值为关键字在模式集中的位置序号。
3.如权利要求2所述的方法,其特征在于,从所存储的模式集信息中查找关键字长度和关键字首字母序号与所述待匹配字的长度和首字母序号均相同的关键字为多个时,将所查找到的多个关键字依次与待匹配字进行比较。
4.如权利要求3所述的方法,其特征在于,从所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较的过程如下:
获取所述待匹配字的长度L及其首字母序号M,从用于存储模式集信息的数组中查找长度为L,首字母序号M、可容忍冲突数的值为0的数组元素,比较将所查找到的数组元素对应的关键字与所述待匹配字是否一致,若比较结果一致,则匹配成功,若比较结果不一致,则更新数组元素的可容忍冲突数再从用于存储模式集信息的数组中查找长度为L,首字母序号M、可容忍冲突数为更新值的数组元素,比较所查找到的数组元素对应的关键字与所述待匹配字是否一致,其中,所述数组元素的可容忍冲突数的更新值为上一个所要查找的数组元素的可容忍冲突数的值加1。
5.如权利要求4所述的方法,其特征在于,
更新所要查找的数组元素时,若更新操作次数达到设定次数时,所提取出的关键字与所述待匹配字仍不一致时,结束本方法的操作。
6.一种多模式下匹配字符串的系统,其特征在于,该系统包括:
存储单元,存储模式集信息,所述模式集信息至少包括各关键字的长度和其首字母序号;
匹配单元,当接收到字符串时,从所述字符串中提取出待匹配字,从所述存储单元所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,则所述待匹配字匹配成功,否则匹配失败。
7.如权利要求6所述的系统,其特征在于,
所述存储单元,通过一个数组存储模式集信息,该用于存储模式集信息的数组至少包括关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数,其中,关键字在模式集中可容忍冲突数为模式集中关键字长度以及关键字首字母序号均相同的关键字总数,所述数组的值等于关键字在模式集中的位置序号。
8.如权利要求7所述的系统,其特征在于,所述匹配单元从所述存储单元所存储的模式集信息中查找关键字长度和关键字首字母序号与所述待匹配字的长度和首字母序号均相同的关键字为多个时,将所查找到的多个关键字依次与待匹配字进行比较。
9.如权利要求8所述的系统,其特征在于,所述匹配单元包括处理模块和更新模块:
所述处理模块,获取所述待匹配字的长度L及其首字母序号M,从用于存储模式集信息的数组Array中查找长度为L,首字母序号M、可容忍冲突数的值为0的数据元素,比较所查找到数组元素对应的关键字与所述待匹配字是否一致,若比较结果一致,则匹配成功,若当比较结果不一致,向所述更新模块发送更新通知,并从用于存储模式集信息的数组中找出所述更新模块更新的数据元素,若比较所查找到的数据元素对应的关键字与所述待匹配字是否一致;
所述更新模块,按照所述处理模块发送的更新通知,更新所要查找的数组元素,其中,更新的所要查找的数组元素的长度保持为L、首字母序号保持为M,可容忍冲突数的值为上一个所要查找的数组元素的可容忍冲突数的值加1。
10.如权利要求9所述的系统,其特征在于,
所述更新模块,更新所要查找的数组元素时,若更新操作次数达到设定次数时,则不再进行更新操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司,未经北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210064914.5/1.html,转载请声明来源钻瓜专利网。