发明名称 一种快速查询黑白名单的系统及方法
摘要 本发明公开了一种快速查询黑白名单的系统,包括用于查询黑白名单中是否包括待测试关键字的查询单元,还包括:数组创建单元,用于将黑白名单中的所有关键字分别作运算后根据运算值生成数组;数组存储单元,用于存储所述数组创建单元创建的数组;匹配单元,用于将待测试关键字作运算后将所述待测试关键字的运算值与所述数组存储单元中的数组进行比对,并在待测试关键字的运算值与所述数组匹配时,使查询单元查询黑白名单中是否存在待测试关键字。本发明还提供一种对应的方法。本发明通过待测试关键字的哈希值比对后再查询黑白名单,减少了查询过程中对数据库中黑白名单的访问,实现了快速判定待测试关键字的黑白名单状态。
申请公布号 CN100489853C 申请公布日期 2009.05.20
申请号 CN200610064555.8 申请日期 2006.12.28
申请人 腾讯科技(深圳)有限公司 发明人 邓君
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 深圳市顺天达专利商标代理有限公司 代理人 郭伟刚;蔡晓红
主权项 1、一种快速查询黑白名单的系统,包括用于查询黑白名单中是否包括待测试关键字的查询单元,其特征在于,还包括:数组创建单元,用于将黑白名单中的所有关键字分别作运算后根据运算值生成数组;数组存储单元,用于存储所述数组创建单元创建的数组;匹配单元,用于将待测试关键字作运算后将所述待测试关键字的运算值与所述数组存储单元中的数组进行比对,并在待测试关键字的运算值与所述数组匹配时,使查询单元查询黑白名单中是否存在待测试关键字;其中所述数组创建单元进一步包括:数组生成单元,用于生成数组,所述生成的数组的每一位都为0;第一运算单元,用于依次将黑白名单中的每一关键字作运算;第一拆分单元,用于将所述运算所得运算值的多个字节拆分为多组数值;数组维护单元,用于将所述数组中与所述第一拆分单元拆分获得的多组数值对应的位分别设置为1;所述匹配单元进一步包括:第二运算单元,用于将待测试关键字作运算;第二拆分单元,用于将待测试关键字运算值的多个字节拆分为多组数值;比较单元,分别查询并判断所述数组中与拆分待测试关键字的运算值获得的多组数值对应的位是否为1,若所述数组中所有对应的位都为1,则确定待测试关键字的运算值与所述数组匹配,使查询单元查询黑白名单中是否存在待测试关键字;所述系统还包括关键字拆分单元,用于在所述比较单元判断数组中对应的位中包括0且待测试关键字可拆分时,或者在查询单元确认所述待测试关键字不存在于黑白名单中且待测试关键字可拆分时,拆分所述待测试关键字,并使所述匹配单元将拆分后的待测试关键字的运算值进行拆分并与数组进行匹配,所述黑白名单中的关键字及待测试关键字为URL、域名或通配符替换后的域名。
地址 518057广东省深圳市高新科技园南区高新南一道飞亚达高科技大厦5-10层