用于回收垃圾对象数据的方法和装置制造方法及图纸

技术编号:17516501 阅读:43 留言:0更新日期:2018-03-21 01:06
本申请提供了用于回收垃圾对象数据的方法和装置。该方法包括:获取对象数据;从对象数据的第一字段中获取对象数据的对象标识;根据对象数据的对象标识在元数据存储系统中查询对象数据对应的对象元数据;在元数据存储系统中未查询到对象元数据的情况下,确定对象数据为垃圾对象数据;在元数据存储系统中查询到对象元数据,且对象数据与对象元数据不匹配的情况下,确定对象数据为垃圾对象数据;在元数据存储系统中查询到对象元数据,且对象数据与对象数据的对象元数据匹配的情况下,确定对象数据为非垃圾对象数据。本申请能够提高用于回收垃圾对象数据时的准确性和可靠性。

Method and device for recycling garbage object data

The present application provides a method and device for recycling garbage object data. The method includes: obtaining object data acquisition; object identification of object data from the first data object in the field; according to the object metadata object data object identification data corresponding to query in metadata storage system; metadata storage system of metadata as did not inquire into the case, determine the object data for garbage object data; query to the object metadata in the metadata storage system, and data object and object metadata does not match the situation, determine the object data for garbage objects data; query object metadata in the metadata storage system, and data object and data object metadata, case, determine the object data for non garbage data object. This application can improve the accuracy and reliability of recycling garbage object data.

【技术实现步骤摘要】
用于回收垃圾对象数据的方法和装置
本申请涉及垃圾对象数据回收
,并且更具体地,涉及一种用于回收垃圾对象数据的方法和装置。
技术介绍
对象存储系统通常采用对象数据与对象元数据分离的方式来保存数据,也就是将对象数据保存到数据存储系统中,将对象元数据保存到元数据存储系统中。如果在保存对象元数据的过程中出现了异常,那么,在数据存储系统中就会形成垃圾对象数据。例如,第一对象数据已经保存到了数据存储系统中,但是在保存第一对象数据对应的第一对象元数据的过程中出现了异常,导致第一对象元数据没有保存到元数据存储系统中或者将第一对象元数据保存到元数据存储系统时出现错误,那么,就可以确定数据存储系统中的第一对象数据为垃圾对象数据。为了确定数据存储系统保存数据时产生的垃圾对象数据,进而对垃圾对象数据进行回收,现有的方案是由对象语义接口和服务层感知对象元数据保存异常,并记录保存异常的对象元数据对应的对象数据的数据标识,将该对象数据确定为垃圾对象数据,接下来对该垃圾对象数据进行回收。但是在现有的方案中,当存储系统出现故障时,对象语义接口和服务层无法感知对象元数据保存异常,或者,即使感知到了对象元数据保存异常,但是无法准确记录保存异常的对象元数据对应的对象数据的数据标识,导致对象语义接口和服务层无法准确确定数据存储系统中出现的垃圾对象数据。
技术实现思路
本申请提供一种用于回收垃圾对象数据的方法和装置,以提高确定垃圾对象数据的准确性和可靠性。第一方面,提供了一种用于回收垃圾对象数据的方法,所述方法包括:获取对象数据;从所述对象数据的第一字段中获取所述对象数据的对象标识,所述对象数据为存储在数据存储系统中的数据;根据所述对象数据的对象标识在元数据存储系统中查询所述对象数据对应的对象元数据;在所述元数据存储系统中未查询到所述对象元数据的情况下,确定所述对象数据为垃圾对象数据;在所述元数据存储系统中查询到所述对象元数据,且所述对象数据与所述对象元数据不匹配的情况下,确定所述对象数据为垃圾对象数据;在所述元数据存储系统中查询到所述对象元数据,且所述对象数据与所述对象数据的对象元数据匹配的情况下,确定所述对象数据为非垃圾对象数据。通过从对象数据中获取的对象标识,能够根据获取的对象标识在元数据存储系统中查询是否存在对象数据对应的对象元数据,并根据查询结果就可以确定对象数据是否为垃圾对象数据,与现有方案中根据写入元数据发生异常时记录的数据标识来确定垃圾对象数据的方式相比,提高了确定垃圾对象数据的准确性和可靠性。结合第一方面,在第一方面的某些实现方式中,在获取所述对象数据之前,所述方法还包括:将所述对象数据的对象标识和所述对象数据的数据内容写入所述数据存储系统。在写入数据内容时将对象数据的数据标识也写入到数据存储系统中,这样就能够直接从数据存储系统中得到对象数据的对象标识,并根据该对象标识在元数据存储系统中查询相应的对象元数据,进而确定对象数据的有效性(也就是确定对象数据是否为垃圾对象数据)。结合第一方面,在第一方面的某些实现方式中,所述获取对象数据,包括:获取数据标识列表,所述数据标识列表包含所述数据存储系统中存储的对象数据的数据标识;从所述数据标识列表中获取所述对象数据的数据标识;根据所述对象数据的数据标识,从所述数据存储系统中获取所述对象数据。通过数据标识列表,能够从数据存储系统中简单方便地获取要查询的对象数据。结合第一方面,在第一方面的某些实现方式中,所述方法还包括:记录所述对象数据的数据标识。通过记录对象数据的数据标识,能够对查询过程进行记录,防止出现反复查询,提高查询效率。结合第一方面,在第一方面的某些实现方式中,所述对象数据为垃圾对象数据,所述方法还包括:对所述对象数据进行垃圾回收。当对象数据为垃圾对象数据时,通过对对象数据进行垃圾回收,能够保证对象存储系统的正常运行。结合第一方面,在第一方面的某些实现方式中,所述对象数据与所述对象元数据不匹配,包括:所述对象数据的数据标识与所述对象元数据中包含的数据标识不同。结合第一方面,在第一方面的某些实现方式中,所述对象数据与所述对象元数据匹配,包括:所述对象数据的数据标识与所述对象元数据中包含的数据标识相同。结合第一方面,在第一方面的某些实现方式中,所述第一字段为所述对象数据的数据块的头字段。当上述第一字段为对象数据的数据块的头字段时,能够从对象数据中快速解析出对象标识。上述第一字段也可以为对象数据的数据块的尾字段。另外,上述对象数据可以由一个或者多个数据块组成,当对象数据由一个数据块组成时,可以从该数据块的头字段或者尾字段中获取该对象数据对象标识;当对象数据由多个数据块组成时,可以从该多个数据块中的第一个数据块的头字段或者尾字段中获取该对象数据的对象标识。第二方面,提供了一种用于回收垃圾对象数据的装置,所述装置包括用于执行所述第一方面或者第一方面的任一可能的实现方式中的方法的模块或者单元。第三方面,提供一种用于回收垃圾对象数据的装置,包括存储器和处理器,所述存储器用于存储程序,所述处理器用于执行程序,当所述程序被执行时,所述处理器执行所述第一方面或者第一方面的任一可能的实现方式中的方法。第四方面,提供一种用于回收垃圾对象数据的装置,所述装置包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第一方面或者第一方面的任一可能的实现方式中的方法。第五方面,提供一种对象存储系统,所述对象存储系统包括第一方面或者第一方面的任意一种实现方式中的用于回收垃圾对象数据的装置以及数据存储器和元数据存储器,所述用于回收垃圾对象数据的装置用于对数据存储器中的垃圾对象数据进行回收。第六方面,提供一种芯片,所述芯片包括处理器与通信接口,所述通信接口用于与外部器件进行通信,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。附图说明图1是对象存储系统的读写流程的示意图。图2是本申请实施例的用于回收垃圾对象数据的方法的示意性流程图。图3是本申请实施例的对象数据的数据块的示意性结构图。图4是本申请实施例的用于回收垃圾对象数据的方法的示意图。图5是本申请实施例的对象存储系统的示意性框图。图6是本申请实施例的用于回收垃圾对象数据的装置的示意性框图。图7是本申请实施例的用于回收垃圾对象数据的装置的示意性框图。具体实施方式下面将结合附图,对本申请中的技术方案进行描述。在对象存储系统中,通常采用对象数据与对象元数据分离的方式来保存数据,也就是将对象数据保存到数据存储系统中,将对象元数据保存到元数据存储系统中。应理解,在对象存储系统中,对象(boject)可以具体包括对象数据和对象元数据。为了便于理解本申请实施例的用于回收垃圾对象数据的方法,下面先结合图1对对象存储系统的架构以及对象存储系统的读写过程进行简单的介绍。如图1所示,对象存储系统(Object-BasedStorage本文档来自技高网...
用于回收垃圾对象数据的方法和装置

【技术保护点】
一种用于回收垃圾对象数据的方法,其特征在于,包括:获取对象数据;从所述对象数据的第一字段中获取所述对象数据的对象标识,所述对象数据为存储在数据存储系统中的数据;根据所述对象数据的对象标识在元数据存储系统中查询所述对象数据对应的对象元数据;在所述元数据存储系统中未查询到所述对象元数据的情况下,确定所述对象数据为垃圾对象数据;在所述元数据存储系统中查询到所述对象元数据,且所述对象数据与所述对象元数据不匹配的情况下,确定所述对象数据为垃圾对象数据;在所述元数据存储系统中查询到所述对象元数据,且所述对象数据与所述对象数据的对象元数据匹配的情况下,确定所述对象数据为非垃圾对象数据。

【技术特征摘要】
1.一种用于回收垃圾对象数据的方法,其特征在于,包括:获取对象数据;从所述对象数据的第一字段中获取所述对象数据的对象标识,所述对象数据为存储在数据存储系统中的数据;根据所述对象数据的对象标识在元数据存储系统中查询所述对象数据对应的对象元数据;在所述元数据存储系统中未查询到所述对象元数据的情况下,确定所述对象数据为垃圾对象数据;在所述元数据存储系统中查询到所述对象元数据,且所述对象数据与所述对象元数据不匹配的情况下,确定所述对象数据为垃圾对象数据;在所述元数据存储系统中查询到所述对象元数据,且所述对象数据与所述对象数据的对象元数据匹配的情况下,确定所述对象数据为非垃圾对象数据。2.如权利要求1所述的方法,其特征在于,在获取所述对象数据之前,所述方法还包括:将所述对象数据的对象标识和所述对象数据的数据内容写入所述数据存储系统。3.如权利要求1或2所述的方法,其特征在于,所述获取对象数据,包括:获取数据标识列表,所述数据标识列表包含所述数据存储系统中存储的对象数据的数据标识;从所述数据标识列表中获取所述对象数据的数据标识;根据所述对象数据的数据标识,从所述数据存储系统中获取所述对象数据。4.如权利要求3所述的方法,其特征在于,所述方法还包括:记录所述对象数据的数据标识。5.如权利要求1-4中任一项所述的方法,其特征在于,所述对象数据为垃圾对象数据,所述方法还包括:对所述对象数据进行垃圾回收。6.如权利要求1-5任一项所述的方法,其特征在于,所述对象数据与所述对象元数据不匹配,包括:所述对象数据的数据标识与所述对象元数据中包含的数据标识不同。7.如权利要求1-5中任一项所述的方法,其特征在于,所述对象数据与所述对象元数据匹配,包括:所述对象数据的数据标识与所述对象元数据中包含的数据标识相同。8.如权利要求1-7中任一项所述的方法,其特征在于,所述第一字段为所述对象数据的数据块的头字段。9.一种用于回收垃圾对象数据的装置,其特征在于,包括:获取单元...

【专利技术属性】
技术研发人员:李鹏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1