【技术实现步骤摘要】
基于双数组AC自动机的匹配方法和装置
[0001]本公开涉及计算机
,具体涉及数据结构、搜索、数据存储
,尤其涉及基于双数组AC自动机的匹配方法和装置。
技术介绍
[0002]互联网上的文本是海量的,而进行文本中词语的匹配筛查是一项工作量大且耗时的工作。
[0003]一般的实现方式就是创建特定场景词库,检查文章中是否包含词库中的词语,其本质就是字符串的匹配。在相关技术中,可以按照匹配服务的响应性能情况,判断字符串的匹配速度。具体地,在字符串较长时,匹配的延迟可达数十秒。因此,字符串的匹配速度是亟待改进的。
技术实现思路
[0004]提供了一种基于双数组AC自动机的匹配方法、装置、电子设备以及存储介质。
[0005]根据第一方面,提供了一种基于双数组AC自动机的匹配方法,包括:获取双数组AC自动机,其中,双数组AC自动机包括基准数组和校验数组,基准数组包括基地址区、失配区和跳转区,基地址区包括节点的基地址,失配区包括节点的失配节点数据,跳转区包括节点的所跳转节点数据,双数组AC自动机 ...
【技术保护点】
【技术特征摘要】
1.一种基于双数组AC自动机的匹配方法,所述方法包括:获取所述双数组AC自动机,其中,所述双数组AC自动机包括基准数组和校验数组,所述基准数组包括基地址区、失配区和跳转区,所述基地址区包括节点的基地址,所述失配区包括节点的失配节点数据,所述跳转区包括节点的所跳转节点数据,所述双数组AC自动机中的数据指示至少一个目标词;将待匹配字符串与所述各个区中的数据进行匹配,得到匹配结果,其中,所述匹配结果指示所述待匹配字符串中是否存在目标词。2.根据权利要求1所述的方法,其中,所述双数组AC自动机中的校验数组包括词节点区,所述词节点区包括目标AC自动机的词节点数据。3.根据权利要求1或2所述的方法,其中,所述双数组AC自动机中的校验数组包括索引区,所述索引区存在索引数据,所述索引数据用于指示目标AC自动机的词节点对应的词。4.根据权利要求1所述的方法,其中,节点的所跳转节点数据在跳转区中的存储地址是以该节点所接受的字符的数值作为偏移量从该节点的基地址偏移所得到的地址;所述双数组AC自动机的生成步骤包括:获取目标AC自动机的节点的失配节点数据;将目标AC自动机的节点的失配节点数据和基地址,分别存入双数组的失配区和所述基地址区,其中,所述失配区和所述基地址区中的数据条数相同;对于所述目标AC自动机的节点在所述双数组中的基地址,响应于目标字符是该节点的可接受字符,将所述目标字符的数值作为偏移量,确定从所述基地址偏移在所述双数组的跳转区得到的目标地址,将接受所述目标字符后所跳转到的节点的所跳转节点数据存入所述目标地址。5.根据权利要求4所述的方法,其中,响应于所述双数组AC自动机中的校验数组包括词节点区,所述生成步骤还包括:对于所述目标AC自动机中的词节点,将该词节点的词节点数据存入所述词节点区。6.根据权利要求5所述的方法,其中,所述词节点数据的获取步骤包括:获取所述目标AC自动机的失配链,其中,所述失配链中的失配节点指示的字符串存在后缀重合;在所述失配链中确定词节点,生成指示该词节点的词节点数据。7.根据权利要求4或5所述的方法,其中,响应于所述双数组AC自动机中的校验数组包括索引区,所述生成步骤还包括:将所述目...
【专利技术属性】
技术研发人员:孙瑞,
申请(专利权)人:北京京东世纪贸易有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。