CN112764997A - 一种日志存储的方法、装置、计算机设备和存储介质 - Google Patents

一种日志存储的方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112764997A
CN112764997A CN202110118925.6A CN202110118925A CN112764997A CN 112764997 A CN112764997 A CN 112764997A CN 202110118925 A CN202110118925 A CN 202110118925A CN 112764997 A CN112764997 A CN 112764997A
Authority
CN
China
Prior art keywords
log
information
identifier
distributed
proofreading
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.)
Granted
Application number
CN202110118925.6A
Other languages
English (en)
Other versions
CN112764997B (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 ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network 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 ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202110118925.6A priority Critical patent/CN112764997B/zh
Publication of CN112764997A publication Critical patent/CN112764997A/zh
Application granted granted Critical
Publication of CN112764997B publication Critical patent/CN112764997B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种日志存储的方法、装置、计算机设备和存储介质,其中,该方法包括:接收针对分布式日志的存储请求,其中携带有第一日志源信息和第一日志标识;根据第一日志源信息和第一日志标识,生成分布式日志的日志校对信息并存储,日志校对信息中包含用于指示是否存在与第一日志源信息和第一日志标识对应的分布式日志的信息。针对待存储的分布式日志,根据日志源信息和日志标识生成日志校对信息,通过其对存储的分布式日志进行异常检查,从而为定位异常日志提供帮助,相比现有技术中直接转存分布式日志,在多个服务器之间查找定位异常日志,能够降低异常日志查找难度,提高异常日志查找效率。

Description

一种日志存储的方法、装置、计算机设备和存储介质
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种日志存储的方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的快速发展,各种各样的网站相继出现,用户会根据各自不同的需求访问不同的网站来获取相关信息。网站被访问的全过程会被服务器日志记录下来,服务器日志会记录用户执行各种操作的详细信息。当系统的数据信息出现错误时,管理员可以根据服务器日志里面的信息执行相关操作来恢复数据信息,进而维护系统的稳定。
分布式的服务器日志的上报过程是将储存在服务器中的二进制日志传送到代理服务器,代理服务器将获取的日志信息传送到信息存储器中,然后再传递到middle ware(中间件服务器)中,最后传递到有日志文件需要的其他服务器中。在日志上报过程中,每个日志源服务器上报的日志是顺序的且每条日志都有日志编号,另外,由于中间服务器采用分布式部署方式,在处理日志源服务器上报的日志时采用负载均衡方式分散到不同的中间件服务器进行处理,所以同一日志源上报的日志可能被分配给不同的middle ware处理,另外,不同日志到达不同中间件服务器的时间也是不固定的,顺序在后的日志到达middleware的时间可能早于顺序在前的日志到达middle ware的时间。
由于缺乏对分布式的日志流水的缺失性检查,当日志在上报过程中出现大规模的缺失时,就会直接影响接收日志信息的完整性,遗漏异常日志信息会造成系统严重错误。当数据出现偏差时,需要返回在多个中间件服务器中查找缺失的日志,再到服务器中查找对应的数据。上述方式增加了定位异常问题的难度,降低了数据查找效率。
发明内容
本公开实施例至少提供一种日志存储的方法、装置、计算机设备和存储介质。
第一方面,本公开实施例提供了一种日志存储的方法,包括:
接收针对分布式日志的存储请求,所述存储请求中携带有第一日志源信息和第一日志标识,所述第一日志源信息包括上报所述分布式日志的客户端标识和服务器标识,所述第一日志标识包括所述分布式日志的日志顺序号;
根据所述第一日志源信息和所述第一日志标识,生成所述分布式日志的日志校对信息并存储,所述日志校对信息中包含用于指示是否存在与所述第一日志源信息和所述第一日志标识对应的分布式日志的信息。
在一种可能的实施方式中,根据所述第一日志源信息和所述第一日志标识,确定所述分布式日志的日志校对信息,具体包括:
根据所述第一日志标识分别确定所述分布式日志对应的第一校对组标识和第一组内标识;
确定所述第一日志源信息与所述第一校对组标识以及第一组内标识组成的键值对为所述分布式日志的日志校对信息。
在一种可能的实施方式中,还包括:
按照设定的检查周期,检查所述日志校对信息;
如果根据日志校对信息检查结果确定存在异常日志,则记录异常日志对应的异常日志校对信息。
在一种可能的实施方式中,还包括:
接收异常日志检查请求,所述异常日志检查请求中携带有第二日志源信息;
从记录的异常日志校对信息中查找所述第二日志源信息对应的第二校对组标识以及第二组内标识;
根据查找到的第二校对组标识以及第二组内标识确定异常日志的第二日志标识;
根据所述第二日志标识和所述第二日志源信息定位异常日志。
在一种可能的实施方式中,还包括:
如果根据日志校对信息检查结果确定来自于同一日志源的异常日志数量大于第一预设阈值,则生成告警信息,所述告警信息中包含第三日志源信息。
在一种可能的实施方式中,按照以下方式存储所述日志校对信息:
利用位图bitmap的数据结构存储所述日志校对信息。
在一种可能的实施方式中,在按照设定的检查周期,检查所述日志校对信息之前,还包括:
确定存储所述日志校对信息的bitmap数量大于第二预设阈值。
第二方面,本公开实施例还提供一种日志存储装置,包括:
接收单元,用于接收针对分布式日志的存储请求,所述存储请求中携带有第一日志源信息和第一日志标识,所述第一日志源信息包括上报所述分布式日志的客户端标识和服务器标识,所述第一日志标识包括所述分布式日志的日志顺序号;
确定单元,用于根据所述第一日志源信息和所述第一日志标识,生成所述分布式日志的日志校对信息并存储,所述日志校对信息中包含用于指示是否存在与所述第一日志源信息和所述第一日志标识对应的分布式日志的信息。
在一种可能的实施方式中,所述确定单元,具体用于根据所述第一日志标识分别确定所述分布式日志对应的第一校对组标识和第一组内标识;确定所述第一日志源信息与所述第一校对组标识以及第一组内标识组成的键值对为所述分布式日志的日志校对信息。
在一种可能的实施方式中,还包括:
检查单元,用于按照设定的检查周期,检查所述日志校对信息;
记录单元,用于如果根据日志校对信息检查结果确定存在异常日志,则记录异常日志对应的异常日志校对信息。
在一种可能的实施方式中,所述装置,还包括查找单元,其中:
所述接收单元,还用于接收异常日志检查请求,所述异常日志检查请求中携带有第二日志源信息;
所述查找单元,用于从所述记录单元记录的异常日志校对信息中查找所述第二日志源信息对应的第二校对组标识以及第二组内标识;根据查找到的第二校对组标识以及第二组内标识确定异常日志的第二日志标识;根据所述第二日志标识和所述第二日志源信息定位异常日志。
在一种可能的实施方式中,还包括:
报警单元,用于如果根据日志校对信息检查结果确定来自于同一日志源的异常日志数量大于第一预设阈值,则生成告警信息,所述告警信息中包含第三日志源信息。
在一种可能的实施方式中,所述确定单元,具体用于利用位图bitmap的数据结构存储所述日志校对信息。
在一种可能的实施方式中,所述检查单元,还用于确定存储所述日志校对信息的bitmap数量大于第二预设阈值。
第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述日志存储的方法、装置、计算机设备和存储介质的效果描述参见上述日志存储的方法的说明,这里不再赘述。
本公开实施例提供的日志存储的方法、装置、计算机设备和存储介质,针对待存储的分布式日志,根据日志源信息和日志标识生成日志校对信息,通过日志校对信息可以对存储的分布式日志进行异常检查,从而可以为后续定位异常日志提供帮助,相比于现有技术中直接转存分布式日志,在业务异常时,需要在多个服务器之间往返查找定位异常日志,能够降低异常日志的查找难度,提高异常日志数据查找效率。
进一步地,根据本公开提供的日志存储的方法,通过定期对日志校对信息进行检查并记录异常日志校对信息,在需要检查异常日志时,可以根据记录的异常日志校对信息快速定位异常日志,提高了异常日志定位的速度。
进一步地,根据本公开提供的日志存储的方法,根据异常日志检查结果,如果判断出来自于同一日志源的异常日志数量大于第一预设阈值时,生成告警信息,在告警信息中还可以包含产生异常日志的日志源信息,以提示用户及时对相应日志源进行检查。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1a示出了本公开实施例所提供的一种日志存储系统的示意图;
图1b示出了本公开实施例所提供的一种日志存储的方法的流程图;
图1c示出了本公开实施例所提供的一种日志校对信息为bitmap的情况下的结构示意图;
图2示出了本公开实施例所提供的定位异常日志的实施流程示意图;
图3示出了本公开实施例所提供的日志存储装置示意图;
图4示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
经研究发现,分布式日志的上报是顺序的且每条日志都带有对应的日志标识,每个分布式日志到达中间服务器的机器是不固定的,时间也是不一样的,因此就产生了分布式的日志。由于缺乏对分布式日志的缺失性检查,不能及时检测服务器的问题,同时,当客户端数据出现偏差时,需要往返在多个中间件服务器中查找缺失的日志,再到相应的服务器查找对应的数据,这种方式增加了对错误进行定位的复杂性,由于需要多次查找,降低了数据查找的效率。
基于上述研究,本公开提供了一种日志存储的方法、装置、计算机设备和存储介质,根据日志标识和日志源信息生成日志校对信息,通过定期对日志校对信息进行检查并记录其中的异常日志校对信息,当数据出现偏差或异常时,可以直接查询异常日志校对信息定位异常日志,大大提高了定位问题的速度和效率,提高了数据查找的效率。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种日志存储的方法进行详细介绍,本公开实施例所提供的日志存储的方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该日志存储的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为计算机设备为例对本公开实施例提供的日志存储的方法加以说明。
为便于对本实施例进行理解,首先对本公开实施例所公开的日志存储的应用场景进行介绍。本公开实施例所提供的日志存储的方法可以应用于图1a所示的日志存储系统中。该系统包括用于上报待存储分布式日志信息的多个服务器110,用于接收上报的分布式日志的中间服务器120和存储分布式日志校对信息的存储服务器,在一个实施例中,存储服务器可以包括redis(远程字典服务)服务器130。服务器110中安装有日志上报客户端,服务器110通过日志上报客户端向中间服务器120发送分布式日志的存储请求,每个服务器110的日志是顺序的,每条日志都有其对应的日志编号,在中间服务器120一侧根据负载均衡结果,各个服务器110上报的服务日志会被分配在不同的中间服务器120上进行处理。响应日志上报客户端发送的分布式日志的存储请求,中间服务器120在接收到待存储的分布式日志后,根据日志源标识和日志编号,确定日志校对信息存储到redis服务器130中,根据存储的日志校对信息可以帮助定位缺失的异常日志位置。
参见图1b所示,为本公开实施例提供的日志存储的方法的流程图,包括以下步骤:
S101:接收针对分布式日志的存储请求。
具体实施时,中间服务器接收来自于日志源服务器发送的针对分布式日志存储请求,日志存储请求中可以携带有第一日志源信息和第一日志标识。其中,日志源信息可以为上报分布式日志的客户端标识和服务器标识,第一日志源信息包括上报所述分布式日志的客户端标识和服务器标识,第一日志标识包括所述分布式日志的日志顺序号。
以日志源服务器为游戏服务器,产生分布式日志的客户端为游戏客户端为例,日志源信息可以包括游戏服务器标识和游戏客户端标识。在一个实施例中,游戏服务器标识可以采用游戏服务器IP(互联网协议)地址,游戏客户端标识可以采用客户端ID(身份标识)。
S102:根据日志存储请求中携带的日志源信息和日志标识,生成分布式日志的日志校对信息并存储。
具体实施时,在存储日志校对信息时,可以采用键值对形式的数据结构进行存储。其中,键(key)可以包括日志源信息和日志标识,值(value)表示相应的分布式日志是否存在,如果存在,可以将对应位置的value设置为1,如果不存在,可以将对应位置的value设置为0。
在一个实施例中,初始时,value默认值可以设置为0,根据步骤S101和步骤S102转存待存储日志时,将根据步骤S102中确定出的日志源信息和日志标识对应的值修改为1,即表示该日志源信息和该日志标识对应的分布式日志存在。
由于来自于同一日志源的分布式日志数量较大,为了进一步提高数据查找效率,根据本公开实施例,还可以对来自于同一日志源的分布式日志进行分组存储。
在这种实施方式中,可以根据日志标识分别确定分布式日志对应的第一校对组标识和第一组内标识,其中,第一校对组标识为分布式日志对应的校对组标识,第一组内标识为分布式日志在不同分组内的索引,这里,可以将第一日志源信息、第一校对组标识以及第一组内标识作为日志校对信息对应的组成的键值对中的key,将表示该第一日志源信息、第一校对组标识以及第一组内标识对应的分布式日志是否存在的数值作为日志校对信息对应的键值对中的value。
在一个实施例中,可以利用bitmap(位图)的数据结构存储步骤102中确定出的日志校对信息。如图1c所示,其为日志校对信息为bitmap的情况下的结构示意图。其中,IP1,IP2表示服务器地址,ID1,ID2,ID3,……表示客户端标识,SN1,SN2,SN3,……表示日志标识,值为1表示相应的日志信息存在,值为0表示相应的日志信息不存在。
在另一实施例中,为了保证异常日志检查结果的准确性,可以在确定存储来自于同一日志源的日志校对信息的bitmap数量大于第二预设阈值的情况下,再按照设定的检查周期,检查日志校对信息。
具体实施时,如果针对存储来自同一日志源的日志校对信息的bitmap数量达到第二预设阈值,则认为所有bitmap中前(N-K)个bitmap中存储的日志校对信息达到稳定状态,即该(N-K)个bitmap中存储的日志校对信息不再发生更新,这种情况下,再开始对该(N-K)个bitmap中存储的日志校对信息进行检查,其中,N为当前bitmap总数量,K为第二预设阈值。
其中,第二预设阈值可以根据经验值或者实际需要进行设定,本公开实施例对此不进行具体限定。
Bitmap的数据结构可以表示为uniqId_{{col}}和index标识,其中,uniqId_{{col}}是Bitmap的key,uniqId为上报分布式日志的服务器IP+日志上报的clientid(客户端标识),其表示日志校对信息中的日志源信息,col为该uniqId的偏移量,其为当前Bitmap在同种uniqId组合中的序号,其在日志校对信息中表示校对组标识,index为指示索引,在日志校对信息中表示日志组内标识,三者共同组成日志校对信息中的键。
在分布式系统中,每个日志源服务器上报的分布式日志是有序的,每条分布式日志有其对应的顺序号,具体实施时,可以采用分布式日志顺序号作为分布式日志的日志标识。
基于此,在一个实施例中,根据第一日志标识可以分别按照以下公式确定分布式日志对应的第一校对组标识和第一组内标识:
Figure BDA0002921744730000111
index=seq mod BitmapSize,其中:
col表示第一校对组标识;
seq表示分布式日志的日志标识;
BitmapSize表示预设的bitmap大小,为预设值,代表一个Bitmap可容纳最大日志记录数量;
Figure BDA0002921744730000112
表示向下取整;
index表示第一组内标识;
mod表示取余计算。
具体实施时,在确定出日志校对信息之后,修改bitmap中对应位置的值为1,即表示该日志校对信息对应的分布式日志存在,例如,bitmap有108位,初始值均为0,每存储一份分布式日志,就根据分布式日志的序号确定其对应在bitmap中的位置并将该位置的值设置为1。
例如,某分布式日志的seq为108,bitmap的大小设置为100B,则按照上述公式可以确定,对应得到的col为1,index为8;那么对应的同种bitmap中的序号为uniqId_1,所对应的bitmap中的第8位设置为1。
具体实施时,在确定出的日志校对信息之后,中间服务器可以将确定出的日志校对信息存储在本地,在一个实施例中,中间件服务器还可以将转换得到的日志校对信息存储在redis(远程字典服务)中。
实施例二
基于存储的日志校对信息,本公开实施例中,还可以按照设定的周期,对日志校对信息进行检查,以确定出其中的异常日志。如果根据日志校对信息检查结果确定存在异常日志,则记录异常日志对应的异常日志校对信息。具体实施时,即检查bitmap的值,如果bitmap的值为0,则说明日志源信息、第一校对组标识和第一组内标识所对应的分布式日志不存在,根据上述三者可以确定出异常日志的日志标识。
在一个实施例中,在记录了异常日志校对信息之后,可以删除实施例一中确定出的日志校对信息,即建立的bitmap数据,以释放存储空间。
基于上述描述,在需要定位异常日志时,可以按照图2所示的流程实施:
S201、接收异常日志检查请求。
其中,异常日志检查请求中携带有第二日志源信息。
S202、从记录的异常日志校对信息中查找第二日志源信息对应的第二校对组标识以及第二组内标识。
S203、根据查找到的第二校对组标识以及第二组内标识确定异常日志的第二日志标识。
具体实施时,可以根据公式seq=col*BitmapSize+index确定出异常日志的日志标识。以bitamp大小设置为100,日志校验信息uniqId_1第8位对应值是0为例,根据公式seq=col*BitmapSize+index可以确定出分布式日志的顺序号为108。
S204、根据第二日志标识和第二日志源信息定位异常日志。
本步骤中,结合日志校对信息中的uniqId可以确定出日志源服务器标识和客户端标识,由此,可以快速定位到异常日志,从而提高了异常日志的查找效率。
在另外一些实施例中,如果根据日志校对信息检查结果,确定来自于同一日志源的异常日志数量大于第一预设阈值,则生成告警信息,其中,告警信息中包含第三日志源信息,其中,告警信息中包含第三日志源信息,将生成的告警信息发送给管理用户,管理用户根据其中携带的第三日志源信息中的服务器标识,登录相应的服务器进行检查。
为了更好地理解本发明实施例,以下以服务器为游戏服务器为例对本发明的实施过程进行具体说明。
以不同的用户在安装的游戏客户端进行游戏的过程中产生的游戏数据为例,游戏服务器在用户游戏过程中记录相应的日志并根据日志的产生顺序依次编号得到各日志的顺序号,进而基于记录的游戏日志,通过游戏服务器中安装的日志上报客户端向中间件服务器发送分布式日志存储请求,其中携带有游戏服务器IP,日志上报客户端标识ID和日志顺序号Seq和相应的日志,中间服务器根据分布式日志存储请求中的游戏服务器IP和日志上报客户端ID以及每一个游戏日志的编号Seq生成日志校对信息中的键,并将相应键对应的值修改为1后,将生成的日志校对信息存储在redis中。
基于radis中存储的日志校对信息,按照一定的时间间隔对存储在redis中的日志校对信息进行检查,对于值为0的日志校对信息,根据该日志校对信息的键确定出日志顺序号Seq,根据Seq在游戏服务器本地查找到丢失的游戏日志并重新进行存储。
根据本公开实施例提供的日志存储的方法,还可以在服务器接收到来自客户端的异常日志检查请求时,服务器会根据异常日志检查请求中的日志源信息在记录的异常日志信息中查找出日志源信息中对应的日志校对组标识和组内标识,然后确定日志源信息的日志标识,根据得到的日志标识和日志源标识定位异常日志信息,这样可以避免服务器在接收到异常服务检查请求时,需要往返在多个中间服务器中定位异常日志信息而造成时间的浪费和降低了数据查找效率的问题。
参见图3所示,为本公开实施例提供的日志存储装置示意图,包括:
接收单元301,用于接收针对分布式日志的存储请求,所述存储请求中携带有第一日志源信息和第一日志标识,所述第一日志源信息包括上报所述分布式日志的客户端标识和服务器标识,所述第一日志标识包括所述分布式日志的日志顺序号;
确定单元302,用于根据所述第一日志源信息和所述第一日志标识,生成所述分布式日志的日志校对信息并存储,所述日志校对信息中包含用于指示是否存在与所述第一日志源信息和所述第一日志标识对应的分布式日志的信息。
在一种可能的实施方式中,所述确定单元302,具体用于根据所述第一日志标识分别确定所述分布式日志对应的第一校对组标识和第一组内标识;确定所述第一日志源信息与所述第一校对组标识以及第一组内标识组成的键值对为所述分布式日志的日志校对信息。
在一种可能的实施方式中,还包括:
检查单元303,用于按照设定的检查周期,检查所述日志校对信息;
记录单元304,用于如果根据日志校对信息检查结果确定存在异常日志,则记录异常日志对应的异常日志校对信息。
在一种可能的实施方式中,所述装置,还包括查找单元305,其中:
所述接收单元301,还用于接收异常日志检查请求,所述异常日志检查请求中携带有第二日志源信息;
所述查找单元305,用于从所述记录单元304记录的异常日志校对信息中查找所述第二日志源信息对应的第二校对组标识以及第二组内标识;根据查找到的第二校对组标识以及第二组内标识确定异常日志的第二日志标识;根据所述第二日志标识和所述第二日志源信息定位异常日志。
在一种可能的实施方式中,所述装置,还包括:
报警单元306,用于如果根据日志校对信息检查结果确定来自于同一日志源的异常日志数量大于第一预设阈值,则生成告警信息,所述告警信息中包含第三日志源信息。
在一种可能的实施方式中,所述确定单元302,具体用于利用位图bitmap的数据结构存储所述日志校对信息。
在一种可能的实施方式中,所述检查单元303,还用于确定存储所述日志校对信息的bitmap数量大于第二预设阈值。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,如图4所示,为本公开实施例提供的计算机设备结构示意图,包括:
处理器41和存储器42;所述存储器42存储有处理器41可执行的机器可读指令,处理器41用于执行存储器42中存储的机器可读指令,所述机器可读指令被处理器41执行时,处理器41执行下述步骤:S101:接收针对分布式日志的存储请求;以及S102:根据日志存储请求中携带的日志源信息和日志标识,生成分布式日志的日志校对信息并存储。
上述存储器42包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换。
在一种可能的实施方式中,处理器41执行的指令中,根据所述第一日志源信息和所述第一日志标识,确定所述分布式日志的日志校对信息,具体包括:
根据所述第一日志标识分别确定所述分布式日志对应的第一校对组标识和第一组内标识;
确定所述第一日志源信息与所述第一校对组标识以及第一组内标识组成的键值对为所述分布式日志的日志校对信息。
在一种可能的实施方式中,处理器41执行的指令中,还包括:
按照设定的检查周期,检查所述日志校对信息;
如果根据日志校对信息检查结果确定存在异常日志,则记录异常日志对应的异常日志校对信息。
在一种可能的实施方式中,处理器41执行的指令中,还包括:
接收异常日志检查请求,所述异常日志检查请求中携带有第二日志源信息;
从记录的异常日志校对信息中查找所述第二日志源信息对应的第二校对组标识以及第二组内标识;
根据查找到的第二校对组标识以及第二组内标识确定异常日志的第二日志标识;
根据所述第二日志标识和所述第二日志源信息定位异常日志。
在一种可能的实施方式中,处理器41执行的指令中,还包括:
如果根据日志校对信息检查结果确定来自于同一日志源的异常日志数量大于第一预设阈值,则生成告警信息,所述告警信息中包含第三日志源信息。
在一种可能的实施方式中,处理器41执行的指令中,按照以下方式存储所述日志校对信息:
利用位图bitmap的数据结构存储所述日志校对信息。
在一种可能的实施方式中,处理器41执行的指令中,在按照设定的检查周期,检查所述日志校对信息之前,还包括:
确定存储所述日志校对信息的bitmap数量大于第二预设阈值。
上述指令的具体执行过程可以参考本公开实施例中所述的日志存储的方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的日志存储的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的日志存储的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的日志存储的方法的步骤,具体可参见上述方法实施例,在此不再赘述。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种日志存储的方法,其特征在于,包括:
接收针对分布式日志的存储请求,所述存储请求中携带有第一日志源信息和第一日志标识,所述第一日志源信息包括上报所述分布式日志的客户端标识和服务器标识,所述第一日志标识包括所述分布式日志的日志顺序号;
根据所述第一日志源信息和所述第一日志标识,生成所述分布式日志的日志校对信息并存储,所述日志校对信息中包含用于指示是否存在与所述第一日志源信息和所述第一日志标识对应的分布式日志的信息。
2.根据权利要求1所述的方法,其特征在于,根据所述第一日志源信息和所述第一日志标识,确定所述分布式日志的日志校对信息,具体包括:
根据所述第一日志标识分别确定所述分布式日志对应的第一校对组标识和第一组内标识;
确定所述第一日志源信息与所述第一校对组标识以及第一组内标识组成的键值对为所述分布式日志的日志校对信息。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
按照设定的检查周期,检查所述日志校对信息;
如果根据日志校对信息检查结果确定存在异常日志,则记录异常日志对应的异常日志校对信息。
4.根据权利要求3所述的方法,其特征在于,还包括:
接收异常日志检查请求,所述异常日志检查请求中携带有第二日志源信息;
从记录的异常日志校对信息中查找所述第二日志源信息对应的第二校对组标识以及第二组内标识;
根据查找到的第二校对组标识以及第二组内标识确定异常日志的第二日志标识;
根据所述第二日志标识和所述第二日志源信息定位异常日志。
5.根据权利要求3所述的方法,其特征在于,还包括:
如果根据日志校对信息检查结果确定来自于同一日志源的异常日志数量大于第一预设阈值,则生成告警信息,所述告警信息中包含第三日志源信息。
6.根据权利要求1或2所述的方法,其特征在于,按照以下方式存储所述日志校对信息:
利用位图bitmap的数据结构存储所述日志校对信息。
7.根据权利要求6所述的方法,其特征在于,在按照设定的检查周期,检查所述日志校对信息之前,还包括:
确定存储所述日志校对信息的bitmap数量大于第二预设阈值。
8.一种日志存储装置,其特征在于,包括:
接收单元,用于接收针对分布式日志的存储请求,所述存储请求中携带有第一日志源信息和第一日志标识,所述第一日志源信息包括上报所述分布式日志的客户端标识和服务器标识,所述第一日志标识包括所述分布式日志的日志顺序号;
确定单元,用于根据所述第一日志源信息和所述第一日志标识,生成所述分布式日志的日志校对信息并存储,所述日志校对信息中包含用于指示是否存在与所述第一日志源信息和所述第一日志标识对应的分布式日志的信息。
9.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至7任意一项所述的日志存储的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至7任意一项所述的日志存储的方法的步骤。
CN202110118925.6A 2021-01-28 2021-01-28 一种日志存储的方法、装置、计算机设备和存储介质 Active CN112764997B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110118925.6A CN112764997B (zh) 2021-01-28 2021-01-28 一种日志存储的方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110118925.6A CN112764997B (zh) 2021-01-28 2021-01-28 一种日志存储的方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112764997A true CN112764997A (zh) 2021-05-07
CN112764997B CN112764997B (zh) 2024-02-20

Family

ID=75706438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110118925.6A Active CN112764997B (zh) 2021-01-28 2021-01-28 一种日志存储的方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112764997B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515527A (zh) * 2021-09-13 2021-10-19 成都数默科技有限公司 一种聚合型ip索引的建立和应用方法
CN114936615A (zh) * 2022-07-25 2022-08-23 南京大数据集团有限公司 一种基于表征一致性校对的小样本日志信息异常检测方法
CN115185787A (zh) * 2022-09-06 2022-10-14 北京奥星贝斯科技有限公司 处理事务日志的方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008203939A (ja) * 2007-02-16 2008-09-04 Nomura Research Institute Ltd ログ管理装置、ログ管理方法、プログラム、及び記録媒体
KR20100030700A (ko) * 2008-09-11 2010-03-19 엠진 (주) 저널링이 적용된 fat 파일 시스템 및 fat 파일 시스템에서의 저널링 기능 수행 방법
CN102394771A (zh) * 2011-10-26 2012-03-28 广州杰赛科技股份有限公司 插座式嵌入的日志收集系统及收集方法
CN106250424A (zh) * 2016-07-22 2016-12-21 杭州朗和科技有限公司 一种日志上下文内容的搜索方法、装置及系统
CN108196969A (zh) * 2017-12-28 2018-06-22 努比亚技术有限公司 重启监测与定位方法、移动终端及计算机可读存储介质
CN109634873A (zh) * 2018-12-10 2019-04-16 浪潮(北京)电子信息产业有限公司 固态盘存储主机系统日志信息方法、装置、设备及介质
CN110198227A (zh) * 2018-04-04 2019-09-03 腾讯科技(深圳)有限公司 日志文件的处理方法、装置、存储介质及电子装置
CN110932918A (zh) * 2019-12-26 2020-03-27 远景智能国际私人投资有限公司 日志数据采集方法、装置及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008203939A (ja) * 2007-02-16 2008-09-04 Nomura Research Institute Ltd ログ管理装置、ログ管理方法、プログラム、及び記録媒体
KR20100030700A (ko) * 2008-09-11 2010-03-19 엠진 (주) 저널링이 적용된 fat 파일 시스템 및 fat 파일 시스템에서의 저널링 기능 수행 방법
CN102394771A (zh) * 2011-10-26 2012-03-28 广州杰赛科技股份有限公司 插座式嵌入的日志收集系统及收集方法
CN106250424A (zh) * 2016-07-22 2016-12-21 杭州朗和科技有限公司 一种日志上下文内容的搜索方法、装置及系统
CN108196969A (zh) * 2017-12-28 2018-06-22 努比亚技术有限公司 重启监测与定位方法、移动终端及计算机可读存储介质
CN110198227A (zh) * 2018-04-04 2019-09-03 腾讯科技(深圳)有限公司 日志文件的处理方法、装置、存储介质及电子装置
CN109634873A (zh) * 2018-12-10 2019-04-16 浪潮(北京)电子信息产业有限公司 固态盘存储主机系统日志信息方法、装置、设备及介质
CN110932918A (zh) * 2019-12-26 2020-03-27 远景智能国际私人投资有限公司 日志数据采集方法、装置及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515527A (zh) * 2021-09-13 2021-10-19 成都数默科技有限公司 一种聚合型ip索引的建立和应用方法
CN113515527B (zh) * 2021-09-13 2021-12-07 成都数默科技有限公司 一种聚合型ip索引的建立和应用方法
CN114936615A (zh) * 2022-07-25 2022-08-23 南京大数据集团有限公司 一种基于表征一致性校对的小样本日志信息异常检测方法
CN115185787A (zh) * 2022-09-06 2022-10-14 北京奥星贝斯科技有限公司 处理事务日志的方法及装置
CN115185787B (zh) * 2022-09-06 2022-12-30 北京奥星贝斯科技有限公司 处理事务日志的方法及装置

Also Published As

Publication number Publication date
CN112764997B (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
CN112764997A (zh) 一种日志存储的方法、装置、计算机设备和存储介质
CN109491968B (zh) 一种文件处理方法、装置、设备及计算机可读存储介质
CN110099059B (zh) 一种域名识别方法、装置及存储介质
CN109951435B (zh) 一种设备标识提供方法及装置和风险控制方法及装置
CN111475105B (zh) 监控数据存储方法、设备、服务器及存储介质
US10783277B2 (en) Blockchain-type data storage
CN107103014A (zh) 历史推送信息的重现方法、装置和系统
US10489714B2 (en) Fingerprinting and matching log streams
CN108512716B (zh) 上报设备信息的方法、系统、计算机设备和存储介质
US11907379B2 (en) Creating a secure searchable path by hashing each component of the path
US20230350769A1 (en) Method and apparatus for generating log data having increased filterability
CN111884843B (zh) 一种消息处理方法、装置、电子设备及存储介质
CN110392032B (zh) 检测异常url的方法、装置及存储介质
CN112230963A (zh) 安全漏洞修复的方法、装置、计算机设备和存储介质
CN110830492A (zh) 一种基于CoreDNS注册服务的边缘应用相互调度的方法及系统
US11847244B1 (en) Private information detector for data loss prevention
JP2014524210A (ja) 可変長ノンスの生成
EP3347831A1 (en) Deletion of elements from a bloom filter
CN112202760A (zh) 网页访问方法、装置、终端及介质
CN111294335A (zh) 一种登录方法及装置
CN111723146B (zh) 监测数据库的方法、管理系统及存储介质
CN111368298B (zh) 一种病毒文件识别方法、装置、设备及存储介质
CN113778804B (zh) 一种日志打印方法、装置、计算机设备及存储介质
US20230353597A1 (en) Detecting matches between universal resource locators to mitigate abuse
CN113254808B (zh) 一种gis数据筛选方法及系统

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant