CN110737659A - 图数据存储和查询方法、装置及计算机可读存储介质 - Google Patents
图数据存储和查询方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110737659A CN110737659A CN201910850457.4A CN201910850457A CN110737659A CN 110737659 A CN110737659 A CN 110737659A CN 201910850457 A CN201910850457 A CN 201910850457A CN 110737659 A CN110737659 A CN 110737659A
- Authority
- CN
- China
- Prior art keywords
- graph data
- graph
- storage
- data set
- query
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种大数据技术,揭露了一种图数据存储和查询方法,包括:接收图数据集,通过数据库中的邻接表创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式;基于所述存储方式,对所述图数据集进行图分割处理,并对图分割后的所述图数据集进行分布式存储,得到目标图数据集;对所述目标图数据集建立图数据索引,接收用户输入的查询内容,根据所述查询内容,利用所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。本发明还提出一种图数据存储和查询装置以及一种计算机可读存储介质。本发明实现了图数据的高效存储和查询。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种图数据存储和查询方法、装置及计算机可读存储介质。
背景技术
近年来,随着互联网应用的飞速发展以及以Web2.0技术为基础的社交网络的普及,互联网上的网页数量呈指数倍增加。中国网页规模已达千亿个,网页数据的年增加速度在80%以上,而全球的社交网络如facebook、twitter以及国内的QQ空间、微信朋友圈、新浪微博等,发展速度也非常快,据腾讯公司数据,QQ同时在线人数早已过亿,而微信同时在线人数更高,社交网络的迅猛发展,导致真实世界的实体数据也随着虚拟社会数据的增加而迅速增加,网页中相应的图数据随之增加,面对如此大规模的图数据,对处理这些数据的应用程序提出了新的挑战。分布式集群系统是解决海量数据处理的一个重要方法,也是大规模图数据处理的一个重要方法,然而当前大部分图数据算法需要多次迭代才能收敛,这也导致了其性能计算表达能力也存在不足,且图数据处理过程中产生大量的中间结果,同时需要在分布式系统中的不同节点之间传递消息和数据,图数据处理过程是一个典型的IO密集型计算,因此高效的图数据存储和查询已经成为大规模图数据处理的重要组成部分。
发明内容
本发明提供一种图数据存储和查询方法、装置及计算机可读存储介质,其主要目的在于当用户进行图数据存储和查询时,给用户提供一种高效的图数据存储和查询方法。
为实现上述目的,本发明提供的一种图数据存储和查询方法,包括:
接收图数据集,通过数据库中的邻接表创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式;
基于所述存储方式,对所述图数据集进行图分割处理,并对图分割后的所述图数据集进行分布式存储,得到目标图数据集;
对所述目标图数据集建立图数据索引,接收用户输入的查询内容,根据所述查询内容,利用所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。
可选地,所述图存储模型包括:
(NodeId1_NodeId2_RelationType1_Timestam)→(value);
(NodeId1_NodeId3_RelationType1_Timestam)→(value);
......
(NodeId1_NodeIdn_RelationType1_Timestam)→(value);
其中,NodeId1_NodeIdn_RelationType1_Timestam表示图数据中两个源顶点之间的关系类型以及所述两个源顶点关系建立的时间戳,value表示对所述两个源顶点关系的权重分配。
可选地,所述对所述图数据集进行图分割处理,包括:
预设所述图数据集中图分割的数目,对图数据集中的图数据顶点进行哈希操作,并对进行哈希操作后的所述图数据顶点进行分片操作,完成所述图分割处理。
可选地,所述分片操作包括:
根据所述图数据的顶点出边数据对所述图数据进行分割处理,得到所述图数据顶点的出边数据分片,对所述图数据顶点的出边数据分片添加字段,完成所述分片操作。
可选地,所述图数据索引包括二级索引和倒排索引,其中,所述二级索引包括边ID索引、无时间关系权重索引以及有时间关系权重索引。
此外,为实现上述目的,本发明还提供一种图数据存储和查询装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的图数据存储和查询程序,所述图数据存储和查询程序被所述处理器执行时实现如下步骤:
接收图数据集,通过数据库中的邻接表创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式;
基于所述存储方式,对所述图数据集进行图分割处理,并对图分割后的所述图数据集进行分布式存储,得到目标图数据集;
对所述目标图数据集建立图数据索引,接收用户输入的查询内容,根据所述查询内容,利用所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。
可选地,所述图存储模型包括:
(NodeId1_NodeId2_RelationType1_Timestam)→(value);
(NodeId1_NodeId3_RelationType1_Timestam)→(value);
......
(NodeId1_NodeIdn_RelationType1_Timestam)→(value);
其中,NodeId1_NodeIdn_RelationType1_Timestam表示图数据中两个源顶点之间的关系类型以及所述两个源顶点关系建立的时间戳,value表示对所述两个源顶点关系的权重分配。
可选地,所述对所述图数据集进行图分割处理,包括:
预设所述图数据集中图分割的数目,对图数据集中的图数据顶点进行哈希操作,并对进行哈希操作后的所述图数据顶点进行分片操作,完成所述图分割处理。
可选地,所述分片操作包括:
根据所述图数据的顶点出边数据对所述图数据进行分割处理,得到所述图数据顶点的出边数据分片,对所述图数据顶点的出边数据分片添加字段,完成所述分片操作。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有图数据存储和查询程序,所述图数据存储和查询程序可被一个或者多个处理器执行,以实现如上所述的图数据存储和查询方法的步骤。
本发明提出的图数据存储和查询方法、装置及计算机可读存储介质,接收图数据集,通过数据库中的邻接表创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式;基于所述存储方式,对所述图数据集进行图分割处理,并对图分割后的所述图数据集进行分布式存储,得到目标图数据集;对所述目标图数据集建立图数据索引,接收用户输入的查询内容,根据所述查询内容,利用所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户,从而可以给用户呈现出高效的存储和查询结果。
附图说明
图1为本发明一实施例提供的图数据存储和查询方法的流程示意图;
图2为本发明一实施例提供的图数据存储和查询装置的内部结构示意图;
图3为本发明一实施例提供的图数据存储和查询装置中图数据存储和查询程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种图数据存储和查询方法。参照图1所示,为本发明一实施例提供的图数据存储和查询方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,图数据存储和查询方法包括:
S1、接收图数据集,通过数据库中的邻接表创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式。
本发明较佳实施例中,所述图数据集通过基于描述不同场景下关联性强的数据元素组合得到,所述场景可以包括通讯网络,社交网络等。以社交网络为例,可以将“ID”作为图数据的点,“好友”、“关注”、“浏览”等信息作为图数据的边,从而构建成所述图数据。
进一步地,所述数据库为Boost Graph Library(BGL)库,所述BGL库以模板的形式进行存储图数据。其中,在所述BGL库中可以自定义图数据的数据结构。所述BGL库包括:邻接矩阵、邻接表、十字链表以及邻接多重表等多种图数据结构存储方式。
优选地,本发明以所述邻接表为基础创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式。
所述邻接表以键-值对(key-value)作为图数据存储的模型,即将图数据的源顶点作为key,将图数据的顶点值、出边以及边信息作为value,形成key-value结构的图数据。由于本发明中接收的图数据所包含的信息量大,且图数据中关系对应复杂,仅仅采用key-value存储方式,并不能足以满足本发明中的图数据集需求,于是,本发明通过以所述邻接表为基础创建所述图存储模型。
本发明较佳实施例中,所述图存储模型包括:
(NodeId1_NodeId2_RelationType1_Timestam)→(value);
(NodeId1_NodeId3_RelationType1_Timestam)→(value);
......
(NodeId1_NodeIdn_RelationType1_Timestam)→(value)。
其中,NodeId1_NodeIdn_RelationType1_Timestam表示图数据中两个源顶点之间的关系类型以及所述两个源顶点关系建立的时间戳,value表示对所述两个源顶点关系的权重分配,通过所述图存储模型可以将上述社交网络中的关系进行有效表示。
详细地,本发明通过所述BGL库进行所述图数据集存储时,将所述图数据集中各个顶点及与顶点相邻的邻接点封装到自定义的"exercise vertex"函数对象,并对所述图数据集的每个顶点调用所述函数对象,完成所述图数据集各个顶点之间的关系建立以及完成所述关系的权重分配。
S2、基于所述存储方式,对所述图数据集进行图分割处理,并对图分割后的所述图数据集进行分布式存储,得到目标图数据集。
本发明较佳实施例采用哈希(Hash)方式对所述图数据集进行图分割。所述对所述图数据集进行图分割包括:预设所述图数据集中图分割的数目,对图数据集的图数据顶点进行Hash操作,并对进行Hash操作后的所述图数据顶点进行分片操作,完成所述图分割处理。所述图分割指的是在逻辑视图上对完整的图存储结构进行分割,从而将图数据的不同部分放置在分布式存储系统的各个节点。
进一步地,本发明通过采用面向图数据顶点ID的Hash方式进行分片操作。其中,所述图数据顶点ID(NodeID)可以表示为:NodeType(字节)+md5(节点标签)。详细地,所述分片操作步骤包括:根据所述图数据的顶点出边数据对所述图数据进行分割处理,得到所述图数据顶点的出边数据分片,对所述图数据顶点的出边数据分片添加字段,完成所述分片操作,并将分片操作后的所述出边数据分片进行分布式存储,得到所述目标图数据集。其中,所述字段用于对所述图数据顶点的出边数据分片进行均匀分配,所述字段可以为分片类型、分片长度以及分片规模等。
S3、对所述目标图数据集建立图数据索引,接收用户输入的查询内容,根据所述查询内容,利用所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。
本发明较佳实施例中,所述图数据索引包括二级索引和倒排索引。所述二级索引包括边ID索引、无时间关系权重索引以及有时间关系权重索引。详细地,所述边ID索引可以表示为:IDNodeID+NodeID->null,用于两个NodeID分别为一条边上两个顶点的ID查询;所述无时间关系权重索引包括:salt+NodeID+NodeID->(边上关系信息,关系权重),用于存储所述图数据集边的关系信息和权重和无时间约束的图数据集边查询;所述有时间权重索引可以表示为:salt+NodeID+NodeID+TimeStamp->(边上关系,关系权重),用于处理包含时间信息的图数据集边查询。所述倒排索引是一种反向索引,本发明中将所述目标图数据集中的图顶点建模为一个文档,所述文档中包括所述目标图数据集中所有的属性信息字段,并将所述文档按照所述图顶点的某个属性字段建立全文倒排索引,完成对所述目标图数据集的图数据索引的建立。其中,所述属性信息字段可以为时间,地点,内容描述等。
较佳地,本发明在接收所述用户输入的查询内容后,根据所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。
发明还提供一种图数据存储和查询装置。参照图2所示,为本发明一实施例提供的图数据存储和查询装置的内部结构示意图。
在本实施例中,所述图数据存储和查询装置1可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。该图数据存储和查询装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是图数据存储和查询装置1的内部存储单元,例如该图数据存储和查询装置1的硬盘。存储器11在另一些实施例中也可以是图数据存储和查询装置1的外部存储设备,例如图数据存储和查询装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括图数据存储和查询装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于图数据存储和查询装置1的应用软件及各类数据,例如图数据存储和查询程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行图数据存储和查询程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在图数据存储和查询装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及图数据存储和查询程序01的图数据存储和查询装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对图数据存储和查询装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有图数据存储和查询程序01;处理器12执行存储器11中存储的图数据存储和查询程序01时实现如下步骤:
步骤一、接收图数据集,通过数据库中的邻接表创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式。
本发明较佳实施例中,所述图数据集通过基于描述不同场景下关联性强的数据元素组合得到,所述场景可以包括通讯网络,社交网络等。以社交网络为例,可以将“ID”作为图数据的点,“好友”、“关注”、“浏览”等信息作为图数据的边,从而构建成所述图数据。
进一步地,所述数据库为Boost Graph Library(BGL)库,所述BGL库以模板的形式进行存储图数据。其中,在所述BGL库中可以自定义图数据的数据结构。所述BGL库包括:邻接矩阵、邻接表、十字链表以及邻接多重表等多种图数据结构存储方式。
优选地,本发明以所述邻接表为基础创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式。
所述邻接表以键-值对(key-value)作为图数据存储的模型,即将图数据的源顶点作为key,将图数据的顶点值、出边以及边信息作为value,形成key-value结构的图数据。由于本发明中接收的图数据所包含的信息量大,且图数据中关系对应复杂,仅仅采用key-value存储方式,并不能足以满足本发明中的图数据集需求,于是,本发明通过以所述邻接表为基础创建所述图存储模型。
本发明较佳实施例中,所述图存储模型包括:
(NodeId1_NodeId2_RelationType1_Timestam)→(value);
(NodeId1_NodeId3_RelationType1_Timestam)→(value);
......
(NodeId1_NodeIdn_RelationType1_Timestam)→(value)。
其中,NodeId1_NodeIdn_RelationType1_Timestam表示图数据中两个源顶点之间的关系类型以及所述两个源顶点关系建立的时间戳,value表示对所述两个源顶点关系的权重分配,通过所述图存储模型可以将上述社交网络中的关系进行有效表示。
详细地,本发明通过所述BGL库进行所述图数据集存储时,将所述图数据集中各个顶点及与顶点相邻的邻接点封装到自定义的"exercise vertex"函数对象,并对所述图数据集的每个顶点调用所述函数对象,完成所述图数据集各个顶点之间的关系建立以及完成所述关系的权重分配。
步骤二、基于所述存储方式,对所述图数据集进行图分割处理,并对图分割后的所述图数据集进行分布式存储,得到目标图数据集。
本发明较佳实施例采用哈希(Hash)方式对所述图数据集进行图分割。所述对所述图数据集进行图分割包括:预设所述图数据集中图分割的数目,对图数据集的图数据顶点进行Hash操作,并对进行Hash操作后的所述图数据顶点进行分片操作,完成所述图分割处理。所述图分割指的是在逻辑视图上对完整的图存储结构进行分割,从而将图数据的不同部分放置在分布式存储系统的各个节点。
进一步地,本发明通过采用面向图数据顶点ID的Hash方式进行分片操作。其中,所述图数据顶点ID(NodeID)可以表示为:NodeType(字节)+md5(节点标签)。详细地,所述分片操作步骤包括:根据所述图数据的顶点出边数据对所述图数据进行分割处理,得到所述图数据顶点的出边数据分片,对所述图数据顶点的出边数据分片添加字段,完成所述分片操作,并将分片操作后的所述出边数据分片进行分布式存储,得到所述目标图数据集。其中,所述字段用于对所述图数据顶点的出边数据分片进行均匀分配,所述字段可以为分片类型、分片长度以及分片规模等。
步骤三、对所述目标图数据集建立图数据索引,接收用户输入的查询内容,根据所述查询内容,利用所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。
本发明较佳实施例中,所述图数据索引包括二级索引和倒排索引。所述二级索引包括边ID索引、无时间关系权重索引以及有时间关系权重索引。详细地,所述边ID索引可以表示为:IDNodeID+NodeID->null,用于两个NodeID分别为一条边上两个顶点的ID查询;所述无时间关系权重索引包括:salt+NodeID+NodeID->(边上关系信息,关系权重),用于存储所述图数据集边的关系信息和权重和无时间约束的图数据集边查询;所述有时间权重索引可以表示为:salt+NodeID+NodeID+TimeStamp->(边上关系,关系权重),用于处理包含时间信息的图数据集边查询。所述倒排索引是一种反向索引,本发明中将所述目标图数据集中的图顶点建模为一个文档,所述文档中包括所述目标图数据集中所有的属性信息字段,并将所述文档按照所述图顶点的某个属性字段建立全文倒排索引,完成对所述目标图数据集的图数据索引的建立。其中,所述属性信息字段可以为时间,地点,内容描述等。
较佳地,本发明在接收所述用户输入的查询内容后,根据所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。
可选地,在其他实施例中,图数据存储和查询程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述图数据存储和查询程序在图数据存储和查询装置中的执行过程。
例如,参照图3所示,为本发明图数据存储和查询装置一实施例中的图数据存储和查询程序的程序模块示意图,该实施例中,所述图数据存储和查询程序可以被分割为图存储模型创建模块10、图数据存储20以及图数据索引建立模块30示例性地:
所述图存储模型创建模块10用于:接收图数据集,通过数据库中的邻接表创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式。
所述图数据存储模块20用于:基于所述存储方式,对所述图数据集进行图分割处理,并对图分割后的所述图数据集进行分布式存储,得到目标图数据集。
所述图数据索引建立模块30用于:对所述目标图数据集建立图数据索引,接收用户输入的查询内容,根据所述查询内容,利用所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。
上述图存储模型创建模块10、图数据存储模块20以及图数据索引建立模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有图数据存储和查询程序,所述图数据存储和查询程序可被一个或多个处理器执行,以实现如下操作:
接收图数据集,通过数据库中的邻接表创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式;
基于所述存储方式,对所述图数据集进行图分割处理,并对图分割后的所述图数据集进行分布式存储,得到目标图数据集;
对所述目标图数据集建立图数据索引,接收用户输入的查询内容,根据所述查询内容,利用所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。
本发明计算机可读存储介质具体实施方式与上述图数据存储和查询装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种图数据存储和查询方法,其特征在于,所述方法包括:
接收图数据集,通过数据库中的邻接表创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式;
基于所述存储方式,对所述图数据集进行图分割处理,并对图分割后的所述图数据集进行分布式存储,得到目标图数据集;
对所述目标图数据集建立图数据索引,接收用户输入的查询内容,根据所述查询内容,利用所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。
2.如权利要求1所述的图数据存储和查询方法,其特征在于,所述图存储模型包括:
(NodeId1_NodeId2_RelationType1_Timestam)→(value);
(NodeId1_NodeId3_RelationType1_Timestam)→(value);
......
(NodeId1_NodeIdn_RelationType1_Timestam)→(value);
其中,NodeId1_NodeIdn_RelationType1_Timestam表示图数据中两个源顶点之间的关系类型以及所述两个源顶点关系建立的时间戳,value表示对所述两个源顶点关系的权重分配。
3.如权利要求1所述的图数据存储和查询方法,其特征在于,所述对所述图数据集进行图分割处理,包括:
预设所述图数据集中图分割的数目,对图数据集中的图数据顶点进行哈希操作,并对进行哈希操作后的所述图数据顶点进行分片操作,完成所述图分割处理。
4.如权利要求3所述的图数据存储和查询方法,其特征在于,所述分片操作包括:
根据所述图数据的顶点出边数据对所述图数据进行分割处理,得到所述图数据顶点的出边数据分片,对所述图数据顶点的出边数据分片添加字段,完成所述分片操作。
5.如权利要求1至4中任意一项所述的图数据存储和查询方法,其特征在于,所述图数据索引包括二级索引和倒排索引,其中,所述二级索引包括边ID索引、无时间关系权重索引以及有时间关系权重索引。
6.一种图数据存储和查询装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的图数据存储和查询程序,所述图数据存储和查询程序被所述处理器执行时实现如下步骤:
接收图数据集,通过数据库中的邻接表创建图存储模型,并将所述图存储模型作为所述图数据集的存储方式;
基于所述存储方式,对所述图数据集进行图分割处理,并对图分割后的所述图数据集进行分布式存储,得到目标图数据集;
对所述目标图数据集建立图数据索引,接收用户输入的查询内容,根据所述查询内容,利用所述图数据索引对所述目标图数据集进行查询,并将得到的图数据查询结果返回给所述用户。
7.如权利要求6所述的图数据存储和查询装置,其特征在于,所述图存储模型包括:
(NodeId1_NodeId2_RelationType1_Timestam)→(value);
(NodeId1_NodeId3_RelationType1_Timestam)→(value);
......
(NodeId1_NodeIdn_RelationType1_Timestam)→(value);
其中,NodeId1_NodeIdn_RelationType1_Timestam表示图数据中两个源顶点之间的关系类型以及所述两个源顶点关系建立的时间戳,value表示对所述两个源顶点关系的权重分配。
8.如权利要求7所述的图数据存储和查询装置,其特征在于,所述对所述图数据集进行图分割处理,包括:
预设所述图数据集中图分割的数目,对图数据集中的图数据顶点进行哈希操作,并对进行哈希操作后的所述图数据顶点进行分片操作,完成所述图分割处理。
9.如权利要求8所述的图数据存储和查询装置,其特征在于,所述分片操作包括:
根据所述图数据的顶点出边数据对所述图数据进行分割处理,得到所述图数据顶点的出边数据分片,对所述图数据顶点的出边数据分片添加字段,完成所述分片操作。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有图数据存储和查询程序,所述图数据存储和查询程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的图数据存储和查询方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910850457.4A CN110737659A (zh) | 2019-09-06 | 2019-09-06 | 图数据存储和查询方法、装置及计算机可读存储介质 |
PCT/CN2019/116932 WO2021042515A1 (zh) | 2019-09-06 | 2019-11-10 | 图数据存储和查询方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910850457.4A CN110737659A (zh) | 2019-09-06 | 2019-09-06 | 图数据存储和查询方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737659A true CN110737659A (zh) | 2020-01-31 |
Family
ID=69267838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910850457.4A Pending CN110737659A (zh) | 2019-09-06 | 2019-09-06 | 图数据存储和查询方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110737659A (zh) |
WO (1) | WO2021042515A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382319A (zh) * | 2020-03-18 | 2020-07-07 | 军事科学院系统工程研究院系统总体研究所 | 一种面向知识图谱的图数据表示和映射方法 |
CN111400555A (zh) * | 2020-03-05 | 2020-07-10 | 湖南大学 | 图数据查询任务处理方法、装置、计算机设备和存储介质 |
CN111881326A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种图数据存储方法、装置、设备及可读存储介质 |
CN113254527A (zh) * | 2021-04-22 | 2021-08-13 | 杭州欧若数网科技有限公司 | 分布式存储图数据的优化方法、电子装置和存储介质 |
CN113536298A (zh) * | 2021-06-11 | 2021-10-22 | 浙江工业大学 | 一种面向深度学习模型偏见中毒攻击的防御方法 |
CN113609100A (zh) * | 2021-08-02 | 2021-11-05 | 北京百度网讯科技有限公司 | 数据存储方法、数据查询方法、装置及电子设备 |
CN113886652A (zh) * | 2021-10-09 | 2022-01-04 | 北京欧拉认知智能科技有限公司 | 一种内存优先的多模图数据存储与计算方法及系统 |
CN114186100A (zh) * | 2021-10-08 | 2022-03-15 | 支付宝(杭州)信息技术有限公司 | 数据存储及查询方法、装置及数据库系统 |
CN114298713A (zh) * | 2022-03-03 | 2022-04-08 | 浙商银行股份有限公司 | 一种联盟链分片方法、装置及存储介质 |
CN114742691A (zh) * | 2022-05-19 | 2022-07-12 | 支付宝(杭州)信息技术有限公司 | 一种图数据采样方法和系统 |
CN115238139A (zh) * | 2022-09-19 | 2022-10-25 | 国网智能电网研究院有限公司 | 一种图数据库数据索引方法及系统 |
WO2023078120A1 (zh) * | 2021-11-02 | 2023-05-11 | 支付宝(杭州)信息技术有限公司 | 图数据的查询 |
WO2024041376A1 (zh) * | 2022-08-23 | 2024-02-29 | 抖音视界有限公司 | 分布式图数据处理系统、方法、装置、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189518A (zh) * | 2021-10-11 | 2022-03-15 | 支付宝(杭州)信息技术有限公司 | 应用于计算机集群的通信方法及通信装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010113547A (ja) * | 2008-11-06 | 2010-05-20 | Fujitsu Ltd | 通学範囲最適化装置および通学範囲最適化プログラム |
CN102737114A (zh) * | 2012-05-18 | 2012-10-17 | 北京大学 | 基于MapReduce的大图上距离连接查询方法 |
CN106777351A (zh) * | 2017-01-17 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 基于art树分布式系统图存储计算系统及其方法 |
CN108549731A (zh) * | 2018-07-11 | 2018-09-18 | 中国电子科技集团公司第二十八研究所 | 一种基于本体模型的知识图谱构建方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426375B (zh) * | 2014-09-22 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 一种关系网络的计算方法及装置 |
CN109255055B (zh) * | 2018-08-06 | 2020-10-30 | 四川蜀天梦图数据科技有限公司 | 一种基于分组关联表的图数据存取方法和装置 |
-
2019
- 2019-09-06 CN CN201910850457.4A patent/CN110737659A/zh active Pending
- 2019-11-10 WO PCT/CN2019/116932 patent/WO2021042515A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010113547A (ja) * | 2008-11-06 | 2010-05-20 | Fujitsu Ltd | 通学範囲最適化装置および通学範囲最適化プログラム |
CN102737114A (zh) * | 2012-05-18 | 2012-10-17 | 北京大学 | 基于MapReduce的大图上距离连接查询方法 |
CN106777351A (zh) * | 2017-01-17 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 基于art树分布式系统图存储计算系统及其方法 |
CN108549731A (zh) * | 2018-07-11 | 2018-09-18 | 中国电子科技集团公司第二十八研究所 | 一种基于本体模型的知识图谱构建方法 |
Non-Patent Citations (1)
Title |
---|
张心越: "大规模关系图数据存储框架研究", 大规模关系图数据存储框架研究, no. 2017, pages 25 - 27 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400555A (zh) * | 2020-03-05 | 2020-07-10 | 湖南大学 | 图数据查询任务处理方法、装置、计算机设备和存储介质 |
CN111400555B (zh) * | 2020-03-05 | 2023-09-26 | 湖南大学 | 图数据查询任务处理方法、装置、计算机设备和存储介质 |
CN111382319B (zh) * | 2020-03-18 | 2021-04-09 | 军事科学院系统工程研究院系统总体研究所 | 一种面向知识图谱的图数据表示和映射方法 |
CN111382319A (zh) * | 2020-03-18 | 2020-07-07 | 军事科学院系统工程研究院系统总体研究所 | 一种面向知识图谱的图数据表示和映射方法 |
CN111881326A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种图数据存储方法、装置、设备及可读存储介质 |
CN113254527B (zh) * | 2021-04-22 | 2022-04-08 | 杭州欧若数网科技有限公司 | 分布式存储图数据的优化方法、电子装置和存储介质 |
CN113254527A (zh) * | 2021-04-22 | 2021-08-13 | 杭州欧若数网科技有限公司 | 分布式存储图数据的优化方法、电子装置和存储介质 |
CN113536298A (zh) * | 2021-06-11 | 2021-10-22 | 浙江工业大学 | 一种面向深度学习模型偏见中毒攻击的防御方法 |
CN113536298B (zh) * | 2021-06-11 | 2024-04-30 | 浙江工业大学 | 一种面向深度学习模型偏见中毒攻击的防御方法 |
CN113609100A (zh) * | 2021-08-02 | 2021-11-05 | 北京百度网讯科技有限公司 | 数据存储方法、数据查询方法、装置及电子设备 |
CN113609100B (zh) * | 2021-08-02 | 2023-10-27 | 北京百度网讯科技有限公司 | 数据存储方法、数据查询方法、装置及电子设备 |
WO2023056928A1 (zh) * | 2021-10-08 | 2023-04-13 | 支付宝(杭州)信息技术有限公司 | 数据存储及查询 |
CN114186100A (zh) * | 2021-10-08 | 2022-03-15 | 支付宝(杭州)信息技术有限公司 | 数据存储及查询方法、装置及数据库系统 |
CN114186100B (zh) * | 2021-10-08 | 2024-05-31 | 支付宝(杭州)信息技术有限公司 | 数据存储及查询方法、装置及数据库系统 |
CN113886652B (zh) * | 2021-10-09 | 2022-06-17 | 北京欧拉认知智能科技有限公司 | 一种内存优先的多模图数据存储与计算方法及系统 |
CN113886652A (zh) * | 2021-10-09 | 2022-01-04 | 北京欧拉认知智能科技有限公司 | 一种内存优先的多模图数据存储与计算方法及系统 |
WO2023078120A1 (zh) * | 2021-11-02 | 2023-05-11 | 支付宝(杭州)信息技术有限公司 | 图数据的查询 |
CN114298713A (zh) * | 2022-03-03 | 2022-04-08 | 浙商银行股份有限公司 | 一种联盟链分片方法、装置及存储介质 |
CN114742691A (zh) * | 2022-05-19 | 2022-07-12 | 支付宝(杭州)信息技术有限公司 | 一种图数据采样方法和系统 |
CN114742691B (zh) * | 2022-05-19 | 2023-08-18 | 支付宝(杭州)信息技术有限公司 | 一种图数据采样方法和系统 |
WO2024041376A1 (zh) * | 2022-08-23 | 2024-02-29 | 抖音视界有限公司 | 分布式图数据处理系统、方法、装置、设备及存储介质 |
CN115238139A (zh) * | 2022-09-19 | 2022-10-25 | 国网智能电网研究院有限公司 | 一种图数据库数据索引方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2021042515A1 (zh) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737659A (zh) | 图数据存储和查询方法、装置及计算机可读存储介质 | |
CN109997126B (zh) | 事件驱动提取、变换、加载(etl)处理 | |
JP2019533205A (ja) | ユーザキーワード抽出装置、方法、及びコンピュータ読み取り可能な記憶媒体 | |
US8655805B2 (en) | Method for classification of objects in a graph data stream | |
CN107515878B (zh) | 一种数据索引的管理方法及装置 | |
WO2021051546A1 (zh) | 一种链路异常识别方法、服务器及计算机可读存储介质 | |
He et al. | Model approach to grammatical evolution: deep-structured analyzing of model and representation | |
US10754628B2 (en) | Extracting web API endpoint data from source code to identify potential security threats | |
WO2013030436A1 (en) | Method and apparatus for information clustering based on predictive social graphs | |
CN113010542B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN115795000A (zh) | 基于联合相似度算法对比的围标识别方法和装置 | |
WO2023134134A1 (zh) | 一种关联查看模型的生成方法、装置、计算机设备及存储介质 | |
CN112528067A (zh) | 图数据库的存储方法、读取方法、装置及设备 | |
CN108108392B (zh) | 商品数据管理方法、装置、计算机设备及存储介质 | |
CN110874365B (zh) | 一种信息查询方法及其相关设备 | |
CN102479218A (zh) | 通过api接口进行快递查询的方法和服务器 | |
CN110737662A (zh) | 一种数据分析方法、装置、服务器及计算机存储介质 | |
Rawat et al. | A study on challenges of big data and their approaches in present environment | |
CN114896244A (zh) | 配置数据库表的方法、装置、设备和计算机可读介质 | |
CN115186188A (zh) | 基于行为分析的产品推荐方法、装置、设备及存储介质 | |
WO2022011947A1 (zh) | 一种交易数据的处理方法、装置、计算机设备及存储介质 | |
CN114880678A (zh) | 权限管理方法、装置、设备和存储介质 | |
CN104462104A (zh) | 过滤方法和服务器 | |
CN110889035A (zh) | 敏感信息过滤方法、装置及计算机可读存储介质 | |
US20170161359A1 (en) | Pattern-driven data generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |