一种图数据存取方法及系统的制作方法

文档序号:8299103阅读:285来源:国知局
一种图数据存取方法及系统的制作方法
【技术领域】
[0001] 本发明涉及一种计算机技术,特别是涉及一种图数据存取方法及系统。
【背景技术】
[0002] 图是计算机科学中最常用的一类抽象数据结构,在结构和语义方面比线性表和树 更复杂,在数据与数据关系上更具有一般性表示能力。虽然图的应用和处理技术已经发展 了很长时间,但随着信息规模的不断增长,图的规模日益扩大,如何对大规模图进行高效处 理成为新的挑战。目前采用云计算环境进行大规模图的存储和处理具有优势。基于云计算 环境的图存储系统大致可分为两种:一种是以GFS、HDFS为代表的分布式文件系统;另一种 是以BigTable、Hbase为代表的NoSQL分布式数据库。
[0003] 具体来说,以HDFS为代表的分布式文件系统提供了一个统一的文件系统视图,并 通过将图顶点、边数据作为文件直接存放。但对图数据的管理依赖于人工或半自动的数据 管理,虽具有强大的存储能力,但数据管理效率较低。另一方面,NoSQL数据库采用的数据模 型主要有文档存储、列族存储、Key-Value存储模型、图存储模型。文档存储模型与分布式 文件系统类似,比较适合存储系统日志等非结构化数据,但不太适合以邻接矩阵、邻接表组 织的图数据,其将数据作为统一的文档形式存储,为支持灵活性导致的处理效率的降低也 会成为大规模图数据管理的性能瓶颈。列族存储模型比较适合对某一列进行随机查询,但 是对于穷举式遍历,反而不如传统的面向行的存储模式。与上述存储模型相比,Key-Value 模型通过将数据组织为主键-数据的映射关系,非常适合通过主键进行查询和遍历,但对 复杂的条件查询支持度不高。因此,Key-Value模型可很好地支持通过id为条件的单个顶 点查询或图遍历操作,但对某个属性的检索只能通过全表扫描完成,性能不高。在实际运用 中,应用对图存储的要求不仅仅局限于对单个节点的数据获取,而是对图的拓扑结构,如最 短路径、连通性等具有检索要求,而在这方面Key-Value则不能很好地支持。
[0004] 最后,图存储模型的相关研究还不完善,只有少数分布式图数据库如Ne〇4j等采 用了图存储模型。这种模型由于其本身的适配性能很好地支持对图拓扑结构的检索,但很 多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方 案,典型模型如Ne〇4j不能保持与已有云计算环境如Hadoop的兼容性,从而不能很好地利 用云计算环境的可扩展性、容错性等方面的特性。
[0005] 鉴于此,如何找到一种方法提高对大量图数据信息的存取性能成为了本领域技术 人员亟待解决的问题。

【发明内容】

[0006] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种图数据存取方法及系 统,用于解决现有技术中在云计算环境下对图数据的存取性能不高的问题。
[0007] 为实现上述目的及其他相关目的,本发明提供一种图数据存取方法,所述图数据 存取方法包括:将待存储的图数据信息分成边数据信息与顶点数据信息;其中,所述边数 据信息包括边所连接的顶点标识符;所述顶点数据信息包括一个或多个顶点属性信息,所 述顶点属性信息包括顶点属性数据的定位信息以及顶点属性解析信息的定位信息,所述顶 点属性数据的定位信息用于确定所述顶点属性数据的位置,所述顶点属性解析信息的定位 信息用于确定所述顶点属性解析信息的位置;所述顶点属性解析信息用于对所述顶点属性 数据进行解析,以获取所述顶点属性的值;所述顶点属性解析信息包括所述顶点属性的类 型以及所述顶点属性在所述顶点属性数据中的取值方式;分别存储所述边数据信息与所述 顶点数据信息。
[0008] 可选地,所述顶点属性数据的定位信息包括标识符或指针的形式;所述顶点属性 解析信息的定位信息包括标识符或指针的形式。
[0009] 可选地,所述顶点属性解析信息还包括分隔符信息,所述顶点属性数据以所述分 隔符分割成多个顶点属性列,所述顶点属性的取值方式为:在所述顶点属性在所述顶点属 性数据中相应顺序的所述顶点属性列中进行取值;当所述分隔符为空时,所述顶点属性解 析信息包括字节取值范围,所述顶点属性的取值方式为:在所属顶点属性数据的所述字节 取值范围中进行取值。
[0010] 可选地,所述顶点属性的取值方式还包括对所述顶点属性数据中获取的值进行进 一步解析处理,所述进一步解析处理包括计算平均值。
[0011] 可选地,所属顶点属性解析信息以XML格式定义。
[0012] 可选地,所述图数据存取方法还包括:读取所述图数据的边数据信息;通过所述 边数据信息的顶点标识符定位所述顶点数据信息;读取所述顶点数据信息,根据所述顶点 属性解析信息对所述顶点属性数据进行解析,获取所述顶点数据信息的顶点属性值。
[0013] 可选地,所述边数据信息包括一个或多个边属性信息,所述边属性信息包括边属 性数据的定位信息以及边属性解析信息的定位信息,所述边属性数据的定位信息用于确定 所述边属性数据的位置,所述边属性解析信息的定位信息用于确定所述边属性解析信息的 位置;所述边属性解析信息用于对所述边属性数据进行解析,以获取所述边属性的值;所 述边属性解析信息包括所述边属性的类型以及所述边属性在所述边属性数据中的取值方 式。
[0014] 可选地,所述边属性数据的定位信息包括标识符或指针的形式;所述边属性解析 信息的定位信息包括标识符或指针的形式。
[0015] 可选地,所述边属性解析信息还包括分隔符信息,所述边属性数据以所述分隔符 分割成多个边属性列,所述边属性的取值方式为:在所述边属性在所述边属性数据中相应 顺序的所述边属性列中进行取值;当所述分隔符为空时,所述边属性解析信息包括字节取 值范围,所述边属性的取值方式为:在所属边属性数据的所述字节取值范围中进行取值。
[0016] 可选地,所述边属性的取值方式还包括对所述边属性数据中获取的值进行进一步 解析处理,所述进一步解析处理包括计算平均值。
[0017] 可选地,所属边属性解析信息以XML格式定义。
[0018] 可选地,所述图数据存取方法还包括:读取所述图数据的边数据信息;通过所述 边数据信息的顶点标识符定位所述顶点数据信息;读取所述顶点数据信息,根据所述顶点 属性解析信息对所述顶点属性数据进行解析,获取所述顶点数据信息的顶点属性值;读取 所述边属性信息,根据所述边属性解析信息对所述边属性数据进行解析,获取所述边数据 信息的边属性值。
[0019] 本发明还提供一种图数据存取系统,所述图数据存取系统包括图数据分解模块以 及图数据存储模块;其中,所述图数据分解模块用于将待存储的图数据信息分成边数据信 息与顶点数据信息;其中,所述边数据信息包括边所连接的顶点标识符;所述顶点数据信 息包括一个或多个顶点属性信息,所述顶点属性信息包括顶点属性数据的定位信息以及顶 点属性解析信息的定位信息,所述顶点属性数据的定位信息用于确定所述顶点属性数据的 位置,所述顶点属性解析信息的定位信息用于确定所述顶点属性解析信息的位置;所述顶 点属性解析信息用于对所述顶点属性数据进行解析,以获取所述顶点属性的值;所述顶点 属性解析信息包括所述顶点属性的类型以及所述顶点属性在所述顶点属性数据中的取值 方式;所述图数据存储模块用于分别存储所述边数据信息与所述顶点数据信息。
[0020] 可选地,所述顶点属性数据的定位信息包括标识符或指针的形式;所述顶点属性 解析信息的定位信息包括标识符或指针的形式。
[0021] 可选地,所述顶点属性解析信息还包括分隔符信息,所述顶点属性数据以所述分 隔符分割成多个顶点属性列,所述顶点属性的取值方式为:在所述顶点属性在所述顶点属 性数据中相应顺序的所述顶点属性列中进行取值;当所述分隔符为空时,所述顶点属性解 析信息包括字节取值范围,所述顶点属性的取值方式为:在所属顶点属性数据的所述字节 取值范围中进行取值。
[0022] 可选地,所述顶点属性的取值方式还包括对所述顶点属性数据中获取的值进行进 一步解析处理,所述进一步解析处理包括计算平均值。
[0023] 可选地,所属顶点属性解析信息以XML格式定义。
[0024] 可选地,所述边数据信息包括一个或多个边属性信息,所述边属性信息包括边属 性数据的定位信息以及边属性
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1