CN113190720A - 一种基于图压缩的图数据库构建方法、装置及相关组件 - Google Patents
一种基于图压缩的图数据库构建方法、装置及相关组件 Download PDFInfo
- Publication number
- CN113190720A CN113190720A CN202110536533.1A CN202110536533A CN113190720A CN 113190720 A CN113190720 A CN 113190720A CN 202110536533 A CN202110536533 A CN 202110536533A CN 113190720 A CN113190720 A CN 113190720A
- Authority
- CN
- China
- Prior art keywords
- graph
- nodes
- compression
- target node
- node
- 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.)
- Granted
Links
- 238000007906 compression Methods 0.000 title claims abstract description 94
- 230000006835 compression Effects 0.000 title claims abstract description 93
- 238000010276 construction Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000010586 diagram Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008602 contraction Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/144—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于图压缩的图数据库构建方法、装置及相关组件,该方法包括:获取原图,并基于图的拓扑结构对所述原图进行压缩,得到压缩图;通过枚举的方式对所述压缩图进行概要信息计算;其中,所述概要信息包括节点间的距离和节点间构成的三角形数量以及节点所属的拓扑结构种类信息;当对所述压缩图进行查询时,确定待查询的目标节点以及对于目标节点的查询信息类型,然后根据预设的查找方式在所述概要信息中查找对应类型的查询信息,并作为所述目标节点的查询结果返回。本发明可满足在大图上快速、同时进行多种查询的需求。通过只存储一份压缩图结构,并针对不同查询存储概要信息的方式,本发明能够同时在一张压缩图上支持多种精确查询。
Description
技术领域
本发明涉及计算机软件技术领域,特别涉及一种基于图压缩的图数据库构建方法、装置及相关组件。
背景技术
一个图可以用一个四元组G=(V,E,L,T)来表示,其中,V代表节点集合,E代表边集合,L是一个函数,表示将每个节点映射到一个标签,而每一个节点拥有一个且仅有一个标签,T也是一个函数,表示每个节点上都带有一个时间戳T(v)。一个图上的查询,就是一个可计算的函数,这个函数接受图G作为输入,并产生一定的输出,可以是一个布尔值,一个图甚至一个元组。例如,一个图模式匹配查询就是给定一个小图Q,输出图G上所有与Q相匹配的子图。
针对大图上的查询,现有的技术主要有:
图收缩:图收缩是一项传统的编程技巧,将大图中的节点、边等做合并,在代码实现中用于加速某些特定计算。图收缩已被应用在单源最短路径,连接性,生成树等问题中。
图压缩:针对许多查询,例如图模式匹配,社交网络分析,可达性,最短距离等,图压缩算法通过合并在某类查询上的等价点,能够在不解压缩的情况下直接计算查询结果。但对于每一类不同的查询,都需要计算一份不同的压缩图。
图概括:图概括主要是在某张大图G上针对特定需求概括图中的信息,例如图中的总边数,平均度数,中心度等信息。图概括可以看作是一种有损压缩,只能支持如模糊查询,近似查询,聚合查询等不需要精确结果的查询。常见的概括方式,如将一组节点合并为一个节点并记录这些节点间的边数目,而将一组边合并为一条超边,合并时会添加或删除某些孤立边,但保证与原图相差最多不超过k条边。
索引:对于图模式匹配等查询,现有技术通常针对需要查询的模式,在计算时建立索引,存储可能匹配的节点,并枚举这些节点计算匹配。索引方法通常需要在运行时计算,针对每一个单独的查询单独计算。
现有技术存在以下缺陷:
传统的图收缩、压缩等只能针对单独一类查询进行压缩,同时处理多类查询时则需要给每一类单独存储一份压缩图;
压缩算法是有损的:在压缩过程中图的信息会丢失,(即使此压缩图的信息可能足够完成某些查询,图本身并无法被恢复),通常一种压缩图无法应用于其他查询;
索引算法需要在计算每个单独查询时现场建立,需要消耗大量时间与空间,同时信息无法被有效重用。
发明内容
本发明实施例提供了一种基于图压缩的图数据库构建方法、装置、计算机设备及存储介质,旨在通过图压缩的方式,满足在大图上快速、同时进行多种查询的需求。
第一方面,本发明实施例提供了一种基于图压缩的图数据库构建方法,包括:
获取原图,并基于图的拓扑结构对所述原图进行压缩,得到压缩图;
通过枚举的方式对所述压缩图进行概要信息计算;其中,所述概要信息包括节点间的距离和节点间构成的三角形数量以及节点所属的拓扑结构种类信息;
当对所述压缩图进行查询时,确定待查询的目标节点以及对于目标节点的查询信息类型,然后根据预设的查找方式在所述概要信息中查找对应类型的查询信息,并作为所述目标节点的查询结果返回。
第二方面,本发明实施例提供了一种基于图压缩的图数据库构建装置,包括:
第一压缩单元,用于获取原图,并基于图的拓扑结构对所述原图进行压缩,得到压缩图;
概要信息计算单元,用于通过枚举的方式对所述压缩图进行概要信息计算;其中,所述概要信息包括节点间的距离和节点间构成的三角形数量以及节点所属的拓扑结构种类信息;
查询单元,用于当对所述压缩图进行查询时,确定待查询的目标节点以及对于目标节点的查询信息类型,然后根据预设的查找方式在所述概要信息中查找对应类型的查询信息,并作为所述目标节点的查询结果返回。
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的基于图压缩的图数据库构建方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的基于图压缩的图数据库构建方法。
本发明实施例提供了一种基于图压缩的图数据库构建方法、装置、计算机设备及存储介质,该方法包括:获取原图,并基于图的拓扑结构对所述原图进行压缩,得到压缩图;通过枚举的方式对所述压缩图进行概要信息计算;其中,所述概要信息包括节点间的距离和节点间构成的三角形数量以及节点所属的拓扑结构种类信息;当对所述压缩图进行查询时,确定待查询的目标节点以及对于目标节点的查询信息类型,然后根据预设的查找方式在所述概要信息中查找对应类型的查询信息,并作为所述目标节点的查询结果返回。本发明实施例通过图压缩的方式,能够满足用户在大图上快速、同时进行多种精确查询的需求。通过只存储一份压缩图结构,并针对不同查询存储概要信息的方式,本发明实施例能够同时在一张压缩图上支持多种精确查询。同时本发明实施例中的压缩图是无损的,即图中的任何信息都不会丢失。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于图压缩的图数据库构建方法的流程示意图;
图2为本发明实施例提供的一种基于图压缩的图数据库构建方法的子流程示意图;
图3为本发明实施例提供的一种基于图压缩的图数据库构建方法中压缩图的示例示意图;
图4为本发明实施例提供的一种基于图压缩的图数据库构建装置的示意性框图;
图5为本发明实施例提供的一种基于图压缩的图数据库构建装置的子示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1是本发明实施例提供的一种基于图压缩的图数据库构建方法的流程示意图,具体包括:步骤S101~S103。
S101、获取原图,并基于图的拓扑结构对所述原图进行压缩,得到压缩图;
S102、通过枚举的方式对所述压缩图进行概要信息计算;其中,所述概要信息包括节点间的距离和节点间构成的三角形数量以及节点所属的拓扑结构种类信息;
S103、当对所述压缩图进行查询时,确定待查询的目标节点以及对于目标节点的查询信息类型,然后根据预设的查找方式在所述概要信息中查找对应类型的查询信息,并作为所述目标节点的查询结果返回。
本实施例中,在构建图数据库时,首先输入一张原图,然后在图的拓扑结构下对原图进行压缩,可以理解的是,这里所述的图的拓扑结构中图是统称,而不是具体所指本实施例所述的原图。在对原图压缩得到压缩图后,对压缩图按照枚举的方式进行概要信息计算,例如对压缩图中的各节点之间的距离进行枚举,又或者是对压缩图中各节点可构成的三角形数量进行枚举,以及记录节点所属的拓扑结构种类信息等等,并计算得到的概要信息进行保存。在进行节点查询时,根据查询的节点(即所述目标节点)在所述压缩图中对应的位置,即可获取所述目标信息对应的概要信息,从而完成查询任务。
本实施例通过图压缩的方式,能够满足用户在大图上快速、同时进行多种精确查询的需求。并且通过只存储一份压缩图结构,针对不同查询存储概要信息的方式,本实施例能够同时在一张压缩图上支持多种精确查询。同时本实施例所述的压缩图为无损压缩,即图中的任何信息都不会丢失。与现有技术中每类查询都需要对图上的不同信息进行计算相比,本实施例提前记录一定程度的概要信息,从而尽可能的不对图进行解压缩便可以实现查询的效果。而且本实施例只需要存储一份图结构,而不需要如同现有技术将每一类压缩图单独存储一份,从而大大节省了空间开销。
在一实施例中,如图2所示,所述步骤S101包括:步骤S201~S206。
S201、利用预先设置的时间戳阈值确定所述原图中的过期数据,然后将所述过期数据中连通的节点以及未与其他节点连通的节点均作为第一子图,同时将所述第一子图组成第一类子图,并将所述第一类子图中的每一第一子图压缩为超点;
S202、基于所述原图确定待压缩的拓扑结构类型,其中,所述拓扑结构类型包括团结构、星结构和简单路径结构;
S203、获取所述原图上符合所述拓扑结构类型的第二子图,使每一拓扑结构类型的第二类子图中均包含至少一由节点组成的第二子图,并判断所述第二子图中的节点数量是否符合预设子图节点阈值;
S204、若所述第二子图中的节点数量符合预设子图节点阈值,则对所述第二子图进行压缩;
S205、将所述原图中被压缩的节点映射为压缩后的超点,以及将未被压缩的节点映射为自身,从而得到第一函数和第二函数;
S206、结合所述第一子图、第二子图以及第一函数和第二函数构建得到所述压缩图。
本实施例中,获取输入原图G,并设置用于识别过期数据的时间戳阈值t0,以及整型数值kl和ku,使每个被压缩的子图至少要有kl个节点以及最多拥有ku个节点),然后输出为两个函数,即所述第一函数f_C与第二函数f_D,其中,第一函数f_C用于将原图G中每个节点映射到压缩后的子图中对应的超点,而所述第二函数f_D则将压缩后的子图中每个超点映射为原图中的节点。
具体来说,首先根据所述时间戳阈值区分得到过期数据,然后将过期数据中相连通的节点作为所述第一子图,以及将未与其他节点连通的单个节点同样作为第一子图,由此组成至少包含一第一子图的第一类子图,同时保证所述第一子图的大小处于kl~ku范围内。然后确定所述原图中的拓扑结构,包括团结构、星结构和简单路径结构等,并分别将团结构、星结构和简单路径结构压缩为超点,同时保证压缩后的子图大小处于kl~ku范围内。此时,即可得到整张原图的压缩图,并将被压缩的节点映射到压缩后的超点,以及将未能被压缩的节点映射到自己,由此得出第一函数f_C与第二函数f_D。进一步的,在压缩过程中,对压缩的节点进行标记,以确保该节点不会被再次压缩。另外,利用哈希表将被压缩的节点映射到压缩后的超点。
最终,本实施例构建得到压缩图G_C,包括f_C(G)中的每一个节点,即压缩子图对应的所有超点,以及未能被压缩的节点。并且当且仅当两个节点在原图G中有边连接时,压缩图G_C中对应的两个节点之间才有边连接。
如图3所示,图3中,过期数据包括f1、n1、l1、i1,团结构包括k1、k2、k3、k4、k5,星结构包括u1、u2、u3、u4、u5、u6、u7、u8、u9、u10,简单路径结构包括k6、k7、k8、k9、k10,另外,t2为无法被压缩的节点。
在一实施例中,所述步骤S102包括:
对所述过期数据中的任意两个节点之间的距离进行枚举;
对所述团结构中的任意两个节点之间的距离进行枚举;
对所述星结构中的中间点和每一叶子节点之间的距离进行记录,以及对任意两个叶子节点之间的距离进行枚举;
对所述简单路径结构中相邻的两个节点间的距离进行记录,以及将任意不相邻的两个节点之间的所有边长度进行相加求和;
记录每一节点所属结构种类和拓扑特征。
本实施例中,对于最短路径问题,提前计算好压缩图内部各节点可能存在的路径长度,以此可以避免解压缩超点,从而可以计算任何两节点间的最短路径。具体来说,对于过期数据,直接枚举任意两个节点间的距离即可;对于团结构,枚举任意两个节点间的距离,此时的最短距离即为两个节点之间连边的长度;对于星结构,记录星结构的中间点与叶子节点间的距离即可,其他任意两个叶子节点间的距离可以组合得到;对于简单路径结构,则记录每两个相邻节点间的距离,对于不相邻的任意两个节点间的距离,则对该两个节点间的所有边的距离相加即可。另外,本实施例还记录了每一节点所述的结构种类和拓扑特征,可以用于检查压缩后的超点的结构信息以及查询超点内子图连通性。
结合图3,假设所有边的距离都是1,例如可以得到节点v{H1}的节点距离为dis={(i1,f1,1),(i1,n1,1),(i1,l1,1),(i1,n1,2),(i1,l1,2),(n1,l1,2)},节点v{H2}的节点距离dis={(ki,kj,1)},其中1≤i<j≤5。这其中,(i1,f1,1)表示i1与f1之间的距离为1。
在一实施例中,所述步骤S102还包括:
对所述过期数据中的每一三角形进行枚举;
按照下式对所述团结构中的三角形数量进行计算:
A=k(k-1)(k-2)/6
式中,A为所述团结构中的三角形数量,k为所述团结构中的节点数量;
将所述原图中未被压缩的节点设置为外部节点,将所述过期数据、团结构、星结构、简单路径结构中与所述外部节点相连的节点设置为边缘节点;
对所述边缘节点和所述外部节点之间构成的三角形进行枚举。
本实施例中,对于三角形计数问题,提前对于每个被压缩的子图中的三角形数量进行统计。具体包括:对于过期数据,枚举过期数据中的每一个三角形;对于团结构,则按照上述三角形数量计算公式计算,对于星结构和简单路径结构则不存在相应的三角形。
除了压缩图内部的三角形数量以外,压缩图中的节点也可以和未被压缩的节点(即所述外部节点)构成三角形,例如两个子图中的节点和一个外部节点构成三角形,或者一个子图内的节点和两个外部节点构成三角形。具体的,对于过期数据中的边缘节点均有可能构成三角形,故需要对边缘节点依次进行枚举统计数量;对于团结构,每个节点均可以边缘节点,因此依次对团结构中的边缘节点进行枚举;类似地,对于星结构,除去中心节点的节点都是边缘节点,而对于简单路径结构,两个端点为边缘节点,同样是对星结构和简单路径结构中的边缘节点进行枚举。
在一实施例中,所述步骤S103包括:
当所述目标节点的查询信息类型为查询所述目标节点的最短距离时,在所述概要信息中获取所述目标节点与其他节点之间的距离,并选择最小的距离作为所述目标节点的最短路径返回。
本实施例中,由于每个节点的概要信息已经统计了与其他节点间的距离,因此,当目标节点的查询信息为最短路径时,则只需在预计算的概要信息中获取目标节点对应的最短路径即可作为查询结果返回。可以理解的是,所述目标节点也可以是两个节点,即查询两个目标节点之间最短路径,同样的,首先利用所述第一函数确定两个目标节点在压缩图中的位置,如果两个目标节点为相邻的节点,则可以直接将概要信息中记录的距离作为最短路径返回。如果两个目标节点之间不相邻,那么结合概要信息中记录的各节点间的距离,从中选择最短距离作为最终的查询结果。
在一实施例中,所述步骤S103还包括:
当所述目标节点的查询信息类型为查询所述目标节点对应的三角形数量时,判断所述目标节点是否为压缩节点;
若所述目标节点为压缩节点,则在所述概要信息中获取所述目标节点与其他节点构成的三角形数量作为所述目标节点对应的三角形数量并返回;
当所述目标节点为未被压缩的节点时,则对所述未被压缩的节点对应的三角形进行枚举,并将枚举结果作为所述目标节点的查询结果返回。
本实施例中,由于每个节点的概要信息已经统计了与其他节点间的三角形数量,因此,当目标节点的查询信息为三角形数量且目标节点为压缩节点时,则只需在预计算的概要信息中获取目标节点对应的三角形数量即可作为查询结果返回。当然,如果所述目标节点为未被压缩的节点,则仍需对目标节点与其他节点之间构成的三角形进行枚举,并将枚举数量作为查询结果。
结合图3,可知图3中对于可压缩的节点之间共构成了14个三角形,例如(k1,k2,k3)、(k3,k4,k5)、(k1,k5,u6)等等,而对于不可压缩的节点(t2),则可以枚举得到3个三角形,即(u6,t2,k1)、(t1,t2,k1)和(k1,t2,k5)。
在一实施例中,所述基于图压缩的图数据库构建方法还包括:
对所述原图中更新的节点、边进行统计,得到一更新集合;
根据所述更新集合对所述压缩图和所述概要信息进行更新。
本实施例中,通过上述方法构建得到的图数据库还支持增量计算,所谓增量计算即是指图上节点、边或属性等信息发生改动时,需要对图数据库进行维护更新,因此对于本实施例来说,既需要更新压缩图的结构,也需要更新预计算的概要信息。
具体的,首先统计原图上发生更新的节点和边以及更新的属性,得到一个更新集合。然后,如果更新集合中包含对于属性的更新改动,则可以直接更新对应的概要信息,例如节点间的距离等;如果更新集合中包含对于节点、边的更新改动,且更新改动导致被压缩的子图不再满足特定结构子图(即团、星、和简单路径),则需要解压缩该子图,并对发生更新改动的节点重新进行压缩,而这可能会得到其他方式的压缩,或者是更新改动的节点无法被压缩而成为独立节点。另外,对于发生更新改动的节点处于过期数据中,则需要将更新改动的节点从过期数据中分离出来,并按照拓扑结构对该节点进行对应的压缩。
图4为本发明实施例提供的一种基于图压缩的图数据库构建装置400的示意性框图,该装置400包括:
第一压缩单元401,用于获取原图,并基于图的拓扑结构对所述原图进行压缩,得到压缩图;
概要信息计算单元402,用于通过枚举的方式对所述压缩图进行概要信息计算;其中,所述概要信息包括节点间的距离和节点间构成的三角形数量以及节点所属的拓扑结构种类信息;
查询单元403,用于当对所述压缩图进行查询时,确定待查询的目标节点以及对于目标节点的查询信息类型,然后根据预设的查找方式在所述概要信息中查找对应类型的查询信息,并作为所述目标节点的查询结果返回。
在一实施例中,如图5所示,所述第一压缩单元401包括:
过期数据确定单元501,用于利用预先设置的时间戳阈值确定所述原图中的过期数据,然后将所述过期数据中连通的节点以及未与其他节点连通的节点均作为第一子图,同时将所述第一子图组成第一类子图,并将所述第一类子图中的每一第一子图压缩为超点;
拓扑结构类型确定单元502,用于基于所述原图确定待压缩的拓扑结构类型,其中,所述拓扑结构类型包括团结构、星结构和简单路径结构;
子图获取单元503,用于获取所述原图上符合所述拓扑结构类型的第二子图,使每一拓扑结构类型的第二类子图中均包含至少一由节点组成的第二子图,并判断所述第二子图中的节点数量是否符合预设子图节点阈值;
第二压缩单元504,用于若所述第二子图中的节点数量符合预设子图节点阈值,则对所述第二子图进行压缩;
节点映射单元505,用于将所述原图中被压缩的节点映射为压缩后的超点,以及将未被压缩的节点映射为自身,从而得到第一函数和第二函数;
压缩图构建单元506,用于结合所述第一子图、第二子图以及第一函数和第二函数构建得到所述压缩图。
在一实施例中,所述概要信息计算单元402包括:
过期数据第一枚举单元,用于对所述过期数据中的任意两个节点之间的距离进行枚举;
团结构枚举单元,用于对所述团结构中的任意两个节点之间的距离进行枚举;
星结构枚举单元,用于对所述星结构中的中间点和每一叶子节点之间的距离进行记录,以及对任意两个叶子节点之间的距离进行枚举;
简单路径结构记录单元,用于对所述简单路径结构中相邻的两个节点间的距离进行记录,以及将任意不相邻的两个节点之间的所有边长度进行相加求和;
拓扑特征记录单元,用于记录每一节点所属结构种类和拓扑特征。
在一实施例中,所述概要信息计算单元402还包括:
过期数据第二枚举单元,用于对所述过期数据中的每一三角形进行枚举;
团结构计算单元,用于按照下式对所述团结构中的三角形数量进行计算:
A=k(k-1)(k-2)/6
式中,A为所述团结构中的三角形数量,k为所述团结构中的节点数量;
节点设置单元,用于将所述原图中未被压缩的节点设置为外部节点,将所述过期数据、团结构、星结构、简单路径结构中与所述外部节点相连的节点设置为边缘节点;
节点枚举单元,用于对所述边缘节点和所述外部节点之间构成的三角形进行枚举。
在一实施例中,所述查询单元403包括:
最短路径查询单元,用于当所述目标节点的查询信息类型为查询所述目标节点的最短距离时,在所述概要信息中获取所述目标节点与其他节点之间的距离,并选择最小的距离作为所述目标节点的最短路径返回。
在一实施例中,所述查询单元403还包括:
节点判断单元,用于当所述目标节点的查询信息类型为查询所述目标节点对应的三角形数量时,判断所述目标节点是否为压缩节点;
第一查询返回单元,用于若所述目标节点为压缩节点,则在所述概要信息中获取所述目标节点与其他节点构成的三角形数量作为所述目标节点对应的三角形数量并返回;
第一查询返回单元,用于当所述目标节点为未被压缩的节点时,则对所述未被压缩的节点对应的三角形进行枚举,并将枚举结果作为所述目标节点的查询结果返回。
在一实施例中,所述基于图压缩的图数据库构建装置还包括:
更新节点统计单元,用于对所述原图中更新的节点、边进行统计,得到一更新集合;
更新单元,用于根据所述更新集合对所述压缩图和所述概要信息进行更新。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于图压缩的图数据库构建方法,其特征在于,包括:
获取原图,并基于图的拓扑结构对所述原图进行压缩,得到压缩图;
通过枚举的方式对所述压缩图进行概要信息计算;其中,所述概要信息包括节点间的距离和节点间构成的三角形数量以及节点所属的拓扑结构种类信息;
当对所述压缩图进行查询时,确定待查询的目标节点以及对于目标节点的查询信息类型,然后根据预设的查找方式在所述概要信息中查找对应类型的查询信息,并作为所述目标节点的查询结果返回。
2.根据权利要求1所述的基于图压缩的图数据库构建方法,其特征在于,所述获取原图,并基于图的拓扑结构对所述原图进行压缩,得到压缩图,包括:
利用预先设置的时间戳阈值确定所述原图中的过期数据,然后将所述过期数据中连通的节点以及未与其他节点连通的节点均作为第一子图,同时将所述第一子图组成第一类子图,并将所述第一类子图中的每一第一子图压缩为超点;
基于所述原图确定待压缩的拓扑结构类型,其中,所述拓扑结构类型包括团结构、星结构和简单路径结构;
获取所述原图上符合所述拓扑结构类型的第二类子图,使每一拓扑结构类型的第二类子图中均包含至少一由节点组成的第二子图,并判断所述第二子图中的节点数量是否符合预设子图节点阈值;
若所述第二子图中的节点数量符合预设子图节点阈值,则对所述第二子图进行压缩;
将所述原图中被压缩的节点映射为压缩后的超点,以及将未被压缩的节点映射为自身,从而得到第一函数和第二函数;
结合所述第一子图、第二子图以及第一函数和第二函数构建得到所述压缩图。
3.根据权利要求2所述的基于图压缩的图数据库构建方法,其特征在于,所述通过枚举的方式对所述压缩图进行概要信息计算,包括:
对所述过期数据中的任意两个节点之间的距离进行枚举;
对所述团结构中的任意两个节点之间的距离进行枚举;
对所述星结构中的中间点和每一叶子节点之间的距离进行记录,以及对任意两个叶子节点之间的距离进行枚举;
对所述简单路径结构中相邻的两个节点间的距离进行记录,以及将任意不相邻的两个节点之间的所有边长度进行相加求和;
记录每一节点所属结构种类和拓扑特征。
4.根据权利要求2所述的基于图压缩的图数据库构建方法,其特征在于,所述通过枚举的方式对所述压缩图进行概要信息计算,还包括:
对所述过期数据中的每一三角形进行枚举;
按照下式对所述团结构中的三角形数量进行计算:
A=k(k-1)(k-2)/6
式中,A为所述团结构中的三角形数量,k为所述团结构中的节点数量;
将所述原图中未被压缩的节点设置为外部节点,将所述过期数据、团结构、星结构、简单路径结构中与所述外部节点相连的节点设置为边缘节点;
对所述边缘节点和所述外部节点之间构成的三角形进行枚举。
5.根据权利要求3所述的基于图压缩的图数据库构建方法,其特征在于,所述当对所述压缩图进行查询时,确定待查询的目标节点以及对于目标节点的查询信息类型,然后根据预设的查找方式在所述概要信息中查找对应类型的查询信息,并作为所述目标节点的查询结果返回,包括:
当所述目标节点的查询信息类型为查询所述目标节点的最短距离时,在所述概要信息中获取所述目标节点与其他节点之间的距离,并选择最小的距离作为所述目标节点的最短路径返回。
6.根据权利要求4所述的基于图压缩的图数据库构建方法,其特征在于,所述当对所述压缩图进行查询时,确定待查询的目标节点以及对于目标节点的查询信息类型,然后根据预设的查找方式在所述概要信息中查找对应类型的查询信息,并作为所述目标节点的查询结果返回,还包括:
当所述目标节点的查询信息类型为查询所述目标节点对应的三角形数量时,判断所述目标节点是否为压缩节点;
若所述目标节点为压缩节点,则在所述概要信息中获取所述目标节点与其他节点构成的三角形数量作为所述目标节点对应的三角形数量并返回;
当所述目标节点为未被压缩的节点时,则对所述未被压缩的节点对应的三角形进行枚举,并将枚举结果作为所述目标节点的查询结果返回。
7.根据权利要求1所述的基于图压缩的图数据库构建方法,其特征在于,还包括:
对所述原图中更新的节点、边进行统计,得到一更新集合;
根据所述更新集合对所述压缩图和所述概要信息进行更新。
8.一种基于图压缩的图数据库构建装置,其特征在于,包括:
第一压缩单元,用于获取原图,并基于图的拓扑结构对所述原图进行压缩,得到压缩图;
概要信息计算单元,用于通过枚举的方式对所述压缩图进行概要信息计算;其中,所述概要信息包括节点间的距离和节点间构成的三角形数量以及节点所属的拓扑结构种类信息;
查询单元,用于当对所述压缩图进行查询时,确定待查询的目标节点以及对于目标节点的查询信息类型,然后根据预设的查找方式在所述概要信息中查找对应类型的查询信息,并作为所述目标节点的查询结果返回。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于图压缩的图数据库构建方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于图压缩的图数据库构建方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110536533.1A CN113190720B (zh) | 2021-05-17 | 2021-05-17 | 一种基于图压缩的图数据库构建方法、装置及相关组件 |
PCT/CN2021/096278 WO2022241813A1 (zh) | 2021-05-17 | 2021-05-27 | 一种基于图压缩的图数据库构建方法、装置及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110536533.1A CN113190720B (zh) | 2021-05-17 | 2021-05-17 | 一种基于图压缩的图数据库构建方法、装置及相关组件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113190720A true CN113190720A (zh) | 2021-07-30 |
CN113190720B CN113190720B (zh) | 2023-01-17 |
Family
ID=76982203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110536533.1A Active CN113190720B (zh) | 2021-05-17 | 2021-05-17 | 一种基于图压缩的图数据库构建方法、装置及相关组件 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113190720B (zh) |
WO (1) | WO2022241813A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609100A (zh) * | 2021-08-02 | 2021-11-05 | 北京百度网讯科技有限公司 | 数据存储方法、数据查询方法、装置及电子设备 |
WO2023231207A1 (zh) * | 2022-06-02 | 2023-12-07 | 深圳计算科学研究院 | 一种基于层级压缩技术的图计算方法、装置及相关介质 |
WO2024007873A1 (zh) * | 2022-07-05 | 2024-01-11 | 华为技术有限公司 | 一种图处理方法及相关装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117196542B (zh) * | 2023-11-06 | 2024-01-26 | 上海叁零肆零科技有限公司 | 城市燃气管网拓扑完整性检查方法、装置、设备及介质 |
CN118260454B (zh) * | 2024-05-29 | 2024-08-20 | 浙江邦盛科技股份有限公司 | 时序中间态聚合图构建与查询方法、装置、设备及介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110202511A1 (en) * | 2010-02-12 | 2011-08-18 | Sityon Arik | Graph searching |
US20130339352A1 (en) * | 2012-05-21 | 2013-12-19 | Kent State University | Shortest path computation in large networks |
CN103999126A (zh) * | 2011-12-16 | 2014-08-20 | 吕贝克大学 | 用于估计姿态的方法和装置 |
CN105530011A (zh) * | 2014-09-30 | 2016-04-27 | 华东师范大学 | 一种基于三角形统计的图数据压缩方法和查询方法 |
CN108388642A (zh) * | 2018-02-27 | 2018-08-10 | 中南民族大学 | 一种子图查询方法、装置及计算机可读存储介质 |
US20180300413A1 (en) * | 2016-04-07 | 2018-10-18 | Ping An Technology (Shenzhen) Co., Ltd. | Method, device, server and storage medium of searching a group based on social network |
CN109492131A (zh) * | 2018-09-18 | 2019-03-19 | 华为技术有限公司 | 一种图数据存储方法及装置 |
CN110598055A (zh) * | 2019-08-23 | 2019-12-20 | 华北电力大学 | 一种基于属性图的并行图摘要方法 |
CN111444287A (zh) * | 2020-03-17 | 2020-07-24 | 北京齐尔布莱特科技有限公司 | 图数据库构建方法、关联信息查询方法、装置及计算设备 |
CN111538867A (zh) * | 2020-04-15 | 2020-08-14 | 深圳计算科学研究院 | 一种有界增量图划分方法和系统 |
CN111651641A (zh) * | 2020-05-29 | 2020-09-11 | 全球能源互联网研究院有限公司 | 一种图查询方法、装置及存储介质 |
CN112530015A (zh) * | 2020-12-28 | 2021-03-19 | 武汉怀创智能科技有限公司 | 基于空间结构特征的点云数据压缩存储方法与系统 |
CN112667860A (zh) * | 2020-12-30 | 2021-04-16 | 海南普适智能科技有限公司 | 一种子图匹配方法、装置、设备及存储介质 |
CN112699278A (zh) * | 2020-12-23 | 2021-04-23 | 新奥数能科技有限公司 | 一种图数据库构建方法、装置、可读存储介质及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6801904B2 (en) * | 2001-10-19 | 2004-10-05 | Microsoft Corporation | System for keyword based searching over relational databases |
US8582554B2 (en) * | 2011-04-21 | 2013-11-12 | International Business Machines Corporation | Similarity searching in large disk-based networks |
US8984019B2 (en) * | 2012-11-20 | 2015-03-17 | International Business Machines Corporation | Scalable summarization of data graphs |
-
2021
- 2021-05-17 CN CN202110536533.1A patent/CN113190720B/zh active Active
- 2021-05-27 WO PCT/CN2021/096278 patent/WO2022241813A1/zh unknown
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110202511A1 (en) * | 2010-02-12 | 2011-08-18 | Sityon Arik | Graph searching |
CN103999126A (zh) * | 2011-12-16 | 2014-08-20 | 吕贝克大学 | 用于估计姿态的方法和装置 |
US20130339352A1 (en) * | 2012-05-21 | 2013-12-19 | Kent State University | Shortest path computation in large networks |
CN105530011A (zh) * | 2014-09-30 | 2016-04-27 | 华东师范大学 | 一种基于三角形统计的图数据压缩方法和查询方法 |
US20180300413A1 (en) * | 2016-04-07 | 2018-10-18 | Ping An Technology (Shenzhen) Co., Ltd. | Method, device, server and storage medium of searching a group based on social network |
CN108388642A (zh) * | 2018-02-27 | 2018-08-10 | 中南民族大学 | 一种子图查询方法、装置及计算机可读存储介质 |
CN109492131A (zh) * | 2018-09-18 | 2019-03-19 | 华为技术有限公司 | 一种图数据存储方法及装置 |
CN110598055A (zh) * | 2019-08-23 | 2019-12-20 | 华北电力大学 | 一种基于属性图的并行图摘要方法 |
CN111444287A (zh) * | 2020-03-17 | 2020-07-24 | 北京齐尔布莱特科技有限公司 | 图数据库构建方法、关联信息查询方法、装置及计算设备 |
CN111538867A (zh) * | 2020-04-15 | 2020-08-14 | 深圳计算科学研究院 | 一种有界增量图划分方法和系统 |
CN111651641A (zh) * | 2020-05-29 | 2020-09-11 | 全球能源互联网研究院有限公司 | 一种图查询方法、装置及存储介质 |
CN112699278A (zh) * | 2020-12-23 | 2021-04-23 | 新奥数能科技有限公司 | 一种图数据库构建方法、装置、可读存储介质及电子设备 |
CN112530015A (zh) * | 2020-12-28 | 2021-03-19 | 武汉怀创智能科技有限公司 | 基于空间结构特征的点云数据压缩存储方法与系统 |
CN112667860A (zh) * | 2020-12-30 | 2021-04-16 | 海南普适智能科技有限公司 | 一种子图匹配方法、装置、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609100A (zh) * | 2021-08-02 | 2021-11-05 | 北京百度网讯科技有限公司 | 数据存储方法、数据查询方法、装置及电子设备 |
CN113609100B (zh) * | 2021-08-02 | 2023-10-27 | 北京百度网讯科技有限公司 | 数据存储方法、数据查询方法、装置及电子设备 |
WO2023231207A1 (zh) * | 2022-06-02 | 2023-12-07 | 深圳计算科学研究院 | 一种基于层级压缩技术的图计算方法、装置及相关介质 |
WO2024007873A1 (zh) * | 2022-07-05 | 2024-01-11 | 华为技术有限公司 | 一种图处理方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2022241813A1 (zh) | 2022-11-24 |
CN113190720B (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113190720B (zh) | 一种基于图压缩的图数据库构建方法、装置及相关组件 | |
US10296522B1 (en) | Index mechanism for report generation | |
US7702622B2 (en) | Advanced techniques for SQL generation of performancepoint business rules | |
US9507875B2 (en) | Symbolic hyper-graph database | |
JP5372853B2 (ja) | デジタルシーケンス特徴量算出方法及びデジタルシーケンス特徴量算出装置 | |
JP6928677B2 (ja) | オンライン分析処理を行うためのデータ処理方法及び装置 | |
CN112711591B (zh) | 基于知识图谱的字段级的数据血缘确定方法及装置 | |
CN103561133A (zh) | 一种ip地址归属信息索引方法及快速查询方法 | |
CN112287182A (zh) | 图数据存储、处理方法、装置及计算机存储介质 | |
CN111241350B (zh) | 图数据查询方法、装置、计算机设备和存储介质 | |
CN111651641B (zh) | 一种图查询方法、装置及存储介质 | |
CN110275889B (zh) | 一种适用于机器学习的特征处理方法及装置 | |
Bhushan et al. | Big data query optimization by using locality sensitive bloom filter | |
US10795920B2 (en) | Information processing device, information processing method, and computer-readable storage medium | |
CN110389953B (zh) | 基于压缩图的数据存储方法、存储介质、存储装置和服务器 | |
US20160217192A1 (en) | Search system and search method | |
He et al. | Efficient and robust data augmentation for trajectory analytics: A similarity-based approach | |
Djordjevic et al. | Detecting regular visit patterns | |
WO2016022019A1 (en) | Method for data input into a database | |
CN112667859A (zh) | 基于内存的数据处理方法及装置 | |
Zollmann | Nosql databases | |
CN113742288B (zh) | 用于数据索引的方法、电子设备和计算机程序产品 | |
CN108052522A (zh) | 一种对olap预计算模型进行动态优化的方法及系统 | |
CN104598591A (zh) | 一种针对类型属性图模型的模型元素匹配方法 | |
CN117827214B (zh) | 一种算法管理平台中的算法拓展方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |