基于多层缓存的数据处理方法及装置、电子设备制造方法及图纸

技术编号:34279838 阅读:70 留言:0更新日期:2022-07-24 18:03
本发明专利技术公开了一种基于多层缓存的数据处理方法及装置、电子设备。其中,该方法包括:接收客户端发送的数据写入请求,其中,数据写入请求中至少携带有:待写入的目标数据;响应数据写入请求,生成与目标数据对应的缓存对象以及与缓存对象对应的数据对象和唯一标识码,其中,缓存对象与数据对象分别对应有对象元数据;将缓存对象迁入缓存层中,并建立缓存对象的对象元数据与唯一标识码的第一映射关系;将数据对象存储至数据层中,并建立数据对象的对象元数据与唯一标识码的第二映射关系。本发明专利技术解决了相关技术中采用分层缓存架构进行数据缓存时,事务性处理方式复杂的技术问题。事务性处理方式复杂的技术问题。事务性处理方式复杂的技术问题。

Data processing method and device based on multi-layer cache, electronic equipment

【技术实现步骤摘要】
基于多层缓存的数据处理方法及装置、电子设备


[0001]本专利技术涉及数据处理
,具体而言,涉及一种基于多层缓存的数据处理方法及装置、电子设备。

技术介绍

[0002]相关技术中,快照已经成为存储或应用软灾备方案中不可或缺的常见解决方案,更是其他系统复制、备份的基础,已成为存储的一个标配特性。快照实现原理常见的有COW(Copy On Write)和ROW(Redirect On Write)两种,其中,ROW的实现方式是通过快照的Rename,每次生成快照时通过创建新的元数据并建立新的映射关系来实现。在本地cache中比较容易实现,所有对象(object)的元数据信息记录在缓存中,通常缓存和数据盘在同一个节点中(即集中式的缓存,缓存和数据盘冗余度相同,相互绑定)。当快照Rename时,更新高速介质中object元数据信息时,生成的快照需要指向源数据对象,将进行一系列的数据更新,因为只有单层结构,主PG只有一个,通过强一致性保障,其他副本只要写入缓存层即可返回成功。
[0003]相对于集中缓存,分布式多层缓存近些年来发展迅速,完全打破了cache高速介质和数据低速盘必须绑定的限制,提供更稳定的缓存性能,缓存可以分布在独立的若干台服务器上,也可以和数据层共用服务器,并且它们可以使用不同的冗余策略,例如缓存服务器是3副本,数据服务器是2副本或者其他,通过分层缓存能够更好满足分布式存储中大集群大数据中心的需求。
[0004]但是,相关技术中的分布式分层缓存架构存在如下多个问题:
[0005]1.快照rename时,需要同时向多层(cache层,data层)发送rename命令,要保证这个rename在缓存层和数据层的事务性是一个非常复杂的过程,而且当前数据层一般是由低速磁盘构成的,rename也会慢很多,这样会导致rename整体的延迟非常高;
[0006]2.删除流程,与rename类似,性能和事务性要求都非常难达到要求。
[0007]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0008]本专利技术实施例提供了一种基于多层缓存的数据处理方法及装置、电子设备,以至少解决相关技术中采用分层缓存架构进行数据缓存时,事务性处理方式复杂的技术问题。
[0009]根据本专利技术实施例的一个方面,提供了一种基于多层缓存的数据处理方法,应用于放置组PG,所述放置组分别对接有缓存层与数据层,包括:接收客户端发送的数据写入请求,其中,所述数据写入请求中至少携带有:待写入的目标数据;响应所述数据写入请求,生成与所述目标数据对应的缓存对象以及与所述缓存对象对应的数据对象和唯一标识码,其中,所述缓存对象与所述数据对象分别对应有对象元数据;将所述缓存对象迁入所述缓存层中,并建立所述缓存对象的对象元数据与所述唯一标识码的第一映射关系;将所述数据对象存储至数据层中,并建立所述数据对象的对象元数据与所述唯一标识码的第二映射关
系。
[0010]可选地,在建立所述缓存对象的对象元数据与所述唯一标识码的第一映射关系之后,还包括:在所述缓存层中的对象元数据出现更新的情况下,调整所述缓存层中的对象元数据与所述唯一标识码之间的第一映射关系。
[0011]可选地,在建立所述数据对象与所述唯一标识码的第二映射关系之后,还包括:在所述缓存层触发预设下刷策略的情况下,将所述缓存对象从所述缓存层下刷到数据层的数据对象;删除所述缓存层中的所述缓存对象,并保留所述缓存对象的对象元数据;将所述缓存层中所述缓存对象的对象元数据通过所述唯一标识码指向所述数据层中的所述数据对象。
[0012]可选地,在将所述缓存层中所述缓存对象的对象元数据通过所述唯一标识码指向所述数据层中的所述数据对象之后,还包括:在确定所述缓存层中的缓存空间符合空间空闲要求的情况下,将已删除的所述缓存对象释放为读缓存;在确定缓存空间不满足空间空闲要求的情况下,将所述缓存对象所对应的缓存空间释放。
[0013]可选地,在将所述缓存对象所对应的缓存空间释放之后,还包括:在接收到数据读取请求的情况下,通过所述缓存对象的对象元数据查找所述数据对象的对象元数据;基于查找到的所述数据对象的对象元数据,查询所述数据对象;将所述数据对象缓存至所述缓存层中。
[0014]可选地,在生成与所述目标数据对应的缓存对象以及与所述缓存对象对应的数据对象和唯一标识码之后,还包括:将所述缓存对象分别存储至所述缓存层和所述数据层;在接收到对象删除指令的情况下,删除所述缓存层的所述缓存对象,并更新所述缓存对象的对象元数据;接收所述缓存层的后台线程发起的回收下刷指令;响应回收下刷指令,向所述数据层发送对象删除指令,以删除所述数据层中的缓存对象,更新所述数据层中的缓存对象的对象元数据;释放所述缓存层的缓存对象的缓存空间与所述数据层中的所述缓存对象的缓存空间。
[0015]可选地,响应所述数据写入请求,生成与所述目标数据对应的缓存对象以及与所述缓存对象对应的数据对象和唯一标识码的步骤,包括:响应所述数据写入请求,创建与所述目标数据对应的缓存对象;采用标识分配器,为所述缓存对象分配所述唯一标识码。
[0016]根据本专利技术实施例的另一方面,还提供了一种基于多层缓存的数据处理装置,应用于放置组PG,所述放置组分别对接有缓存层与数据层,包括:接收单元,用于接收客户端发送的数据写入请求,其中,所述数据写入请求中至少携带有:待写入的目标数据;响应单元,用于响应所述数据写入请求,生成与所述目标数据对应的缓存对象以及与所述缓存对象对应的数据对象和唯一标识码,其中,所述缓存对象与所述数据对象分别对应有对象元数据;第一建立单元,用于将所述缓存对象迁入所述缓存层中,并建立所述缓存对象的对象元数据与所述唯一标识码的第一映射关系;第二建立单元,用于将所述数据对象存储至数据层中,并建立所述数据对象的对象元数据与所述唯一标识码的第二映射关系。
[0017]可选地,基于多层缓存的数据处理装置还包括:第一调整单元,用于在建立所述缓存对象的对象元数据与所述唯一标识码的第一映射关系之后,在所述缓存层中的对象元数据出现更新的情况下,调整所述缓存层中的对象元数据与所述唯一标识码之间的第一映射关系。
[0018]可选地,基于多层缓存的数据处理装置还包括:下刷单元,用于在建立所述数据对象与所述唯一标识码的第二映射关系之后,在所述缓存层触发预设下刷策略的情况下,将所述缓存对象从所述缓存层下刷到数据层的数据对象;第一删除单元,用于删除所述缓存层中的所述缓存对象,并保留所述缓存对象的对象元数据;指向单元,用于将所述缓存层中所述缓存对象的对象元数据通过所述唯一标识码指向所述数据层中的所述数据对象。
[0019]可选地,基于多层缓存的数据处理装置还包括:第一释放单元,用于在将所述缓存层中所述缓存对象的对象元数据通过所述唯一标识码指向所述数据层中的所述数据对象之后,在确定所述缓存层中的缓存空间符合空间空闲要求的情况下,将已删除的所述缓存对象释放为读缓存;第二释放单元,用于在确定缓存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多层缓存的数据处理方法,其特征在于,应用于放置组PG,所述放置组分别对接有缓存层与数据层,包括:接收客户端发送的数据写入请求,其中,所述数据写入请求中至少携带有:待写入的目标数据;响应所述数据写入请求,生成与所述目标数据对应的缓存对象以及与所述缓存对象对应的数据对象和唯一标识码,其中,所述缓存对象与所述数据对象分别对应有对象元数据;将所述缓存对象迁入所述缓存层中,并建立所述缓存对象的对象元数据与所述唯一标识码的第一映射关系;将所述数据对象存储至数据层中,并建立所述数据对象的对象元数据与所述唯一标识码的第二映射关系。2.根据权利要求1所述的数据处理方法,其特征在于,在建立所述缓存对象的对象元数据与所述唯一标识码的第一映射关系之后,还包括:在所述缓存层中的对象元数据出现更新的情况下,调整所述缓存层中的对象元数据与所述唯一标识码之间的第一映射关系。3.根据权利要求1所述的数据处理方法,其特征在于,在建立所述数据对象与所述唯一标识码的第二映射关系之后,还包括:在所述缓存层触发预设下刷策略的情况下,将所述缓存对象从所述缓存层下刷到数据层的数据对象;删除所述缓存层中的所述缓存对象,并保留所述缓存对象的对象元数据;将所述缓存层中所述缓存对象的对象元数据通过所述唯一标识码指向所述数据层中的所述数据对象。4.根据权利要求3所述的数据处理方法,其特征在于,在将所述缓存层中所述缓存对象的对象元数据通过所述唯一标识码指向所述数据层中的所述数据对象之后,还包括:在确定所述缓存层中的缓存空间符合空间空闲要求的情况下,将已删除的所述缓存对象释放为读缓存;在确定缓存空间不满足空间空闲要求的情况下,将所述缓存对象所对应的缓存空间释放。5.根据权利要求4所述的数据处理方法,其特征在于,在将所述缓存对象所对应的缓存空间释放之后,还包括:在接收到数据读取请求的情况下,通过所述缓存对象的对象元数据查找所述数据对象的对象元数据;基于查找到的所述数据对象的对象元数据,查询所述数据对象;将所述数据对象缓存至所述缓存层中。6.根据权利要求1所述的数据处理方法,其特征在于,在...

【专利技术属性】
技术研发人员:贺素馨池信泽张旭明王豪迈胥昕
申请(专利权)人:北京星辰天合科技股份有限公司
类型:发明
国别省市:

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

1