日志收集系统及其中的数据传输方法和本地服务器的制造方法

文档序号:9931112阅读:468来源:国知局
日志收集系统及其中的数据传输方法和本地服务器的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,具体涉及一种日志收集系统及其中的数据传输方法和本地服务器。
【背景技术】
[0002]对于互联网来说,获取网站上的访问记录以及其他相关记录,进行相关行为分析至关重要。因此需要进行网络的日志的收集。
[0003]Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用。Scribe能够从各种日志源上收集日志,存储到一个中央存储系统(可以是网络文件系统、分布式文件系统等)上,以便于进行集中统计分析处理。Scribe为日志的“分布式收集,统一处理”提供了一个可扩展的,高容错的方案。当中央存储系统的网络或者机器出现故障时,scribe会将日志转存到本地或者另一个位置,当中央存储系统恢复后,scribe会将转存的日志重新传输给中央存储系统。
[0004]图1示出了 scribe系统的一个工作场景示意图。如图1所示,scribe系统包括客户端、本地服务器和中心服务器。客户端分布在各个网页的日志源处。客户端从日志源实时获取日志数据并实时发送给本地服务器,本地服务器再将日志数据发送给中心服务器,最后由中心服务器将日志数据发送到中央存储系统。
[0005]在实际场景中,本地服务器和中心服务器通常不在一个机房,常常需要跨机房传输日志数据,由于日志数据的海量性,网络带宽资源常常成为本地服务器到中心服务器的传输瓶颈,当需要传输的数据量很大时,数据经常会出现堆积的情况。

【发明内容】

[0006]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种日志收集系统及其中的数据传输方法和本地服务器。
[0007]依据本发明的一个方面,提供了一种日志收集系统中的数据传输方法,应用于包括客户端、本地服务器和中心服务器的日志收集系统,该方法包括:
[0008]本地服务器接收客户端从日志源获取后发送的日志数据;
[0009]本地服务器将接收的日志数据进行压缩后发送给中心服务器,由中心服务器对所接收到的日志数据进行解压缩后发送至中央存储系统。
[0010]可选地,所述本地服务器接收客户端从日志源获取后发送的日志数据包括:将接收到的日志数据按照该日志数据的分类放入对应的队列中;其中,本地服务器有用于存放不同分类的日志数据的多个队列;
[0011]所述本地服务器将接收的日志数据进行压缩后发送给中心服务器包括:从队列中取日志数据,对取出的日志数据进行压缩后发送给中心服务器。
[0012]可选地,该方法在本地服务器将接收的日志数据进行压缩后,并在发送给中心服务器之前,进一步包括:对压缩后的日志数据进行base64编码,然后再发送给中心服务器;中心服务器对所接收日志数据进行解压缩之前,先进行base64解码。
[0013]可选地,所述本地服务器将接收的日志数据进行压缩包括:采用ZLIB算法或LZO算法对日志数据进行压缩。
[0014]可选地,所述将接收到的日志数据按照该日志数据的分类放入对应的队列中包括:由本地服务器的多个接收工作线程接收客户端发送的日志数据,并按照该日志数据的分类放入对应的队列中;
[0015]所述从队列中取日志数据包括:由本地服务器的多个发送工作线程从多个队列中取日志数据。
[0016]依据本发明的另一个方面,提供了一种日志收集系统中的本地服务器,包括:接收单元、压缩单元和发送单元;
[0017]所述接收单元,适于接收客户端从日志源获取后发送的日志数据;
[0018]所述压缩单元,适于将接收单元接收的日志数据进行压缩;
[0019]所述发送单元,适于将压缩单元压缩的日志数据发送给中心服务器,使得中心服务器对所接收到的日志数据进行解压缩后发送至中央存储系统。
[0020]可选地,该本地服务器进一步包括:用于存储多个队列的存储单元;
[0021 ] 所述接收单元,适于将接收到的日志数据按照该日志数据的分类放入对应的队列中;
[0022]所述压缩单元,适于从队列中取日志数据,对取出的日志数据进行压缩。
[0023]可选地,该本地服务器进一步包括:编码单元,适于对压缩单元压缩后的日志数据进行base64编码;
[0024]所述发送单元,适于将编码单元进行base64编码后的日志数据发送给中心服务器,使得中心服务器对日志数据进行解压缩之前,先进行base64解码。
[0025]可选地,所述压缩单元,适于采用ZLIB算法或LZO算法对日志数据进行压缩。
[0026]依据本发明的又有个方面,提供了一种日志收集系统,其中,该系统包括:客户端、中心服务器和如上述任一项所述的本地服务器。
[0027]根据本发明的这种本地服务器接收客户端从日志源获取后发送的日志数据,本地服务器将接收的日志数据进行压缩后发送给中心服务器,由中心服务器对所接收到的日志数据进行解压缩后发送至中央存储系统的技术方案,由于在本地服务器和中心服务器之间进行了数据的压缩传输,从而节省了本地服务器和中心服务器之间的传输带宽资源,缓解了数据堆积的压力。
[0028]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0029]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0030]图1示出了 scribe系统的一个工作场景示意图;
[0031]图2示出了根据本发明一个实施例的一种日志收集系统中的数据传输方法的流程图;
[0032]图3示出了根据本发明一个实施例的本地服务器中的数据接收和发送示意图;
[0033]图4示出了根据本发明一个实施例的一种日志收集系统中的本地服务器的结构图;
[0034]图5示出了根据本发明又一个实施例的一种日志收集系统中的本地服务器的结构图;
[0035]图6示出了根据本发明又一个实施例的一种日志收集系统的组成示意图。
【具体实施方式】
[0036]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0037]图2示出了根据本发明一个实施例的一种日志收集系统中的数据传输方法的流程图。图2所示的方法用于包括客户端、本地服务器和中心服务器的日志收集系统,该日志收集系统从各种日志源收集日志数据并存储到中央存储系统中。如图2所示,该日志收集系统中的数据传输方法包括:
[0038]步骤S210,本地服务器接收客户端从日志源获取后发送的日志数据。
[0039]步骤S220,本地服务器将接收的日志数据进行压缩后发送给中心服务器,由中心服务器对所接收到的日志数据进行解压缩后发送至中央存储系统。
[0040]图2所示的方法,由于在本地服务器和中心服务器之间进行了数据的压缩传输,从而节省了本地服务器和中心服务器之间的传输带宽资源,缓解了数据堆积的压力。
[0041 ] 在本发明的一个实施例中,图2所示方法中的步骤S210中的本地服务器接收客户端从日志源获取后发送的日志数据具体为:本地服务器将接收到的日志数据按照该日志数据的分类放入对应的队列中;其中,本地服务器有用于存放不同分类的日志数据的多个队列。步骤S220中的本地服务器将接收的日志数据进行压缩后发送给中心服务器具体为:从队列中取日志数据,对取出的日志数据进行压缩后发送给中心服务器。
[0042]在本发明的一个实施例中,在本地服务器中由工作线程来完成数据的接收和发送,则所述将接收到的日志数据按照该日志数据的分类放入对应的队列中具体为:由本地服务器的多个接收工作线程接收客户端发送的日志数据,并按照该日志数据的分类放入对应的队列中。所述从队列中取日志数据具体为:由本地服务器的多个发送工作线程从多个队列中取日志数据。
[0043]图3示出了根据本发明一个实施例的本地服务器中的数据接收和发送示意图。参见图3,本地服务器中的接收工作线程接收来自客户端的日志数据,根据日志数据的分类放入相应的队列中。例如当前收到的日志数据属于分类2,则放入分类2的队列中。需要说明的是接收工作线程可以是多个。本地服务器中的发送工作线程从各队列取数据,对取出的日志数据进行压缩后发送给中心服务器。需要说明的是发送工作线程也可以是多个。
[0044]在本发明的一个实施例中,本地服务器对日志数据进行压缩具体可以采用ZLIB算法或LZO(Lempel-Ziv-Oberhumer)算法进行压缩。两种压缩算法各有优缺点,可以根据实际的情况选择。ZLIB压缩比高,但比较浪费cpu资源;LZ0压缩比低,对CPU要求不高。
[0045]在本发明的一个实施例中,本地服务器对日志数据进行压缩后,并在发送给中心服务器之前,进一步对压缩后的日志数据进行base64编码,然后再发送给中心服务器。则相应地,中心服务器对所接收日志数据进行解压缩之前,先进行base64解码,再进行解压缩。
[0046]在实际当中,在特定的集群配置环境下,本地服务器和中心服务器跨机房配置,由于跨机房的带宽资源比较吃紧,因此本发明实施例中的上述方案,能够在很大程度上节省网络的1资源,从而节省服务成本。
[0047]在本发明的一个实施例中,将上述实施例中所述的数据传输方法应用于Scribe系统中。这样,可以解决Scribe系统中的本地服务器和中心服务器跨机房配置时的带宽资源吃紧问题。
[0048]图4示出了根据本发明一个实施例的一种日志收集系统中的本地服务器的结构图。如图4所示,本地服务器400包括:接收单元410、压缩单元420和发送单元430。
[0049]接收单元410,适于接收客户端从日志源获
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1