CN108304305A - 日志文件读取的方法和设备 - Google Patents

日志文件读取的方法和设备 Download PDF

Info

Publication number
CN108304305A
CN108304305A CN201810027498.9A CN201810027498A CN108304305A CN 108304305 A CN108304305 A CN 108304305A CN 201810027498 A CN201810027498 A CN 201810027498A CN 108304305 A CN108304305 A CN 108304305A
Authority
CN
China
Prior art keywords
vernier
journal file
log recording
tag
read
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.)
Pending
Application number
CN201810027498.9A
Other languages
English (en)
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 longzhixin Technology Co.,Ltd.
Original Assignee
Beijing Panda Mutual Entertainment 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 Panda Mutual Entertainment Technology Co Ltd filed Critical Beijing Panda Mutual Entertainment Technology Co Ltd
Priority to CN201810027498.9A priority Critical patent/CN108304305A/zh
Publication of CN108304305A publication Critical patent/CN108304305A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

Landscapes

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

Abstract

本申请实施例提供一种日志文件读取的方法和设备,其中,方法包括:获取针对日志文件的上一次读取操作对应的结束标签;开启游标,并控制所述游标在所述日志文件中,从所述结束标签开始逐条读取日志记录至指定缓存区;在所述游标读取第一数量的日志记录后,停止游标,并将本次读取操作对应的最后一条日志记录作为本次读取操作对应的结束标签。本申请实施例提供的技术方案,能够解决日志文件读取速度缓慢的缺陷,提升日志文件的读取效率。

Description

日志文件读取的方法和设备
技术领域
本申请涉及互联网技术领域,尤其涉及一种日志文件读取的方法和设备。
背景技术
在计算机或者互联网的应用场景中,日志文件的监控是非常重要的。日志文件,也就是常说的Log文件,其记录了操作系统或者软件的一些执行过程。通常,可通过对系统或程序产生的日志进行分析,以实现故障查询或运行情况的监控。
但是,在一些情况下,日志文件包含的记录较多,数量大,导致读取日志文件的速度缓慢。在这种情况下,一种日志文件读取的方法亟待提出。
发明内容
本申请实施例的多个方面提供一种日志文件读取的方法和设备,用以解决日志文件读取速度缓慢的缺陷,提升日志文件的读取效率。
本申请实施例提供一种日志文件读取方法,包括:
获取针对日志文件的上一次读取操作对应的结束标签;
开启游标,并控制所述游标在所述日志文件中,从所述结束标签开始逐条读取日志记录至指定缓存区;
在所述游标读取第一数量的日志记录后,停止游标,并根据本次读取操作对应的最后一条日志记录确定本次读取操作对应的结束标签。
进一步可选地,所述方法还包括:在所述指定缓存区内,对所述指定数量的日志记录进行分析。
进一步可选地,开启游标,包括:若所述日志文件中,在所述结束标签之后新增的日志记录的数量大于第二数量时,开启所述游标。
进一步可选地,所述第一数量与所述第二数量相同。
进一步可选地,以设定的时间周期开启所述游标。
本申请实施例还提供一种日志文件读取设备,包括:存储器以及处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令以用于:
获取针对日志文件的上一次读取操作对应的结束标签;
开启游标,并控制所述游标在所述日志文件中,从所述结束标签开始逐条读取日志记录至指定缓存区;
在所述游标读取第一数量的日志记录后,停止游标,并根据本次读取操作对应的最后一条日志记录确定本次读取操作对应的结束标签。
进一步可选地,所述处理器具体用于:在所述指定缓存区内,对所述指定数量的日志记录进行分析。
进一步可选地,所述处理器具体用于:若所述日志文件中,在所述结束标签之后新增的日志记录的数量大于第二数量时,开启所述游标。
进一步可选地,所述第一数量与所述第二数量相同。
进一步可选地,所述处理器具体用于:以设定的时间周期开启所述游标。
在本申请实施例中,根据上一次读取操作对应的标签以及所需读取的日志记录的数量,采用游标来分次读取日志文件中的日志记录,在不重复读取且不遗漏数据的情况下,解决了一次性读取日志文件时存在的读取缓慢的缺陷,提升日志文件的读取效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一实施例提供的日志文件读取方法的方法流程图;
图2为本发明另一实施例提供的日志文件读取方法的方法流程图;
图3为本发明一实施例提供的日志文件读取设备的设备结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的日志文件读取方法的方法流程图,如图1所示,该方法包括:
步骤101、获取针对日志文件的上一次读取操作对应的结束标签。
步骤102、开启游标,并控制所述游标在所述日志文件中,从所述结束标签开始逐条读取日志记录至指定缓存区。
步骤103、在所述游标读取第一数量的日志记录后,停止游标,并根据本次读取操作对应的最后一条日志记录确定本次读取操作对应的结束标签。
在步骤101中,日志文件是记录在操作系统或其他程序运行中发生的事件或在通信软件的不同用户之间的消息的文件或文件集合,可分为事件日志和消息日志。日志文件中包含多条日志记录,具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。
结束标签是根据上一次读取操作的对应的最后一条日志记录确定的,标志着上一次读取操作的截止位置。
在步骤102中,游标指的是一种能够从多条数据记录的结果集中每次提取一条记录的数据处理机制。游标可以看作一个查询结果集以及结果集中指向特定记录的游标位置组成的一个临时文件,提供了在查询结果集中向前或向后浏览数据、处理结果集中数据的能力。
在本步骤中,开启游标之后,可通过游标在日志文件中读取多次,每次读取一条日志记录。其中,多次读取具有一起始点,该起始点也就是上一步骤中确定的结束标签处。每次读取的日志记录可以存储在指定缓存区中,以便于对日志进行分析处理,从而对产生日志的程序或系统进行监控。
在步骤103中,游标每一次读取的日志记录的数量是固定的,为第一数量,且第一数量远小于日志文件中的日志记录的总数,以实现对数据量较大的日志文件进行分割的目的。
在游标读取第一数量的日志记录后,停止游标,并根据本次读取操作对应的最后一条日志记录确定本次读取操作对应的结束标签。该结束标签作用于在下一次读取操作开始时,作为游标起始位置。
在本实施例中,根据上一次读取操作对应的标签以及所需读取的日志记录的数量,采用游标来分次读取日志文件中的日志记录,在不重复读取且不遗漏数据的情况下,解决了一次性读取日志文件时存在的读取缓慢的缺陷,提升日志文件的读取效率。
图2为本发明另一实施例提供的日志文件读取方法的方法流程图,如图2所示,该方法包括:
步骤201、获取针对日志文件的上一次读取操作对应的结束标签。
步骤202、若所述日志文件中,在所述结束标签之后新增的日志记录的数量大于第二数量时,开启所述游标。
步骤203、控制所述游标在所述日志文件中,从所述结束标签开始逐条读取日志记录至指定缓存区。
步骤204、在所述指定缓存区内,对所述指定数量的日志记录进行分析。
步骤205、在所述游标读取第一数量的日志记录后,停止游标,并将本次读取操作对应的最后一条日志记录的下一条日志记录作为本次读取操作对应的结束标签。
在步骤201中,可选的,结束标签可以是上一次读取操作对应的最后一条日志记录的下一条日志记录。该结束标签可以作为本次读取操作的起始位置。
在步骤202、可选的,游标可在一定的触发条件下开启。在一种可能的情形下,可在日志文件中的新增日志记录达到一定数量时,开启游标。例如,若日志文件中,在所述结束标签之后新增的日志记录的数量大于第二数量时,可开启所述游标,进而可及时读取新增日志记录进行分析处理,以实时获取程序或系统的运行状况。
在一种可选的实施方式中,第一数量与第二数量可以相同,也就是每一次读取操作可以将上一次读取操作对应的结束标签之后新增的日志记录全部读取,以进一步保证日志分析的实时性。可选的,第一数量以及第二数量为50条,该数值为经验值,50条日志记录能够保证较高的读取效率以及日志分析效率。
在步骤203中,控制所述游标在所述日志文件中,从所述结束标签开始逐条读取日志记录至指定缓存区。
在步骤204中,将指定数量的日志记录读取到指定缓存区内之后,可对所述指定数量的日志记录进行分析,以对产生日志的程序或系统的运行状况进行监控。
在步骤205、可选的,针对每次读取操作,当游标读取第一数量的日志记录后,可停止读取,并将本次读取操作对应的最后一条日志记录的下一条日志记录作为本次读取操作对应的结束标签。在下一次读取日志记录时,可以本次读取操作对应的结束标签为起始位置。采用这种方式可以进一步避免遗漏日志记录造成的监控成效低的缺陷。
可选的,上述实施例中的步骤202中,游标的开启条件可以是结束标签之后新增的日志记录的数量大于第二数量标。在另一种情形下,游标还可以设定的周期开启,例如,5分钟开启一次,每次读取的第一数量的日志记录或每次读取5分钟内新增的日志记录。本申请实施例对上述两种实施方式不做限制。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤203的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
以上实施例描述了日志文件读取方法的可选实施方式,如图3所示,实际中,该日志文件读取方法可通过日志文件读取设备实现,如图3所示,该设备包括:存储器31以及处理器32、输入装置33以及输出装置34。
存储器31以及处理器32、输入装置33以及输出装置34可以通过总线或其他方式连接,图3中以总线连接为例。
其中,存储器31用于存储一条或多条计算机指令,并可被配置为存储其它各种数据以支持在日志文件读取设备上的操作。这些数据的示例包括用于在日志文件读取设备上操作的任何应用程序或方法的指令。
存储器31可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在一些实施例中,存储器31可选包括相对于处理器32远程设置的存储器,这些远程存储器可以通过网络连接至日志文件读取设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器32与存储器31耦合,用于执行所述一条或多条计算机指令以用于:获取针对日志文件的上一次读取操作对应的结束标签;
开启游标,并控制所述游标在所述日志文件中,从所述结束标签开始逐条读取日志记录至指定缓存区;
在所述游标读取第一数量的日志记录后,停止游标,并根据本次读取操作对应的最后一条日志记录确定本次读取操作对应的结束标签。
进一步可选地,处理器32具体用于:在所述指定缓存区内,对所述指定数量的日志记录进行分析。
进一步可选地,处理器32具体用于:若所述日志文件中,在所述结束标签之后新增的日志记录的数量大于第二数量时,开启所述游标。
进一步可选地,所述第一数量与所述第二数量相同。
进一步可选地,处理器32具体用于:以设定的时间周期开启所述游标。
输入装置33可接收输入的数字或字符信息,以及产生与日志文件读取设备的用户设置以及功能控制有关的键信号输入。输出装置34可包括显示屏等显示设备。
进一步,如图3所示,该日志文件读取设备还包括:电源组件35。电源组件35,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述日志文件读取设备可执行本申请实施例所提供的日志文件读取方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法,不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (10)

1.一种日志文件读取方法,其特征在于,包括:
获取针对日志文件的上一次读取操作对应的结束标签;
开启游标,并控制所述游标在所述日志文件中,从所述结束标签开始逐条读取日志记录至指定缓存区;
在所述游标读取第一数量的日志记录后,停止游标,并根据本次读取操作对应的最后一条日志记录确定本次读取操作对应的结束标签。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述指定缓存区内,对所述指定数量的日志记录进行分析。
3.根据权利要求1所述的方法,其特征在于,开启游标,包括:
若所述日志文件中,在所述结束标签之后新增的日志记录的数量大于第二数量时,开启所述游标。
4.根据权利要求3所述的方法,其特征在于,所述第一数量与所述第二数量相同。
5.根据权利要求1所述的方法,其特征在于,以设定的时间周期开启所述游标。
6.一种日志文件读取设备,其特征在于,包括:存储器以及处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令以用于:
获取针对日志文件的上一次读取操作对应的结束标签;
开启游标,并控制所述游标在所述日志文件中,从所述结束标签开始逐条读取日志记录至指定缓存区;
在所述游标读取第一数量的日志记录后,停止游标,并将本次读取操作对应的最后一条日志记录作为本次读取操作对应的结束标签。
7.根据权利要求6所述的设备,其特征在于,所述处理器具体用于:
在所述指定缓存区内,对所述指定数量的日志记录进行分析。
8.根据权利要求6所述的设备,其特征在于,所述处理器具体用于:
若所述日志文件中,在所述结束标签之后新增的日志记录的数量大于第二数量时,开启所述游标。
9.根据权利要求8所述的设备,其特征在于,所述第一数量与所述第二数量相同。
10.根据权利要求1所述的设备,其特征在于,所述处理器具体用于:以设定的时间周期开启所述游标。
CN201810027498.9A 2018-01-11 2018-01-11 日志文件读取的方法和设备 Pending CN108304305A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810027498.9A CN108304305A (zh) 2018-01-11 2018-01-11 日志文件读取的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810027498.9A CN108304305A (zh) 2018-01-11 2018-01-11 日志文件读取的方法和设备

Publications (1)

Publication Number Publication Date
CN108304305A true CN108304305A (zh) 2018-07-20

Family

ID=62868929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810027498.9A Pending CN108304305A (zh) 2018-01-11 2018-01-11 日志文件读取的方法和设备

Country Status (1)

Country Link
CN (1) CN108304305A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235297A1 (en) * 2007-03-22 2008-09-25 Innerbus Co., Ltd. Method for Indexing a Large Log File, Computer-Readable Medium for Storing a Program for Executing the Method, and System for Performing the Same
CN103473295A (zh) * 2013-09-04 2013-12-25 厦门亿联网络技术股份有限公司 从xml文件中读取设定数量的聊天记录的方法
CN104391954A (zh) * 2014-11-27 2015-03-04 北京国双科技有限公司 数据库日志的处理方法及装置
CN105824744A (zh) * 2016-03-21 2016-08-03 焦点科技股份有限公司 一种基于b2b平台的实时日志采集分析方法
CN106294470A (zh) * 2015-06-03 2017-01-04 北京京东尚科信息技术有限公司 基于切分日志的实时增量日志信息读取的方法
CN106569936A (zh) * 2016-09-26 2017-04-19 深圳盒子支付信息技术有限公司 一种实时采集滚动日志的方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235297A1 (en) * 2007-03-22 2008-09-25 Innerbus Co., Ltd. Method for Indexing a Large Log File, Computer-Readable Medium for Storing a Program for Executing the Method, and System for Performing the Same
CN103473295A (zh) * 2013-09-04 2013-12-25 厦门亿联网络技术股份有限公司 从xml文件中读取设定数量的聊天记录的方法
CN104391954A (zh) * 2014-11-27 2015-03-04 北京国双科技有限公司 数据库日志的处理方法及装置
CN106294470A (zh) * 2015-06-03 2017-01-04 北京京东尚科信息技术有限公司 基于切分日志的实时增量日志信息读取的方法
CN105824744A (zh) * 2016-03-21 2016-08-03 焦点科技股份有限公司 一种基于b2b平台的实时日志采集分析方法
CN106569936A (zh) * 2016-09-26 2017-04-19 深圳盒子支付信息技术有限公司 一种实时采集滚动日志的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
逗比骑士: "使用RandomAccessFile 对日志文件读取,以及读取追加的文件内容。", 《HTTPS://BLOG.CSDN.NET/SHUKEBAI/ARTICLE/DETAILS/78040186》 *

Similar Documents

Publication Publication Date Title
US10692048B2 (en) Apparatus and method for generating a chronological timesheet
US11301136B2 (en) Capacity forecasting based on capacity policies and transactions
US8990687B2 (en) Database monitor replay
US9953066B2 (en) Automatically generating and reporting merged performance and capacity statistics
Van Der Aalst Academic view: development of the process mining discipline
CN109062777B (zh) 一种轨道交通信号设备通用自动化测试系统
US10902339B2 (en) System and method providing automatic completion of task structures in a project plan
CN107291615A (zh) 一种web前端日志输出方法与装置
US8930911B2 (en) Execution difference identification tool
CN111259212B (zh) 一种遥测数据判读方法、装置、设备及存储介质
CN109284331A (zh) 基于业务数据资源的制证信息获取方法、终端设备及介质
US7286953B1 (en) Device testing automation utility and method
Chomyat et al. Process mining on medical treatment history using conformance checking
CN106095660A (zh) 应用的质量监控方法及装置
CN115794545A (zh) 运维数据的自动化处理方法及其相关设备
US11972500B2 (en) Method and apparatus for integrated e-discovery
CN108304305A (zh) 日志文件读取的方法和设备
Ko et al. AIR-BAGEL: An interactive root cause-based anomaly generator for event logs
CN111258893A (zh) 随机组装交易路径的移动端应用自动化测试装置
CN115185825A (zh) 接口测试的调度方法及装置
US20190042633A1 (en) System and method for managing devices using snapshot parameter search
EP4361838A1 (en) Capturing process data visualizations
US9965131B1 (en) System and processes to capture, edit, and publish problem solving techniques
Cherkasova et al. Enhancing and optimizing a data protection solution
Kovarova et al. Visualising software developers' activity logs to facilitate explorative analysis

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
TA01 Transfer of patent application right

Effective date of registration: 20210310

Address after: 101300 309, 3rd floor, 60 Fuqian 1st Street, Tianzhu District, Shunyi District, Beijing

Applicant after: Beijing longzhixin Technology Co.,Ltd.

Address before: 100041 room 120, 4th floor, building 17, yard 30, Shixing street, Shijingshan District, Beijing

Applicant before: BEIJING PANDA MUTUAL ENTERTAINMENT TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180720

WD01 Invention patent application deemed withdrawn after publication