一种基于K-V存储系统的元数据管理方法技术方案

技术编号:11903592 阅读:96 留言:0更新日期:2015-08-19 16:12
本发明专利技术公开了一种基于K-V存储系统的元数据管理方法,该方法包括:建立元数据表、元数据属性表和数据表;其中,元数据存储在元数据表和元数据属性表中,元数据所属对象包括数据值,存储在数据表中;将第一对象的第一元数据进行修改后,存储到第一对象的第一元数据所在的元数据表、元数据属性表和数据表中。采用本发明专利技术能够在元数据修改后存储时不需要升级序列化工具系统,不影响已有程序的运行,做到向上兼容。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种基于K-V存储系统的元数据管理方 法。
技术介绍
键值存储系统是一种常用的存储系统,其中的数据条目以键名-键值 (Key-Value)方式保存。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时 能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能。例如为HBase。 现有技术中元数据存储定义表的时候就确定了表的元数据信息,在实际业务场景 中由于业务逻辑的变迁导致需要对元数据进行修改。修改主要表现为:1.增加或者删除元 数据中属性。2.修改属性名称。3.元数据A由业务场景中的元数据B扩展而来,修改了元 数据B的元数据信息。因为数据对象在使用时往往被其他对象引用,对一个对象的元数据 修改会造成大量的代码修改,这样就需要升级现有存储系统。 现有技术中,首先在用户类中已经定义了元数据的属性数量及属性名称,假设属 性数量为3,属性名称分别为名字、年龄和地址。那么,在该用户类对应的用户表中K值为 用户ID,V值为序列化的属性值,即将3个属性名称分别对应的属性值"张三"、"20岁"、"北 京"序列化为一个值。如果修改元数据中属性数量,假设属性数量修改为2个,修改后的属 性名称为名字和地址,则用户表中的K值仍然为用户ID,但是V值的序列化需要使用新的序 列化工具,即使用升级后的序列化工具对修改后的属性名称对应的属性值重新编码进行序 列化,否则,如果以原来的序列化工具进行序列化然后存储,得到的信息是错误的。也就是 说,现有技术修改后存储需要升级现有序列化工具系统,而且升级后,原来的元数据版本会 被升级后的版本覆盖,无法查询到。
技术实现思路
本专利技术的目的在于提供一种基于K-V存储系统的元数据管理方法,能够在元数据 修改后存储时不需要升级序列化工具系统,不影响已有程序的运行,做到向上兼容。 为实现上述专利技术目的,本专利技术提供了一种基于K-V存储系统的元数据管理方法, 该方法包括: 建立元数据表、元数据属性表和数据表;其中,元数据存储在元数据表和元数据属 性表中,元数据所属对象包括数据值,存储在数据表中; 将第一对象的第一元数据进行修改后,存储到第一对象的第一元数据所在的元数 据表、元数据属性表和数据表中。 综上所述,本专利技术实施例将对象的元数据存储为元数据表和元数据属性表,数据 值存储为数据表。对对象的元数据进行修改时,直接在各个表中追加存储,这样的修改后存 储,仍然可以采用修改之前的序列化工具系统,不影响已有程序的运行,简单易操作。而且, 由于是追加存储,修改前的版本仍然可以查询到,做到数据变迁可追溯。【附图说明】 图1为本专利技术基于K-V存储系统的元数据管理方法的流程示意图。【具体实施方式】 为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对 本专利技术所述方案作进一步地详细说明。 本专利技术的核心思想是:将对象进行元数据属性数量或者属性名称修改后,进行累 加存储;其中,对象包括元数据和数据值,将元数据存储为元数据表和元数据属性表,数据 值存储为数据表。也就是说,将对象的元数据和数据值分开存储,不像现有技术那样存储在 同一个表中,本专利技术将对象的元数据存储为元数据表和元数据属性表,数据值存储为数据 表。对对象的元数据进行修改时,直接在各个表中追加存储,这样的修改后存储,仍然可以 采用修改之前的序列化工具系统,不影响已有程序的运行,简单易操作。而且,由于是追加 存储,修改前的版本仍然可以查询到,做到数据变迁可追溯。 下面简单介绍一下本专利技术中所涉及的几个概念:对象包括元数据和数据,数据化的元数据就是一个对象,对象可以是用户,商品, 等等。 元数据:可以用于描述对象的属性。 父元数据:如果一个元数据具有父元数据,则该元数据除具有自身的属性外,还继 承了该父元数据的所有属性。 本专利技术提供了一种基于K-V存储系统的元数据管理方法,其流程示意图如图1所 示,该方法包括: 步骤S1、建立元数据表、元数据属性表和数据表;其中,元数据存储在元数据表和 元数据属性表中,元数据所属对象包括数据值,存储在数据表中; 步骤S2、将第一对象的第一元数据进行修改后,存储到第一对象的第一元数据所 在的元数据表、元数据属性表和数据表中。 首先,将元数据存储为元数据表和元数据属性表,元数据表如表1所示,元数据属 性表如表2所示。将数值存储为数据表,数据表如表3所示。【主权项】1. 一种基于K-V存储系统的元数据管理方法,其特征在于,该方法包括: 建立元数据表、元数据属性表和数据表;其中,元数据存储在元数据表和元数据属性表 中,元数据所属对象包括数据值,存储在数据表中; 将第一对象的第一元数据进行修改后,存储到第一对象的第一元数据所在的元数据 表、元数据属性表和数据表中。2. 如权利要求1所述的方法,其特征在于,所述元数据包括元数据属性名称,所述修改 为修改元数据属性名称时,则通过版本修改,将第一对象的第一元数据所对应的第一元数 据版本,修改为第一对象的第一元数据对应第二元数据版本。3. 如权利要求1所述的方法,其特征在于,所述元数据包括元数据属性数量,所述修改 为修改元数据属性数量时,则通过版本和对象修改,将第一对象的第一元数据所对应的第 一元数据版本,修改为第二对象的第一元数据对应第二元数据版本。4. 如权利要求1所述的方法,其特征在于,所述修改进一步包括扩展元数据,所述第一 元数据通过增加元数据属性数量扩展修改为第二元数据时,将第一对象的第一元数据修改 为第二对象的第二元数据,所述第二元数据以第一元数据为父元数据。5. 如权利要求1所述的方法,其特征在于, 所述元数据表的键名包括元数据标识ID、元数据版本,键值包括属性数量、属性ID、父 元数据ID和修改日期; 所述元数据属性表的键名包括元数据ID、属性ID和元数据版本,键值包括属性名称; 所述数据表的键名包括元数据ID、属性ID和对象ID,键值包括属性值。6. 根据权利要求5所述的方法,其特征在于,该方法还包括以下查询流程: A、 根据元数据ID和元数据版本查询元数据表,确定对应版本下的元数据属性数量和 属性ID,以及是否包括父元数据;如果包括父元数据,则重新执行步骤A,所述元数据ID为 父元数据ID ;如果不包括父元数据,则直接执行步骤B ; B、 根据元数据ID、元数据版本和属性ID查询元数据属性表,确定对应版本下每个属性 ID对应的属性名称; C、 根据元数据ID、对象ID以及属性名称对应的属性ID查询数据值表,确定对应版本下 属性名称的属性值。【专利摘要】本专利技术公开了一种基于K-V存储系统的元数据管理方法,该方法包括:建立元数据表、元数据属性表和数据表;其中,元数据存储在元数据表和元数据属性表中,元数据所属对象包括数据值,存储在数据表中;将第一对象的第一元数据进行修改后,存储到第一对象的第一元数据所在的元数据表、元数据属性表和数据表中。采用本专利技术能够在元数据修改后存储时不需要升级序列化工具系统,不影响已有程序的运行,做到向上兼容。【IPC分类】G06F17-30【公开号】CN104850565【申请号】CN201410055654【专利技术人】马文金 【申请人】北京京东尚科信息技术有限公司本文档来自技高网
...
一种基于K-V存储系统的元数据管理方法

【技术保护点】
一种基于K‑V存储系统的元数据管理方法,其特征在于,该方法包括:建立元数据表、元数据属性表和数据表;其中,元数据存储在元数据表和元数据属性表中,元数据所属对象包括数据值,存储在数据表中;将第一对象的第一元数据进行修改后,存储到第一对象的第一元数据所在的元数据表、元数据属性表和数据表中。

【技术特征摘要】

【专利技术属性】
技术研发人员:马文金
申请(专利权)人:北京京东尚科信息技术有限公司
类型:发明
国别省市:北京;11

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

1