System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及存储系统,特别是涉及一种日志处理方法、装置和计算机设备。
技术介绍
1、在存储系统发生异常的情况下,及时对存储系统中的数据进行修复,对保障存储系统的正常运行尤为重要。
2、相关技术中,通常采用预写日志(write-ahead logging,wal)技术,在对数据库进行操作前,将所有对数据库的修改操作日志记录在wal文件中作为系统日志。这样,在存储系统发生异常时,可以通过解析系统日志快速恢复数据库的一致性状态,保障存储系统的正常运行。
3、然而,相关技术中在记录数据库的修改操作日志过程中,存在日志处理效率较低的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提升日志处理效率的日志处理方法、装置和计算机设备。
2、第一方面,本申请提供了一种日志处理方法,该方法包括:
3、响应于针对存储系统的数据操作请求,将数据操作请求对应的操作数据写入系统日志中当前的第一个日志班车中;系统日志包括预先划分好的多个日志班车;
4、在第一个日志班车满足预设条件的情况下,对第一个日志班车中的日志数据进行固化处理,并将系统日志中的第二个日志班车更新为新的第一个日志班车。
5、本申请实施例提供的技术方案中,响应于针对存储系统的数据操作请求,将数据操作请求对应的操作数据写入系统日志中当前的第一个日志班车中,接着在第一个日志班车满足预设条件的情况下,对第一个日志班车中的日志数据进行固化处理,并将系统日志中的第二
6、在其中一个实施例中,预设条件包括以下至少一个:
7、第一个日志班车中的数据容量达到预设容量阈值;
8、当前时刻到达第一个日志班车的响应时刻;
9、第一个日志班车未响应系统调度请求的次数达到预设数量阈值。
10、本申请实施例提供的技术方案中,考虑了日志班车的数据容量、响应时刻、未响应系统调度请求在内的多方面因素,并以此为依据,分别设置了不同的预设条件,这样,就可以根据不同的预设条件,从不同维度确定第一个日志班车的数据固化处理时机,并就最先满足任一预设条件的时刻作为对第一个日志班车的日志数据进行处理的时机,从而缩短日志班车中日志数据的响应时间,提升日志班车中各组日志数据的响应速度。
11、在其中一个实施例中,对第一个日志班车中的日志数据进行固化处理,包括:
12、对第一个日志班车的日志数据进行聚合处理,得到班车日志数据;
13、将班车日志数据写入不同的固化介质中;
14、按照固化介质中的各日志数据的写入时间,将固化介质中的日志数据写入存储系统的应用队列。
15、本申请实施例提供的技术方案中,对单个日志班车,对日志班车内部的班车日志数据进行聚合处理,实现对单个日志班车的日志数据的统一固化,提升日志写盘效率;接着将班车日志数据冗余存储至不同的固化介质中,提升日志班车数据的安全性;最后按照日志写入时间,将固化的班车日志数据写入应用队列中,确保应用队列中日志数据的写入顺序和读取顺序的一致性。
16、在其中一个实施例中,将班车日志数据写入不同的固化介质中,包括:
17、对班车日志数据进行复制,得到多个数据副本;
18、将班车日志数据和各数据副本分别写入不同的固化介质中。
19、本申请实施例提供的技术方案中,对班车日志数据进行复制,得到多个数据副本,接着将班车日志数据和复制得到的多份数据副本写入不同的固化介质中,相当于对班车日志数据进行备份,并冗余存储在不同的固化介质中,这种冗余存储的方式可以加快班车日志数据的查询速度,同时保障班车日志数据的可靠性和一致性。
20、在其中一个实施例中,该方法还包括:
21、响应于日志数据的获取请求,获取应用队列中各日志数据的写入时间;
22、按照写入时间从远到近的顺序,依次拉取应用队列中的日志数据。
23、本申请实施例提供的技术方案中,响应于日志数据的获取请求,根据应用队列中各日志数据的写入时间,依次拉取应用队列中的日志数据,遵循应用队列先入先出的机制,保障日志数据写入顺序与日志数据固化顺序、日志数据读取顺序的一致性。
24、在其中一个实施例中,该方法还包括:
25、在第一个日志班车中的日志数据固化完成的情况下,删除第一个日志班车中的日志数据,并将删除日志数据的第一个日志班车确定为系统日志的最后一个日志班车,以轮转系统日志中的各日志班车。
26、本申请实施例提供的技术方案中,在第一个日志班车中的日志数据固化完成的情况下,及时删除第一个日志班车中的日志数据,释放日志班车空间,并将释放空间后的第一个日志班车确定为系统日志的最后一个日志班车,实现系统日志的班车轮转,以循环重复利用系统日志的存储空间。
27、在其中一个实施例中,该方法还包括:
28、监测第一个日志班车中的日志数据的第一固化进度和日志数据对应的各数据副本的第二固化进度;
29、在第一固化进度和第二固化进度均完成的情况下,确定第一个日志班车中的日志数据固化完成。
30、本申请实施例提供的技术方案中,对于单个日志班车进行固化时,采用多副本一致性策略对日志班车中的日志数据和日志数据对应的各数据副本进行固化,并在日志班车的日志数据和各数据副本均固化完成的情况下,确定日志数据固化完成,保障日志数据固化结果的有效性和完整性。
31、在其中一个实施例中,在响应于针对数据库的修改操作,将修改操作写入系统日志中之前,该方法还包括:
32、响应于目标业务需求,制定系统日志的单个日志班车容量;
33、根据单个日志班车容量,对系统日志进行划分,得到多个日志班车。
34、本申请实施例提供的技术方案中,根据制定系统日志的单个日志班车容量,对系统日志进行划分,得到多个日志班车,支持在不同的业务场景下,根据业务需求定制单个日志班车的容量,在日志下刷效率和整体吞吐之间选择适合业务的配置,提升日志处理方法的场景适用性。
35、第二方面,本申请还提供了一种日志处理装置,该装置包括:
36、请求响应模块,用于响应于针对存储系统的数据操作请求,将数据操作请求对应的操作数据写入本文档来自技高网...
【技术保护点】
1.一种日志处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述预设条件包括以下至少一个:
3.根据权利要求1或2所述的方法,其特征在于,所述对所述第一个日志班车中的日志数据进行固化处理,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述班车日志数据写入不同的固化介质中,包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1或2所述的方法,其特征在于,在所述响应于针对数据库的修改操作,将所述修改操作写入系统日志中之前,所述方法还包括:
9.一种日志处理装置,其特征在于,所述装置包括:
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
【技术特征摘要】
1.一种日志处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述预设条件包括以下至少一个:
3.根据权利要求1或2所述的方法,其特征在于,所述对所述第一个日志班车中的日志数据进行固化处理,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述班车日志数据写入不同的固化介质中,包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1或2所述的方法,...
【专利技术属性】
技术研发人员:苏卫宁,刘立黎,吴瑞强,刘杰,袁泽康,
申请(专利权)人:曙光信息产业股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。