高性能防绕过关键词过滤的方法及系统与流程

文档序号:34945108发布日期:2023-07-29 00:42阅读:30来源:国知局
高性能防绕过关键词过滤的方法及系统与流程

本发明属于互联网信息交互,具体涉及一种高性能防绕过关键词过滤的方法及系统。


背景技术:

1、在互联网中,存在诸多场景需要向服务端提交数据,例如设置昵称,发表评论,发送弹幕和论坛发帖等,所以,服务端需要对大量数据进行识别处理。针对大量并发数据处理,关键词高效识别速度和系统响应时间是特别重要的性能指标。过滤关键词是对系统提交数据的一种检查技术手段,构建关键词库,然后判断提交的数据中能否匹配到关键词,如果能够匹配到关键词,需要对提交的数据进行处理,将匹配到的关键词屏蔽,从而得到不带有关键词等违规内容的数据,再进行发表等处理。

2、然而,通过遍历关键词库进行匹配的方式,在大量数据请求处理时,具有处理效率低的问题。另一种方法是使用优化过的有利于快速检索的结构化词库,比如树形结构,然后遍历提交的数据进行匹配,相对遍历词库内容长度大大减小,提高效率,但不能有效的识别其它字符混淆到关键词里的数据,容易被绕过。


技术实现思路

1、针对现有技术存在的缺陷,本发明提供一种高性能防绕过关键词过滤的方法及系统,可有效解决上述问题。

2、本发明采用的技术方案如下:

3、本发明提供一种高性能防绕过关键词过滤的方法,包括以下步骤:

4、步骤1,定义字符类型;

5、步骤2,将需要过滤的所有关键词生成字典树;在所述字典树中,假设任意关键词由n个字符按顺序组成,分别为:第0位置字符,第1位置字符,…,第n-1位置字符;则其在所述字典树中的表示方式为:由2n个节点按前后顺序级联形成,其中,2n个节点按前后顺序分别代表:第0位置字符的字符类型,第0位置字符,第1位置字符的字符类型,第1位置字符,…,第n-1位置字符的字符类型,第n-1位置字符;

6、步骤3,遍历需要检测的字符串,如果当前位置不存在字符,代表遍历字符串结束,检测结束;如果当前位置存在字符,读取当前字符chari,根据步骤1定义的字符类型,获得当前字符chari的字符类型typei,执行步骤4;

7、步骤4,在所述字典树中,判断能否匹配到与字符类型typei对应的节点,如果能,假设匹配到的节点为节点nodej,然后执行步骤5;如果不能,则执行步骤8;

8、步骤5,将检测状态设置为字典检测中状态,执行步骤6;

9、步骤6,在所述字典树中,定位到节点nodej的下一级直接连接的节点,表示为节点nodej+1,然后,判断节点nodej+1代表的字符是否与当前字符chari匹配,如果匹配,记录当前字符chari以及当前字符chari在字符串中的位置,然后执行步骤7;如果不匹配,则将检测状态设置为无检测状态,清空记录,字典树重置为初始状态,然后返回步骤3,遍历字符串的下一个字符;

10、步骤7,将检测状态设置为字典检测中状态;在所述字典树中,判断节点nodej+1是否具有下一级直接连接的节点,如果没有,表示字典树完结,检测结束;如果有,返回步骤3,遍历字符串的下一个字符;

11、步骤8,判断当前的检测状态,如果为字典检测中状态,则在字典树中当前定位到的节点位置保持不变,返回步骤3,遍历字符串的下一个字符;如果为无检测状态,则字典树重置为初始状态,然后返回步骤3,遍历字符串的下一个字符;

12、通过步骤3到步骤8,最终记录得到字符以及其在字符串中的位置,记录的各个字符按其在字符串中的位置排列后,形成字符序列,即为在被检测的字符串中,检测到的需要过滤的字符序列。

13、优选的,所述字符类型包括四种,分别为:汉字字符类型、英文字母字符类型、数字字符类型和其他字符类型。

14、优选的,所述英文字母字符类型,包括大写英文字母字符类型和小写英文字母字符类型。

15、本发明还提供一种高性能防绕过关键词过滤的系统,包括:

16、字符类型定义模块,用于定义字符类型;

17、字典树生成模块,用于将需要过滤的所有关键词生成字典树;在所述字典树中,假设任意关键词由n个字符按顺序组成,分别为:第0位置字符,第1位置字符,…,第n-1位置字符;则其在所述字典树中的表示方式为:由2n个节点按前后顺序级联形成,其中,2n个节点按前后顺序分别代表:第0位置字符的字符类型,第0位置字符,第1位置字符的字符类型,第1位置字符,…,第n-1位置字符的字符类型,第n-1位置字符;

18、防绕过关键词检测模块,用于采用以下方法,从需要检测的字符串中,识别出关键词:

19、步骤3,遍历需要检测的字符串,如果当前位置不存在字符,代表遍历字符串结束,检测结束;如果当前位置存在字符,读取当前字符chari,根据步骤1定义的字符类型,获得当前字符chari的字符类型typei,执行步骤4;

20、步骤4,在所述字典树中,判断能否匹配到与字符类型typei对应的节点,如果能,假设匹配到的节点为节点nodej,然后执行步骤5;如果不能,则执行步骤8;

21、步骤5,将检测状态设置为字典检测中状态,执行步骤6;

22、步骤6,在所述字典树中,定位到节点nodej的下一级直接连接的节点,表示为节点nodej+1,然后,判断节点nodej+1代表的字符是否与当前字符chari匹配,如果匹配,记录当前字符chari以及当前字符chari在字符串中的位置,然后执行步骤7;如果不匹配,则将检测状态设置为无检测状态,清空记录,字典树重置为初始状态,然后返回步骤3,遍历字符串的下一个字符;

23、步骤7,将检测状态设置为字典检测中状态;在所述字典树中,判断节点nodej+1是否具有下一级直接连接的节点,如果没有,表示字典树完结,检测结束;如果有,返回步骤3,遍历字符串的下一个字符;

24、步骤8,判断当前的检测状态,如果为字典检测中状态,则在字典树中当前定位到的节点位置保持不变,返回步骤3,遍历字符串的下一个字符;如果为无检测状态,则字典树重置为初始状态,然后返回步骤3,遍历字符串的下一个字符;

25、通过步骤3到步骤8,最终记录得到字符以及其在字符串中的位置,记录的各个字符按其在字符串中的位置排列后,形成字符序列,即为在被检测的字符串中,检测到的需要过滤的字符序列。

26、本发明提供的高性能防绕过关键词过滤的方法及系统具有以下优点:

27、本发明能够高效的对字符串进行检测,准确识别出字符串中的关键词,尤其当字符串中混淆其它字符时,仍然能够识别出字符串中的关键词,防止跳字符绕过。



技术特征:

1.一种高性能防绕过关键词过滤的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的高性能防绕过关键词过滤的方法,其特征在于,所述字符类型包括四种,分别为:汉字字符类型、英文字母字符类型、数字字符类型和其他字符类型。

3.根据权利要求2所述的高性能防绕过关键词过滤的方法,其特征在于,所述英文字母字符类型,包括大写英文字母字符类型和小写英文字母字符类型。

4.一种高性能防绕过关键词过滤的系统,其特征在于,包括:


技术总结
本发明提供一种高性能防绕过关键词过滤的方法及系统,方法包括:定义字符类型;将需要过滤的所有关键词生成字典树;通过字典树,识别需要检测的字符串中的关键词。本发明能够高效的对字符串进行检测,准确识别出字符串中的关键词,尤其当字符串中混淆其它字符时,仍然能够识别出字符串中的关键词,防止跳字符绕过。

技术研发人员:李兴平,陈旺科,许明堂,黄敬平
受保护的技术使用者:四三九九网络股份有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1