CN114218000A - 日志管理方法、装置、电子设备及计算机可读存储介质 - Google Patents

日志管理方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN114218000A
CN114218000A CN202111427817.3A CN202111427817A CN114218000A CN 114218000 A CN114218000 A CN 114218000A CN 202111427817 A CN202111427817 A CN 202111427817A CN 114218000 A CN114218000 A CN 114218000A
Authority
CN
China
Prior art keywords
log information
log
master device
preset process
information
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
CN202111427817.3A
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.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
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 Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202111427817.3A priority Critical patent/CN114218000A/zh
Publication of CN114218000A publication Critical patent/CN114218000A/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
    • 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/0775Content or structure details of the error report, e.g. specific table structure, specific error fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请适用于日志管理技术领域,尤其涉及日志管理方法、装置、电子设备及计算机可读存储介质。该方法中,主设备可以获取从设备发送的第二日志信息,并将第二日志信息存储至主设备的第一命名管道。同时,主设备可以获取自身的第一日志信息,并将第一日志信息存储至第一命名管道。随后,主设备可以通过第一预设进程将第一命名管道中的第一日志信息和第二日志信息存储至主设备的第一日志缓冲区,以通过主设备对集群系统中的各设备输出的日志信息进行统一管理,可以有效提高管理效率。而且,用户可以直接通过主设备的第一日志缓冲区,得到集群系统中所有设备的日志信息,从而可以方便、快速地对集群系统进行故障等问题的分析。

Description

日志管理方法、装置、电子设备及计算机可读存储介质
技术领域
本申请属于日志管理技术领域,尤其涉及一种日志管理方法、装置、电子设备及计算机可读存储介质。
背景技术
在电子设备的使用中,一般会记录使用中的日志信息,以方便后续分析电子设备的系统故障等问题。目前,对于由多计算机组成的计算机集群,各个计算机的日志信息是孤立、零散的。因此,在分析计算机集群的故障等问题时,需要从各计算机中逐个导出各计算机的日志信息,效率较低。
发明内容
本申请实施例提供了一种日志管理方法、装置、电子设备及计算机可读存储介质,可以解决现有技术在分析计算机集群的故障等问题时,需要从各计算机中逐个导出各计算机的日志信息,效率较低的问题。
第一方面,本申请实施例提供了一种日志管理方法,应用于集群系统,所述集群系统包括主设备和从设备,所述主设备中设置有第一命名管道和第一日志缓冲区,所述方法可以包括:
所述主设备获取自身的第一日志信息,并将所述第一日志信息存储至所述第一命名管道;
所述主设备获取所述从设备的第二日志信息,并将所述第二日志信息存储至所述第一命名管道;
所述主设备通过第一预设进程将所述第一命名管道中的第一日志信息和第二日志信息存储至所述第一日志缓冲区。
通过上述的日志管理方法,主设备可获取从设备发送的第二日志信息,并将第二日志信息存储至主设备的第一命名管道。同时,主设备可以获取自身输出的第一日志信息,并将第一日志信息存储至第一命名管道。随后,主设备可以通过第一预设进程将第一命名管道中的第一日志信息和第二日志信息存储至主设备的第一日志缓冲区,以通过主设备对集群系统中的各设备输出的日志信息(包括各设备的系统输出的日志信息和各设备中的应用程序输出的日志信息)进行统一管理,可以有效提高管理效率。而且,用户可以直接通过主设备的第一日志缓冲区,来得到集群系统中所有设备的日志信息,从而可以方便、快速地对集群系统进行故障等问题的分析,提高用户体验。
示例性的,所述第一日志信息为所述主设备的系统对应的日志信息,或者为所述主设备中的应用程序对应的日志信息。
示例性的,所述第二日志信息为所述从设备的系统对应的日志信息,或者为所述从设备中的应用程序对应的日志信息。
在一种可能的实现方式中,所述主设备获取所述从设备的第二日志信息,并将所述第二日志信息存储至所述第一命名管道,可以包括:
所述主设备通过第二预设进程获取所述从设备的第四预设进程发送的所述第二日志信息,所述第四预设进程用于从所述从设备的第二日志缓冲区获取所述第二日志信息;
所述主设备通过所述第二预设进程将所述第二日志信息存储至所述第一命名管道。
可以理解的是,在所述主设备通过第一预设进程将所述第一命名管道中的第一日志信息和第二日志信息存储至所述第一日志缓冲区之后,所述方法还可以包括:
所述主设备获取日志输出指令,并根据所述日志输出指令输出所述第一日志信息和所述第二日志信息。
在一种可能的实现方式中,所述主设备通过第一预设进程将所述第一命名管道中的第一日志信息和第二日志信息存储至所述第一日志缓冲区,可以包括:
所述主设备获取所述第一日志信息对应的第一时间和所述第二日志信息对应的第二时间;
所述主设备通过所述第一预设进程将所述第一日志信息和所述第二日志信息存储至所述第一日志缓冲区,其中,所述第一日志信息和所述第二日志信息在所述第一日志缓冲区中的存储顺序根据所述第一时间和所述第二时间来确定。
第二方面,本申请实施例提供了一种日志管理装置,应用于集群系统,所述集群系统包括主设备和从设备,所述主设备中设置有第一命名管道和第一日志缓冲区,所述装置可以包括:
第一日志信息获取模块,用于获取自身的第一日志信息,并将所述第一日志信息存储至所述第一命名管道;
第二日志信息获取模块,用于获取所述从设备的第二日志信息,并将所述第二日志信息存储至所述第一命名管道;
日志信息存储模块,用于通过第一预设进程将所述第一命名管道中的第一日志信息和第二日志信息存储至所述第一日志缓冲区。
示例性的,所述第一日志信息为所述主设备的系统对应的日志信息,或者为所述主设备中的应用程序对应的日志信息。
示例性的,所述第二日志信息为所述从设备的系统对应的日志信息,或者为所述从设备中的应用程序对应的日志信息。
在一种可能的实现方式中,所述第二日志信息获取模块,可以包括:
第二日志信息获取单元,用于通过第二预设进程获取所述从设备的第四预设进程发送的所述第二日志信息,所述第四预设进程用于从所述从设备的第二日志缓冲区获取所述第二日志信息;
第二日志信息存储单元,用于通过所述第二预设进程将所述第二日志信息存储至所述第一命名管道。
示例性的,所述装置还可以包括:
日志信息输出模块,用于获取日志输出指令,并根据所述日志输出指令输出所述第一日志信息和所述第二日志信息。
在一种可能的实现方式中,所述日志信息存储模块,可以包括:
时间获取单元,用于获取所述第一日志信息对应的第一时间和所述第二日志信息对应的第二时间;
日志信息存储单元,用于通过所述第一预设进程将所述第一日志信息和所述第二日志信息存储至所述第一日志缓冲区,其中,所述第一日志信息和所述第二日志信息在所述第一日志缓冲区中的存储顺序根据所述第一时间和所述第二时间来确定。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使所述电子设备实现上述第一方面中任一项所述的日志管理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被计算机执行时,使所述计算机实现上述第一方面中任一项所述的日志管理方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的日志管理方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1是本申请一实施例提供的日志管理方法所适用于的集群系统的结构示意图;
图2是本申请一实施例提供的集群系统的管理示意图;
图3是本申请一实施例提供的日志管理方法的流程示意图;
图4是本申请实施例提供的日志管理装置的结构示意图;
图5是本申请实施例提供的电子设备的结构示意图。
具体实施方式
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
此外,本申请实施例中提到的“多个”应当被解释为两个或两个以上。
本申请实施例中提供的日志管理方法中所涉及到的步骤仅仅作为示例,并非所有的步骤均是必须执行的步骤,或者并非各个信息或消息中的内容均是必选的,在使用过程中可以根据需要酌情增加或减少。本申请实施例中同一个步骤或者具有相同功能的步骤或者消息在不同实施例之间可以互相参考借鉴。
本申请实施例描述的业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在电子设备的使用中,一般会记录使用中的日志信息,以方便后续分析电子设备的系统故障等问题。例如,在linux系统中,一般设置有内核日志缓冲区,以存储内核运行时的故障信息,用户可以通过dmesg命令打印内核日志缓冲区中的日志信息,来分析系统问题。目前,对于由多计算机组成的计算机集群,各个计算机的日志信息是孤立、零散的。因此,在分析计算机集群的故障等问题时,需要从各计算机中逐个导出各计算机的日志信息,效率较低。另外,现有的linux系统一般没有为应用程序设置日志缓冲区,不能有效管理应用程序的日志信息。
为解决上述问题,本申请实施例提供了一种日志管理方法、装置、电子设备及计算机可读存储介质。该方法可以应用于集群系统,集群系统包括主设备和从设备,主设备中设置有第一命名管道和第一日志缓冲区。该方法中,主设备可以获取从设备发送的第二日志信息,并将第二日志信息存储至主设备的第一命名管道。同时,主设备可以获取自身输出的第一日志信息,并将第一日志信息存储至第一命名管道。随后,主设备可以通过第一预设进程将第一命名管道中的第一日志信息和第二日志信息存储至主设备的第一日志缓冲区,以通过主设备对集群系统中的各设备输出的日志信息(包括各设备的系统输出的日志信息和各设备的应用程序输出的日志信息)进行统一管理,可以有效提高管理效率。而且,用户可以直接通过主设备的第一日志缓冲区,来得到集群系统中所有设备的日志信息,从而可以方便、快速地对集群系统进行故障等问题的分析,提高用户体验。
本申请实施例中,电子设备可以为机器人、桌上型计算机、服务器、平板电脑、手机、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等,本申请实施例对电子设备的具体类型不作任何限制。
请参阅图1,图1示出了本申请实施例提供的日志管理方法所适用于的集群系统的结构示意图。如图1所示,该集群系统可以包括主设备110和至少一个从设备120(图1中以三个为例进行示例性说明)。其中,从设备120用于执行具体任务。主设备110用于管理集群、分配任务、监控集群状态等。例如,主设备110可以用于收集自身系统或应用程序输出的第一日志信息,以及收集其他从设备120的系统或应用程序输出的第二日志信息,并将第一日志信息和第二日志信息统一存储到主设备110自身的第一日志缓冲区中,以使得用户仅通过主设备110的第一日志缓冲区即可以得到集群系统中的所有日志信息,从而方便快速进行系统故障或应用程序故障等问题分析。
可以理解的是,主设备110可以为集群系统中的任一设备。在一种可能的实现方式中,可以根据预设策略来确定主设备110。其中,预设策略可以为随机策略,即可以随机将集群系统中的任一设备确定为主设备110。或者,预设策略也可以为与设备的性能相关的策略,即可以根据各设备的性能来确定主设备110。例如,可以将性能最好的设备确定为主设备110。例如,可以将性能最差的设备确定为主设备110。例如,可以将性能居中的设备确定为主设备110,等等。
需要说明的是,本申请实施例可以根据实际情况更换主设备110。例如,当某次确定的主设备110宕机时,或者在要求主设备的性能达到预设要求的场景中,当某次确定的主设备110的性能不符合预设要求时,可以根据预设策略从集群系统中重新确定新的主设备110,保证集群系统中日志信息的高效管理。应理解,集群系统中的设备数量可以动态变化。例如,用户可以根据实际需要实时接入新设备至集群系统,以对新设备进行日志信息的统一管理。例如,用户可以根据实际需要删除集群系统中的设备。
请参阅图2,图2示出了本申请实施例提供的集群系统的管理示意图。如图2所示,主设备110可以设置有第一命名管道1101、第一日志缓冲区1102、第一预设进程1103和第二预设进程1104。从设备120可以设置有第二命名管道1201、第二日志缓冲区1202、第三预设进程1203和第四预设进程1204。应理解,第一命名管道1101用于收集主设备110中的不同进程输出的日志信息,以方便主设备110将各进程输出的日志信息统一存储至第一日志缓冲区1102,从而方便主设备110对集群系统中的日志信息进行统一管理。一个进程用于收集系统或者一个应用程序输出的日志信息。类似的,第二命名管道1201用于收集从设备120中的不同进程输出的日志信息,以方便从设备120将各进程输出的日志信息统一存储至第二日志缓冲区1202,从而方便从设备120对从设备120中的日志信息进行统一管理。
第一预设进程1103可以为logd进程,logd进程为日志接收、存储进程,负责从第一命名管道1101中读取数据(即第一日志信息和/或第二日志信息),并按照预设格式将读取的数据存储到第一日志缓冲区1102。第三预设进程1203也可以为logd进程,负责从第二命名管道1101中读取数据(即第二日志信息),并按照预设格式将读取的数据存储到第二日志缓冲区中。预设格式可以为:设备名称+日志输出时间+日志输出进程号+日志内容。第二预设进程1104和第四预设进程1204均可以为rmtlogd进程,rmtlogd进程可以为分布式系统的远程日志接收、管理进程。
在从设备120运行中,从设备120的系统或应用程序可以输出第二日志信息,从设备120可以通过统一的日志打印接口,将第二日志信息输出到自身的第二命名管道1201。然后,从设备120可以通过第三预设进程1203(即logd进程)将第二命名管道1201中的第二日志信息读取至第二日志缓冲区1202。随后,从设备120可以通过第四预设进程1204(即rmtlogd进程)读取第二日志缓冲区1202中的第二日志信息,并将第二日志信息发送给主设备110中的第二预设进程1104(即rmtlogd进程)。主设备110可以通过第二预设进程1104将第二日志信息写入第一命名管道1101。随后,主设备110可以通过第一预设进程1103(即logd进程)将第一命名管道1101中的第一日志信息和/或第二日志信息读取至第一日志缓冲区1102。
在主设备110运行中,主设备110的系统或应用程序可以输出第一日志信息,主设备110可以通过统一的日志打印接口,将第一日志信息输出到第一命名管道1101。然后,主设备110可以通过第一预设进程1103将第一命名管道1101中的第一日志信息读取至第一日志缓冲区1102。
需要说明的是,统一的日志打印接口为基于本申请实施例的日志管理方法封装出来的日志打印函数umprintf(),主要代码如下:
#define FIFO_LOG_COLLECT"/ubtlogfifo"
int umprintf(const char*fmt,...){
char printf_buf[1024];
va_list args;
int printed;
va_start(args,fmt);
printed=vsprintf(printf_buf,fmt,args);
va_end(args);
um_kprintf(printf_buf);
return printed;
}
int um_kprintf(char*logdata){
int index;
char hostname[16]={0};
char timestr[25]={0};
char pidstr[16]={0};
char alldata[1024]={0};
index=get_host_name(hostname);
strcat(alldata,hostname);
strcat(alldata,"");
index=get_patten_time(timestr);
strcat(alldata,timestr);
index=get_patten_pid(pidstr);
strcat(alldata,pidstr);
strcat(alldata,logdata);
return um_raw_printf(alldata);
}
int um_raw_printf(char*logdata){
int index;
int fd=open(FIFO_LOG_COLLECT,O_WRONLY|O_NONBLOCK);
if(fd<=0)
return-1;
write(fd,logdata,strlen(logdata));
close(fd);
return 0;
}
本申请实施例中,第一日志缓冲区和第二日志缓冲区中的日志信息均可以按照时间先后有序存储的。示例性的,主设备可以根据第一日志信息对应的第一时间和第二日志信息对应的第二时间来进行第一日志信息和/或第二日志信息的存储。第一时间可以为第一日志信息中包含的日志输出时间,第二时间可以为第二日志信息中包含的日志输出时间。其中,用户可以在主设备110中执行umlog指令来打印第一日志缓冲区中的内容,或者可以在从设备120中执行umlog指令来打印第二日志缓冲区中的内容。当用户打印第二日志缓冲区的内容时,将仅显示从设备120的第二日志信息。当用户打印第一日志缓冲区的内容是,将显示主设备110的第一日志信息和所有从设备120的第二日志信息,以方便快速分析集群系统间耦合发生的故障等问题。
请参阅图3,图3示出了本申请实施例提供的一种日志管理方法的示意性流程图。该方法可以应用于图1所示的集群系统,且该方法的执行主体可以为集群系统中的主设备110。如图3所示,该方法可以包括:
S301、主设备获取自身的第一日志信息,并将第一日志信息存储至主设备的第一命名管道。
可以理解的是,在主设备运行时,主设备中的系统和/或应用程序等可以实时输出日志信息,以方便后续分析系统和/或应用程序的故障等问题。因此,第一日志信息可以为主设备中的系统输出的日志信息,也可以为主设备中的应用程序输出的日志信息。其中,第一日志信息中可以包括设备名称、日志输出时间、日志输出进程号和日志内容等。
本申请实施例中,第一命名管道可以用于收集主设备中的不同进程输出的第一日志信息,以方便将主设备中的各进程输出的日志信息统一存储至主设备的第一日志缓冲区,从而可以方便主设备对集群系统中的日志信息进行统一管理,提高集群系统的日志管理效率。在一种可能的实现方式中,主设备可以通过统一的日志打印接口,将各进程输出的第一日志信息统一存储至主设备的第一命名管道。其中,统一的日志打印接口可以为前述所述的日志打印函数umprintf()。
S302、主设备获取从设备的第二日志信息,并将第一日志信息存储至主设备的第一命名管道。
类似的,在从设备运行时,从设备中的系统和/或应用程序等可以实时输出日志信息,以方便后续分析系统和/或应用程序的故障等问题。因此,第二日志信息可以为从设备中的系统输出的日志信息,也可以为从设备中的应用程序输出的日志信息。同样的,第二日志信息可以包括设备名称、日志输出时间、日志输出进程号和日志内容等。
本申请实施例中,主设备中可以创建有套接字(socket)通道,以通过socket通道来监听从设备的请求。当监听到某一从设备的连接请求时,主设备可以启动主设备的第二预设进程(即主设备中的rmtlogd进程)来接收从设备发送的第二日志信息。示例性的,主设备可以创建第二预设进程对应的线程来接收第二日志信息,并可以接收完毕后,退出该线程。
示例性的,从设备在运行时,可以先将从设备中的系统或者应用程序输出的第二日志信息存储至从设备的第二日志缓冲区。同时,从设备可以查找主设备的信息,并请求与主设备建立连接。主设备监听到从设备的连接请求时,可以建立与从设备的连接,并启动主设备的第二预设进程(即主设备中的rmtlogd进程)。当从设备与主设备建立连接后,从设备可以读取第二日志缓冲区中的第二日志信息,并可以将第二日志信息发送给主设备。示例性的,从设备可以通过第四预设进程(即从设备中的rmtlogd进程)读取第二日志缓冲区中的第二日志信息,并通过第四预设进程将第二日志信息发送给主设备中的第二预设进程(即主设备中的rmtlogd进程)。主设备可以通过第二预设进程将第二日志信息写入主设备的第一命名管道。
S303、主设备通过第一预设进程将第一命名管道中的第一日志信息和第二日志信息存储至第一日志缓冲区。
可以理解的是,主设备可以通过第一预设进程(即主设备中的logd进程)将第一命名管道中的第一日志信息和/或第二日志信息统一读取至主设备的第一日志缓冲区。其中,主设备在将第一日志信息和/或第二日志信息存储至第一日志缓冲区时,可以按照时间先后进行有序存储。示例性的,主设备可以获取第一日志信息对应的第一时间和第二日志信息对应的第二时间,以根据第一时间和第二时间将第一日志信息和/或第二日志信息存储至第一日志缓冲区。其中,第一时间可以为第一日志信息中包含的日志输出时间,第二时间可以为第二日志信息中包含的日志输出时间。
因此,当用户想要方便分析集群系统间耦合发生的故障等问题时,用户可以打印主设备的第一日志缓冲区中的内容,以得到集群系统的日志信息,即得到主设备的第一日志信息和所有从设备的第二日志信息,方便用户快速定位集群系统的故障等问题。
通过上述的方法,主设备可以获取从设备发送的第二日志信息,并将第二日志信息存储至主设备的第一命名管道。同时,主设备可以获取自身输出的第一日志信息,并将第一日志信息存储至第一命名管道。随后,主设备可以通过预设进程将第一命名管道中的第一日志信息和第二日志信息存储至主设备的第一日志缓冲区,以通过主设备对集群系统中的各设备输出的日志信息(包括各设备的系统输出的日志信息和各设备中的应用程序输出的日志信息)进行统一管理,可以有效提高管理效率。而且,用户可以直接通过主设备的第一日志缓冲区,来得到集群系统中所有设备的日志信息,从而可以方便、快速地对集群系统进行故障等问题的分析,提高用户体验。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的日志管理方法,图4示出了本申请实施例提供的日志管理装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
请参阅图4,所述日志管理装置,可以应用于集群系统,所述集群系统包括主设备和从设备,所述主设备中设置有第一命名管道和第一日志缓冲区,所述装置可以包括:
第一日志信息获取模块401,用于获取自身的第一日志信息,并将所述第一日志信息存储至所述第一命名管道;
第二日志信息获取模块402,用于获取所述从设备的第二日志信息,并将所述第二日志信息存储至所述第一命名管道;
日志信息存储模块403,用于通过第一预设进程将所述第一命名管道中的第一日志信息和第二日志信息存储至所述第一日志缓冲区。
示例性的,所述第一日志信息为所述主设备的系统对应的日志信息,或者为所述主设备中的应用程序对应的日志信息。
示例性的,所述第二日志信息为所述从设备的系统对应的日志信息,或者为所述从设备中的应用程序对应的日志信息。
在一种可能的实现方式中,所述第二日志信息获取模块402,可以包括:
第二日志信息获取单元,用于通过第二预设进程获取所述从设备的第四预设进程发送的所述第二日志信息,所述第四预设进程用于从所述从设备的第二日志缓冲区获取所述第二日志信息;
第二日志信息存储单元,用于通过所述第二预设进程将所述第二日志信息存储至所述第一命名管道。
示例性的,所述装置还可以包括:
日志信息输出模块,用于获取日志输出指令,并根据所述日志输出指令输出所述第一日志信息和所述第二日志信息。
在一种可能的实现方式中,所述日志信息存储模块403,可以包括:
时间获取单元,用于获取所述第一日志信息对应的第一时间和所述第二日志信息对应的第二时间;
日志信息存储单元,用于通过所述第一预设进程将所述第一日志信息和所述第二日志信息存储至所述第一日志缓冲区,其中,所述第一日志信息和所述第二日志信息在所述第一日志缓冲区中的存储顺序根据所述第一时间和所述第二时间来确定。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参阅图5,图5示出了本申请实施例提供的电子设备的结构示意图。如图5所示,电子设备5可以包括:至少一个处理器50(图5中仅示出一个)、存储器51、存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现上述任意各个日志管理方法实施例中的步骤。
电子设备可以包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是电子设备5的举例,并不构成对电子设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所述处理器50可以是中央处理单元(central processing unit,CPU),该处理器50还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51在一些实施例中可以是所述电子设备5的内部存储单元,例如电子设备5的硬盘或内存。所述存储器51在另一些实施例中也可以是所述电子设备5的外部存储设备,例如所述电子设备5上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,所述存储器51还可以既包括所述电子设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被计算机执行时,使所述计算机实现上述任意各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备实现上述任意各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质至少可以包括:能够将计算机程序代码携带到装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,ROM)、随机存取存储器(random accessmemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种日志管理方法,其特征在于,应用于集群系统,所述集群系统包括主设备和从设备,所述主设备中设置有第一命名管道和第一日志缓冲区,所述方法包括:
所述主设备获取自身的第一日志信息,并将所述第一日志信息存储至所述第一命名管道;
所述主设备获取所述从设备的第二日志信息,并将所述第二日志信息存储至所述第一命名管道;
所述主设备通过第一预设进程将所述第一命名管道中的第一日志信息和第二日志信息存储至所述第一日志缓冲区。
2.根据权利要求1所述的方法,其特征在于,所述第一日志信息为所述主设备的系统对应的日志信息,或者为所述主设备中的应用程序对应的日志信息。
3.根据权利要求1所述的方法,其特征在于,所述第二日志信息为所述从设备的系统对应的日志信息,或者为所述从设备中的应用程序对应的日志信息。
4.根据权利要求1所述的方法,其特征在于,所述主设备获取所述从设备的第二日志信息,并将所述第二日志信息存储至所述第一命名管道,包括:
所述主设备通过第二预设进程获取所述从设备的第四预设进程发送的所述第二日志信息,所述第四预设进程用于从所述从设备的第二日志缓冲区获取所述第二日志信息;
所述主设备通过所述第二预设进程将所述第二日志信息存储至所述第一命名管道。
5.根据权利要求1所述的方法,其特征在于,在所述主设备通过第一预设进程将所述第一命名管道中的第一日志信息和第二日志信息存储至所述第一日志缓冲区之后,所述方法还包括:
所述主设备获取日志输出指令,并根据所述日志输出指令输出所述第一日志信息和所述第二日志信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述主设备通过第一预设进程将所述第一命名管道中的第一日志信息和第二日志信息存储至所述第一日志缓冲区,包括:
所述主设备获取所述第一日志信息对应的第一时间和所述第二日志信息对应的第二时间;
所述主设备通过所述第一预设进程将所述第一日志信息和所述第二日志信息存储至所述第一日志缓冲区,其中,所述第一日志信息和所述第二日志信息在所述第一日志缓冲区中的存储顺序根据所述第一时间和所述第二时间来确定。
7.一种日志管理装置,其特征在于,应用于集群系统,所述集群系统包括主设备和从设备,所述主设备中设置有第一命名管道和第一日志缓冲区,所述装置包括:
第一日志信息获取模块,用于获取自身的第一日志信息,并将所述第一日志信息存储至所述第一命名管道;
第二日志信息获取模块,用于获取所述从设备的第二日志信息,并将所述第二日志信息存储至所述第一命名管道;
日志信息存储模块,用于通过第一预设进程将所述第一命名管道中的第一日志信息和第二日志信息存储至所述第一日志缓冲区。
8.根据权利要求7所述的装置,其特征在于,所述日志信息存储模块,包括:
时间获取单元,用于获取所述第一日志信息对应的第一时间和所述第二日志信息对应的第二时间;
日志信息存储单元,用于通过所述第一预设进程将所述第一日志信息和所述第二日志信息存储至所述第一日志缓冲区,其中,所述第一日志信息和所述第二日志信息在所述第一日志缓冲区中的存储顺序根据所述第一时间和所述第二时间来确定。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述电子设备实现如权利要求1至6中任一项所述的日志管理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被计算机执行时,使所述计算机实现如权利要求1至6中任一项所述的日志管理方法。
CN202111427817.3A 2021-11-26 2021-11-26 日志管理方法、装置、电子设备及计算机可读存储介质 Pending CN114218000A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111427817.3A CN114218000A (zh) 2021-11-26 2021-11-26 日志管理方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111427817.3A CN114218000A (zh) 2021-11-26 2021-11-26 日志管理方法、装置、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114218000A true CN114218000A (zh) 2022-03-22

Family

ID=80698706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111427817.3A Pending CN114218000A (zh) 2021-11-26 2021-11-26 日志管理方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114218000A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174249A (zh) * 2022-07-18 2022-10-11 湖北天融信网络安全技术有限公司 安全日志的处理方法及电子设备、存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174249A (zh) * 2022-07-18 2022-10-11 湖北天融信网络安全技术有限公司 安全日志的处理方法及电子设备、存储介质

Similar Documents

Publication Publication Date Title
CN109213611B (zh) 跨进程通讯方法、装置、终端及存储介质
US8375200B2 (en) Embedded device and file change notification method of the embedded device
CN108038112B (zh) 文件处理方法、移动终端及计算机可读存储介质
CN110825731B (zh) 数据存储方法、装置、电子设备及存储介质
CN112162965A (zh) 一种日志数据处理的方法、装置、计算机设备及存储介质
CN109218393B (zh) 一种推送的实现方法、装置、设备和计算机存储介质
CN112328448A (zh) 基于Zookeeper的监控方法、监控装置、设备及存储介质
CN116561146A (zh) 数据库日志记录方法、装置、计算机设备及计算机可读存储介质
CN112100239A (zh) 车辆检测设备画像生成方法、装置、服务器及可读存储介质
CN109347899B (zh) 在分布式存储系统中写入日志数据的方法
CN114218000A (zh) 日志管理方法、装置、电子设备及计算机可读存储介质
CN111625532A (zh) 数据血缘关系处理方法、装置、计算机设备及存储介质
CN107861821B (zh) 模块调用关系的挖掘方法、装置及计算机可读介质
CN112506490A (zh) 一种接口生成方法、装置、电子设备及存储介质
CN112328272B (zh) 算法升级方法、装置、设备及存储介质
CN112100092B (zh) 一种信息缓存方法、装置、设备及介质
CN111913861A (zh) 物联网系统的性能测试方法、装置、设备及介质
CN115016890A (zh) 虚拟机资源分配方法、装置、电子设备及存储介质
CN112364268A (zh) 资源获取方法、装置、电子设备及存储介质
CN111209248A (zh) 边缘计算服务器及边缘计算方法
US11580006B2 (en) Annotated deterministic trace abstraction for advanced dynamic program analysis
CN114466062B (zh) 消息分发方法和装置
CN114584616B (zh) 一种消息推送方法、装置、电子设备及存储介质
CN112468829B (zh) 缓存视频的共享方法、电子设备及计算机可读存储介质
CN112947984B (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