1.一种过滤即时通讯垃圾信息的方法,其特征在于,包括以下步骤:
即时通讯客户端中存储预先定义的关键字库,当即时通讯客户端登录即时通讯服务器,将存储的关键字库版本标识发送至该即时通讯服务器,并接收即时通讯服务器验证所述关键字库版本标识与即时通讯服务器存储的版本标识是否一致的比较结果,若不一致,向所述即时通讯服务器发送关键字库下载请求以获取相应的关键字库;
即时通讯客户端根据所述关键字库验证收到的即时信息是否为垃圾信息,若是,将所述即时信息标记为垃圾信息。
2.根据权利要求1所述的方法,其特征在于,所述根据关键字库验证收到的即时信息是否为垃圾信息是查询该即时信息中是否存在与所述关键字库相匹配的内容,若存在,则认为该即时信息为垃圾信息。
3.根据权利要求2所述的方法,其特征在于,还包括:
在与所述即时通讯客户端相应的即时通讯服务器中设置即时通讯服务器的关键字库,所述即时通讯服务器的关键字库定期更新;
即时通讯客户端从该即时通讯服务器中获取相应的关键字库。
4.根据权利要求1所述的方法,其特征在于,还包括:
即时通讯服务器将关键字库发送至即时通讯客户端之前,使用加密算法对即时通讯服务器发送的关键字库进行加密;
即时通讯客户端获取到关键字库后,使用与所述加密算法相应的解密算法对获取到的关键字库进行解密。
5.根据权利要求1所述的方法,其特征在于,还包括:
通过即时通讯客户端设置并生成关键字库。
6.一种过滤即时通讯垃圾信息的系统,其特征在于,包括即时通讯客户端;所述即时通讯客户端包括:
存储单元,用于存储预置的关键字库,当即时通讯客户端登录即时通讯服务器,将存储的关键字库版本标识发送至该即时通讯服务器,并接收即时通讯服务器验证所述关键字库版本标识与即时通讯服务器存储的版本标识是否一致的比较结果,若不一致,向所述即时通讯服务器发送关键字库下载请求以获取相应的关键字库;
验证单元,用于根据存储单元中的关键字库验证即时信息是否为垃圾信息,若是,则将该信息标记为垃圾信息。
7.根据权利要求6所述的系统,其特征在于,所述验证单元验证即时信息是否为垃圾信息是查询该即时信息中是否存在与存储单元中关键字库相匹配的内容,若存在,则将该即时信息标记为垃圾信息。
8.根据权利要求7所述的系统,其特征在于,还包括即时通讯服务器,所述即时通讯服务器包括:
第一设置单元,用于设置和更新关键字库;
服务器存储单元,用于存储关键字库;
发送单元,用于根据关键字库下载请求发送服务器存储单元所存储的关键字库;
所述即时通讯客户端还包括:
获取单元,用于从所述即时通讯服务器获取相应的关键字库。
9.根据权利要求8所述的系统,其特征在于,所述获取单元还用于向即时通讯服务器发送存储单元中关键字库的版本标识;所述即时通讯服务器还包括:
对比单元,用于比较所述即时通讯客户端获取单元发送的关键字库版本标识与服务器存储单元中关键字库的版本标识,并将比较结果发送至即时通讯客户端;
所述即时通讯客户端中的获取单元判断即时通讯服务器返回的比较结果是否一致,若不一致,向即时通讯服务器发送关键字库下载请求以获取相应的关键字库。
10.根据权利要求8所述的系统,其特征在于,所述即时通讯服务器还包括:
加密单元,用于使用预置算法对关键字库进行加密;
所述即时通讯客户端还包括:
解密单元,用于使用预置算法对获取到的关键字库进行解密。
11.根据权利要求7所述的系统,其特征在于,所述即时通讯客户端还包括:第二设置单元,用于在即时通讯客户端设置关键字库。
技术领域\n本发明涉及即时通讯信息过滤技术,特别是涉及一种过滤即时通讯垃圾信息的方法和系统。\n背景技术\n即时通讯(IM,Instant Messaging)是一种使人们能在网上识别在线用户并与他们实时交换信息的技术,由于其所拥有的实时性、低成本、高效率等诸多优势,目前已成为人们工作和生活中一种非常重要的通讯方式。典型的IM是这样工作的:当好友列表(buddy list)中的某人登录上线并试图通过你的计算机联系你时,IM系统会发一个消息提醒给你,然后你能与他建立一个聊天会话并键入消息文字或通过语音、视频等进行交流。\n虽然目前被应用的IM各种各样,采用的通信协议也不尽相同,如TCP、UDP等,但是不管IM产品和功能如何丰富,却都遵循着同样的基本结构和原理。\n下面参考图1来介绍IM的通信原理:\n首先,用户A输入自己的用户标识和密码登录IM服务器,IM服务器通过读取用户数据库来验证用户身份,如果用户标识、密码都正确,就登记用户A的IP地址、IM客户端使用的TCP/UDP端口号,然后返回用户A登录成功的标志,此时用户A在IM系统中的状态为在线(Online Presence)。\n其次,根据用户A存储在IM服务器上的好友列表,服务器将用户A在线的相关信息发送到也同时在线的IM好友的客户端,这些信息包括在线状态、IP地址、IM客户端使用的TCP端口(Port)号等,IM好友使用的IM客户端收到此信息后弹出一个消息予以提示。\n第三步是IM服务器把用户A存储在服务器上的好友列表及相关信息回送到他使用的IM客户端,这些信息包括在线状态、IP地址、IM客户端使用的TCP端口(Port)号等信息,用户A使用的IM客户端收到后将显示这些好友列表及其在线状态。\n接下来,如果用户A想给他的在线好友用户B发送信息,他将即时信息先发送到IM服务器,再由服务器转发给用户B。另外,用户A也可直接通过服务器发送过来的用户B的IP地址、TCP端口号等信息,直接向用户B的IM客户端发送信息,用户B的IM客户端收到后显示在屏幕上,然后用户B再直接回复到用户A的客户端,这样双方的即时信息就不通过IM服务器中转,而是通过网络进行点对点的直接通讯,这称为对等通讯方式(Peer To Peer)。\n虽然,基于上述通讯原理的即时通讯工具得到了广泛的应用,但是,垃圾信息的泛滥却给人们正常使用这种通讯工具带来了很大的困扰,不仅浪费了网络的带宽和存储空间,同时也浪费了用户的时间和精力。\n目前,即时通讯中对垃圾信息进行过滤由IM服务器完成。首先,定义过滤内容并存储在IM服务器中;当IM服务器收到用户A发送给用户B的消息时,根据定义的过滤内容验证其是否为垃圾信息,若符合条件则不再将该信息转发给用户B。但是采用这种过滤方式却存在着很大的不足。由于验证即时消息是否为垃圾信息需要进行大量的计算,当IM服务器响应的通讯请求增加时,势必会加剧IM服务器的计算量,导致IM服务器负荷的增加,并进一步影响其性能甚至引发通讯故障。另外,若用户A与用户B通过点对点的方式直接通讯,上述过滤方法就无能为力了。\n发明内容\n本发明所要解决的技术问题是提供一种过滤即时通讯垃圾信息的方法和系统,以解决现有技术中过滤垃圾信息对即时通讯服务器造成的负荷,以及无法在点对点的通讯方式中过滤垃圾信息的问题。\n为解决上述问题,本发明公开了一种过滤即时通讯垃圾信息的方法,该方法包括以下步骤:\n即时通讯客户端中存储预先定义的关键字库,当即时通讯客户端登录即时通讯服务器,将存储的关键字库版本标识发送至该即时通讯服务器,并接收即时通讯服务器验证所述关键字库版本标识与即时通讯服务器存储的版本标识是否一致的比较结果,若不一致,向所述即时通讯服务器发送关键字库下载请求以获取相应的关键字库;\n即时通讯客户端根据所述关键字库验证收到的即时信息是否为垃圾信息,若是,将所述即时信息标记为垃圾信息。\n其中,所述根据关键字库验证收到的即时信息是否为垃圾信息是查询该即时信息中是否存在与所述关键字库相匹配的内容,若存在,则认为该即时信息为垃圾信息。\n优选的,该方法还包括:在与所述即时通讯客户端相应的即时通讯服务器中设置即时通讯服务器的关键字库,所述即时通讯服务器的关键字库定期更新;\n即时通讯客户端从该即时通讯服务器中获取相应的关键字库。\n优选的,该方法还包括:即时通讯服务器将关键字库发送至即时通讯客户端之前,使用加密算法对即时通讯服务器发送的关键字库进行加密;即时通讯客户端获取到关键字库后,使用与所述加密算法相应的解密算法对获取到的关键字库进行解密。\n优选的,该方法还包括:通过即时通讯客户端设置并生成关键字库。\n本发明还公开了一种过滤即时通讯垃圾信息的系统,包括:\n存储单元,用于存储预置的关键字库,当即时通讯客户端登录即时通讯服务器,将存储的关键字库版本标识发送至该即时通讯服务器,并接收即时通讯服务器验证所述关键字库版本标识与即时通讯服务器存储的版本标识是否一致的比较结果,若不一致,向所述即时通讯服务器发送关键字库下载请求以获取相应的关键字库;\n验证单元,用于根据存储单元中的关键字库验证即时信息是否为垃圾信息,若是,则将该信息标记为垃圾信息。\n其中,所述验证单元验证即时信息是否为垃圾信息是查询该即时信息中是否存在与存储单元中关键字库相匹配的内容,若存在,则将该即时信息标记为垃圾信息。\n优选的,该系统还包括即时通讯服务器,所述即时通讯服务器包括:\n第一设置单元,用于设置和更新关键字库;\n服务器存储单元,用于存储关键字库;\n发送单元,用于根据关键字库下载请求发送服务器存储单元所存储的关键字库;\n所述即时通讯客户端还包括:\n获取单元,用于从所述即时通讯服务器获取相应的关键字库。\n其中,所述获取单元还用于向即时通讯服务器发送存储单元中关键字库的版本标识;所述即时通讯服务器还包括:\n对比单元,用于比较所述即时通讯客户端获取单元发送的关键字库版本标识与服务器存储单元中关键字库的版本标识,并将比较结果发送至即时通讯客户端;\n所述即时通讯客户端中的获取单元判断即时通讯服务器返回的比较结果是否一致,若不一致,向即时通讯服务器发送关键字库下载请求以获取相应的关键字库。\n优选的,所述即时通讯服务器还包括:\n加密单元,用于使用预置算法对关键字库进行加密;\n所述即时通讯客户端还包括:\n解密单元,用于使用预置算法对获取到的关键字库进行解密。\n优选的,所述即时通讯客户端还包括:第二设置单元,用于在即时通讯客户端设置关键字库。\n与现有技术相比,本发明具有以下优点:\n首先,本发明通过在IM客户端存储关键字库,当收到一条即时信息时,IM客户端根据所述关键字库验证该信息是否为垃圾信息。由于通常情况下,IM服务器需要响应和处理的即时信息数量非常庞大,因此,通过应用本发明,避免了IM服务器因逐个验证即时信息而耗费的宝贵的服务器资源,有效降低了服务器的负荷和发生故障的可能性,同时大大地提高了整个IM系统运行的可靠性。\n其次,由于本发明使得IM客户端具有了垃圾信息过滤的能力,因此很好的解决了现有技术中,对在即时通讯中占有很大比例的点对点通讯方式无法进行信息过滤的问题。这样以来,使用户尽可能的免除了垃圾信息的烦扰,同时,有效阻止了恶意第三方通过即时通讯发起的攻击,避免了用户因接收超链接、木马或病毒文件等恶意信息而对系统造成的损害。\n另外,本发明通过在IM客户端设置关键字库,使用户可根据自己的需要设置过滤内容,如此以来,不同的用户在使用IM客户端进行通讯时,其过滤的内容也会不同,在通讯时可以针对该用户自己认为不需要的信息进行过滤,从而改善了用户的使用感受,也使IM这种通讯方式得到了进一步的应用。\n附图说明\n图1是即时通讯技术基本原理图;\n图2是基于本发明所述过滤即时通讯垃圾信息的方法的实施例的步骤流程图;\n图3是基于本发明所述的过滤即时通讯垃圾信息的系统的结构框图。\n具体实施方式\n为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。\n本发明所述的过滤IM垃圾信息的方法包括:IM客户端中存储预先定义的关键字库;IM客户端根据所述关键字库验证收到的即时信息是否为垃圾信息,若是,则将该即时信息标记为垃圾信息。\n参照图1,示出了根据本发明一个优选实施例的过滤IM垃圾信息的方法的数据流程图。下面参考图1对本发明的一个实施例作详细描述。\n步骤101:在IM服务器中设置关键字库。\n在实际应用中,IM服务器通常由专门的运营商进行维护。运营商收集垃圾信息,例如将认为可能严重影响用户使用感受,或者含有不良内容的信息定义为垃圾信息并根据该信息建立关键字库。优选的,关键字库包含但不限于以下内容:\n关键字库的版本标识,关键字库每次更新后会产生一个新的版本标识;\n过滤关键字,根据收集的垃圾信息定义;\n过滤类型,包括完全匹配和模糊匹配。\n步骤102:IM客户端登录IM服务器,将存储的关键字库版本标识发送至IM服务器。\n步骤103:IM服务器将上述关键字库版本标识与本地存储的关键字库版本标识进行比较,并将比较结果返回至IM客户端。\n步骤104:IM客户端判断比较结果,若不一致,执行下面的步骤,否则,直接执行步骤108。\n步骤105:IM客户端向IM服务器发送关键字库下载请求。\n步骤106:IM服务器将当前的关键字库加密后返回至所述IM客户端。\n本发明优选的采用DES(Data Encryption Standard)算法对关键字库进行加密。\nDES加密体制的安全性不依赖于算法的保密,其安全性仅以加密密钥的保密为基础。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。\nDES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如互联网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样以来,保证了核心数据在通信网中传输的安全性和可靠性。\n本发明中,关键字库每次更新后会产生一个新的版本标识,本发明根据所述版本标识,使用约定的算法计算生成key,然后使用这个key对关键字库进行加密。这样,由于每次加密使用新的key,因此可以进一步提高数据的保密性。\n由IM客户端向IM服务器发送关键字库版本标识,并根据返回的比较结果决定是否从IM服务器获取关键字库是本发明优选的方法,这样做的目的是为了尽可能的降低IM服务器的负荷。当然,本领域的技术人员也可使用其它的方法获取最新的关键字库,例如,当IM服务器得出比较结果后,若不一致,可直接将关键字库发送至IM客户端;或者,当IM服务器中的关键字库更新后,以广播的方式将关键字库发送给相应的IM客户端。\n步骤107:IM客户端对收到的关键字库进行解密。\n优选的,关键字库中的版本标识以明文传输。IM客户端使用约定的算法对所述版本标识进行计算生成key,然后使用DES算法对所述关键字库进行解密。\n步骤108:IM客户端根据关键字库验证收到的即时信息是否为垃圾信息。\n首先,IM客户端将关键字库解析后放入内存。对于接收到的每一条即时信息,查询关键字库中的过滤关键字在该信息中是否存在。查询时,根据过滤关键字对应的查询类型采用不同的查询方式:若所述过滤关键字的过滤类型为完全匹配,那么只有该即时信息与该过滤关键字完全相同时,该即时信息才被认为是垃圾信息;若过滤类型为模糊匹配,只要该即时信息包含与过滤关键字相同的内容就被认为是垃圾信息而被过滤。\n需要说明的是,使用定义的关键字验证即时信息是否为垃圾信息是本发明优选的方法,本领域的普通技术人员当然可以知道,IM客户端也可以采用其他方法来验证即时信息是否为垃圾信息,本发明对此并不作限制,例如,可基于贝叶斯算法验证和过滤垃圾信息:首先,IM服务器收集大量的垃圾信息和非垃圾信息;然后对这些信息进行分词分析以取得关键字并计算出该关键字为垃圾信息的概率值;根据这些关键字和相应的概率值建立关键字库;IM客户端获取所述关键字库;当收到一条即时信息后对该信息分词取得关键字,然后根据关键字库同时根据复合概率公式计算出该信息为垃圾信息的概率值;将所得概率值与预置的阀值进行比较,若超出,则认为该即时信息为垃圾信息。\n采用上述方法可以提高验证垃圾信息的准确率,但是由于需要进行大量的计算,其效率相对于关键字匹配的方法有所降低,并且会对IM客户端的性能造成一定影响。有鉴于此,IM客户端采用何种方法验证和过滤垃圾信息,本领域的技术人员可根据需要选择使用。\n在本发明另一个优选的实施例中,IM客户端的用户可自行定义过滤关键字的内容,下面对该实施例作详细描述。\n参照实施例一,IM客户端从相应的IM服务器获取关键字库,然后根据该关键字库验证即时信息是否是垃圾信息。基于安全性的考虑,关键字库定义的过滤内容对于IM客户端的用户是不透明的,在通讯过程中,相应的垃圾信息过滤也是强制性的。但是,这样的过滤方式往往还不能满足用户的要求,因此,本发明优选的,可在IM客户端对关键字库进行设置。这样,用户可根据自己的需要设置过滤内容,例如过滤含有超链接的信息、过滤某一种类型的文件,如.exe或.jpg,也可进一步设置过滤关键字等。\n本发明优选的,IM客户端在过滤垃圾信息时,首先按照从IM服务器获取的关键字库进行过滤,然后按照用户自行设置的关键字库进行过滤,以提高过滤的完整性。\n当然,在IM客户端由用户自行设置关键字库过滤垃圾信息只是本发明优选的方法,本领域的技术人员也可以使用其他方式实现垃圾信息的过滤。例如,可基于上述贝叶斯算法在IM客户端建立关键字库并进行垃圾信息过滤。当收到一条垃圾信息时,该信息被过滤的同时会被加入关键字库。关键字库中存储有根据该信息分词取得的关键字以及计算得出的该关键字为垃圾信息的概率值。这样,新的关键字库会被作为验证下一条信息是否为垃圾信息的基础。随着收集的垃圾信息越来越多,IM客户端验证和过滤垃圾信息的准确性也随之提高。\n以上,结合具体实施例描述了本发明的一种过滤即时通讯垃圾信息的方法。参照以上有关本发明的介绍,如图2所示,是本发明所述的一种过滤IM垃圾信息的系统,包括IM客户端200和IM服务器300,其中,\n所述IM客户端200包括:存储单元201,用于存储预置的关键字库;验证单元202,用于根据存储单元中的关键字库验证即时信息是否为垃圾信息,若是,则将该信息标记为垃圾信息。\n优选的,图2所示的系统中IM服务器包括:第一设置单元301,用于设置和更新关键字库;服务器存储单元302,用于存储关键字库;发送单元303,用于根据关键字库下载请求发送服务器存储单元所存储的关键字库。IM客户端还可以包括:获取单元203,用于从所述即时通讯服务器获取相应的关键字库。\n优选的,所述即时通讯服务器还包括:对比单元304,用于比较所述获取单元发送的关键字库版本标识与服务器存储单元中关键字库的版本标识,并将比较结果发送至即时通讯客户端;所述即时通讯客户端中的获取单元判断IM服务器返回的比较结果是否一致,若不一致,向IM服务器发送关键字库下载请求。\n优选的,所述即时通讯服务器还包括:加密单元305,用于使用预置算法对关键字库进行加密;所述即时通讯客户端还包括:解密单元204,用于使用预置算法对获取到的关键字库进行解密。\n优选的,所述即时通讯客户端还包括:第二设置单元205,用于在即时通讯客户端设置关键字库。\n首先,IM服务器的第一设置单元301收集垃圾信息设置关键字库;IM客户端登录IM服务器后,获取单元203从存储单元201中取得关键字库版本标识发送给IM服务器;IM服务器的对比单元304从服务器存储单元201中取得关键字库的版本标识与收到的关键字库版本标识进行比较,并将比较结果返回至IM客户端;所述即时通讯客户端中的获取单元203判断IM服务器返回的比较结果是否一致,若不一致,向IM服务器发送关键字库下载请求;IM服务器的发送单元303根据收到的关键字库下载请求从服务器存储单元302中取得存储的关键字库,用加密单元305加密后发送给IM客户端;IM客户端的解密单元204对获取单元203所获取到的关键字库进行解密并存储在存储单元201中;当IM客户端收到一条即时信息后,验证单元202根据存储单元201所存储的关键字库验证该信息是否是垃圾信息,若是,则过滤该信息。另外,可通过IM客户端的第二设置单元205设置关键字库,并将该关键字库存储在存储单元201中,当IM客户端收到即时信息后,验证单元202首先按照从服务器获取的关键字库进行验证,然后按照第二设置单元205设置的关键字库进行验证,以提高过滤得可靠性。\n上述关于本发明所述系统的描述中未详尽之处,可以参见本说明书前述相关部分。\n以上对本发明所提供的一种过滤即时通讯垃圾信息的方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2010-09-15
- 2008-06-18
- 2008-04-23
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2004-08-11
|
2003-09-02
| | |
2
| |
2005-12-07
|
2004-05-28
| | |
3
| |
2004-03-31
|
2002-09-28
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |