一种基于bigtable数据模型构造面向对象的图的存储方式制造技术

技术编号:22055430 阅读:58 留言:0更新日期:2019-09-07 15:18
本发明专利技术公开了一种基于bigtable数据模型构造面对对象的图的存储方法,通过建立类表,属性表,关系表,数据表,对实例对象的属性数据和关系数据共同存储,实现图数据库面向对象存储。本发明专利技术图数据库面型对象存储,大大增加了数据库的实用性。

An Object-Oriented Graph Storage Method Based on Bigtable Data Model

【技术实现步骤摘要】
一种基于bigtable数据模型构造面向对象的图的存储方式
本专利技术涉及一种数据库建模和存储方法,具体涉及一种图数据库面向对象的存储方法。
技术介绍
20世纪60年代开始,技术人员开始基于网状数据库定义并应用图结构数据模型。2000年左右,专注于图结构的数据库管理系统开始出现成熟产品,并在社交网络分析、语义分析等领域得到了广泛应用。图数据库使用图结构来组织并存储数据,具体而言,业务数据及它们之间的关系在图数据库中被组织成为:结点、有向边和属性。结点一般用于表示客观事物,有向边用于表示事物之间的关系,属性用于记录与结点或有向边有关的信息。与关系型数据库不同,图数据库关注描述业务数据及它们之间的关系,同时,该类数据库允许在结点和有向边内存储多个属性数据。因不同的技术特点,关系数据库更适用于存储高度结构化的数据而图数据库更容易表示数据之间的关系。但是在实际应用中,有些数据即具有高度结构化的特点,同时还需要表示数据之间的关系,普通的图数据库和关系数据库无法同时满足。一般的解决方案是将图数据库转化为关系数据库,才能同时查询到数据的属性和关系,操作效率不高,实施较比复杂。
技术实现思路
为了解决图数据库因技术特点问题造成的不易查询高度结构化数据,本专利技术提供了一种可以同时查询图数据的关系和属性的存储方式,通过这种存储方式可以同时返回属性数据和关系数据,提高了数据库的使用效率,提高易用性。本专利技术提供一种基于bigtable数据模型构造面向对象的图的存储方式,包括如下步骤:步骤1:基于bigtable数据模型建立存储类信息元数据的类信息表;步骤2:基于bigtable数据模型建立存储属性信息元数据的属性信息表;步骤3:基于bigtable数据模型建立存储关系信息元数据的关系信息表;步骤4:基于bigtable数据模型建立存储实际对象实例数据的数据表,数据表包括对象id,类名称,对象关系,属性数据。步骤5:将各对象之间的对象关系转化为图数据。通过对实例对象的属性数据和关系数据共同存储,实现图数据库面向对象使用,通过数据表同时输出关系信息和属性信息,增加图数据库的易用性。本专利技术的一种基于bigtable数据模型构造面向对象的图的存储方式,作为优选方式,类表包括类id,父类id,类名称,类的描述,属性名称集合,主键,行键为类id,其余属性为列键,各类id对应相应的类,类继承其父类id所对应的类,创建类表存储元信息类信息。本专利技术的一种基于bigtable数据模型构造面向对象的图的存储方式,作为优选方式,属性信息表包括属性名称,属性类型,属性所属类id,属性名称为行键,其余属性为列键,属性信息表通过属性所属类id与类表连接,创建属性表存储元信息中的属性信息,属性信息表与类信息表关联,通过关联类信息表来实现获得属性信息。本专利技术的一种基于bigtable数据模型构造面向对象的图的存储方式,作为优选方式,关系信息表包括关系名称和关系的描述,关系名称为行键,其余属性为列键,所述数据表直接从所述关系信息表中获取关系信息,关系表与其余表之间无指向关系,关系表中的关系信息属于所有的类,因此在数据表中包含所有关系名称且包含所有关系名称。本专利技术的一种基于bigtable数据模型构造面向对象的图的存储方式,作为优选方式,数据表数据表还包括对象名称,对象id为行键,其余属性为列键,数据表通过类名称与类表连接,获取类表中的属性id,对象id通过对象类的主键数值hash运算获得,或通过人工直接赋值获得,类表与数据表相连接,间接使数据表获得属性信息,同时数据表对象的id通过hash运算获得,便于后续使用。本专利技术的一种基于bigtable数据模型构造面向对象的图的存储方式,作为优选方式,属性表中的属性id被至少一个类调用。本专利技术的一种基于bigtable数据模型构造面向对象的图的存储方式,作为优选方式,类通过继承父类属性得到父类的属性id集合和父类的主键。本专利技术的一种基于bigtable数据模型构造面向对象的图的存储方式,作为优选方式,类名称中带有所继承的父类名称,父类名称与子类名称通过“/”分割,子类可继承父类属性的同时,便于通过父类查找子类。本专利技术提供一种基于bigtable数据模型构造面向对象的图的存储方式通过对实例对象的属性数据和关系数据共同存储,实现图数据库面向对象使用,基于此存储实现图查询时同时返回属性和关系,可以达到很高的效率,克服了图数据库难以实现高度结构化数据的查询,即图数据库查询属性信息难度大的问题。本专利技术进一步使用了子类继承父类的方式,减轻数据查询的负担,减少记忆的复杂程度,进一步提高易用性。通过设置属性表,使同一属性可以被多个类复用,减少存储量。对象id通过hash运算获得,便于后续的使用。附图说明图1为表连接关系示意图;图2为类表信息示意图;图3为属性表信息示意图;图4为关系表信息示意图;图5为数据表信息示意图;图6为图数据示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。实施例1如图1所示,一种基于bigtable数据模型构造面向对象的图的存储方式,采用HBASE作为数据库,包括如下步骤:步骤1:基于HBASE数据库建立存储类信息元数据的类信息表;步骤2:基于HBASE数据库建立存储属性信息元数据的属性信息表;步骤3:基于HBASE数据库建立存储关系信息元数据的关系信息表;步骤4:基于HBASE数据库建立存储实际对象实例数据的数据表。步骤5:将各对象之间的对象关系转化为图数据。如图2所示,类表包括类id,父类id,类名称,类的描述,属性名称的集合,主键,行键为类id,其余属性为列键。在所有类中,”/”是根类。类的继承依赖类的名称通过”/”进行分割,同时在父类的ID字段中存储父类的类ID。例如描述人(person)这个类,人有名称(name),身份证号(sid),住址(address)三个属性,身份证号是主键。描述的方法见下面:Person类从“/”类继承而来,因此它的名称是/person。它的父类是“/”类,因此,它的pid是根类的id为0。根类没有父类,id是-1。如图3所示,属性信息表包括属性名称,属性类型,属性所属类,属性信息表通过属性id与类表连接。一个属性信息是可以被多个类所共有。在HBASE中,行键是属性的名称,其他属性是列键。例如,在上述描述“/”类和Person的类中,属性的定义如下:属性名称属性类型属性所属类的集合Idvarchar/,/personClassvarchar/,/personNamevarchar/personSidvarchar/personAddressvarchar/personId和class属性是“/”类和Person类所共有。如图4所示,关系表存储信息是关系的名称,关系的描述,在HBASE中,行键是关系的名称,其他属性是列键。如图5~6所示,数据表是对对象实例数据的存储。类名称属性和对象的ID属性是所有类都必须具有的属性,即它属于根类的属性。ID是由对象的主键的数值的hash运算获得,或直接人工赋值。存储信息是对象ID属性,类名称属性和在该类中定义的其他属性的具体本文档来自技高网...

【技术保护点】
1.一种基于bigtable数据模型构造面向对象的图的存储方式,其特征在于:包括如下步骤:步骤1:基于bigtable数据模型建立存储类信息元数据的类信息表;步骤2:基于bigtable数据模型建立存储属性信息元数据的属性信息表;步骤3:基于bigtable数据模型建立存储关系信息元数据的关系信息表;步骤4:基于bigtable数据模型建立存储实际对象实例数据的数据表,所述数据表包括对象id,类名称,对象关系,属性数据。步骤5:将各对象之间的对象关系转化为图数据。

【技术特征摘要】
1.一种基于bigtable数据模型构造面向对象的图的存储方式,其特征在于:包括如下步骤:步骤1:基于bigtable数据模型建立存储类信息元数据的类信息表;步骤2:基于bigtable数据模型建立存储属性信息元数据的属性信息表;步骤3:基于bigtable数据模型建立存储关系信息元数据的关系信息表;步骤4:基于bigtable数据模型建立存储实际对象实例数据的数据表,所述数据表包括对象id,类名称,对象关系,属性数据。步骤5:将各对象之间的对象关系转化为图数据。2.根据权利要求1所述的一种基于bigtable数据模型构造面向对象的图的存储方式,其特征在于:所述类表包括类id,父类id,类名称,类的描述,属性名称集合,主键,行键为所述类id,其余属性为列键。3.根据权利要求1所述的一种基于bigtable数据模型构造面向对象的图的存储方式,其特征在于:所述属性信息表包括属性名称,属性类型,属性所属类id,所述属性名称为行键,其余属性为列键,所述属性信息表通过所述属性所属类id与所述类表连接。4.根据权利要求1所述的一种基于bigtable数据模型构造面向对...

【专利技术属性】
技术研发人员:李志刚李辉王召东
申请(专利权)人:唯简科技北京有限公司
类型:发明
国别省市:北京,11

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

1