一种存储元数据的方法和装置制造方法

文档序号:6627737阅读:204来源:国知局
一种存储元数据的方法和装置制造方法
【专利摘要】本发明公开了一种存储元数据的方法和装置,属于计算机安全领域。所述方法包括:接收上层通过存储程序发送的存储指令,所述存储指令携带元数据;根据所述元数据,获取所述元数据的副本数目;根据所述副本数目,为所述元数据分配存储空间,并将所述元数据存储在所述分配的存储空间中。所述装置包括:第一接收模块,第一获取模块和第一存储模块。本发明能够实现不用修改存储程序即可实现元数据的多副本机制,简化了上层业务,保证了元数据的可靠性。
【专利说明】一种存储元数据的方法和装置

【技术领域】
[0001] 本发明涉及计算机安全领域,特别涉及一种存储元数据的方法和装置。

【背景技术】
[0002] 元数据是关于数据的数据,在业务上下文中,元数据可用于定义关于业务应用的 信息。并且,元数据是存储系统的核心,其可靠性直接关系到存储系统的可用性和数据的安 全性。为了保证元数据的可靠性,在对元数据进行存储时,一般将元数据复制为多个副本, 存储元数据的多个副本。
[0003] 目前,在存储元数据时,用户编写存储程序,终端的上层通过该存储程序,将元数 据存储在指定的存储空间中,当需要将元数据复制为多个副本时,用户修改该存储程序,该 修改后的存储程序用于将元数据复制为多个副本并将元数据的多个副本分别存储在指定 的存储空间中。终端的上层通过该修改后的存储程序将元数据复制为多个副本,存储元数 据的多个副本。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 当需要存储每种元数据的多个副本时,需要修改每种元数据的存储程序,导致开 发量大,代码复杂,容易出错,从而影响元数据的可靠性。


【发明内容】

[0006] 为了使解决现有技术的问题,本发明提供了一种存储元数据的方法和装置。技术 方案如下:
[0007] 第一方面,本发明提供了一种存储元数据的方法,所述方法包括:
[0008] 接收上层通过存储程序发送的存储指令,所述存储指令携带元数据;
[0009] 根据所述元数据,获取所述元数据的副本数目;
[0010] 根据所述副本数目,为所述元数据分配存储空间,并将所述元数据存储在所述分 配的存储空间中。
[0011] 结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述元数据,获 取所述元数据的副本数目,包括:
[0012] 根据所述元数据,从元数据的标识和副本数目的对应关系中获取所述元数据的副 本数目。
[0013] 结合第一方面,在第一方面的第二种可能的实现方式中,所述方法还包括:
[0014] 获取每种元数据的标识和所述每种元数据的副本数目;
[0015] 将所述每种元数据的标识和所述每种元数据的副本数目存储在元数据的标识和 副本数目的对应关系中。
[0016] 结合第一方面,在第一方面的第三种可能的实现方式中,所述方法还包括:
[0017] 接收所述上层通过读取程序发送的读取指令,所述读取指令携带所述元数据的标 识;
[0018] 根据所述元数据的标识,从元数据的标识和存储空间的标识的对应关系中获取所 述元数据的存储空间的标识;
[0019] 根据所述存储空间的标识,从所述存储空间中获取元数据;
[0020] 向所述上层发送所述获取的元数据。
[0021] 结合第一方面的第三种可能,在第一方面的第四种可能的实现方式中,所述向所 述上层发送所述获取的元数据,包括:
[0022] 判断所述获取的元数据是否为原始的元数据;
[0023] 如果是,向所述上层发送所述获取的元数据;
[0024] 如果否,获取原始的元数据,向所述上层发送所述原始的元数据。
[0025] 结合第一方面的第四种可能,在第一方面的第五种可能的实现方式中,所述判断 所述获取的元数据是否为原始的元数据,包括:
[0026] 计算所述获取的元数据的校验码;
[0027] 获取所述原始的元数据的校验码;
[0028] 判断所述获取的元数据的校验码和所述原始的元数据的校验码是否相同;
[0029] 如果相同,则确定所述获取的元数据是原始的元数据;
[0030] 如果不相同,则确定所述获取的元数据不是原始的元数据。
[0031] 结合第一方面的第四种可能,在第一方面的第六种可能的实现方式中,所述方法 还包括:
[0032] 如果所述获取的元数据不是原始的元数据,将所述存储空间中的元数据替换为所 述原始的元数据。
[0033] 结合第一方面,在第一方面的第七种可能的实现方式中,所述方法还包括:
[0034] 获取所述存储空间的标识;
[0035] 将所述元数据的标识和所述存储空间的标识存储在元数据的标识和存储空间的 标识的对应关系中。
[0036] 第二方面,本发明提供了一种存储元数据的装置,所述装置包括:
[0037] 第一接收模块,用于接收上层通过存储程序发送的存储指令,所述存储指令携带 元数据;
[0038] 第一获取模块,用于根据所述元数据,获取所述元数据的副本数目;
[0039] 第一存储模块,用于根据所述副本数目,为所述元数据分配存储空间,并将所述元 数据存储在所述分配的存储空间中。
[0040] 结合第二方面,在第二方面的第一种可能的实现方式中,所述第一获取模块,用于 根据所述元数据,从元数据的标识和副本数目的对应关系中获取所述元数据的副本数目。
[0041] 结合第二方面,在第二方面的第二种可能的实现方式中,所述装置还包括:
[0042] 第二获取模块,用于获取每种元数据的标识和所述每种元数据的副本数目;
[0043] 第二存储模块,用于将所述每种元数据的标识和所述每种元数据的副本数目存储 在元数据的标识和副本数目的对应关系中。
[0044] 结合第二方面,在第二方面的第三种可能的实现方式中,所述装置还包括:
[0045] 第二接收模块,用于接收所述上层通过读取程序发送的读取指令,所述读取指令 携带所述元数据的标识;
[0046] 第三获取模块,用于根据所述元数据的标识,从元数据的标识和存储空间的标识 的对应关系中获取所述元数据的存储空间的标识;
[0047] 第四获取模块,用于根据所述存储空间的标识,从所述存储空间中获取元数据;
[0048] 发送模块,用于向所述上层发送所述获取的元数据。
[0049] 结合第二方面的第三种可能,在第二方面的第四种可能的实现方式中,所述发送 模块,包括:
[0050] 判断单元,用于判断所述获取的元数据是否为原始的元数据;
[0051] 第一发送单元,用于如果是,向所述上层发送所述获取的元数据;
[0052] 第二发送单元,用于如果否,获取原始的元数据,向所述上层发送所述原始的元数 据。
[0053] 结合第二方面的第四种可能,在第二方面的第五种可能的实现方式中,判断单元, 包括:
[0054] 计算子单元,用于计算所述获取的元数据的校验码;
[0055] 获取子单元,用于获取所述原始的元数据的校验码;
[0056] 判断子单元,用于判断所述获取的元数据的校验码和所述原始的元数据的校验码 是否相同;
[0057] 第一确定子单元,用于如果相同,则确定所述获取的元数据是原始的元数据;
[0058] 第二确定子单元,用于如果不相同,则确定所述获取的元数据不是原始的元数据。
[0059] 结合第二方面的第四种可能,在第二方面的第六种可能的实现方式中,所述装置 还包括:
[0060] 替换模块,用于如果所述获取的元数据不是原始的元数据,将所述存储空间中的 元数据替换为所述原始的元数据。
[0061] 结合第二方面,在第二方面的第七种可能的实现方式中,所述装置还包括:
[0062] 第五获取模块,用于获取所述存储空间的标识;
[0063] 第三存储模块,用于将所述元数据的标识和所述存储空间的标识存储在元数据的 标识和存储空间的标识的对应关系中。
[0064] 第三方面,本发明提供了一种存储元数据的装置,所述装置包括:存储器和处理 器,用于执行如第一方面所述的存储元数据的方法。
[0065] 在本发明实施例中,当用户为了保证元数据可靠性,采用多副本机制时,并不用修 改存储程序和相关的元数据对应的数据结构,上层直接通过存储程序向底层发送元数据, 底层根据元数据,获取元数据的副本数目;根据副本数目,为元数据分配存储空间,并将元 数据存储在分配的存储空间中。从而实现不用修改存储程序即可实现元数据的多副本机 制,简化了上层业务,保证了元数据的可靠性。

【专利附图】

【附图说明】
[0066] 图1是本发明实施例1提供的一种存储元数据的方法流程图;
[0067] 图2是本发明实施例2提供的一种存储元数据的方法流程图;
[0068] 图3是本发明实施例3提供的一种存储元数据的装置结构示意图;
[0069] 图4是本发明实施例4提供的一种存储元数据的另一装置结构示意图。

【具体实施方式】
[0070] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0071] 实施例1
[0072] 本发明实施例提供了一种存储元数据的方法,参见图1,其中,该方法包括:
[0073] 步骤101 :接收上层通过存储程序发送的存储指令,该存储指令携带元数据;
[0074] 步骤102 :根据元数据,获取元数据的副本数目;
[0075] 步骤103 :根据副本数目,为元数据分配存储空间,并将元数据存储在分配的存储 空间中。
[0076] 在本发明实施例中,当用户为了保证元数据可靠性,采用多副本机制时,并不用修 改存储程序和相关的元数据对应的数据结构,上层直接通过存储程序向底层发送元数据, 底层根据元数据,获取元数据的副本数目;根据副本数目,为元数据分配存储空间,并将元 数据存储在分配的存储空间中。从而实现不用修改存储程序即可实现元数据的多副本机 制,简化了上层业务,保证了元数据的可靠性。
[0077] 实施例2
[0078] 本发明实施例提供了一种存储元数据的方法。
[0079] 元数据是关于数据的数据,在业务上下文中,元数据可用于定义关于业务应用的 信息。例如,元数据可定义与业务应用交互的业务实体以及业务应用中可用于获得业务的 方法,元数据与业务应用中所使用的实际数据分开存储,为了保证元数据的可靠性,一般将 元数据复制为多个副本,存储元数据的多个副本,为了不修改元数据的存储程序,可以按照 本发明实施例提供的方法存储元数据。
[0080] 该方法的执行主体可以为终端,参见图2,该方法包括:
[0081] 步骤201 :接收上层通过存储程序发送的存储指令,该存储指令携带元数据;
[0082] 当用户想要存储元数据时,元数据不需要修改自己的数据结构,上层直接通过存 储程序向底层发送存储指令,该存储指令除了携带元数据之外,还可以携带目的空间的标 识。底层接收上层通过存储程序发送的存储指令,并从存储指令中获取元数据以及目的空 间的标识。
[0083] 上层通过该存储程序能够将元数据存储在目的空间中。目的空间为存储程序指定 的存储空间,目的空间的标识可以为目的空间的名称等。
[0084] 需要说明的是,底层接收到上层通过存储程序发送的存储指令之后,可以将元数 据存储在目的空间中,执行步骤202 ;也可以直接执行步骤202。
[0085] 进一步地,底层获取到元数据之后,计算元数据的校验码,将元数据的标识和元数 据的校验码存储在元数据的标识和校验码的对应关系中,从而底层可以根据元数据的标 识,从元数据的标识和校验码的对应关系中获取元数据的校验码。
[0086] 计算元数据的校验码为现有技术,在此不再详细说明。
[0087] 例如,当用户想要存储元数据1时,上层通过存储程序发送存储指令给底层,该存 储指令携带元数据1,底层接收上层通过存储程序发送的存储指令,并从存储指令中获取元 数据1。底层计算元数据1的校验码为1,将元数据1和元数据1的校验码1存储在如下表 1中:
[0088] 表 1
[0089]

【权利要求】
1. 一种存储元数据的方法,其特征在于,所述方法包括: 接收上层通过存储程序发送的存储指令,所述存储指令携带元数据; 根据所述元数据,获取所述元数据的副本数目; 根据所述副本数目,为所述元数据分配存储空间,并将所述元数据存储在所述分配的 存储空间中。
2. 如权利要求1所述的方法,其特征在于,所述根据所述元数据,获取所述元数据的副 本数目,包括: 根据所述元数据,从元数据的标识和副本数目的对应关系中获取所述元数据的副本数 目。
3. 如权利要求1所述的方法,其特征在于,所述方法还包括: 获取每种元数据的标识和所述每种元数据的副本数目; 将所述每种元数据的标识和所述每种元数据的副本数目存储在元数据的标识和副本 数目的对应关系中。
4. 如权利要求1所述的方法,其特征在于,所述方法还包括: 接收所述上层通过读取程序发送的读取指令,所述读取指令携带所述元数据的标识; 根据所述元数据的标识,从元数据的标识和存储空间的标识的对应关系中获取所述元 数据的存储空间的标识; 根据所述存储空间的标识,从所述存储空间中获取元数据; 向所述上层发送所述获取的元数据。
5. 如权利要求4所述的方法,其特征在于,所述向所述上层发送所述获取的元数据,包 括: 判断所述获取的元数据是否为原始的元数据; 如果是,向所述上层发送所述获取的元数据; 如果否,获取原始的元数据,向所述上层发送所述原始的元数据。
6. 如权利要求5所述的方法,其特征在于,所述判断所述获取的元数据是否为原始的 元数据,包括: 计算所述获取的元数据的校验码; 获取所述原始的元数据的校验码; 判断所述获取的元数据的校验码和所述原始的元数据的校验码是否相同; 如果相同,则确定所述获取的元数据是原始的元数据; 如果不相同,则确定所述获取的元数据不是原始的元数据。
7. 如权利要求5所述的方法,其特征在于,所述方法还包括: 如果所述获取的元数据不是原始的元数据,将所述存储空间中的元数据替换为所述原 始的元数据。
8. 如权利要求1所述的方法,其特征在于,所述方法还包括: 获取所述存储空间的标识; 将所述元数据的标识和所述存储空间的标识存储在元数据的标识和存储空间的标识 的对应关系中。
9. 一种存储元数据的装置,其特征在于,所述装置包括: 第一接收模块,用于接收上层通过存储程序发送的存储指令,所述存储指令携带元数 据; 第一获取模块,用于根据所述元数据,获取所述元数据的副本数目; 第一存储模块,用于根据所述副本数目,为所述元数据分配存储空间,并将所述元数据 存储在所述分配的存储空间中。
10. 如权利要求9所述的装置,其特征在于, 所述第一获取模块,用于根据所述元数据,从元数据的标识和副本数目的对应关系中 获取所述元数据的副本数目。
11. 如权利要求9所述的装置,其特征在于,所述装置还包括: 第二获取模块,用于获取每种元数据的标识和所述每种元数据的副本数目; 第二存储模块,用于将所述每种元数据的标识和所述每种元数据的副本数目存储在元 数据的标识和副本数目的对应关系中。
12. 如权利要求9所述的装置,其特征在于,所述装置还包括: 第二接收模块,用于接收所述上层通过读取程序发送的读取指令,所述读取指令携带 所述元数据的标识; 第三获取模块,用于根据所述元数据的标识,从元数据的标识和存储空间的标识的对 应关系中获取所述元数据的存储空间的标识; 第四获取模块,用于根据所述存储空间的标识,从所述存储空间中获取元数据; 发送模块,用于向所述上层发送所述获取的元数据。
13. 如权利要求12所述的装置,其特征在于,所述发送模块,包括: 判断单元,用于判断所述获取的元数据是否为原始的元数据; 第一发送单元,用于如果是,向所述上层发送所述获取的元数据; 第二发送单元,用于如果否,获取原始的元数据,向所述上层发送所述原始的元数据。
14. 如权利要求13所述的装置,其特征在于,所述判断单元,包括: 计算子单元,用于计算所述获取的元数据的校验码; 获取子单元,用于获取所述原始的元数据的校验码; 判断子单元,用于判断所述获取的元数据的校验码和所述原始的元数据的校验码是否 相同; 第一确定子单元,用于如果相同,则确定所述获取的元数据是原始的元数据; 第二确定子单元,用于如果不相同,则确定所述获取的元数据不是原始的元数据。
15. 如权利要求13所述的装置,其特征在于,所述装置还包括: 替换模块,用于如果所述获取的元数据不是原始的元数据,将所述存储空间中的元数 据替换为所述原始的元数据。
16. 如权利要求9所述的装置,其特征在于,所述装置还包括: 第五获取模块,用于获取所述存储空间的标识; 第三存储模块,用于将所述元数据的标识和所述存储空间的标识存储在元数据的标识 和存储空间的标识的对应关系中。
17. -种存储元数据的装置,其特征在于,所述装置包括:存储器和处理器,用于执行 如权利要求1-8任一权利要求所述的存储元数据的方法。
【文档编号】G06F12/02GK104281534SQ201410485727
【公开日】2015年1月14日 申请日期:2014年9月22日 优先权日:2014年9月22日
【发明者】易明, 陈飘, 肖飞 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1