CN108365971A - 日志解析方法、设备及计算机可读介质 - Google Patents
日志解析方法、设备及计算机可读介质 Download PDFInfo
- Publication number
- CN108365971A CN108365971A CN201810024935.1A CN201810024935A CN108365971A CN 108365971 A CN108365971 A CN 108365971A CN 201810024935 A CN201810024935 A CN 201810024935A CN 108365971 A CN108365971 A CN 108365971A
- Authority
- CN
- China
- Prior art keywords
- data
- cluster
- server
- daily record
- mentioned
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种日志解析方法、设备及计算机可读介质,该方法包括:接收应用服务器发送的日志处理请求,所述日志处理请求携带初始日志数据以及与所述初始日志数据对应的目标集群主题;对所述初始日志数据进行流式数据处理,获得目标日志数据;将所述目标日志数据写入所述目标集群主题下的分区。本发明实施例可以减少一般通过离线程序来解析日志时,在业务服务器和大数据平台之间的数据同步操作,减少了数据传输的网络开销、磁盘的IO开销,降低了处理耗时,从而提高日志解析的处理时效性,便于根据日志解析结果分析得到广告热门度及用户分布情况、合理收取广告商费用和提供行业发展方向等。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种日志解析方法、设备及计算机可读介质。
背景技术
广告日志数据可以是有价值的信息宝库,例如可以通过广告日志数据统计广告媒体服务平台(Supply Side Platform,SSP)、广告交易平台(Ad Exchange,ADX)、广告主广告需求平台(Demand-Side Platform,DSP)的各项指标,如广告请求、广告返回、曝光(展示)量、点击量、下载量、安装量、启动量、激活量等,进行数据分析,获得有价值的信息,方便各平台运营维护。
目前,广告日志会存储到部署广告应用程序的网络服务器的本地磁盘,广告日志解析是通过一种离线的编程模型程序或者一个分布式的离线批处理统计框架对网络服务器的本地磁盘中的广告日志进行解析。可见,目前的日志解析方式数据同步耗时长,广告日志数据的解析步骤繁琐、时效性较低。
发明内容
本发明实施例提供一种日志解析方法、设备及计算机可读介质,其中,通过该方法,可以减化日志数据的解析步骤和耗时,提高日志解析时效性。
第一方面,本发明实施例提供了一种日志解析方法,该方法包括:
接收应用服务器发送的日志处理请求,所述日志处理请求携带初始日志数据以及与所述初始日志数据对应的目标集群主题;
对所述初始日志数据进行流式数据处理,获得目标日志数据;
将所述目标日志数据写入所述目标集群主题下的分区。
第二方面,本发明实施例还提供了一种日志解析方法,该方法包括:
通过代理服务器转发的客户端到服务器端的请求消息获得初始日志数据;
确定所述初始日志数据对应的目标集群主题;
向集群服务器发送日志处理请求,所述日志处理请求携带所述初始日志数据以及与所述初始日志数据对应的目标集群主题。
第三方面,本发明实施例提供了一种终端设备,该终端设备包括用于执行上述第一方面的方法的单元。
第四方面,本发明实施例提供了又一种终端设备,该终端设备包括用于执行上述第二方面的方法的单元。
第五方面,本发明实施例提供了另一种终端设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端设备执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第六方面,本发明实施例提供了另一种终端设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端设备执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第二方面的方法。
第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第二方面的方法。
本发明实施例通过集群服务器接收应用服务器发送的日志处理请求,对所述初始日志数据进行流式数据处理,并写入目标集群主题下的分区,减少了一般将日志数据存储在本地磁盘后,在业务服务器和大数据平台之间的数据同步操作,可以减少数据传输的网络开销、磁盘的IO开销,与通过离线程序来解析日志相比,降低了处理耗时,从而提高日志解析的处理时效性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种日志解析方法的示意流程图;
图2是本发明实施例提供的另一种日志解析方法的示意流程图;
图3是本发明实施例提供的另一种日志解析方法的示意流程图;
图4是本发明实施例提供的一种集群服务器的示意性框图;
图5是本发明实施例提供的一种应用服务器的示意性框图;
图6是本发明实施例提供的另一种集群服务器示意性框图;
图7是本发明实施例提供的另一种应用服务器的示意性框图;
图8是本发明实施例提供的一种日志解析方法的终端设备交互示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本发明实施例中描述的终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端设备。然而,应当理解的是,终端设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端设备上显示的相应信息。这样,终端设备的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
参见图1,是本发明实施例提供的一种日志解析方法的示意流程图,如图1所示该方法可包括:
101、集群服务器接收应用服务器发送的日志处理请求,上述日志处理请求携带初始日志数据以及与上述初始日志数据对应的目标集群主题。
其中,集群(Cluster)是由一些互相连接在一起的计算机构成的一个并行或分布式系统,这些计算机一起工作并运行一系列共同的应用程序,同时,为用户和应用程序提供单一的系统映射。通俗地说,从外部来看,它们仅仅是一个系统,使多台服务器能够像一台机器那样工作或者看起来好像一台机器,对外提供统一的服务。集群内的计算机物理上通过电缆连接,程序上则通过集群软件连接。这些连接允许计算机使用故障应急与负载平衡功能,而故障应急与负载平衡功能在单机上是不可能实现的。
本发明实施例中的集群服务器可以理解为上述集群中的服务器,采用集群系统通常是为了提高系统的稳定性和网络中心的数据处理能力及服务能力。
本发明实施例中提及的应用服务器(Application Server),是指通过各种协议把商业逻辑曝露给客户端的程序。它提供了访问商业逻辑的途径以供客户端应用程序使用。应用服务器使用此商业逻辑就像调用对象的一个方法一样。Web应用程序驻留在应用服务器上。应用服务器为Web应用程序提供一种简单的和可管理的对系统资源的访问机制。它也提供低级的服务、超文本传输协议(HTTP,HyperText Transfer Protocol)的实现和数据库连接管理。HTTP协议是互联网上应用最为广泛的一种网络协议。
本发明实施例中提到的应用服务器可以为汤姆猫(Tomcat)服务器,Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
具体地,集群服务器可以接收应用服务器发送的日志处理请求,这里的集群可以为卡夫卡(Kafka)集群,这是最初由Linkedin公司开发的一个分布式、支持分区(partition)的、多副本(replica)的,基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,也可以说是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。而由于日志数据的数据量极大,卡夫卡(Kafka)集群的处理方式非常适用于本发明实施例中的日志数据解析,以提高处理效率。
上述集群服务器具体可以看作Kafka集群中的任意一个服务器,也可以称为集群中的一个Kafka Broker节点。Kafka集群中所有的Kafka Broker一起去Zookeeper上注册一个临时节点,因为只有一个Kafka Broker会注册成功,其他的都会失败,所以这个成功在Zookeeper上注册临时节点的Kafka Broker会成为管理节点(Kafka Broker Controller),即管理服务器,其他的Kafka broker叫从节点(Kafka Broker follower),即从属服务器。这个管理服务器会监听其他的Kafka Broker的所有信息,若这个管理服务器故障,在zookeeper上面的那个临时节点就会消失,此时所有的kafka broker又会一起去Zookeeper上注册一个临时节点,成为新的管理服务器,这种方式能够保证始终有一个管理服务器对整个集群的其他服务器进行监控,能够维护系统的稳定性,更好地进行大规模数据处理。
上述集群服务器可以接收应用服务器发送的日志处理请求,其中,上述集群服务器可以理解为集群中的从属服务器。集群服务器,应用服务器发送的上述日志处理请求携带初始日志数据以及与上述初始日志数据对应的目标集群主题,
上述日志处理请求携带初始日志数据以及与上述初始日志数据对应的目标集群主题。其中,日志数据是用于记录系统操作事件的记录数据,若理解为日志文件,则可以说是用于记录系统操作事件的记录文件或文件集合,具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。
Kafka集群的集群主题(Topic)可以理解为逻辑上的分类,也相当于传统消息系统中的一个队列,在本发明实施例中,应用服务器发送的消息或数据必须指定是发送到哪个Topic,因为Kafka会把收到的任务进行负载均衡,即均匀的分配在这个Topic下的不同的分区(Partition)上。物理上把Topic分成一个或多个分区,每个分区相当于是一个子队列,在物理上对应一个物理目录(文件夹),文件夹命名是[Topic name]_[partition]_[序号],该文件夹下存储这个分区的所有消息和索引文件。例如,若创建Topic1和Topic2两个Topic,且分别有13个和19个分区,则整个集群上会相应会生成共32个文件夹。一个Topic理论上可以有无数多的分区,根据业务需求和数据量来设置。在创建Topic时通过参数指定分区数量在,Kafka配置文件中可通过更改参数来配置更改Topic的分区数量,Topic创建之后通过Kafka提供的工具也可以修改分区数量。
集群服务器可以接收应用服务器发送的日志处理请求,上述日志处理请求携带初始日志数据以及与所述初始日志数据对应的目标集群主题,上述日志处理请求中的初始日志数据可以是经过压缩或打包的数据,方便快速传输,上述目标集群主题由应用服务器确定,即上述初始日志数据经过集群服务器处理后会被分到对应的目标集群主题下的分区储存,可选的,上述初始日志数据经过集群服务器处理后也可以存储在其他集群主题下。上述日志处理请求可以是周期性发送的,周期很短,单独来看,可以看作是应用服务器发送一条日志处理请求,就有集群服务器接收一条日志处理请求并进行后续处理,整体来看,实质上可以是很多日志处理请求同时被不同集群服务器接收并进行处理。
102、该集群服务器对上述初始日志数据进行流式数据处理,获得目标日志数据。
具体地,该集群服务器可以识别出上述日志处理请求中的初始日志数据,对上述初始日志数据进行流式数据处理,获得目标日志数据。由于上述初始日志数据是采集后未经整理发送到集群服务器的数据,其实是混乱的数据,可以看作一串串的字符串,各种字段糅合在一起,并且可能掺杂多余的字符。而需要的目标日志数据,是经过整合处理得到的格式化数据,便于有序地进行归类存储,方便进行后续的分析使用。想要获得目标日志数据,就需要对初始日志数据进行处理。
该集群服务器可以通过Spark Streaming对上述初始日志数据进行流式数据处理,获得目标日志数据。
Spark是一种开源集群计算环境,Spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。Spark Streaming是Spark核心应用程序编程接口(Application Programming Interface,API)的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,包括Kafka、Flume、Twitter、ZeroMQ、Kinesis以及TCP sockets,从数据源获取数据之后,可以使用高级函数进行复杂算法的处理,最后还可以将处理结果存储到文件系统、数据库和现场仪表盘。
Spark Streaming在内部的处理机制是,接收实时流的数据,并根据一定的时间间隔拆分成一批批数据(batch data),然后进行处理,最终得到处理后的一批批结果数据。这是化整为零的第一步,将实时流数据以时间片为单位进行分批,将流处理转化为时间片数据的批处理,随着持续时间的推移,这些处理结果就形成了对应的结果数据流了,即获得了上述目标日志数据。
可选的,该集群服务器可以通过Storm框架对上述初始日志数据进行流式数据处理,获得目标日志数据。
Storm是一个免费开源、分布式、高容错的实时计算系统。虽然上述两框架都提供了可扩展性和可容错性,延时性都比较低,但是它们的处理模型从根本上说是不一样的。Storm可以实现亚秒级时延的处理,而每次只处理一条数据或称为事件,而SparkStreaming可以在一个短暂的时间窗口里面处理多条数据,更适合结合Kafka集群对大规模的日志数据进行处理。
103、该集群服务器将上述目标日志数据写入上述目标集群主题下的分区。
具体地,(11)该集群服务器可以通过基于负载均衡的方法将上述目标日志数据写入包含该目标集群主题的至少两个集群节点中该目标集群主题下的分区。使用分区在某些应用场景下能给有效地提高性能,当只需要遍历某一个小范围内的数据或者一定条件下的数据时,它可以有效减少扫描数据的数量。分区表是将大表的数据分成称为分区的许多小的子集,使数据可以按顺序读取和写入。
其中,负载均衡(Load Balance)建立在现有网络结构之上,其意思就是分摊任务到多个操作单元上进行执行,例如Web服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
还是以Kafka集群为例,根据当前各分区的存储量,在已确定Topic(为目标Topic)的情况下,集群内部可以选择将上述目标日志数据写入该Topic下可用存储空间相对充足的分区,若分区的可用存储空间差异不大,集群可通过均匀分配的原则,将一定数量的目标日志数据平均分配给上述至少两个集群服务器。集群的管理服务器可以在包含该Topic的集群从属服务器中选择至少两个从属服务器,上述至少两个集群服务器将上述目标日志数据写入该Topic下的分区,其中,先将上述目标日志数据写入第一集群服务器,第一集群服务器可以看作该分区的分区主节点,其余的集群服务器可以将数据进行备份(存储副本),即分区从节点,因为集群中每个分区可以在其他的节点上存副本,以便某个节点宕机不会影响这个集群运行,通过上述备份方式,可以避免数据完全丢失,进一步增加了系统可靠性。
可选的,若上述日志处理请求还携带分区关键字,步骤103具体可以为:该集群服务器解析上述分区关键字,获取上述分区关键字中的分区标识,将上述目标日志数据写入包含上述目标集群主题的至少两个集群节点中该目标集群主题下该分区标识对应的分区。分区标识可以理解为指示分区的标签或者分区编号,具体地,与上述步骤(11)相比,区别在于,该集群服务器可以解析上述分区关键字,从而获取上述分区关键字中的分区标识,该分区标识制定了上述目标日志数据最终写入的分区,即该集群服务器不使用负载均衡的方式选择上述目标日志数据写入的分区,而是可以根据该分区标识将上述目标日志数据写入对应的分区。与步骤(11)同样的,写入的至少两个集群节点包含上述目标集群主题,通过分区关键字,该集群服务器可以将上述目标日志数据写入包含上述目标集群主题的至少两个集群节点中该目标集群主题下该分区标识对应的分区。
该集群服务器可以将上述目标日志数据存储在上述目标集群主题下的分区,可选的,该集群服务器可以使用Spark SQL通过Hive接口将上述目标日志数据写入Hive分区表。
Hive是一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的结构化查询语言(Structured Query Language,SQL)查询功能,可以将SQL语句转换为MapReduce任务进行运行。SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念“映射(Map)”和“归约(Reduce)”,是主要思想,都是从函数式编程语言里借来的、和从矢量编程语言里借来的特性,它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。可以通过类SQL语句(例如Spark SQL)快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下,分区以字段的形式在表结构中存在,当数据被加载至表中时,不会对数据进行任何转换,只是将数据复制至Hive表对应的位置,数据加载时在表下自动创建一个目录,文件存放在该分区下。通过查询命令可以查看到字段的存在,但是该字段不存放实际的数据内容,仅仅是分区的表示,在Hive中,表中的一个分区对应于表下的一个目录。庞大的数据集可能需要耗费大量的时间去处理,在许多场景下,可以通过分区或切片的方法减少每一次扫描总数据量,这种做法可以显著地改善系统性能。总的说来分区可以辅助查询,缩小查询范围,加快数据的检索速度和对数据按照一定的规格和条件进行管理。
时效性是指信息仅在一定时间段内对决策具有价值的属性。决策的时效性很大程度上制约着决策的客观效果。就是说同一件事物在不同的时间具有很大的性质上的差异,我们管这个差异性叫时效性,时效性影响着决策的生效时间,可以说是时效性决定了决策在那些时间内有效。例如对广告日志数据的解析和分析,若提高了处理速度,得到可利用的数据结果所需的时间就会更短,便于更快地获得需要的信息,信息延时低,即提高了日志解析的处理时效性。
本发明实施例通过集群服务器接收应用服务器发送的日志处理请求,对所述初始日志数据进行流式数据处理,并写入目标集群主题下的分区,减少了一般将日志数据存储在本地磁盘后,在业务服务器和大数据平台之间的数据同步操作,可以减少数据传输的网络开销、磁盘的IO开销,与通过离线程序来解析日志相比,降低了处理耗时,从而提高日志解析的处理时效性。
参见图2,是本发明实施例提供的另一种日志解析方法的示意流程图,如图2所示该方法可包括:
201、应用服务器通过代理服务器转发的客户端到服务器端的请求消息获得初始日志数据。
其中,客户端到服务器端的请求消息即HTTP请求,HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。一个HTTP客户端是一个应用程序(Web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。一个HTTP服务器同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HTTP响应数据。HTTP使用统一资源标识符(Uniform Resource Identifiers,URI)来传输数据和建立连接。一旦建立连接后,数据消息就通过类似Internet邮件所使用的格式和多用途Internet邮件扩展(MIME)来传送。
代理服务器(Proxy Server)是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。代理服务器大多被用来连接国际互联网(Internet)和局域网(Local Area Network)。反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器,当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。WEB服务器也称为WWW(World Wide Web)服务器,主要功能是提供网上信息浏览服务,此时代理服务器对外也可以看作一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了服务器的安全性。
具体地,代理服务器可以向应用服务器转发HTTP请求,应用服务器可以通过HTTP请求获得初始日志数据。每次HTTP请求,应用服务器都会记录请求的相关信息,也就是访问日志。在广告日志数据解析方面,这里的日志可以是广告请求类日志或者广告监播类日志。
202、该应用服务器确定上述初始日志数据对应的目标集群主题。
该应用服务器可以根据日志数据类型与集群主题的对应关系确定上述初始日志数据对应的目标集群主题。
其中,日志数据类型与集群主题的对应关系可以由用户约定设置,具体可以表现为包含日志数据类型与集群主题的对应表存储在该应用服务器上,当该应用服务器获得初始日志数据之后,可以通过上述对应表,根据初始日志数据的类型找到对应的目标集群主题,继而可以执行步骤203。
203、该应用服务器向集群服务器发送日志处理请求。上述日志处理请求携带上述初始日志数据以及与上述初始日志数据对应的目标集群主题。
该应用服务器可以向集群服务器发送日志处理请求,该应用服务器可以先获取与集群服务器的连接信息,连接成功的情况下,向集群服务器发送日志处理请求,上述日志处理请求携带上述初始日志数据以及与上述初始日志数据对应的目标集群主题。可选的,上述日志处理请求还携带分区关键字,所述分区关键字用于所述集群服务器进行解析以得到分区标识,上述分区标识用于指示目标日志数据写入的分区,上述目标日志数据为上述集群服务器对上述初始日志数据进行流式数据处理后得到的日志数据,其用途可以参考图1所示的方法实施例中步骤103的部分具体描述。
通过应用服务器确定上述初始日志数据对应的目标集群主题,可以在后续处理中集群服务器能够快捷地对处理后的日志数据进行对应的分类(放入对应的目标主题下),便于归类存储和查找分析。
本发明实施例通过集群服务器接收应用服务器发送的日志处理请求,对所述初始日志数据进行流式数据处理,并写入目标集群主题下的分区,减少了一般将日志数据存储在本地磁盘后,在业务服务器和大数据平台之间的数据同步操作,可以减少数据传输的网络开销、磁盘的IO开销,与通过离线程序来解析日志相比,降低了处理耗时,从而提高日志解析的处理时效性。
参见图3,是本发明实施例提供的又种日志解析方法的示意流程图,图3是在图1和图2所示方法实施例的基础上得到的,如图3所示该方法可包括:
301、终端设备向代理服务器发送请求消息。上述请求消息携带通过数据埋点采集的初始日志数据。
数据埋点实际上就是基于统计分析需要,对用户行为的每一个事件进行埋点布置,并通过SDK上报埋点的数据结果,进行分析,并进一步优化产品或指导运营。埋点的技术实质,是先监听软件应用运行过程中的事件,当需要关注的事件发生时进行判断和捕获,然后获取必要的上下文信息,最后将信息整理后发送至服务器端。所监听的事件,通常由操作系统、浏览器、应用程序(Aplication,APP)框架等平台提供,也可以在基础事件之上进行触发条件的自定义(如点击某一个特定按钮)。一般情况下,埋点可以通过监测分析工具提供的软件开发工具包(Software Development Kit,SDK)来进行编程实现。SDK一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
其中,可以通过埋点的方式采集终端设备上的日志数据,例如,针对终端设备(如手机、电脑)浏览器的数据采集分析可以通过Piwik埋点统计方法,针对终端设备APP的数据采集分析可以通过SDK埋点统计方法。
广告日志数据可以理解为针对广告方面的运行和请求数据,如图所示,互联网广告领域,主要有三个平台:广告媒体服务平台(Supply Side Platform,SSP)、广告交易平台(Ad Exchange,ADX)、广告主广告需求平台(Demand-Side Platform,DSP)。SSP提供各类广告招商服务,例如一个APP的页面有广告位提供给广告主进行宣传使用,就可以通过在SSP上注册并输入相关广告招商信息,进行展示招商,而DSP则是为需要打广告的用户提供的需求平台,当用户有广告需要投放时,可以在DSP注册并且登记需求信息,例如广告时长、下载量等需求,找到合适的平台进行广告投放;DSP有投放需求,SSP的用户有被投放的价值,ADX则是连接两个平台的交易平台,进行着大量的动态、竞价交易,处理这些交易的数据。通过本发明所述的日志解析方法,可以获得具有实时性、具有备份的目标日志数据,当需要进行数据分析时,应用服务器还可以从集群中获取分区内的目标日志数据进行统计,SSP会根据各项统计数据和对应的具体媒体平台(例如某新闻媒体平台或网页器浏览器平台)进行结算。ADX会根据各项统计数据和对应的每个具体的广告主(到DSP注册的广告主)进行结算。ADX会根据各项统计数据和对应的每个具体的媒体平台(到ADX注册的媒体平台)进行结算;同时ADX还会根据各项统计数据和对应的具体DSP(到ADX注册的广告主需求平台)进行结算。
例如,在具体的应用中,当某个广告主的消耗超过在其DSP平台的充值时长时,需要停掉广告主的广告投放,通过上述对对应的广告日志数据进行分析(例如广告播放时长等),可以监控某个广告主投放广告的时长,从而在检测到广告主的消耗超过在DSP平台的充值时长时,停掉广告主的广告投放;又如,当某个SSP用户的消耗到了充值金额后需要停止其广告位在SSP继续进行竞价。
通过数据埋点可以监测到终端设备的HTTP请求,每次HTTP请求,应用服务器都会记录请求的相关信息,也就是访问日志。在广告日志数据解析方面,这里的日志可以是广告请求类日志或者广告监播类日志。广告请求类日志可以理解为记录客户端侧请求广告、返回广告请求等数据的日志,而广告监播类日志可以理解为记录广告点击量、下载量等数据的日志。
通过对上述广告日志数据的解析,可以统计SSP的各项指标、DSP的各项指标和ADX的各项指标,包括:广告请求、广告返回、曝光(展示)量、点击量、下载量、安装量、启动量、激活量。
302、代理服务器向应用服务器转发该终端设备发送的上述请求消息。
其中,代理服务器可以为反相代理服务器Nginx服务器。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行,其特点是占有内存少,并发能力强,因此适用于大数据量的日志数据请求处理。
303、应用服务器通过上述请求消息获得上述初始日志数据。
304、应用服务器确定上述初始日志数据对应的目标集群主题。
305、应用服务器向集群服务器发送日志处理请求。上述日志处理请求携带上述初始日志数据以及与上述初始日志数据对应的目标集群主题。
306、集群服务器接收上述日志处理请求,对上述初始日志数据进行流式数据处理,获得目标日志数据。
307、集群服务器将上述目标日志数据写入上述目标集群主题下的分区。
其中,上述实施例中的步骤303、步骤304和步骤305分别可以参考如图2所示的方法实施例中的步骤201、步骤202和步骤203的具体描述,步骤306可以参考如图1所示的方法实施例中的步骤102和步骤102的具体描述,步骤307可以参考如图1所示的方法实施例中的步骤103的具体描述,此处不再赘述。
本发明实施例通过集群服务器接收应用服务器发送的日志处理请求,对所述初始日志数据进行流式数据处理,并写入目标集群主题下的分区,减少了一般将日志数据存储在本地磁盘后,在业务服务器和大数据平台之间的数据同步操作,可以减少数据传输的网络开销、磁盘的IO开销,与通过离线程序来解析日志相比,降低了处理耗时,从而提高日志解析的处理时效性。
参见图4,是本发明实施例提供的一种集群服务器的结构示意图,如图4所示可包括:数据接收单元410、数据处理单元420以及数据写入单元440。
数据接收单元410,用于接收应用服务器发送的日志处理请求。
其中,上述日志处理请求携带初始日志数据以及与上述初始日志数据对应的目标集群主题。上述日志处理请求中的初始日志数据可以是经过压缩或打包的数据,方便快速传输,上述目标集群主题由应用服务器确定。上述日志处理请求可以是周期性发送的,周期很短,单独来看,可以看作是应用服务器发送一条日志处理请求,就有集群服务器的数据接收单元410接收一条日志处理请求并进行后续处理,整体来看,实质上可以是很多日志处理请求同时被不同集群服务器接收并进行处理。
数据处理单元420,用于对所述初始日志数据进行流式数据处理,获得目标日志数据。
具体地,数据处理单元420可以通过Spark Streaming对上述初始日志数据进行流式数据处理,获得目标日志数据。
可选的,数据处理单元420可以通过Storm框架对上述初始日志数据进行流式数据处理,获得目标日志数据。
数据写入单元430,用于将所述目标日志数据写入所述集群主题下的分区。
具体地,(41)数据写入单元430可以通过基于负载均衡的方法将上述目标日志数据写入包含该目标集群主题的至少两个集群节点中该目标集群主题下的分区。
以Kafka集群为例,根据当前各分区的存储量,在已确定Topic(为目标Topic)的情况下,集群内部可以选择将上述目标日志数据通过数据写入单元430写入该Topic下可用存储空间相对充足的分区,若分区的可用存储空间差异不大,集群可通过均匀分配的原则,将一定数量的目标日志数据平均分配给上述至少两个集群服务器。集群的管理服务器可以在包含该Topic的集群从属服务器中选择至少两个从属服务器,上述至少两个集群服务器通过数据写入单元430将上述目标日志数据写入该Topic下的分区,其中,先将上述目标日志数据写入第一集群服务器,第一集群服务器可以看作该分区的分区主节点,其余的集群服务器可以将数据进行备份(存储副本),即分区从节点,因为集群中每个分区可以在其他的节点上存副本,以便某个节点宕机不会影响这个集群运行,通过上述备份方式,可以避免数据完全丢失,进一步增加了系统可靠性。
可选的,该集群服务器还包括数据解析单元440,用于在上述日志处理请求还携带分区关键字的情况下,解析上述分区关键字,获取上述分区关键字中的分区标识。
具体地,分区标识可以理解为指示分区的标签或者分区编号,具体地,与上述步骤(41)相比,区别在于,数据解析单元440可以解析上述分区关键字,从而获取上述分区关键字中的分区标识,该分区标识制定了上述目标日志数据最终写入的分区,即不使用负载均衡的方式选择上述目标日志数据写入的分区,而是可以根据该分区标识确定分区,通过数据写入单元430将上述目标日志数据写入对应的分区。与步骤(11)同样的,写入的至少两个集群节点包含上述目标集群主题,通过分区关键字,该集群服务器可以通过数据写入单元430将上述目标日志数据写入包含上述目标集群主题的至少两个集群节点中该目标集群主题下该分区标识对应的分区。
可选的,数据写入单元430还用于,使用Spark SQL通过Hive接口将上述目标日志数据写入Hive分区表。
一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下,分区以字段的形式在表结构中存在,当数据被加载至表中时,不会对数据进行任何转换,数据写入单元430只是将数据复制至Hive表对应的位置,数据加载时在表下自动创建一个目录,文件存放在该分区下。通过查询命令可以查看到字段的存在,但是该字段不存放实际的数据内容,仅仅是分区的表示,在Hive中,表中的一个分区对应于表下的一个目录。庞大的数据集可能需要耗费大量的时间去处理,在许多场景下,可以通过分区或切片的方法减少每一次扫描总数据量,这种做法可以显著地改善系统性能。总的说来分区可以辅助查询,缩小查询范围,加快数据的检索速度和对数据按照一定的规格和条件进行管理。
参见图5,是本发明实施例提供的一种应用服务器的结构示意图,如图5所示该应用服务器可包括:数据获取单元510、确定单元520以及数据发送单元530。
数据获取单元510,用于通过代理服务器转发的客户端到服务器端的请求消息获得初始日志数据。
其中,客户端到服务器端的请求消息即HTTP请求,HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。一个HTTP客户端是一个应用程序(Web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。一个HTTP服务器同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HTTP响应数据。
具体地,代理服务器可以向应用服务器转发HTTP请求,应用服务器可以通过HTTP请求获得初始日志数据。每次HTTP请求,应用服务器都会记录请求的相关信息,也就是访问日志。在广告日志数据解析方面,这里的日志可以是广告请求类日志或者广告监播类日志。其中,代理服务器可以为反相代理服务器Nginx服务器。
确定单元520,用于确定上述初始日志数据对应的集群主题。
确定单元520根据日志数据类型与集群主题的对应关系确定上述初始日志数据对应的目标集群主题。
其中,日志数据类型与集群主题的对应关系可以由用户约定设置,具体可以表现为包含日志数据类型与集群主题的对应表存储在该应用服务器上,当数据获取单元510获得初始日志数据之后,确定单元520可以通过上述对应表,根据初始日志数据的类型找到对应的目标集群主题。
数据发送单元530,用于向集群服务器发送日志处理请求,上述日志处理请求携带上述初始日志数据以及与上述初始日志数据对应的集群主题。
数据发送单元530可以向集群服务器发送日志处理请求,数据发送单元530可以先获取与集群服务器的连接信息,连接成功的情况下,向集群服务器发送日志处理请求,上述日志处理请求携带上述初始日志数据以及与上述初始日志数据对应的目标集群主题。可选的,上述日志处理请求还携带分区关键字,所述分区关键字用于集群服务器进行解析以得到分区标识,上述分区标识用于指示目标日志数据写入的分区,上述目标日志数据为上述集群服务器对上述初始日志数据进行流式数据处理后得到的日志数据,其用途可以参考图1所示的方法实施例中步骤103的部分具体描述。
通过确定单元520确定上述初始日志数据对应的目标集群主题,可以在后续处理中集群服务器能够快捷地对处理后的日志数据进行对应的分类(放入对应的目标主题下),便于归类存储和查找分析。
参见图6,是本发明实施例提供的另一种集群服务器的结构示意图,如图所示的本实施例中的集群服务器可以包括:一个或多个处理器601;一个或多个输入设备602,一个或多个输出设备603和存储器604。上述处理器601、输入设备602、输出设备603和存储器604通过总线605连接。存储器604用于存储计算机程序,所述计算机程序包括程序指令,处理器601用于执行存储器604存储的程序指令。其中,处理器601用于执行存储器604存储的程序指令。
处理器601,用于接收应用服务器发送的日志处理请求。
其中,上述日志处理请求携带初始日志数据以及与上述初始日志数据对应的目标集群主题。上述日志处理请求中的初始日志数据可以是经过压缩或打包的数据,方便快速传输,上述目标集群主题由应用服务器确定。上述日志处理请求可以是周期性发送的,周期很短,单独来看,可以看作是应用服务器发送一条日志处理请求,就有集群服务器接收一条日志处理请求并进行后续处理,整体来看,实质上可以是很多日志处理请求同时被不同集群服务器的处理器601接收并进行处理。
处理器601,还用于对所述初始日志数据进行流式数据处理,获得目标日志数据。
具体地,处理器601可以通过Spark Streaming对上述初始日志数据进行流式数据处理,获得目标日志数据。
可选的,处理器601可以通过Storm框架对上述初始日志数据进行流式数据处理,获得目标日志数据。
地,处理器601具体可以用于通过基于负载均衡的方法将上述目标日志数据写入包含该目标集群主题的至少两个集群节点中该目标集群主题下的分区。
以Kafka集群为例,根据当前各分区的存储量,在已确定Topic(为目标Topic)的情况下,集群内部可以选择将上述目标日志数据写入该Topic下可用存储空间相对充足的分区,若分区的可用存储空间差异不大,集群处理器可通过均匀分配的原则,将一定数量的目标日志数据平均分配给上述至少两个集群服务器。集群的管理服务器可以在包含该Topic的集群从属服务器中选择至少两个从属服务器,上述至少两个集群服务器可以通过处理器将上述目标日志数据写入该Topic下的分区,其中,先将上述目标日志数据写入第一集群服务器,第一集群服务器可以看作该分区的分区主节点,其余的集群服务器可以将数据进行备份(存储副本),即分区从节点,因为集群中每个分区可以在其他的节点上存副本,以便某个节点宕机不会影响这个集群运行,通过上述备份方式,可以避免数据完全丢失,进一步增加了系统可靠性。
可选的,处理器601,还用于在上述日志处理请求还携带分区关键字的情况下,解析上述分区关键字,获取上述分区关键字中的分区标识。
具体地,分区标识可以理解为指示分区的标签或者分区编号,具体地,与上述步骤(31)相比,区别在于,处理器601可以解析上述分区关键字,从而获取上述分区关键字中的分区标识,该分区标识制定了上述目标日志数据最终写入的分区,即不使用负载均衡的方式选择上述目标日志数据写入的分区,而是可以根据该分区标识确定分区,处理器601将上述目标日志数据写入对应的分区。与步骤(11)同样的,写入的至少两个集群节点包含上述目标集群主题,通过分区关键字,该集群服务器可以提供处理器601将上述目标日志数据写入包含上述目标集群主题的至少两个集群节点中该目标集群主题下该分区标识对应的分区。
可选的,处理器601还用于,使用Spark SQL通过Hive接口将上述目标日志数据写入Hive分区表。
一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下,分区以字段的形式在表结构中存在,当数据被加载至表中时,不会对数据进行任何转换,处理器601只是将数据复制至Hive表对应的位置,数据加载时在表下自动创建一个目录,文件存放在该分区下。通过查询命令可以查看到字段的存在,但是该字段不存放实际的数据内容,仅仅是分区的表示,在Hive中,表中的一个分区对应于表下的一个目录。庞大的数据集可能需要耗费大量的时间去处理,在许多场景下,可以通过分区或切片的方法减少每一次扫描总数据量,这种做法可以显著地改善系统性能。总的说来分区可以辅助查询,缩小查询范围,加快数据的检索速度和对数据按照一定的规格和条件进行管理。
参见图7,是本发明实施例提供的一种应用服务器的结构示意图,如图所示的本实施例中的集群服务器可以包括:一个或多个处理器701;一个或多个输入设备702,一个或多个输出设备703和存储器704。上述处理器701、输入设备702、输出设备703和存储器704通过总线707连接。存储器704用于存储计算机程序,所述计算机程序包括程序指令,处理器701用于执行存储器704存储的程序指令。其中,处理器701用于执行存储器704存储的程序指令。
处理器701,用于通过代理服务器转发的客户端到服务器端的请求消息获得初始日志数据。
其中,客户端到服务器端的请求消息即HTTP请求,HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。一个HTTP客户端是一个应用程序(Web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。一个HTTP服务器同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HTTP响应数据。
具体地,代理服务器可以向应用服务器转发HTTP请求,处理器701可以通过HTTP请求获得初始日志数据。每次HTTP请求,应用服务器的处理器701都会记录请求的相关信息,也就是访问日志。在广告日志数据解析方面,这里的日志可以是广告请求类日志或者广告监播类日志。其中,代理服务器可以为反相代理服务器Nginx服务器。
处理器701,还用于确定上述初始日志数据对应的集群主题。
处理器701可以根据日志数据类型与集群主题的对应关系确定上述初始日志数据对应的目标集群主题。
其中,日志数据类型与集群主题的对应关系可以由用户约定设置,具体可以表现为包含日志数据类型与集群主题的对应表存储在该应用服务器上,当获得初始日志数据之后,处理器701可以通过上述对应表,根据初始日志数据的类型找到对应的目标集群主题。
处理器701,用于向集群服务器发送日志处理请求,上述日志处理请求携带上述初始日志数据以及与上述初始日志数据对应的集群主题。
处理器701可以通过输出设备703向集群服务器发送日志处理请求,处理器701可以先获取与集群服务器的连接信息,连接成功的情况下,向集群服务器发送日志处理请求,上述日志处理请求携带上述初始日志数据以及与上述初始日志数据对应的目标集群主题。可选的,上述日志处理请求还携带分区关键字,所述分区关键字用于集群服务器进行解析以得到分区标识,上述分区标识用于指示目标日志数据写入的分区,上述目标日志数据为上述集群服务器对上述初始日志数据进行流式数据处理后得到的日志数据,其用途可以参考图1所示的方法实施例中步骤103的部分具体描述。
通过处理器确定上述初始日志数据对应的目标集群主题,可以在后续处理中集群服务器能够快捷地对处理后的日志数据进行对应的分类(放入对应的目标主题下),便于归类存储和查找分析。
参见图8,图8是本发明实施例通提供的一种日志解析系统架构示意图,其中包括终端设备810、终端设备811、代理服务器820、应用服务器830以及集群服务器841,该系统架构中的所有设备可以通过无线网络连接,本发明实施例中,采集日志数据的客户端终端设备810和811可以为一台或多台电脑或移动终端(例如手机),其中,应用服务器可以为多台,例如图中的应用服务器830、应用服务器831和应用服务器832,集群840中可以包括多台集群服务器,此处以应用服务器831和集群服务器841为例,代理服务器820可以向应用服务器831转发终端设备的HTTP请求,即上述请求消息,应用服务器831可以通过上述请求消息获得上述初始日志数据,并且可以确定上述初始日志数据对应的目标集群主题;应用服务器831向集群服务器841发送日志处理请求,上述日志处理请求携带上述初始日志数据以及与上述初始日志数据对应的目标集群主题;集群服务器431可以接收上述日志处理请求,对上述初始日志数据进行流式数据处理,获得目标日志数据,然后,集群服务器431可以将上述目标日志数据写入上述目标集群主题下的分区。由此可见,如图8所示的日志解析系统架构可以实现如图3所述的日志解析方法。
在本发明的另一实施例中提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,被处理器执行时实现上述图1所示的日志解析方法实施例。
所述计算机可读存储介质可以是前述任一实施例所述的日志解析方法的相关设备或系统的内部存储单元,例如终端设备的硬盘或内存。所述计算机可读存储介质也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括终端设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元(单元)可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种日志解析方法,其特征在于,包括:
接收应用服务器发送的日志处理请求,所述日志处理请求携带初始日志数据以及与所述初始日志数据对应的目标集群主题;
对所述初始日志数据进行流式数据处理,获得目标日志数据;
将所述目标日志数据写入所述目标集群主题下的分区。
2.根据权利要求1所述的方法,其特征在于,所述对所述初始日志数据进行流式数据处理,包括:
通过实时流处理方法对所述初始日志数据进行数据清洗。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标日志数据写入所述目标集群主题下的分区,包括:
通过基于负载均衡的方法将所述目标日志数据写入包含所述目标集群主题的至少两个集群节点中所述目标集群主题下的分区。
4.根据权利要求2所述的方法,其特征在于,所述日志处理请求还携带分区关键字,
所述将所述目标日志数据写入所述目标集群主题下的分区包括:
解析所述分区关键字,获取所述分区关键字中的分区标识,将所述目标日志数据写入包含所述目标集群主题的至少两个集群节点中所述目标集群主题下所述分区标识对应的分区。
5.一种日志解析方法,其特征在于,包括:
通过代理服务器转发的客户端到服务器端的请求消息获得初始日志数据;
确定所述初始日志数据对应的目标集群主题;
向集群服务器发送日志处理请求,所述日志处理请求携带所述初始日志数据以及与所述初始日志数据对应的目标集群主题。
6.根据权利要求5所述的方法,其特征在于,所述日志处理请求还携带分区关键字,所述分区关键字用于所述集群服务器进行解析以得到分区标识,所述分区标识用于指示目标日志数据写入的分区,所述目标日志数据为所述集群服务器对所述初始日志数据进行流式数据处理后得到的日志数据。
7.根据权利要求6所述的方法,其特征在于,所述确定所述初始日志数据对应的目标集群主题包括:
根据日志数据类型与集群主题的对应关系确定所述初始日志数据对应的目标集群主题。
8.一种集群服务器,其特征在于,包括用于执行如权利要求1-4任一权利要求所述的方法的单元。
9.一种应用服务器,其特征在于,包括用于执行如权利要求5-7任一权利要求所述的方法的单元。
10.一种集群服务器,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-4任一项所述的方法。
11.一种应用服务器,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求5-7任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-4任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求5-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810024935.1A CN108365971A (zh) | 2018-01-10 | 2018-01-10 | 日志解析方法、设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810024935.1A CN108365971A (zh) | 2018-01-10 | 2018-01-10 | 日志解析方法、设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108365971A true CN108365971A (zh) | 2018-08-03 |
Family
ID=63011249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810024935.1A Withdrawn CN108365971A (zh) | 2018-01-10 | 2018-01-10 | 日志解析方法、设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108365971A (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151464A (zh) * | 2018-11-14 | 2019-01-04 | 江苏鸿信系统集成有限公司 | 基于大数据流处理的iptv机顶盒故障实时检测方法 |
CN109189854A (zh) * | 2018-08-14 | 2019-01-11 | 新华三技术有限公司成都分公司 | 提供持续业务的方法及节点设备 |
CN109271106A (zh) * | 2018-08-31 | 2019-01-25 | 华为技术有限公司 | 消息存储、读取方法及装置、服务器、存储介质 |
CN109525448A (zh) * | 2019-01-10 | 2019-03-26 | 北京智信未来信息技术有限公司 | 日志数据采集系统及方法 |
CN109684370A (zh) * | 2018-09-07 | 2019-04-26 | 平安普惠企业管理有限公司 | 日志数据处理方法、系统、设备及存储介质 |
CN109947778A (zh) * | 2019-03-27 | 2019-06-28 | 联想(北京)有限公司 | 一种Spark存储方法及系统 |
CN110161183A (zh) * | 2019-05-30 | 2019-08-23 | 广东柯内特环境科技有限公司 | 一种空气质量监测方法 |
CN110377441A (zh) * | 2019-06-04 | 2019-10-25 | 天津五八到家科技有限公司 | 打车应用软件线上问题定位方法、装置、设备及存储介质 |
CN110688383A (zh) * | 2019-09-26 | 2020-01-14 | 中国银行股份有限公司 | 数据采集方法及系统 |
WO2020029405A1 (zh) * | 2018-08-10 | 2020-02-13 | 网宿科技股份有限公司 | 一种数据发射方法及装置 |
CN110795412A (zh) * | 2019-10-10 | 2020-02-14 | 北京达佳互联信息技术有限公司 | 日志信息的处理方法、装置及存储介质 |
CN110941497A (zh) * | 2018-09-21 | 2020-03-31 | 马上消费金融股份有限公司 | 一种数据发送方法及装置 |
CN111078515A (zh) * | 2019-11-25 | 2020-04-28 | 深圳忆联信息系统有限公司 | Ssd分层日志记录方法、装置、计算机设备及存储介质 |
CN111104328A (zh) * | 2019-12-20 | 2020-05-05 | 北京明略软件系统有限公司 | 用例生成方法、装置、计算机设备和可读存储介质 |
CN111177094A (zh) * | 2019-09-23 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 日志数据处理方法、装置、电子设备及存储介质 |
CN111225046A (zh) * | 2019-12-31 | 2020-06-02 | 广东金赋科技股份有限公司 | 一种内外网数据传输的方法、装置、介质和电子设备 |
CN111258978A (zh) * | 2020-01-17 | 2020-06-09 | 广东小天才科技有限公司 | 一种数据存储的方法 |
CN111400304A (zh) * | 2020-02-19 | 2020-07-10 | 中国建设银行股份有限公司 | 一种获取截面日期全量数据的方法、装置、电子设备及存储介质 |
WO2020151241A1 (zh) * | 2019-01-23 | 2020-07-30 | 苏宁云计算有限公司 | 一种信息无痕曝光采集方法及装置 |
CN111506672A (zh) * | 2020-03-24 | 2020-08-07 | 平安国际智慧城市科技股份有限公司 | 实时分析环保监测数据的方法、装置、设备及存储介质 |
CN111899087A (zh) * | 2020-06-16 | 2020-11-06 | 中国建设银行股份有限公司 | 数据的提供方法、装置、电子设备及计算机可读存储介质 |
CN112295216A (zh) * | 2020-10-10 | 2021-02-02 | 杭州电魂网络科技股份有限公司 | 玩家延时断线分析方法、系统、电子装置和存储介质 |
CN112650889A (zh) * | 2020-12-28 | 2021-04-13 | 中国兵器装备集团自动化研究所 | 一种企业安全环保及安防监控数据的数仓建设方法和系统 |
CN113010480A (zh) * | 2020-03-26 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 日志处理方法、装置、电子设备及计算机可读存储介质 |
CN113347038A (zh) * | 2021-06-08 | 2021-09-03 | 上海天旦网络科技发展有限公司 | 一种旁路流量处理的循环互备高可用系统 |
CN113641640A (zh) * | 2021-08-23 | 2021-11-12 | 北京百度网讯科技有限公司 | 用于流式计算系统的数据处理方法、装置、设备和介质 |
CN113835986A (zh) * | 2021-11-25 | 2021-12-24 | 中航金网(北京)电子商务有限公司 | 系统冷热日志的动态切换方法、装置及计算机设备 |
CN115396494A (zh) * | 2022-08-19 | 2022-11-25 | 北京银丰新融科技开发有限公司 | 基于流式计算的实时监控方法及系统 |
WO2023280053A1 (zh) * | 2021-07-07 | 2023-01-12 | 阿里云计算有限公司 | 数据处理方法、系统、电子设备及存储介质 |
-
2018
- 2018-01-10 CN CN201810024935.1A patent/CN108365971A/zh not_active Withdrawn
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020029405A1 (zh) * | 2018-08-10 | 2020-02-13 | 网宿科技股份有限公司 | 一种数据发射方法及装置 |
CN109189854A (zh) * | 2018-08-14 | 2019-01-11 | 新华三技术有限公司成都分公司 | 提供持续业务的方法及节点设备 |
CN109189854B (zh) * | 2018-08-14 | 2021-06-08 | 新华三技术有限公司成都分公司 | 提供持续业务的方法及节点设备 |
CN109271106A (zh) * | 2018-08-31 | 2019-01-25 | 华为技术有限公司 | 消息存储、读取方法及装置、服务器、存储介质 |
CN109271106B (zh) * | 2018-08-31 | 2021-03-05 | 华为技术有限公司 | 消息存储、读取方法及装置、服务器、存储介质 |
WO2020042612A1 (zh) * | 2018-08-31 | 2020-03-05 | 华为技术有限公司 | 消息存储、读取方法及装置、服务器、存储介质 |
CN109684370A (zh) * | 2018-09-07 | 2019-04-26 | 平安普惠企业管理有限公司 | 日志数据处理方法、系统、设备及存储介质 |
CN110941497A (zh) * | 2018-09-21 | 2020-03-31 | 马上消费金融股份有限公司 | 一种数据发送方法及装置 |
CN110941497B (zh) * | 2018-09-21 | 2022-05-24 | 马上消费金融股份有限公司 | 一种数据发送方法及装置 |
CN109151464A (zh) * | 2018-11-14 | 2019-01-04 | 江苏鸿信系统集成有限公司 | 基于大数据流处理的iptv机顶盒故障实时检测方法 |
CN109525448A (zh) * | 2019-01-10 | 2019-03-26 | 北京智信未来信息技术有限公司 | 日志数据采集系统及方法 |
WO2020151241A1 (zh) * | 2019-01-23 | 2020-07-30 | 苏宁云计算有限公司 | 一种信息无痕曝光采集方法及装置 |
CN109947778A (zh) * | 2019-03-27 | 2019-06-28 | 联想(北京)有限公司 | 一种Spark存储方法及系统 |
CN110161183A (zh) * | 2019-05-30 | 2019-08-23 | 广东柯内特环境科技有限公司 | 一种空气质量监测方法 |
CN110377441A (zh) * | 2019-06-04 | 2019-10-25 | 天津五八到家科技有限公司 | 打车应用软件线上问题定位方法、装置、设备及存储介质 |
CN111177094A (zh) * | 2019-09-23 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 日志数据处理方法、装置、电子设备及存储介质 |
CN110688383A (zh) * | 2019-09-26 | 2020-01-14 | 中国银行股份有限公司 | 数据采集方法及系统 |
CN110795412A (zh) * | 2019-10-10 | 2020-02-14 | 北京达佳互联信息技术有限公司 | 日志信息的处理方法、装置及存储介质 |
CN110795412B (zh) * | 2019-10-10 | 2023-01-20 | 北京达佳互联信息技术有限公司 | 日志信息的处理方法、装置及存储介质 |
CN111078515A (zh) * | 2019-11-25 | 2020-04-28 | 深圳忆联信息系统有限公司 | Ssd分层日志记录方法、装置、计算机设备及存储介质 |
CN111078515B (zh) * | 2019-11-25 | 2024-02-13 | 深圳忆联信息系统有限公司 | Ssd分层日志记录方法、装置、计算机设备及存储介质 |
CN111104328B (zh) * | 2019-12-20 | 2023-03-21 | 北京明略软件系统有限公司 | 用例生成方法、装置、计算机设备和可读存储介质 |
CN111104328A (zh) * | 2019-12-20 | 2020-05-05 | 北京明略软件系统有限公司 | 用例生成方法、装置、计算机设备和可读存储介质 |
CN111225046A (zh) * | 2019-12-31 | 2020-06-02 | 广东金赋科技股份有限公司 | 一种内外网数据传输的方法、装置、介质和电子设备 |
CN111258978A (zh) * | 2020-01-17 | 2020-06-09 | 广东小天才科技有限公司 | 一种数据存储的方法 |
CN111258978B (zh) * | 2020-01-17 | 2024-04-19 | 广东小天才科技有限公司 | 一种数据存储的方法 |
CN111400304A (zh) * | 2020-02-19 | 2020-07-10 | 中国建设银行股份有限公司 | 一种获取截面日期全量数据的方法、装置、电子设备及存储介质 |
CN111506672A (zh) * | 2020-03-24 | 2020-08-07 | 平安国际智慧城市科技股份有限公司 | 实时分析环保监测数据的方法、装置、设备及存储介质 |
CN111506672B (zh) * | 2020-03-24 | 2024-05-07 | 平安国际智慧城市科技股份有限公司 | 实时分析环保监测数据的方法、装置、设备及存储介质 |
CN113010480A (zh) * | 2020-03-26 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 日志处理方法、装置、电子设备及计算机可读存储介质 |
CN113010480B (zh) * | 2020-03-26 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 日志处理方法、装置、电子设备及计算机可读存储介质 |
CN111899087A (zh) * | 2020-06-16 | 2020-11-06 | 中国建设银行股份有限公司 | 数据的提供方法、装置、电子设备及计算机可读存储介质 |
CN112295216A (zh) * | 2020-10-10 | 2021-02-02 | 杭州电魂网络科技股份有限公司 | 玩家延时断线分析方法、系统、电子装置和存储介质 |
CN112295216B (zh) * | 2020-10-10 | 2023-12-05 | 杭州电魂网络科技股份有限公司 | 玩家延时断线分析方法、系统、电子装置和存储介质 |
CN112650889A (zh) * | 2020-12-28 | 2021-04-13 | 中国兵器装备集团自动化研究所 | 一种企业安全环保及安防监控数据的数仓建设方法和系统 |
CN113347038B (zh) * | 2021-06-08 | 2022-11-22 | 上海天旦网络科技发展有限公司 | 一种旁路流量处理的循环互备高可用系统 |
CN113347038A (zh) * | 2021-06-08 | 2021-09-03 | 上海天旦网络科技发展有限公司 | 一种旁路流量处理的循环互备高可用系统 |
WO2023280053A1 (zh) * | 2021-07-07 | 2023-01-12 | 阿里云计算有限公司 | 数据处理方法、系统、电子设备及存储介质 |
CN113641640B (zh) * | 2021-08-23 | 2023-07-07 | 北京百度网讯科技有限公司 | 用于流式计算系统的数据处理方法、装置、设备和介质 |
CN113641640A (zh) * | 2021-08-23 | 2021-11-12 | 北京百度网讯科技有限公司 | 用于流式计算系统的数据处理方法、装置、设备和介质 |
CN113835986A (zh) * | 2021-11-25 | 2021-12-24 | 中航金网(北京)电子商务有限公司 | 系统冷热日志的动态切换方法、装置及计算机设备 |
CN115396494A (zh) * | 2022-08-19 | 2022-11-25 | 北京银丰新融科技开发有限公司 | 基于流式计算的实时监控方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108365971A (zh) | 日志解析方法、设备及计算机可读介质 | |
US20200364223A1 (en) | Search time estimate in a data intake and query system | |
Hilley | Cloud computing: A taxonomy of platform and infrastructure-level offerings | |
Fidler et al. | The PADRES Distributed Publish/Subscribe System. | |
US10908977B1 (en) | Efficient message queuing service | |
CN101346972B (zh) | 用于收集数据以便特征化http会话工作负荷的方法和装置 | |
Merialdo | Tagging text with a probabilistic model | |
US10182104B1 (en) | Automatic propagation of resource attributes in a provider network according to propagation criteria | |
CN110413822A (zh) | 离线图像结构化分析方法、装置、系统和存储介质 | |
EP1189160A1 (en) | Method and system for transforming session data | |
Rai et al. | Using open source intelligence as a tool for reliable web searching | |
CN115994079A (zh) | 测试方法、装置、电子设备、存储介质及程序产品 | |
Chen et al. | Data mining and service rating in service-oriented architectures to improve information sharing | |
CN107480189A (zh) | 一种多维度实时分析系统及方法 | |
Raban et al. | Acting or reacting? Preferential attachment in a people‐tagging system | |
Jayasinghe et al. | An analysis of throughput and latency behaviours under microservice decomposition | |
Chang et al. | Development of multiple big data analytics platforms with rapid response | |
Zhang | 2-Tier Cloud Architecture with maximized RIA and SimpleDB via minimized REST | |
Neely et al. | Adaptive middleware for autonomic systems | |
CN114357280A (zh) | 一种信息推送方法、装置、电子设备及计算机可读介质 | |
Casey et al. | Monitoring the efficiency of user jobs | |
Adamopoulou et al. | Web Service Selection based on QoS Knowledge Management. | |
Rossi | Consistency and availability in microservice architectures | |
CN117972096B (zh) | 一种社交平台互动消息的处理方法及系统 | |
Nayak | Facilitating and improving the use of Web services with data mining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180803 |