-
公开(公告)号:CN118797113A
公开(公告)日:2024-10-18
申请号:CN202410510641.5
申请日:2024-04-26
申请人: 中移(杭州)信息技术有限公司 , 中国移动通信集团有限公司
IPC分类号: G06F16/903 , G06F18/22
摘要: 本发明提供一种基于确定有限状态自动机的匹配方法及系统,该方法包括:在DFA的状态转移掩码表中查找输入字符在不同状态下的下一状态信息,以得到输入字符的掩码值;根据当前激活状态值和输入字符的掩码值,执行DFA的状态转换操作;对转换操作得到的更新的激活状态值进行状态检查,在更新的激活状态值中不存在接受状态字节时,根据起始状态编码值,对更新的激活状态值再次更新,继续基于新的当前激活状态值进行输入字符的掩码值获取、状态转换操作和状态检查,直到检查获知更新的激活状态值中存在接受状态字节,则确定输入字符匹配成功。本发明实现使用SIMD指令进行DFA多态并行匹配,避免了回溯匹配,大大提升了DFA的运行性能。
-
公开(公告)号:CN118797110A
公开(公告)日:2024-10-18
申请号:CN202410004858.9
申请日:2024-01-02
申请人: 中移(杭州)信息技术有限公司 , 中国移动通信集团有限公司
IPC分类号: G06F16/903 , G06F16/901
摘要: 本申请涉及计算机技术领域,提供一种自动机构建方法、装置及电子设备。所述方法包括:获取待处理的正则表达式集合,并基于所述正则表达式集合生成抽象语法树;将所述抽象语法树转换成全局NFA,并确定所述全局NFA的有界重复节点;基于所述全局NFA构建全局DFA,并基于所述有界重复节点构建所述全局DFA的子自动机。通过构建两层结构的混合DFA,将正则表达式中的有界重复部分对应的有界重复节点构建为全局DFA下的子自动机,有效规避了在对NFA进行确定化过程中,DFA状态数的指数爆炸,实现了全局DFA状态数的压缩,提升了DFA运行时的性能,减少了算力资源的消耗。
-
公开(公告)号:CN118796197A
公开(公告)日:2024-10-18
申请号:CN202410055394.4
申请日:2024-01-15
申请人: 中移(杭州)信息技术有限公司 , 中国移动通信集团有限公司
IPC分类号: G06F8/41
摘要: 本申请涉及自动机技术领域,提供自动机有界重复语法的匹配方法、装置、设备及存储介质,该方法包括:确定自动机的当前状态;其中当前状态包括代表有界重复匹配开始的POS状态、持续循环的CYCLIC状态和触发检查的CHECK状态;当POS状态中触发匹配时,检查是否和当前连续匹配开始段继续连续;若是,则更新当前连续匹配开始段的结束位置;若否,则将当前连续匹配开始段放入用于记录所有连续匹配开始段的数组中;当在CHECK状态中,检查当前连续匹配开始段是否能够触发,若否,顺序检查之前的所有连续匹配开始段是否能够匹配。本申请实现较为简单,性能较好,同时能统一支持多种不同的情况,对有界重复中的N和M也没有特殊限制。
-
公开(公告)号:CN118796314A
公开(公告)日:2024-10-18
申请号:CN202410164488.5
申请日:2024-02-05
申请人: 中移(杭州)信息技术有限公司 , 中国移动通信集团有限公司
摘要: 本申请涉及自动机领域,提供一种非确定型有穷自动机生成方法、装置、设备及存储介质。所述方法包括:对待处理字符创建对应的状态后,为状态添加识别标识,待处理字符是待处理正则表达式中的特殊字符;在生成待处理正则表达式的非确定型有穷自动机NFA后,新增开始状态和结束状态,对带有识别标识的状态进行修正,开始状态用于标记使用NFA进行匹配时内容的开始位置,结束状态用于标记使用NFA进行匹配时内容的结束位置。通过引入特殊的状态集,以开始状态标记开始位置,以结束状态标记结束位置,通过使得NFA保持一致,从而节省NFA运行时,因为NFA图不一致导致的不必要的额外检查开销,提升NFA运行效率。
-
-
-