当前位置: 首页 > 专利查询>清华大学专利>正文

一种日志管理方法及装置制造方法及图纸

技术编号:35331012 阅读:28 留言:0更新日期:2022-10-26 11:48
本申请公开了一种日志管理方法及装置,尤其涉及数据存储领域。该日志管理方法包括:首先,处理器将硬盘的存储空间划分为多个段,一个段包括一个或多个物理块,该一个段用于存储日志;其次,处理器接收第一写日志请求和第二写日志请求,该第一写日志请求包括第一日志项,该第二写日志请求包括第二日志项;最后,处理器并行地将第一日志项写入多个段中的第一段,以及将第二日志项写入第一段。由于硬盘的存储空间被划分为多个段,避免了硬盘以日志文件的形式存储日志,减少了日志写入过程中文件锁的开销,提高了日志写入的效率;多个日志项可以被并行的写入一个段,避免了在日志文件中写入日志项所需的加锁过程,提高了日志并行写入硬盘的效率。入硬盘的效率。入硬盘的效率。

【技术实现步骤摘要】
一种日志管理方法及装置


[0001]本申请涉及数据存储领域,尤其涉及一种日志管理方法及装置。

技术介绍

[0002]预写式日志(write ahead log,WAL)提供了一种高并发、持久化的日志保存与回放机制。服务器在将业务数据写入存储设备之前,都会记录在WAL中。通常,在日志写入过程中,服务器使用追加写的方式将多个日志写入存储设备,存储设备以日志文件(log file)的形式保存日志,其中,每个日志文件包括固定数目的日志项。然而,服务器在追加写日志的过程中,需要将新日志项所要写入的日志文件进行加锁,导致日志写入速度较慢。因此,如何提高日志写入的效率成为目前亟需解决的问题。

技术实现思路

[0003]本申请提供一种日志管理方法及装置,解决了服务器以日志文件为粒度写入日志所导致的日志写入速度较慢的问题。
[0004]为达到上述目的,本申请采用如下技术方案。
[0005]第一方面,本申请提供了一种日志管理方法,该方法可应用于处理器,或者该方法可应用于可以支持处理器实现该方法的通信设备,例如该通信设备包括芯片系统,该日志管理方法包括:首先,处理器将硬盘的存储空间划分为多个段,一个段包括一个或多个物理块(block),该一个段用于存储日志;其次,处理器接收第一写日志请求和第二写日志请求,该第一写日志请求包括第一日志项,该第二写日志请求包括第二日志项;最后,处理器并行地将第一日志项写入多个段中的第一段,以及将第二日志项写入第一段。在本申请的实施例中,由于硬盘的存储空间被划分为多个段,硬盘基于段管理日志,避免了硬盘以日志文件的形式存储日志,减少了日志写入过程中文件锁的开销,提高了日志写入的效率;除此之外,多个日志项可以被并行的写入一个段,避免了在日志文件中写入日志项所需的加锁过程,提高了日志并行写入硬盘的效率。
[0006]本申请实施例中的日志是指业务数据,或业务数据的副本或快照或克隆等。
[0007]作为一种可能的实现方式,在处理器将第一日志项写入第一段的过程中或者在将第二日志项写入第一段的过程中没有执行加锁机制。相较于通常技术中日志系统执行文件锁机制,导致多个日志项无法并行写入硬盘的问题,本申请的实施例所提供的日志管理方法,由于处理器没有对硬盘执行加锁机制,因此,处理器可以并行地将第一日志项和第二日志项写入硬盘的第一段,提高了处理器将多个日志项并行写入硬盘的效率。
[0008]作为另一种可能的实现方式,该日志管理方法还包括:处理器将第一写日志请求的日志序列号LSN与日志索引进行匹配,确定第一写日志请求包括的第一日志项待写入的段是第一段。其中,该日志索引用于指示第一段与LSN的对应关系。处理器将写日志请求的LSN与该日志索引进行匹配,确定写日志请求包括的日志项所要写入的段,减少了日志写入所需的路径查询时间,提高了日志写入的效率。
[0009]作为另一种可能的实现方式,日志索引包括第一索引和第二索引,第一索引用于指示第一段在硬盘中的存储地址范围,第二索引用于至少一个存储地址范围中每个日志项的LSN和存储地址之间的对应关系。
[0010]上述处理器将LSN与日志索引进行匹配确定第一段的过程可以包括:处理器判断LSN与第三日志项的LSN是否连续,第三日志项为第二索引记录的任意一个日志项;若LSN与第三日志项的LSN连续,处理器将第三日志项所在的段作为第一段;若LSN与第三日志项的LSN不连续,处理器将LSN与第一索引进行匹配确定第一段,第一段中第一个日志项的LSN与第一写日志请求的LSN匹配。由于处理器的缓存的存储容量较小,使得缓存中无法存储大量的索引数据,在本申请实施例所提供的日志管理方法中,日志索引包括第一索引和第二索引,处理器可以先对第一索引和第二索引中任一个进行优先匹配,若匹配成功,则可以避免处理器查找日志索引中所有的数据,减少日志写入所需的路径查询时间,提高日志写入效率。
[0011]在日志读取的过程中,处理器也可以先将读日志请求的LSN与第二索引进行匹配,若匹配成功(命中),则处理器可以依据第二索引确定读日志请求所要读取的日志项所在的存储地址,减少了日志读取所需的路径查询时间,提高了日志读取的效率。若读日志请求的LSN未在第二索引中命中,则处理器可以依据第一索引确定读日志请求所要读取的日志段,通过遍历该日志段得到读日志请求对应的日志项,避免了处理器将在文件系统中查询读日志请求的存储地址,提高了日志读取的效率。
[0012]作为另一种可能的实现方式,日志索引存储在缓存中。该缓存可以是处理器的内存储器。在日志写入过程中,处理器中的处理单元可以读取缓存中的日志索引,从而快速确定写日志请求包括的日志项所要写入的段,减少了日志写入所需的路径查询时间,提高了日志写入的效率。
[0013]作为另一种可能的实现方式,第一日志项包括描述信息和数据信息,描述信息包括第一写日志请求的LSN、日志项长度以及日志项长度校验和,数据信息用于指示第一日志项记录的日志内容。该日志项长度校验和用于确定该第一日志项的完整性和准确性,日志项长度用于确定第一日志项所占据的存储空间大小,LSN用于指示第一写日志请求的日志添加操作的序号。在一些可能的示例中,第一日志项包括的描述信息也可以称为第一日志项的元数据信息。
[0014]作为另一种可能的实现方式,上述处理器将第一日志项写入第一段的过程,包括:处理器依据第一写日志请求的LSN生成起始存储地址,起始存储地址处于第一段的存储地址范围;进而,处理器依据起始存储地址将第一日志项写入第一段。在处理器将日志项写入硬盘的过程中,首先依据写日志请求的LSN生成起始存储地址,再依据起始存储地址将写日志请求包括的日志项写入硬盘中,避免了处理器随机的将日志项写入硬盘,保证了日志写入的准确性。
[0015]作为另一种可能的实现方式,在处理器依据第一写日志请求的LSN生成起始存储地址之后,该日志管理方法还包括:处理器向备份设备发送第一写日志请求的LSN和起始存储地址。在日志系统具有多个存储设备的情况下,若处理器为主副本节点(简称:主节点),主节点向从副本节点(简称:从节点)发送写日志请求的LSN和起始存储地址,并由从节点依据该写日志请求的LSN和起始存储地址,将写日志请求包括的日志项写入第一段中,避免了
主节点的日志写入完成后再去从节点备份,提高了多写场景的写入效率。
[0016]作为另一种可能的实现方式,在处理器接收第一写日志请求之后,该日志管理方法还包括:处理器接收备份设备发送的第一写日志请求的LSN和起始存储地址,并依据第一写日志请求的LSN和起始存储地址,将第一日志项写入第一段。在日志系统具有多个存储设备的情况下,若处理器为从节点,处理器在接收到客户端发送的写日志请求之后,还可以接收备份设备(主节点)发送的写日志请求的LSN和起始存储地址,并由处理器(从节点)依据该写日志请求的LSN和起始存储地址,将写日志请求包括的日志项写入第一段中,避免了主节点的日志写入完成后再去从节点备份,提高了多写场景的写入效率。
[0017]作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志管理方法,其特征在于,包括:将硬盘的存储空间划分为多个段,一个段包括一个或多个物理块,所述一个段用于存储日志;接收第一写日志请求和第二写日志请求,所述第一写日志请求包括第一日志项,所述第二写日志请求包括第二日志项;并行地将所述第一日志项写入所述多个段中的第一段,以及将所述第二日志项写入所述第一段。2.根据权利要求1所述的方法,其特征在于,在所述将所述第一日志项写入所述第一段的过程中或者在所述将所述第二日志项写入所述第一段的过程中没有执行加锁机制。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:将所述第一写日志请求的日志序列号LSN与日志索引进行匹配,确定所述第一日志项待写入的段是所述第一段,所述日志索引用于指示所述第一段与所述LSN的对应关系。4.根据权利要求3所述的方法,其特征在于,所述日志索引包括第一索引和第二索引,所述第一索引用于指示所述第一段在所述硬盘中的存储地址范围,所述第二索引用于至少一个所述存储地址范围中每个日志项的LSN和存储地址之间的对应关系;将所述LSN与日志索引进行匹配确定所述第一段,包括:判断所述LSN与第三日志项的LSN是否连续,所述第三日志项为所述第二索引记录的任意一个日志项;若所述LSN与所述第三日志项的LSN连续,将所述第三日志项所在的段作为所述第一段;若所述LSN与第三日志项的LSN不连续,将所述LSN与所述第一索引进行匹配,确定所述第一段,所述第一段中第一个日志项的LSN与所述第一写日志请求的LSN匹配。5.根据权利要求3或4所述的方法,其特征在于,所述日志索引存储在缓存中。6.根据权利要求1

5中任一项所述的方法,其特征在于,所述第一日志项包括描述信息和数据信息,所述描述信息包括所述第一写日志请求的LSN、日志项长度以及日志项长度校验和,所述数据信息用于指示所述第一日志项记录的日志内容。7.根据权利要求6所述的方法,其特征在于,将所述第一日志项写入所述第一段,包括:依据所述第一写日志请求的LSN生成起始存储地址,所述起始存储地址处于所述第一段的存储地址范围;依据所述起始存储地址将所述第一日志项写入所述第一段。8.根据权利要求7所述的方法,其特征在于,在依据所述第一写日志请求的LSN生成起始存储地址之后,所述方法还包括:向备份设备发送所述第一写日志请求的LSN和起始存储地址。9.根据权利要求1

8中任一项所述的方法,其特征在于,在所述接收第一写日志请求之后,所述方法还包括:接收备份设备发送的所述第一写日志请求的LSN和起始存储地址;依据所述第一写日志请求的LSN和所述起始存储地址,将所述第一日志项写入所述第一段。10.根据权利要求1

9中任一项所述的方法,其特征在于,所述方法还包括:
向客户端发送日志写入响应,所述日志写入响应用于指示已将所述第一日志和所述第二日志写入所述第一段。11.一种日志管理装置,其特征在于,包括:处理模块,用于将硬盘的存储空间划分为多个段,一个段包括一个或多个物理块,所述一个段用于存储日志;通信模块,用于接收第一写日志请求和第二写日志请求,所述第一写日志请求包括第一日志项,所述第二写日志请...

【专利技术属性】
技术研发人员:舒继武汪庆陈佩王硕陆游游姚建业赵玥
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1