WO2023160137A1 - Graph data storage method and system, and computer device - Google Patents

Graph data storage method and system, and computer device Download PDF

Info

Publication number
WO2023160137A1
WO2023160137A1 PCT/CN2022/138771 CN2022138771W WO2023160137A1 WO 2023160137 A1 WO2023160137 A1 WO 2023160137A1 CN 2022138771 W CN2022138771 W CN 2022138771W WO 2023160137 A1 WO2023160137 A1 WO 2023160137A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
relationship
vertex
attribute
identification data
Prior art date
Application number
PCT/CN2022/138771
Other languages
French (fr)
Chinese (zh)
Inventor
秦朝阳
Original Assignee
苏州浪潮智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 苏州浪潮智能科技有限公司 filed Critical 苏州浪潮智能科技有限公司
Publication of WO2023160137A1 publication Critical patent/WO2023160137A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A graph data storage method and system, and a computer device. The method comprises: decomposing and processing graph data to be stored to acquire vertex identifier data, attribute data and relationship identifier data, wherein the vertex identifier data comprises starting vertex identifier data and ending vertex identifier data (S210); creating relationship bucket metadata including several relationship buckets, wherein each relationship bucket stores, in a KV key form, the graph data to be stored that has the same relationship identifier data (S220); creating a vertex attribute set on the basis of the vertex identifier data and the attribute data, and creating a relationship attribute set on the basis of the attribute data and the relationship identifier data (S230); and storing the vertex attribute set, the relationship attribute set, an attribute inverted index and the relationship bucket metadata in a persistent memory medium in a distributed manner (S240). A persistent memory is used, only one piece of key value data is stored for unique data, and a relationship network is stored in different buckets, thus facilitating horizontal expansion; and key data is directly acquired by means of an identifier during a query, and a query time is not related to the size of a data set, thus processing graph data storage and queries more quickly.

Description

图数据存储方法、系统及计算机设备Graph data storage method, system and computer equipment
相关申请的交叉引用Cross References to Related Applications
本申请要求于2022年02月25日提交中国专利局、申请号202210178094.6、申请名称为“图数据存储方法、系统及计算机设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the China Patent Office on February 25, 2022, with application number 202210178094.6, and the application name is "Graph Data Storage Method, System, and Computer Equipment", the entire contents of which are incorporated by reference in this application middle.
技术领域technical field
本申请涉及图数据处理领域,特别涉及一种图数据存储方法、系统及计算机设备。The present application relates to the field of graph data processing, in particular to a graph data storage method, system and computer equipment.
背景技术Background technique
随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算,亟需一种支持海量复杂数据关系运算的数据库,图数据库在此背景下诞生。对于任何达到一定规模或价值的数据,图数据库都是呈现和查询这些关系数据的最好方式。With the rapid development of social networking, e-commerce, finance, retail, Internet of Things and other industries, a huge and complex relationship network has been woven in the real world. It is difficult for traditional databases to handle relational operations. The database of relational computing, the graph database was born under this background. For any data of a certain size or value, graph databases are the best way to represent and query this relational data.
图存储是图数据库至关重要的一环,通常包括如邻接矩阵或邻接链表的原生图存储和例如JanusGraph(开源的分布式图数据库)的非原生的图存储,原生图存储需要专门定制和优化,而非原生的图存储存在不同程度的读放大等消耗,目前大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,对效率的要求与日俱增,现有的图存储方法面临巨大的图数据存储和查询性能的突破挑战。Graph storage is a crucial part of graph databases, usually including native graph storage such as adjacency matrix or adjacency linked list and non-native graph storage such as JanusGraph (an open source distributed graph database), native graph storage requires special customization and optimization , instead of native graph storage, there are different degrees of consumption such as read amplification. At present, the relationship between the data that needs to be processed in the big data industry grows geometrically with the amount of data, and the requirements for efficiency are increasing day by day. The existing graph storage methods are faced with Huge graph data storage and breakthrough challenges in query performance.
发明内容Contents of the invention
本申请目的是:提供一种能提高图数据存储、查询效率的图数据存储方法、系统及计算机设备。The purpose of this application is to provide a graph data storage method, system and computer equipment that can improve graph data storage and query efficiency.
本申请的技术方案是:第一方面,本申请提供一种图数据存储方法,包括:The technical solution of the present application is: In the first aspect, the present application provides a method for storing graph data, including:
分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据;Decompose and process the graph data to be stored to obtain vertex identification data, attribute data and relationship identification data. The vertex identification data includes start vertex identification data and end vertex identification data;
创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据;Create relational bucket metadata that includes several relational buckets, and each relational bucket stores graph data to be stored with the same relational identification data in the form of a KV key;
基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合;Create a vertex attribute set based on the vertex identification data and attribute data and create a relationship attribute set based on the attribute data and the relationship identification data;
分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中。Distributed storage of vertex attribute sets, relational attribute sets, attribute inverted indexes, and relational bucket metadata to persistent memory media.
在一些实施例中,创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据之前,还包括:In some embodiments, the relationship bucket metadata including several relationship buckets is created, and each relationship bucket stores the relationship identification data in the form of a KV key. Before the same graph data to be stored, it also includes:
以开始顶点标识数据和关系标识数据组合为键、以结束顶点标识数据为值构建KV键形式数据。The KV key form data is constructed with the combination of the start vertex identification data and the relationship identification data as the key, and the end vertex identification data as the value.
在一些实施例中,创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据包括:In some embodiments, create relational bucket metadata including several relational buckets, each relational bucket stores relational identification data in the form of a KV key. The same graph data to be stored includes:
创建存储有关系标识数据相同的待存储图数据的关系桶;Create a relational bucket that stores the same graph data to be stored as the relational identification data;
建立每个关系桶的ID并关联关系桶的ID与关系桶所存储的待存储图数据的关系标识数据;Establish the ID of each relationship bucket and associate the ID of the relationship bucket with the relationship identification data of the graph data to be stored stored in the relationship bucket;
创建包括所有关系桶的关系桶元数据并存储关系桶的ID关联内容于关系桶元数据中。Create relational bucket metadata including all relational buckets and store the ID associated content of the relational bucket in the relational bucket metadata.
在一些实施例中,基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合包括:In some embodiments, creating a set of vertex attributes based on the vertex identification data and attribute data and creating a set of relationship attributes based on the attribute data and the relationship identification data includes:
基于顶点标识数据和属性数据创建以键值模型存储顶点标识数据和属性数据的顶点属性集合,顶点属性集合以顶点标识数据为键、以属性数据为值;Based on the vertex identification data and attribute data, create a vertex attribute set that stores vertex identification data and attribute data in a key-value model. The vertex attribute set uses the vertex identification data as the key and the attribute data as the value;
基于属性数据和关系标识数据创建以键值模型存储属性数据和关系标识数据的关系属性集合,关系属性集合以关系桶ID与关系标识数据为键、以属性数据为值。Based on attribute data and relationship identification data, create a relationship attribute set that uses a key-value model to store attribute data and relationship identification data. The relationship attribute set uses the relationship bucket ID and relationship identification data as keys, and uses attribute data as values.
在一些实施例中,关系桶ID关联内容至少包括:关系类型、关系类型对应的数据量以及关系类型关联的所有关系桶的ID、关系类型关联的所有关系桶位置。In some embodiments, the content associated with the relationship bucket ID includes at least: the relationship type, the amount of data corresponding to the relationship type, the IDs of all the relationship buckets associated with the relationship type, and the positions of all the relationship buckets associated with the relationship type.
在一些实施例中,基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合之后,还包括:In some embodiments, after creating the vertex attribute set based on the vertex identification data and the attribute data and creating the relationship attribute set based on the attribute data and the relationship identification data, the method further includes:
基于顶点属性集合与关系属性集合创建属性倒排索引。Create an attribute inverted index based on the vertex attribute set and the relationship attribute set.
在一些实施例中,还包括:In some embodiments, also include:
获取待写入图数据;Obtain the graph data to be written;
分解待写入图数据以获得待写入图数据的开始顶点标识数据、待写入图数据的关系标识数据、待写入图数据的属性数据和待写入图数据的结束顶点标识数据;Decomposing the graph data to be written to obtain the start vertex identification data of the graph data to be written, the relationship identification data of the graph data to be written, the attribute data of the graph data to be written and the end vertex identification data of the graph data to be written;
基于关系标识数据查找对应的目标关系桶;Find the corresponding target relationship bucket based on the relationship identification data;
以待写入图数据的开始顶点标识数据和待写入图数据的关系标识数据对应的关系标识为键、以待写入图数据的结束顶点标识数据为值构建KV键形式数据并写入目标关系桶中;Use the relationship identifier corresponding to the start vertex identification data of the graph data to be written and the relationship identifier data of the graph data to be written as the key, and the end vertex identification data of the graph data to be written as the value to construct the KV key form data and write it to the target in the relationship bucket;
在关系属性集合中写入待写入图数据的属性数据。Write the attribute data to be written into the graph data in the relationship attribute collection.
在一些实施例中,还包括:In some embodiments, also include:
接收图数据查询请求,图数据查询请求中至少包括查询类型、目标查询顶点标识数据和目标关系标识数据;Receive a graph data query request, the graph data query request includes at least query type, target query vertex identification data and target relationship identification data;
基于目标查询顶点标识数据与目标关系标识数据定位目标关系桶;Locate the target relationship bucket based on the target query vertex identification data and the target relationship identification data;
基于查询类型和目标关系顶点ID以及目标关系桶获取目标查询结果。Obtain the target query result based on the query type, target relationship vertex ID and target relationship bucket.
第二方面,本申请还提供一种图数据存储系统,包括:In the second aspect, the present application also provides a graph data storage system, including:
分解处理模块,用于分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据;The decomposition processing module is used to decompose and process the graph data to be stored to obtain vertex identification data, attribute data and relationship identification data, and the vertex identification data includes start vertex identification data and end vertex identification data;
第一创建模块,用于创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据;The first creation module is used to create relational bucket metadata that includes several relational buckets, and each relational bucket stores the graph data to be stored identical to the relational identification data in the form of a KV key;
第二创建模块,用于基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合;The second creation module is used to create a vertex attribute set based on the vertex identification data and attribute data and create a relationship attribute set based on the attribute data and the relationship identification data;
分布存储模块,用于分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中。The distributed storage module is used for distributed storage of vertex attribute sets, relational attribute sets, attribute inverted indexes and relational bucket metadata to persistent memory media.
第三方面,本申请还提供一种计算机设备,包括:In a third aspect, the present application also provides a computer device, including:
一个或多个处理器;以及one or more processors; and
与一个或多个处理器关联的存储器,存储器用于存储程序指令,程序指令在被一个或多个处理器读取执行时,执行根据第一方面中任一的方法。A memory associated with one or more processors, the memory is used to store program instructions, and when the program instructions are read and executed by the one or more processors, perform any method according to the first aspect.
本申请的优点是:提高一种图数据存储方法、系统及计算机设备,方法包括:分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据;创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据;基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合;分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中;利用持久性内存的DAX特性直接存储特定结构的数据,唯一性数据只存储一份键值数据,关系网络分桶存储,便于水平拓展,桶内数据可以递归迭代,查询时以标识直接获取关键数据,使得复杂的关系网络查询的所需时间与数据集大小无关,能够以更快的速度处理图数据存储和查询。The advantage of the present application is: improve a graph data storage method, system and computer equipment, the method includes: decomposing and processing the graph data to be stored to obtain vertex identification data, attribute data and relationship identification data, the vertex identification data includes start vertex identification data and End vertex identification data; create relational bucket metadata including several relational buckets, each relational bucket stores graph data to be stored with the same relational identification data in the form of KV key; create vertex attribute set based on vertex identification data and attribute data and based on attribute data Create relationship attribute sets with relationship identification data; distribute and store vertex attribute sets, relationship attribute sets, attribute inverted indexes, and relationship bucket metadata to persistent memory media; use the DAX feature of persistent memory to directly store data of a specific structure, uniqueness The data only stores one copy of key-value data, and the relationship network is stored in buckets, which is convenient for horizontal expansion. The data in the bucket can be recursively iterated, and the key data can be directly obtained with the identifier when querying, so that the time required for complex relationship network queries has nothing to do with the size of the data set , capable of processing graph data storage and query at a faster speed.
附图说明Description of drawings
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings that need to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application. For those skilled in the art, other drawings can also be obtained based on these drawings without creative effort.
图1为本申请中进行图数据存储的架构图;Fig. 1 is the architectural diagram of carrying out graph data storage in this application;
图2为本申请实施例所提供的图数据存储方法流程图;FIG. 2 is a flow chart of a method for storing graph data provided by an embodiment of the present application;
图3为本申请实施例所提供的图数据存储方法中关系桶中存储的数据结构示意图;FIG. 3 is a schematic diagram of the data structure stored in the relation bucket in the graph data storage method provided by the embodiment of the present application;
图4为本申请实施例所提供的图数据存储方法中基于当前存储内容查询目标图数据的第一流程图;Fig. 4 is a first flow chart of querying target graph data based on the current storage content in the graph data storage method provided by the embodiment of the present application;
图5为本申请实施例所提供的图数据存储方法中基于当前存储内容查询目标图数据的第二流程图;Fig. 5 is a second flow chart of querying target graph data based on the current storage content in the graph data storage method provided by the embodiment of the present application;
图6为本申请实施例所提供的图数据存储方法中基于当前存储内容查询目标图数据的第三流程图;FIG. 6 is a third flow chart of querying target graph data based on the current storage content in the graph data storage method provided by the embodiment of the present application;
图7为本申请实施例所提供的图数据存储系统架构图;FIG. 7 is an architecture diagram of a graph data storage system provided by an embodiment of the present application;
图8为本申请实施例所提供的计算机设备架构图。FIG. 8 is an architecture diagram of a computer device provided by an embodiment of the present application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the purpose, technical solutions and advantages of the application clearer, the technical solutions in the embodiments of the application will be clearly and completely described below in conjunction with the drawings in the embodiments of the application. Obviously, the described embodiments are only Some embodiments of this application are not all embodiments. Based on the embodiments in this application, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the scope of protection of this application.
如背景技术,图关系数据:即图数据,Graph Data(图数据),是以“图”这种数据结构存储和查询数据,而不是存储图片数据,它的数据模型主要是以节点和关系(边)来体现。当前的图数据存储通常采用如邻接矩阵或邻接链表的原生图大图存储和例如JanusGraph的非原生的图存储,在查询扫描时需要进行大量的I/O(计算机的数据读写操作),查询效率低。Such as the background technology, graph relational data: Graph data, Graph Data (graph data), store and query data with the data structure of "graph", instead of storing image data, its data model is mainly based on nodes and relationships ( side) to reflect. The current graph data storage usually adopts native graph storage such as adjacency matrix or adjacency linked list and non-native graph storage such as JanusGraph, which requires a large amount of I/O (computer data read and write operations) during query and scan. low efficiency.
为解决上述问题,本申请提出了一种图数据存储方法、系统及计算机设备,以关系桶为基础的新的图存储数据结构,其中图数据的存储主要包括顶点属性集合、关系属性集合及若干个关系桶,关系桶中以开始顶点标识和关系标识组合成键、以结束顶点标识为值的键值结 构存储图关系数据,唯一性数据只存储一份键值数据,关系网络分桶存储,便于水平拓展,查询所需时间与数据集大小无关,能够更快速地处理图数据存储和查询。下面将结合一些实施例对本申请所提出的数据库查询调优方法、系统及计算机设备进行介绍。In order to solve the above problems, this application proposes a graph data storage method, system and computer equipment, a new graph storage data structure based on relational buckets, wherein the storage of graph data mainly includes a vertex attribute set, a relational attribute set and several A relationship bucket, in which the start vertex identifier and the relationship identifier are combined into a key, and the key-value structure with the end vertex identifier as the value stores the graph relationship data. Only one copy of the key-value data is stored for the unique data, and the relationship network is stored in buckets. It is convenient for horizontal expansion, and the time required for query has nothing to do with the size of the data set, which can process graph data storage and query more quickly. The database query optimization method, system and computer equipment proposed in this application will be introduced below in conjunction with some embodiments.
实施例一:本申请一些实施例对本申请中进行图数据存储的架构进行介绍。Embodiment 1: Some embodiments of this application introduce the architecture for storing graph data in this application.
参照图1所示,该架构包括:持久性内存(PMem)存储介质,于持久性内存存储介质中分布式存储顶点属性集合、关系属性集合、属性倒排索引以及关系桶元数据。其中,关系桶元数据中包括若干个关系桶,一个关系桶中存储有同一种关系的图关系数据,当某种关系的图关系数据数量特别大时,可以分拆成多个子桶存储,关系桶元数据中存储分拆子桶存储记录。另外,每个关系桶有自己的唯一ID,关系桶元数据中还存储关系桶ID关联内容,关系桶ID关联内容至少包括:关系类型、关系类型对应的数据量以及关系类型关联的所有关系桶的ID、关系类型关联的所有关系桶位置。Referring to FIG. 1, the architecture includes: a persistent memory (PMem) storage medium, in which a set of vertex attributes, a set of relational attributes, an attribute inverted index, and metadata of relational buckets are stored in a distributed manner. Among them, the relationship bucket metadata includes several relationship buckets. One relationship bucket stores graph relationship data of the same relationship. When the number of graph relationship data of a certain relationship is particularly large, it can be split into multiple sub-buckets for storage. Bucket metadata stores split sub-bucket storage records. In addition, each relationship bucket has its own unique ID, and the metadata of the relationship bucket also stores the content associated with the ID of the relationship bucket. The content associated with the ID of the relationship bucket includes at least: the relationship type, the amount of data corresponding to the relationship type, and all the relationship buckets associated with the relationship type ID and all relationship bucket locations associated with the relationship type.
实施例二:基于上述实施例一所介绍的进行图数据存储的架构,本申请一些实施例提供参照图2所示,对本申请中图数据存储方法过程进行介绍。Embodiment 2: Based on the architecture for storing graph data described in Embodiment 1 above, some embodiments of the present application provide an introduction to the process of the graph data storage method in this application, as shown in FIG. 2 .
具体的,参照图2所示,本申请一些实施例所提供的图数据存储方法进行图数据存储的过程包括:Specifically, referring to FIG. 2, the process of storing graph data in the graph data storage method provided by some embodiments of the present application includes:
S210、分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据。S210. Decompose and process the graph data to be stored to obtain vertex identification data, attribute data and relationship identification data, where the vertex identification data includes start vertex identification data and end vertex identification data.
具体的,待存储图数据通常包括两个关系主体以及之间的关系,示例性的:一条图数据为:小王是小明的爸爸,则该图数据可以分解出开始顶点标识数据——小王、结束顶点标识数据——小明、属性数据——小王与小明的属性,以及关系标识数据——父子关系标识数据。关系标识数据与关系内容对应关系预设生成且一一对应,例如:关系标识数据0001代表父子,关系标识数据0002代表朋友,关系标识数据0003代表母子。Specifically, the graph data to be stored usually includes two relationship subjects and the relationship between them. For example: a piece of graph data is: Xiao Wang is Xiao Ming’s father, then the graph data can be decomposed into the starting vertex identification data—Xiao Wang , end vertex identification data—Xiao Ming, attribute data—the attributes of Xiao Wang and Xiao Ming, and relationship identification data—parent-child relationship identification data. Relationship identification data and relationship content are preset to generate and correspond to each other. For example, relationship identification data 0001 represents father and son, relationship identification data 0002 represents friends, and relationship identification data 0003 represents mother and child.
在一些实施例中,在S220之前,该方法包括:In some embodiments, before S220, the method includes:
SA1、以开始顶点标识数据和关系标识数据组合为键、以结束顶点标识数据为值构建KV键形式数据。SA1. Construct data in the form of a KV key with the combination of the start vertex identification data and the relationship identification data as the key and the end vertex identification data as the value.
具体的,构建键值K-V结构,键(K)由开始顶点标识数据和关系标识数据组合而成,其中顶点标识符为唯一指向顶点的标识数据,可以视为地址指针的等价物,可以直接获取到顶点属性,反之也可以从顶点集合中快速获得该唯一标识符;关系标识是从属于该顶点的表示某种关系的一串固定位数的序号,而值(V)为结束顶点标识符。Specifically, the key-value K-V structure is constructed. The key (K) is composed of the start vertex identification data and the relationship identification data. The vertex identifier is the only identification data pointing to the vertex, which can be regarded as the equivalent of the address pointer and can be obtained directly. Vertex attributes, and vice versa, the unique identifier can be quickly obtained from the vertex collection; the relationship identifier is a series of fixed-digit serial numbers belonging to the vertex that represent a certain relationship, and the value (V) is the end vertex identifier.
在一些实施例中,以图数据中定长的开始顶点标识和定长的关系标识组合为键、以结束 顶点标识符为值构建KV键形式数据。以关系划分KV键形式数据,便于后续将同种关系的图关系数据分布存储。In some embodiments, the combination of fixed-length start vertex identifier and fixed-length relationship identifier in the graph data is used as a key, and the end vertex identifier is used as a value to construct KV key form data. Divide data in the form of KV keys by relationships, which facilitates subsequent distributed storage of graph relationship data of the same relationship.
S220、创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据。S220. Create relational bucket metadata including several relational buckets, and each relational bucket stores graph data to be stored with the same relational identification data in the form of a KV key.
在一些实施例中,本步骤包括:In some embodiments, this step includes:
S221、创建存储有关系标识数据相同的待存储图数据的关系桶。S221. Create a relation bucket that stores graph data to be stored that is the same as the relation identification data.
具体的,以关系种类划分KV键形式数据,同种关系的图数据存储在一个关系桶中,即一个关系桶中所包括的图数据的关系标识数据相同,一个关系桶中的图数据的关系标识数据表示何种关系由当前所在的桶的类型所确定。关系桶(RB,意为relations bucket)的设计表示如下:Specifically, data in the form of KV keys is divided by relationship types, and graph data of the same type of relationship are stored in a relationship bucket, that is, the relationship identification data of the graph data included in a relationship bucket is the same, and the relationship of graph data in a relationship bucket What kind of relationship the identification data represents is determined by the type of the current bucket. The design of the relationship bucket (RB, meaning relations bucket) is as follows:
RB=[K->V]=[(P1+Rs)->P2],其中:RB表示关系桶,K表示键,V表示值,P1表示开始顶点标识符,Rs表示关系标识,P2表示结束顶点标识符。关系桶中的数据结构参照图3所示。RB=[K->V]=[(P1+Rs)->P2], where: RB represents the relationship bucket, K represents the key, V represents the value, P1 represents the start vertex identifier, Rs represents the relationship identifier, and P2 represents the end Vertex identifier. Refer to Figure 3 for the data structure in the relational bucket.
S222、建立每个关系桶的ID并关联关系桶的ID与关系桶所存储的待存储图数据的关系标识数据。S222. Establish the ID of each relation bucket and associate the ID of the relation bucket with the relation identification data of the graph data to be stored stored in the relation bucket.
S223、创建包括所有关系桶的关系桶元数据并存储关系桶的ID关联内容于关系桶元数据中。S223. Create relational bucket metadata including all relational buckets and store ID-associated content of the relational buckets in the relational bucket metadata.
具体的,关系桶的ID关联内容至少包括:关系类型、关系类型对应的数据量以及关系类型关联的所有关系桶的ID、关系类型关联的所有关系桶位置。即关系桶的ID表示的内容由关系桶元数据记录,包括但不限于关系属性集合键表示什么类型的关系,该类型一共有多少条,该类型分布在哪些关系桶中,关系桶的位置等。Specifically, the ID association content of the relationship bucket at least includes: the relationship type, the amount of data corresponding to the relationship type, the IDs of all the relationship buckets associated with the relationship type, and the locations of all the relationship buckets associated with the relationship type. That is, the content represented by the ID of the relationship bucket is recorded by the metadata of the relationship bucket, including but not limited to what type of relationship the relationship attribute set key represents, how many items of this type, which relationship buckets this type is distributed in, and the location of the relationship bucket, etc. .
S230、基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合。S230. Create a vertex attribute set based on the vertex identification data and the attribute data, and create a relationship attribute set based on the attribute data and the relationship identification data.
具体的,顶点标识数据唯一指向顶点,示例性的,顶点标识数据为顶点ID。顶点属性集合中存储顶点ID和属性,关系属性集合中存储属性和关系ID。Specifically, the vertex identification data uniquely points to the vertex. Exemplarily, the vertex identification data is a vertex ID. The vertex ID and attribute are stored in the vertex attribute set, and the attribute and relation ID are stored in the relation attribute set.
在一些实施例中,本步骤包括:In some embodiments, this step includes:
S231、基于顶点标识数据和属性数据创建以键值模型存储顶点标识数据和属性数据的顶点属性集合,顶点属性集合以顶点标识数据为键、以属性数据为值。S231. Based on the vertex identification data and attribute data, create a vertex attribute set using a key-value model to store the vertex identification data and attribute data. The vertex attribute set uses the vertex identification data as a key and the attribute data as a value.
具体的,顶点属性集合中以顶点ID为键,内容是数据对象的持久内存ID(PMEMoid),通常是64位大小,持久内存ID可以很容易转换为内存指针;顶点属性集合属性值为单独的标签 值和不透明的二进制数据,大小不固定。Specifically, the vertex attribute set uses the vertex ID as the key, and the content is the persistent memory ID (PMEMoid) of the data object, which is usually 64 bits in size. The persistent memory ID can be easily converted into a memory pointer; the attribute value of the vertex attribute set is a separate Tag values and opaque binary data with variable size.
S232、基于属性数据和关系标识数据创建以键值模型存储属性数据和关系标识数据的关系属性集合,关系属性集合以关系桶ID与关系标识数据为键、以属性数据为值。S232. Based on the attribute data and the relationship identification data, create a relationship attribute set that uses a key-value model to store the attribute data and the relationship identification data. The relationship attribute set uses the relationship bucket ID and the relationship identification data as keys, and uses the attribute data as values.
具体的,关系属性集合中的键由16位的关系桶ID+16位的关系标识组成,共32位;其中关系桶ID最高位的0或1分别表示关系是单向的还是双向的,比如父子关系或朋友关系,剩余的7位组成一个序列号。关系属性集合属性值的数据结构与顶点属性集合中类似。Specifically, the key in the relationship attribute set is composed of a 16-bit relationship bucket ID + a 16-bit relationship identifier, a total of 32 bits; the highest bit of the relationship bucket ID, 0 or 1, respectively indicates whether the relationship is unidirectional or bidirectional, for example Parent-child relationship or friend relationship, the remaining 7 digits form a serial number. The data structure of the attribute value of the relationship attribute collection is similar to that of the vertex attribute collection.
在一些实施例中,在S230之后,该方法还包括:In some embodiments, after S230, the method further includes:
SA2、基于顶点属性集合与关系属性集合创建属性倒排索引。SA2. Create an attribute inverted index based on the vertex attribute set and the relationship attribute set.
具体的,根据顶点属性集合与关系属性集合中所保存的数据生成属性的倒排索引,便于定位查找顶点属性集合与关系属性集合中的数据,以及便于查找顶点属性集合中的属性值。Specifically, the inverted index of the attribute is generated according to the data stored in the vertex attribute set and the relationship attribute set, which is convenient for locating and searching the data in the vertex attribute set and the relationship attribute set, and for searching the attribute value in the vertex attribute set.
S240、分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中。S240. Distribute and store the vertex attribute set, the relationship attribute set, the attribute inverted index, and the metadata of the relationship bucket into a persistent memory medium.
持久性内存(PMem,Persistent Memory)是新一代的存储介质,字节可寻址、读写性能高,且具有掉电非易失、存储密度大、静态功耗低等这些传统内存(DRAM,Dynamic Random Access Memory)不具备的优点。Persistent memory (PMem, Persistent Memory) is a new generation of storage media, byte addressable, high read and write performance, and has the traditional memory (DRAM, Dynamic Random Access Memory) does not have the advantages.
在一些实施例中,该方法还包括:In some embodiments, the method also includes:
SA3、根据当前存储内容写入待写入图数据,包括:SA3. Write the graph data to be written according to the current storage content, including:
SA31、获取待写入图数据。SA31. Obtain graph data to be written.
SA32、分解处理待写入图数据以获得待写入图数据的开始顶点标识数据、待写入图数据的关系标识数据、待写入图数据的属性数据和待写入图数据的结束顶点标识数据。SA32. Decompose and process the graph data to be written to obtain the start vertex identification data of the graph data to be written, the relationship identification data of the graph data to be written, the attribute data of the graph data to be written, and the end vertex identifier of the graph data to be written data.
示例性的,待写入图数据为小王是小明的爸爸的图关系数据,分解处理该待写入图数据获得待写入图数据的开始顶点标识数据——小王ID、待写入图数据的关系标识数据——爸爸关系的标识00000001、待写入图数据的属性数据——当爸爸的年份:2020和待写入图数据的结束顶点标识数据——小明ID。Exemplarily, the graph data to be written is the graph relationship data that Xiao Wang is Xiao Ming’s father, and the graph data to be written is decomposed and processed to obtain the start vertex identification data of the graph data to be written—Xiao Wang’s ID, the graph to be written The relationship identification data of the data - the identification of the father relationship 00000001, the attribute data of the data to be written into the graph - the year when the father became a father: 2020 and the end vertex identification data of the data to be written into the graph - Xiaoming ID.
例如小王是小明的爸爸,先找到“爸爸”这个关系桶,然后写入(小王ID+“0000 0001”)->(小明ID)这样的键值对数据,同时在Rc中记录这条关系的具体属性,例如“爸爸-0000 0001”的属性是当爸爸的年份:2020。For example, Xiao Wang is Xiao Ming's father, first find the relationship bucket of "Dad", then write the key-value pair data such as (Xiao Wang ID+"0000 0001")->(Xiao Ming ID), and record this relationship in Rc For example, the attribute of "Dad-0000 0001" is the year when the father became a father: 2020.
SA33、基于关系标识数据查找对应的目标关系桶。SA33. Search for a corresponding target relationship bucket based on the relationship identification data.
关系桶的ID关联关系桶中所存储的图数据的关系标识数据,因此通过关系标识数据能迅速查找对应的目标关系桶。The ID of the relationship bucket is associated with the relationship identification data of the graph data stored in the relationship bucket, so the corresponding target relationship bucket can be quickly searched through the relationship identification data.
SA34、以待写入图数据的开始顶点标识数据和待写入图数据的关系标识数据对应的关系标识为键、以待写入图数据的结束顶点标识数据为值构建KV键形式数据并写入目标关系桶中。SA34, using the relationship identification corresponding to the start vertex identification data of the graph data to be written and the relationship identification data of the graph data to be written as a key, and the end vertex identification data of the graph data to be written as a value to construct KV key form data and write into the target relationship bucket.
具体的,接上述示例,构建(小王ID+“0000 0001”)->(小明ID)这样的KV键值对数据,并写入ID关联关系标识数据为“0000 0001”目标关系桶中。Specifically, following the above example, construct (Xiao Wang ID+"0000 0001")->(Xiao Ming ID) such KV key-value pair data, and write the ID association relationship identification data into the target relationship bucket of "0000 0001".
SA35、在关系属性集合中写入待写入图数据的属性数据。SA35. Write the attribute data to be written into the graph data in the relationship attribute set.
具体的,接上述示例,在关系属性集合中记录这条待写入图数据的具体属性,由于“爸爸-0000 0001”的属性是当爸爸的年份:2020,关系属性集合中的内容是以关系桶ID与关系标识数据为键、以属性数据为值,目标关系桶的ID为A01,则关系属性集合中写入的内容为(0000 0001+A01)->(2020)。Specifically, following the above example, record the specific attribute of the graph data to be written in the relationship attribute set. Since the attribute of "Dad-0000 0001" is the year of being a father: 2020, the content in the relationship attribute set is the relationship The bucket ID and relationship identification data are used as the key, the attribute data is used as the value, and the ID of the target relationship bucket is A01, then the content written in the relationship attribute set is (0000 0001+A01)->(2020).
在一些实施例中,该方法还包括:In some embodiments, the method also includes:
SA4、基于当前存储内容查询目标图数据,包括:SA4. Query the target graph data based on the current storage content, including:
SA41、接收图数据查询请求,图数据查询请求中至少包括查询类型、目标查询顶点标识数据和目标关系标识数据。SA41. Receive a graph data query request. The graph data query request includes at least query type, target query vertex identification data, and target relationship identification data.
示例性的,在一些实施例中,参照图4所示,查询类型为二度查询,目标查询顶点数据为A的顶点ID,目标关系标识数据为“朋友”关系的标识数据,即图数据查询请求查询A的朋友的朋友里有没有叫X的人。Exemplarily, in some embodiments, as shown in FIG. 4, the query type is a second-degree query, the target query vertex data is the vertex ID of A, and the target relationship identification data is the identification data of the "friend" relationship, that is, graph data query Request to check whether there is a person named X among the friends of A's friends.
SA42、基于目标查询顶点标识数据与目标关系标识数据定位目标关系桶。SA42. Locate the target relationship bucket based on the target query vertex identification data and the target relationship identification data.
接上述示例,具体的,根据朋友关系对应的关系标识数据查询定位存储有朋友关系图数据的目标关系桶。Following the above example, specifically, query and locate the target relationship bucket storing the friend relationship graph data according to the relationship identification data corresponding to the friend relationship.
SA43、基于查询类型和目标关系顶点ID以及目标关系桶获取目标查询结果。SA43. Obtain a target query result based on the query type, the target relationship vertex ID, and the target relationship bucket.
接上述示例,本步骤具体包括在目标关系桶中查询所有的A的顶点ID开头的关系指向的顶点ID系列B,再从本桶里拿到所有系列B指向的顶点ID系列C,从顶点属性集合中获取顶点系列C对应的姓名属性。Continuing from the above example, this step specifically includes querying all vertex ID series B pointed to by the relationship beginning with the vertex ID of A in the target relationship bucket, and then getting all the vertex ID series C pointed to by series B from this bucket, and from the vertex attribute Get the name attribute corresponding to the vertex series C in the collection.
在一些实施例中,参照图5所示,查询类型为统计查询,目标查询顶点标识数据为A的顶点ID,目标关系标识数据为“朋友”关系的标识数据,即要查询A有多少个朋友。则根据“朋友”关系的标识数据查询定位存储有朋友关系图数据的目标关系桶,在目标关系桶中查询所有的A的顶点ID开头的关系标识系列,统计该系列中的数据个数即为查询结果,若不止一个关系桶,将数值相加即可。In some embodiments, as shown in FIG. 5 , the query type is a statistical query, the target query vertex identification data is the vertex ID of A, and the target relationship identification data is the identification data of the "friend" relationship, that is, how many friends A has to be queried . Then, according to the identification data query of the "friend" relationship, locate the target relationship bucket that stores the friend relationship graph data, query all the relationship identification series beginning with the vertex ID of A in the target relationship bucket, and count the number of data in this series. In the query result, if there is more than one relational bucket, just add the values together.
在一些实施例中,参照图6所示,查询类型为1个月内电话范围查询,目标查询顶点标识 数据为A的顶点ID,目标关系标识数据为“通话”关系的标识数据,即要查询A最近1个月给谁打过电话次数最多。则从关系桶元数据中拿到关系桶ID,从关系属性集合中桶ID开头的关系条目,从中过滤时间为近1个月的关系条目系列T,从“通话”关系桶中拿出A的ID+T系列的所有顶点系列H,H系列中出现最多的Y即是结果。In some embodiments, as shown in FIG. 6 , the query type is a phone range query within one month, the target query vertex identification data is the vertex ID of A, and the target relationship identification data is the identification data of the "call" relationship, that is, to query Who has A called the most in the last month? Then get the relationship bucket ID from the relationship bucket metadata, filter the relationship entry series T with a time of nearly one month from the relationship entries starting with the bucket ID in the relationship attribute set, and take out the relationship entry series T from the "call" relationship bucket For all the vertex series H of the ID+T series, the Y that appears most in the H series is the result.
本申请一些实施例所提供的图数据存储方法,包括:分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据;创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据;基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合;分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中;利用持久性内存的DAX(Data Analysis eXpressions,编程式数据分析语言)特性直接存储特定结构的数据,唯一性数据只存储一份键值数据,关系网络分桶存储,便于水平拓展,桶内数据可以递归迭代,查询时以标识直接获取关键数据,使得复杂的关系网络查询的所需时间与数据集大小无关,能够以更快的速度处理图数据存储和查询。The graph data storage method provided by some embodiments of the present application includes: decomposing and processing the graph data to be stored to obtain vertex identification data, attribute data and relationship identification data, where the vertex identification data includes start vertex identification data and end vertex identification data; Relationship bucket metadata of several relationship buckets, each relationship bucket stores graph data to be stored with the same relationship identification data in the form of KV key; create vertex attribute set based on vertex identification data and attribute data, and create relationship attributes based on attribute data and relationship identification data Collection; distributed storage of vertex attribute collection, relational attribute collection, attribute inverted index and relational bucket metadata to persistent memory medium; using the DAX (Data Analysis eXpressions, programming data analysis language) feature of persistent memory to directly store specific structure Data, unique data only stores one copy of key-value data, and the relationship network is stored in buckets, which is convenient for horizontal expansion. The data in the bucket can be recursively iterated, and the key data can be directly obtained with the identifier when querying, so that the time required for complex relationship network queries and Dataset size is independent, enabling faster processing of graph data storage and query.
实施例三:于上述实施例一与实施例二相对应的,下面将结合图7,对本申请提供的图数据存储系统进行介绍。其中,该系统可以通过硬件或软件的方式实现,也可以通过软硬件结合的方式实现,本申请并不限定。Embodiment 3: Corresponding to Embodiment 1 and Embodiment 2 above, the graph data storage system provided by this application will be introduced below with reference to FIG. 7 . Wherein, the system may be realized by means of hardware or software, or by a combination of software and hardware, which is not limited in this application.
在一个示例中如图4所示,本申请提供了一种图数据存储系统,该系统包括:As shown in Figure 4 in an example, the present application provides a graph data storage system, the system includes:
分解处理模块710,用于分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据;The decomposition processing module 710 is used to decompose and process the graph data to be stored to obtain vertex identification data, attribute data and relationship identification data, and the vertex identification data includes start vertex identification data and end vertex identification data;
第一创建模块720,用于创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据;The first creating module 720 is used to create relational bucket metadata that includes several relational buckets, and each relational bucket stores the graph data to be stored identical to the relational identification data in the form of a KV key;
第二创建模块730,用于基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合;The second creation module 730 is used to create a vertex attribute set based on the vertex identification data and attribute data and create a relationship attribute set based on the attribute data and the relationship identification data;
分布存储模块740,用于分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中。The distributed storage module 740 is configured to distribute and store the vertex attribute set, relational attribute set, attribute inverted index and relational bucket metadata in a persistent memory medium.
在一些实施例中,该系统还包括:In some embodiments, the system also includes:
数据构建模块750,用于在第一创建模块720创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据之前,以开始顶点标识数据和关系标识数据组合为键、以结束顶点标识数据为值构建KV键形式数据。The data construction module 750 is used to create relational bucket metadata including several relational buckets in the first creation module 720, and each relational bucket stores relational identification data in the form of a KV key before the same graph data to be stored, starting with the vertex identification data and The relationship identification data is combined as a key, and the KV key form data is constructed with the end vertex identification data as a value.
在一些实施例中,第一创建模块720包括:In some embodiments, the first creation module 720 includes:
第一创建单元721,用于创建存储有关系标识数据相同的待存储图数据的关系桶;The first creating unit 721 is configured to create a relationship bucket that stores the same graph data to be stored as the relationship identification data;
建立关联单元722,用于建立每个关系桶的ID并关联关系桶的ID与关系桶所存储的待存储图数据的关系标识数据;;Establish an association unit 722, which is used to establish the ID of each relationship bucket and associate the ID of the relationship bucket with the relationship identification data of the graph data to be stored stored in the relationship bucket;
第二创建单元723,用于创建包括所有关系桶的关系桶元数据并存储关系桶的ID关联内容于关系桶元数据中。The second creating unit 723 is configured to create relational bucket metadata including all relational buckets and store ID-associated content of the relational buckets in the relational bucket metadata.
在一些实施例中,第二创建模块730包括:In some embodiments, the second creation module 730 includes:
第三创建单元731,用于基于顶点标识数据和属性数据创建以键值模型存储顶点标识数据和属性数据的顶点属性集合,顶点属性集合以顶点标识数据为键、以属性数据为值;The third creating unit 731 is configured to create a vertex attribute set that stores vertex identification data and attribute data in a key-value model based on the vertex identification data and attribute data, and the vertex attribute set uses the vertex identification data as a key and the attribute data as a value;
第四创建单元732,用于基于属性数据和关系标识数据创建以键值模型存储属性数据和关系标识数据的关系属性集合,关系属性集合以关系桶ID与关系标识数据为键、以属性数据为值。The fourth creation unit 732 is configured to create a relationship attribute set that stores attribute data and relationship identification data in a key-value model based on the attribute data and the relationship identification data. The relationship attribute set uses the relationship bucket ID and the relationship identification data as keys, and the attribute data as value.
在一些实施例中,该系统还包括:In some embodiments, the system also includes:
第三创建模块760,用于在第二创建模块730基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合之后,基于顶点属性集合与关系属性集合创建属性倒排索引。The third creating module 760 is configured to create an attribute set based on the vertex attribute set and the relationship attribute set after the second creating module 730 creates the vertex attribute set based on the vertex identification data and the attribute data and creates the relationship attribute set based on the attribute data and the relationship identification data. row index.
在一些实施例中,该系统还包括:In some embodiments, the system also includes:
写入模块770,包括:Write module 770, including:
第一获取单元771,用于获取待写入图数据;The first acquiring unit 771 is configured to acquire the image data to be written;
分解单元772,用于分解待写入图数据以获得待写入图数据的开始顶点标识数据、待写入图数据的关系标识数据、待写入图数据的属性数据和待写入图数据的结束顶点标识数据;Decomposition unit 772, configured to decompose the graph data to be written to obtain the start vertex identification data of the graph data to be written, the relationship identification data of the graph data to be written, the attribute data of the graph data to be written and the end vertex identification data;
查找单元773,用于基于关系标识数据查找对应的目标关系桶;A search unit 773, configured to search for a corresponding target relation bucket based on the relation identification data;
第一写入单元774,用于以待写入图数据的开始顶点标识数据和待写入图数据的关系标识数据对应的关系标识为键、以待写入图数据的结束顶点标识数据为值构建KV键形式数据并写入目标关系桶中;The first writing unit 774 is configured to use the relationship identification corresponding to the start vertex identification data of the graph data to be written and the relationship identification data of the graph data to be written as a key, and use the end vertex identification data of the graph data to be written as a value Construct data in the form of KV key and write it into the target relational bucket;
第二写入单元775,用于在关系属性集合中写入待写入图数据的属性数据。The second writing unit 775 is configured to write attribute data to be written into graph data in the relational attribute set.
在一些实施例中,该系统还包括:In some embodiments, the system also includes:
查询模块780,包括:Inquiry module 780, comprising:
接收单元781,用于接收图数据查询请求,图数据查询请求中至少包括查询类型、目标查询顶点标识数据和目标关系标识数据;The receiving unit 781 is configured to receive a graph data query request, and the graph data query request includes at least query type, target query vertex identification data and target relationship identification data;
定位单元782,用于基于目标查询顶点标识数据与目标关系标识数据定位目标关系桶;A positioning unit 782, configured to locate the target relationship bucket based on the target query vertex identification data and the target relationship identification data;
第二获取单元783,用于基于查询类型和目标关系顶点ID以及目标关系桶获取目标查询结果。The second acquiring unit 783 is configured to acquire the target query result based on the query type, the target relationship vertex ID and the target relationship bucket.
实施例四:与上述实施例一至实施例三相对应的,下面将结合图8,对本申请提供的计算机设备进行介绍。在一个示例如图8所示,本申请提供了一种计算机设备,该计算机设备包括:Embodiment 4: Corresponding to Embodiment 1 to Embodiment 3 above, the computer equipment provided by this application will be introduced below with reference to FIG. 8 . In an example shown in Figure 8, the present application provides a computer device, the computer device includes:
一个或多个处理器;以及one or more processors; and
与一个或多个处理器关联的存储器,存储器用于存储程序指令,程序指令在被一个或多个处理器读取执行时,执行如下操作:A memory associated with one or more processors. The memory is used to store program instructions. When the program instructions are read and executed by one or more processors, the following operations are performed:
分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,顶点标识数据包括开始顶点标识数据和结束顶点标识数据;Decompose and process the graph data to be stored to obtain vertex identification data, attribute data and relationship identification data. The vertex identification data includes start vertex identification data and end vertex identification data;
创建包含若干关系桶的关系桶元数据,每个关系桶以KV键形式存储关系标识数据相同的待存储图数据;Create relational bucket metadata that includes several relational buckets, and each relational bucket stores graph data to be stored with the same relational identification data in the form of a KV key;
基于顶点标识数据和属性数据创建顶点属性集合并基于属性数据和关系标识数据创建关系属性集合;Create a vertex attribute set based on the vertex identification data and attribute data and create a relationship attribute set based on the attribute data and the relationship identification data;
分布存储顶点属性集合、关系属性集合、属性倒排索引和关系桶元数据至持久内存介质中。Distributed storage of vertex attribute sets, relational attribute sets, attribute inverted indexes, and relational bucket metadata to persistent memory media.
其中,图8示例性的展示出了计算机设备的架构,具体可以包括处理器810,视频显示适配器811,磁盘驱动器812,输入/输出接口813,网络接口814,以及存储器820。上述处理器810、视频显示适配器811、磁盘驱动器812、输入/输出接口813、网络接口814,与存储器820之间可以通过通信总线830进行通信连接。Wherein, FIG. 8 exemplarily shows the architecture of a computer device, which may specifically include a processor 810 , a video display adapter 811 , a disk drive 812 , an input/output interface 813 , a network interface 814 , and a memory 820 . The processor 810 , video display adapter 811 , disk drive 812 , input/output interface 813 , network interface 814 , and the memory 820 can be connected by communication bus 830 .
其中,处理器810可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。Wherein, the processor 810 can be implemented by a general-purpose CPU (Central Processing Unit, central processing unit), a microprocessor, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, etc., for Relevant programs are executed to realize the technical solutions provided by this application.
存储器820可以采用ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器820可以存储用于控制计算机设备800运行的操作系统821,用于控制计算机设备800的低级别操作的基本输入输出系统(BIOS)822。另外,还可以存储网页浏览器823,数据存储管理824,以及图标字体处理系统825等等。上述图标字体处理系统825就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关 的程序代码保存在存储器820中,并由处理器810来调用执行。The memory 820 can be implemented in the form of ROM (Read Only Memory, read-only memory), RAM (Random Access Memory, random access memory), static storage device, dynamic storage device, etc. The memory 820 may store an operating system 821 for controlling the operation of the computer device 800 , and a basic input output system (BIOS) 822 for controlling low-level operations of the computer device 800 . In addition, a web browser 823, a data storage management 824, an icon font processing system 825, etc. can also be stored. The above-mentioned icon font processing system 825 may be an application program in the embodiment of the present application that specifically implements the operations of the aforementioned steps. In a word, when implementing the technical solution provided by this application through software or firmware, the relevant program codes are stored in the memory 820, and are called and executed by the processor 810.
输入/输出接口813用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。The input/output interface 813 is used to connect the input/output module to realize information input and output. The input/output/module can be configured in the device as a component (not shown in the figure), or can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, mouse, touch screen, microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, and the like.
网络接口814用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。The network interface 814 is used to connect the communication module (not shown in the figure), so as to realize the communication interaction between the device and other devices. The communication module can realize communication through wired means (such as USB, network cable, etc.), and can also realize communication through wireless means (such as mobile network, WIFI, Bluetooth, etc.).
总线830包括一通路,在设备的各个组件(例如处理器810、视频显示适配器811、磁盘驱动器812、输入/输出接口813、网络接口814,与存储器820)之间传输信息。 Bus 830 includes a path for carrying information between the various components of the device (eg, processor 810, video display adapter 811, disk drive 812, input/output interface 813, network interface 814, and memory 820).
另外,该计算机设备800还可以从虚拟资源对象领取条件信息数据库841中获得具体领取条件的信息,以用于进行条件判断,等等。In addition, the computer device 800 can also obtain information about specific claim conditions from the virtual resource object claim condition information database 841 for condition judgment, and so on.
需要说明的是,尽管上述计算机设备800仅示出了处理器810、视频显示适配器811、磁盘驱动器812、输入/输出接口813、网络接口814,存储器820,总线830等,但是在一些实施例中,该计算机设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。It should be noted that although the above computer device 800 only shows a processor 810, a video display adapter 811, a disk drive 812, an input/output interface 813, a network interface 814, a memory 820, a bus 830, etc., in some embodiments , the computer equipment may also include other components necessary for proper operation. In addition, those skilled in the art can understand that the above-mentioned device may only include components necessary to realize the solution of the present application, and does not necessarily include all the components shown in the figure.
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分的方法。It can be known from the above description of the implementation manners that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general-purpose hardware platform. Based on this understanding, the essence of the technical solution of this application or the part that contributes to the prior art can be embodied in the form of software products, and the computer software products can be stored in storage media, such as ROM/RAM, disk , optical disc, etc., including several instructions to make a computer device (which may be a personal computer, cloud server, or network device, etc.) execute the methods of various embodiments or some parts of the embodiments of the present application.
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请一些实施例方案的目的。本领域普通技术人员在不付出创造性劳 动的情况下,即可以理解并实施。Each embodiment in this specification is described in a progressive manner, the same and similar parts of each embodiment can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for the related parts, please refer to the part of the description of the method embodiment. The above-described system embodiments are only illustrative, and the modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, they may be located in one place , or can also be distributed to multiple network modules. Part or all of the modules can be selected according to actual needs to achieve the goals of the solutions in some embodiments of the present application. It can be understood and implemented by those skilled in the art without creative effort.
另外需要说明的是:本申请中术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。当然上述实施例只为说明本申请的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本申请的内容并据以实施,并不能以此限制本申请的保护范围。凡根据本申请主要技术方案的精神实质所做的修饰,都应涵盖在本申请的保护范围之内。In addition, it should be noted that the terms "first" and "second" in this application are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the quantity of indicated technical features. Thus, a feature defined as "first" and "second" may explicitly or implicitly include one or more of these features. Of course, the above-mentioned embodiments are only to illustrate the technical concept and characteristics of the present application, and the purpose is to enable those familiar with this technology to understand the content of the present application and implement it accordingly, and not to limit the protection scope of the present application. All modifications made according to the spirit of the main technical solutions of this application shall fall within the scope of protection of this application.

Claims (20)

  1. 一种图数据存储方法,其特征在于,所述方法包括:A graph data storage method, characterized in that the method comprises:
    分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,所述顶点标识数据包括开始顶点标识数据和结束顶点标识数据;Decomposing and processing the graph data to be stored to obtain vertex identification data, attribute data and relationship identification data, the vertex identification data includes start vertex identification data and end vertex identification data;
    创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据;Create relational bucket metadata including several relational buckets, each of the relational buckets stores the graph data to be stored identical to the relational identification data in the form of a KV key;
    基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合;creating a vertex attribute set based on the vertex identification data and attribute data and creating a relationship attribute set based on the attribute data and relationship identification data;
    分布存储所述顶点属性集合、所述关系属性集合、属性倒排索引和所述关系桶元数据至持久内存介质中。The vertex attribute set, the relationship attribute set, the attribute inverted index, and the relationship bucket metadata are stored in a persistent memory medium in a distributed manner.
  2. 根据权利要求1所述的图数据存储方法,其特征在于,所述创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据之前,所述方法还包括:The graph data storage method according to claim 1, wherein said creating relational bucket metadata includes a plurality of relational buckets, each of said relational buckets stores said waiting list with the same relational identification data in the form of a KV key. Before storing the graph data, the method also includes:
    以所述开始顶点标识数据和所述关系标识数据组合为键、以所述结束顶点标识数据为值构建KV键形式数据。KV key form data is constructed with the combination of the start vertex identification data and the relationship identification data as a key and the end vertex identification data as a value.
  3. 根据权利要求2所述的图数据存储方法,其特征在于,所述以所述开始顶点标识数据和所述关系标识数据组合为键、以所述结束顶点标识数据为值构建KV键形式数据包括:The graph data storage method according to claim 2, wherein said combining the start vertex identification data and the relationship identification data as a key and using the end vertex identification data as a value to construct KV key form data includes :
    以定长的所述开始顶点标识和定长的所述关系标识组合为键、以所述结束顶点标识数据为值构建KV键形式数据。KV key form data is constructed with the combination of the fixed-length start vertex identifier and the fixed-length relationship identifier as a key and the end vertex identifier data as a value.
  4. 根据权利要求2所述的图数据存储方法,其特征在于,所述创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据包括:The graph data storage method according to claim 2, wherein said creating relational bucket metadata includes a plurality of relational buckets, and each of said relational buckets stores said waiting list with the same relational identification data in the form of a KV key. Stored graph data includes:
    创建存储有关系标识数据相同的待存储图数据的关系桶;Create a relational bucket that stores the same graph data to be stored as the relational identification data;
    建立每个所述关系桶的ID并关联所述关系桶的ID与所述关系桶所存储的待存储图数据的关系标识数据;Establishing the ID of each of the relationship buckets and associating the ID of the relationship bucket with the relationship identification data of the graph data to be stored stored in the relationship bucket;
    创建包括所有所述关系桶的关系桶元数据并存储所述关系桶的ID关联内容于所述关系桶元数据中。Create relational bucket metadata including all the relational buckets and store ID-associated content of the relational buckets in the relational bucket metadata.
  5. 根据权利要求4所述的图数据存储方法,其特征在于,所述基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合包括:The graph data storage method according to claim 4, wherein said creating a vertex attribute set based on said vertex identification data and attribute data and creating a relationship attribute set based on said attribute data and relationship identification data comprises:
    基于所述顶点标识数据和属性数据创建以键值模型存储所述顶点标识数据和属性数据的顶点属性集合,所述顶点属性集合以所述顶点标识数据为键、以所述属性数据为值;Create a vertex attribute set that stores the vertex identification data and attribute data in a key-value model based on the vertex identification data and attribute data, the vertex attribute set uses the vertex identification data as a key and the attribute data as a value;
    基于所述属性数据和关系标识数据创建以键值模型存储所述属性数据和关系标识数据的关系属性集合,所述关系属性集合以所述关系桶ID与关系标识数据为键、以所述属性数据为值。Based on the attribute data and relationship identification data, create a relationship attribute set that stores the attribute data and relationship identification data in a key-value model, the relationship attribute set uses the relationship bucket ID and relationship identification data as keys, and uses the attribute Data is a value.
  6. 根据权利要求4所述的图数据存储方法,其特征在于,所述关系桶ID关联内容至少包括:关系类型、所述关系类型对应的数据量以及所述关系类型关联的所有关系桶的ID、所述关系类型关联的所有关系桶位置。The graph data storage method according to claim 4, wherein the relational bucket ID associated content at least includes: a relational type, a data volume corresponding to the relational type, and IDs of all relational buckets associated with the relational type, All relation bucket locations associated with the relation type.
  7. 根据权利要求1所述的图数据存储方法,其特征在于,所述待存储图数据包括两个关系主体以及所述两个关系主体之间的关系。The graph data storage method according to claim 1, wherein the graph data to be stored includes two relationship subjects and a relationship between the two relationship subjects.
  8. 根据权利要求4所述的图数据存储方法,其特征在于,所述关系桶的ID表示的内容由所述关系桶元数据记录。The graph data storage method according to claim 4, wherein the content indicated by the ID of the relational bucket is recorded by the metadata of the relational bucket.
  9. 根据权利要求1所述的图数据存储方法,其特征在于,所述顶点属性集合中存储顶点ID和属性,所述关系属性集合中存储属性和关系ID。The graph data storage method according to claim 1, wherein the vertex attribute set stores vertex IDs and attributes, and the relationship attribute set stores attributes and relationship IDs.
  10. 根据权利要求1所述的图数据存储方法,其特征在于,所述关系标识数据与关系内容对应关系预设生成且一一对应。The graph data storage method according to claim 1, characterized in that, the corresponding relationship between the relationship identification data and the relationship content is generated by preset and one-to-one.
  11. 根据权利要求1所述的图数据存储方法,其特征在于,所述基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合之后,所述方法还包括:The graph data storage method according to claim 1, wherein after creating a vertex attribute set based on the vertex identification data and attribute data and creating a relationship attribute set based on the attribute data and relationship identification data, the method Also includes:
    基于所述顶点属性集合与所述关系属性集合创建属性倒排索引。An attribute inverted index is created based on the vertex attribute set and the relationship attribute set.
  12. 根据权利要求11所述的图数据存储方法,其特征在于,所述基于所述顶点属性集合与所述关系属性集合创建属性倒排索引包括:The graph data storage method according to claim 11, wherein said creating an attribute inverted index based on said vertex attribute set and said relationship attribute set comprises:
    根据所述顶点属性集合与所述关系属性集合中所保存的数据生成属性倒排索引。An attribute inverted index is generated according to the data stored in the vertex attribute set and the relationship attribute set.
  13. 根据权利要求12所述的图数据存储方法,其特征在于,所述属性倒排索引用于定位查找所述顶点属性集合与所述关系属性集合中的数据,以及所述顶点属性集合中的属性值。The graph data storage method according to claim 12, wherein the attribute inverted index is used to locate and search the data in the vertex attribute set and the relationship attribute set, and the attributes in the vertex attribute set value.
  14. 根据权利要求1所述的图数据存储方法,其特征在于,所述方法还包括:The graph data storage method according to claim 1, further comprising:
    根据当前存储内容写入待写入图数据。Write the graph data to be written according to the current storage content.
  15. 根据权利要求14所述的图数据存储方法,其特征在于,所述根据当前存储内容写入待写入图数据包括:The graph data storage method according to claim 14, wherein said writing the graph data to be written according to the current storage content comprises:
    获取待写入图数据;Obtain the graph data to be written;
    分解所述待写入图数据以获得所述待写入图数据的开始顶点标识数据、所述待写入图数据的关系标识数据、所述待写入图数据的属性数据和所述待写入图数据的结束顶点标识数据;Decomposing the graph data to be written to obtain the start vertex identification data of the graph data to be written, the relationship identification data of the graph data to be written, the attribute data of the graph data to be written, and the The end vertex identification data of the input data;
    基于所述关系标识数据查找对应的目标关系桶;Finding a corresponding target relationship bucket based on the relationship identification data;
    以所述待写入图数据的开始顶点标识数据和所述待写入图数据的关系标识数据对应的关系标识为键、以所述待写入图数据的结束顶点标识数据为值构建KV键形式数据并写入所述目标关系桶中;Using the start vertex identification data of the graph data to be written and the relationship identification corresponding to the relationship identification data of the graph data to be written as a key, and the end vertex identification data of the graph data to be written as a value to construct a KV key form data and write it into the target relational bucket;
    在所述关系属性集合中写入所述待写入图数据的属性数据。Write the attribute data of the graph data to be written in the relational attribute set.
  16. 根据权利要求15所述的图数据存储方法,其特征在于,所述在所述关系属性集合中写入所述待写入图数据的属性数据包括:The graph data storage method according to claim 15, wherein the attribute data of the graph data to be written in the relational attribute set includes:
    在所述关系属性集合中以所述目标关系桶的ID与所述待写入图数据的关系标识数据为键、以所述待写入图数据的属性数据为值进行写入。In the relation attribute set, the ID of the target relation bucket and the relation identification data of the graph data to be written are used as a key, and the attribute data of the graph data to be written is used as a value to be written.
  17. 根据权利要求1所述的图数据存储方法,其特征在于,所述方法还包括:The graph data storage method according to claim 1, further comprising:
    基于当前存储内容查询目标图数据。Query the target graph data based on the current storage content.
  18. 根据权利要求17所述的图数据存储方法,其特征在于,所述基于当前存储内容查询目标图数据包括:The graph data storage method according to claim 17, wherein the querying target graph data based on the current storage content comprises:
    接收图数据查询请求,所述图数据查询请求中至少包括查询类型、目标查询顶点标识数据和目标关系标识数据;Receiving a graph data query request, the graph data query request at least including query type, target query vertex identification data and target relationship identification data;
    基于所述目标查询顶点标识数据与所述目标关系标识数据定位目标关系桶;Locating a target relationship bucket based on the target query vertex identification data and the target relationship identification data;
    基于所述查询类型和目标关系顶点ID以及所述目标关系桶获取目标查询结果。Obtain a target query result based on the query type, the target relationship vertex ID, and the target relationship bucket.
  19. 一种图数据存储系统,其特征在于,所述系统包括:A graph data storage system, characterized in that the system includes:
    分解处理模块,用于分解并处理待存储图数据获取顶点标识数据、属性数据和关系标识数据,所述顶点标识数据包括开始顶点标识数据和结束顶点标识数据;The decomposition processing module is used to decompose and process the graph data to be stored to obtain vertex identification data, attribute data and relationship identification data, and the vertex identification data includes start vertex identification data and end vertex identification data;
    第一创建模块,用于创建包含若干关系桶的关系桶元数据,每个所述关系桶以KV键形式存储所述关系标识数据相同的所述待存储图数据;The first creating module is used to create relational bucket metadata including several relational buckets, each of the relational buckets stores the same graph data to be stored as the relational identification data in the form of a KV key;
    第二创建模块,用于基于所述顶点标识数据和属性数据创建顶点属性集合并基于所述属性数据和关系标识数据创建关系属性集合;The second creating module is used to create a vertex attribute set based on the vertex identification data and attribute data and create a relationship attribute set based on the attribute data and relationship identification data;
    分布存储模块,用于分布存储所述顶点属性集合、所述关系属性集合、属性倒排索引和所述关系桶元数据至持久内存介质中。A distributed storage module, configured to distribute and store the vertex attribute set, the relationship attribute set, the attribute inverted index, and the relationship bucket metadata in a persistent memory medium.
  20. 一种计算机设备,其特征在于,包括:A computer device, characterized in that it includes:
    一个或多个处理器;以及one or more processors; and
    与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行根据权利要求1-18中任一所述的方法。A memory associated with the one or more processors, the memory is used to store program instructions, and when the program instructions are read and executed by the one or more processors, perform any a method as described.
PCT/CN2022/138771 2022-02-25 2022-12-13 Graph data storage method and system, and computer device WO2023160137A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210178094.6 2022-02-25
CN202210178094.6A CN114564620A (en) 2022-02-25 2022-02-25 Graph data storage method and system and computer equipment

Publications (1)

Publication Number Publication Date
WO2023160137A1 true WO2023160137A1 (en) 2023-08-31

Family

ID=81715125

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/138771 WO2023160137A1 (en) 2022-02-25 2022-12-13 Graph data storage method and system, and computer device

Country Status (2)

Country Link
CN (1) CN114564620A (en)
WO (1) WO2023160137A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741569B (en) * 2022-06-09 2022-09-13 杭州欧若数网科技有限公司 Method and device for supporting composite data types in graph database
CN114564620A (en) * 2022-02-25 2022-05-31 苏州浪潮智能科技有限公司 Graph data storage method and system and computer equipment
CN115658329B (en) * 2022-12-22 2023-03-17 杭州欧若数网科技有限公司 Method, system and medium for optimizing memory of graph data structure

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150052175A1 (en) * 2013-08-14 2015-02-19 International Business Machines Corporation Method and Apparatus for Identifying the Optimal Schema to Store Graph Data in a Relational Store
CN109446362A (en) * 2018-09-05 2019-03-08 北京费马科技有限公司 Chart database structure, diagram data storage method, device based on external memory
CN109726305A (en) * 2018-12-30 2019-05-07 中国电子科技集团公司信息科学研究院 A kind of complex_relation data storage and search method based on graph structure
CN111881326A (en) * 2020-07-24 2020-11-03 北京浪潮数据技术有限公司 Graph data storage method, device and equipment and readable storage medium
CN114564620A (en) * 2022-02-25 2022-05-31 苏州浪潮智能科技有限公司 Graph data storage method and system and computer equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150052175A1 (en) * 2013-08-14 2015-02-19 International Business Machines Corporation Method and Apparatus for Identifying the Optimal Schema to Store Graph Data in a Relational Store
CN109446362A (en) * 2018-09-05 2019-03-08 北京费马科技有限公司 Chart database structure, diagram data storage method, device based on external memory
CN109726305A (en) * 2018-12-30 2019-05-07 中国电子科技集团公司信息科学研究院 A kind of complex_relation data storage and search method based on graph structure
CN111881326A (en) * 2020-07-24 2020-11-03 北京浪潮数据技术有限公司 Graph data storage method, device and equipment and readable storage medium
CN114564620A (en) * 2022-02-25 2022-05-31 苏州浪潮智能科技有限公司 Graph data storage method and system and computer equipment

Also Published As

Publication number Publication date
CN114564620A (en) 2022-05-31

Similar Documents

Publication Publication Date Title
WO2023160137A1 (en) Graph data storage method and system, and computer device
US11030247B2 (en) Layered graph data structure
WO2020073854A1 (en) Memory data management method and system and method and system for data maintenance in memory
US20180144061A1 (en) Edge store designs for graph databases
US9069818B2 (en) Textual search for numerical properties
US11030242B1 (en) Indexing and querying semi-structured documents using a key-value store
MX2013014800A (en) Recommending data enrichments.
US11698918B2 (en) System and method for content-based data visualization using a universal knowledge graph
US10445370B2 (en) Compound indexes for graph databases
CN111708805A (en) Data query method and device, electronic equipment and storage medium
CN115269877A (en) Method, system and equipment for constructing domain entity and event double-center knowledge graph
WO2023125032A1 (en) Scientific research data change review method based on data snapshot, and server
CN111221785A (en) Semantic data lake construction method of multi-source heterogeneous data
WO2017107130A1 (en) Data query method and database system
US11630829B1 (en) Augmenting search results based on relevancy and utility
CN110720097A (en) Functional equivalence of tuples and edges in graph databases
US9430528B2 (en) Grid queries
WO2023197865A1 (en) Information storage method and apparatus
CN115114297A (en) Data lightweight storage and search method and device, electronic equipment and storage medium
AU2019386603B2 (en) Systems and methods for storing object state on hash chains
WO2024016789A1 (en) Log data query method and apparatus, and device and medium
CN110727672A (en) Data mapping relation query method and device, electronic equipment and readable medium
US20230418878A1 (en) Multi-model enrichment memory and catalog for better search recall with granular provenance and lineage
CN114154072A (en) Search method, search device, electronic device, and storage medium
CN116737216A (en) Method, apparatus, device, storage medium and program product for managing technical resources

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22928394

Country of ref document: EP

Kind code of ref document: A1