CN115525462A - 一种日志存储方法、装置、电子设备及存储介质 - Google Patents

一种日志存储方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115525462A
CN115525462A CN202211163969.1A CN202211163969A CN115525462A CN 115525462 A CN115525462 A CN 115525462A CN 202211163969 A CN202211163969 A CN 202211163969A CN 115525462 A CN115525462 A CN 115525462A
Authority
CN
China
Prior art keywords
log
preset
abnormal
storage
log file
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
CN202211163969.1A
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.)
China United Network Communications Group Co Ltd
China Information Technology Designing and Consulting Institute Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
China Information Technology Designing and Consulting Institute 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 China United Network Communications Group Co Ltd, China Information Technology Designing and Consulting Institute Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202211163969.1A priority Critical patent/CN115525462A/zh
Publication of CN115525462A publication Critical patent/CN115525462A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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)
  • 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

本发明提供一种日志存储方法、装置、电子设备及存储介质,涉及计算机技术领域,解决了相关技术中,内存buffer中存储的内核日志可能会被其他信息覆盖,导致计算机无法获取并使用该内核日志,影响了日志存储的有效性的技术问题。该方法包括:获取异常日志信息,该异常日志信息包括预设异常的类型;将该异常日志信息存入异常区,该异常区属于高端内存区,该高端内存区为从该电子设备的内存中划分出的内存空间;基于用户态调用预设内核函数,该预设内核函数为内核态中包括的函数,该预设内核函数用于指示将该异常区中存储的异常日志信息转存至预设存储区域。

Description

一种日志存储方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种日志存储方法、装置、电子设备及存储介质。
背景技术
目前,当计算机的内核发生异常时,会产生与该异常对应的内核日志,计算机可以将与该内核日志存入内存buffer(缓存区),进而可以基于该内存buffer中存储的内核日志进行异常分析等。
但是,上述方法中,该内存buffer中存储的内核日志可能会被其他信息覆盖,导致计算机无法获取并使用该内核日志,影响了日志存储的有效性。
发明内容
本发明提供一种日志存储方法、装置、电子设备及存储介质,解决了相关技术中,内存buffer中存储的内核日志可能会被其他信息覆盖,导致计算机无法获取并使用该内核日志,影响了日志存储的有效性的技术问题。
第一方面,本发明提供一种日志存储方法,包括:获取异常日志信息,该异常日志信息包括预设异常的类型;将该异常日志信息存入异常区,该异常区属于高端内存区,该高端内存区为从该电子设备的内存中划分出的内存空间;基于用户态调用预设内核函数,该预设内核函数为内核态中包括的函数,该预设内核函数用于指示将该异常区中存储的异常日志信息转存至预设存储区域。
可选地,在上述将该异常日志信息存入异常区之后,该日志存储方法还包括:当该电子设备的操作系统重新启动时,对该异常日志信息进行转存处理,以存储该异常日志信息对应的日志文件。
可选地,上述基于用户态调用预设内核函数具体包括:基于该用户态获取该预设内核函数的函数名称;根据该函数名称,确定该预设内核函数的物理地址,该函数名称与该物理地址具有对应关系;根据该物理地址,确定该预设内核函数的虚拟地址,该物理地址与该虚拟地址具有对应关系;基于该虚拟地址调用该预设内核函数。
可选地,上述预设存储区域中包括多个日志文件以及该多个日志文件的标识,该日志存储方法还包括:当该预设存储区域的已占用存储量大于或等于存储量阈值时,删除预设标识对应的日志文件,该预设标识对应的日志文件为第一日志文件,该第一日志文件为该多个日志文件中时间戳最小的日志文件;将第二日志文件的标识替换为该预设标识,该第二日志文件为至少一个日志文件中时间戳最小的日志文件,该至少一个日志文件为该多个日志文件中除该第一日志文件以外的日志文件。
可选地,在上述基于用户态调用预设内核函数之后,该日志存储方法还包括:对该异常区执行清空处理。
第二方面,本发明提供一种日志存储装置,包括:获取模块、存储模块以及处理模块;该获取模块,用于获取异常日志信息,该异常日志信息包括预设异常的类型;该存储模块,用于将该异常日志信息存入异常区,该异常区属于高端内存区,该高端内存区为从该电子设备的内存中划分出的内存空间;该处理模块,用于基于用户态调用预设内核函数,该预设内核函数为内核态中包括的函数,该预设内核函数用于指示将该异常区中存储的异常日志信息转存至预设存储区域。
可选地,该处理模块,还用于当电子设备的操作系统重新启动时,对该异常日志信息进行转存处理,以存储该异常日志信息对应的日志文件。
可选地,上述日志存储装置还包括确定模块;该获取模块,还用于基于该用户态获取该预设内核函数的函数名称;该确定模块,用于根据该函数名称,确定该预设内核函数的物理地址,该函数名称与该物理地址具有对应关系;该确定模块,还用于根据该物理地址,确定该预设内核函数的虚拟地址,该物理地址与该虚拟地址具有对应关系;该处理模块,具体用于基于该虚拟地址调用该预设内核函数。
可选地,上述预设存储区域中包括多个日志文件以及该多个日志文件的标识,该日志存储装置还包括删除模块;该删除模块,用于当该预设存储区域的已占用存储量大于或等于存储量阈值时,删除预设标识对应的日志文件,该预设标识对应的日志文件为第一日志文件,该第一日志文件为该多个日志文件中时间戳最小的日志文件;该处理模块,还用于将第二日志文件的标识替换为该预设标识,该第二日志文件为至少一个日志文件中时间戳最小的日志文件,该至少一个日志文件为该多个日志文件中除该第一日志文件以外的日志文件。
可选地,该处理模块,还用于对该异常区执行清空处理。
第三方面,本发明提供一种电子设备,包括:处理器和被配置为存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现上述第一方面中任一种可选地日志存储方法。
第四方面,本发明提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当该计算机可读存储介质中的指令由电子设备执行时,使得该电子设备能够执行上述第一方面中任一种可选地日志存储方法。
本发明提供的日志存储方法、装置、电子设备及存储介质,电子设备可以获取异常日志信息,并且将该异常日志信息存入异常区;然后该电子设备可以基于用户态调用预设内核函数,该预设内核函数用于指示将该异常区中存储的异常日志信息转存至预设存储区域。本发明中,电子设备可以先将异常日志信息存入异常区,然后基于用户态调用内核态中的函数(即预设内核函数),以实现将高端内存区(具体为异常区)中存储的日志信息转存至其他存储区域(即预设存储区域),如此即使该异常区中存储的内核日志被其他信息覆盖,电子设备仍然可以从转存后的预设存储区域中获取到该内核日志,可以保证电子设备能够获取到相应的内核日志,提升日志存储的有效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种电子设备的内部结构示意图;
图2为本发明实施例提供的一种日志存储方法的流程示意图;
图3为本发明实施例提供的一种高端内存区的示意图;
图4为本发明实施例提供的另一种日志存储方法的流程示意图;
图5为本发明实施例提供的另一种日志存储方法的流程示意图;
图6为本发明实施例提供的另一种日志存储方法的流程示意图;
图7为本发明实施例提供的另一种日志存储方法的流程示意图;
图8为本发明实施例提供的一种日志存储装置的结构示意图;
图9为本发明实施例提供的另一种日志存储装置的结构示意图。
具体实施方式
下面将结合附图对本发明实施例提供的日志存储方法、装置、电子设备及存储介质进行详细的描述。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序,例如,第一日志文件和第二日志文件等是用于区别不同的日志文件,而不是用于描述日志文件的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中所述“和/或”,包括用两种方法中的任意一种或者同时使用两种方法。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
基于背景技术中所描述,由于相关技术中,内存buffer中存储的内核日志可能会被其他信息覆盖,导致计算机无法获取并使用该内核日志,影响了日志存储的有效性。基于此,本发明实施例提供一种日志存储方法、装置、电子设备及存储介质,电子设备可以先将异常日志信息存入异常区,然后基于用户态调用内核态中的函数(即预设内核函数),以实现将高端内存区(具体为异常区)中存储的日志信息转存至其他存储区域(即预设存储区域),如此即使该异常区中存储的内核日志被其他信息覆盖,电子设备仍然可以从转存后的预设存储区域中获取到该内核日志,可以保证电子设备能够获取到相应的内核日志,提升日志存储的有效性。
示例性的,执行本发明实施例提供的日志存储方法的电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等。本公开对电子设备的具体形态不作特殊限制,其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
如图1所示,在本发明实施例的一种实现方式中,上述电子设备可以包括日志存储系统和日志转存系统。其中,该日志存储系统包括存储处理模块、内核异常抓取模块以及高端内存存储模块,该日志转存系统包括kfuncall用户态、kfuncall内核态、内存转存模块以及flash存储模块。
具体的,该存储处理模块用于管理该高端内存存储模块。电子设备可以基于该存储处理模块从该电子设备的内存中划分出一部分内存作为该高端内存存储模块。
该内核异常抓取模块,用于抓取(或获取)异常日志信息。
该高端内存存储模块,用于存储该异常日志信息。
该kfuncall用户态,用于调用该kfuncall内核态中的预设内核函数,以实现将该高端内存存储模块中存储的日志信息进行转存的过程。
该内存转存模块,用于将上述异常日志信息转化为日志文件,并且将该日志文件发送至该flash存储模块。
该flash存储模块,用于转存(或存储)该异常日志信息对应的日志文件。
如图2所示,本发明实施例提供的日志存储方法可以包括S101-S103。
S101、电子设备获取异常日志信息。
其中,该异常日志信息包括预设异常的类型。
应理解,该预设异常为该电子设备产生的异常,该异常日志信息为该电子设备产生异常时生成的日志信息。
本发明实施例中,预设异常的类型可以包括panic、oops、基于面向对象技术的复用(reuse based on object-oriented technology,REBOOT)以及内存溢出(out ofmemory,OOM)等。
在本发明实施例的一种实现方式中,电子设备可以通过不同类型的注册函数实现不同类型的异常日志信息的获取(或抓取)过程。
具体的,电子设备可以通过atomic notifier chain register函数注册panic异常时的日志信息的抓取;通过register reboot notifier函数注册REBOOT时的日志信息的抓取;通过register die notifier函数注册oops时的日志信息的抓取;通过register oomnotifier函数注册OOM时的日志信息的抓取。进而,当电子设备产生异常时,电子设备可以通过回调的方式获取上述异常日志信息。
S102、电子设备将异常日志信息存入异常区。
其中,该异常区属于高端内存区,该高端内存区为从该电子设备的内存中划分出的内存空间。
在本发明实施例的一种实现方式中,电子设备基于上述图1中示出的存储处理模块从该电子设备的内存中申请一定大小的内存(或内存空间)作为上述高端内存区。
本发明实施例中,该高端内存区可以理解为上述图1中示出的高端内存存储模块。
示例性的,上述电子设备的内存的大小可以为1G(吉字节),该高端内存区的大小可以为100M(兆字节)。
在本发明实施例的另一种实现方式中,电子设备还可以将预设打印信息存入打印区,该打印区也属于上述高端内存区,该预设打印信息中可以包括上述异常日志信息以及其他日志信息(例如该电子设备的操作系统的版本信息、内存分配信息以及直接存储器访问(direct memory access,DMA)信息等)。
具体的,电子设备可以基于register console函数注册一个prinkt的串口,将上述预设打印信息刷新到该prinkt的串口中,如此电子设备可以打印并显示该预设打印信息。
在一种可选的实现方式中,上述异常区可以理解为异常块(abnormal block)空间,该打印区可以理解为打印块(printk block)空间;电子设备还可以申请一块用于存储异常信息的异常缓存区(abnormal buffer)以及一块用于存储打印信息的打印缓存区(printk buffer)。具体的,在电子设备产生异常之前,电子设备可以将相关日志信息存入该异常缓存区;在该电子设备产生异常之后,该电子设备可以将上述异常日志信息存入该异常块空间。在电子设备产生异常之前,电子设备可以将相关打印信息存入该打印缓存区;在该电子设备产生异常之后,该电子设备可以将上述预设打印信息存入该打印块空间。
示例性的,图3为本发明实施例提供的一种高端内存区的示意图。
其中,该高端内存区中包括超级块(supper block)、异常块以及打印块。
具体的,该超级块可以理解为该高端内存区中存储的数据的数据结构,该超级块中包括字节序(byte order)大小端、版本号(version)、校验和(checksum)、魔数字(magicnumber)、异常控制块(abnormal ctrl block)以及打印控制块(printk ctrl block)。
该字节序大小端用于表征该高端内存区中存储的数据的高字节保存在内存的低地址中,而该高端内存区中存储的数据的低字节保存在内存的高地址。
该版本号用于表征该超级块的版本,例如1.0版本、2.0版本等。
该校验和以及该魔数字用于检查内存是否存在异常,防止数据的误改。
该异常控制块以及该打印控制块分别为一个控制块,控制块的箭头用于指向真实的数据地址。即该异常控制块用于指向异常块,该打印控制块用于指向打印块。
该异常块用于存储上述异常日志信息。
该打印块用于存储上述预设打印信息。
另外,该高端内存区中还包括起始地址和结束地址。该起始地址用于表征该高端内存区中开始存储数据的物理地址,该结束地址用于表征该高端内存区中结束存储数据的物理地址。
S103、电子设备基于用户态调用预设内核函数。
其中,该预设内核函数为内核态中包括的函数,该预设内核函数用于指示将上述异常区中存储的异常日志信息转存至预设存储区域。
应理解,电子设备基于用户态调用该预设内核函数可以主动实现将异常日志信息转存至预设存储区域的过程,能够提升内核日志的存储效率。
具体的,该用户态可以为kfuncall用户态,该内核态可以为kfuncall内核态。
可选地,该预设存储区域可以为上述图1中示出的flash存储模块。
上述实施例提供的技术方案至少能够带来以下有益效果:由S101-S103可知,电子设备可以获取异常日志信息,并且将该异常日志信息存入异常区;然后该电子设备可以基于用户态调用预设内核函数,该预设内核函数用于指示将该异常区中存储的异常日志信息转存至预设存储区域。本发明实施例中,电子设备可以先将异常日志信息存入异常区,然后基于用户态调用内核态中的函数(即预设内核函数),以实现将高端内存区(具体为异常区)中存储的日志信息转存至其他存储区域(即预设存储区域),如此即使该异常区中存储的内核日志被其他信息覆盖,电子设备仍然可以从转存后的预设存储区域中获取到该内核日志,可以保证电子设备能够获取到相应的内核日志,提升日志存储的有效性。
结合图2,如图4所示,在上述电子设备将异常日志信息存入异常区之后,本发明实施例提供的日志存储方法还包括S104。
S104、当电子设备的操作系统重新启动时,电子设备对异常日志信息进行转存处理,以存储异常日志信息对应的日志文件。
应理解,电子设备对该异常日志信息进行转存处理,即为将该异常日志信息从上述高端内存区(具体为异常区)中转存至其他存储模块(例如上述预设存储区域)。具体的,电子设备可以先将该异常日志信息转化为日志文件,然后将该日志文件存储至该预设存储区域。
在一种可选的实现方式中,电子设备可以基于kwritelog函数将上述异常日志信息转化为日志文件。
可选地,结合上述图1,内存转存模块可以获取该异常日志信息并且将该异常日志信息转化为日志文件。该内存转存模块还可以将该日志文件发送至flash存储模块(可以理解为预设存储区域),以使得该flash存储模块可以存储该异常日志信息对应的日志文件。
示例性的,该flash存储模块可以为非易失性存储模块。
结合图2,如图5所示,在本发明实施例的一种实现方式中,上述电子设备基于用户态调用预设内核函数,具体包括S1031-S1034。
S1031、电子设备基于用户态获取预设内核函数的函数名称。
S1032、电子设备根据函数名称,确定预设内核函数的物理地址。
其中,该函数名称与该物理地址具有对应关系。
在一种可选的实现方式中,电子设备可以通过copy from user解析用户态传入的上述预设内核函数的函数名称,并且通过kallsyms lookup name根据该函数名称查找(或确定)该预设内核函数的物理地址。
在另一种可选的实现方式中,该电子设备中可以存储第一对应关系,该第一对应关系中包括多个内核函数各自的函数名称以及该多个内核函数各自的物理地址。电子设备在获取到上述预设内核函数的函数名称之后,可以结合该第一对应关系,确定出与该预设内核函数的函数名称对应的物理地址,即为该预设内核函数的物理地址。
S1033、电子设备根据物理地址,确定预设内核函数的虚拟地址。
其中,该物理地址与该虚拟地址具有对应关系。
在一种可选的实现方式中,该电子设备中还可以存储第二对应关系,该第二对应关系中包括多个物理地址以及该多个物理地址各自对应的虚拟地址。电子设备在确定出上述预设内核函数的物理地址之后,可以结合该第二对应关系,确定出与该预设内核函数的物理地址对应的虚拟地址,即为该预设内核函数的虚拟地址。
S1034、电子设备基于虚拟地址调用预设内核函数。
本发明实施例中,在电子设备的内存(具体为高端内存区)中预留(或显示)的是物理地址,如果直接基于物理地址访问可能会导致操作系统崩掉。如此,电子设备可以确定出上述预设内核函数的虚拟地址,并且基于该虚拟地址调用该预设内核函数,以实现内核日志的转存过程。
在本发明实施例的一种实现方式中,上述预设存储区域中包括多个日志文件以及该多个日志文件的标识。结合图2,如图6所示,本发明实施例提供的日志存储方法还包括S105-S106。
S105、当预设存储区域的已占用存储量大于或等于存储量阈值时,电子设备删除预设标识对应的日志文件。
其中,该预设标识对应的日志文件为第一日志文件,该第一日志文件为上述多个日志文件中时间戳最小的日志文件。
应理解,当该预设存储区域的已占用存储量大于或等于存储量阈值时,说明该预设存储区域的已占用存储量较大,可能已经不能存储新的数据(或日志文件)了,此时电子设备可以删除该预设存储区域中预设标识对应的日志文件,以使得该预设存储区域可以拥有更多的存储空间以存储新的数据。
可以理解的是,一个日志文件的时间戳用于表征该日志文件的存储时刻。该第一日志文件的时间戳最小说明该第一日志文件的存储时刻较早,即该第一日志文件为该多个日志文件中最早存储于该预设存储区域的日志文件。
本发明实施例中,电子设备删除上述预设标识对应的日志文件,即为删除最早存储于预设存储区域的日志文件,能够有效地释放预设存储区域的内存空间,提升日志存储的有效性。
S106、电子设备将第二日志文件的标识替换为预设标识。
其中,该第二日志文件为至少一个日志文件中时间戳最小的日志文件,该至少一个日志文件为上述多个日志文件中除该第一日志文件以外的日志文件。
应理解,电子设备将该第二日志文件的标识替换为该预设标识,即为将该第二日志文件的标识替换为上述第一日志文件的标识。由于电子设备在S105中删除的是预设标识对应的日志文件,因此在电子设备将第二日志文件的标识替换为该预设标识之后,并且在下一次预设区域的已占用存储量大于或等于存储量阈值的情况下,电子设备可以删除该第二日志文件。
可选地,电子设备还可以将其他日志文件(即该至少一个日志文件中除该第二日志文件以外的日志文件)的标识依次进行替换。具体的,电子设备可以将第三日志文件的标识替换为该第二日志文件的标识,该第三日志文件为该其他日志文件中时间戳最小的日志文件。
结合图2,如图7所示,在上述电子设备基于用户态调用预设内核函数之后,本发明实施例提供的日志存储方法还包括S107。
S107、电子设备对异常区执行清空处理。
具体的,电子设备可以基于clearlog清空函数对该异常区执行清空处理。
可选地,电子设备还可以对上述打印区执行清空处理。即电子设备可以对上述高端内存区执行清空处理。
应理解,由于电子设备已经对该异常区中存储的异常日志信息进行转存处理,因此该异常区中已经无需再存储该异常日志信息。此时电子设备对该异常区执行情况处理,以释放该异常区中的存储空间(或存储能力)。
本发明实施例可以根据上述方法示例对电子设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的日志存储装置的一种可能的结构示意图,如图8所示,日志存储装置10可以包括:获取模块101、存储模块102以及处理模块103。
获取模块101,用于获取异常日志信息,该异常日志信息包括预设异常的类型。
存储模块102,用于将该异常日志信息存入异常区,该异常区属于高端内存区,该高端内存区为从电子设备的内存中划分出的内存空间。
处理模块103,用于基于用户态调用预设内核函数,该预设内核函数为内核态中包括的函数,该预设内核函数用于指示将该异常区中存储的异常日志信息转存至预设存储区域。
可选地,处理模块103,还用于当该电子设备的操作系统重新启动时,对该异常日志信息进行转存处理,以存储该异常日志信息对应的日志文件。
可选地,上述日志存储装置10还包括确定模块104。
获取模块101,还用于基于该用户态获取该预设内核函数的函数名称。
确定模块104,用于根据该函数名称,确定该预设内核函数的物理地址,该函数名称与该物理地址具有对应关系。
确定模块104,还用于根据该物理地址,确定该预设内核函数的虚拟地址,该物理地址与该虚拟地址具有对应关系。
处理模块103,具体用于基于该虚拟地址调用该预设内核函数。
可选地,上述预设存储区域中包括多个日志文件以及该多个日志文件的标识,该日志存储装置10还包括删除模块105。
删除模块105,用于当该预设存储区域的已占用存储量大于或等于存储量阈值时,删除预设标识对应的日志文件,该预设标识对应的日志文件为第一日志文件,该第一日志文件为该多个日志文件中时间戳最小的日志文件。
处理模块103,还用于将第二日志文件的标识替换为该预设标识,该第二日志文件为至少一个日志文件中时间戳最小的日志文件,该至少一个日志文件为该多个日志文件中除该第一日志文件以外的日志文件。
可选地,处理模块103,还用于对该异常区执行清空处理。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的日志存储装置的一种可能的结构示意图。如图9所示,日志存储装置20可以包括:处理模块201和通信模块202。处理模块201可以用于对日志存储装置20的动作进行控制管理。通信模块202可以用于支持日志存储装置20与其他实体的通信。可选地,如图9所示,该日志存储装置20还可以包括存储模块203,用于存储日志存储装置20的程序代码和数据。
其中,处理模块201可以是处理器或控制器。通信模块202可以是收发器、收发电路或通信接口等。存储模块203可以是存储器。
其中,当处理模块201为处理器,通信模块202为收发器,存储模块203为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是外设部件互连标准(peripheralcomponent interconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户终端线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (12)

1.一种日志存储方法,应用于电子设备,其特征在于,包括:
获取异常日志信息,所述异常日志信息包括预设异常的类型;
将所述异常日志信息存入异常区,所述异常区属于高端内存区,所述高端内存区为从所述电子设备的内存中划分出的内存空间;
基于用户态调用预设内核函数,所述预设内核函数为内核态中包括的函数,所述预设内核函数用于指示将所述异常区中存储的异常日志信息转存至预设存储区域。
2.根据权利要求1所述的日志存储方法,其特征在于,在所述将所述异常日志信息存入异常区之后,所述方法还包括:
当所述电子设备的操作系统重新启动时,对所述异常日志信息进行转存处理,以存储所述异常日志信息对应的日志文件。
3.根据权利要求1所述的日志存储方法,其特征在于,所述基于用户态调用预设内核函数,包括:
基于所述用户态获取所述预设内核函数的函数名称;
根据所述函数名称,确定所述预设内核函数的物理地址,所述函数名称与所述物理地址具有对应关系;
根据所述物理地址,确定所述预设内核函数的虚拟地址,所述物理地址与所述虚拟地址具有对应关系;
基于所述虚拟地址调用所述预设内核函数。
4.根据权利要求1所述的日志存储方法,其特征在于,所述预设存储区域中包括多个日志文件以及所述多个日志文件的标识,所述方法还包括:
当所述预设存储区域的已占用存储量大于或等于存储量阈值时,删除预设标识对应的日志文件,所述预设标识对应的日志文件为第一日志文件,所述第一日志文件为所述多个日志文件中时间戳最小的日志文件;
将第二日志文件的标识替换为所述预设标识,所述第二日志文件为至少一个日志文件中时间戳最小的日志文件,所述至少一个日志文件为所述多个日志文件中除所述第一日志文件以外的日志文件。
5.根据权利要求1-4中任一项所述的日志存储方法,其特征在于,在所述基于用户态调用预设内核函数之后,所述方法还包括:
对所述异常区执行清空处理。
6.一种日志存储装置,其特征在于,包括:获取模块、存储模块以及处理模块;
所述获取模块,用于获取异常日志信息,所述异常日志信息包括预设异常的类型;
所述存储模块,用于将所述异常日志信息存入异常区,所述异常区属于高端内存区,所述高端内存区为从电子设备的内存中划分出的内存空间;
所述处理模块,用于基于用户态调用预设内核函数,所述预设内核函数为内核态中包括的函数,所述预设内核函数用于指示将所述异常区中存储的异常日志信息转存至预设存储区域。
7.根据权利要求6所述的日志存储装置,其特征在于,
所述处理模块,还用于当所述电子设备的操作系统重新启动时,对所述异常日志信息进行转存处理,以存储所述异常日志信息对应的日志文件。
8.根据权利要求6所述的日志存储装置,其特征在于,所述日志存储装置还包括确定模块;
所述获取模块,还用于基于所述用户态获取所述预设内核函数的函数名称;
所述确定模块,用于根据所述函数名称,确定所述预设内核函数的物理地址,所述函数名称与所述物理地址具有对应关系;
所述确定模块,还用于根据所述物理地址,确定所述预设内核函数的虚拟地址,所述物理地址与所述虚拟地址具有对应关系;
所述处理模块,具体用于基于所述虚拟地址调用所述预设内核函数。
9.根据权利要求6所述的日志存储装置,其特征在于,所述预设存储区域中包括多个日志文件以及所述多个日志文件的标识,所述日志存储装置还包括删除模块;
所述删除模块,用于当所述预设存储区域的已占用存储量大于或等于存储量阈值时,删除预设标识对应的日志文件,所述预设标识对应的日志文件为第一日志文件,所述第一日志文件为所述多个日志文件中时间戳最小的日志文件;
所述处理模块,还用于将第二日志文件的标识替换为所述预设标识,所述第二日志文件为至少一个日志文件中时间戳最小的日志文件,所述至少一个日志文件为所述多个日志文件中除所述第一日志文件以外的日志文件。
10.根据权利要求6-9中任一项所述的日志存储装置,其特征在于,
所述处理模块,还用于对所述异常区执行清空处理。
11.一种电子设备,其特征在于,所述电子设备包括:
处理器;
被配置为存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-5中任一项所述的日志存储方法。
12.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由电子设备执行时,使得所述电子设备能够执行如权利要求1-5中任一项所述的日志存储方法。
CN202211163969.1A 2022-09-23 2022-09-23 一种日志存储方法、装置、电子设备及存储介质 Pending CN115525462A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211163969.1A CN115525462A (zh) 2022-09-23 2022-09-23 一种日志存储方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211163969.1A CN115525462A (zh) 2022-09-23 2022-09-23 一种日志存储方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115525462A true CN115525462A (zh) 2022-12-27

Family

ID=84700423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211163969.1A Pending CN115525462A (zh) 2022-09-23 2022-09-23 一种日志存储方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115525462A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117135263A (zh) * 2023-02-16 2023-11-28 荣耀终端有限公司 日志信息获取方法及电子设备
CN117135263B (zh) * 2023-02-16 2024-06-07 荣耀终端有限公司 日志信息获取方法、电子设备及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117135263A (zh) * 2023-02-16 2023-11-28 荣耀终端有限公司 日志信息获取方法及电子设备
CN117135263B (zh) * 2023-02-16 2024-06-07 荣耀终端有限公司 日志信息获取方法、电子设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN107832100B (zh) 一种apk插件的加载方法及其终端
CN111104448A (zh) 大数据量Excel文件导出方法、装置、计算机设备及存储介质
CN108063818B (zh) 数据下载方法、装置、终端和计算机可读存储介质
CN111274039B (zh) 内存回收方法、装置、存储介质及电子设备
CN111078406A (zh) 内存管理方法、装置、存储介质及电子设备
CN112214247B (zh) 一种系统启动方法以及相关设备
CN111078523A (zh) 日志获取方法、装置、存储介质及电子设备
CN115599448A (zh) 一种基于linux内核ko模块的加载方法及装置
CN112764925A (zh) 基于虚拟内存的数据存储方法、装置、设备及存储介质
CN115525462A (zh) 一种日志存储方法、装置、电子设备及存储介质
US7778660B2 (en) Mobile communications terminal, information transmitting system and information receiving method
CN114296986B (zh) 内存泄漏定位方法、装置、介质和电子设备
CN111124627A (zh) 应用程序的调起者确定方法、装置、终端及存储介质
CN115617504A (zh) 一种内存管理系统、泄露检测方法及存储介质
CN109656936A (zh) 数据同步方法、装置、计算机设备和存储介质
CN111026613B (zh) 日志处理方法及装置
CN111090627B (zh) 基于池化的日志存储方法、装置、计算机设备及存储介质
CN100363905C (zh) 一种基于绝对座标体系的操作系统客体重用测试方法
CN110023907A (zh) 一种处理方法及装置
CN113110846A (zh) 一种环境变量的获取方法及装置
CN108959405B (zh) 数据的强一致性读取方法及终端设备
CN108897639B (zh) 文件处理方法及装置
CN111813574A (zh) 图片压缩方法、装置、存储介质和电子设备
CN112732568B (zh) 一种系统日志获取方法、装置、存储介质及终端
CN113392395A (zh) 一种栈保护的方法及装置

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