[发明专利]基于字符集变换的自动机空间压缩方法及系统有效
申请号: | 201910505421.2 | 申请日: | 2019-06-12 |
公开(公告)号: | CN110401451B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 孙恭鑫;卢毓海;刘燕兵;张春燕;谭建龙;郭莉 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | H03M7/30 | 分类号: | H03M7/30;H03M7/40 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 余长江 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 字符集 变换 自动机 空间 压缩 方法 系统 | ||
本发明提供一种基于字符集变换的自动机空间压缩方法,步骤包括:将模式串集构建成自动机,并生成状态转移矩阵;读取状态转移矩阵的各个状态行,计算最佳变换参数、最小有效后继状态和最大有效后继状态;根据状态转移矩阵和最佳变换参数,记录数据结构,将状态行替换为变换后的有效状态行;读取目标文本的字符,根据字符当前状态,利用双射函数进行字符变换,得到变换后的字符,符合条件下得到后继状态,实现压缩。本发明还提供一种基于字符集变换的自动机空间压缩系统,包括规则编译器、变换参数生成器、状态行变换器、比较器、压缩自动机存储器、状态寄存器、字符集变换器及文本扫描器。
技术领域
本发明属于信息技术领域,具体涉及一种基于字符集变换的自动机空间压缩方法及系统。
背景技术
字符串匹配算法是一类搜索算法,广泛应用于生物信息学、信息检索、数据压缩、网络入侵检测等领域。一个字符串是一个定义在有限字母表Σ上的有限字符序列,字符串匹配算法在一个大的字符串T上搜索某个字符串集合S={Pi}中所有字符串Pi的所有出现位置。T被称为文本,Pi被称为模式串,T和Pi都定义在同一个字母表Σ上。
在字符串匹配领域,自动机是一种重要的数据结构。例如,1975年由Aho及Corasick提出的AC自动机算法(参考Efficient String Matching:An Aid toBibliographic Search),1977年由Knuth、Morris及Pratt提出的KMP算法(参考FastPattern Matching In Strings),1999年由Allauzen、Crochemore及Raffinot提出的BOM算法(参考Factor Oracle:A New Structure for Pattern Matching)等许多算法都通过自动机实现快速的字符串匹配。由于在多数应用中模式串集的规模通常较大,生成的自动机占用空间较大,也影响其匹配速度,因此降低自动机占用的资源就成为一个值得研究的问题。
自动机又称为有限状态机,是一种用于表示字符串集合并提供字符串匹配功能的数据结构。抽象来讲,串匹配算法中的自动机可以表示为一个大小为N×256的矩阵AN×256,其中N是自动机的状态数,256是字符集大小(1个字节)。对于当前状态s和输入字符c,A[s,c]表示抵达的下一个状态,通常用一个非负整数或指针来表示。A[s,c]=-1表示当前状态s对于输入字符c没有后继状态。AN×256中每个状态行所占用的空间为sizeof(int)×256,共占用空间sizeof(int)×256×N。由于在许多应用中模式串集S规模很大,对应的自动机状态数较多,占用的空间很可观,影响了基于自动机的串匹配算法的实用性,因此,有必要对自动机的高效压缩方法进行研究。
2004年Norton在Optimizing Pattern Matching for Intrusion Detection一文中提出了一种称为Banded-Row的自动机压缩方法。由于在串匹配算法中,自动机的大部分状态通常只有很少的几个后继状态,对于每一个状态行A[s],直接用sizeof(int)×256来表示是非常浪费存储空间的。为了压缩AC自动机的存储空间,Banded-Row用两个整数lb和ub分别记录状态行A[s]中第一个和最后一个后继状态的转移字符,即:
去掉A[s]头尾的空转移,每一行仅使用sizeof(int)×(ubs-lbs+3)的存储空间来表示,既保留了数组随机存取的特性,同时相比矩阵表示法也节省了存储空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910505421.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:神经网络电路
- 下一篇:按键复用电路及其按键复用方法