互联网实时计算的方法和系统的制作方法

文档序号:6377995阅读:200来源:国知局
专利名称:互联网实时计算的方法和系统的制作方法
技术领域
本发明涉及互联网数据挖掘技术领域,尤其涉及一种互联网实时计算的方法和系统。
背景技术
随着facebook、twitter、微博、博客等web2. O新型媒体的发展,对消息的实时性要求越来越高,与此同时,对信息内容的分析也越来越重要,越来越实时。为了满足互联网的实时性热点分析、活跃用户分析、舆情监控、垃圾信息处理、非法信息过滤等需求,作为实时信息内容的产生方以及第三方,均对实时数据挖掘分析展开了大量的研究和系统设计。现代互联网数据挖掘技术,分为实时计算和离线计算两种。离线计算就是目前常用的计算方式,计算的源是基于用户生成的系统日志进行计算,并通过分类、聚类等数据模型进行相关的统计而得出排行榜、用户行为习惯、相关的热点等数据。当前离线系统最常用 的是两种,一种是小数据的单机的数据分析,可以通过简单的脚本程序、分析出想要的结果数据,一种是大数据的分布式的数据挖掘,大数据一般采用hadoop、hdfs、hbase等国外开源成型的解决方案,用于处理海量的离线数据,并将处理结果的数据,存放在数据库、缓存中,给以后的前端应用使用。而实时计算,是收集互联网用户实时产生的数据,并直接应用相关的数据模型进行建模,得出在当前时间点或者在当前一段时间内,用户以及整个系统的排行榜、实时热点、用户偏好、舆论走向等数据。常用的实时计算框架是通常是采用Yahoo开源的S4、Twitter开源的Storm,还有Esper, Streambase, Hstreaming,以及scribe、rainbird等开源技术,基本步骤是将前端日志实时发送到后端处理服务器,后端再写程序,进行相关的实时计算。离线计算有延时性,不能很快反应当前产品的热点,比如微博上热议一个事情,它的引爆时间已经缩短到几十分钟,离线计算已经不太符合当今互联网的需求,我们需要更实时的计算方法和模式。另外,现有的实时计算模式,一般只做到数据收集这一层,而数据分析建模、排行建模、数据分析结果对外高速接口并不涉及,所以,目前的实时计算并不是一个体系,不是一个完整的系统。

发明内容
根据本发明的一方面,提供了一种互联网实时计算的方法,包括根据用户在网站上的操作,前端服务器生成指定格式的消息日志并发送所生成的指定格式的消息日志;中心消息日志收发处理单元接收前端服务器发送的消息日志,并根据消息日志的属性,分发消息日志到后端的相应的实时计算模型单元中;实时计算模型单元对接收到的消息日志进行预定的计算,把计算结果放在内存或者磁盘中,或将结果作为API (Application Programming Interface,应用程序编程接口)供其他程序调用。其中,所述指定格式的消息日志包含了所述实时计算模型单元所需要的元数据,元数据具体为用户的UID、或操作时间、或操作类型、或文章内容、或文章类型、或文章的关键词等。其中,所述实时计算模型单元可以是实时活跃用户分析模型。另外,所述实时计算模型单元还可以是实时热点排行模型单元,实时热点排行模型单元对接收到的消息日志进行预定的计算具体为采用实时热点排行榜算法,该算法采用时间片分割方法,把时间分为各个长度的自然时间段,多维度反应当前数据的热点排行。其中,实时热点排行榜算法为TF/IDF、隐马尔可夫链、决策树、贝叶斯算法中的一种或几种。
此外,实时计算模型单元还可以是实时反垃圾模型单元;或者,实时计算模型单元也可以是实时非法信息过滤模型单元。互联网的数据有高峰值、低峰值之分,离线计算,可以降低后端计算的峰值,系统运行更平稳;而实时计算,后端分析服务器也会有高地峰值,为了保证后端服务器的稳定性,中心消息日志收发处理单元以预定速度收集和分发消息日志到实时计算模型单元。根据本发明的另一方面,提供了一种互联网实时计算系统,该系统包括前端服务器,用于根据用户在网站上的操作,生成指定格式的消息日志,并将生成的指定格式的消息日志进行发送;中心消息日志收发处理单元,用于接收所述前端服务器发送的消息日志,并根据消息日志的属性,分发消息日志到后端相应的实时计算模型单元中;实时计算模型单元,用于对接收到的消息日志进行预定的计算,把计算结果放在内存或者磁盘中,或将结果作为API供其他程序调用。进一步地,实时计算模型单元为实时热点排行模型;实时计算模型单元对接收到的消息日志进行预定的计算具体为采用实时热点排行榜算法,该算法采用时间片分割方法,把时间分为各个长度的自然时间段,多维度反应当前数据的热点排行。进一步地,前端服务器为多个;以及实时计算模型单元还可以具体为实时活跃用户分析模型单元、实时热点排行模型单元、实时反垃圾模型单元或者实时非法信息过滤模型单元。本发明的上述互联网实时计算的方法和系统包括了实时计算过程的三个阶段数据的产生与收集阶段、传输与分析处理阶段、存储对对外提供服务阶段。前端服务器收集消息日志,发往中心的日志收集器,中心日志分析器进行消息日志的分发,实时离线处理模型接收消息日志并进行计算,得出实时分析排行榜、活跃用户、垃圾消息、非法消息,并将结果作为API供其他程序调用。本发明的互联网实时计算的方法和系统没有延时性,能第一时间反应出当前应用的热点,实现互联网实时热点排行榜、舆情监控、非法信息过滤、用户热点分析的功能需求,同时,该方法和系统包括了数据收集、数据分发、数据分析建模、数据分析结果对外高速API接口,这是一个整体的实时计算体系和完整的实时计算解决方案。


为了更清楚地说明本发明实施例或现有技术中的技术方案,以下将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,还可以根据这些附图所示实施例得到其它的实施例及其附图。图I为本发明实施例一的方法流程图;图2为本发明实施例二的方法流程图;图3为本发明实施例三的方法流程图;图4为本发明的互联网实时计算的系统框架图。
具体实施方式
以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。以新浪博客应用为例,对新浪博客的实时计算的方法,包括了以下的步骤根据用户在网站上的操作,比如发表博文、修改博文、转载博文、评论、收藏、浏览博文等等操作,前端服务器生成指定格式的消息日志并发送所生成的指定格式的消息日志;中心消息日志收发处理单元包括消息日志收集器和消息日志分发器,消息日志收集器接收前端服务器发送的消息日志;消息日志分发器根据消息日志的属性,分发消息日志到后端的相应的实时计算模型单元中;实时计算模型单元对接收到的消息日志进行预定的计算;计算结果放在内存或者磁盘中,或将结果作为API供其他程序调用。下面结合三个实施例来详细描述新浪博客应用的实时计算方法。实施例一新浪博客实时活跃用户排名参见图1,步骤101,首先,在新浪博客的前端服务器部署消息收集代码,用户的所有操作比如发表博文、修改博文、转载博文、评论、收藏、浏览博文等等操作,生成指定格式的消息日志,该消息日志里面包含了后端操作需要的元数据,比如用户的ID,当前操作的时间,操作的类型等,并且,将生成的消息日志发送给中心消息日志收发处理单元。在步骤102中,中心消息日志收发处理单元中的消息日志收集器,接收步骤101中的这些消息日志,永久地存储这些消息日志。在步骤103中,中心消息日志收发处理单元中的消息日志分发器把这些消息日志实时分发到后端的实时活跃用户排名模型单元中。步骤104,后端实时活跃用户排名模型单元,接收消息日志分发器发来的消息日志,并且,根据消息日志中用户的ID,当前操作的时间,操作的类型,实时进行分类统计,分析出当前I小时、30分钟、10分钟、5分钟内最活跃的用户。步骤105,后端实时活跃用户排名模型单元将实时活跃用户排名的结果存储到内存以及数据库中,将这些统计结果作为API提供给外部程序调用,这些结果将给运营人员做出决策,判断哪些用户是当前网站上最活跃的用户,同时,这些结果也可以实时显示在网站上,供用户浏览。实施例二新浪博客实时热点内容排名参见图2,步骤201,首先,在新浪博客的前端服务器部署消息收集代码,用户的所有操作比如发表博文、修改博文、转载博文、评论、收藏、浏览博文等等操作,生成指定格式的消息日志,该消息日志里面包含了后端操作需要的元数据,比如用户的ID,当前操作的时间,操作的类型,文章的内容文本、文章内容的分类、文章内容的关键词信息等,并且,将生成的消息日志发送给中心消息日志收发处理单元。在步骤202中,中心消息日志收发处理单元中的消息日志收集器,接收步骤101中的这些消息日志,永久地存储这些消息日志。在步骤203中,中心消息日志收发处理单元中的消息日志分发器把这些消息日志·实时分发到后端的实时热点内容排名模型单元中。步骤204,后端实时热点内容排名模型单元,接收消息日志分发器发来的消息日志,并且,根据消息日志中用户的ID,当前操作的时间,操作的类型,文章的内容信息、文章内容的分类、文章内容的关键词信息等,计算在最近一天、十二小时、三个小时、一小时、三十分钟、十分钟内,哪些内容是最热的,那一类文章是当前博客用户最喜欢访问的。 另外,实时热点内容排名模型通过分词、过滤、去重、加权等操作,得到当前文章的核心内容,在大量文章的聚合下,计算出当前博客哪一类文章最热。实时热点排行榜算法是后端实时计算模型单元的一部分,采用时间片分割方法,把时间分为各个长度的自然时间段,,多维度反应当前数据的热点排行。其中,实时热点排行榜算法可以是TF/IDF、隐马尔可夫链、决策树、贝叶斯算法中的一种或几种。步骤205,后端实时热点内容排名模型单元将实时热点内容排名的结果存储到内存以及磁盘或者数据库中,将这些统计结果作为API提供给外部程序调用,这些结果用来判断哪些是当前网站上用户浏览和讨论最热烈的内容,这些内容可以实时显示在新浪的博客、微博、邮箱、新闻以及新浪的客户端软件上,实时展现给当前用户。互联网的数据有高峰值、低峰值之分,离线计算,可以降低后端计算的峰值,系统运行更平稳;而实时计算,后端分析服务器也会有高地峰值,为了保证后端服务器的稳定性,步骤202和步骤203中,中心消息日志收发处理单元以预定的速度收集和分发消息日志到后端的实时热点内容排名模型中。其中,收集的速度和当前网站的访问量成正比,分发速度,根据后端处理能力来确定,如果后端服务器压力不大,这个速度可以和收集速度相同。举例来讲,根据服务器的性能,博客用户的浏览、发博文等所有发送消息的速度、收集速度可以在5000-10万次/秒,后端服务器采用并行处理的方式,为了保证消息的实时计算,后端服务器速度可以到5000-10万/秒,如果后端服务器处理能力不够,这是数值也可以是I万/秒。实施例三新浪博客实时非法信息过滤参见图3,步骤301,首先,在新浪博客的前端服务器部署消息收集代码,用户的所有操作比如发表博文、修改博文、转载博文、评论、收藏、浏览博文等等操作,生成指定格式的消息日志,该消息日志里面包含了后端操作需要的元数据,比如用户的ID,当前操作的时间,操作的类型,文章的内容文本、文章内容的分类、文章内容的关键词信息等,并且,将生成的消息日志发送给中心消息日志收发处理单元。在步骤302中,中心消息日志收发处理单元中的消息日志收集器,接收步骤101中的这些消息日志,永久地存储这些消息日志。在步骤303中,中心消息日志收发处理单元中的消息日志分发器把这些消息日志实时分发到后端实时非法信息过滤模型单元中。步骤304,后端实时非法信息过滤模型单元,接收消息日志分发器发来的消息日志,消息日志中包含有用户的ID,当前操作的时间,操作的类型,文章的内容信息、文章内容的分类、文章内容的关键词信息等,非法信息过滤计算模型通过分词、模式识别分析等方法,首先,判断这些实时信息是否与非法信息数据库中的关键词匹配,以判断出文章是否存在非法信息;另外,根据非法文章的特性,对当前非法信息进行计算,得出当前最热的非法信息,进而可以提高对非法信息的控制力度。 步骤305,后端实时非法信息过滤模型单元将实时非法信息的结果存储到内存以及磁盘或者数据库中,将这些非法信息的结果作为API提供给外部程序调用,当前应用以及其他应用可以根据实时非法信息的结果,选择对这些包括有非法信息的内容进行过滤。图4是本发明的互联网实时计算的系统框架图,前端服务器有多个,分别是前端服务器401,前端服务器402,前端服务器403,这些前端服务器用于根据用户在该服务器网站上的操作,生成指定格式的消息日志,并将生成的指定格式的消息日志发送到中心消息日志收发处理单元404;中心消息日志收发处理单元404,用于接收前端服务器401,前端服务器402,前端服务器403分别发送的消息日志,中心消息日志收发处理单元404根据消息日志的属性,分发消息日志到后端不同的实时计算模型单元中,这些实时计算模型单元包括实时热点内容排名计算模型单元405、实时活跃用户排名计算模型单元406、实时非法信息过滤计算模型单元407 ;实时热点内容排名计算模型单元405,用于对接收到的消息日志进行实时热点内容排名计算,将结果存放在实时热点内容排名计算结果存储单元408中,实时热点内容排名计算结果存储单元408的存储形式可以是内存或者磁盘或者是数据库中,结果还可以作为API供其他程序调用。实时活跃用户排名计算模型单元406,用于对接收到的消息日志进行实时活跃用户排名计算,将结果存放在实时活跃用户排名计算结果存储单元409中,实时活跃用户排名计算结果存储单元409的存储形式可以是内存或者磁盘或者是数据库中,结果还可以作为API供其他程序调用。实时非法信息过滤计算模型单元407,用于对接收到的消息日志进行实时非法信息过滤计算,将结果存放在实时非法信息过滤计算结果存储单元410中,实时非法信息过滤计算结果存储单元410的存储形式可以是内存或者磁盘或者是数据库中,结果还可以作为API供其他程序调用。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如ROM/RAM、磁碟、光盘等。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种互联网实时计算方法,包括 根据用户在网站上的操作,前端服务器生成指定格式的消息日志并发送所生成的指定格式的消息日志; 中心消息日志收发处理单元接收所述前端服务器发送的消息日志,并根据消息日志的属性,分发消息日志到后端的相应的实时计算模型单元中; 所述实时计算模型单元对接收到的消息日志进行预定的计算,把计算结果放在内存或者磁盘中,或将结果作为API供其他程序调用。
2.如权利要求I所述的方法,其特征在于,所述指定格式的消息日志包含了所述实时计算模型单元所需要的元数据,所述元数据具体为用户的MD、或操作时间、或操作类型、或文章内容等。
3.如权利要求I所述的方法,其特征在于,所述实时计算模型单元为实时活跃用户分析模型。
4.如权利要求I所述的方法,其特征在于,所述实时计算模型单元为实时热点排行模型单元;以及 所述实时计算模型单元对接收到的消息日志进行预定的计算具体为 所述实时热点排行模型,采用实时热点排行榜算法,所述算法采用时间片分割方法,把时间分为各个长度的自然时间段,多维度反应当前数据的热点排行。
5.如权利要求4所述的方法,其特征在于,所述实时热点排行榜算法为TF/IDF、隐马尔可夫链、决策树、贝叶斯算法中的一种或几种。
6.如权利要求I所述的方法,其特征在于,所述实时计算模型单元为实时反垃圾模型单元;或者所述实时计算模型单元为实时非法信息过滤模型单元。
7.如权利要求I所述的方法,其特征在于,所述中心消息日志收发处理单元以预定速度收集和分发消息日志到所述的实时计算模型单元。
8.一种互联网实时计算系统,该系统包括 前端服务器,用于根据用户在网站上的操作,生成指定格式的消息日志,并将生成的指定格式的消息日志进行发送; 中心消息日志收发处理单元,用于接收所述前端服务器发送的消息日志,并根据消息日志的属性,分发消息日志到后端相应的实时计算模型单元中; 所述实时计算模型单元用于对接收到的消息日志进行预定的计算,把计算结果放在内存或者磁盘中,或将结果作为API供其他程序调用。
9.如权利要求8所述的系统,其特征在于,所述实时计算模型单元为实时热点排行模型;以及 所述实时计算模型单元对接收到的消息日志进行预定的计算具体为 所述实时热点排行模型,采用实时热点排行榜算法,所述算法采用时间片分割方法,把时间分为各个长度的自然时间段,多维度反应当前数据的热点排行。
10.如权利要求8所述的系统,其特征在于,所述前端服务器为多个;以及 所述实时计算模型单元具体为实时活跃用户分析模型单元、实时热点排行模型单元、实时反垃圾模型单元或者实时非法信息过滤模型单元。
全文摘要
本发明公开了一种互联网实时计算的方法和系统。根据用户在网站上的操作,前端服务器生成指定格式的消息日志并发送所生成的指定格式的消息日志;中心消息日志收发处理单元接收前端服务器发送的消息日志,并根据消息日志的属性,分发消息日志到后端的相应的实时计算模型单元中;实时计算模型单元对接收到的消息日志进行预定的计算,得出实时热点内容排行榜、活跃用户、垃圾消息、非法消息等结果,把计算结果放在内存或者磁盘中,或将结果作为API供其他程序调用。本发明的互联网实时计算的方法和系统没有延时性,能第一时间反应出当前应用的热点,方案包括了数据收集、数据分发、数据分析建模、结果存储以及对外服务,是一个完整的解决方案。
文档编号G06F17/30GK102902775SQ20121036981
公开日2013年1月30日 申请日期2012年9月27日 优先权日2012年9月27日
发明者何跃, 汤晓刚 申请人:新浪网技术(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1