CN110048899B - 一种日志检测方法、装置、终端及服务器 - Google Patents

一种日志检测方法、装置、终端及服务器 Download PDF

Info

Publication number
CN110048899B
CN110048899B CN201910457500.0A CN201910457500A CN110048899B CN 110048899 B CN110048899 B CN 110048899B CN 201910457500 A CN201910457500 A CN 201910457500A CN 110048899 B CN110048899 B CN 110048899B
Authority
CN
China
Prior art keywords
log
identifier
logs
client
identification
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.)
Active
Application number
CN201910457500.0A
Other languages
English (en)
Other versions
CN110048899A (zh
Inventor
刘海军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910457500.0A priority Critical patent/CN110048899B/zh
Publication of CN110048899A publication Critical patent/CN110048899A/zh
Application granted granted Critical
Publication of CN110048899B publication Critical patent/CN110048899B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种日志检测方法、装置、终端及服务器,所述日志生成方法包括:根据用户行为生成日志,并记录日志的日志标识;根据日志的前一条日志的日志标识生成日志的目标标识;将所生成的日志以及每条日志的日志标识和目标标识发送至服务器,以使服务器根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。由于每条日志的目标标识与前一条日志的日志标识存在关联,因此,服务器可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。

Description

一种日志检测方法、装置、终端及服务器
技术领域
本发明涉及日志处理技术领域,特别是涉及一种日志检测方法、装置、终端及服务器。
背景技术
用户通过客户端进行各种操作时,客户端会根据用户行为生成日志,以记录用户行为,方便后续对客户端出现的问题等进行分析解决。客户端一般会定时或者在接收到服务器的搜集指令时,将生成的日志发送至服务器,以供服务器对日志进行分析等。
日志投递目前有以下两种情况,第一种情况,客户端与服务器存在网络连接时便进行日志投递,如果投递失败则放弃掉。第二种情况具有失败重传机制,也就是说,如果日志投递失败客户端会向服务器重新发送投递失败的日志。
在上述两种方式中,无论是否具有失败重传机制,服务器都无法确定客户端发送的所有日志是否都已经接收到,对于所接收到的日志,服务器也就无法确定日志是否完整,也就无法确定日志丢失的具体原因。
发明内容
本发明实施例的目的在于提供一种日志检测方法、装置、终端及服务器,以使服务器能够确定所接收到的日志是否完整。具体技术方案如下:
第一方面,本发明实施例提供了一种日志检测方法,应用于客户端,所述方法包括:
根据用户行为生成日志,并记录所述日志的日志标识;
根据所述日志的前一条日志的日志标识生成所述日志的目标标识;
将所生成的日志以及每条日志的日志标识和目标标识发送至服务器,以使所述服务器根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
可选的,所述记录所述日志的日志标识的步骤,包括:
根据预设规则对每条日志进行编号,得到编号号码;
基于所述编号号码生成所述日志的日志标识。
可选的,在所述根据用户行为生成日志,并记录所述日志的日志标识的步骤之前,所述方法还包括:
记录启动标识,其中,所述启动标识用于标识所述客户端的启动;
所述基于所述编号号码生成所述日志的日志标识的步骤,包括:
基于所述编号号码及所述启动标识生成所述日志的日志标识。
可选的,所述根据所述日志的前一条日志的日志标识生成所述日志的目标标识的步骤,包括:
将所述日志的前一条日志的日志标识确定为所述日志的目标标识。
可选的,所述方法还包括:
记录所述客户端所在设备的设备标识;
所述将所生成的日志以及每条日志的日志标识和目标标识发送至服务器的步骤,包括:
将所生成的日志以及每条日志的日志标识和目标标识及所述设备标识发送至服务器。
第二方面,本发明实施例提供了一种日志检测方法,应用于服务器,所述方法包括:
接收客户端发送的日志以及每条日志的日志标识和目标标识,其中,所述目标标识为所述客户端根据所述日志的前一条日志的日志标识生成的,所述日志标识为所述客户端根据用户行为生成日志时记录的;
根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
可选的,所述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整的步骤,包括:
针对除第一条日志以外的每条日志,判断每条日志的目标标识与其上一条日志的日志标识是否匹配;
如果是,确定所接收到的日志完整;
如果否,确定所接收到的日志不完整。
可选的,所述客户端发送的日志中每条日志的目标标识与其前一条日志的日志标识相同;
所述判断每条日志的目标标识与其上一条日志的日志标识是否匹配的步骤,包括:
判断每条日志的目标标识与其上一条日志的日志标识是否相同。
可选的,所述方法还包括:
根据所接收到的日志的日志标识及预设规则,确定所接收到日志的实际发送数量,其中,所述日志标识为所述客户端基于所述编号号码生成的,所述编号号码为所述客户端根据所述预设规则对每条日志进行编号得到的编号号码;
根据所述实际发送数量及所接收到的日志的条数,确定日志投递成功率。
可选的,所述根据所接收到的日志的日志标识及预设规则,确定所接收到日志的实际发送数量的步骤,包括:
根据所接收到的日志的日志标识及预设规则,确定每次所述客户端启动对应的所接收到日志的实际发送数量,其中,所述日志标识为所述客户端基于所述编号号码及所记录的启动标识生成的,所述启动标识用于标识所述客户端的启动;
所述根据所述实际发送数量及所接收到的日志的条数,确定日志投递成功率的步骤,包括:
根据每次所述客户端启动对应的实际发送数量及所接收到的该次所述客户端启动对应的日志的条数,确定每次客户端启动对应的日志投递成功率。
可选的,所述方法还包括:
接收所述客户端发送的设备标识,其中,所述设备标识为所述客户端记录的其所在设备的设备标识;
在所述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整的步骤之前,所述方法还包括:
根据每条日志的设备标识将设备标识相同的日志划分为一组;
所述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整的步骤,包括:
根据每组日志中每条日志的目标标识及其上一条日志的日志标识,确定所接收到的每组日志是否完整。
可选的,所述方法还包括:
根据每条日志的日志标识确定是否存在重复日志;
如果存在重复日志,对所述重复日志进行删除处理。
第三方面,本发明实施例提供了一种日志检测装置,应用于客户端,所述装置包括:
日志标识确定模块,用于根据用户行为生成日志,并记录所述日志的日志标识;
目标标识确定模块,用于根据所述日志的前一条日志的日志标识生成所述日志的目标标识;
日志发送模块,用于将所生成的日志以及每条日志的日志标识和目标标识发送至服务器,以使所述服务器根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
可选的,所述日志标识确定模块包括:
编号号码确定单元,用于根据预设规则对每条日志进行编号,得到编号号码;
日志标识确定单元,用于基于所述编号号码生成所述日志的日志标识。
可选的,所述装置还包括:
启动标识确定模块,用于在所述根据用户行为生成日志,并记录所述日志的日志标识之前,记录启动标识,其中,所述启动标识用于标识所述客户端的启动;
所述日志标识确定单元包括:
日志标识确定子单元,用于基于所述编号号码及所述启动标识生成所述日志的日志标识。
可选的,所述目标标识确定模块包括:
目标标识确定单元,用于将所述日志的前一条日志的日志标识确定为所述日志的目标标识。
可选的,所述装置还包括:
设备标识确定模块,用于记录所述客户端所在设备的设备标识;
所述日志发送模块包括:
日志发送单元,用于将所生成的日志以及每条日志的日志标识和目标标识及所述设备标识发送至服务器。
第四方面,本发明实施例提供了一种日志检测装置,应用于服务器,所述装置包括:
日志接收模块,用于接收客户端发送的日志以及每条日志的日志标识和目标标识,其中,所述目标标识为所述客户端根据所述日志的前一条日志的日志标识生成的,所述日志标识为所述客户端根据用户行为生成日志时记录的;
日志检测模块,用于根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
可选的,所述日志检测模块包括:
标识判断单元,用于针对除第一条日志以外的每条日志,判断每条日志的目标标识与其上一条日志的日志标识是否匹配;
第一确定单元,用于如果每条日志的目标标识与其上一条日志的日志标识均匹配,确定所接收到的日志完整;
第二确定单元,用于如果每条日志的目标标识与其上一条日志的日志标识不均匹配,确定所接收到的日志不完整。
可选的,所述客户端发送的日志中每条日志的目标标识与其前一条日志的日志标识相同;
所述标识判断单元包括:
标识判断子单元,用于判断每条日志的目标标识与其上一条日志的日志标识是否相同。
可选的,所述装置还包括:
发送数量确定模块,用于根据所接收到的日志的日志标识及预设规则,确定所接收到日志的实际发送数量,其中,所述日志标识为所述客户端基于所述编号号码生成的,所述编号号码为所述客户端根据所述预设规则对每条日志进行编号得到的编号号码;
成功率确定模块,用于根据所述实际发送数量及所接收到的日志的条数,确定日志投递成功率。
可选的,所述发送数量确定模块包括:
发送数量确定单元,用于根据所接收到的日志的日志标识及预设规则,确定每次所述客户端启动对应的所接收到日志的实际发送数量,其中,所述日志标识为所述客户端基于所述编号号码及所记录的启动标识生成的,所述启动标识用于标识所述客户端的启动;
所述成功率确定模块包括:
成功率确定单元,用于根据每次所述客户端启动对应的实际发送数量及所接收到的该次所述客户端启动对应的日志的条数,确定每次客户端启动对应的日志投递成功率。
可选的,所述装置还包括:
设备标识接收模块,用于接收所述客户端发送的设备标识,其中,所述设备标识为所述客户端记录的其所在设备的设备标识;
日志分组模块,用于在所述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整之前,根据每条日志的设备标识将设备标识相同的日志划分为一组;
所述日志检测模块包括:
日志检测单元,用于根据每组日志中每条日志的目标标识及其上一条日志的日志标识,确定所接收到的每组日志是否完整。
可选的,所述装置还包括:
重复日志确定模块,用于根据每条日志的日志标识确定是否存在重复日志;
重复日志删除模块,用于如果存在重复日志,对所述重复日志进行删除处理。
第五方面,本发明实施例提供了一种终端,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的日志检测方法步骤。
第六方面,本发明实施例提供了一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面任一所述的日志检测方法步骤。
第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的日志检测方法步骤。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面任一所述的日志检测方法步骤。
本发明实施例所提供的方案中,客户端可以根据用户行为生成日志,并记录日志的日志标识,根据日志的前一条日志的日志标识生成日志的目标标识,进而将所生成的日志以及每条日志的日志标识和目标标识至服务器,服务器便可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。由于每条日志的目标标识与前一条日志的日志标识存在关联,因此,服务器可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种日志检测方法的流程图;
图2为本发明实施例所提供的一种日志检测方法的流程图;
图3为图2所示实施例中步骤S202的一种具体流程图;
图4为基于图2所示实施例的日志投递成功率确定方式的一种流程图;
图5为本发明实施例所提供的一种日志检测装置的结构示意图;
图6为本发明实施例所提供的一种日志检测装置的结构示意图;
图7为本发明实施例所提供的一种终端的结构示意图;
图8为本发明实施例所提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了使服务器能够确定所接收到的日志是否完整,本发明实施例提供了一种日志检测方法、装置、终端、服务器及计算机可读存储介质。
下面首先对本发明实施例所提供的第一种日志检测方法进行介绍。
本发明实施例所提供的第一种日志检测方法可以应用于客户端,该客户端可以根据用户操作生成日志,客户端与服务器通信连接,以向服务器发送所生成的日志等信息。
如图1所示,一种日志检测方法,应用于客户端,所述方法包括:
S101,根据用户行为生成日志,并记录所述日志的日志标识;
S102,根据所述日志的前一条日志的日志标识生成所述日志的目标标识;
S103,将所生成的日志以及每条日志的日志标识和目标标识发送至服务器,以使所述服务器根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
可见,本发明实施例所提供的方案中,客户端可以根据用户行为生成日志,并记录日志的日志标识,根据日志的前一条日志的日志标识生成日志的目标标识,进而将所生成的日志以及每条日志的日志标识和目标标识至服务器,服务器便可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。由于每条日志的目标标识与前一条日志的日志标识存在关联,因此,服务器可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
在上述步骤S101中,用户在对客户端进行操作时,客户端可以根据用户行为生成日志。一般在客户端的一次启动过程中,用户会对客户端进行多个操作,例如,登录、查看信息、页面跳转、退出等操作。在此过程中,客户端可以生成多条日志,以记录用户的操作行为等信息。其中,对于客户端生成日志的具体方式可以采用任意日志生成方式,在此不做具体限定及说明。
在生成每条日志时,客户端可以记录每条日志的日志标识,其中,日志标识为唯一标识每条日志的标识,也就是说每条日志的日志标识不重复。日志标识可以采用数字、字母或字符的组合等形式,例如,A1、%a、3015*等,只要可以唯一标识每条日志即可,在此不做具体限定。
为了建立各条日志之间的关联性,客户端可以根据每条日志的前一条日志的日志标识生成该条日志的目标标识,即执行上述步骤S102,这样,每一条日志便与其前一条日志通过日志标识和目标标识建立了关联。
在一种实施方式中,客户端可以按照一定规则,在每条日志的前一条日志的日志标识中增加或者减少一定数量的字符,生成该条日志的目标标识,例如,将每条日志的前一条日志的日志标识后添加一个字符m构成该条日志的目标标识。
在另一种实施方式中,客户端可以将每条日志的前一条日志的日志标识进行变换得到该条日志的目标标识,例如,可以对每条日志的前一条日志的日志标识计算哈希值,将计算得到的哈希值作为该条日志的目标标识。
在另一种实施方式中,客户端可以将每条日志的前一条日志的日志标识直接确定为该条日志的目标标识,无需进行变换,例如,日志2的前一条日志的日志标识为4678gh1a,那么便可以确定日志2的目标标识为4678gh1a。
得到上述在上述日志标识及目标标识后,在上述步骤S103中,客户端便可以将所生成的日志以及每条日志的日志标识和目标标识发送至服务器。进而,服务器便可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
服务器确定所接收到的日志是否完整的具体方式可以根据客户端生成每条日志的目标标识的方式确定。例如,如果每条日志的目标标识为其上一条日志的日志标识的哈希值,那么服务器便可以对所接收的日志中的每条日志的目标标识进行哈希值的逆运算,判断逆运算得到的标识与该条日志的上一条日志的目标标识是否相同。
如果每条日志对应的逆运算得到的标识均与其上一条日志的目标标识相同,那么服务器所接收的日志便是完整的;如果存在一条或多条日志对应的逆运算得到的标识与其上一条日志的目标标识不相同,那么服务器所接收的日志便是不完整的。
当然,服务器在确定所接收到的日志不完整时,还可以根据每条日志的目标标识与其上一条日志的日志标识确定丢失的日志的具体位置,同时可以根据客户端生成日志的具体情况定位日志丢失的原因。例如,客户端是否崩溃、客户端是否为刚刚启动等情况,更加方便准确地定位日志丢失的原因,而不需要大范围搜寻所有的日志,可以快速准确定位问题,便于代码的更新修复。
服务器在确定所接收到的日志不完整时,可以确定目标标识与其上一条日志的日志标识不匹配的日志的位置即为丢失的日志的具体位置,例如,第三条日志的目标标识与第二条日志的日志标识不匹配,那么说明该两条日志中间丢失了至少一条日志。
日志丢失的原因可以根据丢失的日志的具体位置所对应的时间,终端的状态、网络状态等因素确定。例如,在丢失的日志的具体位置所对应的时间网络很不稳定,那么便可以确定日志丢失的原因很可能是网络因素。
作为本发明实施例的一种实施方式,上述记录所述日志的日志标识的步骤,可以包括:
根据预设规则对每条日志进行编号,得到编号号码;基于所述编号号码生成所述日志的日志标识。
由于在一些情况下不仅需要确定服务器接收到的日志是否完整,在确定接收到的日志不完整时还需要进一步确定丢失的日志数量,所以在本实施例中,客户端在生成每条时可以按照预设规则对每条日志进行编号,得到编号号码。
作为一种实施方式,客户端可以按照整数的顺序依次为每条日志进行编号,也就是说,从0开始编号,每生成一条日志,编号加1,得到每条日志的编号号码。作为另一种实施方式,客户端可以从一个预设数字开始编号,例如,从0、1、2等开始编号。每生成一条日志,编号增加预设值,其中,预设值可以为2、3、5等,进而得到每条日志的编号号码。
为了让每条日志的日志标识可以表示该条日志的编号号码,所以客户端可以基于每条日志的编号号码生成该条日志的日志标识。客户端可以将每条日志的编号号码作为该条日志的日志标识的最后一个字符、第一个字符或者预设位置的字符等,这都是合理的。例如,第5条日志的编号号码为4,日志标识可以为logafrt4,其中4即为其编号号码。
进而,服务器在接收到日志的日志标识后,便可以根据日志标识确定每条日志的编号号码,进而根据接收到日志的编号号码和预设规则,就可确定所接收到日志的实际发送数量,也就是客户端发送的日志的条数。再根据实际接收到的日志的条数,服务器便可以确定丢失的日志数量。
例如,客户端按照整数的顺序依次为每条日志进行编号,并将编号号码作为日志标识的最后一个字符,共生成5条日志,日志标识分别为logafrt0、logafrt1、logafrt2、logafrt3、logafrt4。服务器所接收到的日志中最后一条日志的日志标识为logafrt4,那么服务器可以确定客户端发送的日志的条数为4+1=5,如果服务器实际接收到的日志的条数为4,那么便说明日志丢失数量为5-4=1条。
可见,在本实施例中,客户端可以根据预设规则对每条日志进行编号,得到编号号码,进而基于编号号码生成日志的日志标识。这样,服务器在接收到日志时便可以根据日志标识确定每条日志的编号号码,进而确定客户端发送的日志的条数,再根据实际接收到的日志的条数,服务器便可以确定丢失的日志数量。
作为本发明实施例的一种实施方式,在上述根据用户行为生成日志,并记录所述日志的日志标识的步骤之前,上述方法还可以包括:
记录启动标识。
由于客户端所生成的日志一般以每次启动为一个节点,客户端在启动时也容易出现卡顿等问题。因此,为了方便后续定位问题,以及区别不同次数的启动后所生成的日志,客户端可以记录启动标识,启动标识用于标识客户端的启动次数。
对于启动标识的具体形式本发明实施例在此不做具体限定,可以采用数字、字母等字符或其组合的形式,只要可以唯一标识每次客户端的启动即可,例如,可以为start1、start2、Sa*等,在此不做具体限定。
相应的,上述基于所述编号号码生成所述日志的日志标识的步骤,可以包括:
基于所述编号号码及所述启动标识生成所述日志的日志标识。
为了方便日志标识的设定,客户端可以基于上述编号号码及启动标识生成每条日志的日志标识,这样可以使每条日志的日志标识能够表示该条日志的编号号码以及该条日志是客户端哪次启动后生成的。
在一种实施方式中,客户端可以将编号号码与启动标识的组合作为日志的日志标识。例如,启动标识为startA,该条日志的编号号码为7,那么可以将startA7作为该条日志的日志标识。
可见,在本实施例中,客户端可以记录启动标识,进而基于日志的编号号码及启动标识生成该日志的日志标识,这样一方面可以快速简便地生成每条日志的日志标识,另一方面服务器在接收到这样的日志标识后,可以确定日志的编号号码以及该条日志是客户端哪次启动后生成的,方便对日志进行进一步的解析等处理。
作为本发明实施例的一种实施方式,上述根据所述日志的前一条日志的日志标识生成所述日志的目标标识的步骤,可以包括:
将所述日志的前一条日志的日志标识确定为所述日志的目标标识。
客户端可以将每条日志的前一条日志的日志标识确定为该条日志的目标标识。对于第一条日志来说,由于其不存在上一条日志,所以可以为第一条日志设置默认的目标标识,或者设置其目标标识为空等,这都是合理的。
可见,在本实施例中,客户端可以快速确定每条日志的目标标识,并且服务器在接收到日志及每条日志的日志标识后,便可以确定每条日志的日志标识是否与其上一条日志的日志标识相同,如果存在不相同的情况,便说明服务器所接收到的日志不完整。
作为本发明实施例的一种实施方式,上述方法还可以包括:
记录所述客户端所在设备的设备标识。
由于服务器接收到的日志可能为不同的设备中运行的客户端生成的,所以为了使服务器能够区分生成日志的客户端所在的设备,客户端可以记录自身所在设备的设备标识,该设备标识即用于标识不同的设备。
相应的,上述将所生成的日志以及每条日志的日志标识和目标标识发送至服务器的步骤,可以包括:
将所生成的日志以及每条日志的日志标识和目标标识及所述设备标识发送至服务器。
客户端在向服务器发送日志的同时,可以将每条日志的日志标识和目标标识及设备标识一同发送至服务器,这样,服务器便可以根据设备标识确定每条日志来自哪个设备中运行的客户端。
在一种实施方式中,客户端在生成日志时,还可以记录每条日志的创建时间等信息,例如,上述设备标识、启动标识、日志标识、目标标识及创建时间等信息可以如下表所示:
设备标识 启动标识 日志标识 目标标识 创建时间
DFD669B22AC8 relbg9y8er relbg9y8er.0 2019-02-23 10:31:53
DFD669B22AC8 relbg9y8er relbg9y8er.1 relbg9y8er.0 2019-02-23 10:31:53
DFD669B22AC8 8nlb9exgqp 8nlb9exgqp.0 relbg9y8er.1 2019-02-23 10:33:57
DFD669B22AC8 8nlb9exgqp 8nlb9exgqp.1 8nlb9exgqp.0 2019-02-23 10:33:57
DFD669B22AC8 8nlb9exgqp 8nlb9exgqp.2 8nlb9exgqp.1 2019-02-23 10:34:11
DFD669B22AC8 8nlb9exgqp 8nlb9exgqp.3 8nlb9exgqp.2 2019-02-23 10:34:23
DFD669B22AC8 8nlb9exgqp 8nlb9exgqp.4 8nlb9exgqp.3 2019-02-23 10:42:15
DFD669B22AC8 gdlawgv5ms gdlawgv5ms.0 8nlb9exgqp.4 2019-02-23 10:42:41
DFD669B22AC8 gdlawgv5ms gdlawgv5ms.1 gdlawgv5ms.0 2019-02-23 10:45:06
DFD669B22AC8 gdlawgv5ms gdlawgv5ms.2 gdlawgv5ms.1 2019-02-23 10:48:45
DFD669B22AC8 gdlawgv5ms gdlawgv5ms.3 gdlawgv5ms.2 2019-02-23 10:50:19
客户端可以将表格中的设备标识、启动标识、日志标识、目标标识及创建时间等信息添加至相应日志,例如,可以在每条日志中添加相应的字段,作为设备标识、启动标识、日志标识、目标标识及创建时间等信息。进而将添加这些信息后的日志发送至服务器。
可见,在本实施例中,服务器接收到日志后,便可以确定每条日志的设备标识、启动标识、日志标识、目标标识及创建时间等信息,从而确定所接收的日志是否完整、丢失的日志的日志标识、条数等,进而定位客户端出现的问题,有针对性地解决这些问题。
相应与上述第一种日志检测方法,本发明实施例还提供了第二种日志检测方法。下面对本发明实施例所提供的第二种日志检测方法进行介绍。
本发明实施例所提供的第二种日志检测方法可以应用于服务器,该服务器可以是与客户端通信连接的客户端,可以接收客户端发送的日志等信息。
如图2所示,一种日志检测方法,应用于服务器,所述方法包括:
S201,接收客户端发送的日志以及每条日志的日志标识和目标标识;
其中,所述目标标识为所述客户端根据所述日志的前一条日志的日志标识生成的,所述日志标识为所述客户端根据用户行为生成日志时记录的。
S202,根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
可见,本发明实施例所提供的方案中,服务器可以接收客户端发送的日志以及每条日志的日志标识和目标标识,由于目标标识为客户端根据日志的前一条日志的日志标识生成的,日志标识为客户端根据用户行为生成日志时记录的,每条日志的目标标识与前一条日志的日志标识存在关联,所以服务器可以根据每条日志的目标标识及其上一条日志的日志标识,确定收到的日志是否完整。
在上述步骤S201中,服务器可以接收客户端发送的日志以及每条日志的日志标识和目标标识。其中,目标标识是客户端根据所述日志的前一条日志的日志标识生成的,日志标识是客户端根据用户行为生成日志时记录的。由于客户端生成日志、日志标识即目标标识的具体方式已经在上述日志生成方法实施例中说明,所以在此不再赘述。
接下来,由于每条日志的目标标识与其上一条日志的日志标识存在关联,因此在上述步骤S202中,服务器便可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
如果每条日志的目标标识均与其上一条日志的日志标识存在关联,那么便说明服务器所接收到的日志是完整的;如果存在目标标识与其上一条日志的日志标识不存在关联的日志,那么便说明服务器所接收到的日志是不完整的。
当然,服务器在确定所接收到的日志不完整时,还可以根据每条日志的目标标识与其上一条日志的日志标识确定丢失的日志的具体位置,同时可以根据客户端生成日志的具体情况定位日志丢失的原因。例如,客户端是否崩溃、客户端是否为刚刚启动等情况,更加方便准确地定位日志丢失的原因,而不需要大范围搜寻所有的日志,可以快速准确定位问题,便于代码的更新修复。
服务器在确定所接收到的日志不完整时,可以确定目标标识与其上一条日志的日志标识不匹配的日志的位置即为丢失的日志的具体位置,例如,第三条日志的目标标识与第二条日志的日志标识不匹配,那么说明该两条日志中间丢失了至少一条日志。
日志丢失的原因可以根据丢失的日志的具体位置所对应的时间,终端的状态、网络状态等因素确定。例如,在丢失的日志的具体位置所对应的时间网络很不稳定,那么便可以确定日志丢失的原因很可能是网络因素。
作为本发明实施例的一种实施方式,如图3所示,上述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整的步骤,可以包括:
S301,针对除第一条日志以外的每条日志,判断每条日志的目标标识与其上一条日志的日志标识是否匹配,如果是,执行步骤S302;如果否,执行步骤S303;
由于对于每个设备的第一条日志来说,其不存在上一条日志,所以其目标标识一般为默认标识或者空,所以服务器可以确定第一条日志的目标标识是否为默认标识或者为空,如果是,则说明第一条日志没有丢失,如果不是,那么便说明第一条日志丢失。
对于除第一条日志以外的每条日志来说,服务器可以判断每条日志的目标标识与其上一条日志的日志标识是否匹配。其中,匹配的具体要求可以根据客户端生成目标标识的方式确定,例如,如果客户端生成目标标识的方式为:将上一条日志的日志标识后面添加一个字符#,那么服务器便可以判断每条日志的目标标识去掉最后面的字符#后,是否与其上一条日志的日志标识相同,如果相同,即为匹配;如果不相同,即为不匹配。
S302,确定所接收到的日志完整;
S303,确定所接收到的日志不完整。
如果服务器确定每条日志的目标标识与其上一条日志的日志标识均是匹配的,说明每条日志与其上一条日志均是连续的,也就说明没有日志丢失,那么便可以确定所接收到的日志完整。
相反的,如果服务器确定每条日志的目标标识与其上一条日志的日志标识不是均匹配的,也就是说,存在目标标识与其上一条日志的日志标识不匹配的日志,说明该条日志与其上一条日志不是连续的,也就说明有日志丢失,那么便可以确定所接收到的日志不完整。
可见,在本实施例中,服务器可以针对除第一条日志以外的每条日志,判断每条日志的目标标识与其上一条日志的日志标识是否匹配,进而确定所接收到的日志是否完整,可以快速准确地确定所接收到的日志是否完整。
作为本发明实施例的一种实施方式,上述客户端发送的日志中每条日志的目标标识可以与其前一条日志的日志标识相同。也就是说,客户端生成每条日志的目标标识时,可以将其前一条日志的日志标识作为该条日志的目标标识。
针对这种情况,上述判断每条日志的目标标识与其上一条日志的日志标识是否匹配的步骤,可以包括:
判断每条日志的目标标识与其上一条日志的日志标识是否相同。
由于客户端生成每条日志的目标标识时,将其前一条日志的日志标识作为该条日志的目标标识,所以服务器可以判断出了第一条日志以外的每条日志的目标标识与其上一条日志的日志标识是否相同,如果均相同,便说明各条日志之间是连续的,不存在丢失的日志;如果不均相同,那么便说明存在丢失的日志。
可见,在本实施例中,服务器可以通过判断每条日志的目标标识与其上一条日志的日志标识是否相同,确定是否存在丢失的日志,无需对每条日志的目标标识进行解析,识别速度得到提高,效率更高。
作为本发明实施例的一种实施方式,如图4所示,上述方法还可以包括:
S401,根据所接收到的日志的日志标识及预设规则,确定所接收到日志的实际发送数量;
其中,编号号码为客户端根据预设规则对每条日志进行编号得到的编号号码,日志标识为客户端基于编号号码生成的。对于客户端根据预设规则对每条日志进行编号的具体方式,以及客户端基于编号号码生成日志标识的具体方式均在上述日志生成方法实施例中说明,因此在此不再赘述。
服务器在接收到日志的日志标识后,便可以根据日志标识及预设规则确定每条日志的编号号码。在一种实施方式中,客户端将每条日志的编号号码作为该条日志的日志标识的最后一个字符。那么服务器便可以确定每条日志的编号号码为该条日志的日志标识的最后一个字符。例如,日志标识为logafrt4,服务器便可以确定其编号号码为4。
进而,根据客户端的编号规则,服务器便可以根据日志的编号号码确定所接收到日志的实际发送数量。其中,实际发送数量即为客户端实际发送的日志的数量,也就是说,在不丢失日志的情况下,服务器应该接收到的日志的数量。
例如,客户端的编号方式为从0开始编号,每生成一条日志,编号加1。那么服务器便可以确定所有日志的编号号码中的最大值,该最大值加1的值便为实际发送数量。又例如,客户端的编号方式为日志从1开始编号,每生成一条日志,编号加2。那么服务器便可以确定所有日志的编号号码中的最大值,该最大值减1的值,再除以2便为实际发送数量。
S402,根据所述实际发送数量及所接收到的日志的条数,确定日志投递成功率。
确定了上述实际发送数量后,服务器便可以根据该实际发送数量及所接收到的日志的条数,确定日志投递成功率。服务器所接收到的日志的条数即为服务器实际接收到的日志的数量,那么所接收到的日志的条数与实际发送数量的比值即为日志投递成功率。
同理的,服务器还可以确定日志投递失败率。日志投递失败率即为1-日志投递成功率。或者,可以计算实际发送数量与接收到的日志的条数的差值,该差值与实际发送数量的比值即为日志投递失败率,这都是合理的。
可见,在本实施例中,服务器可以根据所接收到的日志的日志标识及预设规则,确定所接收到日志的实际发送数量,进而根据实际发送数量及所接收到的日志的条数,确定日志投递成功率、失败率等。
作为本发明实施例的一种实施方式,上述根据所接收到的日志的日志标识及预设规则,确定所接收到日志的实际发送数量的步骤,可以包括:
根据所接收到的日志的日志标识及预设规则,确定每次所述客户端启动对应的所接收到日志的实际发送数量;
由于在一些情况下,日志标识为客户端基于编号号码及所记录的启动标识生成的,其中,启动标识用于标识客户端的启动。也就是说,客户端在每次启动时会记录启动标识,并将启动标识连同日志一同发送至服务器。
那么服务器便可以根据每条日志的启动标识区别各条日志对应的客户端启动,根据所接收到的日志的日志标识及预设规则,也就可以确定每次客户端启动对应的所接收到日志的实际发送数量。
相应的,上述根据所述实际发送数量及所接收到的日志的条数,确定日志投递成功率的步骤,可以包括:
根据每次所述客户端启动对应的实际发送数量及所接收到的该次所述客户端启动对应的日志的条数,确定每次客户端启动对应的日志投递成功率。
服务器便可以确定每次客户端启动对应的日志投递成功率,进而确定日志丢失对应于哪次启动,基于该次客户端启动的具体情况定位日志丢失的原因等问题。
可见,在本实施例中,服务器可以根据所接收到的日志的日志标识及预设规则,确定每次客户端启动对应的所接收到日志的实际发送数量,进而根据每次客户端启动对应的实际发送数量及所接收到的该次客户端启动对应的日志的条数,确定每次客户端启动对应的日志投递成功率。这样,可以更加细致地确定每次客户端启动对应的日志投递成功率,方便定位日志丢失的原因等问题。
作为本发明实施例的一种实施方式,上述方法还可以包括:
接收所述客户端发送的设备标识;
在生成日志的同时,客户端可以记录的自身所在设备的设备标识,进而连同日志一起发送至服务器。服务器便可以接收到客户端发送的设备标识。
相应的,在上述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整的步骤之前,上述方法还可以包括:
根据每条日志的设备标识将设备标识相同的日志划分为一组。
由于服务器可能同时或在相近时间内接收到不同设备中运行的客户端发送的日志,所以为了准确快速的确定所接收的日志的完整性,服务器可以根据每条日志的设备标识将设备标识相同的日志划分为一组。
例如,服务器接收到的日志对应的设备标识有三种不同的设备标识,那么服务器便可以将接收到的日志划分三组,每种设备标识对应一组日志,同组的日志的设备标识均相同。
那么,上述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整的步骤,可以包括:
根据每组日志中每条日志的目标标识及其上一条日志的日志标识,确定所接收到的每组日志是否完整。
其中,确定每组日志是否完整的具体方式与上述确定日志是否完整的方式相同,可以同时每组日志是否完整,也可以一组一组确定每组日志是否完整,这都是合理的,本发明实施例在此不做具体限定。
如果客户端发送日志的同时还发送了创建时间等信息,为了提高检测速度,服务器可以按照创建时间对各条日志进行排序,对排序后的日志进行处理,这样更加方便。
可见,在本实施例中,当服务器接收都多个客户端发送的日志时,可以根据设备标识将设备标识相同的日志划分为一组,进而根据每组日志中每条日志的目标标识及其上一条日志的日志标识,确定所接收到的每组日志是否完整。在这种情况下也能准确确定所接收到的日志是否完整。
作为本发明实施例的一种实施方式,在上述接收客户端发送的日志以及每条日志的日志标识和目标标识之后,上述方法还可以包括:
根据每条日志的日志标识确定是否存在重复日志;如果存在重复日志,对所述重复日志进行删除处理。
在一些情况下,由于网络原因等客户端可能会重复投递日志,也就是发送重复的日志至服务器,那么为了识别重复的日志,服务器可以根据每条日志的目标标识确定是否存在重复日志。
由于客户端在生成每条日志的日志标识时,日志标识均是唯一的,所以服务器接收到的日志中,如果存在日志标识重复的日志,那么便说明日志标识重复日志是客户端重复发送的。为了节省存储空间,方便对日志进行解析等,服务器在确定重复日志后可以将重复的日志删除。
可见,在本实施例中,服务器可以根据每条日志的日志标识确定是否存在重复日志,进而可以对重复的日志进行删除等相应的处理,节省存储空间,方便后续对日志的进一步处理。
相应于上述日志生成方法,本发明实施例还提供了一种日志检测装置。
下面对本发明实施例所提供的一种日志检测装置进行介绍。
如图5所示,一种日志生成装置,应用于客户端,所述装置包括:
日志标识确定模块510,用于根据用户行为生成日志,并记录所述日志的日志标识;
目标标识确定模块520,用于根据所述日志的前一条日志的日志标识生成所述日志的目标标识;
日志发送模块530,用于将所生成的日志以及每条日志的日志标识和目标标识发送至服务器,以使所述服务器根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
可见,本发明实施例所提供的方案中,客户端可以根据用户行为生成日志,并记录日志的日志标识,根据日志的前一条日志的日志标识生成日志的目标标识,进而将所生成的日志以及每条日志的日志标识和目标标识至服务器,服务器便可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。由于每条日志的目标标识与前一条日志的日志标识存在关联,因此,服务器可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
作为本发明实施例的一种实施方式,上述日志标识确定模块510可以包括:
编号号码确定单元(图5中未示出),用于根据预设规则对每条日志进行编号,得到编号号码;
日志标识确定单元(图5中未示出),用于基于所述编号号码生成所述日志的日志标识。
作为本发明实施例的一种实施方式,上述装置还可以包括:
启动标识确定模块(图5中未示出),用于在所述根据用户行为生成日志,并记录所述日志的日志标识之前,记录启动标识,其中,所述启动标识用于标识所述客户端的启动;
上述日志标识确定单元可以包括:
日志标识确定子单元(图5中未示出),用于基于所述编号号码及所述启动标识生成所述日志的日志标识。
作为本发明实施例的一种实施方式,上述目标标识确定模块520可以包括:
目标标识确定单元(图5中未示出),用于将所述日志的前一条日志的日志标识确定为所述日志的目标标识。
作为本发明实施例的一种实施方式,上述装置还可以包括:
设备标识确定模块(图5中未示出),用于记录所述客户端所在设备的设备标识;
上述日志发送模块530可以包括:
日志发送单元(图5中未示出),用于将所生成的日志以及每条日志的日志标识和目标标识及所述设备标识发送至服务器。
相应于上述日志检测方法,本发明实施例还提供了一种日志检测装置。
下面对本发明实施例所提供的一种日志检测装置进行介绍。
如图6所示,一种日志检测装置,应用于服务器,所述装置包括:
日志接收模块610,用于接收客户端发送的日志以及每条日志的日志标识和目标标识;
其中,所述目标标识为所述客户端根据所述日志的前一条日志的日志标识生成的,所述日志标识为所述客户端根据用户行为生成日志时记录的。
日志检测模块620,用于根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
可见,本发明实施例所提供的方案中,服务器可以接收客户端发送的日志以及每条日志的日志标识和目标标识,由于目标标识为客户端根据日志的前一条日志的日志标识生成的,日志标识为客户端根据用户行为生成日志时记录的,每条日志的目标标识与前一条日志的日志标识存在关联,所以服务器可以根据每条日志的目标标识及其上一条日志的日志标识,确定收到的日志是否完整。
作为本发明实施例的一种实施方式,上述日志检测模块620可以包括:
标识判断单元(图6中未示出),用于针对除第一条日志以外的每条日志,判断每条日志的目标标识与其上一条日志的日志标识是否匹配;
第一确定单元(图6中未示出),用于如果每条日志的目标标识与其上一条日志的日志标识均匹配,确定所接收到的日志完整;
第二确定单元(图6中未示出),用于如果每条日志的目标标识与其上一条日志的日志标识不均匹配,确定所接收到的日志不完整。
作为本发明实施例的一种实施方式,上述客户端发送的日志中每条日志的目标标识可以与其前一条日志的日志标识相同;
上述标识判断单元可以包括:
标识判断子单元(图6中未示出),用于判断每条日志的目标标识与其上一条日志的日志标识是否相同。
作为本发明实施例的一种实施方式,上述装置还可以包括:
发送数量确定模块(图6中未示出),用于根据所接收到的日志的日志标识及预设规则,确定所接收到日志的实际发送数量;
其中,所述日志标识为所述客户端基于所述编号号码生成的,所述编号号码为所述客户端根据所述预设规则对每条日志进行编号得到的编号号码。
成功率确定模块(图6中未示出),用于根据所述实际发送数量及所接收到的日志的条数,确定日志投递成功率。
作为本发明实施例的一种实施方式,上述发送数量确定模块可以包括:
发送数量确定单元(图6中未示出),用于根据所接收到的日志的日志标识及预设规则,确定每次所述客户端启动对应的所接收到日志的实际发送数量;
其中,所述日志标识为所述客户端基于所述编号号码及所记录的启动标识生成的,所述启动标识用于标识所述客户端的启动。
上述成功率确定模块可以包括:
成功率确定单元(图6中未示出),用于根据每次所述客户端启动对应的实际发送数量及所接收到的该次所述客户端启动对应的日志的条数,确定每次客户端启动对应的日志投递成功率。
作为本发明实施例的一种实施方式,上述装置还可以包括:
设备标识接收模块(图6中未示出),用于接收所述客户端发送的设备标识;
其中,所述设备标识为所述客户端记录的其所在设备的设备标识。
日志分组模块(图6中未示出),用于在所述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整之前,根据每条日志的设备标识将设备标识相同的日志划分为一组;
上述日志检测模块620可以包括:
日志检测单元(图6中未示出),用于根据每组日志中每条日志的目标标识及其上一条日志的日志标识,确定所接收到的每组日志是否完整。
作为本发明实施例的一种实施方式,上述装置还可以包括:
重复日志确定模块(图6中未示出),用于根据每条日志的日志标识确定是否存在重复日志;
重复日志删除模块(图6中未示出),用于如果存在重复日志,对所述重复日志进行删除处理。
本发明实施例还提供了一种终端,如图7所示,终端可以包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述任一实施例所述的第一种日志检测方法。
可见,本发明实施例所提供的方案中,终端可以根据用户行为生成日志,并记录日志的日志标识,根据日志的前一条日志的日志标识生成日志的目标标识,进而将所生成的日志以及每条日志的日志标识和目标标识至服务器,服务器便可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。由于每条日志的目标标识与前一条日志的日志标识存在关联,因此,服务器可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种服务器,如图8所示,服务器可以包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现上述任一实施例所述的第二种日志检测方法。
可见,本发明实施例所提供的方案中,服务器可以接收客户端发送的日志以及每条日志的日志标识和目标标识,由于目标标识为客户端根据日志的前一条日志的日志标识生成的,日志标识为客户端根据用户行为生成日志时记录的,每条日志的目标标识与前一条日志的日志标识存在关联,所以服务器可以根据每条日志的目标标识及其上一条日志的日志标识,确定收到的日志是否完整。
上述服务器提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述服务器与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的第一种日志检测方法。
可见,本发明实施例所提供的方案中,计算机程序被处理器执行时,可以根据用户行为生成日志,并记录日志的日志标识,根据日志的前一条日志的日志标识生成日志的目标标识,进而将所生成的日志以及每条日志的日志标识和目标标识至服务器,服务器便可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。由于每条日志的目标标识与前一条日志的日志标识存在关联,因此,服务器可以根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现以上述任一实施例所述的第二种日志检测方法。
可见,本发明实施例所提供的方案中,计算机程序被处理器执行时,可以接收客户端发送的日志以及每条日志的日志标识和目标标识,由于目标标识为客户端根据日志的前一条日志的日志标识生成的,日志标识为客户端根据用户行为生成日志时记录的,每条日志的目标标识与前一条日志的日志标识存在关联,所以服务器可以根据每条日志的目标标识及其上一条日志的日志标识,确定收到的日志是否完整。
需要说明的是,对于上述装置、终端、服务器及计算机可读存储介质实施例而言,由于其基本相似于相应的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
进一步需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (28)

1.一种日志检测方法,其特征在于,应用于客户端,所述方法包括:
根据用户行为生成日志,并记录所述日志的日志标识;
根据所述日志的前一条日志的日志标识生成所述日志的目标标识;
将所生成的日志以及每条日志的日志标识和目标标识发送至服务器,以使所述服务器根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
2.如权利要求1所述的方法,其特征在于,所述记录所述日志的日志标识的步骤,包括:
根据预设规则对每条日志进行编号,得到编号号码;
基于所述编号号码生成所述日志的日志标识。
3.如权利要求2所述的方法,其特征在于,在所述根据用户行为生成日志,并记录所述日志的日志标识的步骤之前,所述方法还包括:
记录启动标识,其中,所述启动标识用于标识所述客户端的启动;
所述基于所述编号号码生成所述日志的日志标识的步骤,包括:
基于所述编号号码及所述启动标识生成所述日志的日志标识。
4.如权利要求1-3任一项所述的方法,其特征在于,所述根据所述日志的前一条日志的日志标识生成所述日志的目标标识的步骤,包括:
将所述日志的前一条日志的日志标识确定为所述日志的目标标识。
5.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
记录所述客户端所在设备的设备标识;
所述将所生成的日志以及每条日志的日志标识和目标标识发送至服务器的步骤,包括:
将所生成的日志以及每条日志的日志标识和目标标识及所述设备标识发送至服务器。
6.一种日志检测方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的日志以及每条日志的日志标识和目标标识,其中,所述目标标识为所述客户端根据所述日志的前一条日志的日志标识生成的,所述日志标识为所述客户端根据用户行为生成日志时记录的;
根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
7.如权利要求6所述的方法,其特征在于,所述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整的步骤,包括:
针对除第一条日志以外的每条日志,判断每条日志的目标标识与其上一条日志的日志标识是否匹配;
如果是,确定所接收到的日志完整;
如果否,确定所接收到的日志不完整。
8.如权利要求7所述的方法,其特征在于,所述客户端发送的日志中每条日志的目标标识与其前一条日志的日志标识相同;
所述判断每条日志的目标标识与其上一条日志的日志标识是否匹配的步骤,包括:
判断每条日志的目标标识与其上一条日志的日志标识是否相同。
9.如权利要求6所述的方法,其特征在于,所述方法还包括:
根据所接收到的日志的日志标识及预设规则,确定所接收到日志的实际发送数量,其中,所述日志标识为所述客户端基于编号号码生成的,所述编号号码为所述客户端根据所述预设规则对每条日志进行编号得到的编号号码;
根据所述实际发送数量及所接收到的日志的条数,确定日志投递成功率。
10.如权利要求9所述的方法,其特征在于,所述根据所接收到的日志的日志标识及预设规则,确定所接收到日志的实际发送数量的步骤,包括:
根据所接收到的日志的日志标识及预设规则,确定每次所述客户端启动对应的所接收到日志的实际发送数量,其中,所述日志标识为所述客户端基于所述编号号码及所记录的启动标识生成的,所述启动标识用于标识所述客户端的启动;
所述根据所述实际发送数量及所接收到的日志的条数,确定日志投递成功率的步骤,包括:
根据每次所述客户端启动对应的实际发送数量及所接收到的该次所述客户端启动对应的日志的条数,确定每次客户端启动对应的日志投递成功率。
11.如权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的设备标识,其中,所述设备标识为所述客户端记录的其所在设备的设备标识;
在所述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整的步骤之前,所述方法还包括:
根据每条日志的设备标识将设备标识相同的日志划分为一组;
所述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整的步骤,包括:
根据每组日志中每条日志的目标标识及其上一条日志的日志标识,确定所接收到的每组日志是否完整。
12.如权利要求6-11任一项所述的方法,其特征在于,所述方法还包括:
根据每条日志的日志标识确定是否存在重复日志;
如果存在重复日志,对所述重复日志进行删除处理。
13.一种日志检测装置,其特征在于,应用于客户端,所述装置包括:
日志标识确定模块,用于根据用户行为生成日志,并记录所述日志的日志标识;
目标标识确定模块,用于根据所述日志的前一条日志的日志标识生成所述日志的目标标识;
日志发送模块,用于将所生成的日志以及每条日志的日志标识和目标标识发送至服务器,以使所述服务器根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
14.如权利要求13所述的装置,其特征在于,所述日志标识确定模块包括:
编号号码确定单元,用于根据预设规则对每条日志进行编号,得到编号号码;
日志标识确定单元,用于基于所述编号号码生成所述日志的日志标识。
15.如权利要求14所述的装置,其特征在于,所述装置还包括:
启动标识确定模块,用于在所述根据用户行为生成日志,并记录所述日志的日志标识之前,记录启动标识,其中,所述启动标识用于标识所述客户端的启动;
所述日志标识确定单元包括:
日志标识确定子单元,用于基于所述编号号码及所述启动标识生成所述日志的日志标识。
16.如权利要求13-15任一项所述的装置,其特征在于,所述目标标识确定模块包括:
目标标识确定单元,用于将所述日志的前一条日志的日志标识确定为所述日志的目标标识。
17.如权利要求13-15任一项所述的装置,其特征在于,所述装置还包括:
设备标识确定模块,用于记录所述客户端所在设备的设备标识;
所述日志发送模块包括:
日志发送单元,用于将所生成的日志以及每条日志的日志标识和目标标识及所述设备标识发送至服务器。
18.一种日志检测装置,其特征在于,应用于服务器,所述装置包括:
日志接收模块,用于接收客户端发送的日志以及每条日志的日志标识和目标标识,其中,所述目标标识为所述客户端根据所述日志的前一条日志的日志标识生成的,所述日志标识为所述客户端根据用户行为生成日志时记录的;
日志检测模块,用于根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整。
19.如权利要求18所述的装置,其特征在于,所述日志检测模块包括:
标识判断单元,用于针对除第一条日志以外的每条日志,判断每条日志的目标标识与其上一条日志的日志标识是否匹配;
第一确定单元,用于如果每条日志的目标标识与其上一条日志的日志标识均匹配,确定所接收到的日志完整;
第二确定单元,用于如果每条日志的目标标识与其上一条日志的日志标识不均匹配,确定所接收到的日志不完整。
20.如权利要求19所述的装置,其特征在于,所述客户端发送的日志中每条日志的目标标识与其前一条日志的日志标识相同;
所述标识判断单元包括:
标识判断子单元,用于判断每条日志的目标标识与其上一条日志的日志标识是否相同。
21.如权利要求18所述的装置,其特征在于,所述装置还包括:
发送数量确定模块,用于根据所接收到的日志的日志标识及预设规则,确定所接收到日志的实际发送数量,其中,所述日志标识为所述客户端基于编号号码生成的,所述编号号码为所述客户端根据所述预设规则对每条日志进行编号得到的编号号码;
成功率确定模块,用于根据所述实际发送数量及所接收到的日志的条数,确定日志投递成功率。
22.如权利要求21所述的装置,其特征在于,所述发送数量确定模块包括:
发送数量确定单元,用于根据所接收到的日志的日志标识及预设规则,确定每次所述客户端启动对应的所接收到日志的实际发送数量,其中,所述日志标识为所述客户端基于所述编号号码及所记录的启动标识生成的,所述启动标识用于标识所述客户端的启动;
所述成功率确定模块包括:
成功率确定单元,用于根据每次所述客户端启动对应的实际发送数量及所接收到的该次所述客户端启动对应的日志的条数,确定每次客户端启动对应的日志投递成功率。
23.如权利要求18所述的装置,其特征在于,所述装置还包括:
设备标识接收模块,用于接收所述客户端发送的设备标识,其中,所述设备标识为所述客户端记录的其所在设备的设备标识;
日志分组模块,用于在所述根据每条日志的目标标识及其上一条日志的日志标识,确定所接收到的日志是否完整之前,根据每条日志的设备标识将设备标识相同的日志划分为一组;
所述日志检测模块包括:
日志检测单元,用于根据每组日志中每条日志的目标标识及其上一条日志的日志标识,确定所接收到的每组日志是否完整。
24.如权利要求18-21任一项所述的装置,其特征在于,所述装置还包括:
重复日志确定模块,用于根据每条日志的日志标识确定是否存在重复日志;
重复日志删除模块,用于如果存在重复日志,对所述重复日志进行删除处理。
25.一种终端,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
26.一种服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求6-12任一所述的方法步骤。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求6-12任一所述的方法步骤。
CN201910457500.0A 2019-05-29 2019-05-29 一种日志检测方法、装置、终端及服务器 Active CN110048899B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910457500.0A CN110048899B (zh) 2019-05-29 2019-05-29 一种日志检测方法、装置、终端及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910457500.0A CN110048899B (zh) 2019-05-29 2019-05-29 一种日志检测方法、装置、终端及服务器

Publications (2)

Publication Number Publication Date
CN110048899A CN110048899A (zh) 2019-07-23
CN110048899B true CN110048899B (zh) 2022-03-04

Family

ID=67283954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910457500.0A Active CN110048899B (zh) 2019-05-29 2019-05-29 一种日志检测方法、装置、终端及服务器

Country Status (1)

Country Link
CN (1) CN110048899B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064869B (zh) * 2021-03-23 2023-06-13 网易(杭州)网络有限公司 日志处理方法、装置、发送端、接收端设备及存储介质
CN114500503A (zh) * 2022-01-14 2022-05-13 广东好太太智能家居有限公司 一种智能设备离线日志上传方法、智能设备和可读介质
CN114116291B (zh) * 2022-01-24 2022-06-14 苏州浪潮智能科技有限公司 日志检测方法、日志检测装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104579771A (zh) * 2014-12-31 2015-04-29 上海格尔软件股份有限公司 一种对用户登录登出应用系统的行为轨迹的分析方法
CN107168845A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种故障定位方法及装置
CN108063685A (zh) * 2017-12-06 2018-05-22 迈普通信技术股份有限公司 日志分析方法及装置
CN108462598A (zh) * 2017-02-21 2018-08-28 阿里巴巴集团控股有限公司 一种日志生成方法、日志分析方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4721111B2 (ja) * 2005-11-24 2011-07-13 富士ゼロックス株式会社 画像処理装置、画像処理システム、画像処理プログラムおよび画像処理方法
US8719232B2 (en) * 2011-06-30 2014-05-06 Verisign, Inc. Systems and methods for data integrity checking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104579771A (zh) * 2014-12-31 2015-04-29 上海格尔软件股份有限公司 一种对用户登录登出应用系统的行为轨迹的分析方法
CN108462598A (zh) * 2017-02-21 2018-08-28 阿里巴巴集团控股有限公司 一种日志生成方法、日志分析方法及装置
CN107168845A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种故障定位方法及装置
CN108063685A (zh) * 2017-12-06 2018-05-22 迈普通信技术股份有限公司 日志分析方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于贝叶斯置信网的日志服务系统容侵方法研究;黄光球等;《微电子学与计算机》;20061220(第12期);全文 *
日志管理技术研究与实现;王变琴;《计算机工程》;20000820(第08期);全文 *

Also Published As

Publication number Publication date
CN110048899A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
CN108460115B (zh) 消息推送方法、装置、计算机设备及存储介质
CN110048899B (zh) 一种日志检测方法、装置、终端及服务器
CN108089893B (zh) 冗余资源的确定方法、装置、终端设备与存储介质
EP3132396A1 (en) Filtering electronic messages
CN109669795B (zh) 崩溃信息处理方法及装置
CN110866258B (zh) 快速定位漏洞方法、电子装置及存储介质
CN104980402B (zh) 一种识别恶意操作的方法及装置
CN109246190B (zh) 网络寻址方法、数据编辑方法、装置及存储介质
CN104217165B (zh) 文件的处理方法及装置
JP6629973B2 (ja) 携帯電話番号を変更するためのサービス要求を認識する方法及び装置
CN111885051B (zh) 数据验证方法、装置及电子设备
US20200042422A1 (en) Log analysis method, system, and storage medium
CN109246083B (zh) 一种dga域名的检测方法及装置
WO2020062227A1 (en) Method and device for recognizing apparatus and computer readable storage medium and program
CN113064966B (zh) 用于故障定位的方法、系统及装置
CN114611039A (zh) 异步加载规则的解析方法、装置、存储介质和电子设备
US20190050568A1 (en) Process search apparatus and computer-readable recording medium
CN109560964B (zh) 一种设备合规检查方法及装置
CN111966919A (zh) 一种事件消息的处理方法、装置及设备
CN114254050B (zh) 区块链网络共识预加载方法、装置、设备及存储介质
CN113992364B (zh) 一种网络数据包阻断优化方法以及系统
CN116841913B (zh) 测试用例生成方法、装置、电子设备及存储介质
CN114116644B (zh) 一种日志文件处理方法、装置、设备及存储介质
CN112241672B (zh) 一种身份数据的关联方法、装置、电子设备及存储介质
CN106648558A (zh) 用于TPL Dataflow 的控制方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant