一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

日志处理方法、系统、电子装置和存储介质与流程

2021-12-01 01:32:00 来源:中国专利 TAG:


1.本技术涉及日志处理领域,特别是涉及日志处理方法、系统、电子装置和存储介质。


背景技术:

2.采集器作为工业数据采集架构中的核心,以插件化技术加载不同的驱动模块去采集不同协议的设备数据,承担着对现场各类设备的智能式数字表的实时数据与状态的采集、存储、管理与封装打包,并在保证数据的准确性与安全性的同时向管理中心转发等功能。然而,现有的采集器和驱动模块相对独立,采集器日志系统中多种程序日志方式混用,导致采集器和驱动模块的日志混乱。
3.针对相关技术中采集器和驱动模块的日志混乱问题,目前还没有提出有效的解决方案。


技术实现要素:

4.在本实施例中提供了一种日志处理方法、系统、电子装置和存储介质,以解决相关技术中的问题。
5.第一个方面,在本实施例中提供了一种日志处理方法,所述方法包括:启动至少一个进程,并在各所述进程中执行获取各驱动模块的事件的任务,其中,所述进程携带有进程id和进程名;根据所述事件生成日志内容,其中,所述日志内容包括以下至少之一:事件源、事件群类、事件描述、事件时间;根据预设目录,将所述日志内容输出至相应位置的日志文件中,以及,根据所述进程id和所述进程名,分配所述日志内容相应的日志文件名。
6.在其中的一些实施例中,根据预设目录,将所述日志内容输出至相应位置的日志文件中包括:将所述日志内容以预设格式输出至相应位置的日志文件中。
7.在其中的一些实施例中,根据预设目录,将所述日志内容输出至相应位置的日志文件中包括:在配置文件中设置所述日志内容的输出级别,根据所述日志输出级别将所述日志内容输出至相应位置的日志文件中,其中,所述日志输出级别包括以下至少之一:debug、info、warning、error、critical。
8.在其中的一些实施例中,根据预设目录,将所述日志内容输出至相应位置的日志文件中包括:在配置文件中设置所述日志内容的输出方式,根据所述日志输出方式将所述日志内容输出至相应位置的日志文件中,其中,所述日志输出方式包括以下至少之一:开发工具的输出窗口输出、控制台输出、指定文件输出。
9.在其中的一些实施例中,在所述日志输出方式为所述指定文件输出时,根据预设目录,将所述日志内容输出至相应位置的日志文件中包括:将同一进程处理得到的日志内容逐条写入对应的所述日志文件中,并判断所述日志文件的占存是否超过第三阈值;在判断到所述日志文件的占存超过所述第三阈值的情况下,按照所述日志文件中日志内容的写入时间顺序,将较晚写入的日志内容覆盖较早写入的日志内容。
10.在其中的一些实施例中,在所述日志输出方式为所述指定文件输出时,根据预设目录,将所述日志内容输出至相应位置的日志文件中包括:获取各所述日志文件中日志内容的最新写入时间,将所述多个进程按照所述最新写入时间的先后顺序进行从晚到早的排列;根据进程保留个数关闭排在末后的至少一个进程,以及删除所述排在末后的至少一个进程对应的日志文件。
11.在其中的一些实施例中,在根据所述事件生成日志内容之后,将所述日志内容存储至缓存区,根据预设目录,将所述日志内容输出至相应位置的日志文件中包括:将所述驱动模块的加载数量和第一阈值进行比较,在所述驱动模块的加载数量超过所述第一阈值的情况下,按照预设周期输出所述缓存区的日志内容至所述日志文件并刷新所述缓存区;和/或,将所述日志内容的输出数量和第二阈值进行比较,在所述日志内容的输出量超过所述第二阈值的情况下,按照预设周期输出所述缓存区的日志内容至所述日志文件并刷新所述缓存区。
12.第二个方面,在本实施例中提供了一种日志处理系统,所述系统包括:采集器、驱动模块和日志模块,所述采集器包括事件接口和日志输出接口,所述日志模块包括缓存模块;其中,所述驱动模块用于通过所述事件接口将事件发送至所述采集器;所述日志模块用于通过所述缓存模块缓存所述采集器生成的日志内容;所述采集器用于实现上述第一个方面所述的日志处理方法。
13.第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的日志处理方法。
14.第四个方面,在本实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的日志处理方法。
15.与相关技术相比,在实施例中提供的日志处理方法、系统、电子装置和存储介质,通过启动至少一个进程,并在各所述进程中执行获取各驱动模块的事件的任务,其中,所述进程携带有进程id和进程名;根据所述事件生成日志内容,其中,所述日志内容包括以下至少之一:事件源、事件群类、事件描述、事件时间;根据预设目录,将所述日志内容输出至相应位置的日志文件中,以及,根据所述进程id和所述进程名,分配所述日志内容相应的文件名,解决了相关技术中采集器和驱动模块的日志混乱问题,降低了开发时间成本。
16.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
17.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1是本技术一实施例的日志处理方法的硬件结构框图;图2是本技术一实施例的日志处理方法的流程图;图3是本技术一实施例的日志处理系统的原理示意图。
具体实施方式
18.为更清楚地理解本技术的目的、技术方案和优点,下面结合附图和实施例,对本技术进行了描述和说明。
19.除另作定义外,本技术所涉及的技术术语或者科学术语应具有本技术所属技术领域具备一般技能的人所理解的一般含义。在本技术中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本技术中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本技术中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本技术中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本技术中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
20.在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本技术一实施例的日志处理方法的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
21.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本技术一实施例中的日志处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
22.传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网
进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
23.在本实施例中提供了一种日志处理方法,图2是本实施例的日志处理方法的流程图,如图2所示,该流程包括如下步骤:步骤s201,启动至少一个进程,并在各进程中执行获取各驱动模块的事件的任务。
24.其中,采集器通过事件接口接收到各驱动模块的事件,并且各驱动模块的事件根据各进程所携带的进程id和进程名被区分开来。
25.步骤s202,根据事件生成日志内容。
26.其中,采集器将收集到的事件的相关信息,比如事件源、事件群类、事件描述、事件时间,来生成日志内容。
27.步骤s203,根据预设目录,将日志内容输出至相应位置的日志文件中,以及,根据进程id和进程名,分配日志内容相应的日志文件名。
28.其中,将日志内容输出到指定的预设目录中,使得采集器的本体日志和驱动日志能够区分开来,另外,根据进程的进程id和进程名给日志内容分配相应的日志文件名,使得多进程之间的日志文件不会受到相互干扰。
29.上述步骤s201至s203中,通过获取各驱动模块的事件的相关信息,将来自各驱动模块的事件的相关信息生成日志内容,再根据进程id和进程名给日志内容分配日志文件名,解决了相关技术中采集器和驱动模块的日志混乱问题,降低了开发时间成本。
30.在其中的一些实施例中,将日志内容以预设格式输出至相应位置的日志文件中。
31.在其中的一些实施例中,根据预设的关键字集查找相关日志内容,其中,关键字集包括:驱动名、相应类名。
32.在定位各种现场问题或产品项目相关问题时,可根据驱动名或相应类名查找相关日志内容,不需要额外建立日志索引。
33.在其中的一些实施例中,根据预设目录,将日志内容输出至相应位置的日志文件中包括:在配置文件中设置日志内容的输出级别,根据日志输出级别将日志内容输出至相应位置的日志文件中,其中,日志输出级别包括以下至少之一:debug、info、warning、error、critical。
34.其中,日志输出级别按照从次要到重要分别为:debug、info、warning、error、critical。默认情况下日志文件中只显示warning、error、critical级别的日志,当现场有需求时,可通过修改配置文件中的level字段,指定输出其他级别的日志,如修改为debug,则可以输出所有日志;修改为info,则可以输出除debug外所有日志。
35.在其中的一些实施例中,根据预设目录,将日志内容输出至相应位置的日志文件中包括:在配置文件中设置日志内容的输出方式,根据日志输出方式将日志内容输出至相应位置的日志文件中,其中,日志输出方式包括以下至少之一:开发工具的输出窗口输出、控制台输出、指定文件输出。
36.其中,为适应现场应用情况可随时通过配置文件更改日志输出方式且不需要重启程序。并且以开发工具的输出窗口输出方式,对于应用人员来说,非常友好,便于阅读且灵
活。
37.在其中一些实施例中,在输出方式为开发工具的输出窗口输出或控制台输出时,无需对日志文件进行清理。
38.在其中的一些实施例中,在日志输出方式为指定文件输出时,根据预设目录,将日志内容输出至相应位置的日志文件中包括:将同一进程处理得到的日志内容逐条写入对应的日志文件中,并判断日志文件的占存是否超过第三阈值;在判断到日志文件的占存超过第三阈值的情况下,按照日志文件中日志内容的写入时间顺序,将较晚写入的日志内容覆盖较早写入的日志内容。
39.其中,根据进程id来区分不同的进程,对于同一进程id的日志内容会在固定大小的文件中循环写,以此控制该进程日志内容的占用大小。具体的,日志库中设置单个文件的大小上限,当达到上限时,将会新建一个日志文件再写入下一条日志,当同一进程id的日志总量达到第三阈值时,下一条日志将会覆盖第一份日志文件的第一条,以此形成循环往复,实现对进程日志文件的管理。
40.在其中的一些实施例中,在日志输出方式为指定文件输出时,根据预设目录,将日志内容输出至相应位置的日志文件中包括:获取各日志文件中日志内容的最新写入时间,将多个进程按照最新写入时间的先后顺序进行从晚到早的排列;根据进程保留个数关闭排在末后的至少一个进程,以及删除排在末后的至少一个进程对应的日志文件。
41.其中,根据进程id来区分不同的进程,对于多个不同进程的日志内容,设定进程保留个数,以每个日志文件中最新一条日志信息的时间信息作为标志,删除清理老旧进程的日志文件。例如,一段程序被执行多次则会产生多个进程id不同的进程,将每个进程的日志文件中最新一条日志内容的事件时间从晚到早的排序,根据预先设定的进程保留个数保留事件时间排在前面的进程,将事件时间排在后面的进程关闭并删除相应的日志文件。
42.通过对历史进程的日志文件进行管理,删除多余陈旧进程id占用的日志文件,从而达到了保持c盘健康状态的目的。
43.在其中的一些实施例中,在根据事件生成日志内容之后,将日志内容存储至缓存区,根据预设目录,将日志内容输出至相应位置的日志文件中包括:将驱动模块的加载数量和第一阈值进行比较,在驱动模块的加载数量超过第一阈值的情况下,按照预设周期输出缓存区的日志内容至日志文件并刷新缓存区;和/或,将日志内容的输出数量和第二阈值进行比较,在日志内容的输出量超过第二阈值的情况下,按照预设周期输出缓存区的日志内容至日志文件并刷新缓存区。
44.通过上述方法,解决了因加载的驱动模块和日志输出达到一定数量时,写文件的阻塞操作导致的性能下降问题。
45.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
46.在一个实施例中,还提供了一种日志处理系统,包括:采集器、驱动模块和日志模
块,采集器包括事件接口和日志输出接口,日志模块包括缓存模块;其中,驱动模块用于通过事件接口将事件发送至采集器;日志模块用于通过缓存模块缓存采集器生成的日志内容;采集器用于执行上述任一项实施例中的日志处理方法。
47.如图3为本技术一实施例的日志处理系统的原理示意图,图3中的主模块表示本技术中一实施例的采集器,模块表示本技术中一实施例的驱动模块,以采集器作为日志内容的输出主体,加载日志模块,而各驱动模块则统一通过采集器调配,通过事件接口将事件通知到采集器,再由采集器通过日志输出接口进行日志的统一输出。
48.本技术提供的日志处理系统,采集器本体集成日志库,无需集成第三方数据库,指定日志统一输出目录、文件及格式,能够更好的区分采集器本体日志和驱动日志,解决日志混乱问题。并且各驱动模块继承采集器统一接口,通过日志输出接口输出日志内容,使系统模式化,降低开发时间的成本。
49.日志模块通过缓存模块的日志缓存功能,在加载的驱动模块和日志内容的输出达到一定数量时启用定时输出缓存区内容至日志文件并刷新缓存区,以解决写文件的阻塞操作导致的性能下降问题。
50.在其中的一些实施例中,日志模块包括循环写接口,通过循环写接口将进程的日志内容写入日志文件中。
51.其中,循环写接口可灵活设置,通过设置循环写接口可解决日志文件容量不可控的问题。具体地,在日志输出方式为指定文件输出时,将同一进程处理得到的日志内容逐条写入对应的日志文件中,并判断日志文件的占存是否超过第三阈值;在判断到日志文件的占存超过第三阈值的情况下,按照日志文件中日志内容的写入时间顺序,将较晚写入的日志内容覆盖较早写入的日志内容。
52.通过循环写接口将日志内容写入日志文件后,通过获取各日志文件中日志内容的最新写入时间,将多个进程按照最新写入时间的先后顺序进行从晚到早的排列;根据进程保留个数关闭排在末后的至少一个进程,以及删除排在末后的至少一个进程对应的日志文件,能够删除多余的陈旧进程占用的日志文件,以达到保持c盘健康状态的目的,保证了硬盘的稳定。
53.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
54.在一个实施例中,还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中日志处理方法的步骤。
55.在一个实施例中,还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一项方法实施例的日志处理方法的步骤。
56.应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本技术提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本技术保护范围。
57.显然,附图只是本技术的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本技术适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本技术披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本技术公开的内容不足。
[0058]“实施例”一词在本技术中指的是结合实施例描述的具体特征、结构或特性可以包括在本技术的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本技术中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
[0059]
以上实施例中提供的日志处理方法、系统、电子装置和存储介质,具有以下几个优势:1. 整合原有日志接口,降低开发时间成本现有技术存在采集器和驱动模块的日志不完整,部分模块日志混乱,没有采用统一日志功能的接口,使得开发时间成本较高的问题,本技术将日志功能接口标准化,使其模式化,降低了开发时间的成本。
[0060]
2. 重新规划日志策略,改善用户体验现有技术日志配置文件策略混乱,工程人员及用户当需要对输出日志进行设置时,往往不知道该如何操作,也无法提供一个准确的说明,用户体验很差。本技术重新规划了日志配置文件的策略,改善了用户体验。
[0061]
3. 统一日志文件内容及格式,降低解决问题时间成本现有技术中日志内容及格式不统一,并且无法区分是采集器本体日志还是驱动日志,当发生现场问题时或者在产品项目中有亟待解决的问题,无法快速定位,无形之中提高了很多时间成本。本技术将全日志系统替换原有混乱的日志体系后,大大降低了解决问题的时间成本,同时由于采集器及其驱动作为工业软件数据采集领域的组件,应用于多个产品之中,这一套全日志系统解决方案所带来的时间成本的节约是非常可观的。
[0062]
4. 优化实现方式,保证硬盘稳定现有技术中实现多种应用方式的日志文件容量不可控,易造成硬盘不稳定的情况。本技术通过增加循环写接口对日志处理系统优化后,日志文件容量可控,文件循环写,并且可自动回收,保证了硬盘的稳定。对于工业而言,稳定性往往是非常重要的。
[0063]
5. 应用范围更大本技术提供的日志处理方法针对单节点实现,对于包含多个功能子模块的业务系统以及类似这种使用插件化技术制作的自动化软件,都可以使用该方法来达成技术目标。
[0064]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献