一种分布式存储写缓冲数据分步下刷方法、装置及介质制造方法及图纸

技术编号:32567970 阅读:15 留言:0更新日期:2022-03-09 16:54
本申请涉及分布式存储写缓冲数据分步下刷方法、装置及介质。本申请深度复制待下刷数据的对象元数据,生成临时对象元数据,利用临时对象元数据来处理待下刷数据的写过程,得到存储待下刷数据磁盘空间的磁盘空间信息,进而形成磁盘写入准备信息;之后便按磁盘写入准备信息将待下刷数据写入到慢速的磁盘上,此过程与常规手段相比并不更新对象元数据,仅写待下刷数据;完成写入后,利用对象元数据再次来处理待下刷数据的写过程,完成对象元数据的更新。实现了待下刷数据下刷过程中数据写和对象元数据更新的异步,保证了业务写的优先,提高了数据下刷的效率,且无需对对象元数据进行记录并更新,并且降低了程序的复杂度,便于维护。便于维护。便于维护。

【技术实现步骤摘要】
一种分布式存储写缓冲数据分步下刷方法、装置及介质


[0001]本申请涉及缓存下刷
,尤其涉及一种分布式存储写缓冲数据分步下刷方法、装置及介质。

技术介绍

[0002]分布式存储中通常利用高速设备作为写缓冲来提高系统的写性能,高速设备读写性能强,能快速读写,但容量有限,写入到高速设备的数据需要下刷到慢速设备上,之后便可以将已下刷数据从高速设备上释放,以便高速设备可以持续的接受写请求,以此提高系统性能。
[0003]高速设备上的缓冲数据下刷过程涉及缓冲数据自身的转移以及对应对象元数据的更新,缓冲数据需要从高速设备上读取出来,并写入到慢速设备上,同时记录数据位置信息的对象元数据也需要进行更新以便正确反映数据所在设备的位置。为保证数据的一致性,缓冲数据的下刷过程与业务写过程需要保持互斥,即同时只能有一个过程对相应数据部分进行写入。在实现缓冲数据下刷过程时,一种方式是所有下刷步骤在一个阶段中完成,由于包含慢速设备写入过程,这种方式一次下刷过程耗时长,会造成业务写阻塞。另一种方式是将下刷各步骤分散到多个阶段中完成,每个阶段分别进行互斥,这种方式避免了业务写的长时间阻塞,且能够做到业务写优先,以此提升业务处理性能。在通过分阶段分步进行下刷的实现中,一种实现方式是识别待写入的数据信息,记录对象元数据的更新信息,执行数据写入,最后将记录的对象元数据更新信息更新到对象元数据并进行持久化,这种处理方式不够直观,并且在原有的业务写流程之外又实现了一套下刷写逻辑,当业务写对象元数据发生变动时,下刷写过程也需要进行相应的调整,尤其是当对象元数据结构信息复杂时,对象元数据的更新信息记录与更新过程也会更加复杂,这种实现方式不利于软件维护。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供一种分布式存储写缓冲数据分步下刷方法、装置及介质。
[0005]第一方面,本申请提供一种分布式存储写缓冲数据分步下刷方法,包括:
[0006]S1,读取高速存储设备中所存储的数据以确定待下刷数据;
[0007]S2,深度复制待下刷数据的对象元数据获取临时对象元数据;
[0008]S3,配置可回放磁盘空间资源申请管理器为第一状态;
[0009]S4,利用临时对象元数据来处理待下刷数据的写过程,得到更新后的临时对象元数据和磁盘写入准备信息,所述磁盘写入准备信息包括磁盘空间信息和待下刷数据信息;
[0010]S5,通过异步写根据磁盘写入准备信息将待下刷数据写入对应磁盘;
[0011]S6,配置可回放磁盘空间资源申请管理器为第二状态;
[0012]S7,利用对象元数据来处理待下刷数据写过程,得到并持久化更新后的对象元数据。
[0013]更进一步地,配置待下刷数据的写过程通过磁盘申请请求向预设的可回放磁盘空间资源申请管理器申请磁盘空间。
[0014]更进一步地,所述可回放磁盘空间资源申请管理器的第一状态和第二状态通过接口配置,进行待下刷数据写时通过接口配置为第一状态,进行对象元数据更新时通过接口配置为第二状态。
[0015]更进一步地,在第一状态下,所述可回放磁盘空间资源申请管理器响应磁盘申请请求,分配真实的磁盘空间,获取分配的磁盘空间的磁盘空间信息,将磁盘空间信息与对应的磁盘申请请求记录;
[0016]在第二状态下,所述可回放磁盘空间资源管理器响应磁盘申请请求,获取待下刷数据所在磁盘空间的磁盘空间信息,利用第一状态下所记录的磁盘申请请求中的参数对待下刷数据所在磁盘空间的磁盘空间信息校验检查,并反馈第一状态下的磁盘空间信息。
[0017]更进一步地,配置S1、S2

S4、S6

S7之间为互斥过程。
[0018]更进一步地,互斥过程转换过程中,检测对象元数据是否改变;是则,终止分布式存储写缓冲数据分步下刷的流程。
[0019]更进一步地,利用对象元数据来处理待下刷数据写过程,既得到更新后的对象元数据,又得到磁盘写入准备信息,丢弃得到的磁盘写入准备消息,持久化更新后的对象元数据。
[0020]更进一步地,将S4中得到的磁盘写入准备信息按顺序存入队列中,异步写根据队列中所存的磁盘写入准备信息进行待下刷数据的刷写。
[0021]第二方面,本申请提供一种分布式存储写缓冲数据分步下刷装置,包括:处理单元、存储单元、接口单元、总线单元和供电单元,其中所述总线单元连接所述处理单元及接口单元,所述供电单元对所述处理单元、存储单元、接口单元及总线单元供电,所述存储单元存储至少一条指令,所述处理单元读取并执行所述指令实现所述的分布式存储写缓冲数据分步下刷方法。
[0022]第三方面,本申请提供一种实现分布式存储写缓冲数据分步下刷方法的介质,所述实现分布式存储写缓冲数据分步下刷方法的介质存储至少一条指令,读取并执行所述指令实现所述的分布式存储写缓冲数据分步下刷方法。
[0023]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
[0024]本申请对分布式存储谢缓存数据分步下刷方法通过两次写处理过程实现。其中第一次写处理过程是利用临时对象元数据实现的,其作用是将待下刷数据从高速存储设备写到磁盘上,并未对待下刷数据的对象元数据进行更新;第二次写处理过程是通过对象元数据实现的,需要反馈第一次写处理过程中存放待下刷数据的磁盘空间的磁盘空间信息,来完成对象元数据的更新;在第二次写处理过程中不需要将待下刷数据写入磁盘。从而实现将高速存储设备中数据下刷分成可以异步的两个过程实现。
[0025]第一次写处理过程优先将待下刷数据写入磁盘,第二次写处理过程更新对象元数据。保证了业务写的优先,通过待下刷数据写和更新对象元数据的异步,提高了数据下刷的效率,并且降低了程序的复杂度,便于维护。
附图说明
[0026]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0027]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0028]图1为本申请实施例提供的第一状态下的可回放磁盘空间资源申请管理器响应由待下刷数据的写过程发出的磁盘申请请求的流程图;
[0029]图2为本申请实施例提供第二状态下的可回放磁盘空间资源申请管理器响应由待下刷数据的写过程发出的磁盘申请请求的流程图;
[0030]图3为本申请实施例提供的分布式存储写缓冲数据分步下刷方法的流程图;
[0031]图4为本申请实施例提供的分布式存储写缓冲数据分步下刷装置的示意图。
具体实施方式
[0032]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式存储写缓冲数据分步下刷方法,其特征在于,包括:S1,读取高速存储设备中所存储的数据以确定待下刷数据;S2,深度复制待下刷数据的对象元数据获取临时对象元数据;S3,配置可回放磁盘空间资源申请管理器为第一状态;S4,利用临时对象元数据来处理待下刷数据的写过程,得到更新后的临时对象元数据和磁盘写入准备信息,所述磁盘写入准备信息包括磁盘空间信息和待下刷数据信息;S5,通过异步写根据磁盘写入准备信息将待下刷数据写入对应磁盘;S6,配置可回放磁盘空间资源申请管理器为第二状态;S7,利用对象元数据来处理待下刷数据写过程,得到并持久化更新后的对象元数据。2.根据权利要求1所述分布式存储写缓冲数据分步下刷方法,其特征在于,配置待下刷数据的写过程通过磁盘申请请求向预设的可回放磁盘空间资源申请管理器申请磁盘空间。3.根据权利要求1所述分布式存储写缓冲数据分步下刷方法,其特征在于,所述可回放磁盘空间资源申请管理器的第一状态和第二状态通过接口配置;进行待下刷数据写时,通过接口配置为第一状态,进行对象元数据更新时,通过接口配置为第二状态。4.根据权利要求1所述分布式存储写缓冲数据分步下刷方法,其特征在于,在第一状态下,所述可回放磁盘空间资源申请管理器响应磁盘申请请求,分配真实的磁盘空间,获取分配的磁盘空间的磁盘空间信息,将磁盘空间信息与对应的磁盘申请请求记录;在第二状态下,所述可回放磁盘空间资源管理器响应磁盘申请请求,获取待下刷数据所在磁盘空间的磁盘空间信息,利用第一状态下所记录的磁盘申请请求中的参数对待下刷数据所在磁盘空间的磁盘空间信息校验检查,并反馈...

【专利技术属性】
技术研发人员:王勇
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1