数据处理方法及装置制造方法及图纸

技术编号:27935116 阅读:10 留言:0更新日期:2021-04-02 14:15
本申请提供一种数据处理方法及装置,所述方法应用于存储系统,所述方法包括:接收主机发送的第一操作指令,所述第一操作指令包括用户对象的第一逻辑区块地址LBA以及第一快照序列号;根据所述第一LBA以及第一快照序列号,查找元数据缓存,所述元数据缓存包括至少一个元数据值,每个元数据值包括实际写入的ROW对象的第二LBA、第一标识以及第二标识;当从所述元数据缓存中获取到与所述第一LBA以及第一快照序列号对应的第一元数据值时,根据所述第一操作指令的类型,识别所述第一标识的值或者所述第二标识的值;根据识别结果,对所述第二LBA中存储的数据进行对应处理。

【技术实现步骤摘要】
数据处理方法及装置
本申请涉及通信
,尤其涉及一种数据处理方法及装置。
技术介绍
目前,高性能存储介质固态驱动器(英文:SolidStateDrive,简称:SSD)已大规模商用。在分布式存储领域,基于全SSD的分布式存储系统也陆续被厂商推出。在分布式全闪存系统中,采用写时重定向(英文:Redirect-on-write,简称:ROW)的方式写入数据将更好发挥SSD的性能优势,同时,ROW对重删、压缩、快照等特性也可提供更好的支持。ROW快照即无损快照,与传统的写时拷贝(英文:Copy-On-Write,简称:COW)快照相比,其对主机业务影响极小。当前的ROW快照均是通过快照序列号实现。即每执行一次快照,则递增快照的序列号。主机向存储系统写入数据时,携带最新的快照序列号,写入数据之后,将快照的序列号一并记录至元数据中。但是,ROW快照也会带来一些问题,即元数据的存储量较太,且每次读数据时,均要先查询元数据,也导致读时延增大。为了解决前述问题,多数厂商都为元数据设置了缓存,而缓存的命中率则直接影响主机的读性能。当前,元数据的缓存方式主要通过键-值(KEY-VALUE)数据库实现。KEY由用户对象、用户对象的逻辑区块地址(英文:LogicalBlockAddress,简称:LBA)以及快照序列号组成,VALUE则是实际写入的ROW对象和实际写入的ROW对象的LBA。主机读取数据时,通过用户对象和用户对象的LBA查找到对应的元数据,并从元数据中获取实际写入的ROW对象和实际写入的ROW对象的LBA,再下盘读才能读到相应的数据。在没有ROW快照的场景下,上述元数据的缓存方式可解决前述问题,但,当存在ROW快照的多个序列号之后,上述元数据的缓存方案也会带来一些问题。在存在ROW快照的场景下,主机读数据时,需要读取小于等于输入的快照序列号且为当前最大有效的快照序列号对应的元数据。如图1所示,图1为对源数据卷执行ROW快照示意图。图1中,在对源数据集执行ROW快照期间夹杂了主机写入数据(图中具有网格的区域为主机下发写请求的区域)的过程。假设用户对1个用户对象执行ROW快照并执行写操作,经过多次操作之后,当前的快照序列号为4,也即是,存储系统为该用户对象执行了4次ROW快照。若用户现在需读取该用户对象LBA1中存储的最新数据,则主机下发关于LAB1的读请求,该读请求携带的快照序列号为4。但,如图1所示,实际写入的ROW对象的LAB1仅在快照序列号为1的时候写入了数据,即使写入缓存也存储的是快照序列号1的元数据,序列号为4的元数据无法在缓存中查询到,并且也不能在缓存中确定快照序列号为1的元数据就是快照序列号为4的元数据。因此,需要从磁盘中读取元数据的存储引擎方可读取该对象LBA1中存储的最新元数据。在实际应用中,ROW快照多用作数据备份,并且主机读取数据时,多是读取原对象,但读请求携带的均是最新的快照序列号。因此,以现有的缓存方案,缓存命中率非常低。
技术实现思路
有鉴于此,本申请提供了一种数据处理方法及装置,用以解决现有的缓存方案中,缓存命中率非常低的问题。第一方面,本申请提供了一种数据处理方法,所述方法应用于存储系统,所述方法包括:接收主机发送的第一操作指令,所述第一操作指令包括用户对象的第一逻辑区块地址LBA以及第一快照序列号;根据所述第一LBA以及第一快照序列号,查找元数据缓存,所述元数据缓存包括至少一个元数据值,每个元数据值包括实际写入的ROW对象的第二LBA、第一标识以及第二标识;当从所述元数据缓存中获取到与所述第一LBA以及第一快照序列号对应的第一元数据值时,根据所述第一操作指令的类型,识别所述第一标识的值或者所述第二标识的值;根据识别结果,对所述第二LBA中存储的数据进行对应处理。第二方面,本申请提供了一种数据处理装置,所述装置应用于存储系统,所述装置包括:接收单元,用于接收主机发送的第一操作指令,所述第一操作指令包括用户对象的第一逻辑区块地址LBA以及第一快照序列号;查找单元,用于根据所述第一LBA以及第一快照序列号,查找元数据缓存,所述元数据缓存包括至少一个元数据值,每个元数据值包括实际写入的ROW对象的第二LBA、第一标识以及第二标识;识别单元,用于当从所述元数据缓存中获取到与所述第一LBA以及第一快照序列号对应的第一元数据值时,根据所述第一操作指令的类型,识别所述第一标识的值或者所述第二标识的值;处理单元,用于根据识别结果,对所述第二LBA中存储的数据进行对应处理。因此,通过应用本申请提供的数据处理方法及装置,存储系统接收主机发送的第一操作指令,该第一操作指令包括用户对象的第一逻辑区块地址LBA以及第一快照序列号。根据第一LBA以及第一快照序列号,存储系统查找元数据缓存,该元数据缓存包括至少一个元数据值,每个元数据值包括实际写入的ROW对象的第二LBA、第一标识以及第二标识。当从元数据缓存中获取到与第一LBA以及第一快照序列号对应的第一元数据值时,根据第一操作指令的类型,存储系统识别第一标识的值或者第二标识的值。根据识别结果,存储系统对第二LBA中存储的数据进行对应处理。如此,解决现有的缓存方案中,缓存命中率非常低的问题。在保证元数据一致性的基础上,大幅提升ROW快照序列号场景下的元数据命中率。附图说明图1为对源数据卷执行ROW快照示意图;图2为本申请实施例提供的数据处理方法的流程图;图3为本申请实施例提供的数据处理装置结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。下面对本申请实施例提供的数据处理方法进行详细地说明。参见图2,图2为本申请实施例提供的数据处理方法的流程图。该方法应用于存储系统,本申请实施例提供的数据处理方法可包括如下所示步骤。步骤210、接收主机发送的第一操作指令,所述第一操作指令包括用户本文档来自技高网
...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法应用于存储系统,所述方法包括:/n接收主机发送的第一操作指令,所述第一操作指令包括用户对象的第一逻辑区块地址LBA以及第一快照序列号;/n根据所述第一LBA以及第一快照序列号,查找元数据缓存,所述元数据缓存包括至少一个元数据值,每个元数据值包括实际写入的ROW对象的第二LBA、第一标识以及第二标识;/n当从所述元数据缓存中获取到与所述第一LBA以及第一快照序列号对应的第一元数据值时,根据所述第一操作指令的类型,识别所述第一标识的值或者所述第二标识的值;/n根据识别结果,对所述第二LBA中存储的数据进行对应处理。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法应用于存储系统,所述方法包括:
接收主机发送的第一操作指令,所述第一操作指令包括用户对象的第一逻辑区块地址LBA以及第一快照序列号;
根据所述第一LBA以及第一快照序列号,查找元数据缓存,所述元数据缓存包括至少一个元数据值,每个元数据值包括实际写入的ROW对象的第二LBA、第一标识以及第二标识;
当从所述元数据缓存中获取到与所述第一LBA以及第一快照序列号对应的第一元数据值时,根据所述第一操作指令的类型,识别所述第一标识的值或者所述第二标识的值;
根据识别结果,对所述第二LBA中存储的数据进行对应处理。


2.根据权利要求1所述的方法,其特征在于,所述根据所述第一操作指令的类型,识别所述第一标识的值或者第二标识的值,具体包括:
当所述第一操作指令为读操作指令时,识别所述第一标识的值;
当所述第一操作指令为删除操作指令时,识别所述第二标识的值。


3.根据权利要求2所述的方法,其特征在于,所述根据识别结果,对所述第二LBA中存储的数据进行对应处理,具体包括:
当所述第一标识的值为1时,确定所述第一元数据值属于原始对象;
从所述第二LBA中读取存储的数据,并向所述主机反馈所述数据。


4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当从所述元数据缓存中未获取到与所述第一LBA以及第一快照序列号对应的第一元数据值,且获取到与所述第一LBA对应的一个第二元数据值时,判断所述第一标识的值是否为1;
若为1,则确定所述第二元数据值属于原始对象;
从所述第二LBA中读取存储的数据,并向所述主机反馈所述数据。


5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当从所述元数据缓存中未获取到与所述第一LBA以及第一快照序列号对应的第一元数据值,且获取到与所述第一LBA对应的多个第二元数据值时,判断所述第一标识的值是否为1;
若为0,则确定多个第二元数据值不属于原始对象;
根据每个第二元数据值包括的第二LBA,从磁盘中读取并比较存储的数据,并向所述主机反馈最新写入...

【专利技术属性】
技术研发人员:何孝金
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:河南;41

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

1