[发明专利]基于多线程的模式匹配方法、装置及电子设备在审
申请号: | 201811404448.4 | 申请日: | 2018-11-22 |
公开(公告)号: | CN109543751A | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | 袁春峰;曲志峰;纪翀;楼方平 | 申请(专利权)人: | 南京中孚信息技术有限公司 |
主分类号: | G06K9/62 | 分类号: | G06K9/62 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 苏胜 |
地址: | 210000 江苏省南京市浦口区江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 扫描文本 线程 模式匹配 装置及电子设备 标识信息 等差数列 起始地址 起始扫描 多线程 状态机 字节数 偏移 模式匹配技术 目标模式 线程分配 构建 加载 匹配 扫描 递增 | ||
1.一种基于多线程的模式匹配方法,其特征在于,包括:
获取待扫描文本及所述待扫描文本的标识信息;其中,所述标识信息包括所述待扫描文本的字节数和所述待扫描文本的起始地址;
根据所述待扫描文本的字节数启动多个线程,并分别为每个所述线程分配编号;其中,多个所述线程的编号呈等差数列递增;所述等差数列的首项为0;
根据所述待扫描文本的起始地址和每个所述线程的编号,确定每个所述线程对应的起始扫描偏移;
将所述待扫描文本加载至多个所述线程,并同时在各个所述线程中,根据所述线程对应的起始扫描偏移通过预先构建的状态机对所述待扫描文本进行扫描,得到所述待扫描文本中与所述状态机相匹配的目标模式串;其中,所述状态机中包含有多个模式串。
2.根据权利要求1所述的方法,其特征在于,所述线程的数量等于所述待扫描文本的字节数;所述等差数列的公差为1个字节。
3.根据权利要求1所述的方法,其特征在于,在获取待扫描文本之前,所述方法还包括:
接收用户输入的关键词组,并通过字典树构建与所述关键词组对应的状态机;其中,所述关键词组中的关键词与所述状态机中的模式串一一对应。
4.根据权利要求3所述的方法,其特征在于,所述状态机中每个模式串的初始状态值均等于所述关键词组中的关键词的个数加一;所述状态机中每个模式串的终止状态值小于或者等于所述关键词组中关键词的个数,且,不同的所述模式串的终止状态值不同。
5.根据权利要求4所述的方法,其特征在于,所述状态机包括成功转移表,所述成功转移表中存储有每个所述模式串对应的状态转移信息;其中,所述状态转移信息包括输入状态值、触发字节以及与所述输入状态值和所述触发字节所对应的输出状态值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述线程对应的起始扫描偏移,通过预先构建的状态机对所述待扫描文本进行扫描,得到所述待扫描文本中与所述状态机相匹配的目标模式串的步骤,包括:
根据所述线程对应的起始扫描偏移,确定所述待扫描文本的第一个待扫描字节;
将所述初始状态值确定为所述输入状态值,并将所述第一个待扫描字节确定为当前触发字节;
判断所述成功转移表中是否存在与所述输入状态值和所述当前触发字节对应的输出状态值;
如果不存在,结束所述线程;
如果存在,判断所述输出状态值是否小于所述状态机的初始状态值;
如果否,将所述输入状态值更新为所述输出状态值,并将当前触发字节更新为所述待扫描文本的下一个待扫描字节后,重新执行上述步骤:判断所述成功转移表中是否存在与所述输入状态值和所述当前触发字节所对应的输出状态值;
如果是,在所述状态机中查找与所述输出状态值相匹配的所述终止状态值;
将查找到的所述终止状态值对应的模式串确定为所述待扫描文本中与所述状态机相匹配的目标模式串。
7.根据权利要求1所述的方法,其特征在于,所述线程为GPU线程。
8.一种基于多线程的模式匹配装置,其特征在于,包括:
待扫描文本获取模块,用于获取待扫描文本及所述待扫描文本的标识信息;其中,所述标识信息包括所述待扫描文本的字节数和所述待扫描文本的起始地址;
线程启动模块,用于根据所述待扫描文本的字节数启动多个线程,并分别为每个所述线程分配编号;其中,多个所述线程的编号呈等差数列递增;所述编号的最小值为0;
起始扫描偏移确定模块,用于根据所述待扫描文本的起始地址和每个所述线程的编号,确定每个所述线程对应的起始扫描偏移;
模式匹配模块,用于将所述待扫描文本加载至多个所述线程,并同时在各个所述线程中,根据所述线程对应的起始扫描偏移,通过预先构建的状态机对所述待扫描文本进行扫描,得到所述待扫描文本中与所述状态机相匹配的目标模式串;其中,所述状态机中包含有多个模式串。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京中孚信息技术有限公司,未经南京中孚信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811404448.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种耗电用户能效评估方法
- 下一篇:一种共享单车站点聚类方法