日志收集系统技术方案

技术编号:8271538 阅读:180 留言:0更新日期:2013-01-31 03:48
本发明专利技术公开了一种日志收集系统,属于互联网技术领域。本发明专利技术的方案包括:服务器端和部署于不同生产服务器上的多个客户端,所述客户端,适于获取生产服务器所产生的对应不同类别业务的数据,并将特定标识的数据归并为一条数据后发送给所述服务器端;所述服务器端,适于从各客户端接收数据,并进行存储或转发。本发明专利技术的技术方案,可以传送包含任意个数字段的数据,使得数据的传送不再有诸多限制,并在客户端对数据进行了归并处理,因此避免了因传输大量的相同或类似的数据,造成网络堵塞和延迟的问题。

【技术实现步骤摘要】
本专利技术涉及互联网
,具体涉及一种日志收集系统
技术介绍
互联网时代的后台数据非常重要而且庞大,比如日志数据和统计数据。这些后台数据可能是后台工程师分析程序运行状况的第一手资料,也可能是业务运营决策所依赖的第一参考。然而大流量的网站一般都有上千万台生产服务器,且分布于各个不同的机房。日志文件或统计数据就会存放在这些网络异构且分布零散的生产服务器上,给日志的收集、传输、汇总及分析带来很大的困难。目前有一些开源的软件可以用来收集这些日志,但也存 在着很多不能解决的情况。目前较为常用的一些开源软件例如Scribe,可以达到简单收集日志数据的目的。Scribe是当前的一个大型的社交网络服务网站的开源的日志收集系统,在该大型的社交网络服务网站内部已经得到大量的应用。它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统HDFS等)上,以便于进行集中统计分析处理。它为日志的“分布式收集,统一处理”提供了一个可扩展的,高容错的方案。当中央存储系统的网络或者机器出现故障时,scribe会将日志转存到本地或者另一个位置,当中央存储系统恢复后,scribe会将转存的日志重新传输给中央存储系统。其通常与Hadoop结合使用,scribe用于向HDFS中push日志,而Hadoop通过MapReduce作业进行定期处理。图I是现有的Scribe收集日志的示意图。如图I所示,Scribe从作为种数据源的各应用上收集数据,放到一个共享队列上,然后push到后端的中央存储系统上。当中央存储系统出现故障时,scribe可以暂时把日志写到本地文件中,待中央存储系统恢复性能后,scribe把本地日志续传到中央存储系统上。各个数据源须通过THRIFT (由于采用了 THRIFT,客户端可以采用各种语言编写向scribe传输数据,每条数据记录包含一个category和一个message )。可以在scribe配置用于监听端口的THRIFT线程数(默认为3)。在后端,scribe可以将不同category的数据存放到不同目录中,以便于进行分别处理。后端的日志存储方式可以是各种各样的store,包括file (文件),buffer (双层存储,一个主储存,一个副存储),network (另一个scribe服务器)等。但是scribe存在如下缺点(I) scribe的一个缺点是前端组织数据不灵活,只能使用两个字段,即catagory和message,在生产服务器的应用程序中,如果想用scribe发送数据,则每条数据只能有catagory和message两个字段,如果想传送多个字段,则必须自己组织数据,将要传送的多个数据合并到message里面。在后期分析数据时还要自己解析message,得到原来的多个字段。这给数据的传输造成了诸多的限制和不便。(2)另一个缺点是,scribe会接收每一条数据,并把它们忠实地记录在本地缓存,以一定频率批量发送数据,即便两条数据的category和message是一模一样的。这在数据传输量很大、传输频率很高时,容易造成严重的网络堵塞和延迟。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的日志收集系统。依据本专利技术,提供了一种日志收集系统,该系统包括服务器端和部署于不同生产服务器上的多个客户端,所述客户端,适于获取生产服务器所产生的对应不同类别业务的数据,并将特定标识的数据归并为一条数据后发送给所述服务器端;所述服务器端,适于从各客户端接收数据,并进行存储或转发。可选地,该客户端包括数据获取单元、归并处理单元和多个存储单元,所述多个 存储单元分别对应不同类别的业务,且每个存储单元都有一个对应的定时周期;所述数据获取单元,适于从生产服务器获取对应不同类别业务的数据,将所获取的数据按照对应的不同类别的业务分发到对应的存储单元进行保存;其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码;每个存储单元,适于保存来自数据获取单元的数据;所述归并处理单元,适于在每个存储单元对应的定时周期结束时,将该存储单元所保存的数据中的标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端。可选地,所述归并处理单元,进一步适于在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的标识有关键码的字段的值相同的数据归并为一条数据时,对没有标识关键码的字段,按照不同的类型进行不同的归并处理。可选地,归并处理单元,进一步适于在按照不同的类型对没有标识关键码的字段进行不同的归并处理时,采用以下一种或多种的组合对于求和类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值相加,其和作为归并后该字段的值;对于求平均类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值求平均,其均值作为归并后该字段的值;对于最大值类型的字段,从标识有关键码的字段的值相同的各数据的该字段上的值中找出最大值,作为归并后该字段的值;对于常字符类型的字段,从标识有关键码的字段的值相同的各数据中取第一条数据的该字段上的值,作为归并后该字段的值;对于累加字符类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的字符按指定顺序串接后,作为归并后该字段的值。可选地,所述服务器端,适于将所接收的数据转发给其它的服务器,或转发到数据库设备,或保存成本地文件。根据本专利技术的这种在不同的生产服务器上分别部署客户端,各客户端将收集的数据发给服务器端,其中客户端将所获取的数据按照对应的不同类别的业务分类存放,每条数据包含一个以上的不同类型的字段,在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的,标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端的技术方案,可以传送任意个字段的数据,且在客户端就进行了数据归并处理,由此解决了现有的scribe只允许每条数据只能有catagory和message两个字段,从而使得数据的传送有诸多限制的问题,以及解决了现有的scribe在前端只是忠实地记录数据,不进行归并处理,导致数据传输量大、传输频率高,容易造成网络堵塞和延迟的问题。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中 图I是现有的Scribe收集日志的示意图;图2示出了根据本专利技术一个实施例的一种日志收集系统的框图;图3示出了根据本专利技术一个实施例的一种日志收集系统的客户端的结构图;图4示出了根据本专利技术一个实施例的一种收集数据的方法的流程图。具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,本文档来自技高网
...

【技术保护点】
一种日志收集系统,包括:服务器端和部署于不同生产服务器上的多个客户端,所述客户端,适于获取生产服务器所产生的对应不同类别业务的数据,并将特定标识的数据归并为一条数据后发送给所述服务器端;所述服务器端,适于从各客户端接收数据,并进行存储或转发。

【技术特征摘要】
1.一种日志收集系统,包括服务器端和部署于不同生产服务器上的多个客户端, 所述客户端,适于获取生产服务器所产生的对应不同类别业务的数据,并将特定标识的数据归并为一条数据后发送给所述服务器端; 所述服务器端,适于从各客户端接收数据,并进行存储或转发。2.如权利要求I所述的系统,其中,所述客户端包括数据获取单元、归并处理单元和多个存储单元,所述多个存储单元分别对应不同类别的业务,且每个存储单元都有一个对应的定时周期; 所述数据获取单元,适于从生产服务器获取对应不同类别业务的数据,将所获取的数据按照对应的不同类别的业务分发到对应的存储单元进行保存;其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码;每个存储单元,适于保存来自数据获取单元的数据; 所述归并处理单元,适于在每个存储单元对应的定时周期结束时,将该存储单元所保存的数据中的标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端。3.如权利要求2所述的系统,其中, 所述归并处理单元,进一步适于在每种类别业务对应的定时周期结束时,将所保存的该类别业务...

【专利技术属性】
技术研发人员:张珂郝国梁
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1