高性能防绕过关键词过滤的方法及系统技术方案

技术编号:38329640 阅读:16 留言:0更新日期:2023-07-29 09:12
本发明专利技术提供一种高性能防绕过关键词过滤的方法及系统,方法包括:定义字符类型;将需要过滤的所有关键词生成字典树;通过字典树,识别需要检测的字符串中的关键词。本发明专利技术能够高效的对字符串进行检测,准确识别出字符串中的关键词,尤其当字符串中混淆其它字符时,仍然能够识别出字符串中的关键词,防止跳字符绕过。过。过。

【技术实现步骤摘要】
高性能防绕过关键词过滤的方法及系统


[0001]本专利技术属于互联网信息交互
,具体涉及一种高性能防绕过关键词过滤的方法及系统。

技术介绍

[0002]在互联网中,存在诸多场景需要向服务端提交数据,例如设置昵称,发表评论,发送弹幕和论坛发帖等,所以,服务端需要对大量数据进行识别处理。针对大量并发数据处理,关键词高效识别速度和系统响应时间是特别重要的性能指标。过滤关键词是对系统提交数据的一种检查技术手段,构建关键词库,然后判断提交的数据中能否匹配到关键词,如果能够匹配到关键词,需要对提交的数据进行处理,将匹配到的关键词屏蔽,从而得到不带有关键词等违规内容的数据,再进行发表等处理。
[0003]然而,通过遍历关键词库进行匹配的方式,在大量数据请求处理时,具有处理效率低的问题。另一种方法是使用优化过的有利于快速检索的结构化词库,比如树形结构,然后遍历提交的数据进行匹配,相对遍历词库内容长度大大减小,提高效率,但不能有效的识别其它字符混淆到关键词里的数据,容易被绕过。

技术实现思路

[0004]针对现有技术存在的缺陷,本专利技术提供一种高性能防绕过关键词过滤的方法及系统,可有效解决上述问题。
[0005]本专利技术采用的技术方案如下:
[0006]本专利技术提供一种高性能防绕过关键词过滤的方法,包括以下步骤:
[0007]步骤1,定义字符类型;
[0008]步骤2,将需要过滤的所有关键词生成字典树;在所述字典树中,假设任意关键词由n个字符按顺序组成,分别为:第0位置字符,第1位置字符,

,第n

1位置字符;则其在所述字典树中的表示方式为:由2n个节点按前后顺序级联形成,其中,2n个节点按前后顺序分别代表:第0位置字符的字符类型,第0位置字符,第1位置字符的字符类型,第1位置字符,

,第n

1位置字符的字符类型,第n

1位置字符;
[0009]步骤3,遍历需要检测的字符串,如果当前位置不存在字符,代表遍历字符串结束,检测结束;如果当前位置存在字符,读取当前字符char
i
,根据步骤1定义的字符类型,获得当前字符char
i
的字符类型type
i
,执行步骤4;
[0010]步骤4,在所述字典树中,判断能否匹配到与字符类型type
i
对应的节点,如果能,假设匹配到的节点为节点node
j
,然后执行步骤5;如果不能,则执行步骤8;
[0011]步骤5,将检测状态设置为字典检测中状态,执行步骤6;
[0012]步骤6,在所述字典树中,定位到节点node
j
的下一级直接连接的节点,表示为节点node
j+1
,然后,判断节点node
j+1
代表的字符是否与当前字符char
i
匹配,如果匹配,记录当前字符char
i
以及当前字符char
i
在字符串中的位置,然后执行步骤7;如果不匹配,则将检测状
态设置为无检测状态,清空记录,字典树重置为初始状态,然后返回步骤3,遍历字符串的下一个字符;
[0013]步骤7,将检测状态设置为字典检测中状态;在所述字典树中,判断节点node
j+1
是否具有下一级直接连接的节点,如果没有,表示字典树完结,检测结束;如果有,返回步骤3,遍历字符串的下一个字符;
[0014]步骤8,判断当前的检测状态,如果为字典检测中状态,则在字典树中当前定位到的节点位置保持不变,返回步骤3,遍历字符串的下一个字符;如果为无检测状态,则字典树重置为初始状态,然后返回步骤3,遍历字符串的下一个字符;
[0015]通过步骤3到步骤8,最终记录得到字符以及其在字符串中的位置,记录的各个字符按其在字符串中的位置排列后,形成字符序列,即为在被检测的字符串中,检测到的需要过滤的字符序列。
[0016]优选的,所述字符类型包括四种,分别为:汉字字符类型、英文字母字符类型、数字字符类型和其他字符类型。
[0017]优选的,所述英文字母字符类型,包括大写英文字母字符类型和小写英文字母字符类型。
[0018]本专利技术还提供一种高性能防绕过关键词过滤的系统,包括:
[0019]字符类型定义模块,用于定义字符类型;
[0020]字典树生成模块,用于将需要过滤的所有关键词生成字典树;在所述字典树中,假设任意关键词由n个字符按顺序组成,分别为:第0位置字符,第1位置字符,

,第n

1位置字符;则其在所述字典树中的表示方式为:由2n个节点按前后顺序级联形成,其中,2n个节点按前后顺序分别代表:第0位置字符的字符类型,第0位置字符,第1位置字符的字符类型,第1位置字符,

,第n

1位置字符的字符类型,第n

1位置字符;
[0021]防绕过关键词检测模块,用于采用以下方法,从需要检测的字符串中,识别出关键词:
[0022]步骤3,遍历需要检测的字符串,如果当前位置不存在字符,代表遍历字符串结束,检测结束;如果当前位置存在字符,读取当前字符char
i
,根据步骤1定义的字符类型,获得当前字符char
i
的字符类型type
i
,执行步骤4;
[0023]步骤4,在所述字典树中,判断能否匹配到与字符类型type
i
对应的节点,如果能,假设匹配到的节点为节点node
j
,然后执行步骤5;如果不能,则执行步骤8;
[0024]步骤5,将检测状态设置为字典检测中状态,执行步骤6;
[0025]步骤6,在所述字典树中,定位到节点node
j
的下一级直接连接的节点,表示为节点node
j+1
,然后,判断节点node
j+1
代表的字符是否与当前字符char
i
匹配,如果匹配,记录当前字符char
i
以及当前字符char
i
在字符串中的位置,然后执行步骤7;如果不匹配,则将检测状态设置为无检测状态,清空记录,字典树重置为初始状态,然后返回步骤3,遍历字符串的下一个字符;
[0026]步骤7,将检测状态设置为字典检测中状态;在所述字典树中,判断节点node
j+1
是否具有下一级直接连接的节点,如果没有,表示字典树完结,检测结束;如果有,返回步骤3,遍历字符串的下一个字符;
[0027]步骤8,判断当前的检测状态,如果为字典检测中状态,则在字典树中当前定位到
的节点位置保持不变,返回步骤3,遍历字符串的下一个字符;如果为无检测状态,则字典树重置为初始状态,然后返回步骤3,遍历字符串的下一个字本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高性能防绕过关键词过滤的方法,其特征在于,包括以下步骤:步骤1,定义字符类型;步骤2,将需要过滤的所有关键词生成字典树;在所述字典树中,假设任意关键词由n个字符按顺序组成,分别为:第0位置字符,第1位置字符,

,第n

1位置字符;则其在所述字典树中的表示方式为:由2n个节点按前后顺序级联形成,其中,2n个节点按前后顺序分别代表:第0位置字符的字符类型,第0位置字符,第1位置字符的字符类型,第1位置字符,

,第n

1位置字符的字符类型,第n

1位置字符;步骤3,遍历需要检测的字符串,如果当前位置不存在字符,代表遍历字符串结束,检测结束;如果当前位置存在字符,读取当前字符char
i
,根据步骤1定义的字符类型,获得当前字符char
i
的字符类型type
i
,执行步骤4;步骤4,在所述字典树中,判断能否匹配到与字符类型type
i
对应的节点,如果能,假设匹配到的节点为节点node
j
,然后执行步骤5;如果不能,则执行步骤8;步骤5,将检测状态设置为字典检测中状态,执行步骤6;步骤6,在所述字典树中,定位到节点node
j
的下一级直接连接的节点,表示为节点node
j+1
,然后,判断节点node
j+1
代表的字符是否与当前字符char
i
匹配,如果匹配,记录当前字符char
i
以及当前字符char
i
在字符串中的位置,然后执行步骤7;如果不匹配,则将检测状态设置为无检测状态,清空记录,字典树重置为初始状态,然后返回步骤3,遍历字符串的下一个字符;步骤7,将检测状态设置为字典检测中状态;在所述字典树中,判断节点node
j+1
是否具有下一级直接连接的节点,如果没有,表示字典树完结,检测结束;如果有,返回步骤3,遍历字符串的下一个字符;步骤8,判断当前的检测状态,如果为字典检测中状态,则在字典树中当前定位到的节点位置保持不变,返回步骤3,遍历字符串的下一个字符;如果为无检测状态,则字典树重置为初始状态,然后返回步骤3,遍历字符串的下一个字符;通过步骤3到步骤8,最终记录得到字符以及其在字符串中的位置,记录的各个字符按其在字符串中的位置排列后,形成字符序列,即为在被检测的字符串中,检测到的需要过滤的字符序列。2.根据权利要求1所述的高性能防绕过关键词过滤的方法,其特征在于,所述字符类型包括四种,分别为:汉字字符类型、英文字母字符类型、数字字符类型和其他字符类型。3.根据权利要求2所述的高性能防绕过关键词过滤的方...

【专利技术属性】
技术研发人员:李兴平陈旺科许明堂黄敬平
申请(专利权)人:四三九九网络股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1