返回列表 发帖
在这个标题下不断离题回帖的确是不妥,不过我怕如果另开新帖,一来大家对初级用户、新标题比较陌生,二来没有上下文,讨论兴致也上不来,所以我只好赖皮继续回帖,希望版主容忍一次吧。

根据计数器自动删除规则的想法,只是我最近用Firefox的Adblock的心得而已。本来新版本Adblock加上这个功能,我原来也以为是花哨功能,看过滤掉的次数有什么用呢?

但是一个多月后,我偶尔看了下过滤计数,发觉有三条规则的计数总和上万,几乎占了过滤总数的95%以上,而有3条则为0。结果我很自然就是把这三条按计数顺序排在最前,然后把那3条1个月都没生效过一次的规则删掉(当然我认出那是几个我再也不会去的网站的规则),相信换作是你,你也会这么做。可惜鉴于我的机器还算是不差(超频的AMD 64 2500+,1G内存),速度方面差别感觉不到,但是相信对于机器不好的人,这样处理就应该会有用。

所以我才有这个念头,当然规则删除的自动化是比较符合我个人处理习惯,即使可以设置阀值等参数,但也不一定能适应各种情况,所以不少人觉得不稳妥。其实手工删除、排序也不算麻烦,反正能有多少次呢。但是它们都需要基于计数器这个功能,个人认为最低限度,计数器这个功能应该需要的。

当然自动化功能对于不少新手也可以算是人性化设计,也许搭配自动更新的规则库功能,可以成为自适应的过滤系统。若是为了简洁,或者把自动化作为插件接口留待他人实现。

另外下面是更异想天开的想法,大家可以不看,非要看的不要骂我。
万一实现了计数器,而作者希望更好的、更与众不同结果:
其实简单的计数并不精确,因为规则匹配的时间其实也很重要,就是说 最近匹配的比较频繁的规则 应该比 只是以前匹配的比较频繁的规则 更为优先。那么可以参考使用统计学里的移动平均、方差的方法,利用时间间隔的倒数作为一个因素,相信能得出更为合理的指标。

[ 本帖最后由 zlowly 于 2006-5-11 03:13 AM 编辑 ]

TOP

计数器功能很多广告过滤软件都有提供,计数统计可以让用户知道哪些过滤规则比较常用,哪些比较少用,比较少用的用户可以手动移除或保留,这里真正决定哪些规则可以被移除的是用户而不是过滤系统,因为过滤系统无法知道那条很少用到的规则是否真的无用。

  1. 通配符当然有关系。我们可以使用通配符来满足某站点的过滤或者不过滤。比如*/ggao/*和http://www.crsky.com/ggao/*。

  2. 针对每一个站点不是好办法。它同样需要匹配计算。比如我们打开一个页面,需要核对列表,存在的项目都要核对。这个办法不能有效减少核对过程。

  3. 类似于病毒库也不理想。因为每个人登陆的站点都不一样,适合自己的过滤条件不一定适合别人。过滤追求的就是最小的代码最大的效果。亢长的过滤名单会导致打开网页有卡的感觉。
复制代码


*/ggao/*和http://www.crsky.com/ggao/* 这样的条件是对所有网站有效的,对于过滤系统来说http://www.crsky.com/ggao/*只是一条普通的过滤规则,不是一个网站。

针对网站的话,网站域名可以用索引排序和二分法算法来解决(跟浏览器的Cookie系统差不多),速度比你一大堆过滤规则匹配一次要快的多。

最后偶再说一遍,过滤库的概念是针对网站的,过滤时只有该网站的规则参与匹配过程。也就是说只有当你访问crsky.com时*/ggao/*和http://www.crsky.com/ggao/* 这样的规则才会参与匹配。

[ 本帖最后由 linser 于 2006-5-11 08:58 AM 编辑 ]

TOP

针对网站的过滤库其实也是不错的,避免了庞大的过滤库中所有规则参与匹配的弊端。
不过由于过滤库通常规模都相当大,由用户个人维护都会比较吃力,最适合的都是做成网上自动更新,众人维护的方式为好,但是这样涉及的功能就会很多了,TW还能否保持其简洁性就很难说了,而且作者能否有精力做得这么细也难说。
如果借鉴Firefox做法,将URL的处理作为接口,将过滤系统作为插件,不知道好不好。

TOP

忽视了一个问题。

一个站点能有几个需要过滤的项目呢?霏凡软件,就ggao,天空软件,也就1-2个。按站点分的话,工程实在太浩大,而且可以说,相当大部分对一般用户也没什么作用。我个人的全部过滤项目,也才30条左右。按站点分没有太大必要。

其次,就算按站点分,zlowly朋友说的也有用。因为用户需要删除不必要的啊。
260 字节以内
不支持自定义 Discuz! 代码

TOP

返回列表