日志信息的解析方法及装置与流程

文档序号:11156734阅读:591来源:国知局
日志信息的解析方法及装置与制造工艺

本发明涉及信息技术领域,尤其涉及一种日志信息的解析方法及装置。



背景技术:

Cookie(复数形态Cookies),中文名称为小型文字文件,指某些网站服务器为了辨别用户是否为合法用户以及是否需要重新登录生成的数据。其中,网站服务器可以利用Cookies中包含信息,维护超文本传输协议(Hyper Text Transport Protocol,HTTP)等协议传输中的状态。当用户通过浏览器第一次访问服务器时,浏览器的访问请求中不携带cookie信息,服务器会生成cookie信息,将cookie信息发送给浏览器;当用户通过浏览器再次访问服务器时,浏览器的访问请求中携带cookie信息,服务器会接收到浏览器发送的cookie信息。通常服务器会配置第一字段记录浏览器发送的cookie信息,配置第二字段记录服务器发送给浏览器的cookie信息。

目前,服务器在记录日志信息时,直接按照服务器配置字段的方式记录cookie信息,即通过两个字段分别记录浏览器发送给服务器的cookie信息、和服务器发送给浏览器的cookie信息。然而,若记录日志信息时通过两个字段分别记录浏览器发送给服务器的cookie信息、和服务器发送给浏览器的cookie信息,在后续对日志信息进行解析时,无法保证服务器能够直接获取cookie信息,当服务器无法从第一字段中获取cookie信息时,需要从第二字段中获取cookie信息,造成日志信息的解析过程比较复杂,从而导致日志信息解析的效率较低。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的日志信息的解析方法及装置。

依据本发明的一个方面,本发明提出了一种日志信息的解析方法,包括:

当接收到日志信息记录指令时,从日志信息中获取第一字段和第二字 段,其中,所述第一字段用于保存客户端向服务器发送的cookie信息,所述第二字段用于保存服务器向客户端发送的cookie信息;

从所述第一字段提取cookie信息,和/或

从所述第二字段提取cookie信息;

将所述cookie信息配置给预置变量并将所述预置变量保存到日志信息中,所述预置变量用于对所述日志信息进行解析。

依据本发明的另一个方面,本发明提出了一种日志信息的解析装置,包括:

获取单元,用于当接收到日志信息记录指令时,从日志信息中获取第一字段和第二字段,其中,所述第一字段用于保存客户端向服务器发送的cookie信息,所述第二字段用于保存服务器向客户端发送的cookie信息;

提取单元,用于从所述第一字段提取cookie信息,和/或

从所述第二字段提取cookie信息;

配置单元,用于将所述cookie信息配置给预置变量;

保存单元,用于将所述预置变量保存到日志信息中,所述预置变量用于对所述日志信息进行解析。

借由上述技术方案,本发明提供的一种日志信息的解析方法及装置。当接收到日志信息记录指令时,从日志信息中获取第一字段和第二字段,其中,所述第一字段用于保存客户端向服务器发送的cookie信息,所述第二字段用于保存服务器向客户端发送的cookie信息;从所述第一字段提取cookie信息,和/或从所述第二字段提取cookie信息;将所述cookie信息配置给预置变量并将所述预置变量保存到日志信息中,所述预置变量用于对所述日志信息进行解析。与目前在记录日志信息时,直接按照服务器配置字段的方式记录cookie信息,即通过两个字段分别记录服务器发送给浏览器的cookie信息、和浏览器发送给服务器的cookie信息相比,本发明通过预置变量记录cookie信息,能够实现在对日志信息进行解析时,从预置变量中就可以获取cookie信息,从而能够简化日志信息解析的步骤,进而能够提升日志信息解析的效率。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种日志信息的解析方法的流程图;

图2示出了本发明实施例提供的另一种日志信息的解析方法的流程图;

图3示出了本发明实施例提供的一种日志信息的解析装置的结构示意图;

图4示出了本发明实施例提供的一种日志信息的解析装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种日志信息的解析方法,可以应用于服务器,如图1所示,该方法包括:

101、当接收到日志信息记录指令时,从访问日志信息中获取第一字段和第二字段。

其中,所述第一字段用于保存客户端向服务器发送的cookie信息,所述第二字段用于保存服务器向客户端发送的cookie信息。所述cookie信息可以为服务器随机生成的字符串,如58c8d60cd2b94642a7da48d61e173e13。服务器为了获知访问用户是否为合法用户以及用户是否需要重新登录,通常会生成唯一标识用户的cookie信息。服务器可以为Nginx(engine x)服务器,其中,Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。当服务器为Nginx服务器时,可以通过以下配置进行日志字段的配置:

log_format main'$remote_addr-$remote_user[$time_local]$query_string'

'$status$body_bytes_sent"$http_referer"'

'"$http_user_agent""$http_x_forwarded_for";

例如,所述第一字段可以为$cookie_XXXX,XXXX可以为cookie信息的标识信息,具体地可以为cookie信息的名称。客户端向服务器发送cookie信息可以称为请求cookie,客户端第二次访问服务器之后,$cookie_XXXX有值,当客户端第一次访问服务器时,访问日志信息无法记录cookie信息,$cookie_XXXX的值为空。所述第二字段可以为$sent_http_set_cookie,服务器向客户端发送的cookie信息可以称为响应cookie,当客户端第一次访问服务器时,$sent_http_set_cookie有值,之后$sent_http_set_cookie为空。如当客户端第一次访问服务器时,服务器生成“testid=58c8d60cd2b94642a7da48d61e173e13;expires=Fri,26-Jun-1511:45:38GMT;domain=gridsumdissector.com;path=/”,并将其保存到$sent_http_set_cookie中。其中,58c8d60cd2b94642a7da48d61e173e13为cookie信息,testid可以为cookie信息的名称。通常第二字段会以键值对的形式保存cookie信息。当客户端再次访问服务器时,在访问请求中会携带有该cookie信息,服务器不需要再生成cookie信息,直接将58c8d60cd2b94642a7da48d61e173e13保存到$cookie_testid。

102、从第一字段提取cookie信息,和/或从第二字段提取cookie信息。

对于本发明实施例,步骤102具体可以为:检测所述第一字段中是否存在cookie信息;若存在,则从所述第一字段提取cookie信息;若不存在,则从所述第二字段提取cookie信息。即在接收到日志信息记录指令时,读取第一字段$cookie_testid,判断第一字段$cookie_testid是否为空,若第一字段$cookie_testid为空,则说明该用户通过客户端第一次服务器,此时读取第二字段$sent_http_set_cookie,对$sent_http_set_cookie进行字符串截取处理,如$sent_http_set_cookie为“testid=58c8d60cd2b94642a7da48d61e173e13;expires=Fri,26-Jun-1511:45:38GMT;domain=gridsumdissector.com;path=/”,将58c8d60cd2b94642a7da48d61e173e13提取出来。若第一字段$cookie_testid 不为空,为58c8d60cd2b94642a7da48d61e173e13,则说明该用户不是第一次访问服务器,此时提取第一字段$cookie_testid中的58c8d60cd2b94642a7da48d61e173e13。

对于本发明实施例,步骤102具体还可以为:检测所述第二字段中是否存在cookie信息;若存在,则从所述第二字段提取cookie信息;若不存在,则从所述第一字段提取cookie信息。本发明对从第一字段提取cookie信息或从第二字段提取cookie信息的顺序不做限定。

103、将cookie信息配置给预置变量并将预置变量保存到日志信息中。

其中,所述预置变量用于对所述日志信息进行解析。所述预置变量可以为在接收到日志信息记录指令之前,预先设置的变量。例如,预置变量可以为$my_cookie。通过将第一字段或者第二字段中的cookie信息提取出来配置给预置变量,能够实现通过一个变量保存cookie信息。在后续的日志信息解析时,能够直接获取cookie信息,从而能够简化日志信息的解析过程,进而能够提升日志信息解析的效率。

例如,当预置变量为$my_cookie时,将预置变量保存到日志信息的具体形式可以为:log_format main'$remote_addr-$remote_user[$time_local]$query_string$my_cookie'

'$status$body_bytes_sent"$http_referer"'

'"$http_user_agent""$http_x_forwarded_for"';

本发明提供的一种日志信息的解析方法。当接收到日志信息记录指令时,从访问日志信息中获取第一字段和第二字段,其中,所述第一字段用于保存客户端向服务器发送的cookie信息,所述第二字段用于保存服务器向客户端发送的cookie信息;从所述第一字段提取cookie信息,和/或从所述第二字段提取cookie信息;将所述cookie信息配置给预置变量并将所述预置变量保存到日志信息中,所述预置变量用于对所述日志信息进行解析。与目前在记录日志信息时,直接按照服务器配置字段的方式记录cookie信息,即通过两个字段分别记录服务器发送给浏览器的cookie信息、和浏览器发送给服务器的cookie信息相比,本发明通过预置变量记录cookie信息,能够实现在对日志信息进行解析时,从预置变量中就可以获取cookie信息, 从而能够简化日志信息解析的步骤,进而能够提升日志信息解析的效率。

本发明实施例提供了另一种日志信息的解析方法,可以应用于服务器,如图2所示,该方法包括:

201、设置预置变量。

其中,所述预置变量用于保存cookie信息。例如,预置变量可以为$my_cookie。

202、当接收到日志信息记录指令时,从访问日志信息中获取第一字段和第二字段。

其中,所述第一字段用于保存客户端向服务器发送的cookie信息,所述第二字段用于保存服务器向客户端发送的cookie信息。

203、检测第一字段中是否存在cookie信息。若检测第一字段中存在cookie信息,则执行204;若检测第一字段中不存在cookie信息,则执行205。

204、从第一字段提取cookie信息。

对于本发明实施例,所述若存在,则从所述第一字段提取cookie信息之后,还可以包括:生成所述cookie信息对应的标识信息。其中,所述cookie信息对应的标识信息可以为所述cookie信息的名称,或者所述cookie信息的身份标识号(Idtentify,ID)。

例如,若第一字段$cookie_testid为58c8d60cd2b94642a7da48d61e173e13,生成的所述cookie信息的名称为testid,则将58c8d60cd2b94642a7da48d61e173e13提取出来,并与testid进行拼接,拼接为“testid=58c8d60cd2b94642a7da48d61e173e13”。

205、从第二字段提取cookie信息。

对于本发明实施例,步骤205具体可以为:若不存在,则从第二字段提取cookie信息和cookie信息对应的标识信息。

例如,若第二字段$sent_http_set_cookie为“testid_A=59c8d60cd2b94642a7da48d61e173e13;expires=Fri,26-Jun-1511:45:38GMT;domain=gridsumdissector.com;path=/”,将“testid_A=59c8d60cd2b94642a7da48d61e173e13”提取出来。

206、将cookie信息配置给预置变量并将预置变量保存到日志信息中。

其中,所述预置变量用于对所述日志信息进行解析。

对于本发明实施例,步骤205具体可以为:将所述cookie信息和所述cookie信息对应的标识信息配置给预置变量。

例如,$my_cookie保存的cookie信息为“testid=58c8d60cd2b94642a7da48d61e173e13”、“testid_A=59c8d60cd2b94642a7da48d61e173e13”。通过将第一字段或者第二字段中的cookie信息提取出来配置给预置变量,能够实现通过一个变量保存cookie信息。在后续的日志信息解析时,能够直接获取cookie信息,从而能够简化日志信息的解析过程,进而能够提升日志信息解析的效率。

本发明提供的另一种日志信息的解析方法。当接收到日志信息记录指令时,从访问日志信息中获取第一字段和第二字段,其中,所述第一字段用于保存客户端向服务器发送的cookie信息,所述第二字段用于保存服务器向客户端发送的cookie信息;从所述第一字段提取cookie信息,和/或从所述第二字段提取cookie信息;将所述cookie信息配置给预置变量并将所述预置变量保存到日志信息中,所述预置变量用于对所述日志信息进行解析。与目前在记录日志信息时,直接按照服务器配置字段的方式记录cookie信息,即通过两个字段分别记录服务器发送给浏览器的cookie信息、和浏览器发送给服务器的cookie信息相比,本发明通过预置变量记录cookie信息,能够实现在对日志信息进行解析时,从预置变量中就可以获取cookie信息,从而能够简化日志信息解析的步骤,进而能够提升日志信息解析的效率。

进一步地,本发明实施例提供了一种日志信息的解析装置,如图3所示,该装置包括:获取单元31、提取单元32、配置单元33、保存单元34。

获取单元31,用于当接收到日志信息记录指令时,从日志信息中获取第一字段和第二字段,其中,所述第一字段用于保存客户端向服务器发送的cookie信息,所述第二字段用于保存服务器向客户端发送的cookie信息。

提取单元32,用于从所述第一字段提取cookie信息,和/或从所述第二字段提取cookie信息。

配置单元33,用于将所述cookie信息配置给预置变量。

保存单元34,用于将所述预置变量保存到日志信息中,所述预置变量用于对所述日志信息进行解析。

如图4,所述提取单元32包括:检测模块3201和提取模块3202。

检测模块3201,用于检测所述第一字段中是否存在cookie信息。

提取模块3202,用于若所述检测模块3201检测所述第一字段中存在cookie信息,则从所述第一字段提取cookie信息。

所述提取模块3202,还用于若所述检测模块3201检测所述第一字段中不存在cookie信息,则从所述第二字段提取cookie信息。

所述提取单元还包括:生成模块3203。

生成模块3203,用于生成所述cookie信息对应的标识信息。

所述配置单元33,具体用于将所述cookie信息和所述cookie信息对应的标识信息配置给预置变量。

所述第二字段用于保存服务器向客户端发送的cookie信息和cookie信息对应的标识信息。

所述提取模块3202,具体用于若所述检测模块3201检测所述第一字段中不存在cookie信息,则从所述第二字段提取cookie信息。

所述配置单元33,具体还用于将所述cookie信息和所述cookie信息对应的标识信息配置给预置变量。

所述装置还包括:设置单元35。

设置单元35,用于设置预置变量,其中,所述预置变量用于保存cookie信息。

该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

本发明提供的一种日志信息的解析装置。当接收到日志信息记录指令时,从访问日志信息中获取第一字段和第二字段,其中,所述第一字段用于保存客户端向服务器发送的cookie信息,所述第二字段用于保存服务器向客户端发送的cookie信息;从所述第一字段提取cookie信息,和/或从所 述第二字段提取cookie信息;将所述cookie信息配置给预置变量并将所述预置变量保存到日志信息中,所述预置变量用于对所述日志信息进行解析。与目前在记录日志信息时,直接按照服务器配置字段的方式记录cookie信息,即通过两个字段分别记录服务器发送给浏览器的cookie信息、和浏览器发送给服务器的cookie信息相比,本发明通过预置变量记录cookie信息,能够实现在对日志信息进行解析时,从预置变量中就可以获取cookie信息,从而能够简化日志信息解析的步骤,进而能够提升日志信息解析的效率。

所述日志信息的解析装置包括处理器和存储器,上述获取单元、提取单元、配置单元、保存单元和设置单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决目前记录日志信息的方式,会导致日志信息解析的效率较低的问题。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:

当接收到日志信息记录指令时,从访问日志信息中获取第一字段和第二字段,其中,所述第一字段用于保存客户端向服务器发送的cookie信息,所述第二字段用于保存服务器向客户端发送的cookie信息;

从所述第一字段提取cookie信息,和/或

从所述第二字段提取cookie信息;

将所述cookie信息配置给预置变量并将所述预置变量保存到日志信息中,所述预置变量用于对所述日志信息进行解析。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不 限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可 擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1