一种用于分布式环境下的日志记录方法和设备技术

技术编号:7422933 阅读:218 留言:0更新日期:2012-06-09 09:26
一种用于分布式环境下的日志记录方法,包括以下步骤:配置日志服务器和客户端的日志策略;实时地将所述客户端的日志发送给所述日志服务器;以及按照所述日志策略对所述日志服务器接收到的所述日志进行存储。本发明专利技术能够提供高并发、大容量的日志服务。同时,其系统易扩展,能够满足各种不同的需求。本发明专利技术对客户端语言没有任何限制,可以满足各种环境的需求。此外,本发明专利技术还能充分利用带宽。

【技术实现步骤摘要】

本专利技术一般地涉及分布式系统,更特别地,涉及一种用于分布式环境下的日志记录方法和设备
技术介绍
日志在实际应用中具有重要的意义。它有助于发现系统中存在的问题,以改进产品的质量。如果对日志进行更深层次的挖掘,还可以了解用户的潜在需求,为产品开发者提供指导。在大流量、高并发的分布式系统中,每天会产生大量的日志数据。以某WAP站点为例,该WAP站点具有大约10台计算机。每天每台计算机产生的访问日志就多达大约5GB,再加上其他的统计日志,这个数量是非常庞大的。图1是现有技术的分布式系统100的结构示意图。分布式系统100可以包括日志服务器101、客户端集群102-1,. . .,102-N以及统计服务器103。日志服务器101用于收集客户端集群102-1,. ..,102-N的日志信息。每个客户端集群102通常是具有相同属性(例如,对应于同一业务)的多个计算机的集合。统计服务器103用于对日志信息进行统计分析。当前,客户端集群102-1,...,102-N白天正常处理日常业务。在夜间访问量较少时,由日志服务器101将客户端集群102-1,. . .,102-N的日志复制到统计服务器103,再由统计服务器103进行合并分析。其中,为了复制日志,日志服务器101首先向客户端集群 102-1,...,102-N发送消息,以表明其需要复制日志。响应于接收到日志服务器101发来的表明其需要复制日志的消息,客户端集群102-1,...,102-N将日志发送给日志服务器101。应当注意,图1只是示例性的,实际的分布式系统可以包括更多的设备,日志服务器数量、统计服务器数量以及每个客户端集群所包括的计算机数量也可以与所示出的不同。随着业务的不断扩张和用户的不断增长,站点的访问量也越来越大。在此情况下, 无法在规定的时间内将日志复制到统计服务器,从而致使了日志统计的不准确。因此,需要一种能够克服上述问题的日志记录方法和设备。
技术实现思路
根据本专利技术的一个方面,提供了一种用于分布式环境下的日志记录方法,包括以下步骤配置日志服务器和客户端的日志策略;实时地将所述客户端的日志发送给所述日志服务器;以及按照所述日志策略对所述日志服务器接收到的所述日志进行存储。根据本专利技术的另一方面,提供了一种用于分布式环境下的日志记录设备,包括用于配置日志服务器和客户端的日志策略的装置;用于实时地将所述客户端的日志发送给所述日志服务器的装置;以及用于按照所述日志策略对所述日志服务器接收到的所述日志进行存储的装置。本专利技术能够提供高并发、大容量的日志服务。同时,其系统易扩展,能够满足各种不同的需求。本专利技术对客户端语言没有任何限制,可以满足各种环境的需求。此外,本专利技术还能充分利用带宽。附图说明根据以下参照附图对本专利技术实施例的详细描述,本专利技术的其他目的、特征、应用和优点将变得明显,其中相同的参考标号代表相同或相应的组件或步骤,其中图1是现有技术的分布式系统100的结构示意图;图2是现有技术的日志记录方法200的流程图;图3是根据本专利技术优选实施例的分布式系统300的结构示意图;图4是根据本专利技术优选实施例的用于分布式环境下的日志记录方法400的示意性流程图;以及图5是根据本专利技术优选实施例的用于分布式环境下的日志记录设备500的示意性框图。具体实施例方式下面结合具体实施例对本专利技术进行详细描述。图2是现有技术的日志记录方法200的流程图。方法200开始于步骤201。在步骤 201中,分别在客户端集群102-1,. . .,102-N本地存储日志。在步骤202中,日志服务器101 向客户端集群102-1,. . .,102-N发送消息,以表明其需要复制日志。在步骤203中,响应于接收到日志服务器101发来的表明其需要复制日志的消息,客户端集群102-1,..., 102-N 将日志发送给日志服务器101。在步骤204中,日志服务器101将客户端集群102-1,..., 102-N的日志复制到统计服务器103。随后,统计服务器103可以对这些日志进行统计分析。图3是根据本专利技术的优选实施例的分布式系统300的结构示意图。分布式系统300 可以包括日志服务器301、客户端集群302-1,...,302-N以及统计服务器303。其中,日志服务器301可以位于图1所示的日志服务器101中,客户端集群302-1,. . .,302-N中的每个客户的可分别位于图1所示的客户端集群102-1,..., 102-N中的每台计算机上,统计服务器303可以与图1所示的统计服务器103是同一个。参见图1可知,分布式系统300的物理结构与分布式系统100的物理结构可以是相同的。图3所示的日志服务器301可以包括接收器3011、分发器3012、DB(数据库)并存储有若干文件。应当注意,图3只是示例性的,实际的分布式系统300可以包括更多的设备,日志服务器数量、统计服务器数量以及每个客户端集群所包括的客户端数量也可以与所示出的不同。图4是根据本专利技术优选实施例的用于分布式环境下的日志记录方法400的示意性流程图。方法400开始于步骤401。在步骤401中,配置日志服务器和客户端的日志策略。 完成对日志服务器和客户端的配置后,方法400进行到步骤402。在步骤402中,实时地将所述客户端的日志发送给所述日志服务器。接着,方法400进行到步骤403。在步骤403中,按照所述日志策略对所述日志服务器接收到的所述日志进行存储。分布式日志服务可以采用CS (客户端/服务器)架构,其分别提供了如图3所示的日志服务器301与客户端302。日志策略可以设置自定义的日志输出格式和日志滚动周期,根据不同模块的需求自定义合适的日志输出级别及存储方式。根据本专利技术的优选实施例,所述日志策略可以包括日志文件存储名称、格式和滚动周期中的至少一个。所述日志策略可以体现为配置文件。客户端302提供了不同的编程语言版本,可以运行在不同的操作系统和计算机架构上。无论部署环境如何,这些应用的源码都是可移植的。客户端302采用AMI (异步方法调用)发出远地调用,从而使得发出调用的线程不会阻塞。客户端302需要提供日志服务器301为其所配置的名字。例如 remoteLoggerName = wap_useraccess日志服务器301可以采用AMD (异步方法分派)技术。当日志服务器301接收到一个请求时,接收器3011通常会把请求数据放入队列,供分发器3012随后处理用。这样, 日志服务器301就使接收器3011所使用的分派线程的使用率降到了最低限度,能够高效地支持高并发客户。分发器3012会从队列中取出相应的请求数据,然后根据配置文件中的规则将数据加工处理,放入到相应的文件或者数据库中。分发器3012的配置文件主要有Logger和Appender。Logger的名字应与相应的客户端302的配置一致。Appender则为根据不同规则来处理加工日志数据和存放日志数据的真正执行者。 可以根据具体的规则来实现Appender接口的不同子类,从而实现具体需求。换言之,根据本专利技术的分布式系统具有很强的可扩展性。例如,DaiIyRolIingFiIeAppender,如果为其配置了以下属性File = “ /data/logs/userac本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于分布式环境下的日志记录方法,包括以下步骤配置日志服务器和客户端的日志策略;实时地将所述客户端的日志发送给所述日志服务器;以及按照所述日志策略对所述日志服务器接收到的所述日志进行存储。2.根据权利要求1所述的日志记录方法,其中所述实时地将所述客户端的日志发送给所述日志服务器的步骤通过TCP长连接来实现。3.根据权利要求1所述的日志记录方法,其中所述实时地将所述客户端的日志发送给所述日志服务器的步骤通过UDP协议来实现。4.根据权利要求1所述的日志记录方法,其中所述日志策略包括日志文件存储名称、 格式和滚动周期中的至少一个。5.一种用于分布式环境...

【专利技术属性】
技术研发人员:闫志东刘军
申请(专利权)人:北京千橡网景科技发展有限公司
类型:发明
国别省市:

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

1
相关领域技术