CN116226024A - 一种日志数据处理方法及相关设备 - Google Patents
一种日志数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN116226024A CN116226024A CN202211582686.0A CN202211582686A CN116226024A CN 116226024 A CN116226024 A CN 116226024A CN 202211582686 A CN202211582686 A CN 202211582686A CN 116226024 A CN116226024 A CN 116226024A
- Authority
- CN
- China
- Prior art keywords
- log data
- log
- shared memory
- memory area
- processor
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F2015/761—Indexing scheme relating to architectures of general purpose stored programme computers
- G06F2015/765—Cache
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域,尤其涉及一种日志数据处理方法及相关设备。其中,该方法包括:建立共享内存区域;将所述共享内存区域的地址发送给各个处理器,以使所述各个处理器根据所述地址将日志数据输出至所述共享内存区域中;将所述共享内存区域中的日志数据保存至本地存储空间;对所述本地存储空间中的所述日志数据进行数据处理,所述数据处理至少包含时间戳处理;将数据处理后的所述日志数据保存为对应的日志文件。本发明实施例中,通过建立各个处理器都可以读取以及写入的共享内存区域来保存各个处理器输出的日志数据。并基于共享内存区域中的日志数据进行时间戳处理后保存为日志文件,提高了问题排查的排查效率。
Description
【技术领域】
本发明涉及计算机技术领域,尤其涉及一种日志数据处理方法及相关设备。
【背景技术】
在进行系统开发时,往往需要获取其输出的日志数据来进行问题分析,即log数据。当发生异常时可以根据追溯log数据来进行异常排查。例如,在Qbit平台进行开发时,由于该平台由一个主处理器ARM以及两个协处理器CM30和CM31构成,因此在获取log时需要分别获取这三个处理器输出的log数据。具体的,往往使用三根串口线将三个处理器分别与PC端连接,由于三个平台的时间并不同步,这就使得得到的三个处理器的log数据无先后顺序,进而导致问题分析较为困难。
【发明内容】
为了解决上述问题,本发明实施例提供了一种日志数据处理方法及相关设备,通过建立共享内存区域来存储各个处理器写入的日志数据,并输出为日志文件,克服了现有技术中需要将所有处理器均与PC端连接的弊端。并且,通过对获取到的日志数据进行时间戳处理,提高了开发人员进行故障分析时的便捷性。
第一方面,本发明实施例提供一种日志数据处理方法,包括:
建立共享内存区域;
将所述共享内存区域的地址发送给各个处理器,以使所述各个处理器根据所述地址将日志数据输出至所述共享内存区域中;
将所述共享内存区域中的日志数据保存至本地存储空间;
对所述本地存储空间中的所述日志数据进行数据处理,所述数据处理至少包含时间戳处理;
将数据处理后的所述日志数据保存为对应的日志文件。
在一种可能的实现方式中,所述共享内存区域中设置有多个循环缓冲队列,所述多个循环缓冲队列与所述各个处理器一一对应;
所述各个处理器将日志数据输入至对应的循环缓冲队列中。
在一种可能的实现方式中,所述将所述共享内存区域中的所述日志数据保存至本地存储空间,包括:
创建检测线程,所述检测线程用于对所述循环缓冲队列进行检测;
当所述检测线程检测到所述循环缓冲队列中被写入新的日志数据时,将所述被写入的新的日志数据转存至所述本地存储空间中。
在一种可能的实现方式中,所述共享内存区域中还存储有与所述日志数据对应的时间信息,所述对所述本地存储空间中的日志数据进行数据处理,包括:
根据所述时间信息对所述日志数据进行时间戳处理。
在一种可能的实现方式中,所述将数据处理后的所述日志数据保存为对应的日志文件,包括:
确定所述日志数据中包含的各条日志信息的日志等级;
根据所述日志等级以及所述时间信息对所述日志数据中的各条日志信息进行排序处理;
根据所述排序处理的结果,将所述日志数据保存为对应的日志文件。
在一种可能的实现方式中,所述方法还包括:
基于检测到的第一触发条件,生成第一调试命令,并确定所述第一调试命令对应的目标处理器;所述目标处理器为所述各个处理器中的任一个;
根据预设命令配置信息确定与所述第一调试命令匹配的第一调用函数;其中,所述预设命令配置信息中包含不同调试命令对应的调用函数;
通过所述第一调用函数将所述第一调试命令发送至所述目标处理器。
第二方面,本发明实施例提供一种日志数据处理设备,包括:
建立模块,用于建立共享内存区域;
通信模块,用于将所述共享内存区域的地址发送给各个处理器,以使所述各个处理器根据所述地址将日志数据输出至所述共享内存区域中;
转存模块,用于将所述共享内存区域中的日志数据保存至本地存储空间;
处理模块,用于对所述本地存储空间中的所述日志数据进行数据处理,所述数据处理至少包含时间戳处理;
所述处理模块,还用于将数据处理后的所述日志数据保存为对应的日志文件。
在一种可能的实现方式中,所述共享内存区域中设置有多个循环缓冲队列,所述多个循环缓冲队列与所述各个处理器一一对应;
所述各个处理器将日志数据输入至对应的循环缓冲队列中。
第三方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一~二方面所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一~二方面所述的方法。
应当理解的是,本发明实施例的第二~四方面与本发明实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
本发明实施例中,通过建立一个共享内存区域,并将共享内存区域的地址发送给各个处理器。以使各个处理器将各自的日志输出写入到共享内存区域中。之后,再将共享内存区域中的日志数据转存至本地存储空间来进行时间戳处理,从而得到日志文件,以便于开发人员根据带有时间戳的多个处理器的日志数据进行问题排查。并且,本发明实施例中所述方法只需将一个处理器使用串口线与PC端连接即可获得共享内存区域中的日志数据,无需将所有处理器全部与PC端连接,优化了现有技术中的复杂接线问题。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种获取日志数据的场景示意图;
图2为本发明实施例提供的一种日志数据处理方法的流程图;
图3为本发明实施例提供的一种循环缓冲队列的结构示意图;
图4为本发明实施例提供的一种调试命令输入的场景示意图;
图5为本发明实施例提供的一种日志数据处理设备的结构示意图;
图6为本发明实施例提供的另一种日志数据处理设备的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
【具体实施方式】
为了更好的理解本说明书的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本发明实施例中,通过建立共享内存区域来收集各个处理器输出的日志数据,并对共享内存区域内储存的日志数据进行时间戳处理后再保存到日志文件中,通过一根串口线即可收集到多个处理器的日志数据,提高了日志数据的收集效率和问题排查效率。
图1为本发明实施例提供的一种获取日志数据的场景示意图。如图1所示,现有技术中,ARM通过串口线和网络与PC端进行连接,CM30以及CM31页通过串口线与PC端连接,PC端将ARM输出的log保存为A7_log.txt,将CM30输出的log保存为cm30_log.txt,将CM31输出的log保存为cm31_log.txt。由于开发中遇到的bug可能涉及多个处理器。现有技术中采用这种方式获取各个处理器的log时,三个平台的时间并不同步,导致各个处理器的log无先后顺序,从而使得问题分析困难。
基于上述问题,本发明实施例提供一种日志数据处理方法。图2为本发明实施例提供的一种日志数据处理方法的流程图。如图2所示,该方法包括:
步骤101,建立共享内存区域。在建立共享内存区域时,可以在内存区域中划分出一块区域作为共享内存区域。或者,从机械硬盘或者固态硬盘等存储区域中划分出一块区域作为共享内存区域。
步骤102,将共享内存区域的地址发送给各个处理器,以使各个处理器根据地址将日志数据输出至共享内存区域中。其中,在将共享内存区域的地址发送给各个处理器之外,还需要为各个处理器配置相应的数据读取权限以及数据写入权限,从而使得各个处理器可以对共享内存区域进行读取和写入。
以Qbit平台为例,包含一个主处理器ARM,以及两个协处理器CM30以及CM31。在建立共享内存区域后,将共享内存区域的存储地址发送给ARM、CM30以及CM31。之后ARM、CM30以及CM31将各自的日志数据写入到共享内存区域中。
步骤103,将共享内存区域中的日志数据保存至本地存储空间。其中,由于各个处理器无法直接对共享内存区域中的日志数据进行修改等数据处理,因此需要将共享内存区域中的日志数据转存到本地存储空间后在进行数据处理。具体的,可以由各个处理器中的一个处理器通过映射或拷贝等方式来将共享内存区域中的日志数据保存到本地存储空间中。
步骤104,对本地存储空间中的日志数据进行数据处理,数据处理至少包含时间戳处理。其中,可以根据日志数据被转存到本地存储空间时的时间来进行时间戳处理。可选的,由于各个日志数据是按照产生的先后顺序被转存至本地存储空间中,因此可以自定义一个时间轴,并根据本地存储空间中各个日志数据的排列顺序确定其在时间轴中对应的时间点,进而对日志数据进行时间戳处理。例如,本地存储空间中存储有排序为log1、log2、log3的三个日志数据,排序越靠前则越说明该日志数据越早被写入到本地存储空间中。则log1对应的时间戳为0001,log2对应的时间戳为0002,log3对应的时间戳为0003。
在一些实施例中,共享内存区域存储有与日志数据对应的时间信息。其中,时间信息可以为日志数据被写入共享内存区域时的时间,也可以为日志数据产生的时间。例如,log1的产生时间为11点32分24秒,被写入共享内存区域的时间为11点32分32秒,则log1对应的时间信息可以为11点32分24秒,也可以为11点32分32秒。因此,第一处理在对本地处理器中的日志数据进行时间戳处理时,可以根据该时间信息对日志数据进行时间戳处理。
步骤105,将数据处理后的日志数据保存为对应的日志文件。其中,可以将其中一个处理器与PC端或上位机连接,从而将收集到的各个处理器的日志文件提供给PC端。可选的,可以将各个处理器的日志数据保存为对应的多个日志文件,从而对各个处理器的日志数据分类存储。或者,也可以将各个处理器的日志数据保存在同一个日志文件中。处理后的日志数据的结构中可以包含log的参数信息、日志等级信息(log等级)、函数名称、时间戳、行号以及具体的log内容。
在一些实施例中,还可以对日志数据进行排序后再保存,以便开发人员更方便的从日志数据中找到想要的log,从而进行故障排查。具体的,日志数据中包含多条日志信息。例如一个log数据中存在多行数据,每一行数据即为一条日志信息。因此可以先确定日志数据中包含的各条日志信息的日志等级。其中,日志等级包含:DEBUG、INFO、WARN、ERROR、FATAL等。之后可以根据日志等级以及时间信息对日志数据中的各条日志信息进行排序处理。例如,对相同日志等级的日志信息可以根据其时间戳进行排序。根据排序处理的结果,将日志数据保存为对应的日志文件。
在一些实施例中,可以现在共享内存区域中建立循环缓冲队列来保存日志数据。共享内存区域中设置有多个循环缓冲队列,多个循环缓冲队列与各个处理器一一对应,各个处理器将日志数据输入至对应的循环缓冲队列中。图3为本发明实施例提供的一种循环缓冲队列的结构示意图。如图3所示,共享内存区域中包含循环缓冲队列,循环缓冲队列中包含循环队列头以及具体的log1、log2等日志数据。
之后,可以创建检测线程,检测线程用于对循环缓冲队列进行检测。当检测线程检测到循环缓冲队列中被写入新的日志数据时,将被写入的新的日志数据转存至本地存储空间中。其中,检测线程的数量与循环缓冲队列的数量是一致的。即,每个循环缓冲队列都对应一个检测线程。
在一些实施例中,开发人员可以通过调试命令来对各个处理器进行调试以及测试。具体的,基于检测到的第一触发条件,生成第一调试命令,并确定第一调试命令对应的目标处理器。目标处理器为各个处理器中的任一个。其中,开发人员可以通过PC端触发第一调试命令,第一调试命令通过串口发送至与PC端连接的处理器,之后该处理器可以确定检测到第一触发条件。或者,该处理器基于自身的控制逻辑或程序设定来触发第一触发条件,从而生成第一调试命令。之后可以根据预设命令配置信息确定与第一调试命令匹配的第一调用函数。其中,预设命令配置信息中包含不同调试命令对应的调用函数,例如store函数以及show函数等。之后通过第一调用函数将第一调试命令发送至目标处理器。
可选的,在将数据处理后的日志数据保存为对应的日志文件之前,可以先对日志数据进行过滤,从而将等级较低的日志数据过滤掉,只保留等级较高的如DEBUG、WARN、ERROR的日志数据,以便于开发人员进行问题排查以及分析。
在一个具体示例中,开发平台为Qbit平台,该平台包含一个主处理器ARM以及两个协处理器处理器CM30和CM31。主处理器ARM通过串口线与PC端连接。则上述方法的具体执行步骤为:首先,创建一个共享内存区域,并将共享内存区域的存储地址发送给ARM、CM30和CM31。之后在共享内存区域中创建三个循环缓冲队列来保存三个处理器输出的log信息。其中,log信息中至少包含log等级、函数名、行号以及log内容等。log内容最大支持128个字符,当log内容超过128个字符时将会被截断,即超过128个字符的部分被丢弃。
之后,ARM端创建驱动模块,在驱动模块中将ARM、CM30以及CM31视为设备。驱动模块为每个设备(ARM、CM30、CM31)创建一个对应的log.txt文件,用于保存接收到的各个设备的log数据。之后,驱动模块为每个设备创建设备节点,从而使应用层可以读取到更新的log,并可以通过设备节点来配置log的输出等级、log模式以及log文件的最大容量等。之后为每个设备都创建一个log_print_thread线程(即上述实施例中的检测线程),用于检测共享内存区域中各个设备对应的循环缓冲队列的log更新。之后,可以创建kobj对象,为每个设备在/sys/firmware/路径下生成对应的属性文件,并实现属性文件中的store以及show函数,从而完成将内核接口导入到用户控件。
当CM30、CM31以及ARM将产生的log写入到共享内存对应的循环缓冲队列时,驱动模块中的log_print_thread会检测到循环缓冲队列有更新的log,并将更新的log拷贝到本地存储空间。之后对本地存储空间中的log进行编辑、修改输出等级,增加时间戳等数据处理。之后将编辑好的log输出到对应的log.txt文件中并更改头目信息。同时,检测当前log.txt文件大小,如果超过预设大小,则偏移到起始点,覆盖旧的log。以CM30为例,当CM30将产生的log写入到共享内存区域中的循环缓冲队列后,驱动模块中该循环缓冲队列对应的log_print_thread检测到log更新,将CM30更新的log拷贝到本地存储空间中,之后对更新的log进行时间戳处理以及修改输出等级等数据处理,并将编辑好的log输出到cm30_log.txt文件中。
当ARM端有调试命令需要输入到CM30或CM31时,可以利用Linux系统中sysfs。sysfs是基于内存的文件系统,用于向用户空间导出内核对象并且能对其进行读写。图4为本发明实施例提供的一种调试命令输入的场景示意图。如图4中所示,PC端(图中未示出)通过串口与ARM端连接,当有调试命令通过串口输入到ARM端输入时,sysfs可将调试命令从用户空间传输到内核空间,串口输入的调试命令通过sysfs传输到驱动模块中,驱动模块再调试将命令通过ARM与CM30或CM31之间的通信接口mailbox发送到CM30或者CM31,完成命令输入。具体的,如图4中所示,当PC端将调试命令通过串口发送至ARM端时,通过shell命令或echo命令对文件系统中的属性文件(即上述实施例中的命令配置信息)进行读写,由此可以链接到驱动模块在上述步骤中在属性文件中实现的store函数,并由此完成调试命令的导入。之后,驱动模块再将调试命令发送到CM端,由CM端根据调试命令执行若干测试项,从而完成了ARM端到CM端的命令输入。
可选的,PC端还可以通过串口来更新log配置。具体的,PC端将更新配置命令发送至串口,串口通过echo命令对文件系统中的属性文件进行读写,由此可以链接到驱动模块在属性文件中实现的store函数,由此完成更新配置命令的导入。之后驱动模块根据更新配置命令对文件系统中的日志文件的配置信息进行更新。
可选的,PC端可以通过日志打印指令来获取日志文件中的日志信息。具体的,PC端将日志打印指令发送至串口,串口通过cat命令对文件系统中的属性文件进行读写,由此可见链接到驱动模块在属性文件中实现的show函数,由此完成日志打印指令的导入,之后驱动模块读取文件系统中的日志文件,并将其中的日志数据输出至串口,PC端从串口获取ARM端发输出的日志数据,从而完成日志的打印。
图5为本发明实施例提供的一种日志数据处理设备的结构示意图。如图5所示,日志数据处理设备包括:建立模块501、通信模块502、转存模块503以及处理模块504。
建立模块501,用于建立共享内存区域。
通信模块502,用于将共享内存区域的地址发送给各个处理器,以使各个处理器根据地址将日志数据输出至共享内存区域中。
转存模块503,用于将共享内存区域中的日志数据保存至本地存储空间。
处理模块504,用于对本地存储空间中的日志数据进行数据处理,数据处理至少包含时间戳处理。
处理模块504,还用于将数据处理后的日志数据保存为对应的日志文件。
图5所示实施例提供的日志数据处理设备可用于执行本说明书图1-图4所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
在一些实施例中,共享内存区域中设置有多个循环缓冲队列,多个循环缓冲队列与各个处理器一一对应。各个处理器将日志数据输入至对应的循环缓冲队列中。
在一些实施例中,转存模块503具体用于:
创建检测线程,检测线程用于对循环缓冲队列进行检测。当检测线程检测到循环缓冲队列中被写入新的日志数据时,将被写入的新的日志数据转存至本地存储空间中。
在一些实施例中,共享内存区域中还存储有与日志数据对应的时间信息,处理模块504具体用于:
根据时间信息对日志数据进行时间戳处理。
在一些实施例中,处理模块504,具体用于:
确定日志数据中包含的各条日志信息的日志等级。根据日志等级以及时间信息对日志数据中的各条日志信息进行排序处理。根据排序处理的结果,将日志数据保存为对应的日志文件。
图6为本发明实施例提供的另一种日志数据处理设备的结构示意图。如图6所示日志数据处理设备还包括命令处理模块505。
命令处理模块505具体用于:
基于检测到的第一触发条件,生成第一调试命令,并确定第一调试命令对应的目标处理器。目标处理器为各个处理器中的任一个。根据预设命令配置信息确定与第一调试命令匹配的第一调用函数。其中,预设命令配置信息中包含不同调试命令对应的调用函数。通过第一调用函数将第一调试命令发送至目标处理器。
图6所示实施例提供的日志数据处理设备可用于执行本说明书图1-图4所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图7为本发明实施例提供的一种电子设备的结构示意图,如图7所示,上述电子设备可以包括至少一个处理器,以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图1-图4所示实施例提供的日志数据处理方法。
如图7所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器610、通信接口620和存储器630,连接不同系统组件(包括存储器630、通信接口620和处理器610)的通信总线640。
通信总线640表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器630可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器630可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器630中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书所描述的实施例中的功能和/或方法。
处理器610通过运行存储在存储器630中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书图1-图4所示实施例提供的日志数据处理方法。
本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图1-图4所示实施例提供的日志数据处理方法。
上述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnly Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable Programmable ReadOnly Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本说明书实施例中所涉及的设备可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3显示器、MP4显示器等。
在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,连接器,或者网络装置等)或处理器(Processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种日志数据处理方法,其特征在于,包括:
建立共享内存区域;
将所述共享内存区域的地址发送给各个处理器,以使所述各个处理器根据所述地址将日志数据输出至所述共享内存区域中;
将所述共享内存区域中的日志数据保存至本地存储空间;
对所述本地存储空间中的所述日志数据进行数据处理,所述数据处理至少包含时间戳处理;
将数据处理后的所述日志数据保存为对应的日志文件。
2.根据权利要求1所述的方法,其特征在于,所述共享内存区域中设置有多个循环缓冲队列,所述多个循环缓冲队列与所述各个处理器一一对应;
所述各个处理器将日志数据输入至对应的循环缓冲队列中。
3.根据权利要求2所述的方法,其特征在于,所述将所述共享内存区域中的所述日志数据保存至本地存储空间,包括:
创建检测线程,所述检测线程用于对所述循环缓冲队列进行检测;
当所述检测线程检测到所述循环缓冲队列中被写入新的日志数据时,将所述被写入的新的日志数据转存至所述本地存储空间中。
4.根据权利要求1所述的方法,其特征在于,所述共享内存区域中还存储有与所述日志数据对应的时间信息,所述对所述本地存储空间中的日志数据进行数据处理,包括:
根据所述时间信息对所述日志数据进行时间戳处理。
5.根据权利要求4所述的方法,其特征在于,所述将数据处理后的所述日志数据保存为对应的日志文件,包括:
确定所述日志数据中包含的各条日志信息的日志等级;
根据所述日志等级以及所述时间信息对所述日志数据中的各条日志信息DD223130I
进行排序处理;
根据所述排序处理的结果,将所述日志数据保存为对应的日志文件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于检测到的第一触发条件,生成第一调试命令,并确定所述第一调试命令对应的目标处理器;所述目标处理器为所述各个处理器中的任一个;
根据预设命令配置信息确定与所述第一调试命令匹配的第一调用函数;其中,所述预设命令配置信息中包含不同调试命令对应的调用函数;
通过所述第一调用函数将所述第一调试命令发送至所述目标处理器。
7.一种日志数据处理设备,其特征在于,包括:
建立模块,用于建立共享内存区域;
通信模块,用于将所述共享内存区域的地址发送给各个处理器,以使所述各个处理器根据所述地址将日志数据输出至所述共享内存区域中;
转存模块,用于将所述共享内存区域中的日志数据保存至本地存储空间;
处理模块,用于对所述本地存储空间中的所述日志数据进行数据处理,所述数据处理至少包含时间戳处理;
所述处理模块,还用于将数据处理后的所述日志数据保存为对应的日志文件。
8.根据权利要求7所述的日志数据处理设备,其特征在于,所述共享内存区域中设置有多个循环缓冲队列,所述多个循环缓冲队列与所述各个处理器一一对应;
所述各个处理器将日志数据输入至对应的循环缓冲队列中。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所DD223130I
述程序指令能够执行如权利要求1至6任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211582686.0A CN116226024A (zh) | 2022-12-09 | 2022-12-09 | 一种日志数据处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211582686.0A CN116226024A (zh) | 2022-12-09 | 2022-12-09 | 一种日志数据处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116226024A true CN116226024A (zh) | 2023-06-06 |
Family
ID=86573780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211582686.0A Pending CN116226024A (zh) | 2022-12-09 | 2022-12-09 | 一种日志数据处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116226024A (zh) |
-
2022
- 2022-12-09 CN CN202211582686.0A patent/CN116226024A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8843895B2 (en) | Debugger connection | |
CN107957941B (zh) | 移动终端内存泄漏处理方法和装置 | |
US9047400B2 (en) | Data processor device for handling a watchpoint and method thereof | |
CN108572818A (zh) | 一种用户界面渲染方法及装置 | |
CN111813641B (zh) | 崩溃信息收集的方法、装置、介质和设备 | |
CN111190825A (zh) | 自动测试方法、系统及机器人 | |
CN111400172B (zh) | 程序调试方法及装置 | |
CN104750585A (zh) | 终端检测的方法及装置 | |
US9223678B2 (en) | Data processor device having a debug control module which selectively modifies trace messages | |
CN111522706A (zh) | 前端应用的页面异常的监控方法及其装置 | |
CN115016968A (zh) | 一种异常处理方法、装置、设备及介质 | |
CN111309743A (zh) | 报表推送方法及装置 | |
CN110765085A (zh) | 日志信息写入方法、系统、存储介质及移动终端 | |
CN116662039B (zh) | 基于共享内存的工业信息并行检测方法、装置及介质 | |
CN116521468B (zh) | 一种fpga在线调试方法及支持在线调试的fpga | |
CN116226024A (zh) | 一种日志数据处理方法及相关设备 | |
CN116521414A (zh) | 故障代码定位方法、云端服务器、系统及存储介质 | |
CN115543759A (zh) | 操作系统的日志查阅方法、装置、电子设备及存储介质 | |
CN116450473A (zh) | 踩内存问题的定位方法和电子设备 | |
CN114461479A (zh) | 调试多媒体处理芯片的方法、装置、存储介质和电子设备 | |
CN113590435A (zh) | 一种异常信息显示方法及设备 | |
CN106713902A (zh) | 一种摄像模组的故障检测方法、装置及终端 | |
CN111984541A (zh) | 一种内存泄漏检测方法及装置、终端 | |
CN112732568B (zh) | 一种系统日志获取方法、装置、存储介质及终端 | |
CN111414270A (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 |