CN117349080A - 日志管理方法、装置、电子设备及存储介质 - Google Patents

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

Info

Publication number
CN117349080A
CN117349080A CN202311096386.6A CN202311096386A CN117349080A CN 117349080 A CN117349080 A CN 117349080A CN 202311096386 A CN202311096386 A CN 202311096386A CN 117349080 A CN117349080 A CN 117349080A
Authority
CN
China
Prior art keywords
log
target
management process
log management
state
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
CN202311096386.6A
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.)
Guangzhou Automobile Group Co Ltd
Original Assignee
Guangzhou Automobile Group 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 Guangzhou Automobile Group Co Ltd filed Critical Guangzhou Automobile Group Co Ltd
Priority to CN202311096386.6A priority Critical patent/CN117349080A/zh
Publication of CN117349080A publication Critical patent/CN117349080A/zh
Pending legal-status Critical Current

Links

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Landscapes

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

Abstract

本申请提供了一种日志管理方法、装置、电子设备及存储介质,该方法包括:获取目标日志,并确定所述目标日志对应的日志管理进程的当前状态;若所述日志管理进程的当前状态为异常状态,则检测所述日志管理进程对应的日志缓冲区的使用状态;若在第一预设时长内持续检测到所述日志缓冲区的使用状态为占满状态,则确定所述日志管理进程出现异常阻塞;对所述日志管理进程进行重启,并对所述日志管理进程进行加锁。本申请能够解决日志管理进程发生异常阻塞导致的对目标日志无法进行管理的情况,并且通过对日志管理进程进行加锁,避免多次拉起同一进程,保证了日志管理进程能够灵活的、正常的对目标日志进行管理。

Description

日志管理方法、装置、电子设备及存储介质
技术领域
本申请涉及日志文件管理技术领域,更具体地,涉及一种日志管理方法、装置、电子设备及存储介质。
背景技术
随着科技的发展,嵌入式系统被大量应用于社会的各个领域,如教育、娱乐、国防等,嵌入式开发成为现代计算机软件产业的重要方向。嵌入式系统的硬件资源由于非常精简,因而该嵌入式系统的日志输出不能和大型机一样,有海量的存储介质,只能将关键信息存储在嵌入式系统容量有限的闪存等存储单元上。当开发、维护人员需要察看日志时,需要另外安装特殊设备,如串口设备,日志服务器等。同时,嵌入式系统中往往采用LINUX系统,该LINUX系统会存在两种状态:内核态和用户态。现有的日志功能模块往往只能对用户态进行控制,或需要对内核态和用户态的日志进行分布控制及管理。其在嵌入式系统的研发、维护和使用过程中,即使日志输出环境存在差异,也只能依靠单一的日志输出模式,而不能根据环境灵活切换和配置各种日志输出模式,例如串口输出模式,文件输出模式,网络输出模式等。因此,如何灵活的对日志进行管理成为亟待解决的问题。
发明内容
有鉴于此,本申请实施例提出了一种日志管理方法、装置、电子设备及存储介质,以改善上述问题。
根据本申请实施例的第一个方面,提供了一种日志管理方法,所述方法包括:获取车联网数据;获取目标日志,并确定所述目标日志对应的日志管理进程的当前状态;若所述日志管理进程的当前状态为异常状态,则检测所述日志管理进程对应的日志缓冲区的使用状态;若在第一预设时长内持续检测到所述日志缓冲区的使用状态为占满状态,则确定所述日志管理进程出现异常阻塞;对所述日志管理进程进行重启,并对所述日志管理进程进行加锁。
根据本申请实施例的第二个方面,提供了一种日志管理装置,所述装置包括:当前状态确定模块,用于获取目标日志,并确定所述目标日志对应的日志管理进程的当前状态;使用状态确定模块,用于若所述日志管理进程的当前状态为异常状态,则检测所述日志管理进程对应的日志缓冲区的使用状态;异常确定模块,用于若在第一预设时长内持续检测到所述日志缓冲区的使用状态为占满状态,则确定所述日志管理进程出现异常阻塞;管理模块,用于对所述日志管理进程进行重启,并对所述日志管理进程进行加锁。
根据本申请实施例的第三个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上所述日志管理方法。
根据本申请实施例的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述日志管理方法。
在本申请的方案中,先确定目标日志对应的日志管理进程的当前状态,基于当前状态确定日志管理进程是否为异常状态,并在日志管理进程处于异常状态时,通过检测日志管理进程对应的日志缓冲区的使用状态来确定日志管理进程是否出现异常阻塞,在确定第一预设时长内所持续检测到日志缓冲区的使用状态均为占满状态时,可确定日志管理进程出现异常阻塞,进而通过对日志管理进程重启,并对日志管理进程进行加锁,以此解决日志管理进程发生异常阻塞导致的对目标日志无法进行管理的情况,并且通过对日志管理进程进行加锁,避免多次拉起同一进程,避免多次拉起同一进程,保证了日志管理进程能够灵活的、正常的对目标日志进行管理。
应当理解的是,以上的一般描述和后文细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请一实施例示出的日志管理方法的流程示意图。
图2是根据本申请另一实施例示出的日志管理方法的流程示意图。
图3是根据本申请一实施例示出的步骤260的具体步骤的流程示意图。
图4是根据本申请一实施例示出的步骤261之后的具体步骤的流程示意图。
图5是根据本申请另一实施例示出的日志管理方法的流程示意图。
图6是根据本申请还一实施例示出的日志管理方法的流程示意图。
图7是根据本申请一实施例示出的日志管理装置的框图。
图8是根据本申请一实施例示出的电子设备的硬件结构图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限值本发明构思的范围,而是通过特定实施例为本领域计算书人员说明本发明的概念。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
请参阅图1,图1示出了本申请一实施例提供的日志管理方法,在具体的实施例中,该日志管理方法可以应用于如图7所示的日志管理装置500以及配置有日志管理装置500的电子设备600(图8)。下面将说明本实施例的具体流程,当然,可以理解的,该方法可以由具备计算处理能力的云服务器执行。下面将针对图1所示的流程进行详细的阐述,所述日志管理方法具体可以包括以下步骤:
步骤110,获取目标日志,并确定所述目标日志对应的日志管理进程的当前状态。
作为一种方式,车辆的远程通信终端(Telematics Box,T-Box)通过CAN以及以太网与整车进行通信,实时获取包括车辆的日志,日志文件用于记录车辆的各种运行信息的文件,不同的日志文件记载了不同类型的信息,日志可以包括行车日志、操作日志等,日志文件对于车辆的故障诊断具有重大意义。可选的,可通过在与T-Box通信连接的电子设备上发送获取指令至T-Box来获取目标日志,其中,与T-Box通信连接的电子设备可以是平板电脑、智能手机、云端服务器、笔记本电脑以及智能穿戴设备等,电子设备可响应获取目标日志的操作发送获取指令至T-Box,以此T-Box能够获取目标日志。
可选的,目标日志可以是基于用户或调试人员预先设定的目标日志类型对应的日志,也可以是基于用户或调试人员预先设定的目标时间对应的日志。
作为一种方式,由日志管理进程对目标日志进行管理,即通过日志观礼进程对目标日志进行存储、上传、导出等管理。若日志管理进程出现异常启动或异常崩溃或者异常阻塞时,对于日志的管理也出现异常(例如无法对日志进行保存),由于日志管理进程出现异常启动或异常崩溃时,可通过linux的ps命令检测异常,并重新拉起该日志管理进程来解决,但是当日志管理进程出现异常阻塞时,无法linux的ps命令检测异常,并且进程存在无法重新拉起该日志管理进程来解决,因此,可先确定日志管理进程是否处于异常状态,进而确定日志管理进程所发生的异常的类型,以此基于异常的类型来对日志管理进行修复以此对日志进行管理。可选的,可通过根据日志管理进程的当前状态来确定日志管理进程是否为异常状态,其中,日志管理进程的当前状态可以是通过确定日志管理进程的运行报文来确定。
步骤120,若所述日志管理进程的当前状态为异常状态,则检测所述日志管理进程对应的日志缓冲区的使用状态。
作为一种方式,当日志管理进程的当前状态指示日志管理处于异常状态,可以通过确定日志管理进程的日志缓冲区的使用状态来确定日志管理进程是否发生异常阻塞。其中,日志缓冲区将目标日志对应的日志数据在写入对应的磁盘之前在缓冲区进行临时存储。
步骤130,若在第一预设时长内持续检测到所述日志缓冲区的使用状态为占满状态,则确定所述日志管理进程出现异常阻塞。
作为一种方式,在日志管理进程正常工作时,对应的日志缓冲区在持续进行读写操作来临时存储目标日志对应的日志数据,进而日志管理进程对应的日志缓冲区会随着读写操作的进行对应的内存大小会不断发生变化,因此,可以通过检测日志管理进程的日志缓冲区的大小来确定日志管理进程是否出现异常阻塞。
可选的,当日志管理进程的日志缓冲区在持续一定时长内的大小保持不变时可确定日志管理进程出现异常阻塞,即可确定在第一预设时长内持续检测到日志缓冲区的大小未发生改变,即可确定日志缓冲区的使用状态为占满状态,以此确定日志管理进程异常阻塞。可选的,第一预设时长可以是3s,也可以是其他时长,可根据实际需要来设置,在此不做具体限定。可选的,可按照预设周期对日志缓冲区的大小进行检测,以此确定日志缓冲区是否在第一预设时长内持续为占满状态。
步骤140,对所述日志管理进程进行重启,并对所述日志管理进程进行加锁。
作为一种方式,在确定日志管理进程出现异常阻塞时,可通过对日志管理进程进行重启解决日志管理进程的异常阻塞。可选的,在对日志管理进程进行重启之前,先对日志管理进程进行关闭再重新拉起该日志管理进程,并且在重启该日志管理进程时对该目标日志进行加锁,以此避免多次拉起同一进程。
在本申请的实施例中,先确定目标日志对应的日志管理进程的当前状态,基于当前状态确定日志管理进程是否为异常状态,并在日志管理进程处于异常状态时,通过检测日志管理进程对应的日志缓冲区的使用状态来确定日志管理进程是否出现异常阻塞,在确定第一预设时长内所持续检测到日志缓冲区的使用状态均为占满状态时,可确定日志管理进程出现异常阻塞,进而通过对日志管理进程重启,并对日志管理进程进行加锁,以此解决日志管理进程发生异常阻塞导致的对目标日志无法进行管理的情况,并且通过对日志管理进程进行加锁,避免多次拉起同一进程,保证了日志管理进程能够灵活的、正常的对目标日志进行管理。
请参阅图2,图2示出了本申请一实施例提供的日志管理方法。下面将针对图2所示的流程进行详细的阐述,所述日志管理方法具体可以包括以下步骤:
步骤210,获取目标日志,并确定所述目标日志对应的日志管理进程的当前状态。
步骤220,若所述日志管理进程的当前状态为异常状态,则检测所述日志管理进程对应的日志缓冲区的使用状态。
步骤230,若在第一预设时长内持续检测到所述日志缓冲区的使用状态为占满状态,则确定所述日志管理进程出现异常阻塞。
步骤240,对所述日志管理进程进行重启,并对所述日志管理进程进行加锁。
其中,步骤210-步骤240的具体步骤描述可参阅步骤110-步骤140,在此不再进行赘述。
步骤250,若所述日志管理进程的当前状态从所述异常状态切换为正常状态,则确定所述日志管理进程中是否存在日志配置文件。
作为一种方式,在对日志管理进程进行重启后,在此确定日志管理进程是否仍处于异常状态,以此便于在确定日志管理进程的当前状态从异常状态切换至正常状态时能够对目标日志进行管理。
作为一种方式,通过日志管理进程对目标日志进行管理之前,需要确定日志管理进程中的是否存在日志配置文件,该日志配置文件中可包括对目标日志进行管理的相关参数,可包括是否开启日志功能、需要保存的日志等级、单个日志文件最大内存、总日志文件最大内存、日志上传URL等相关日志配置参数。
可选的,可预先针对不同类型的日志设置对应的日志配置文件,并针对日志类型和对应的日志配置文件设置对应的标识信息,得到日志类型与日志配置文件之间的对应关系,在确定目标日志的日志类型后,基于目标日志的日志类型和日志类型与日志配置文件之间的对应关系来确定是否存在日志配置文件。
可选的,日志配置文件还可以是用户或调试人员在电子设备上选择的需要在目标日志中进行显示的参数所生成的日志配置文件,可通过确定车辆是否接收到电子设备所发送的日志配置文件或目标配置参数来确定日志管理进程中是否存在日志配置文件。
步骤260,若确定存在所述日志配置文件,则从所述日志配置文件中获取日志配置信息,并根据所述日志配置信息对所述目标日志进行管理。
作为一种方式,在确定存在日志配置文件时,可通过对日志配置文件进行解析来获取日志配置文件中的日志配置信息,以此便于根据日志配置信息对目标日志进行管理。
作为另一种方式,在获取目标配置文件的配日志配置信息之前,可先获取默认配置信息,在获取到日志配置文件中的日志配置信息后,根据日志配置信息对默认配置信息进行修改。
可选的,可基于日志配置信息中所指示的目标日志的存储路径、目标日志的存储格式、目标日志的大小以及目标日志的日志等级等对目标日志进行管理。
在一些实施例中,所述日志配置信息包括目标日志等级,如图3所示,所述步骤260包括:
步骤261,确定所述目标日志对应的当前日志等级。
作为一种方式,可预先针对不同类型的日志设置不同的日志等级,不同日志等级对应的日志的重要程度不同,每个日志等级分别提供不同接口以此对不同日志等级的日志进程管理,不同日志等级的日志的管理方法也可不同。
可选的,可通过确定目标日志中日志等级标识来确定目标日志对应的当前日志等级,也可以根据目标日志的日志类型来确定目标日志的当前日志等级。
在一些实施例中,如图4所示,在所述步骤261之后,还包括:
步骤310,若确定所述日志缓冲区处于占满状态且所述目标日志的日志数据未读取完成,则生成第一锁止信号,并根据第一锁止信号对所述日志缓冲区的写入操作进行禁止。
作为一种方式,在对目标日志进行管理时,可根据日志配置文件中所示指示的保存日志数据暂时保存至日志缓冲区,其他日志数据则可直接输出至debug端口,由用户或调试人员根据debug端口输出的日志数据进行查看以及调试。而可通过读取日志数据将保存日志数据暂存于日志缓冲区中,通过写入操作将缓冲区中的保存日志数据存储于日志配置信息中对应的磁盘中,以此对日志数据进行存储。
作为一种方式,由于日志缓冲区的存储大小有限,为了避免当日志缓冲区无法再对日志数据进行存储导致数据丢失,可在确定日志缓冲区处于占满状态且目标日志的日式数据并未全部存储于日志缓冲区时(即日志缓冲区无法再进行数据存储但日志数据还未存储完成时),此时,为了使得日志缓冲区能够继续工作,可生成第一锁止信号,该第一锁止信号用于指示日志缓冲区当前无法再写入数据,以此基于第一锁止信号将日志缓冲区的写入操作进行禁止锁定,避免由于日志缓冲区无法再进行写入数据导致的日志数据的丢失。
步骤320,对所述日志缓冲区的数据进行读取,并将读取到的数据写入所述目标日志对应的文件进行存储。
作为一种方式,在禁止日志缓冲区的输入写入操作后,为了释放日志缓冲区的存储资源,可将临时存放于日志缓冲区的数据进行读取,并将读取到的日志数据写入至目标日志对应的文件中进行存储。可选的,目标日志对应的文件可以是在目标日志的日志配置文件中所指示的目标日志的存储磁盘中用于存放日志数据的文件。
步骤330,当所述日志缓冲区的数据全部清空时,生成第二锁止信号,并根据所述第二锁止信号对所述日志缓冲区的读取操作进行禁止。
作为一种方式,当确定日志缓冲区中的数据全部被读取并写入至慕白哦日志对应的文件中后,将日志缓冲去中的数据进行删除,以此释放日志缓冲区的存储资源,进而确定日志缓冲区的数据全部清空,此时,可生成第二锁止信号,该第二锁止信号用于指示日志缓冲区当前可写入数据,但为了避免写入数据与读取数据同时进行导致的日志缓冲区被占满后无法对日志数据进行存储导致的日志数据丢失。
步骤340,对所述目标日志的剩余日志数据写入至所述日志缓冲区。
作为一种方式,在将读取操作进行禁止后,基于写入操作将目标日志的剩余数据写入至日志缓冲区中,直至日志缓冲区被占满(即无法再进行存储)时,重复步骤310-步骤330的操作,以此形成循环,进而避免在日志缓冲区被占满后目标日志的日志数据会发生丢失的情况。
在另一些实施例中,可设置一环形缓冲区作为日志缓冲区,日志缓冲区的容量(长度)设定为固定值,也可以用一个静态数组来作为日志缓冲区,无需重复申请内存,以此减少了内存资源损耗,目标日志的日志数据可通过index下标进行读写,当一个数据元素被读取出后,其余数据元素不需要移动其存储位置,仅需增减相应的index下标数值即可,以此减低了日志管理进程的资源占用。可选的,在读写操作的时候还会加上互斥锁,避免操作数据覆盖。
请继续参阅图3,步骤262,若所述当前日志等级大于或等于所述目标日志等级,则将所述目标日志在所述日志缓冲区的日志数据进行存储。
作为一种方式,针对不同日志等级的日志设置不同的管理方法,为了保证日志等级高的日志对应的数据能够优先进行保存,可预先在日志配置文件中设置对应的优先进行保存的目标日志等级,然后将目标日志的当前日志等级和日志配置信息中的目标日志等级进行比较,以此在确定当前日志等级大于或等于目标日志等级时,将目标日志的日志数据存储与日志缓冲区。可选的,当确定当前日志等级大于或等于目标日志等级时,可在目标日志中添加进程tag标识、时间戳、进程ID、时间戳、进程ID、线程ID、文件名、函数名和行数等信息。
在一些实施例中,所述步骤262包括:检测所述日志管理进程对所述目标日志进行写入操作的当前文件夹;若所述当前文件夹在第二预设时长内的大小未发生改变,则对所述当前文件夹进行压缩,并新建目标文件夹;根据所述日志管理进程将所述目标日志写入所述目标文件夹进行存储。
作为一种方式,在将日志缓冲区的日志数据进行存储时,先确定日志管理进程将日志数据写入的文件夹,即确定日志管理进程对目标日志进行写入操作的当前文件夹。若检测到当前文件夹,则需要新建文件夹来存放目标日志的日志数据,若检测到当前文件夹后,可确定当前文件是否为文本格式的文件,若确定为文本格式的文件时,将目标日志的日志数据存放于的当前文件夹中;若确定不为文本格式的文件时,会创建以SN-VIN-TBOX-LOG-yyyymmdd_hhmmss.txt为格式的TXT文档,会定时300毫秒检测一次日志缓冲器,如果缓冲区里数据不为空,则将数据以追加的方式写入该文件。
作为一种方式,在对目标日志的日志数据写入进行存储时,可能会出现写入接口显示数据写入成功,但数据实际并未写入至当前文件夹中,为了保证目标日志的日志数据能够正常进行存储,可在第二预设时长内持续检测当前文件夹的大小,当确定在第二预设时长内当前文件夹的大小并未发生即可确定无法将目标日志的日志数据存储于当前文件夹中,以此可先将当前文件夹进行压缩,避免再将目标日志的日志数据存储于当前文件夹中,同时新建目标文件夹,以此将目标日志的日志数据存放于目标文件中。
可选的,可对当前文件夹进行压缩后,对压缩后的当前文件夹进行删除,以此减小日志管理进程的存储压力。
在另一些实施例中,当对目标日志的日志数据进行存储时,可能会因为对目标日志的日志数据进行保存导致日志管理进程无法休眠或休眠异常,可在日志管理进程进行休眠之前将目标日志的日志数据保存操作进行关闭,并捅死确定目标日志的操作索引,以此在日志管理进程被唤醒后能够根据该操作索引重新对目标日志的日志数据的保存进行操作。可选的,还可能因为日志管理进程在启动或被唤醒后由于嵌入式多媒体卡异常,导致嵌入式多媒体卡分区挂载失败,进而导致无法对目标日志进行管理,为了解决这个问题,在检测到嵌入式多媒体卡出现分区异常后,重新卸载该嵌入式多媒体卡并再次进行挂载分区,以此进行重复,若在重复多次后还是检测到嵌入式多媒体卡异常,可对日志管理进程进行重启。
在还一些实施例中,用于存储目标日志对应的日志数据的当前文件夹存在最大内存,当日志数据的大小大于该最大内存后,可先将当前文件夹进行压缩,以此将当前文件夹进行删除来减小日志管理进程的存储压力。可选的,在日志管理进程中内存无法再存储新的压缩文件或日志数据后,可根据压缩文件的创建时间来进行删除,以此将创建时间最早的压缩文件进行删除。
步骤263,若所述当前日志等级小于所述目标日志等级,则将所述目标日志输出至调试端口,以根据所述目标日志进行调试。
作为一种方式,在确定当前日志等级小于目标日志等级时,可确定目标日志可直接输出至调式端口,以此使得用户或调试人员能够直接根据目标日志进行调试。可选的,当确定当前日志等级小于目标日志等级时,可在目标日志中添加进程tag标识、时间戳和进程ID等信息。
请继续参阅图2,步骤270,若确定不存在所述日志配置文件,则获取默认的默认配置信息,并根据所述默认配置信息对所述目标日志进行管理。
作为一种方式,在确定不存在日志配置文件,可在本地数据库中获取默认的默认配置信息,以此便于在不存在日志配置文件时基于默认配置信息对目标日志进行管理。
在一些实施例中,在所述步骤270之后,还包括:获取目标配置参数,所述目标配置参数为云端服务器存储的配置参数;根据所述目标配置参数对所述默认配置信息进行修改,得到目标配置信息;根据所述目标配置信息对所述目标日志进行管理。
作为一种方式,可通过修改获取的默认参数来确定对目标日志进行管理的目标配置信息,以此便于基于目标配置信息对目标日志进行管理。可选的,用户可在电子设备上对默认配置信息进行修改,以此得到目标配置参数,然后由电子设备将修改后的目标配置参数上传至云端服务器,以此日志管理进程在对目标日志进行管理时,以此从云端服务器中获取目标配置参数。
可选的,在获取到目标配置参数后,将默认配置信息中的默认配置参数替换为目标配置参数,以此得到目标配置信息,进而能够通过目标配置信息对目标日志进行管理。
在本实施例中,在日志管理进程处于正常状态时确定是否存在日志配置文件,当存在日志配置文件时,获取日志文件中日志配置信息,通过日志配置信息来对目标日志进行管理,而在确定不存在日志配置文件时,获取默认的默认配置信息,通过默认配置信息来对目标日志进行管理,保证了日志管理进程能够对目标日志正常地进行管理。
请参阅图5,图5示出了本申请一实施例提供的日志管理方法。下面将针对图5所示的流程进行详细的阐述,所述日志管理方法具体可以包括以下步骤:
步骤410,获取目标日志,并确定所述目标日志对应的日志管理进程的当前状态.
步骤420,若所述日志管理进程的当前状态为异常状态,则检测所述日志管理进程对应的日志缓冲区的使用状态。
步骤430,若在第一预设时长内持续检测到所述日志缓冲区的使用状态为占满状态,则确定所述日志管理进程出现异常阻塞。
步骤440,对所述日志管理进程进行重启,并对所述日志管理进程进行加锁。
其中,步骤410-步骤440的具体步骤描述可参阅步骤110-步骤140,在此不再进行赘述。
步骤450,若接收到日志导出指令,则根据所述日志导出指令确定当前日志目录。
作为一种方式,日志导出指令可以是电子设备基于用户的导出日志的选择操作所发送给车辆的日志导出指令,并由车辆的电子控制单元将该日志导出指令转发至日志管理进程,以此在日志管理进程接收到该日志导出指令后,根据日志导出指令确定当前日志目录。
可选的,日志导出指令可包括用户所选择查看的日志对应的日志目录,进而,能够根据日志导出指令确定当前日志目录。
步骤460,将所述当前日志目录对应的日志数据进行压缩,得到目标压缩文件。
作为一种方式,在确定当前日志目录后,获取当前日志目录对应的日志数据,以此将当前日志目录的日志数据进行压缩,得到目标压缩文件。
步骤470,将所述目标压缩文件上传所述日志导出指令所指示的目标路径,并基于所述目标路径将所述目标压缩文件进行导出。
作为一种方式,在日志导出指令中包括目标路径,该目标路径为目标压缩文件的存储位置,将目标压缩文件存储至目标路径所指示的存储位置中,以便于用户能够直接在目标路径中将目标压缩文件进行导出。
在本实施例中,通过在确定接收到日志导出指令后,将日志导出指令确定当前日志目录,并根据当前日志目录确定需要进行导出的日志数据,然后将该导出日志进行压缩,以此得到目标压缩文件,进而将目标压缩文件上传至日志导出指令所指示的目标路径,最后能够基于目标路径将目标压缩文件进行导出,提高了日志导出的效率和准确率。
请参阅图6,图6示出了本申请一实施例提供的日志管理方法。如图6所示,该方法可应用于日志管理系统,该日志管理系统可包括日志配置模块、日志优先级管理模块、日志输入模块、日志输出模块、日志保存模块、日志压缩模块、日志删除模块、日志导出模块、日志上传模块。其中,日志优先级管理模块、日志输入模块以API库的形式提供给到各应用进程使用,剩余模块由日志管理进程统一统筹。在日志管理系统上电后,日志管理进程优先启动,进行一系列初始化工作,然后各功能应用进程再启动,调用日志API库,实现日志的优先级管理、日志输入、日志输出、日志保存、日志压缩、日志删除、日志导出、日志上传功能。日志管理进程启动后,先进行初始化,初始化完成后确定日志缓冲区是否初始化,在日志缓冲区初始化完成后,初始化共享内存,然后读取日志配置文件,确定是否存在日志配置文件,在确定存在日志配置文件时,获取配置文件信息,基于配置文件信息对日志进行管理;若确定不存在日志配置文件时,获取默认配置参数写入配置文件,以此根据默认配置参数对应的配置文件对日志进行管理。
通过日志检测进程检测确定日志管理进程是否休眠,在日志管理进程处于唤醒状态时,确定日志文件夹是否存在,若确定存在时确定日志文件夹占用内存;若确定不存在日志文件夹,则创建日志文件夹,然后确定日志文件夹占用内存,再确定日志文件夹的内存是否超过配置值限制,若确定超过,则删除最旧的日志文件夹,然后检测是否存在文档格式的文件;若确定未超过配置值限制,则检测是否存在文档格式的文件。当确定存在文档格式的文件时,检测文档格式的文件的占用内存,以此确定文档格式的文件是否超过配置值限制,在确定超过时,将文档格式的文件进行压缩并压缩至指定格式文件。
在日志管理进程获取到配置文件信息后,在延迟第三预设时长后,启动日志输出线程,通过日志输出进程检测确定日志管理进程是否休眠,在日志管理进程处于唤醒状态时,检测日志缓冲区是否为空,在确定不是日志缓冲区不为空时,检测是否存在文档格式的文件,在确定存在文档格式的文件时,对读写操作加互斥锁,然后将日志数据写入至文档格式的文件,最后释放读写互斥锁;若确定不存在文档格式的文件,则创建文档格式的文件,再进行对读写操作加互斥锁等操作。
在日志管理进程获取到配置文件信息后,启动日志导出线程,通过日志导出线程检测确定日志管理进程是否休眠,在日志管理进程处于唤醒状态时,检测是否接收到日志导出指令,在确定接收到日志导出指令时,将日志文件夹压缩为指定格式的压缩文件,然后将压缩文件上传至指定路径,确定压缩文件是否上传成功,若上传成功则反馈上传成功信息;若上传失败则反馈上传失败的信息,最后将该压缩文件进行删除。
在日志管理进程获取到配置文件信息后,启动日志上传线程,通过日志上传线程检测确定日志管理进程是否休眠,在日志管理进程处于唤醒状态时,检测是否接收到日志导出指令,并确定是否接收到日志列表上报指令,在确定接收到日志列表上报指令后,将日志列表上传至云端,然后确定云端是否接收到上传的日志列表,在确定云端接收到上传的日志列表后反馈选定的日志文件,并反馈日志上报指令,在接收到日志上传指令后,压缩云端选定的日志文件,然后上传压缩文件至云端服务器,确定压缩文件是否上传成功,若上传成功则反馈上传成功信息;若上传失败则反馈上传失败的信息,最后将该压缩文件进行删除。
图7是根据本申请一实施例示出的日志管理装置的框图,如图7所示,该日志管理装置500包括:当前状态确定模块510、使用状态确定模块520、异常确定模块530和处理模块540。
当前状态确定模块510,用于获取目标日志,并确定所述目标日志对应的日志管理进程的当前状态;使用状态确定模块520,用于若所述日志管理进程的当前状态为异常状态,则检测所述日志管理进程对应的日志缓冲区的使用状态;异常确定模块530,用于若在第一预设时长内持续检测到所述日志缓冲区的使用状态为占满状态,则确定所述日志管理进程出现异常阻塞;处理模块540,用于对所述日志管理进程进行重启,并对所述日志管理进程进行加锁。
在一些实施例中,所述日志管理装置500还包括:日志配置文件模块,用于若所述日志管理进程的当前状态从所述异常状态切换为正常状态,则确定所述日志管理进程中是否存在日志配置文件;第一管理模块,用于若确定存在所述日志配置文件,则从所述日志配置文件中获取日志配置信息,并根据所述日志配置信息对所述目标日志进行管理;第二管理模块,用于若确定不存在所述日志配置文件,则获取默认的默认配置信息,并根据所述默认配置信息对所述目标日志进行管理。
在一些实施例中,所述日志管理装置500还包括:目标配置参数获取模块,用于获取目标配置参数,所述目标配置参数为云端服务器存储的配置参数;目标配置信息确定模块,用于根据所述目标配置参数对所述默认配置信息进行修改,得到目标配置信息;第三管理模块,用于根据所述目标配置信息对所述目标日志进行管理。
在一些实施例中,所述日志配置信息包括目标日志等级,所述第一管理模块包括:当前日志等级确定子模块,用于确定所述目标日志对应的当前日志等级;第一存储子模块,用于若所述当前日志等级大于或等于所述目标日志等级,则将所述目标日志在所述日志缓冲区的日志数据进行存储;或者调试子模块,用于若所述当前日志等级小于所述目标日志等级,则将所述目标日志输出至调试端口,以根据所述目标日志进行调试。
在一些实施例中,所述第一管理模块还包括:第一锁止信号生成子模块,用于若确定所述日志缓冲区处于占满状态且所述目标日志的日志数据未读取完成,则生成第一锁止信号,并根据第一锁止信号对所述日志缓冲区的写入操作进行禁止;第二存储子模块,用于对所述日志缓冲区的数据进行读取,并将读取到的数据写入所述目标日志对应的文件进行存储;第二锁止信号生成子模块,用于当所述日志缓冲区的数据全部清空时,生成第二锁止信号,并根据所述第二锁止信号对所述日志缓冲区的读取操作进行禁止;数据写入子模块,用于对所述目标日志的剩余日志数据写入至所述日志缓冲区。
在一些实施例中,所述第一存储子模块包括:检测单元,用于检测所述日志管理进程对所述目标日志进行写入操作的当前文件夹;处理单元,用于若所述当前文件夹在第二预设时长内的大小未发生改变,则对所述当前文件夹进行压缩,并新建目标文件夹;存储单元,用于根据所述日志管理进程将所述目标日志写入所述目标文件夹进行存储。
在一些实施例中,所述日志管理装置500还包括:当前日志目录确定模块,用于若接收到日志导出指令,则根据所述日志导出指令确定当前日志目录;目标压缩文件确定模块,用于将所述当前日志目录对应的日志数据进行压缩,得到目标压缩文件;导出模块,用于将所述目标压缩文件上传所述日志导出指令所指示的目标路径,并基于所述目标路径将所述目标压缩文件进行导出。
根据本申请实施例的一个方面,还提供了一种电子设备,如图8所示,该车辆600包括处理器610以及一个或多个存储器620,一个或多个存储器620用于存储被处理器610执行的程序指令,处理器610执行程序指令时实施上述的日志管理方法。
进一步地,处理器610可以包括一个或者多个处理核。处理器610运行或执行存储在存储器620内的指令、程序、代码集或指令集,以及调用存储在存储器620内的数据。可选地,处理器610可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器610可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器中,单独通过一块通信芯片进行实现。
根据本申请的一个方面,本申请还提供了一种计算机可读存储介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载计算机可读指令,当该计算机可读存储指令被处理器执行时,实现上述任一实施例中的方法。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种日志管理方法,其特征在于,所述方法包括:
获取目标日志,并确定所述目标日志对应的日志管理进程的当前状态;
若所述日志管理进程的当前状态为异常状态,则检测所述日志管理进程对应的日志缓冲区的使用状态;
若在第一预设时长内持续检测到所述日志缓冲区的使用状态为占满状态,则确定所述日志管理进程出现异常阻塞;
对所述日志管理进程进行重启,并对所述日志管理进程进行加锁。
2.根据权利要求1所述的方法,其特征在于,在所述对所述日志管理进程进行重启,并对所述日志管理进程进行加锁之后,所述方法还包括:
若所述日志管理进程的当前状态从所述异常状态切换为正常状态,则确定所述日志管理进程中是否存在日志配置文件;
若确定存在所述日志配置文件,则从所述日志配置文件中获取日志配置信息,并根据所述日志配置信息对所述目标日志进行管理;
若确定不存在所述日志配置文件,则获取默认的默认配置信息,并根据所述默认配置信息对所述目标日志进行管理。
3.根据权利要求2所述的方法,其特征在于,在所述若确定不存在所述日志配置文件,则获取默认的默认配置信息之后,还包括:
获取目标配置参数,所述目标配置参数为云端服务器存储的配置参数;
根据所述目标配置参数对所述默认配置信息进行修改,得到目标配置信息;
根据所述目标配置信息对所述目标日志进行管理。
4.根据权利要求2所述的方法,其特征在于,所述日志配置信息包括目标日志等级,所述根据所述日志配置信息对所述目标日志进行管理,包括:
确定所述目标日志对应的当前日志等级;
若所述当前日志等级大于或等于所述目标日志等级,则将所述目标日志在所述日志缓冲区的日志数据进行存储;或者
若所述当前日志等级小于所述目标日志等级,则将所述目标日志输出至调试端口,以根据所述目标日志进行调试。
5.根据权利要求4所述的方法,其特征在于,在所述确定所述目标日志对应的当前日志等级之后,所述方法还包括:
若确定所述日志缓冲区处于占满状态且所述目标日志的日志数据未读取完成,则生成第一锁止信号,并根据第一锁止信号对所述日志缓冲区的写入操作进行禁止;
对所述日志缓冲区的数据进行读取,并将读取到的数据写入所述目标日志对应的文件进行存储;
当所述日志缓冲区的数据全部清空时,生成第二锁止信号,并根据所述第二锁止信号对所述日志缓冲区的读取操作进行禁止;
对所述目标日志的剩余日志数据写入至所述日志缓冲区。
6.根据权利要求4所述的方法,其特征在于,所述将所述目标日志在所述日志缓冲区的日志数据进行存储,包括:
检测所述日志管理进程对所述目标日志进行写入操作的当前文件夹;
若所述当前文件夹在第二预设时长内的大小未发生改变,则对所述当前文件夹进行压缩,并新建目标文件夹;
根据所述日志管理进程将所述目标日志写入所述目标文件夹进行存储。
7.根据权利要求1所述的方法,其特征在于,在所述对所述日志管理进程进行重启,并对所述日志管理进程进行加锁之后,所述方法还包括:
若接收到日志导出指令,则根据所述日志导出指令确定当前日志目录;
将所述当前日志目录对应的日志数据进行压缩,得到目标压缩文件;
将所述目标压缩文件上传所述日志导出指令所指示的目标路径,并基于所述目标路径将所述目标压缩文件进行导出。
8.一种日志管理装置,其特征在于,所述装置包括:
当前状态确定模块,用于获取目标日志,并确定所述目标日志对应的日志管理进程的当前状态;
使用状态确定模块,用于若所述日志管理进程的当前状态为异常状态,则检测所述日志管理进程对应的日志缓冲区的使用状态;
异常确定模块,用于若在第一预设时长内持续检测到所述日志缓冲区的使用状态为占满状态,则确定所述日志管理进程出现异常阻塞;
管理模块,用于对所述日志管理进程进行重启,并对所述日志管理进程进行加锁。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1至7任一项所述的方法。
CN202311096386.6A 2023-08-28 2023-08-28 日志管理方法、装置、电子设备及存储介质 Pending CN117349080A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311096386.6A CN117349080A (zh) 2023-08-28 2023-08-28 日志管理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311096386.6A CN117349080A (zh) 2023-08-28 2023-08-28 日志管理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117349080A true CN117349080A (zh) 2024-01-05

Family

ID=89365726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311096386.6A Pending CN117349080A (zh) 2023-08-28 2023-08-28 日志管理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117349080A (zh)

Similar Documents

Publication Publication Date Title
US11907561B2 (en) Data backup method and apparatus
CN111107123B (zh) 一种断网续传方法及装置
US20110093437A1 (en) Method and system for generating a space-efficient snapshot or snapclone of logical disks
CN113557499A (zh) 动态监控基于云的应用服务
CN105049524B (zh) 一种基于hdfs的大规模数据集装载的方法
CN116955225A (zh) 数据缓存方法、装置、电子设备和可读介质
CN115407943A (zh) 一种内存转储文件生成方法、装置、设备及可读存储介质
CN113722154B (zh) 数据管理方法和系统、监测服务器及存储介质
CN114924914A (zh) 磁盘分区表信息备份、恢复方法及系统
CN116107988A (zh) 车载日志系统、车载日志存储方法、设备、介质及车辆
CN117349080A (zh) 日志管理方法、装置、电子设备及存储介质
CN114328007B (zh) 一种容器备份还原方法、装置及其介质
CN106528658B (zh) 应用文件的查找方法及装置
CN114490881A (zh) 同步数据处理方法、装置、设备及存储介质
CN113342836A (zh) 同步数据处理方法、装置、计算机设备及存储介质
CN115510064A (zh) Es告警数据回填方法、装置、设备及介质
CN102970363A (zh) 远程日志下载系统和远程日志下载方法
CN114510433A (zh) 光传输设备的内存管理方法、设备和存储介质
CN113467941A (zh) 用于分享信息的方法和装置
CN114722261A (zh) 一种资源的处理方法、装置、电子设备及存储介质
CN112153148A (zh) 基于消息接收端的消息堆积处理方法及装置
CN112488462A (zh) 一种工作流数据的统一推送方法、装置及介质
CN112052229A (zh) 辅助设备集中监控系统的图形同步方法及图形同步系统
CN108664366B (zh) 数据传输方法、装置及服务器
CN114301927B (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