免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2641 | 回复: 1
打印 上一主题 下一主题

【开源】基于trie树的多线程、多级别的web2.0的动态数据过滤服务 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-02 06:34 |只看该作者 |倒序浏览
在WEB2.0类型的互联网产品中(如论坛、SNS),数据是由用户动态提交的,在用户提交的这些数据中,有一些是非法的,还有一些是对产品功能无益甚至有害的(如广告贴等)。
       要将这些无益的数据自动的屏蔽在WEB2.0的产品之外,就需要在用户提交数据的时候,对数据按照一定的规则进行动态过滤。对文本数据进行规则匹配的最灵活方法是采用正则表达式。但,在实际的产品环境中,由于需要过滤的词、句可能非常多,可能几千、几万,在这种情况下正则表达式的方式是非常低效的。
      基于当前的需求,CWINXU开发了一个过滤系统,其具有如下的功能:
        支持多过滤器
            每个过滤器有自己的名字与ID,过滤的时候可以指定过滤器的名字,也可以指定过滤器的ID。
            系统支持的过滤器的数量取决于机器的硬件资源。

        可以针对过滤器配置过滤词
           过滤词的数量取决于系统的硬件资源。
        每个过滤器中配置的过滤词,可以分为1~8共8个LEVEL。
          在过滤的时候,返回内容中最高级别的过滤LEVEL。
        不同level的词位于不同的配置文件中
          在配置文件中,每一行就是一个过滤词。
        每个过滤器可以单独配置stopword
          stopword的功能是防止用户为穿越过滤器而对发的内容添加附加字符。若:【法轮功】是非法词,已经被过滤而无法发  送;但用户为了穿透过滤,可能会发送【法@轮#功】。在此情况下,只要将【@】与【#】配置到stopword的文件中,则【法轮功】==【法@轮#功】
        采用trie树方式的多路过滤
          过滤服务采用压缩格式的trie树,实现内容的过滤过滤,具有非常高的过滤效率。
        返回的过滤LEVEL的同时,会同时返回此Level对应的过滤词。
        支持UTF-8与GBK两种编码格式的内容
        过滤规则支持是否大小写敏感。
        支持TCP与unix的连接方式,接收过滤内容。
        支持多线程并发过滤
        线程的数量可以配置

程序的下载地址为:www.sourceforge.net/projects/cwinux
程序演示:www.cwinux.net/filter
程序的演示说明帖子:http://www.cwinux.net/thread-41-1-1.html

[ 本帖最后由 cwinux_1 于 2009-12-2 06:38 编辑 ]
msingle 该用户已被删除
2 [报告]
发表于 2009-12-21 09:17 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP