预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共23页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115935020A(43)申请公布日2023.04.07(21)申请号202211591627.X(22)申请日2022.12.12(71)申请人四川蜀天梦图数据科技有限公司地址610000四川省成都市天府新区兴隆街道湖畔路西路99号B7栋天府英才中心6层(72)发明人吕继云李鹏张睿王振宇(74)专利代理机构深圳市六加知识产权代理有限公司44372专利代理师向彬(51)Int.Cl.G06F16/901(2019.01)G06F16/903(2019.01)权利要求书3页说明书11页附图8页(54)发明名称一种图数据存储方法和装置(57)摘要本发明涉及数据库技术领域,提供了一种图数据存储方法和装置。其中所述方法包括:将数据记录存储到分区数据表中;将属性索引记录存储到属性索引表中,以便于通过属性查找到对应的数据记录;其中,所述属性索引记录包括属性值和对应数据记录的ROWID;将图拓扑数据存储到邻接表中,以便于通过边或顶点查找到对应的数据记录;其中,所述图拓扑数据包括边ID、顶点ID、边与顶点之间的拓扑结构以及对应数据记录的ROWID。本发明将图数据中多种类型的数据分开存储,将每个顶点和边以及对应的属性、关系、标签均存储到分区数据表中,并通过邻接表单独存储图拓扑数据,以避免邻接表的存储规模过大而导致图拓扑数据的查询性能下降。CN115935020ACN115935020A权利要求书1/3页1.一种图数据存储方法,其特征在于,数据存储结构包括多个分区数据表、邻接表、属性索引表和顶点索引表,所述存储方法包括:将数据记录存储到对应的分区数据表中;其中,基于关系和标签,所述多个分区数据表还被划分为关系分区数据表和标签分区数据表,基于顶点和边的不同,所述数据记录还被划分为顶点记录和边记录,每一个关系对应一个关系分区数据表,用于存储具有对应关系的边记录,每一个标签对应一个标签分区数据表,用于存储具有对应标签的顶点记录,所述顶点记录包括顶点ID和对应顶点的所有属性,所述边记录包括边ID、对应边的起始顶点的顶点ID、对应边的终止顶点的顶点ID和对应边的所有属性;将属性索引记录存储到属性索引表中,以便于通过属性查找到对应的数据记录;其中,所述属性索引记录包括属性值和对应数据记录的ROWID;将图拓扑数据存储到邻接表中,以便于通过边或顶点查找到对应的数据记录;其中,所述图拓扑数据包括边ID、顶点ID、边与顶点之间的拓扑结构以及对应数据记录的ROWID。2.根据权利要求1所述的图数据存储方法,其特征在于,所述将数据记录存储到对应的分区数据表中,具体包括:以每个数据文件作为对应分区数据表中的一个分区,将每个数据文件划分为多个页,将数据记录写入相应页;其中,每个分区数据表包含一个或多个分区;并根据所述数据记录所在分区的文件号、所述数据记录所在页的页号和所述数据记录在所在页内的相对偏移,生成对应的ROWID,以用于确定所述数据记录的所在位置;在分区数据表的第一分区中存储各分区的分区索引数据,以便于访问分区数据表中的每个分区;其中,每个分区的分区索引数据至少包括分区的尾页地址和分区的数据记录数量。3.根据权利要求2所述的图数据存储方法,其特征在于,所述方法还包括数据记录的插入操作,具体包括:根据数据记录所对应的标签或关系,找到对应的目标分区数据表;根据分区索引数据,找到目标分区数据表中数据记录数量最少且未上锁的目标分区,访问所述目标分区的尾页;根据所述分区索引数据中的尾页地址,判断所述尾页的剩余存储空间是否充足,若所述尾页的存储空间充足,则对所述目标分区的分区锁进行上锁,将所述数据记录写入至所述尾页,并更新所述目标分区的分区索引数据,在所述数据写入成功后,对所述目标分区的分区锁进行解锁;若所述尾页的剩余存储空间不足,则在所述尾页后,为所述目标分区分配一个新页,以所述新页作为所述目标分区的新尾页,对所述目标分区的分区锁进行上锁,将所述数据记录写入至所述新尾页,在所述数据写入成功后,对所述目标分区的分区锁进行解锁,并更新所述目标分区的分区索引数据。4.根据权利要求2所述的图数据存储方法,其特征在于,所述方法还包括数据记录的更新操作,具体包括:根据旧数据记录的ROWID,确定所述旧数据记录的所在分区和存储位置;将所述旧数据记录的数据大小与新数据记录的数据大小进行比较,若所述新数据记录的数据大小不大于旧数据记录的数据大小,则将所述新数据记录直接覆盖写入旧记录的存2CN115935020A权利要求书2/3页储位置;若所述新数据记录的数据大小大于旧数据记录的数据大小,则以数据插入的形式,将所述新数据记录写入至所述分区的尾页中,并将指向所述新数据记录的指针覆盖写入旧数据记录的存储位置。5.根据权利要求2所述的