[发明专利]一种特征字符串识别方法及系统有效
申请号: | 201010280948.9 | 申请日: | 2010-09-13 |
公开(公告)号: | CN102402692A | 公开(公告)日: | 2012-04-04 |
发明(设计)人: | 宋子辉;杨崇俊 | 申请(专利权)人: | 中国科学院遥感应用研究所;北京中遥地网信息技术有限公司 |
主分类号: | G06K9/64 | 分类号: | G06K9/64 |
代理公司: | 北京中誉威圣知识产权代理有限公司 11279 | 代理人: | 丛芳;王正茂 |
地址: | 100101 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 特征 字符串 识别 方法 系统 | ||
技术领域
本发明涉及一种信息识别技术,尤其涉及一种特征字符串识别方法及系统。
背景技术
特征字符串(模式字符串)识别是信息识别中重要的核心技术之一,用于从目标字符串中发现模式字符串。当特征字符串条数较少内存能够容纳时;采用普通的字符串匹配算法可以达到特征字符串识别的目的;如果特征字符串比较多,采用字符串匹配算法将会遇到性能的瓶颈。特别是特征字符串条数很多,现有的计算机系统的内存无法容纳时,则需要把特征字符串存储到磁盘中。对于大规模特征字符串的识别,采用扫描特征串匹配的方式,将导致频繁的磁盘读取,性能低下。
对于大规模特征字符串识别,现有的有效解决方案:对特征字符串创建B-Tree(多路搜索树)索引;把目标字符串,分割成若干子字符串,在B-Tree中查找。B-Tree是基于磁盘的外存索引技术。B-Tree是多路平衡树,B-Tree索引的性能由以下,几个因素决定:
1)B-Tree的节点扇出系数。系数越高,算法的复杂度越低,有利于算法性能的提升。
2)B-Tree的节点对应物理页面数。对应的物理页面数少,减少了磁盘访问时间。
3)B-Tree的节点平均填充度。平均填充度越高,则B-Tree的节点利用率高,有利于降低树的高度,从而有利于算法性能的提升。
4)B-Tree的查找算法。查找算法决定了查找的算法复杂度。
由于在磁盘中查找,需要频繁的读取磁盘中的数据;由于磁盘的物理特性,决定了读取磁盘非常耗时,因此降低读取磁盘的频率将显著提高查找的速度。
现有的解决方案,使用B-Tree创建特征字符串索引有以下缺点:
1、由于特征字符串是变长的,对于每一个内点,需要若干个物理页面存放,需要多次读取物理页面才能加载一个完整的内点;
2、节点存储数据冗余大;
3、缓冲池使用最近最久未策略管理,页面的命中率低,影响了读取性能。
发明内容
本发明的目的在于,提供一种一种特征字符串识别方法及系统,识别效率高,降低读取磁盘的次数。
为实现上述目的,根据本发明的一个方面,提供一种特征字符串识别方法,包括:A、将待识别特征字符串转换为二进制代码;B、读取B-Tree的节点;C、当该节点为内点时,根据所述二进制代码在所述内点中进行二叉查找,确定所述待识别特征字符串对应的叶子节点的位置。
其中,步骤C具体包括:C1、根据所述二进制代码在所述内点中进行二叉查找,获得第一位置;C2、根据所述二进制代码及所述第一位置定位所述待识别特征字符串对应的第二位置;C3、当所述第二位置的节点还是内点时,则循环上述步骤。
上述步骤C3之后还包括:当所述读取B-Tree的节点为叶子节点时,在所述叶子节点中做初始位置查找;当所述初始位置中的特征字符串与待识别特征字符串一致时,识别成功。
其中,内点中存储有固定长度的编码数组,所述编码数组为对特征字符串转换成的二进制代码进行平衡二叉树排序,再对形成的平衡二叉树做中续遍历后形成的,所述编码数组包括:所述平衡二叉树左侧叶子节点数及子节点公共前缀字符串长度。
上述步骤C1具体包括:C11、设定初始化变量包括I,J,N;I=0,J=0,N=KeyCount;其中I表示子节点偏移位置,J表示在二叉编码数组的偏移位置,N表示平衡二叉树叶子节点数,KeyCount表示节点内二叉树叶子节点数;C12、当N大于1,执行步骤C13,当N小于等于1时,执行步骤C17;C13、获得特征字符串对应的二进制代码在m_lcmp[J]处的值,该值用Bit表示;其中,m_lcmp[J]表示节点J对应的子树的叶子节点公共前缀;C14、当所述二进制代码在m_lcmp[J]处的值为1时,执行步骤C15,否则执行步骤C16;C15、转入右侧子树,I=m_LeafCount[J];N=m_LeafCount[J];J=m_LeafCount[J];其中m_LeafCount[J]表示第J个节点对应的子树左侧叶子节点数;执行步骤C12;C16、转入左侧子树,N=m_LeafCount[J];J=1;执行步骤C12;C17、返回初始查找位置PTRi,其中PTRi等于I,PTRi表示初始查找位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院遥感应用研究所;北京中遥地网信息技术有限公司,未经中国科学院遥感应用研究所;北京中遥地网信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010280948.9/2.html,转载请声明来源钻瓜专利网。