CN112965833A - 日志处理方法及装置 - Google Patents
日志处理方法及装置 Download PDFInfo
- Publication number
- CN112965833A CN112965833A CN202110198618.3A CN202110198618A CN112965833A CN 112965833 A CN112965833 A CN 112965833A CN 202110198618 A CN202110198618 A CN 202110198618A CN 112965833 A CN112965833 A CN 112965833A
- Authority
- CN
- China
- Prior art keywords
- log
- log information
- shared
- exclusive
- cache region
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种日志处理方法及装置,该方法应用于网络设备,该方法包括:当第一vSystem对应的第一独占日志缓存区未存在空闲存储单元时,判断共享日志缓存区是否存在空闲存储单元;如果存在空闲存储单元,则将第一vSystem生成的第一日志信息存储至共享日志缓存区;如果未存在空闲存储单元,则判断共享日志缓存区中是否存在第二日志信息;若存在第二日志信息,则丢弃第一日志信息;其中,第一日志信息包括的时间戳为第一独占日志缓存区中全部日志信息包括的时间戳的最小值;第二日志信息包括的时间戳不早于第一日志信息包括的时间戳,且第二日志信息包括的时间戳为共享日志缓存区中全部日志信息包括的时间戳的最小值。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种日志处理方法及装置。
背景技术
vSystem是一种轻量级的虚拟化技术,其可将一台物理设备划分为多台相互独立的逻辑设备。每个vSystem相当于一台真实的网络设备对外提供服务,其拥有独立的接口、VLAN、路由表项、地址范围、转发策略以及用户/用户组。由于vSystem的系统开销更小,因此,网络设备通过vSystem实现多租户的网络隔离。
如图1所示,图1为现有vSystem组网示意图。在图1中,LAN 1、LAN 2、LAN 3和LAN 4为四个不同的局域网。其中,LAN 1和LAN 2属于企业A,LAN 3和LAN 4属于企业B,企业A、企业B均通过同一台网络设备连接至外网。
通过vSystem虚拟化技术,将一台网络设备划分为四台网络设备使用。具体过程为:在网络设备中创建四个vSystem(即vsys 1、vsys 2、vsys 3和vsys 4),四个vSystem分别负责LAN 1、LAN 2、LAN 3和LAN 4的安全接入。每个LAN 1、LAN 2、LAN 3和LAN 4的网络管理员仅可登录至自己管理的vSystem进行配置、保存等操作,不会影响其它LAN的使用,其效果等同于LAN 1、LAN 2、LAN 3和LAN 4分别通过四个不同的网络设备接入网络。例如,LAN1通过网络设备1接入网络,LAN2通过网络设备2接入网络,LAN3通过网络设备3接入网络,LAN4通过网络设备4接入网络。
目前,对于vSystem技术,如何节省网络设备的资源至关重要。网络设备的物理资源有限,每个vSystem消耗的物理资源越少,则网络设备可创建更多的vSystem。其中,日志是vSystem不可缺少的一项重要功能。现有对vSystem日志的处理方式为:为创建的每个vSystem分配固定大小的独立缓存区以存储日志。每个vSystem均使用自己的缓存区存储日志,互不影响,实现比较简单。
但是,现有对vSystem日志的处理方式虽然实现简单,但占用内存较多。为每个vSystem分配的缓存区,即使未存储满,其它vSystem也无法复用,造成了内存浪费。
发明内容
有鉴于此,本申请提供了一种日志处理方法及装置,用以解决现有对vSystem日志的处理方式造成内存浪费的问题。
第一方面,本申请提供了一种日志处理方法,所述方法应用于网络设备,所述网络设备包括共享日志缓存区以及至少一个vSystem,每个vSystem具有一一对应的独占日志缓存区,所述方法包括:
当第一vSystem对应的第一独占日志缓存区未存在空闲存储单元时,判断所述共享日志缓存区是否存在空闲存储单元;
如果存在空闲存储单元,则将所述第一vSystem生成的第一日志信息存储至所述共享日志缓存区;
如果未存在空闲存储单元,则判断所述共享日志缓存区中是否存在第二日志信息;
若存在所述第二日志信息,则丢弃所述第一日志信息;
其中,所述第一日志信息包括的时间戳为所述第一独占日志缓存区中全部日志信息包括的时间戳的最小值;所述第二日志信息包括的时间戳不早于所述第一日志信息包括的时间戳,且所述第二日志信息包括的时间戳为所述共享日志缓存区中全部日志信息包括的时间戳的最小值。
第二方面,本申请提供了一种日志处理装置,所述装置应用于网络设备,所述网络设备包括共享日志缓存区以及至少一个vSystem,每个vSystem具有一一对应的独占日志缓存区,所述装置包括:
第一判断单元,用于当第一vSystem对应的第一独占日志缓存区未存在空闲存储单元时,判断所述共享日志缓存区是否存在空闲存储单元;
存储单元,用于如果存在空闲存储单元,则将所述第一vSystem生成的第一日志信息存储至所述共享日志缓存区;
第二判断单元,用于如果未存在空闲存储单元,则判断所述共享日志缓存区中是否存在第二日志信息;
处理单元,用于若存在所述第二日志信息,则丢弃所述第一日志信息;
其中,所述第一日志信息包括的时间戳为所述第一独占日志缓存区中全部日志信息包括的时间戳的最小值;所述第二日志信息包括的时间戳不早于所述第一日志信息包括的时间戳,且所述第二日志信息包括的时间戳为所述共享日志缓存区中全部日志信息包括的时间戳的最小值。
第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
因此,通过应用本申请提供的日志处理方法及装置,当第一vSystem对应的第一独占日志缓存区未存在空闲存储单元时,网络设备判断共享日志缓存区是否存在空闲存储单元。如果存在空闲存储单元,则网络设备将第一vSystem生成的第一日志信息存储至共享日志缓存区。如果未存在空闲存储单元,则网络设备判断共享日志缓存区中是否存在第二日志信息。若存在第二日志信息,则丢弃第一日志信息,其中,该第一日志信息包括的时间戳为第一独占日志缓存区中全部日志信息包括的时间戳的最小值;该第二日志信息包括的时间戳不早于第一日志信息包括的时间戳,且第二日志信息包括的时间戳为共享日志缓存区中全部日志信息包括的时间戳的最小值。
如此,解决现有对vSystem日志的处理方式造成内存浪费的问题。本申请通过引入共享日志缓存区,在节省内存的同时,还可按日志的生成时间为每个vSystem保存尽量多的日志。
附图说明
图1为现有vSystem组网示意图;
图2为本申请实施例提供的日志处理方法的流程图;
图3为本申请实施例提供的vSystem日志写入示意图;
图4为本申请实施例提供的日志处理装置结构图;
图5为本申请实施例提供的网络设备硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的日志处理方法进行详细地说明。参见图2,图2为本申请实施例提供的日志处理方法的流程图。该方法应用于网络设备,网络设备包括共享日志缓存区以及至少一个vSystem,每个vSystem具有一一对应的独占日志缓存区。本申请实施例提供的日志处理方法可包括如下所示步骤。
步骤210、当第一vSystem对应的第一独占日志缓存区未存在空闲存储单元时,判断所述共享日志缓存区是否存在空闲存储单元。
具体地,网络设备内部划分出多个vSystem,为每个vSystem在内存中分配一一对应的独占日志缓存区。独占日志缓存区的大小可为128条,每条日志信息的大小不超过1024字节,且由分配的vSystem独占使用,确保vSystem可存储最低数量的日志信息。
网络设备还在内存中划分一共享日志缓存区。该共享日志缓存区的大小可为1024条,每条日志信息的大小不超过1024字节,且划分出的多个vSystem均可使用。共享日志缓存区的存储空间远大于vSystem的独占日志缓存区的存储空间,确保存储尽量多的日志信息。
vSystem包括的应用模块按需生成日志信息,该日志信息包括时间戳以及来源vSystem的标识。其中,时间戳用于记录生成日志信息的具体时间;来源vSystem的标识用于记录生成日志信息的vSystem。
根据生成日志信息的时间顺序,将日志信息写入自身对应的独占日志缓存区。
在本申请实施例中,以第一vSystem存储最新日志信息为例进行说明。
第一vSystem生成最新日志信息,并预将最新日志信息存储至第一独占日志缓存区内。若第一独占日志缓存区存在空闲存储单元,则直接将最新日志信息写入。若第一独占日志缓存区未存在空闲存储单元,则获取第一日志信息,并判断共享日志缓存区是否存在空闲存储单元。
如果共享日志缓存区存在空闲存储单元,则执行步骤220;如果共享日志缓存区未存在空闲存储单元,则执行步骤230。
在本申请实施例中,第一日志信息包括的时间戳为第一独占日志缓存区中全部日志信息包括的时间戳的最小值。
可以理解的是,在获取到第一日志信息后,将最新日志信息存储至第一独占日志缓存区中。在存储过程中,可按日志信息生成的时间顺序,将最新日志信息存储至第一独占日志缓存区中。
步骤220、如果存在空闲存储单元,则将所述第一vSystem生成的第一日志信息存储至所述共享日志缓存区。
具体地,根据步骤210的判断,如果共享日志缓存区存在空闲存储单元,则将第一日志信息存储至共享日志缓存区。
其中,将第一日志信息存储至共享日志缓存区之前,还包括下述过程:
遍历共享日志缓存区,根据第一日志信息包括的时间戳,确定第一日志信息在共享日志缓存区的存储位置,该第一日志信息包括的时间戳晚于前一个日志信息包括的时间戳,且不晚于后一个日志信息包括的时间戳。
将第一日志信息存储至共享日志缓存区,具体为:将第一日志信息存储确定出的存储位置处。
步骤230、如果未存在空闲存储单元,则判断所述共享日志缓存区中是否存在第二日志信息。
具体地,根据步骤210的判断,如果共享日志缓存区未存在空闲存储单元,则遍历共享日志缓存区,并判断共享日志缓存区是否存在第二日志信息。该第二日志信息包括的时间戳不早于第一日志信息包括的时间戳且第二日志信息包括的时间戳为共享日志缓存区中全部日志信息包括的时间戳的最小值。
也即是,比较当前共享日志缓存区内每个日志信息的时间戳,以第一日志信息包括的第一时间戳为基准,识别是否存在时间戳不早于第一时间戳且该时间戳为最小值的日志信息。如果存在,则该日志信息为第二日志信息,并执行步骤240。
如果共享日志缓存区内未存在第二日志信息,则从共享日志缓存区中获取第三日志信息,该第三日志信息包括的时间戳为共享日志缓存区中全部日志信息包括的时间戳的最小值。
删除第三日志信息,并将第一日志信息存储至共享日志存储区。
可以理解的是,如果共享日志缓存区中存在多条第三日志信息,则删除多条第三日志信息中顺序记录的最后一条日志信息。
步骤240、若存在所述第二日志信息,则丢弃所述第一日志信息。
具体地,根据步骤230的判断,如果共享日志缓存区内存在第二日志信息,则丢弃第一日志信息。
可以理解的是,如果共享日志缓存区内存在第二日志信息,则说明生成第一日志信息的时间比共享日志缓存区内时间戳最小值对应的日志信息的生成时间还要在先,或者,生成第一日志信息的时间与生成第二日志信息的时间相同,此时,无需对第一日志信息进行存储。
如果共享日志缓存区内未存在第二日志信息,则说明生成第一日志信息的时间比共享日志缓存区内时间戳最小值对应的日志信息的生成时间还要在后,此时,可将时间戳最小值对应的第三日志信息删除,进而空余存储单元对第一日志信息进行存储。
可以理解的是,对第一日志信息的存储也是通过比较共享日志缓存区内各日志信息包括的时间戳,确定存储位置后进行存储。具体为:遍历共享日志缓存区,根据第一日志信息包括的时间戳,确定第一日志信息在共享日志缓存区的存储位置,该第一日志信息包括的时间戳晚于前一个日志信息包括的时间戳,且不晚于后一个日志信息包括的时间戳。
进一步地,如图3所示,图3为本申请实施例提供的vSystem日志写入示意图。
在图3中,网络设备内部划分出三个vSystem(vSystem1、vSystem2、vSystem3),为每个vSystem在内存中分配一一对应的独占日志缓存区(第一独占日志缓存区、第二独占日志缓存区、第三独占日志缓存区)。独占日志缓存区的大小可为128条,每条日志信息的大小不超过1024字节,且由分配的vSystem独占使用,确保vSystem可存储最低数量的日志信息。
网络设备还在内存中划分一共享日志缓存区。该共享日志缓存区的大小可为1024条,每条日志信息的大小不超过1024字节,且划分出的三个vSystem均可使用。共享日志缓存区的存储空间远大于vSystem的独占日志缓存区的存储空间,确保存储尽量多的日志信息。
每个vSystem包括的应用模块按需生成日志信息,该日志信息包括时间戳以及来源vSystem的标识。其中,时间戳用于记录生成日志信息的具体时间;来源vSystem的标识用于记录生成日志信息的vSystem。
根据生成日志信息的时间顺序,每个vSystem将生成的日志信息写入自身对应的独占日志缓存区。可以理解的是,vSystem将生成的日志信息从独占日志缓存区的头部写入。当独占日志缓存区未存在空闲存储单元时,可根据需求淘汰时间戳最小值的日志信息。淘汰后的日志信息可根据共享日志缓存区当前是否存在空闲存储单元,进而存储至共享日志缓存区中。
在本申请实施例中,以第一vSystem存储最新日志信息为例进行说明。
第一vSystem生成最新日志信息,并预将最新日志信息存储至第一独占日志缓存区内。若第一独占日志缓存区存在空闲存储单元,则按日志信息生成的时间顺序,直接将最新日志信息从第一独占日志缓存区的头部写入。
若第一独占日志缓存区未存在空闲存储单元,则获取第一日志信息,并判断共享日志缓存区是否存在空闲存储单元。
在本申请实施例中,第一日志信息包括的时间戳为第一独占日志缓存区中全部日志信息包括的时间戳的最小值。
可以理解的是,在获取到第一日志信息后,将最新日志信息存储至第一独占日志缓存区中。在存储过程中,可按日志信息生成的时间顺序,将最新日志信息存储至第一独占日志缓存区中。
如果共享日志缓存区存在空闲存储单元,则遍历共享日志缓存区,根据第一日志信息包括的时间戳,确定第一日志信息在共享日志缓存区的存储位置,该第一日志信息包括的时间戳晚于前一个日志信息包括的时间戳,且不晚于后一个日志信息包括的时间戳。
将第一日志信息存储至共享日志缓存区,具体为:将第一日志信息存储确定出的存储位置处。
例如,如图3所示,第一vSystem获取的第一日志信息(图中斜线框)的存储位置为:共享日志缓存区中,以头部存储位置为基准的第四个存储位置。
第二vSystem获取的第二日志信息(图中满点框)的存储位置为:共享日志缓存区中头部存储位置。
在本申请实施例中,以第三vSystem存储获取的第三日志信息(图中竖线框)为例进行说明。
如果共享日志缓存区未存在空闲存储单元,则遍历共享日志缓存区,并判断共享日志缓存区是否存在第四日志信息。该第四日志信息包括的时间戳不早于第三日志信息包括的时间戳且第四日志信息包括的时间戳为共享日志缓存区中全部日志信息包括的时间戳的最小值。
也即是,比较当前共享日志缓存区内每个日志信息的时间戳,以第三日志信息包括的第三时间戳为基准,识别是否存在时间戳不早于第三时间戳且该时间戳为最小值的日志信息。如果存在,则该日志信息为第四日志信息,同时,丢弃第三日志信息。
可以理解的是,如果共享日志缓存区内存在第四日志信息,则说明生成第三日志信息的时间比共享日志缓存区内时间戳最小值对应的日志信息的生成时间还要在先,此时,无需对第三日志信息进行存储。
如果共享日志缓存区内未存在第四日志信息,则从共享日志缓存区中获取第五日志信息,该第五日志信息包括的时间戳为共享日志缓存区中全部日志信息包括的时间戳的最小值。此时,删除第五日志信息,并将第三日志信息存储至共享日志存储区。
可以理解的是,如果共享日志缓存区内未存在第四日志信息,则说明生成第三日志信息的时间比共享日志缓存区内时间戳最小值对应的日志信息的生成时间还要在后,此时,可将时间戳最小值对应的第五日志信息删除,进而空余存储单元对第三日志信息进行存储。
其中,对第三日志信息的存储也是通过比较共享日志缓存区内各日志信息包括的时间戳,确定存储位置后进行存储。具体为:遍历共享日志缓存区,根据第三日志信息包括的时间戳,确定第三日志信息在共享日志缓存区的存储位置,该第三日志信息包括的时间戳晚于前一个日志信息包括的时间戳,且不晚于后一个日志信息包括的时间戳。
因此,通过应用本申请提供的日志处理方法,当第一vSystem对应的第一独占日志缓存区未存在空闲存储单元时,网络设备判断共享日志缓存区是否存在空闲存储单元。如果存在空闲存储单元,则网络设备将第一vSystem生成的第一日志信息存储至共享日志缓存区。如果未存在空闲存储单元,则网络设备判断共享日志缓存区中是否存在第二日志信息。若存在第二日志信息,则丢弃第一日志信息,其中,该第一日志信息包括的时间戳为第一独占日志缓存区中全部日志信息包括的时间戳的最小值;该第二日志信息包括的时间戳不早于第一日志信息包括的时间戳,且第二日志信息包括的时间戳为共享日志缓存区中全部日志信息包括的时间戳的最小值。
如此,解决现有对vSystem日志的处理方式造成内存浪费的问题。本申请通过引入共享日志缓存区,在节省内存的同时,还可按日志的生成时间为每个vSystem保存尽量多的日志。可选地,在本申请实施例中,还包括接收用户输入的第一操作指令的步骤,并根据第一操作指令,在独占日志缓存区和/或共享日志缓存区内读取日志信息的过程。
具体地,用户预读取第一vSystem生成的日志信息。用户向网络设备输入第一操作指令,该第一操作指令包括第一vSystem的标识。在本申请实施例中,第一操作指令用于读取vSystem生成的日志信息。
网络设备接收到用户输入的第一操作指令后,从中获取第一vSystem的标识。根据第一vSystem的标识,确定与第一vSystem对应的第一独占日志缓存区。网络设备读取第一独占日志缓存区内存储的日志信息。网络设备判断第一独占日志缓存区是否存在空闲存储单元。
如果第一独占日志缓存区存在空闲存储单元,则确定第一vSystem生成的日志信息未存储至共享日志缓存区,网络设备仅从第一独占日志缓存区中读取日志信息,在读取完第一独权日志缓存区后,读取操作结束。
如果第一独占日志缓存区未存在空闲存储单元,则确定第一独占日志缓存区内已存满第一vSystem生成的日志信息,并可能在共享日志缓存区内也存储了部分第一vSystem生成的日志信息。此时,从所述第一独占日志缓存区中读取日志信息后,根据第一vSystem的标识,从共享日志缓存区中,按时间戳顺序读取与第一vSystem的标识匹配的日志信息。
可选地,在本申请实施例中,还包括接收用户输入的第二操作指令的步骤,并根据第二操作指令,在独占日志缓存区和/或共享日志缓存区内删除日志信息的过程。
具体地,用户预清除第一vSystem生成的日志信息。用户向网络设备输入第二操作指令,该第二操作指令包括第一vSystem的标识。在本申请实施例中,第一操作指令用于清除vSystem生成的日志信息。
网络设备接收到用户输入的第二操作指令后,从中获取第二vSystem的标识。根据第二vSystem的标识,确定与第一vSystem对应的第一独占日志缓存区。网络设备清除第一独占日志缓存区内存储的日志信息。网络设备判断第一独占日志缓存区是否存在空闲存储单元。
如果第一独占日志缓存区存在空闲存储单元,则确定第一vSystem生成的日志信息未存储至共享日志缓存区,网络设备仅清除第一独占日志缓存区中存储的日志信息,在清除完第一独权日志缓存区后,清除操作结束。
如果第一独占日志缓存区未存在空闲存储单元,则确定第一独占日志缓存区内已存满第一vSystem生成的日志信息,并可能在共享日志缓存区内也存储了部分第一vSystem生成的日志信息。此时,清除所述第一独占日志缓存区中存储日志信息后,根据第一vSystem的标识,从共享日志缓存区中,按时间戳顺序清除与第一vSystem的标识匹配的日志信息。
基于同一发明构思,本申请实施例还提供了与日志处理方法对应的日志处理装置。参见图4,图4为本申请实施例提供的日志处理装置结构图,所述装置应用于网络设备,所述网络设备包括共享日志缓存区以及至少一个vSystem,每个vSystem具有一一对应的独占日志缓存区,所述装置包括:
第一判断单元410,用于当第一vSystem对应的第一独占日志缓存区未存在空闲存储单元时,判断所述共享日志缓存区是否存在空闲存储单元;
存储单元420,用于如果存在空闲存储单元,则将所述第一vSystem生成的第一日志信息存储至所述共享日志缓存区;
第二判断单元430,用于如果未存在空闲存储单元,则判断所述共享日志缓存区中是否存在第二日志信息;
处理单元440,用于若存在所述第二日志信息,则丢弃所述第一日志信息;
其中,所述第一日志信息包括的时间戳为所述第一独占日志缓存区中全部日志信息包括的时间戳的最小值;所述第二日志信息包括的时间戳不早于所述第一日志信息包括的时间戳,且所述第二日志信息包括的时间戳为所述共享日志缓存区中全部日志信息包括的时间戳的最小值。
可选地,所述装置还包括:获取单元(图中未示出),用于若未存在第二日志信息,则从所述共享日志缓存区中获取第三日志信息,所述第三日志信息包括的时间戳为所述共享日志缓存区中全部日志信息包括的时间戳的最小值;
所述存储单元420还用于,删除所述第三日志信息,并将所述第一日志信息存储至所述共享日志存储区。
可选地,所述装置还包括:第一确定单元(图中未示出),用于遍历所述共享日志缓存区,根据所述第一日志信息包括的时间戳,确定所述第一日志信息在所述共享日志缓存区的存储位置,所述第一日志信息包括的时间戳晚于前一个日志信息包括的时间戳,且不晚于后一个日志信息包括的时间戳;
所述存储单元420具体用于,将所述第一日志信息存储确定出的存储位置处。
可选地,所述装置还包括:接收单元(图中未示出),用于接收用户输入的第一操作指令,所述第一操作指令包括所述第一vSystem的标识;
第二确定单元(图中未示出),用于根据所述第一vSystem的标识,确定与所述第一vSystem对应的第一独占日志缓存区;
读取单元(图中未示出),用于当所述第一独占日志缓存区存在空闲存储单元,从所述第一独占日志缓存区中读取日志信息;
所述读取单元(图中未示出)还用于,当所述第一独占日志缓存区未存在空闲存储单元,从所述第一独占日志缓存区中读取日志信息后,根据所述第一vSystem的标识,从所述共享日志缓存区中,读取与第一vSystem的标识匹配的日志信息。
可选地,所述接收单元(图中未示出)还用于,接收用户输入的第二操作指令,所述第二操作指令包括所述第一vSystem的标识;
所述第二确定单元(图中未示出)还用于,根据所述第一vSystem的标识,确定与所述第一vSystem对应的第一独占日志缓存区;
所述装置还包括:清除单元(图中未示出),用于当所述第一独占日志缓存区存在空闲存储单元,清除所述第一独占日志缓存区中存储的日志信息;
所述清除单元(图中未示出)还用于,当所述第一独占日志缓存区未存在空闲存储单元,清除所述第一独占日志缓存区中存储的日志信息后,根据所述第一vSystem的标识,从所述共享日志缓存区中,清除与第一vSystem的标识匹配的日志信息。
因此,通过应用本申请提供的日志处理装置,当第一vSystem对应的第一独占日志缓存区未存在空闲存储单元时,该装置判断共享日志缓存区是否存在空闲存储单元。如果存在空闲存储单元,则该装置将第一vSystem生成的第一日志信息存储至共享日志缓存区。如果未存在空闲存储单元,则该装置判断共享日志缓存区中是否存在第二日志信息。若存在第二日志信息,则丢弃第一日志信息,其中,该第一日志信息包括的时间戳为第一独占日志缓存区中全部日志信息包括的时间戳的最小值;该第二日志信息包括的时间戳不早于第一日志信息包括的时间戳,且第二日志信息包括的时间戳为共享日志缓存区中全部日志信息包括的时间戳的最小值。
如此,解决现有对vSystem日志的处理方式造成内存浪费的问题。本申请通过引入共享日志缓存区,在节省内存的同时,还可按日志的生成时间为每个vSystem保存尽量多的日志。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图5所示,包括处理器510、收发器520和机器可读存储介质530,机器可读存储介质530存储有能够被处理器510执行的机器可执行指令,处理器510被机器可执行指令促使执行本申请实施例所提供的方法。前述图4所示的日志处理装置,可采用如图5所示的网络设备硬件结构实现。
上述计算机可读存储介质530可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质530还可以是至少一个位于远离前述处理器510的存储装置。
上述处理器510可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器510通过读取机器可读存储介质530中存储的机器可执行指令,被机器可执行指令促使能够实现处理器510自身以及调用收发器520执行前述本申请实施例描述的方法。
另外,本申请实施例提供了一种机器可读存储介质530,机器可读存储介质530存储有机器可执行指令,在被处理器510调用和执行时,机器可执行指令促使处理器510自身以及调用收发器520执行前述本申请实施例描述的日志处理方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于日志处理装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种日志处理方法,其特征在于,所述方法应用于网络设备,所述网络设备包括共享日志缓存区以及至少一个vSystem,每个vSystem具有一一对应的独占日志缓存区,所述方法包括:
当第一vSystem对应的第一独占日志缓存区未存在空闲存储单元时,判断所述共享日志缓存区是否存在空闲存储单元;
如果存在空闲存储单元,则将所述第一vSystem生成的第一日志信息存储至所述共享日志缓存区;
如果未存在空闲存储单元,则判断所述共享日志缓存区中是否存在第二日志信息;
若存在所述第二日志信息,则丢弃所述第一日志信息;
其中,所述第一日志信息包括的时间戳为所述第一独占日志缓存区中全部日志信息包括的时间戳的最小值;所述第二日志信息包括的时间戳不早于所述第一日志信息包括的时间戳,且所述第二日志信息包括的时间戳为所述共享日志缓存区中全部日志信息包括的时间戳的最小值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若未存在第二日志信息,则从所述共享日志缓存区中获取第三日志信息,所述第三日志信息包括的时间戳为所述共享日志缓存区中全部日志信息包括的时间戳的最小值;
删除所述第三日志信息,并将所述第一日志信息存储至所述共享日志缓存区。
3.根据权利要求1或2任一项所述的方法,其特征在于,所述将所述第一日志信息存储至所述共享日志存储区之前,所述方法还包括:
遍历所述共享日志缓存区,根据所述第一日志信息包括的时间戳,确定所述第一日志信息在所述共享日志缓存区的存储位置,所述第一日志信息包括的时间戳晚于前一个日志信息包括的时间戳,且不晚于后一个日志信息包括的时间戳;
所述将所述第一日志信息存储至所述共享日志缓存区,具体包括:
将所述第一日志信息存储确定出的存储位置处。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收用户输入的第一操作指令,所述第一操作指令包括所述第一vSystem的标识;
根据所述第一vSystem的标识,确定与所述第一vSystem对应的第一独占日志缓存区;
当所述第一独占日志缓存区存在空闲存储单元,从所述第一独占日志缓存区中读取日志信息;
当所述第一独占日志缓存区未存在空闲存储单元,从所述第一独占日志缓存区中读取日志信息后,根据所述第一vSystem的标识,从所述共享日志缓存区中,读取与第一vSystem的标识匹配的日志信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收用户输入的第二操作指令,所述第二操作指令包括所述第一vSystem的标识;
根据所述第一vSystem的标识,确定与所述第一vSystem对应的第一独占日志缓存区;
当所述第一独占日志缓存区存在空闲存储单元,清除所述第一独占日志缓存区中存储的日志信息;
当所述第一独占日志缓存区未存在空闲存储单元,清除所述第一独占日志缓存区中存储的日志信息后,根据所述第一vSystem的标识,从所述共享日志缓存区中,清除与第一vSystem的标识匹配的日志信息。
6.一种日志处理装置,其特征在于,所述装置应用于网络设备,所述网络设备包括共享日志缓存区以及至少一个vSystem,每个vSystem具有一一对应的独占日志缓存区,所述装置包括:
第一判断单元,用于当第一vSystem对应的第一独占日志缓存区未存在空闲存储单元时,判断所述共享日志缓存区是否存在空闲存储单元;
存储单元,用于如果存在空闲存储单元,则将所述第一vSystem生成的第一日志信息存储至所述共享日志缓存区;
第二判断单元,用于如果未存在空闲存储单元,则判断所述共享日志缓存区中是否存在第二日志信息;
处理单元,用于若存在所述第二日志信息,则丢弃所述第一日志信息;
其中,所述第一日志信息包括的时间戳为所述第一独占日志缓存区中全部日志信息包括的时间戳的最小值;所述第二日志信息包括的时间戳不早于所述第一日志信息包括的时间戳,且所述第二日志信息包括的时间戳为所述共享日志缓存区中全部日志信息包括的时间戳的最小值。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
获取单元,用于若未存在第二日志信息,则从所述共享日志缓存区中获取第三日志信息,所述第三日志信息包括的时间戳为所述共享日志缓存区中全部日志信息包括的时间戳的最小值;
所述存储单元还用于,删除所述第三日志信息,并将所述第一日志信息存储至所述共享日志存储区。
8.根据权利要求6或7任一项所述的装置,其特征在于,所述装置还包括:
第一确定单元,用于遍历所述共享日志缓存区,根据所述第一日志信息包括的时间戳,确定所述第一日志信息在所述共享日志缓存区的存储位置,所述第一日志信息包括的时间戳晚于前一个日志信息包括的时间戳,且不晚于后一个日志信息包括的时间戳;
所述存储单元具体用于,将所述第一日志信息存储确定出的存储位置处。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收用户输入的第一操作指令,所述第一操作指令包括所述第一vSystem的标识;
第二确定单元,用于根据所述第一vSystem的标识,确定与所述第一vSystem对应的第一独占日志缓存区;
读取单元,用于当所述第一独占日志缓存区存在空闲存储单元,从所述第一独占日志缓存区中读取日志信息;
所述读取单元还用于,当所述第一独占日志缓存区未存在空闲存储单元,从所述第一独占日志缓存区中读取日志信息后,根据所述第一vSystem的标识,从所述共享日志缓存区中,读取与第一vSystem的标识匹配的日志信息。
10.根据权利要求9所述的装置,其特征在于,所述接收单元还用于,接收用户输入的第二操作指令,所述第二操作指令包括所述第一vSystem的标识;
所述第二确定单元还用于,根据所述第一vSystem的标识,确定与所述第一vSystem对应的第一独占日志缓存区;
所述装置还包括:清除单元,用于当所述第一独占日志缓存区存在空闲存储单元,清除所述第一独占日志缓存区中存储的日志信息;
所述清除单元还用于,当所述第一独占日志缓存区未存在空闲存储单元,清除所述第一独占日志缓存区中存储的日志信息后,根据所述第一vSystem的标识,从所述共享日志缓存区中,清除与第一vSystem的标识匹配的日志信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110198618.3A CN112965833B (zh) | 2021-02-23 | 2021-02-23 | 日志处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110198618.3A CN112965833B (zh) | 2021-02-23 | 2021-02-23 | 日志处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112965833A true CN112965833A (zh) | 2021-06-15 |
CN112965833B CN112965833B (zh) | 2023-07-14 |
Family
ID=76285564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110198618.3A Active CN112965833B (zh) | 2021-02-23 | 2021-02-23 | 日志处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112965833B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020124143A1 (en) * | 2000-10-05 | 2002-09-05 | Compaq Information Technologies Group, L.P. | System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system |
CN1798094A (zh) * | 2004-12-23 | 2006-07-05 | 华为技术有限公司 | 一种使用缓存区的方法 |
US8069366B1 (en) * | 2009-04-29 | 2011-11-29 | Netapp, Inc. | Global write-log device for managing write logs of nodes of a cluster storage system |
CN107016054A (zh) * | 2017-03-03 | 2017-08-04 | 京信通信技术(广州)有限公司 | 一种日志信息存储的方法及装置 |
CN110661728A (zh) * | 2019-09-12 | 2020-01-07 | 无锡江南计算技术研究所 | 多虚通道传输时共享与私有相结合的缓冲设计方法与装置 |
CN111078523A (zh) * | 2019-12-25 | 2020-04-28 | 惠州Tcl移动通信有限公司 | 日志获取方法、装置、存储介质及电子设备 |
CN111813630A (zh) * | 2020-07-14 | 2020-10-23 | 深圳市友杰智新科技有限公司 | 收集日志信息的方法、装置和计算机设备 |
-
2021
- 2021-02-23 CN CN202110198618.3A patent/CN112965833B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020124143A1 (en) * | 2000-10-05 | 2002-09-05 | Compaq Information Technologies Group, L.P. | System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system |
CN1798094A (zh) * | 2004-12-23 | 2006-07-05 | 华为技术有限公司 | 一种使用缓存区的方法 |
US8069366B1 (en) * | 2009-04-29 | 2011-11-29 | Netapp, Inc. | Global write-log device for managing write logs of nodes of a cluster storage system |
CN107016054A (zh) * | 2017-03-03 | 2017-08-04 | 京信通信技术(广州)有限公司 | 一种日志信息存储的方法及装置 |
CN110661728A (zh) * | 2019-09-12 | 2020-01-07 | 无锡江南计算技术研究所 | 多虚通道传输时共享与私有相结合的缓冲设计方法与装置 |
CN111078523A (zh) * | 2019-12-25 | 2020-04-28 | 惠州Tcl移动通信有限公司 | 日志获取方法、装置、存储介质及电子设备 |
CN111813630A (zh) * | 2020-07-14 | 2020-10-23 | 深圳市友杰智新科技有限公司 | 收集日志信息的方法、装置和计算机设备 |
Non-Patent Citations (9)
Title |
---|
QIUCHENG BAN: "Strategy of storing and accessing small web log files on Hadoop", 《2017 3RD IEEE INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATIONS (ICCC)》 * |
QIUCHENG BAN: "Strategy of storing and accessing small web log files on Hadoop", 《2017 3RD IEEE INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATIONS (ICCC)》, 26 March 2018 (2018-03-26) * |
STEPHEN M. RUMBLE: "Log-structured memory for DRAM-based storage", 《PROCEEDINGS OF THE 12TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES》, pages 1 - 16 * |
白青伟等: "面向协作的智能无线传感器网络的研究", 《信息通信》 * |
白青伟等: "面向协作的智能无线传感器网络的研究", 《信息通信》, no. 02, 15 April 2013 (2013-04-15) * |
秦承刚: "开放式数控系统的实时操作系统优化技术研究与应用", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
秦承刚: "开放式数控系统的实时操作系统优化技术研究与应用", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》, 15 October 2012 (2012-10-15) * |
阮厦城: "分布式环境下通用日志系统的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
黄明;戴颖;: "实时多线程系统的日志实现", 软件世界, no. 02 * |
Also Published As
Publication number | Publication date |
---|---|
CN112965833B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109962832B (zh) | 报文处理的方法和装置 | |
JP5514913B2 (ja) | フローアウェアネットワークノード内でデータパケットを処理するための方法 | |
JP3734704B2 (ja) | パケット分類エンジン | |
US20200159654A1 (en) | Pipelined hash table with reduced collisions | |
CN106844041B (zh) | 内存管理的方法及内存管理系统 | |
CN108139966B (zh) | 管理转址旁路缓存的方法和多核处理器 | |
US10616101B1 (en) | Forwarding element with flow learning circuit in its data plane | |
US8397025B2 (en) | Apparatus and method for determining a cache line in an N-way set associative cache using hash functions | |
US10977192B1 (en) | Real-time memory-page state tracking and its applications | |
US11151073B1 (en) | Augmenting data plane functionality with field programmable integrated circuits | |
CN109032533B (zh) | 一种数据存储方法、装置和设备 | |
US20200259766A1 (en) | Packet processing | |
JP6268116B2 (ja) | データ処理装置、データ処理方法およびコンピュータプログラム | |
US10073878B1 (en) | Distributed deduplication storage system with messaging | |
US20240281365A1 (en) | Memory paging method and system, and storage medium | |
CN107070719B (zh) | 一种设备管理方法和装置 | |
CN106878106B (zh) | 一种可达性检测方法及装置 | |
US10999223B1 (en) | Instantaneous garbage collection of network data units | |
JP2012155650A (ja) | ルータ及びメニーコアシステム | |
CN112965833B (zh) | 日志处理方法及装置 | |
CN109726144B (zh) | 一种数据报文的处理方法和装置 | |
US10817177B1 (en) | Multi-stage counters | |
CN116366548A (zh) | 一种IPv6子网的路由匹配方法 | |
US10374957B2 (en) | Traffic control method and apparatus | |
JP6266445B2 (ja) | パケット中継装置及びパケット中継方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |