基于确定有限状态自动机的匹配方法及系统

    公开(公告)号:CN118797113A

    公开(公告)日:2024-10-18

    申请号:CN202410510641.5

    申请日:2024-04-26

    IPC分类号: G06F16/903 G06F18/22

    摘要: 本发明提供一种基于确定有限状态自动机的匹配方法及系统,该方法包括:在DFA的状态转移掩码表中查找输入字符在不同状态下的下一状态信息,以得到输入字符的掩码值;根据当前激活状态值和输入字符的掩码值,执行DFA的状态转换操作;对转换操作得到的更新的激活状态值进行状态检查,在更新的激活状态值中不存在接受状态字节时,根据起始状态编码值,对更新的激活状态值再次更新,继续基于新的当前激活状态值进行输入字符的掩码值获取、状态转换操作和状态检查,直到检查获知更新的激活状态值中存在接受状态字节,则确定输入字符匹配成功。本发明实现使用SIMD指令进行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

    IPC分类号: G06F9/448 G06F18/22

    摘要: 本申请涉及自动机领域,提供一种非确定型有穷自动机生成方法、装置、设备及存储介质。所述方法包括:对待处理字符创建对应的状态后,为状态添加识别标识,待处理字符是待处理正则表达式中的特殊字符;在生成待处理正则表达式的非确定型有穷自动机NFA后,新增开始状态和结束状态,对带有识别标识的状态进行修正,开始状态用于标记使用NFA进行匹配时内容的开始位置,结束状态用于标记使用NFA进行匹配时内容的结束位置。通过引入特殊的状态集,以开始状态标记开始位置,以结束状态标记结束位置,通过使得NFA保持一致,从而节省NFA运行时,因为NFA图不一致导致的不必要的额外检查开销,提升NFA运行效率。