CN116501739A - 一种图数据分布式存储方法及装置 - Google Patents
一种图数据分布式存储方法及装置 Download PDFInfo
- Publication number
- CN116501739A CN116501739A CN202310476159.XA CN202310476159A CN116501739A CN 116501739 A CN116501739 A CN 116501739A CN 202310476159 A CN202310476159 A CN 202310476159A CN 116501739 A CN116501739 A CN 116501739A
- Authority
- CN
- China
- Prior art keywords
- similarity
- graph
- class
- semantic
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 37
- 238000005192 partition Methods 0.000 claims abstract description 32
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 238000013138 pruning Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 22
- 238000000638 solvent extraction Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 230000003068 static effect Effects 0.000 abstract description 7
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 238000003012 network analysis Methods 0.000 description 8
- 108090000623 proteins and genes Proteins 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 241001229889 Metis Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000012502 risk assessment Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 3
- 102000004169 proteins and genes Human genes 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003766 bioinformatics method Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
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
- G06F16/2246—Trees, e.g. B+trees
-
- 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
- G06F16/2255—Hash tables
-
- 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
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种图数据分布式存储方法,该方法首先对RDF本体数据进行Jena解析,根据类之间的关系生成关系树并构建关系模型,根据关系模型中关系树的层级结构定义顶点间的距离相似性、结构相似性以及属性相似性,计算顶点间的语义相似性,并通过语义相似性得到相应的语义连贯性,最后采用图划分算法对语义连贯性进行最大化划分得到划分结果。在静态划分阶段,用树形结构表示本体概念之间的关系,构建类和属性的关系模型,使RDF数据编码嵌入本体的语义信息,通过计算本体结构中类的相似度,寻求最大化语义连贯性的分区方案。
Description
技术领域
本申请涉及软件工程技术领域,具体而言,涉及一种图数据分布式存储方法及装置。
背景技术
分布式环境下对RDF(Resource Description Framework,资源描述框架)图数据进行存储和查询处理的方法成为学术界的热门研究方向,相应的大规模图数据分布式存储系统分为三类。第一类为利用云平台对图数据进行存储管理,并利用分布式文件系统存储RDF图数据,通过MapReduce编程模型进行SPARQL查询的处理,不同存储系统之间的区别主要是RDF图转化为底层数据结构的方式,该类系统具有良好的扩展性和容错性,多数面向数据的离线分析。第二类是基于数据将RDF图数据分配到不同节点上,由各个单机图数据管理系统管理RDF子图,并将SPARQL查询划分到各个节点上计算部分解,汇总部分解得到最终解,不同存储系统之间的区别主要是图数据划分策略的不同,该类系统具有较小的通信代价,但过度依赖数据划分方式,具有一定局限性。第三类是联邦型RDF图数据管理系统,各个数据拥有方作为数据源互相独立且自治,独立处理SPARQL子查询计算部分解,图数据管理系统通过连接部分解得到最终解。
但是上述系统也存在着两种缺点,一方面,现有图数据划分算法在大图数据上的划分质量低,需要同时满足最小化切边和负载均衡,并存在时间复杂度较高的问题。另一方面,RDF图数据包含丰富的语义信息,以前的图划分指标缺乏对语义维度的考虑。一个好的分区算法,需要适应查询工作负载的变化并保持较好的查询处理时间,相较于静态的图数据划分算法,动态图数据的划分算法在大规模的图数据查询处理中往往具有更好的性能。图数据查询和存储密切相关,高效的查询引擎是图数据存储系统非常重要的组成部分,SPARQL是标准的图数据查询语言,而SPARQL查询的本质是子图匹配问题,因此需要设计高效的子图匹配算法,以实现在大规模的数据图中快速的选取结果集。
发明内容
本申请的目的在于,为了克服现有的技术缺陷,提供了一种图数据分布式存储方法及装置,在静态划分阶段,通过计算本体结构中类的相似度,寻求最大化语义连贯性的分区方案。
本申请目的通过下述技术方案来实现:
第一方面,本申请提出了一种图数据分布式存储方法,包括:
对RDF本体数据进行Jena解析,根据类之间的关系生成关系树并构建关系模型;
根据所述关系模型中关系树的层级结构定义顶点间的距离相似性、结构相似性以及属性相似性;
计算顶点间的语义相似性,并通过所述语义相似性得到相应的语义连贯性,所述语义相似性是所述距离相似性、所述结构相似性以及所述属性相似性的加权值;
采用图划分算法对所述语义连贯性进行最大化划分得到划分结果。
在一种可能的实施方式中,所述RDF本体数据包括多个三元组项,所述对RDF本体数据进行Jena解析的步骤,包括:
对多个所述三元组项的主语和宾语按类进行分组得到多个三元组所属类;
以每个三元组所属类作为标识赋予类编码,并将每个三元组项URI前缀的哈希值作为前缀编码;
根据三元组项所属类以及所述前缀编码的顺序编号得到三元组项的后缀编码;
根据所述类编码、所述前缀编码以及所述后缀编码得到三元组项编码。
在一种可能的实施方式中,所述类编码CC(t,i)的计算公式为:CC(t,i)=Flag&Num&f(t-1,m)&f(t,i),Flag是类标记位,Num是直接父类个数,f(t-1,m)表示节点X的父类节点Y的节点顺序编码,f(t,i)表示第t层第i个节点X的顺序编码,表示为:g(t-1)是第t-1层类节点顺序编码。
在一种可能的实施方式中,所述距离相似性SimD(x,y)为:X表示顶点x所属的类,Y表示顶点y所属的类,D(X)和D(Y)分别表示X和Y到最小公共超类的路径长度,D(LCC(X,Y))表示LCC(X,Y)到根节点的路径长度,LCC(X,Y)表示X和Y的最小公共超类;
所述结构相似性SimS(x,y)为:I(X)为类X的语义特征信息量,I(Y)为类Y的语义特征信息量,I(LCC(X,Y))为LCC(X,Y)的语义特征信息量;
所述属性相似性SimA(x,y)为:
其中,pD是关于类X和类Y对属性相似性影响大小的函数,μ(X)和μ(Y)分别对应着类X和类Y的属性数量。
在一种可能的实施方式中,在所述采用图划分算法对所述语义连贯性进行最大化划分得到划分结果之后的步骤,包括:
通过确定负载转移量和顶点移动目标分区对划分结果进行优化;
计算每个顶点的签名,所述签名由顶点信息以及与顶点相邻接的结构信息构成;
通过所述签名将RDF本体数据的数据图G分割为星型的子结构,根据顶点签名提供的图结构信息,对图数据匹配过程进行剪枝。
在一种可能的实施方式中,对图数据匹配过程进行剪枝的步骤,包括:
获取查询图Q中顶点的所有类型Class(Q);
将Class(Q)中的每个类型与数据图G中的每个顶点比对,在数据图G中去除不属于Class(Q)的顶点以及其相邻的所有边。
在一种可能的实施方式中,对图数据匹配过程进行剪枝的步骤,还包括:
遍历查询图Q中所有顶点,将查询图Q的最小度记为degreemin(Q);
遍历数据图G中所有顶点,将满足顶点度数degree(v)<degreemin(Q)的所有顶点以及相邻的边删除。
第二方面,本申请提出了一种图数据分布式存储装置,所述装置包括:
构建模块,用于对RDF本体数据进行Jena解析,根据类之间的关系生成关系树并构建关系模型;
相似性生成模块,用于根据所述关系模型中关系树的层级结构定义顶点间的距离相似性、结构相似性以及属性相似性;
语义计算模块,用于计算顶点间的语义相似性,并通过所述语义相似性得到相应的语义连贯性,所述语义相似性是所述距离相似性、所述结构相似性以及所述属性相似性的加权值;
生成模块,用于采用图划分算法对所述语义连贯性进行最大化划分得到划分结果。
第三方面,本申请还提出了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如第一方面任一项所述的图数据分布式存储方法。
第四方面,本申请还提出了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如第一方面任一项所述的图数据分布式存储方法。
上述本申请主方案及其各进一步选择方案可以自由组合以形成多个方案,均为本申请可采用并要求保护的方案;且本申请,(各非冲突选择)选择之间以及和其他选择之间也可以自由组合。本领域技术人员在了解本申请方案后根据现有技术和公知常识可明了有多种组合,均为本申请所要保护的技术方案,在此不做穷举。
本申请公开了一种图数据分布式存储方法,该方法首先对RDF本体数据进行Jena解析,根据类之间的关系生成关系树并构建关系模型,根据关系模型中关系树的层级结构定义顶点间的距离相似性、结构相似性以及属性相似性,计算顶点间的语义相似性,并通过语义相似性得到相应的语义连贯性,最后采用图划分算法对语义连贯性进行最大化划分得到划分结果。在静态划分阶段,用树形结构表示本体概念之间的关系,构建类和属性的关系模型,使RDF数据编码嵌入本体的语义信息,通过计算本体结构中类的相似度,寻求最大化语义连贯性的分区方案。
附图说明
图1示出了本申请实施例提出的一种图数据分布式存储方法的流程示意图。
图2示出了本申请实施例提出的不同分区算法割边数对比图。
图3示出了本申请实施例提出的不同分区算法语义一致性对比图。
图4示出了本申请实施例提出的不同分区算法的查询时间示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
从现有技术公布的方案来看,基于多层划分框架的RDF分布式存储方法通过采用多层划分框架,不同的节点存储不同的数据子集,虽然能提高存储效率,但是每个节点的存储容量是有限的,当存储的数据规模超过节点的容量时,可能需要扩展节点或增加节点,增加了存储成本。
基于分布式键值库的大规模知识图谱存储方案采用了键值库,每次查询需要通过键值进行查找,这样会增加查询的复杂度和查询时间,影响查询性能。同时,由于多个节点之间需要进行数据同步和通信,这也会影响读写性能。
一种图数据存储方法和分布式图数据计算方法采用了分布式计算,将计算任务分配给不同的计算节点,但是由于不同的节点可能负责不同的子图,如果子图大小不均衡,可能会导致计算节点的负载不均衡,一些节点的负载过重,而其他节点的负载过轻。
由于现有技术存在着上述缺点,并不符合高效的子图匹配算法的设计,不能实现在大规模的数据图中快速的选取结果集。因此,本申请实施例提出了一种图数据分布式存储方法及装置,基于Hbase的大规模图数据分布式存储方案,以提高数据存储和查询的效率,在静态划分阶段,通过计算本体结构中类的相似度,寻求最大化语义连贯性的分区方案。接下来对其进行详细说明。
请参考图1,图1示出了本申请实施例提出的一种图数据分布式存储方法的流程示意图,规模图数据分布式存储方法的应用前景广阔,可以帮助用户处理海量图数据、提高数据的可靠性和容错性、实现数据的快速共享和协作、以及实现数据的快速处理和分析,该方法可以应用于多个技术领域,例如:社交网络分析、道路网络分析、生物信息学、金融风险分析以及电子商务平台等,对其所产生的效果作出如下说明:
社交网络分析:社交网络是一种典型的图结构,其中节点表示人或组织,边表示人与人之间的关系。通过对社交网络进行分析,可以挖掘出人际关系、社交影响力、热点话题等信息。使用分布式存储方法可以处理海量社交网络数据,提高社交网络分析的效率。
道路网络分析:道路网络是一种复杂的图结构,其中节点表示交叉口或路口,边表示道路之间的关系。通过对道路网络进行分析,可以挖掘出交通状况、车辆流量、拥堵情况等信息。使用分布式存储方法可以处理海量道路网络数据,提高道路网络分析的效率。
生物信息学:生物信息学是一种涉及到大量基因和蛋白质序列的领域,其中序列可以看作是一种图结构。通过对基因和蛋白质序列进行分析,可以挖掘出其在生物学中的作用和意义。使用分布式存储方法可以处理海量序列数据,提高生物信息学分析的效率。
金融风险分析:金融市场是一个复杂的系统,其中包含了大量的金融产品和交易关系。通过对金融市场进行分析,可以挖掘出市场趋势、风险分布等信息。使用分布式存储方法可以处理海量金融数据,提高金融风险分析的效率。
电子商务平台通常有大量用户、商品、订单等数据,这些数据可以看作是一种图结构。通过对电子商务平台数据进行分析,可以提高销售额、精准营销和用户满意度。使用分布式存储方法可以处理海量电商数据,提高电子商务平台分析的效率。
本申请实施例提出的一种图数据分布式存储方法包括以下各个步骤:
步骤S100、对RDF本体数据进行Jena解析,根据类之间的关系生成关系树并构建关系模型。
其中在生成关系树时,先将本体树根节点设置为R,通过构建规则构建关系树,构建规则为:以及/>其中I*(X,Z)表示X和Z是兄弟节点,I(X,Y)表示X是Y的子类,以此类推。
RDF本体数据包括多个三元组项,对RDF本体数据进行Jena解析的步骤,包括:
对多个三元组项的主语和宾语按类进行分组得到多个三元组所属类;
以每个三元组所属类作为标识赋予类编码,并将每个三元组项URI前缀的哈希值作为前缀编码;
根据三元组项所属类以及前缀编码的顺序编号得到三元组项的后缀编码;
根据类编码、前缀编码以及后缀编码得到三元组项编码。
在计算类编码之前,需要先计算节点编码位数(NodeDigit,ND),若总节点数为T,在该总节点数T下节点编码位数ND(T)为:floor()表示上界。之后再计算类编码(ClassCode,CC),类编码CC(t,i)的计算公式为:CC(t,i)=Flag&Num&f(t-1,m)&f(t,i),Flag是类标记位,Num是直接父类个数,f(t-1,m)表示节点X的父类节点Y的节点顺序编码,f(t,i)表示第t层第i个节点X的顺序编码,表示为:g(t-1)是第t-1层类节点顺序编码。当直接父类个数Num大于1时,父类节点顺序编码由所有直接父类节点顺序编码组合构成。父类节点编码位数和本节点顺序编码位数均为ND(T),CC(t,i)则表示第t层的第i个节点的编码。
本申请实施例对三元组进行编码,首先将三元组项中的主语和宾语按类分组,将每个三元组所属类作为标识赋予类编码,将每个三元组项URI前缀的哈希值作为三元组项的前缀编码,根据三元组项所属的类以及前缀编码顺序编号得到三元组项的后缀编码,结合三元组的类编码、前缀编码和后缀编码,得到三元组项最终的编码,每个三元组项的编码格式为:类编码+前缀编码+后缀编码。通过建立三元组项到其编码的字典表,能够快速获取三元组项对应的编码,也可以快速将三元组编码恢复为原始数据。
此外,属性编码(PropertyCode,PC)由属性位标记Flag、所属类编码、父节点顺序编码和本节点顺序编码构成。在总节点数为T的前提下,父节点顺序编码的位数和本节点顺序编码的位数为ND(T),PC(t,i)表示第t层的第i个节点C的属性节点编码,公式为PC(t,i)=Flag&NC(p,r)&f(t-1,m)&f(t,i),其中C所属的类设为L,L的类节点编码表示为NC(p,r),f(t,i)表示第t层的第i个节点C的节点顺序编码。g(t)表示第t层的属性节点顺序编码,f(t-1,m)表示节点C的父节点D的顺序编码。
步骤S200、根据关系模型中关系树的层级结构定义顶点间的距离相似性、结构相似性以及属性相似性。
为了对顶点的相似性进行度量,基于本体树的层级结构,提出了距离相似性,深度相似性和属性相似性的定义,通过综合三种不同维度的相似性作为顶点相似性的评判标准。
顶点x和y之间的距离相似性SimD(x,y)为:
X表示顶点x所属的类,Y表示顶点y所属的类,D(X)和D(Y)分别表示X和Y到最小公共超类的路径长度,D(LCC(X,Y))表示LCC(X,Y)到根节点的路径长度,LCC(X,Y)表示X和Y的最小公共超类。由于类X和类Y的语义相似性可以利用距离作为评价指标,当它们的最小公共超类的深度越大时,两个类的距离相似性越高,当类X和类Y各自的深度越大,两个类的距离相似性越低,即距离相似性与最小公共超类的深度正相关,与各自的深度负相关。
顶点x和顶点y之间的结构相似性SimS(x,y)为:I(X)为类X的语义特征信息量,I(Y)为类Y的语义特征信息量,I(LCC(X,Y))为LCC(X,Y)的语义特征信息量,类X的语义特征信息量I(X)的计算公式为:I(X)=-log(r(X)),r(X)表示X的子类的数量占所有类的数量的比率,同样的,类Y的语义特征信息量I(Y)的计算公式为:I(Y)=-log(r(Y)),r(Y)表示Y的子类的数量占所有类的数量的比率。
除了根节点以外,本体中的每个类都有超类,对应着本体树中超类到子类的继承链,类中所包含语义特征的信息量随着继承链的长度增加而增加,两个类的结构相似性与语义信息量相关,类X和类Y的结构相似性与它们的最小公共超类所包含的语义信息量成正比,与自身所包含的语义信息量成反比。
属性相似性SimA(x,y)为:
其中,μ(Y)和μ(Y)分别对应着类X和类Y的属性数量,pD(X,Y)是关于类X和类Y对属性相似性影响大小的函数,计算公式为:其中H(X)为类X的深度,H(Y)为类Y的深度。
由于类X和类Y之间的语义相似性可以借助共同属性的数量衡量,共同的属性越多,则属性相似性越高。类X和类Y属性相似性的衡量受它们的深度差距影响,属性相似性由共同属性的数量以及属性数量的差值决定,与共同属性数量成正比,而与属性数量差集成反比。
步骤S300、计算顶点间的语义相似性,并通过语义相似性得到相应的语义连贯性。
语义相似性是距离相似性、结构相似性以及属性相似性的加权值,语义相似性Sim(x,y)的计算方法为:Sim(x,y)=αSumD(x,y)+βSumS(x,y)+γSumA(x,y),α(0≤α≤1)、β(0≤β≤1)和γ(0≤γ≤1)分别为三个系数,语义相似性表示三种相似性各占一定比例的权重。
基于语义相似性的分区方案通过采用分区的语义连贯性度量分区标准,语义连贯性表示每个分区边界处的顶点与各个分区之间的相关性,将顶点分配到语义连贯性较高的分区能够显著减少跨区查询的可能性,通过最大化图数据的语义连贯性作为分区的目标函数。
设置RDF本体数据为图G=(V,E),对图G=(V,E)进行划分得到P={P1,…,Pk},顶点vi∈V,对应分区为pi,vi的邻接顶点集表示为vi∈NBR(vi),此时顶点vi的语义连贯性是vi在分区pi到其邻接顶点NBR(vi)的语义相似之和与vi到其所有邻接顶点的相似性之和的比值:其中,Sim(vi,vj)表示顶点vi和顶点vj的语义相似性。
步骤S400、采用图划分算法对语义连贯性进行最大化划分得到划分结果。
图划分算法是一种基于语义信息的重新分区算法,为了最大化语义连贯性,在初始分区的基础上重新划分满足条件的顶点,整体分为分区计算阶段和重新分区阶段,输入是RDF图G,图G的初始划分P={P1,…,Pk},划分算法迭代次数δ和平衡因子θ,输出是满足最大化语义连贯性的划分结果,如下所示:
基于语义的图数据划分的目标是最大化图中顶点vi∈V的语义连贯性之和,其目标函数为:其中,SC(vi,Pi)表示顶点vi在分区pi对应的语义连贯性。
基于Hbase的大规模图数据分布式存储方案,以提高数据存储和查询的效率。在静态划分阶段,通过计算本体结构中类的相似度,寻求最大化语义连贯性的分区方案。
为保持图数据划分的质量,本申请基于查询负载对图数据进行动态划分,通过分析历史查询的负载信息调整顶点分区,使得节点内负载均衡的同时能够降低节点之间的通信开销。在对图静态划分之后还需要进行图动态划分,图动态划分方案为:通过确定负载转移量和顶点移动目标分区对划分结果进行优化,计算每个顶点的签名,签名由顶点信息以及与顶点相邻接的结构信息构成,通过签名将RDF本体数据的数据图G分割为星型的子结构,根据顶点签名提供的图结构信息,对图数据匹配过程进行剪枝。
其中,负载转移量的确定过程为:假设当前图查询任务为q,如果节点pi在查询q中超载,即节点pi中参与查询的活跃顶点较多,引起节点内部顶点之间的边数剧增,设置负载转移量函数表示为使当前节点达到负载均衡,因此下一个查询任务(q+1)前需要转移的负载量为/>其中,/>是在上一个查询任务(q-1)中节点pi和节点pj工作负载的差值,k为常数。同时为了防止短时间内产生大量的负载移动,通过计算阈值α:限制在查询任务中工作负载移动量,|V|+|E|是顶点数和边数的和,k为常数。
顶点移动目标分区的确定过程为:设置顶点v属于分区pi,查询q中活跃顶点v跨越分区pj的活跃入边数为跨越分区pj的活跃出边数为/>通信得分/> 为活跃入边数和活跃出边数的和,当计算得到顶点移动到节点pj后通信得分最大时,则移动顶点的收益最高,定义顶点移动收益B(v):/>计算待移动顶点与所有分区的通信得分,选出其中最大值作为候选顶点移动目标分区pj。如果在求解顶点v移动目标分区过程中发现外部边数量远小于内部边,即/>的值接近|pj|,表明顶点v不适合移动到pj,它应该继续保留在pi。此外通过通信开销为能够综合考虑节点之间的通信开销以及节点内部的负载均衡。
计算每个顶点的签名,通过签名将RDF本体数据的数据图G分割为星型的子结构,根据顶点签名提供的图结构信息,对图数据匹配过程进行剪枝是索引构建过程,因为在子图匹配过程中的搜索空间为C(νi)为查询图中顶点vi在数据图中对应的候选集,则最坏的空间复杂度为Θ(mn),n为查询图中顶点的待匹配空间,m为数据图中顶点的已匹配空间。为了减小查询图中顶点的待匹配空间,许多基于特征的算法通过将数据图分解为子图和子树等结构,建立图索引结构,但这种方法会将大规模数据图拆分为大量的子图结构。
为了解决这个问题,先将顶点签名表示为sign(v)={vertex(v),pre(v),suc(v)},其中vertex(v)是顶点的标识编码vertex(v)={ID,din,dout},由顶点编码、入度和出度构成,ID表示顶点v对应的编码,din表示顶点的入度,dout表示顶点的出度,入边集合出边集合/>p表示邻接边的编码,ID表示邻接顶点的编码。
在一种可能的实施方式中,为了提高匹配阶段查找索引的效率,通过B+树存储图索引,B+树是一种多叉树,叶子节点存储了数据的实际值和指向该数据的指针,叶子节点按顺序存储在磁盘上,高效地进行顺序访问。按照顶点编码递增的方式构建索引树,由于B+树节点数据顺序排列且相连,查找数据只需要向下逐层比较,最终找到匹配的叶子节点。
在子图匹配过程中,由于子图查询的时间复杂度为指数级别,遍历过程的所涉及到搜索空间极为庞大,因此必须设计有效的剪枝规则,通过剪枝减少匹配集中匹配结构的数量,避免不必要的搜索遍历。本申请实施例通过在剪枝判断规则中引入顶点类型、顶点的度等多个维度的特征,从多个方面缩小搜索空间,降低匹配过程中的验证次数,提高子图匹配的效率。根据剪枝操作发生的时机,通过将剪枝规则分为初步剪枝和细粒度剪枝,分别在搜索过程前和搜索过程中实现剪枝。
初步剪枝的第一条规则是基于顶点类型的剪枝,顶点的类型作为子图匹配的一个重要指标,可以在匹配开始前筛选出类型符合的顶点集。首先,获取查询图Q中顶点的所有类型,记为Class(Q),然后将Class(Q)中的每个类型与数据图G中的每个顶点比对,在图G中去除不属于Class(Q)的顶点以及其相邻的所有边。第二条规则是基于顶点度数的剪枝,顶点的度数作为查询图的顶点特征,可以过滤掉度数不可能匹配的顶点。首先遍历查询图Q中所有顶点,将查询图Q的最小度记为degreemin(Q),然后遍历数据图G中所有顶点,将满足degree(v)<degreemin(Q)的所有顶点以及相邻的边删除。
将查询图转化为带权图,为每一条边赋予相应的权值,权值的大小表示这条边在数据图中出现的频率,权值高的边在数据图中出现的次数多,如果在子图匹配时采用这些边过滤候选集将会使搜索空间很大,而权值低的边在数据图中的出现次数较少,就可以生成较小规模的候选集,因此在选择边的匹配顺序时需要采用低权值边优先匹配的策略,快速减少搜索空间。
顶点的初步剪枝减小了搜索空间的规模,需要对剪枝后的数据图和查询图建立基于顶点签名的索引,根据索引在搜索过程中进一步剪枝。子图匹配方案基于“剪枝+验证”的策略,因此在顶点匹配阶段,需要对候选集中可能匹配的子图进行验证。顶点匹配规则是用来判断两个图中的顶点是否可以匹配的依据,通过将细粒度的剪枝引入顶点匹配规则,完成顶点最后的匹配和映射。
第一条规则是基于顶点类型的匹配规则,要求顶点的类型相同,两个图中的顶点只有在它们的类型完全相同的情况下才能匹配。第二条是基于顶点度数的匹配规则,这是最常见的顶点匹配规则,度数指一个顶点所连接的边的数量,其大小可以度量该顶点在整个图中的重要性和影响力。第三条是基于顶点邻接结构的匹配规则,要求两个图中的顶点在匹配时,它们周围的结构必须相似。
本申请通过构建了基于顶点签名的索引,从顶点自身信息和邻域结构两方面剪枝匹配空间,算法针对子图匹配算法的候选集生成顺序进行优化,优先筛选过滤能力强的顶点和,提高图数据查询效率。
为了证明本申请实施例的语义划分,选取算法复杂度最低的Hash和成熟度最高的METIS进行对照。通过在LUBM三种规模的数据集进行的实验,分析不同算法在不同规模数据集下的边割数变化情况,请参照图2,图2示出了本申请实施例提出的不同分区算法割边数对比图,在三种算法中,METIS具有最低的边割数,Hash分区产生的边割数最多,本申请提出的语义划分介于两者之间,语义划分并没有严格按照最小化边割数的方式划分图数据,基于图2请参照图3,图3示出了本申请实施例提出的不同分区算法语义一致性对比图,可知语义划分划分算法具有最高的语义连贯性,因此语义划分算法牺牲来了部分边割性能,提高了语义连贯性。
此外为了验证本申请提出的图存储方法的效率,本申请在数据集LUBM1000上进行了查询实验,查询语句来自LUBM提供的14个测试语句,实验中选用Q1,Q8和Q9作为测试语句,分别在Hash,METIS和语义划分算法的图划分结果上进行查询测试,取多次查询的均值作为查询时间,测试结果如图4所示,图4示出了本申请实施例提出的不同分区算法的查询时间示意图,实验表明,对于简单查询,三种划分算法的查询时间几乎相等,随着查询语句的复杂度上升,本申请提出的图存储方法略优于METIS,具有最好的查询效率。
因此,本申请由于折中考虑了算法的效率以及划分的效果,虽然本申请的方法在割边率上并没有比Metis方法表现出色,划分算法的负载均衡有明显提升,并且对于RDF数据,划分时考虑数据的语义信息能够为后续的上层语义查询提供有效的支撑,仍具有较大优势。
与现有技术相比,本申请实施例具有以下有益效果:
第一、基于本体的图数据压缩编码方法用树形结构表示本体概念之间的关系,构建类和属性的关系模型,使RDF数据编码嵌入本体的语义信息。
第二、基于语义信息和查询负载的图数据划分方法,通过最大化语义连贯性初始划分,基于查询负载对图数据分区进行动态调整。
第三、基于顶点签名的索引构建方法,以顶点为核心计算数据图中每个顶点的签名,签名由顶点自身的信息以及与顶点相邻接的结构信息共同构成。
第四、基于索引剪枝的子图匹配方法,采用回溯剪枝的思想,利用顶点签名剪枝候选顶点,递归求解子图匹配问题。
下面给出一种图数据分布式存储装置可能的实现方式,其用于执行上述实施例及可能的实现方式中示出的图数据分布式存储方法各个执行步骤和相应的技术效果。图数据分布式存储装置包括:
构建模块,用于对RDF本体数据进行Jena解析,根据类之间的关系生成关系树并构建关系模型;
相似性生成模块,用于根据关系模型中关系树的层级结构定义顶点间的距离相似性、结构相似性以及属性相似性;
语义计算模块,用于计算顶点间的语义相似性,并通过语义相似性得到相应的语义连贯性,语义相似性是距离相似性、结构相似性以及属性相似性的加权值;
生成模块,用于采用图划分算法对语义连贯性进行最大化划分得到划分结果。
本优选实施例提供了一种计算机设备,该计算机设备可以实现本申请实施例所提供的图数据分布式存储方法任一实施例中的步骤,因此,可以实现本申请实施例所提供的图数据分布式存储方法的有益效果,详见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的图数据分布式存储方法中任一实施例的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一图数据分布式存储方法实施例中的步骤,因此,可以实现本申请实施例所提供的任一图数据分布式存储方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种图数据分布式存储方法,其特征在于,包括:
对RDF本体数据进行Jena解析,根据类之间的关系生成关系树并构建关系模型;
根据所述关系模型中关系树的层级结构定义顶点间的距离相似性、结构相似性以及属性相似性;
计算顶点间的语义相似性,并通过所述语义相似性得到相应的语义连贯性,所述语义相似性是所述距离相似性、所述结构相似性以及所述属性相似性的加权值;
采用图划分算法对所述语义连贯性进行最大化划分得到划分结果。
2.如权利要求1所述的图数据分布式存储方法,其特征在于,所述RDF本体数据包括多个三元组项,所述对RDF本体数据进行Jena解析的步骤,包括:
对多个所述三元组项的主语和宾语按类进行分组得到多个三元组所属类;
以每个三元组所属类作为标识赋予类编码,并将每个三元组项URI前缀的哈希值作为前缀编码;
根据三元组项所属类以及所述前缀编码的顺序编号得到三元组项的后缀编码;
根据所述类编码、所述前缀编码以及所述后缀编码得到三元组项编码。
3.如权利要求2所述的图数据分布式存储方法,其特征在于,所述类编码CC(t,i)的计算公式为:CC(t,i)=Flag&Num&f(t-1,m)&f(t,i),Flag是类标记位,Num是直接父类个数,f(t-1,m)表示节点X的父类节点Y的节点顺序编码,f(t,i)表示第t层第i个节点X的顺序编码,表示为:g(t-1)是第t-1层类节点顺序编码。
4.如权利要求1所述的图数据分布式存储方法,其特征在于,所述距离相似性SimD(x,y)为:X表示顶点x所属的类,Y表示顶点y所属的类,D(X)和D(Y)分别表示X和Y到最小公共超类的路径长度,D(LCC(X,Y))表示LCC(X,Y)到根节点的路径长度,LCC(X,Y)表示X和Y的最小公共超类;
所述结构相似性SimS(x,y)为:I(X)为类X的语义特征信息量,I(Y)为类Y的语义特征信息量,I(LCC(X,Y))为LCC(X,Y)的语义特征信息量;
所述属性相似性SimA(x,y)为:
其中,pD是关于类X和类Y对属性相似性影响大小的函数,μ(X)和μ(Y)分别对应着类X和类Y的属性数量。
5.如权利要求1所述的图数据分布式存储方法,其特征在于,在所述采用图划分算法对所述语义连贯性进行最大化划分得到划分结果之后的步骤,包括:
通过确定负载转移量和顶点移动目标分区对划分结果进行优化;
计算每个顶点的签名,所述签名由顶点信息以及与顶点相邻接的结构信息构成;
通过所述签名将RDF本体数据的数据图G分割为星型的子结构,根据顶点签名提供的图结构信息,对图数据匹配过程进行剪枝。
6.如权利要求5所述的图数据分布式存储方法,其特征在于,对图数据匹配过程进行剪枝的步骤,包括:
获取查询图Q中顶点的所有类型Class(Q);
将Class(Q)中的每个类型与数据图G中的每个顶点比对,在数据图G中去除不属于Class(Q)的顶点以及其相邻的所有边。
7.如权利要求6所述的图数据分布式存储方法,其特征在于,对图数据匹配过程进行剪枝的步骤,还包括:
遍历查询图Q中所有顶点,将查询图Q的最小度记为degreemin(Q);
遍历数据图G中所有顶点,将满足顶点度数degree(v)<degreemin(Q)的所有顶点以及相邻的边删除。
8.一种图数据分布式存储装置,其特征在于,所述装置包括:
构建模块,用于对RDF本体数据进行Jena解析,根据类之间的关系生成关系树并构建关系模型;
相似性生成模块,用于根据所述关系模型中关系树的层级结构定义顶点间的距离相似性、结构相似性以及属性相似性;
语义计算模块,用于计算顶点间的语义相似性,并通过所述语义相似性得到相应的语义连贯性,所述语义相似性是所述距离相似性、所述结构相似性以及所述属性相似性的加权值;
生成模块,用于采用图划分算法对所述语义连贯性进行最大化划分得到划分结果。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1-7任一项所述的图数据分布式存储方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1-7任一项所述的图数据分布式存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310476159.XA CN116501739A (zh) | 2023-04-27 | 2023-04-27 | 一种图数据分布式存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310476159.XA CN116501739A (zh) | 2023-04-27 | 2023-04-27 | 一种图数据分布式存储方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501739A true CN116501739A (zh) | 2023-07-28 |
Family
ID=87317877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310476159.XA Pending CN116501739A (zh) | 2023-04-27 | 2023-04-27 | 一种图数据分布式存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501739A (zh) |
-
2023
- 2023-04-27 CN CN202310476159.XA patent/CN116501739A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Javed et al. | Community detection in networks: A multidisciplinary review | |
Sommer | Shortest-path queries in static networks | |
Cheng et al. | Efficient processing of distance queries in large graphs: a vertex cover approach | |
US20060218138A1 (en) | System and method for improving search relevance | |
CN108388642B (zh) | 一种子图查询方法、装置及计算机可读存储介质 | |
Bortner et al. | Progressive clustering of networks using structure-connected order of traversal | |
Huang et al. | Continuous distance-based skyline queries in road networks | |
JP6243045B2 (ja) | グラフデータクエリ方法および装置 | |
CN111460234B (zh) | 图查询方法、装置、电子设备及计算机可读存储介质 | |
CN107391636B (zh) | top-m反近邻空间关键字查询方法 | |
CN110059264A (zh) | 基于知识图谱的地点检索方法、设备及计算机存储介质 | |
Nutanong et al. | Memory-efficient algorithms for spatial network queries | |
CN112434031A (zh) | 一种基于信息熵的不确定高效用模式挖掘方法 | |
Safar et al. | Optimized skyline queries on road networks using nearest neighbors | |
Belesiotis et al. | Spatio-textual user matching and clustering based on set similarity joins | |
CN110580252B (zh) | 多目标优化下的空间对象索引与查询方法 | |
CN108764307A (zh) | 自然最近邻优化的密度峰值聚类方法 | |
Keivani et al. | Random projection-based auxiliary information can improve tree-based nearest neighbor search | |
Chehreghani | Efficient computation of pairwise minimax distance measures | |
CN116304213B (zh) | 基于图神经网络的rdf图数据库子图匹配查询优化方法 | |
Ryu et al. | An Effective Clustering Method over CF $^+ $+ Tree Using Multiple Range Queries | |
CN116501739A (zh) | 一种图数据分布式存储方法及装置 | |
CN111709681B (zh) | 一种离散仓储选位方法 | |
Jia et al. | Redundancy-free computation graphs for graph neural networks | |
CN114492651A (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 |