一种磁盘数据缓冲区数据下刷的方法、装置、设备及介质制造方法及图纸

技术编号:36814469 阅读:22 留言:0更新日期:2023-03-09 01:04
本发明专利技术提供了一种磁盘数据缓冲区中数据下刷的方法、装置、设备及可读介质,方法包括:根据IO请求的信息计算当前OBJ的热度值,并监控磁盘数据缓冲区的使用率;响应于监控到的磁盘数据缓冲区的使用率超过使用率阈值,根据OBJ的热度值将OBJ进行排序;根据监控得到的使用率选取设定数量的OBJ发起磁盘数据缓冲区数据的下刷操作。通过使用本发明专利技术的方案,能够减少磁盘数据缓冲区空间不足的问题,能够减少同一OBJ IO与下刷冲突事件发生的概率,能够增强整个系统的IO稳定性,提升存储系统的性能。提升存储系统的性能。提升存储系统的性能。

【技术实现步骤摘要】
一种磁盘数据缓冲区数据下刷的方法、装置、设备及介质


[0001]本专利技术涉及计算机领域,并且更具体地涉及一种磁盘数据缓冲区中数据下刷的方法、装置、设备及可读介质。

技术介绍

[0002]底层引擎Bluestore(底层存储引擎)通过OBJ(Bluestore管理IO的基本单元)对IO进行数据管理。将一个OBJ在存储层面上划分为Data(磁盘数据存储区域)部分和Meta(磁盘元数据存储区域)部分,其中Data部分在IO过程中会根据当前的数据存储情况将数据动态地落入磁盘的Data区或者Journal(磁盘数据缓冲区)区。
[0003]写IO的执行过程中,第一步是尝试锁住该OBJ,获取Meta数据。第二步是根据读取的Meta数据计算当前写入的区域是否有数据,以及数据所在的位置,并据此判定新数据是写入Data区或者Journal区。第三步是将IO请求的数据写入第二步计算出的区域,最后更新Meta数据,并写入Meta区。
[0004]经过多轮IO写入后,同一OBJ会有部分数据在Journal区,部分在Data区。由于Journal区的总大小属于固定的。通常只占磁盘总量的很小一部分,所以当某块磁盘在执行了大量的写IO后,有可能出现Journal区写满的情况,会导致新的IO无法在正常写入。另外从单个OBJ的维度来说,OBJ数据从Journal区下刷至Data区的过程中,由于需要严格保证数据的一致性,故在下刷的过程中同样需要锁定该OBJ。所以一个OBJ的下刷过程中,如果有收到该OBJ正常的IO请求,则会因锁竞争而触发阻塞等待。两者的冲突会导致系统整体的IO性能下降,增大单个IO请求的时延,降低整个存储平台的IO稳定性和吞吐量。

技术实现思路

[0005]有鉴于此,本专利技术实施例的目的在于提出一种磁盘数据缓冲区中数据下刷的方法、装置、设备及可读介质,通过使用本专利技术的技术方案,能够减少磁盘数据缓冲区空间不足的问题,能够减少同一OBJ IO与下刷冲突事件发生的概率,能够增强整个系统的IO稳定性,提升存储系统的性能。
[0006]基于上述目的,本专利技术的实施例的一个方面提供了一种磁盘数据缓冲区中数据下刷的方法,包括以下步骤:
[0007]根据IO请求的信息计算当前OBJ的热度值,并监控磁盘数据缓冲区的使用率;
[0008]响应于监控到的磁盘数据缓冲区的使用率超过使用率阈值,根据OBJ的热度值将OBJ进行排序;
[0009]根据监控得到的使用率选取设定数量的OBJ发起磁盘数据缓冲区数据的下刷操作。
[0010]根据本专利技术的一个实施例,根据IO请求的信息计算当前OBJ的热度值,并监控磁盘数据缓冲区的使用率包括:
[0011]根据当前IO请求的时间、当前IO请求的类型和当前OBJ的热度值通过加权算法计
算出当前OBJ的磁盘数据缓冲区的新的热度值。
[0012]根据本专利技术的一个实施例,响应于监控到的磁盘数据缓冲区的使用率超过使用率阈值,根据OBJ的热度值将OBJ进行排序包括:
[0013]将监控到的磁盘数据缓冲区的使用率与使用率阈值进行比较;
[0014]响应于监控到的磁盘数据缓冲区的使用率超过使用率阈值,按照计算出的热度值从小到大的顺序将OBJ进行排序。
[0015]根据本专利技术的一个实施例,根据监控得到的使用率选取设定数量的OBJ发起磁盘数据缓冲区数据的下刷操作包括:
[0016]构建磁盘数据缓冲区的使用率和选取OBJ数量的对应表格,表格中记录磁盘数据缓冲区的各个使用率与选取OBJ数量的对应关系;
[0017]基于监控得到的使用率在表格中查找需选取OBJ的数量,并选取出热度值低的对应数量的OBJ;
[0018]获取OBJ的元数据并将OBJ锁定;
[0019]根据OBJ的元数据信息获取OBJ存在于磁盘数据缓冲区的数据信息,并向磁盘数据缓冲区对应的位置发起读请求以读取数据;
[0020]根据OBJ的元数据信息标识将读取的数据写入数据存储区对应的位置;
[0021]更新OBJ的元数据信息,并将更新后的元数据写入元数据存储区。
[0022]本专利技术的实施例的另一个方面,还提供了一种磁盘数据缓冲区中数据下刷的装置,装置包括:
[0023]计算模块,计算模块配置为根据IO请求的信息计算当前OBJ的热度值,并监控磁盘数据缓冲区的使用率;
[0024]排序模块,排序模块配置为响应于监控到的磁盘数据缓冲区的使用率超过使用率阈值,根据OBJ的热度值将OBJ进行排序;
[0025]处理模块,处理模块配置为根据监控得到的使用率选取设定数量的OBJ发起磁盘数据缓冲区数据的下刷操作。
[0026]根据本专利技术的一个实施例,计算模块还配置为:
[0027]根据当前IO请求的时间、当前IO请求的类型和当前OBJ的热度值通过加权算法计算出当前OBJ的磁盘数据缓冲区的新的热度值。
[0028]根据本专利技术的一个实施例,排序模块还配置为:
[0029]将监控到的磁盘数据缓冲区的使用率与使用率阈值进行比较;
[0030]响应于监控到的磁盘数据缓冲区的使用率超过使用率阈值,按照计算出的热度值从小到大的顺序将OBJ进行排序。
[0031]根据本专利技术的一个实施例,处理模块还配置为:
[0032]构建磁盘数据缓冲区的使用率和选取OBJ数量的对应表格,表格中记录磁盘数据缓冲区的各个使用率与选取OBJ数量的对应关系;
[0033]基于监控得到的使用率在表格中查找需选取OBJ的数量,并选取出热度值低的对应数量的OBJ;
[0034]获取OBJ的元数据并将OBJ锁定;
[0035]根据OBJ的元数据信息获取OBJ存在于磁盘数据缓冲区的数据信息,并向磁盘数据
缓冲区对应的位置发起读请求以读取数据;
[0036]根据OBJ的元数据信息标识将读取的数据写入数据存储区对应的位置;
[0037]更新OBJ的元数据信息,并将更新后的元数据写入元数据存储区。
[0038]本专利技术的实施例的另一个方面,还提供了一种计算机设备,该计算机设备包括:
[0039]至少一个处理器;以及
[0040]存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任意一项方法的步骤。
[0041]本专利技术的实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意一项方法的步骤。
[0042]本专利技术具有以下有益技术效果:本专利技术实施例提供的磁盘数据缓冲区中数据下刷的方法,通过根据IO请求的信息计算当前OBJ的热度值,并监控磁盘数据缓冲区的使用率;响应于监控到的磁盘数据缓冲区的使用率超过使用率阈值,根据OBJ的热度值将OBJ进行排序;根据监控得到的使用率选取设定数量的OBJ发起磁盘数据缓冲区数据的下刷操作的技术方案,能够减少磁盘数据缓冲区空间不足的问题,能够减少同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种磁盘数据缓冲区中数据下刷的方法,其特征在于,包括以下步骤:根据IO请求的信息计算当前OBJ的热度值,并监控磁盘数据缓冲区的使用率;响应于监控到的磁盘数据缓冲区的使用率超过使用率阈值,根据OBJ的热度值将OBJ进行排序;根据监控得到的使用率选取设定数量的OBJ发起磁盘数据缓冲区数据的下刷操作。2.根据权利要求1所述的方法,其特征在于,根据IO请求的信息计算当前OBJ的热度值,并监控磁盘数据缓冲区的使用率包括:根据当前IO请求的时间、当前IO请求的类型和当前OBJ的热度值通过加权算法计算出当前OBJ的磁盘数据缓冲区的新的热度值。3.根据权利要求1所述的方法,其特征在于,响应于监控到的磁盘数据缓冲区的使用率超过使用率阈值,根据OBJ的热度值将OBJ进行排序包括:将监控到的磁盘数据缓冲区的使用率与使用率阈值进行比较;响应于监控到的磁盘数据缓冲区的使用率超过使用率阈值,按照计算出的热度值从小到大的顺序将OBJ进行排序。4.根据权利要求1所述的方法,其特征在于,根据监控得到的使用率选取设定数量的OBJ发起磁盘数据缓冲区数据的下刷操作包括:构建磁盘数据缓冲区的使用率和选取OBJ数量的对应表格,表格中记录磁盘数据缓冲区的各个使用率与选取OBJ数量的对应关系;基于监控得到的使用率在表格中查找需选取OBJ的数量,并选取出热度值低的对应数量的OBJ;获取OBJ的元数据并将OBJ锁定;根据OBJ的元数据信息获取OBJ存在于磁盘数据缓冲区的数据信息,并向磁盘数据缓冲区对应的位置发起读请求以读取数据;根据OBJ的元数据信息标识将读取的数据写入数据存储区对应的位置;更新OBJ的元数据信息,并将更新后的元数据写入元数据存储区。5.一种磁盘数据缓冲区中数据下刷的装置,其特征在于,所述装置包括:计算模块,所述计算模块配置为根据IO请求的信息计算当前OBJ的热度值,并监控磁盘数据缓冲区的使用...

【专利技术属性】
技术研发人员:张克涛
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1