CN118245461A - 一种日志处理方法、计算机程序产品、设备及介质 - Google Patents
一种日志处理方法、计算机程序产品、设备及介质 Download PDFInfo
- Publication number
- CN118245461A CN118245461A CN202410667099.4A CN202410667099A CN118245461A CN 118245461 A CN118245461 A CN 118245461A CN 202410667099 A CN202410667099 A CN 202410667099A CN 118245461 A CN118245461 A CN 118245461A
- Authority
- CN
- China
- Prior art keywords
- log
- hard disk
- disk
- structure information
- management structure
- 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
- 238000004590 computer program Methods 0.000 title claims abstract description 53
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000004458 analytical method Methods 0.000 claims abstract description 23
- 238000007726 management method Methods 0.000 claims description 175
- 238000001914 filtration Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims 1
- 238000005457 optimization Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000012005 ligant binding assay Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- 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
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了计算机技术领域内的一种日志处理方法、计算机程序产品、设备及介质。本发明将实时生成的日志数据从缓存区转存至多个硬盘,实现了同一日志的多备份存储,可以提高日志存储的可靠性、数据量、时效性和容错率,即使是程序故障导致系统死机,日志查看也不受影响;同时,每个硬盘中设有日志管理结构信息,其中记录有当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量,由此能够及时标定日志写入位置,提高日志落盘效率,能够为系统故障分析和性能优化提供更多的数据支持。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种日志处理方法、计算机程序产品、设备及介质。
背景技术
目前,一般将服务器等系统的运行重要日志存储在闪存中,但由于闪存容量有限,导致大量运行日志在存储过程中被覆盖丢失。当服务器发生故障,可能因为存储的运行日志信息太少,而不能及时定位故障和还原现场,给故障分析带来了不便。此外,由于存储的日志信息过少,在进行系统监控和性能优化时,也显得极难开展。
因此,如何提高系统运行日志的存储量和可靠性,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种日志处理方法、计算机程序产品、设备及介质,以提高系统运行日志的存储量和可靠性。其具体方案如下:
第一方面,本发明提供了一种日志处理方法,包括:
收集实时生成的日志数据;
将所述日志数据暂存至预先申请的缓存区;
在达到日志落盘条件时确定多个可用硬盘;
检测各个可用硬盘中是否存在日志管理结构信息;其中,各个可用硬盘中的日志管理结构信息包括:当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量;
若各个可用硬盘中存在日志管理结构信息,则根据各个可用硬盘中的日志管理结构信息,将所述缓存区中的日志数据写入各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新各个可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
另一方面,所述日志落盘条件为:所述缓存区被写满,或达到日志落盘的定时时间点,或系统异常掉电;
相应地,在达到日志落盘条件时确定多个可用硬盘,包括:
在所述缓存区被写满时确定多个可用硬盘;或在达到日志落盘的定时时间点时确定多个可用硬盘;在系统异常掉电时确定多个可用硬盘。
另一方面,确定多个可用硬盘,包括:
查询系统中的各个硬盘的盘信息;所述盘信息包括:盘是否运行正常、盘剩余容量、盘总容量和盘基地址;
根据各个硬盘的盘信息选择多个可用硬盘。
另一方面,各个硬盘被划分为多个大小相等的逻辑块,单一逻辑块的空间大小不小于所述缓存区的空间大小。
另一方面,将所述缓存区中的日志数据写入各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,包括:
通过内存管理单元查询各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块对应的盘物理地址;
将所述缓存区中的日志数据写入相应盘物理地址。
另一方面,还包括:
若任意可用硬盘中不存在日志管理结构信息,则在当前可用硬盘中创建日志管理结构信息后,根据当前可用硬盘中的日志管理结构信息,将所述缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
另一方面,还包括:
若任意可用硬盘中的日志管理结构信息指示当前盘已写满,则擦除当前可用硬盘中存储数据的时间最久的逻辑块;
将被擦除的逻辑块作为当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位以及当前盘中每个逻辑块已存储的数据量,根据当前可用硬盘中的日志管理结构信息,将所述缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
另一方面,还包括:
通过预设日志查询接口查询各个硬盘中的日志管理结构信息;
对比各个硬盘中的日志管理结构信息,以确定存储数据量最大的硬盘;
读取存储数据量最大的硬盘中的日志数据,以进行日志分析。
另一方面,对比各个硬盘中的日志管理结构信息,以确定存储数据量最大的硬盘,包括:
对比各个硬盘中的日志管理结构信息记录的下一个可写逻辑块的标识地址,以确定标识地址最大的下一个可写逻辑块;
将标识地址最大的下一个可写逻辑块所在的硬盘作为存储数据量最大的硬盘。
另一方面,还包括:
通过预设日志查询接口查询各个硬盘中的日志数据;
读取各个硬盘中的日志数据后,对读取的所有日志数据进行合并操作和去重操作,得到合并去重结果;
对所述合并去重结果进行日志分析。
另一方面,收集实时生成的日志数据,包括:
对实时生成的原始日志数据进行过滤;
收集过滤得到的日志数据。
另一方面,将所述日志数据暂存至预先申请的缓存区之前,还包括:
将所述日志数据转换为统一的目标数据格式,并添加日志时间戳和事件类型。
另一方面,本发明提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的日志处理方法。
另一方面,本发明提供了一种非易失性存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的日志处理方法。
另一方面,本发明提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现前述公开的日志处理方法的步骤。
通过以上方案可知,本发明提供了一种日志处理方法,包括:收集实时生成的日志数据;将所述日志数据暂存至预先申请的缓存区;在达到日志落盘条件时确定多个可用硬盘;检测各个可用硬盘中是否存在日志管理结构信息;其中,各个可用硬盘中的日志管理结构信息包括:当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量;若各个可用硬盘中存在日志管理结构信息,则根据各个可用硬盘中的日志管理结构信息,将所述缓存区中的日志数据写入各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新各个可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
可见,本发明的有益效果为:将实时生成的日志数据从缓存区转存至多个硬盘,实现了同一日志的多备份存储,可以提高日志存储的可靠性、数据量、时效性和容错率,即使是程序故障导致系统死机,日志查看也不受影响;同时,每个硬盘中设有日志管理结构信息,其中记录有当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量,由此能够及时标定日志写入位置,提高日志落盘效率,能够为系统故障分析和性能优化提供更多的数据支持。
相应地,本发明提供的一种日志处理计算机程序产品、设备及介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明公开的一种日志处理方法流程图;
图2为本发明公开的一种日志的存储过程方法流程图;
图3为本发明公开的一种RAID卡与硬盘的连接示意图;
图4为本发明公开的一种利用定时器进行日志保存的方法流程图;
图5为本发明公开的一种存盘流程图;
图6为本发明公开的一种硬盘存储数据的示意图;
图7为本发明公开的一种日志处理装置示意图;
图8为本发明提供的一种服务器结构图;
图9为本发明提供的一种终端结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实例,都属于本发明保护的范围。
目前,一般将服务器等系统的运行重要日志存储在闪存中,但由于闪存容量有限,导致大量运行日志在存储过程中被覆盖丢失。当服务器发生故障,可能因为存储的运行日志信息太少,而不能及时定位故障和还原现场,给故障分析带来了不便。此外,由于存储的日志信息过少,在进行系统监控和性能优化时,也显得极难开展。为此,本发明提供了一种日志处理方案,能够提高日志存储的可靠性、数据量、时效性和容错率。
参见图1所示,本发明实施例公开了一种日志处理方法,包括:
S101、收集实时生成的日志数据。
日志数据是记录服务器中系统、应用程序或事件活动的记录或文件,通常包括有关操作、状态、错误、警告、事件等的信息,可以以文本文件的形式存储,以便于查看、搜索和分析,可以包含时间戳、消息、级别、事件类型等信息,其主要作用是跟踪记录系统或应用程序的运行情况,以便在需要时进行故障排查、性能分析、安全审计和问题解决等。可见,通过收集分析系统关键日志,工程师可以远程对系统进行维护监控和故障定位,还可以对安全审计功能提供强有力的支持。
本实施例提供的方法应用于服务器等计算机设备,日志数据为设备运行产生的有关操作、状态、错误、警告和事件等的日志信息,如RAID卡运行日志。在一种实施方式中,收集实时生成的日志数据,包括:对实时生成的原始日志数据进行过滤;收集过滤得到的日志数据。其中,可以利用预设的过滤规则来去除不影响设备运行的不重要日志数据,以实现日志过滤。
S102、将日志数据暂存至预先申请的缓存区。
在一种实施方式中,将日志数据暂存至预先申请的缓存区之前,还包括:将日志数据转换为统一的目标数据格式(如文本、XML、JSON等),并添加日志时间戳和事件类型,以便后续进行日志检索和分析。
S103、在达到日志落盘条件时确定多个可用硬盘。
服务器等计算机设备上可插接多个硬盘,有的硬盘可能因软件故障或硬件故障而运行异常,这些即为不可用硬盘,其他则为可用硬盘。各个硬盘被划分为多个大小相等的逻辑块,单一逻辑块的空间大小不小于缓存区的空间大小。在一种实施方式中,确定多个可用硬盘,包括:查询系统中的各个硬盘的盘信息;盘信息包括:盘是否运行正常、盘剩余容量、盘总容量和盘基地址;根据各个硬盘的盘信息选择多个可用硬盘。
在一种实施方式中,日志落盘条件为:缓存区被写满,或达到日志落盘的定时时间点,或系统异常掉电;相应地,在达到日志落盘条件时确定多个可用硬盘,包括:在缓存区被写满时确定多个可用硬盘;或在达到日志落盘的定时时间点时确定多个可用硬盘;在系统异常掉电时确定多个可用硬盘。
S104、检测各个可用硬盘中是否存在日志管理结构信息。
其中,各个可用硬盘中的日志管理结构信息包括:当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
S105、若各个可用硬盘中存在日志管理结构信息,则根据各个可用硬盘中的日志管理结构信息,将缓存区中的日志数据写入各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新各个可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
S106、若任意可用硬盘中不存在日志管理结构信息,则在当前可用硬盘中创建日志管理结构信息后,根据当前可用硬盘中的日志管理结构信息,将缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
将缓存区中的日志数据写入可用硬盘中的日志管理结构信息指示的下一个可写逻辑块之后,清空缓冲区,以便缓存区暂存新产生的日志。
在一种实施方式中,将缓存区中的日志数据写入各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,包括:通过内存管理单元查询各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块对应的盘物理地址;将缓存区中的日志数据写入相应盘物理地址。
在一种实施方式中,若任意可用硬盘中的日志管理结构信息指示当前盘已写满,则擦除当前可用硬盘中存储数据的时间最久的逻辑块;将被擦除的逻辑块作为当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位以及当前盘中每个逻辑块已存储的数据量,根据当前可用硬盘中的日志管理结构信息,将缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
在一种实施方式中,通过预设日志查询接口查询各个硬盘中的日志管理结构信息;对比各个硬盘中的日志管理结构信息,以确定存储数据量最大的硬盘;读取存储数据量最大的硬盘中的日志数据,以进行日志分析。在一种实施方式中,对比各个硬盘中的日志管理结构信息,以确定存储数据量最大的硬盘,包括:对比各个硬盘中的日志管理结构信息记录的下一个可写逻辑块的标识地址,以确定标识地址最大的下一个可写逻辑块;将标识地址最大的下一个可写逻辑块所在的硬盘作为存储数据量最大的硬盘。
在一种实施方式中,通过预设日志查询接口查询各个硬盘中的日志数据;读取各个硬盘中的日志数据后,对读取的所有日志数据进行合并操作和去重操作,得到合并去重结果;对合并去重结果进行日志分析。
可见,本实施例将实时生成的日志数据从缓存区转存至多个硬盘,实现了同一日志的多备份存储,可以提高日志存储的可靠性、数据量、时效性和容错率,即使是程序故障导致系统死机,日志查看也不受影响;同时,每个硬盘中设有日志管理结构信息,其中记录有当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量,由此能够及时标定日志写入位置,提高日志落盘效率,能够为系统故障分析和性能优化提供更多的数据支持。
请参见图2,日志的存储过程一般包括:
1、收集日志:系统、应用程序或设备会生成各种类型的日志,如:事件日志、错误日志和安全日志等,这些日志可能包含关键的操作和事件信息。在日志保存过程中,首先需要收集这些日志。
2、筛选和过滤:由于日志可能会产生大量的数据,为了提高存储效率和减少存储成本,可以对日志进行筛选和过滤。可以根据需求和目标,定义筛选规则和过滤条件,只保存所需的、具有重要性的日志信息。
3、存储格式化:在将日志保存到存储介质之前,可以对日志进行格式化,可以将日志转换为特定格式,如文本、XML、JSON等,必要时可以添加时间戳和事件类型等,以便后续的检索和分析。
4、存储位置选择:选择适当的存储位置来保存日志,可以是本地存储介质(如硬盘、闪存)、网络存储(如文件服务器、网络附加存储)或云存储服务。其中,可以考虑容量、可靠性、可扩展性和安全性等因素进行存储位置的选择。
5、存储管理:一旦日志被保存,需要进行存储管理,以确保其完整性和可用性;存储管理包括定期备份、归档和删除旧的、不再需要的日志,具体可以根据需求和合规要求来制定存储管理策略,然后利用存储管理策略对各硬盘中存储的日志数据进行管理。
6、监控和报警:在日志保存过程中,需要进行监控和报警以确保日志的正常保存和可用性,具体可以包括:监控存储空间使用情况、检测存储故障、监控日志生成的速率等。当发生异常情况时,发送告警信息通知相关人员。
在本实施例中,将各个硬盘组成RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列),RAID是一种数据存储技术,简单的说,就是一种把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组,从而提供比单个硬盘更高的存储性能和提供数据备份的技术。RAID卡是用于控制和管理RAID阵列的硬件设备,RAID卡与硬盘的连接如图3所示。RAID是一种通过将多个独立硬盘组合起来形成逻辑卷的技术。RAID可以提供数据冗余、容错性和性能增强等功能。RAID技术通过将数据分布在多个磁盘上,并使用不同的数据分布和冗余策略,实现了对数据的保护和提高了数据的读写性能。
在本实施例中,设定逻辑块为硬盘中的最小保存单位,即:将一个硬盘划分成若干个逻辑块。假设硬盘空间为16M,每个逻辑块为4K,那么一个硬盘总共有16M/4K=4096个逻辑块。当然,一个逻辑块的空间大小可以为512字节等,具体可根据服务器操作系统进行设定。
LBA(Logical Block Address,逻辑块地址)是一种用于磁盘存储器的寻址方式,通过将磁盘划分为逻辑块,并使用逻辑块地址进行访问。LBA提供了一种统一的寻址方式,使得操作系统和应用程序可以直接访问磁盘上的数据。在RAID中,LBA被用作逻辑卷和物理磁盘之间的映射。逻辑卷在逻辑上被划分为多个逻辑块,而这些逻辑块的地址就是LBA。RAID控制器负责将逻辑块映射到物理磁盘上的相应位置,并执行数据的读取和写入操作。使用RAID技术后,逻辑卷的LBA地址空间可以超过单个物理磁盘的容量限制,因为RAID可以将数据分布在多个物理磁盘上。RAID控制器会根据具体的RAID级别和配置,将数据分割成块并分布到不同的物理磁盘上,以提供冗余性或性能增强。总结来说,LBA是一种磁盘数据寻址方式,而RAID是一种通过组合多个独立硬盘形成逻辑卷的技术。RAID使用LBA来映射逻辑卷和物理磁盘之间的关系,并实现数据的分布和冗余。RAID可以提供更高的存储性能、容错性和可扩展性,同时利用LBA提供了对逻辑卷的透明访问。
本实施例为提高日志保存的容量和可靠性,利用RAID卡硬盘资源丰富的优势,将大量运行日志保存在硬盘的特定区域,实现了在不占用闪存资源的情况下,对大量日志进行保存的需求。同时设计日志管理结构信息,为日志保存和后续的管理及监控分析等提供了极大的便利。
请参见图4,可以利用定时器进行日志保存,具体步骤包括:
步骤一、申请缓冲区:在内存中申请缓冲区,为提高硬盘利用率,缓冲区大小可参考单个逻辑块的大小。此示例中,申请缓冲区为4096byte(4KB)。缓冲区大小和单个逻辑块的大小保持一样。
步骤二、初始化定时器:申请一个周期性软件定时器,用来处理缓冲区长时间不满,导致缓冲区内的日志内容无法及时保存到硬盘中的场景。此为日志保存至硬盘的备选方案,定时器时间可根据系统产生日志的频率来设置。
步骤三、创建任务来实时监测缓冲区是否写满以及定时器是否到期,任一条件满足即可启动存盘流程,存盘结束时,清空缓冲区。
在一种示例中,存盘流程请参见图5,具体步骤包括:
步骤一、获取可用盘列表:由于服务器挂载的硬盘一般都很多,为了保证可靠性,将日志在每一个可用盘上都保存一份。此处,先查询盘是否在位状态,以获取可用盘列表。
步骤二、获取当前盘的基本信息,包括:逻辑块基地址、盘容量等。
步骤三、读取日志管理结构信息。
为方便管理,本实施例设计了一个日志管理结构信息,用来管理存日志的硬盘。一个盘的日志管理结构信息包括:此盘是否已写满、下一次保存日志时该写入的逻辑块序号,以及除管理逻辑块外,每个逻辑块中已保存的日志的大小。管理逻辑块位于当前盘中的首位置,用来存储该盘的日志管理结构信息。如果能从一个盘中读到日志管理结构信息,说明此盘上保存过日志。后续可直接保存并更新此盘上的日志管理结构信息即可;如果读不到日志管理信息,说明此盘上还未保存过任何日志(通常发生在第一次存盘时),此时需要在此盘上新建日志管理结构信息,详细步骤包括:如果一个盘上是否已写满标志位is_full=false、盘上可用逻辑块的个数lba_wrote_size=4092=4096-4、下一次保存日志时该写入的逻辑块序号为5,表示为save_loc=4(4代表下一个要写入的逻辑块编号为5),那么该盘上还未保存过任何日志。前4个逻辑块为管理逻辑块,故盘上逻辑块总数4096减去4等于盘上可用逻辑块的个数。本示例中预留前4个逻辑块为管理逻辑块,当然可预留更多或更少的管理逻辑块。
每个硬盘对应一个日志管理结构信息,如图6所示,每一行代表一个硬盘。
步骤四、根据管理结构中的is_full判断当前盘是否已写满。如已写满,则首先擦除最老的日志内容。如未写满,则继续步骤五。
步骤五、将日志内容写入盘中。
步骤六、更新日志管理结构信息,包括:lba_wrote_size[save_loc]=写盘大小(即缓冲区内容大小);save_loc=save_loc+1;如果save_loc超过可用逻辑块的大小,则save_loc=0,is_full=true;之后将更新后的管理结构信息写回到第一个逻辑块开始处。
至此,单个盘的日志保存即已结束。
由于本实施例用于将同一日志保存到多个硬盘中,因此重复步骤二到步骤六可循环处理每一个可用盘,确保每个盘上都保存了一份日志内容,以提高日志可靠性。
进一步地,本实施例还提供了日志查询接口。通过日志查询接口可查询确定哪个硬盘中的日志最全,其中save_loc值大的日志最全;若多个硬盘的save_loc值相同,则可以合并这两个硬盘中的日志,然后进行去重操作。当然,还可以合并全部硬盘中的日志,然后进行去重操作。
本实施例提出了一种提高日志保存容量和可靠性的方法,通过将RAID卡的运行日志数据保存在硬盘上,提高了日志保存的容量,通过将日志保存在每一个盘上,增加了日志的可靠性和容错性;通过增加定时器存盘机制,保证了日志保存的时效性;同时设计日志管理结构,使得日志的保存和查看变得清晰方便;为RAID卡的故障分析、性能监控优化和合规审核等提供了强有力的数据支持,解决了RAID卡日志存储容量受限,掉电不可查看,不够灵活可靠等问题。
下面对本发明实施例提供的一种日志处理装置进行介绍,下文描述的一种日志处理装置与本文描述的其他实施例可以相互参照。
参见图7所示,本发明实施例公开了一种日志处理装置,包括:
收集模块701,用于收集实时生成的日志数据;
暂存模块702,用于将所述日志数据暂存至预先申请的缓存区;
确定模块703,用于在达到日志落盘条件时确定多个可用硬盘;
检测模块704,用于检测各个可用硬盘中是否存在日志管理结构信息;其中,各个可用硬盘中的日志管理结构信息包括:当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量;
存储模块705,用于若各个可用硬盘中存在日志管理结构信息,则根据各个可用硬盘中的日志管理结构信息,将所述缓存区中的日志数据写入各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新各个可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
在一种实施方式中,所述日志落盘条件为:所述缓存区被写满,或达到日志落盘的定时时间点,或系统异常掉电;相应地,确定模块具体用于:在所述缓存区被写满时确定多个可用硬盘;或在达到日志落盘的定时时间点时确定多个可用硬盘;在系统异常掉电时确定多个可用硬盘。
在一种实施方式中,确定模块具体用于:查询系统中的各个硬盘的盘信息;所述盘信息包括:盘是否运行正常、盘剩余容量、盘总容量和盘基地址;根据各个硬盘的盘信息选择多个可用硬盘。
在一种实施方式中,各个硬盘被划分为多个大小相等的逻辑块,单一逻辑块的空间大小不小于所述缓存区的空间大小。
在一种实施方式中,存储模块具体用于:
通过内存管理单元查询各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块对应的盘物理地址;
将所述缓存区中的日志数据写入相应盘物理地址。
在一种实施方式中,存储模块还用于:若任意可用硬盘中不存在日志管理结构信息,则在当前可用硬盘中创建日志管理结构信息后,根据当前可用硬盘中的日志管理结构信息,将所述缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
在一种实施方式中,存储模块还用于:若任意可用硬盘中的日志管理结构信息指示当前盘已写满,则擦除当前可用硬盘中存储数据的时间最久的逻辑块;将被擦除的逻辑块作为当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位以及当前盘中每个逻辑块已存储的数据量,根据当前可用硬盘中的日志管理结构信息,将所述缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
在一种实施方式中,还包括:
查询模块,用于通过预设日志查询接口查询各个硬盘中的日志管理结构信息;对比各个硬盘中的日志管理结构信息,以确定存储数据量最大的硬盘;读取存储数据量最大的硬盘中的日志数据,以进行日志分析。
在一种实施方式中,查询模块具体用于:对比各个硬盘中的日志管理结构信息记录的下一个可写逻辑块的标识地址,以确定标识地址最大的下一个可写逻辑块;将标识地址最大的下一个可写逻辑块所在的硬盘作为存储数据量最大的硬盘。
在一种实施方式中,还包括:
查询模块,用于通过预设日志查询接口查询各个硬盘中的日志数据;读取各个硬盘中的日志数据后,对读取的所有日志数据进行合并操作和去重操作,得到合并去重结果;对所述合并去重结果进行日志分析。
在一种实施方式中,收集模块具体用于:
对实时生成的原始日志数据进行过滤;
收集过滤得到的日志数据。
在一种实施方式中,还包括:
格式转换模块,用于将所述日志数据转换为统一的目标数据格式,并添加日志时间戳和事件类型。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种日志处理装置,可以提高日志存储的可靠性、数据量、时效性和容错率。
下面对本发明实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与本文描述的其他实施例可以相互参照。
本发明实施例公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:收集实时生成的日志数据;将日志数据暂存至预先申请的缓存区;在达到日志落盘条件时确定多个可用硬盘;检测各个可用硬盘中是否存在日志管理结构信息;其中,各个可用硬盘中的日志管理结构信息包括:当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量;若各个可用硬盘中存在日志管理结构信息,则根据各个可用硬盘中的日志管理结构信息,将缓存区中的日志数据写入各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新各个可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:在缓存区被写满时确定多个可用硬盘;或在达到日志落盘的定时时间点时确定多个可用硬盘;在系统异常掉电时确定多个可用硬盘。日志落盘条件为:缓存区被写满,或达到日志落盘的定时时间点,或系统异常掉电。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:查询系统中的各个硬盘的盘信息;盘信息包括:盘是否运行正常、盘剩余容量、盘总容量和盘基地址;根据各个硬盘的盘信息选择多个可用硬盘。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:通过内存管理单元查询各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块对应的盘物理地址;将缓存区中的日志数据写入相应盘物理地址。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若任意可用硬盘中不存在日志管理结构信息,则在当前可用硬盘中创建日志管理结构信息后,根据当前可用硬盘中的日志管理结构信息,将缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若任意可用硬盘中的日志管理结构信息指示当前盘已写满,则擦除当前可用硬盘中存储数据的时间最久的逻辑块;将被擦除的逻辑块作为当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位以及当前盘中每个逻辑块已存储的数据量,根据当前可用硬盘中的日志管理结构信息,将缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:通过预设日志查询接口查询各个硬盘中的日志管理结构信息;对比各个硬盘中的日志管理结构信息,以确定存储数据量最大的硬盘;读取存储数据量最大的硬盘中的日志数据,以进行日志分析。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:对比各个硬盘中的日志管理结构信息记录的下一个可写逻辑块的标识地址,以确定标识地址最大的下一个可写逻辑块;将标识地址最大的下一个可写逻辑块所在的硬盘作为存储数据量最大的硬盘。
在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:通过预设日志查询接口查询各个硬盘中的日志数据;读取各个硬盘中的日志数据后,对读取的所有日志数据进行合并操作和去重操作,得到合并去重结果;对合并去重结果进行日志分析。
进一步的,本发明实施例还提供了一种电子设备。其中,上述电子设备既可以是如图8所示的服务器,也可以是如图9所示的终端。图8和图9均是根据一示例性实施例示出的电子设备结构图,图中的内容不能被认为是对本发明的使用范围的任何限制。
图8为本发明实施例提供的一种服务器的结构示意图。该服务器具体可以包括:至少一个处理器、至少一个存储器、电源、通信接口、输入输出接口和通信总线。其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行,以实现前述任一实施例公开的日志处理中的相关步骤。
本实施例中,电源用于为服务器上的各硬件设备提供工作电压;通信接口能够为服务器创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
其中,操作系统用于管理与控制服务器上的各硬件设备以及计算机程序,以实现处理器对存储器中数据的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序除了包括能够用于完成前述任一实施例公开的日志处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据除了可以包括应用程序的更新信息等数据外,还可以包括应用程序的开发商信息等数据。
图9为本发明实施例提供的一种终端的结构示意图,该终端具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
通常,本实施例中的终端包括有:处理器和存储器。
其中,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器可以包括一个或多个计算机非易失性存储介质,该计算机非易失性存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器至少用于存储以下计算机程序,其中,该计算机程序被处理器加载并执行之后,能够实现前述任一实施例公开的由终端侧执行的日志处理方法中的相关步骤。另外,存储器所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括Windows、Unix、Linux等。数据可以包括但不限于应用程序的更新信息。
在一些实施例中,终端还可包括有显示屏、输入输出接口、通信接口、传感器、电源以及通信总线。
本领域技术人员可以理解,图9中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件。
下面对本发明实施例提供的一种非易失性存储介质进行介绍,下文描述的一种非易失性存储介质与本文描述的其他实施例可以相互参照。
一种非易失性存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的日志处理方法。其中,非易失性存储介质为计算机可读的非易失性存储介质,其作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:收集实时生成的日志数据;将日志数据暂存至预先申请的缓存区;在达到日志落盘条件时确定多个可用硬盘;检测各个可用硬盘中是否存在日志管理结构信息;其中,各个可用硬盘中的日志管理结构信息包括:当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量;若各个可用硬盘中存在日志管理结构信息,则根据各个可用硬盘中的日志管理结构信息,将缓存区中的日志数据写入各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新各个可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:在缓存区被写满时确定多个可用硬盘;或在达到日志落盘的定时时间点时确定多个可用硬盘;在系统异常掉电时确定多个可用硬盘。日志落盘条件为:缓存区被写满,或达到日志落盘的定时时间点,或系统异常掉电。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:查询系统中的各个硬盘的盘信息;盘信息包括:盘是否运行正常、盘剩余容量、盘总容量和盘基地址;根据各个硬盘的盘信息选择多个可用硬盘。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:通过内存管理单元查询各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块对应的盘物理地址;将缓存区中的日志数据写入相应盘物理地址。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若任意可用硬盘中不存在日志管理结构信息,则在当前可用硬盘中创建日志管理结构信息后,根据当前可用硬盘中的日志管理结构信息,将缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若任意可用硬盘中的日志管理结构信息指示当前盘已写满,则擦除当前可用硬盘中存储数据的时间最久的逻辑块;将被擦除的逻辑块作为当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位以及当前盘中每个逻辑块已存储的数据量,根据当前可用硬盘中的日志管理结构信息,将缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:通过预设日志查询接口查询各个硬盘中的日志管理结构信息;对比各个硬盘中的日志管理结构信息,以确定存储数据量最大的硬盘;读取存储数据量最大的硬盘中的日志数据,以进行日志分析。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:对比各个硬盘中的日志管理结构信息记录的下一个可写逻辑块的标识地址,以确定标识地址最大的下一个可写逻辑块;将标识地址最大的下一个可写逻辑块所在的硬盘作为存储数据量最大的硬盘。
在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:通过预设日志查询接口查询各个硬盘中的日志数据;读取各个硬盘中的日志数据后,对读取的所有日志数据进行合并操作和去重操作,得到合并去重结果;对合并去重结果进行日志分析。
下面对本发明实施例提供的一种计算机程序产品进行介绍,下文描述的一种计算机程序产品与本文描述的其他实施例可以相互参照。
一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现前述公开的日志处理方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的非易失性存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种日志处理方法,其特征在于,包括:
收集实时生成的日志数据;
将所述日志数据暂存至预先申请的缓存区;
在达到日志落盘条件时确定多个可用硬盘;
检测各个可用硬盘中是否存在日志管理结构信息;其中,各个可用硬盘中的日志管理结构信息包括:当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量;
若各个可用硬盘中存在日志管理结构信息,则根据各个可用硬盘中的日志管理结构信息,将所述缓存区中的日志数据写入各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新各个可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
2.根据权利要求1所述的方法,其特征在于,所述日志落盘条件为:所述缓存区被写满,或达到日志落盘的定时时间点,或系统异常掉电;
相应地,在达到日志落盘条件时确定多个可用硬盘,包括:
在所述缓存区被写满时确定多个可用硬盘;或在达到日志落盘的定时时间点时确定多个可用硬盘;在系统异常掉电时确定多个可用硬盘。
3.根据权利要求1所述的方法,其特征在于,确定多个可用硬盘,包括:
查询系统中的各个硬盘的盘信息;所述盘信息包括:盘是否运行正常、盘剩余容量、盘总容量和盘基地址;
根据各个硬盘的盘信息选择多个可用硬盘。
4.根据权利要求1所述的方法,其特征在于,各个硬盘被划分为多个大小相等的逻辑块,单一逻辑块的空间大小不小于所述缓存区的空间大小。
5.根据权利要求1所述的方法,其特征在于,将所述缓存区中的日志数据写入各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,包括:
通过内存管理单元查询各个可用硬盘中的日志管理结构信息指示的下一个可写逻辑块对应的盘物理地址;
将所述缓存区中的日志数据写入相应盘物理地址。
6.根据权利要求1所述的方法,其特征在于,还包括:
若任意可用硬盘中不存在日志管理结构信息,则在当前可用硬盘中创建日志管理结构信息后,根据当前可用硬盘中的日志管理结构信息,将所述缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
7.根据权利要求1所述的方法,其特征在于,还包括:
若任意可用硬盘中的日志管理结构信息指示当前盘已写满,则擦除当前可用硬盘中存储数据的时间最久的逻辑块;
将被擦除的逻辑块作为当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位以及当前盘中每个逻辑块已存储的数据量,根据当前可用硬盘中的日志管理结构信息,将所述缓存区中的日志数据写入当前可用硬盘中的日志管理结构信息指示的下一个可写逻辑块,并更新当前可用硬盘中的日志管理结构信息记录的当前盘是否写满标志位、当前盘中的下一个可写逻辑块以及当前盘中每个逻辑块已存储的数据量。
8.根据权利要求1至7任一项所述的方法,其特征在于,还包括:
通过预设日志查询接口查询各个硬盘中的日志管理结构信息;
对比各个硬盘中的日志管理结构信息,以确定存储数据量最大的硬盘;
读取存储数据量最大的硬盘中的日志数据,以进行日志分析。
9.根据权利要求8所述的方法,其特征在于,对比各个硬盘中的日志管理结构信息,以确定存储数据量最大的硬盘,包括:
对比各个硬盘中的日志管理结构信息记录的下一个可写逻辑块的标识地址,以确定标识地址最大的下一个可写逻辑块;
将标识地址最大的下一个可写逻辑块所在的硬盘作为存储数据量最大的硬盘。
10.根据权利要求1至7任一项所述的方法,其特征在于,还包括:
通过预设日志查询接口查询各个硬盘中的日志数据;
读取各个硬盘中的日志数据后,对读取的所有日志数据进行合并操作和去重操作,得到合并去重结果;
对所述合并去重结果进行日志分析。
11.根据权利要求1至7任一项所述的方法,其特征在于,收集实时生成的日志数据,包括:
对实时生成的原始日志数据进行过滤;
收集过滤得到的日志数据。
12.根据权利要求1至7任一项所述的方法,其特征在于,将所述日志数据暂存至预先申请的缓存区之前,还包括:
将所述日志数据转换为统一的目标数据格式,并添加日志时间戳和事件类型。
13.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至12任一项所述的方法。
14.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至12任一项所述的方法。
15.一种非易失性存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410667099.4A CN118245461B (zh) | 2024-05-28 | 2024-05-28 | 一种日志处理方法、计算机程序产品、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410667099.4A CN118245461B (zh) | 2024-05-28 | 2024-05-28 | 一种日志处理方法、计算机程序产品、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118245461A true CN118245461A (zh) | 2024-06-25 |
CN118245461B CN118245461B (zh) | 2024-08-23 |
Family
ID=91556902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410667099.4A Active CN118245461B (zh) | 2024-05-28 | 2024-05-28 | 一种日志处理方法、计算机程序产品、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118245461B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030051109A1 (en) * | 2001-06-28 | 2003-03-13 | Cochran Robert A. | Method and system for providing logically consistent logical unit backup snapshots within one or more data storage devices |
US20060095659A1 (en) * | 2004-10-29 | 2006-05-04 | Hitachi Global Storage Technologies Netherlands, B.V. | Hard disk drive with support for atomic transactions |
US20080059542A1 (en) * | 2006-08-30 | 2008-03-06 | Inmage Systems, Inc. | Ensuring data persistence and consistency in enterprise storage backup systems |
CN103176888A (zh) * | 2011-12-22 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 一种日志记录的方法和系统 |
CN105183621A (zh) * | 2015-08-17 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于多线程的日志管理方法及系统 |
CN105339885A (zh) * | 2013-05-23 | 2016-02-17 | 网络装置公司 | 磁盘上数据的小随机更改的高效存储 |
CN107402890A (zh) * | 2017-07-24 | 2017-11-28 | 华中科技大学 | 一种基于固态盘阵列和缓存的数据处理方法及系统 |
US20200104257A1 (en) * | 2018-09-27 | 2020-04-02 | Samsung Electronics Co., Ltd. | Method of operating storage device, storage device performing the same and storage system including the same |
CN111159119A (zh) * | 2019-12-29 | 2020-05-15 | 北京浪潮数据技术有限公司 | 一种san存储系统的日志管理方法、系统及相关组件 |
CN111858531A (zh) * | 2020-07-14 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种基于多核硬盘的日志存储方法、系统及相关组件 |
CN115221131A (zh) * | 2022-06-07 | 2022-10-21 | 浪潮软件集团有限公司 | 一种时序数据库高速数据读写方法及装置 |
CN115952110A (zh) * | 2023-03-09 | 2023-04-11 | 浪潮电子信息产业股份有限公司 | 一种数据缓存方法、装置、设备和计算机可读存储介质 |
CN116775579A (zh) * | 2023-06-25 | 2023-09-19 | 苏州浪潮智能科技有限公司 | 一种日志管理方法、系统、存储介质及设备 |
-
2024
- 2024-05-28 CN CN202410667099.4A patent/CN118245461B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030051109A1 (en) * | 2001-06-28 | 2003-03-13 | Cochran Robert A. | Method and system for providing logically consistent logical unit backup snapshots within one or more data storage devices |
US20060095659A1 (en) * | 2004-10-29 | 2006-05-04 | Hitachi Global Storage Technologies Netherlands, B.V. | Hard disk drive with support for atomic transactions |
US20080059542A1 (en) * | 2006-08-30 | 2008-03-06 | Inmage Systems, Inc. | Ensuring data persistence and consistency in enterprise storage backup systems |
CN103176888A (zh) * | 2011-12-22 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 一种日志记录的方法和系统 |
CN105339885A (zh) * | 2013-05-23 | 2016-02-17 | 网络装置公司 | 磁盘上数据的小随机更改的高效存储 |
CN105183621A (zh) * | 2015-08-17 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于多线程的日志管理方法及系统 |
CN107402890A (zh) * | 2017-07-24 | 2017-11-28 | 华中科技大学 | 一种基于固态盘阵列和缓存的数据处理方法及系统 |
US20200104257A1 (en) * | 2018-09-27 | 2020-04-02 | Samsung Electronics Co., Ltd. | Method of operating storage device, storage device performing the same and storage system including the same |
CN111159119A (zh) * | 2019-12-29 | 2020-05-15 | 北京浪潮数据技术有限公司 | 一种san存储系统的日志管理方法、系统及相关组件 |
CN111858531A (zh) * | 2020-07-14 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种基于多核硬盘的日志存储方法、系统及相关组件 |
CN115221131A (zh) * | 2022-06-07 | 2022-10-21 | 浪潮软件集团有限公司 | 一种时序数据库高速数据读写方法及装置 |
CN115952110A (zh) * | 2023-03-09 | 2023-04-11 | 浪潮电子信息产业股份有限公司 | 一种数据缓存方法、装置、设备和计算机可读存储介质 |
CN116775579A (zh) * | 2023-06-25 | 2023-09-19 | 苏州浪潮智能科技有限公司 | 一种日志管理方法、系统、存储介质及设备 |
Non-Patent Citations (1)
Title |
---|
邱元杰, 刘心松, 杨峰: "一种高效的分布式并行数据库日志机制", 计算机研究与发展, no. 11, 16 November 2004 (2004-11-16) * |
Also Published As
Publication number | Publication date |
---|---|
CN118245461B (zh) | 2024-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10067712B2 (en) | Virtual disk drive system and method | |
US9619472B2 (en) | Updating class assignments for data sets during a recall operation | |
US9772894B2 (en) | Systems, methods, and machine-readable media to perform state data collection | |
US9996477B2 (en) | Asynchronous drive telemetry data notification | |
CN100407121C (zh) | 信息处理系统和一次存储装置 | |
US20120124285A1 (en) | Virtual disk drive system and method with cloud-based storage media | |
US20060106893A1 (en) | Incremental backup operations in storage networks | |
US20100268689A1 (en) | Providing information relating to usage of a simulated snapshot | |
US10073774B2 (en) | Managing input/output operations for shingled magnetic recording in a storage system | |
US9990150B2 (en) | Method to provide transactional semantics for updates to data structures stored in a non-volatile memory | |
CN111857540B (zh) | 数据存取方法、装置和计算机程序产品 | |
CN115576505B (zh) | 一种数据存储方法、装置、设备及可读存储介质 | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
CN111522703A (zh) | 监控访问请求的方法、设备和计算机程序产品 | |
US10642508B2 (en) | Method to limit impact of partial media failure of disk drive and detect/report the loss of data for objects due to partial failure of media | |
US20070106868A1 (en) | Method and system for latency-directed block allocation | |
CN115629714B (zh) | Raid卡的写方法、raid卡的写系统及相关装置 | |
CN101566930B (zh) | 虚拟磁盘驱动系统和方法 | |
US20240264762A1 (en) | Data Write Method and Related Device | |
US9703795B2 (en) | Reducing fragmentation in compressed journal storage | |
CN107766178A (zh) | 电子档案存储系统、存储方法及修复方法 | |
CN118245461B (zh) | 一种日志处理方法、计算机程序产品、设备及介质 | |
US20200387477A1 (en) | Storage system and snapshot management method | |
CN113391937A (zh) | 用于存储管理的方法、电子设备以及计算机程序产品 | |
CN101739308B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |