一种在即时通信系统中处理垃圾消息的方法

文档序号:7974829阅读:198来源:国知局
专利名称:一种在即时通信系统中处理垃圾消息的方法
一种在即时通信系统中处理垃:敗消息的方法技术领城本发明涉及即时通信系统,尤其涉及即时通信系统中的垃圾消息。
技术背景目前,在即时通信系统中总会有一定数量的恶意用户,通过各种不同手段向 其客户端发送大量的垃圾信息,不仅给即时通信系统中的服务器增加了额外的负 担,也给处于客户端的用户造成了极其恶劣的影响。
一方面,在现有技术中即时 通信系统为防止垃圾消息,利用客户端所在机器上注册表、环境变量的标识来限制软件打开的个数(如每台电脑只允许两个QQ同时登录)和每天ID的登录次数。 但是,这种处理方式经常会被恶意用户破解,他们通过修改所在机器上的环境变 量和注册表的数值跳过了系统对于防止垃圾消息的约束。另一方面,即时通信系统为屏蔽已经发出的垃圾消息,通常采用基于简单关 键字匹配的过滤方式,当消息内容中出现与关键字词典中相同的短语时,即认定 为此消息为垃圾消息。但是,恶意用户在察觉以后,会通过在关键字中间插入特 殊字符的方式而逃避系统中服务器的过滤和屏蔽。这种单一式的过滤方式在屏蔽 垃圾消息时的成功率也很低。发明内容针对即时通信系统中处理垃圾消息时所存在的上述缺陷,本发明提供了 一种 在即时通信系统中处理垃圾消息的方法。按照本发明的一个方面,提供了 一种在即时通信系统中防止垃圾消息的方法。 其中,包括下列步骤一个服务器从一个客户端接收一个登录请求,该登录请求包含一个与用户相 关联的用户标识符和一个与该客户端相关联的识别码;根据该客户端在一个预设时间周期内先前登录该服务器所用的用户标识符的 数量,确定登录请求内的用户标识符是否可用;以及如果该登录请求内的用户标识符可用,则服务器根据与相关联的用户在预设 时间周期内的即时通信量的大小,控制其对即时通信服务的使用。其中,即时通信量包括相关联的用户在预设时间周期内新添加的好友人数和/ 或相关联的用户在预设时间周期内向新添加的好友发送消息的数量,进一步,该 预设时间周期是1天,但决不仅仅限于1天;其中,即时通信量的控制方式为,若新添加的好友人数超过一个预先设定值, 则服务器禁止相关联的用户添加好友;若向新添加的好友发送消息的数量超过一 个预先设定值,则服务器停止转发向新添加好友发送的消息。进一步,允许添加 好友人数的预先设定值和允许向好友发送消息的数量的预先设定值均设置为动态 输入;其中,与客户端相关联的识别码是由客户端根据所在机器的硬件配置信息生 成并加密后发送到服务器的,进一步,该硬件配置信息可以是所在机器的硬盘序 列号和/或网卡序列号。按照本发明的又一个方面,提供了 一种在即时通信系统中屏蔽垃圾消息的方 法。其中,包括下列步骤一个服务器根据一条垃圾消息的消息长度判断其消息类型;该服务器对不同消息类型的垃圾消息作不同的处理。从即时通信系统中消息内容的商业价值来看,目前所有的垃圾消息分为两种, 一种是无商业价值的垃圾消息,可能是无聊的玩笑或者寥寥数字的信息; 一种是 有商业价值的商业性推广, 一般包括丰富的推广信息和联系方式。如果我们预先 定义两个消息长度A和B(其中预先设定的消息长度A<B),则按照消息的长度可 将垃圾消息分为三类,即曱类消息消息长度〈A乙类消息A<=消息长度< B丙类消息B<=消息长度在上述的三类垃圾消息中,曱类消息没有商业价值,可以对其不进行过滤处 理;乙类消息存在一定的商业推广价值,对其进行基于简单关键字匹配的字典过 滤;丙类消息存在很高的商业推广价值,对其首先进行基于简单关键字匹配的字 典过滤,并将与该字典中的简单关键字匹配的垃圾消息直接予以过滤和屏蔽,其
次将字典过滤结果中不匹配的垃圾消息进行复杂组合逻辑过滤。以下分别对字典 过滤和复杂组合逻辑过滤作以详细的描述。在字典过滤方式中,将含有简单关键字字库的字典用一棵树的形式进行组织,如图5(a)所示,在同一层中有线相连的,如a、 b、 c称为兄弟关系;上下级之 间有线相连的,称为父子关系,子节点的所有兄弟也与父节点之间存在父子关系 (如a和D存在父子关系,但a与e没有父子关系);没有儿子的节点称为叶子(图 5(a)中大写字母表示)。从r开始通过父子关系到达叶子,将所经过的节点连起来 就组成了某个短语条目R卜如图5(a)中包含短语acbA, acE, aD, beG, cbeF, cfD。对于任意一个字符串,依次取出一个字符,从r开始往下走,如果能达到 叶子,则说明某个短语匹配成功。如字符串S = kcbefore,第一层中未出现k, 取下一个字符c,于是从c开始,沿b、 e最终到达f, f为叶子,则短语匹配成 功;字符串S = acbefor时,可以看到从图5(a)中的a开始,走到字符b时无路 可走,会出现短语匹配失败的情况,而实际上cbef是一个正确的短语匹配。如 图5(b)所示,解决的方法是引入一个新的指针,指向当前节点匹配失败时需要进 行短语匹配比较的下一个节点。对于字符串S-acbefor,将b节点指向最右边 的b节点,然后从右边的b节点开始,就可以让短语匹配成功。如图5(c)所示, 如果从r开始到当前节点组成一个串A,2As......An,每次去掉串中的第一个字符,得到一个新的字符串r',若r'在图中出现,则让An指向新匹配字符串的串尾。 如对于左边b节点,我们得到串acb,去掉第一个字符,得到cb,因在图中 是可以匹配到cb的,则让左边b节点指向右边b节点。如果把所有的A全部去 掉仍然未能在图中找到匹配,则将An指向r,表示要重新开始匹配。至此,检索树生成完毕。对于固定的关键字字典,可以得到固定的检索树。 则检索树的生成是仅当初次加栽时或字典改变时进行,而对字符串S的匹配, 显然只需要扫描一次。在复杂组合逻辑过滤方式中,根据系统设定的特殊字符字典,去除字符串中 间可能的特殊字符,再到上述字典过滤方式中进行简单关键字的匹配。更具体地, 将字典中所有规则的所有短句生成检索树,用字典过滤方式得到与字符串S相 匹配的短句,并判断这些短句的组合是否满足字典中的规则。预先定义规则中的 "与"条件连接起来的子条件不超过32个,则我们可以简单地用一个32位整 凄fc来表示这个规则,每一位对应一个条件。如(A,B)CDE,有4个条件,我们
就可以用0000 0000 0000 0000 0000 0000 0000 1111表示。如果某个短语匹 配成功,则将该短语对应的位置为0,当所有的位都被置为0,则说明所有的"与"条件均被满足,即判断符合字典中的规则并对该垃圾消息予以过滤和屏蔽。不难 看出,所有括号中的"或"条件关联的短语均对应着同一个位,只要其中的任意一个匹配成功,都会使该位置为0。我们若记录(1) 规则字 一个规则有多少个"与"条件连接的子条件,则相应就有多少位 被置成1;(2) 每个短语在每个出现该短语的规则中对应的位。则在扫描字符串S的过程中,若发现匹配了一个短语Ri,则将每个出现该短 语的规则中的规则字对应的位置成0,直至某个规则字等于0。该算法也只需扫 描匹配字符串S—次,如果某个短语在多个规则中出现,则需要同时修改多个 规则字。采用本发明的处理方法,可有效地防止垃圾消息在即时通信系统中的大量发 送,对于已经发出的垃圾消息,该即时通信系统中的服务器采用系统化的处理方 案进行过滤和屏蔽,也将垃圾消息对于系统的危害降到最低程度。附困说明读者在参照附图阅读了本发明的具体实施方式
以后,将会更清楚地了解本发 明的各个方面。其中,

图1示出了用户登录处理的时序图;图2示出了阻止垃圾消息时不同控制方式的处理流程图,进一步,图2(a)为 控制新添加好友的人数的流程示意图,图2(b)为控制向好友发送消息的数量的流 程示意图;图3示出了阻止垃圾消息时服务器是否允许用户登录的流程图;图4示出了采用系统化方案对垃圾消息进行过滤和屏蔽的流程图;而图5示出了屏蔽垃圾消息时采用字典过滤方式的规则示意图。
具体实施方式
下面参照附图,对本发明的具体实施方式
作进一步的详细描述。 图1示出了即时通信系统中的用户登录处理的时序图。参照图1,即时通信 系统的服务器在其数据库中为每个用户均建立一个数据记录,以保存当天新添加 好友的人数和向好友发送消息的数量。当用户向该服务器请求登录时,如果登录 请求内的用户标识符可用,则服务器根据与相关联的用户在当天的即时通信量的 大小来控制用户对即时通信服务的使用。进一步,其控制即时通信量的方式主要分为如果新添加的好友人数超过预先设定的上限数值,则所述服务器禁止相关 联的该用户添加好友;如果向新添加的好友发送消息的数量超过预先设定的上限 值,则服务器停止转发向好友发送的消息。图2示出了阻止垃圾消息时不同控制方式的处理流程图,进一步,图2(a)为 控制新添加好友的人数的流程示意图,图2(b)为控制向好友发送消息的数量的流 程示意图。结合图1和图2,当用户向服务器发送添加好友请求或者向陌生人发 送消息的请求时,服务器经数据库查看该用户当天已经添加的好友数目或者已经 向陌生人发送消息的条数,并将上述两个数值与各自预先设定的上限数值相比 较。更具体地,当添加好友的数目还没有达到预先设定的上限数值时,将保存在 数据库中的添加好友的数目增1,允许该用户继续添加好友,否则,该用户ID 不允许再添加好友;当向陌生人发送消息的条数还没有达到预先设定的上限数值 时,将保存在数据库中的向陌生人发送消息的条数增1,允许该用户继续向陌生 人发送消息,否则,该用户ID不允许再向陌生人发送消息。图3示出了阻止垃圾消息时服务器是否允许用户登录的流程图。参照图3, 用户向服务器发送登录请求时,服务器在其数据库中读取与该用户相关联的用户 标识符和与客户端相关联的识别码。当该用户已在所在机器上登录过时,服务器 允许用户登录系统;当该用户不曾登录,并且没有达到预先设定的允许登录的不 同用户数量的上限数值时,服务器允许用户登录系统,同时更新其数据库中的用 户列表,否则,所在机器的该用户虽允许登录,但不允许向好友发送消息。更具 体地,与客户端相关联的识别码用来唯一标识所在的机器,其可以由所在机器的 客户端根据其硬件配置信息生成并加密,而其硬件配置信息可以是硬盘序列号和 /或网卡序列号。图4示出了采用系统化方案对垃圾消息进行过滤和屏蔽的流程图。参照图4, 该系统化方案包含字典过滤方式和复杂组合逻辑过滤方式。我们预先定义两个消 息长度A和B(A<B),其具体的实现流程可用如下步骤表述 (1) 依据垃圾消息的长度判断消息类型,当消息长度小于A时,表明该消息不 是垃圾消息,也就不作相应的过滤处理;(2) 当消息长度大于A并且小于B时,将消息进行整形处理,并采用字典过 滤的方式对其进行处理,若字典中的简单关键字与该消息中的短语匹配成功,则 该消息为垃圾消息,否则,该消息不是垃圾消息;(3) 当消息长度大于B时,首先利用系统设定的特殊字符字典,去除字符串中 间可能的特殊字符,并采用字典过滤的方式对其进行处理,若字典中的简单关鍵 字与该消息中的短语匹配成功,则直接予以过滤和屏蔽;(4) 如上述步骤(3)中采用字典过滤方式时,字典中的简单关键字与该消息中的 短语匹配不成功,则采用复杂组合逻辑过滤的方式对其继续进行处理,若按照规 定的算法发现该消息中的短语不包括过滤数据时,则该消息不是址圾消息,否则, 该消息是垃圾消息。图5示出了屏蔽垃圾消息时采用字典过滤方式的规则示意图。参照图5,在 字典过滤方式中,将含有关键字库的字典用一棵树的形式进行组织,如图5(a)所 示,在同一层中有线相连的,如a、 b、 c称为兄弟关系;上下级之间有线相连 的,称为父子关系,子节点的所有兄弟也与父节点之间存在父子关系(如a和D 存在父子关系,但a与e没有父子关系);没有儿子的节点称为叶子(图5(a)中大 写字母表示)。从r开始通过父子关系到达叶子,将所经过的节点连起来就组成 了某个短语条目R卜如图5(a)中包含短语acbA, acE, aD, beG, cbeF, cfD。对 于任意一个字符串,依次取出一个字符,从r开始往下走,如果能达到叶子,则 说明某个短语匹配成功。如字符串S-kcbefore,第一层中未出现k,取下一 个字符c,于是从c开始,沿b、 e最终到达f, f为叶子,则短语匹配成功;字 符串S = acbefor时,可以看到从图5(a)中的a开始,走到字符b时无路可走, 会出现短语匹配失败的情况,而实际上cbef是一个正确的短语匹配。如图5(b) 所示,解决的方法是引入一个新的指针,指向当前节点匹配失败时需要进行短语 匹配比较的下一个节点。对于字符串S-acbefor,将b节点指向最右边的b节 点,然后从右边的b节点开始,就可以让短语匹配成功。如图5(g)所示,如果从 r开始到当前节点组成一个串A^2八3......An,每次去掉串中的第一个字符,得到一个新的字符串r',若r'在图中出现,则让A。指向新匹配字符串的串尾。如对 于左边b节点,我们得到串acb,去掉第一个字符,得到cb,因在图中是可以
匹配到cb的,则让左边b节点指向右边b节点。如果把所有的Ai全部去掉仍然 未能在图中找到匹配,则将A。指向r,表示要重新开始匹配。至此,检索树生成完毕。对于固定的关键字字典,可以得到固定的检索树。 则检索树的生成是仅当初次加载时或字典改变时进行,而对字符串S的匹配, 显然只需要扫描一次。上文中,参照附图描述了本发明的具体实施方式
。但是,本领域中的普通技 术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具 体实施方式中的识别码和垃圾消息的类型等作各种变更和替换。这些变更和替换 都落在本发明权利要求书所限定的范围内。
权利要求
1. 一种在即时通信过程中阻止垃圾消息发送的方法,其中,包含下列步骤一个服务器从一个客户端接收一个登录请求,所述登录请求包含一个与用户相关联的用户标识符和一个与该客户端相关联的识别码;根据该客户端在一个预设时间周期内先前登录所述服务器所用的用户标识符的数量,确定所述登录请求内的用户标识符是否可用;以及如果所述登录请求内的用户标识符可用,则所述服务器根据与所述相关联的用户在所述预设时间周期内的即时通信量的大小,控制其对即时通信服务的使用。
2. 如权利要求1所述的方法,其中,所述即时通信量包括所述相关联的用户 在所述预设时间周期内新添加的好友人数和/或所述相关联的用户在所述预设时 间周期内向新添加的好友发送消息的数量。
3. 如权利要求2所述的方法,其中,对所述即时通信量的控制方式为,如果 所述新添加的好友人数超过一个预先设定值,则所述服务器禁止所述相关联的用 户添加好友。
4. 如权利要求2或3所述的方法,其中,对所述即时通信量的控制方式为, 如果所述向新添加的好友发送消息的数量超过一个预先设定值,则所述服务器停 止转发向新添加好友发送消息。
5. 如权利要求1所述的方法,其中,所述预设时间周期为1天。
6. 如权利要求1所述的方法,其中,所述识别码由客户端根据其硬件配置信 息生成并加密后发送至所述服务器。
7. 如权利要求6所述的方法,其中,所述硬件配置信息为硬盘序列号和/或 网卡序列号。
8. —种在即时通信过程中屏蔽垃圾消息的方法,其中,包括下列步骤 一个服务器根据一条垃圾消息的长度判断其消息类型; 所迷服务器对不同消息类型的垃圾消息进行处理如果其消息长度在第一预先设定值和第二预先设定值之间,则从所述服务器的数据库中调用含匹配关键 字的字典,并对与所述字典中关键字相匹配的所述垃圾消息进行过滤和屏蔽,其中,所述第一预先设定值小于所述第二预先设定值。
9. 如权利要求8所述的方法,其中,将所述消息长度小于所述第一预先设定 值的垃圾消息称为甲类消息,将所述消息长度在所述第一预先设定值和所述第二 预先设定值之间的垃圾消息称为乙类消息。
10. 如权利要求8所述的方法,其中,所述含匹配关键字的字典、所述第一 预先设定值和所述第二预先设定值均设置为动态输入方式。
11. 一种在即时通信过程中屏蔽垃圾消息的方法,其中,包括下列步骤 一个服务器根据 一条垃圾消息的长度判断其消息类型; 所述服务器对不同消息类型的垃圾消息进行处理如果其消息长度大于第二预先设定值,则首先从所述服务器的数据库中调用含匹配关键字的字典,并 对与所述字典中关键字相匹配的所述垃圾消息进行过滤和屏蔽;其次对所述字典 匹配结果中的非匹配的所述垃圾消息进行复杂组合逻辑过滤。
12. 如权利要求11所述的方法,其中,将所述消息长度大于所述第二预先设 定值的垃圾消息称为丙类消息。
13. 如权利要求11所述的方法,其中,利用所述字典和/或所述复杂组合逻 辑的方式进行过滤和屏蔽时,所述垃圾消息只需扫描一次。
全文摘要
本发明揭示了一种在即时通信系统中阻止垃圾消息发送的方法,它包含一个服务器从一个客户端接收一个登录请求;根据该客户端在当天先前登录服务器的用户标识符的数量,确定该登录请求的用户标识符是否可用以及服务器根据该用户当天即时通信量的大小,控制其对即时通信服务的使用。本发明也揭示了一种在即时通信系统中屏蔽垃圾消息的方法。该方法包含字典过滤和复杂组合逻辑过滤相结合的方式。采用本发明的方法,可有效地防止垃圾消息在即时通信系统中的大量发送,对于已经发出的垃圾消息,采用字典过滤和复杂组合逻辑过滤相结合的方式进行处理,也会使垃圾消息对于即时通信系统的危害程度降到最低。
文档编号H04L12/58GK101212419SQ20061016759
公开日2008年7月2日 申请日期2006年12月25日 优先权日2006年12月25日
发明者何林强, 俞小浩, 孔勇伟, 莫建祥 申请人:阿里巴巴公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1