CN110110034A - 一种基于图的rdf数据管理方法、装置及存储介质 - Google Patents
一种基于图的rdf数据管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110110034A CN110110034A CN201910389293.XA CN201910389293A CN110110034A CN 110110034 A CN110110034 A CN 110110034A CN 201910389293 A CN201910389293 A CN 201910389293A CN 110110034 A CN110110034 A CN 110110034A
- Authority
- CN
- China
- Prior art keywords
- node
- storage address
- physical storage
- triple
- stored
- 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
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/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- 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/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于图的RDF数据管理方法、装置及存储介质,基于待存储RDF数据创建RDF图;将三元组中各元素在RDF图上所对应的节点分别在SSD上不同存储单元中进行存储;在上级节点所存储的存储单元,将包括上级节点相对应的所有下级节点的物理存储地址的物理存储地址列表进行保存,以及将各节点与各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表。通过本发明的实施,将RDF数据转化为图数据来管理,更好的保留了RDF数据的结构特征,方便从任何节点探索数据,利于实现全面、可扩展的RDF数据管理,充分利用了SSD的高并行性,极大提高了在SSD上的数据管理性能。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种基于图的RDF数据管理方法、装置及存储介质。
背景技术
大数据时代,信息呈现出高度非结构化和自由而丰富的关联性,许多知识库如微博、Facebook等的数据集通常以资源描述框架(RDF,Resource Description Framework)的形式进行存储。RDF数据实际上是由一些列的三元组数据组成的,其中每个三元组都是由三个元素组成:资源、属性和属性值,也称之为主语(Subject)、谓语(predicate)以及宾语(Object)。
近些年随着RDF的普及,RDF数据的数量已经大大增加,在许多RDF数据集中(例如Wikipedia)产生了数十亿个三元组。因此,如何有效地管理这些庞大的RDF数据成为一个巨大的挑战。目前,通常是将RDF数据在固态硬盘(SSD,Solid State Drive)进行存储,然而相关技术中在存储过程中,并未考虑到SSD内部的空间特性,例如channel,die,plane等内部信息,而是将RDF数据随机存储在SSD上的空闲存储单元,使得SSD的性能未得到充分发挥,在SSD上的数据管理性能较低。
发明内容
本发明实施例的主要目的在于提供一种基于图的RDF数据管理方法、装置及存储介质,至少能够解决相关技术中将RDF数据随机存储在SSD上的空闲存储单元,所导致的SSD性能未得到充分发挥,以及基于SSD的数据管理性能较低的问题。
为实现上述目的,本发明实施例第一方面提供了一种基于图的RDF数据管理方法,该方法包括:
基于待存储RDF数据创建RDF图;所述待存储RDF数据中所有三元组的各元素均对应于所述RDF图上的一个节点;
将所述三元组中各元素所对应的各节点,分别在所述SSD上物理存储地址不同的存储单元中进行存储;
在上级节点所存储的存储单元,将包括所述上级节点相对应的所有下级节点的物理存储地址的物理存储地址列表进行保存,以及将各节点与所述各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表;所述三元组的宾语为谓语的下级节点,所述谓语为主语的下级节点。
为实现上述目的,本发明实施例第二方面提供了一种基于图的RDF数据管理装置,该装置包括:
创建模块,用于基于待存储RDF数据创建RDF图;所述待存储RDF数据中所有三元组的各元素均对应于所述RDF图上的一个节点;
存储模块,用于将所述三元组中各元素所对应的各节点,分别在所述SSD上物理存储地址不同的存储单元中进行存储;
保存模块,用于在上级节点所存储的存储单元,将包括所述上级节点相对应的所有下级节点的物理存储地址的物理存储地址列表进行保存,以及将各节点与所述各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表;所述三元组的宾语为谓语的下级节点,所述谓语为主语的下级节点。
为实现上述目的,本发明实施例第三方面提供了一种电子装置,该电子装置包括:处理器、存储器和通信总线;
所述通信总线用于实现所述处理器和存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的一个或者多个程序,以实现上述任意一种基于图的RDF数据管理方法的步骤。
为实现上述目的,本发明实施例第四方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任意一种基于图的RDF数据管理方法的步骤。
根据本发明实施例提供的基于图的RDF数据管理方法、装置及存储介质,基于待存储RDF数据创建RDF图,待存储RDF数据中所有三元组的各元素均对应于RDF图上的一个节点;将三元组中各元素所对应的各节点分别在SSD上不同存储单元中进行存储;在上级节点所存储的存储单元,将包括上级节点相对应的所有下级节点的物理存储地址的物理存储地址列表进行保存,以及将各节点与各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表。通过本发明的实施,将RDF数据转化为图数据来管理,更好的保留了RDF数据的结构特征,方便从任何节点探索数据,利于实现全面、可扩展的RDF数据管理,充分利用了SSD的高并行性,极大提高了在SSD上的数据管理性能。
本发明其他特征和相应的效果在说明书的后面部分进行阐述说明,且应当理解,至少部分效果从本发明说明书中的记载变的显而易见。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供的RDF数据管理方法的基本流程示意图;
图2为本发明第一实施例提供的RDF图;
图3为本发明第一实施例提供的另一种RDF数据管理方法的基本流程示意图;
图4为本发明第一实施例提供的RDF数据查询示意图;
图5为本发明第二实施例提供的RDF数据管理装置的结构示意图;
图6为本发明第三实施例提供的电子装置的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一实施例:
为了解决相关技术中将RDF数据随机存储在SSD上的空闲存储单元,所导致的SSD性能未得到充分发挥,以及基于SSD的数据管理性能较低的技术问题,本实施例提出了一种基于图的RDF数据管理方法,应用于具有多个存储单元的SSD。如图1所示为本实施例提供的基于图的RDF数据管理方法的基本流程示意图,本实施例提出的基于图的RDF数据管理方法包括以下的步骤:
步骤101、基于待存储RDF数据创建RDF图;待存储RDF数据中所有三元组的各元素均对应于RDF图上的一个节点。
具体的,RDF数据中包含多个资源描述,而一个资源描述是由多个语句构成,一个语句是由资源、属性、属性值构成的三元组。资源描述中的语句可以对应于自然语言的语句,资源对应于自然语言中的主语,属性对应于谓语,属性值对应于宾语,在RDF术语中一个三元组可以表示为(主语,谓语,宾语),也即(s,p,o)。一个RDF数据集可以被描述为一个RDF图,如图2所示为本实施例提供的RDF图,该RDF图为一个有向标签图,主语和宾语描述为RDF图中相邻的两个顶点,宾语描述为RDF图中相邻的两个顶点之间的有向边,顶点和有向边均可认为是RDF图上的一个节点。
步骤102、将三元组中各元素所对应的各节点,分别在SSD上物理存储地址不同的存储单元中进行存储。
具体的,本实施例中将每个三元组中主语、谓语以及宾语所对应的节点分别存储在不同的存储单元中。另外,还应当说明的是,为了更好的利用SSD的并行性,以及保证存储空间的利用率,本实施例中可以将整个RDF图划分为多个固定数据量大小的子图,然后将数据量大小相等的子图存储在不同存储单元中。
步骤103、在上级节点所存储的存储单元,将包括上级节点相对应的所有下级节点的物理存储地址的物理存储地址列表进行保存,以及将各节点与各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表;三元组的宾语为谓语的下级节点,谓语为主语的下级节点。
具体的,本实施例中,在每个节点所存储的存储单元,维护该节点的下级节点的物理存储地址列表,物理存储地址列表中包括该节点的所有下级节点的物理存储地址。应当说明的是,主语、谓语、宾语所对应的节点的节点等级逐级降低。此外,还应当理解的是,为了实现各节点的定位,本实施例中还基于各节点及其物理存储地址的对应关系,生成节点地址索引表。此外,在优选的实施方式中,为了充分利用SSD的并行处理能力,可以将多个节点并行的在不同存储单元进行存储大幅的提高了数据写入性能。
可选的,在将RDF数据存储之后,对于RDF数据的查询,请参阅如图3所示的本实施例提供的另一种RDF数据管理方法的基本流程示意图,具体包括以下步骤:
步骤301、在接收到RDF数据查询请求时,获取至少一个待查询三元组;待查询三元组中的已知元素为查询条件,待查询三元组中的未知元素为查询结果,已知元素至少包括待查询三元组中节点等级最高的主语;
步骤302、基于节点地址索引表查找对应于已知元素的物理存储地址;
步骤303、从已知元素的物理存储地址所存储的物理存储地址列表中,获取已知元素相对应的下级节点的物理存储地址,基于下级节点的物理存储地址查找已知元素相对应的下级节点,并基于下级节点得到查询结果。
具体的,基于前述的RDF数据存储策略,相对应的,本实施例中则基于上级节点来对下级节点进行查询,本实施例中的待查询三元组中在已知元素为主语时,可以基于主语来查询得到下级节点所对应的谓语,然后基于谓语继续查询得到更下一级节点所对应的宾语,而若待查询三元组的已知元素同时包括主语和谓语时,则直接根据谓语来查询得到其下级节点所对应的宾语。如图4所示为本实施例提供的RDF数据查询示意图,以通过上级节点Var查找其下级节点为例,先通过节点地址索引表查找已知元素Var的物理存储地址(Channel#0,Flash#0,Page#0),然后在(Channel#0,Flash#0,Page#0)的物理存储地址列表中获取Var所对应的下级节点的物理存储地址(Channel#1,Flash#0,Page#0),并将(Channel#1,Flash#0,Page#0)所有下级节点进行加载,得到查询结果。从而在本实施例中,只要通过一个已知节点,即可获得所有相关联的节点数据,数据查询性能好。
可选的,在待查询三元组有多个时,基于节点地址索引表查找对应于已知元素的物理存储地址包括:基于节点地址索引表,分别查找对应于各待查询三元组中已知元素的物理存储地址。对应的,从已知元素的物理存储地址所存储的物理存储地址列表中,获取已知元素相对应的下级节点的物理存储地址,基于下级节点的物理存储地址查找已知元素相对应的下级节点,并基于下级节点得到查询结果包括:从各已知元素的物理存储地址所存储的物理存储地址列表中,分别获取各已知元素相对应的下级节点的物理存储地址,然后并行加载各下级节点的物理存储地址所存储的数据,查找各已知元素相对应的下级节点,并基于下级节点得到多个查询结果。
具体的,在查询数据量较大,也即所需查询的三元组有多个时,可以并行的处理数据查询,也即并行的查询各待查询三元组中已知的上级节点的物理存储地址,然后根据所得到的物理存储地址所存储的物理存储地址列表中并行查找各上级节点的下级节点的物理存储地址,最后再从各下级节点的物理存储地址并行加载数据,得到多个查询结果,更好的利用了SSD的并行性能,并提高了数据查询效率。
可选的,在将RDF数据存储之后,当对RDF数据进行添加时,具体包括:在接收到RDF数据添加请求时,查找待添加三元组的各元素所对应的节点在节点地址索引表中是否存在;若是,则在待添加三元组中的上级节点所对应的物理存储地址列表中,添加待添加三元组中的下级节点的物理存储地址;若否,则分别将待添加三元组中的各节点存储于SSD上的不同存储单元,并在待添加三元组的上级节点所存储的存储单元,将包括待添加三元组的下级节点的物理存储地址的物理存储地址列表进行保存,以及将待添加三元组中的各节点与所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表。
具体的,在本实施例中,需要在当前的RDF图基础上新增数据时,所新增三元组中各节点数据在原始RDF图上已经存在,则直接在新增数据的上级节点所维护的物理存储地址列表中添加下级节点的物理存储地址即可;而若新增数据中的各节点数据均为新节点,则首先将各节点分别存储于不同存储单元,然后再将各节点的物理存储地址添加至节点地址索引表,并在各上级节点所维护的物理存储地址列表保存其下级节点的物理存储地址。
可选的,在将RDF数据存储之后,当对RDF数据进行更新时,具体包括:在接收到RDF数据更新请求时,确定待更新三元组所对应的存储于SSD上的原始三元组;基于待更新三元组中的元素对原始三元组中元素所对应的节点进行更新,并基于所更新的元素,对物理存储地址列表以及节点地址索引表进行更新。
具体的,虽然在不是只读的情况下可以合理地假设大多数RDF存储是查询密集型的(例如,生命科学中的大型参考存储库),但是在某些情况下仍需要进行数据的更新操作,也即对现有数据进行修改,更新数据解释。在本实施例中进行数据更新时,仅需找到所需修改的元素所对应的节点的物理存储地址,参考待更新三元组中的元素将对应节点进行修改,然后再将物理存储地址列表中以及节点地址索引表中涉及到更新的节点的物理存储地址均进行适应性修改。
可选的,在将RDF数据存储之后,当对RDF数据进行删除时,具体包括:在接收到RDF数据删除请求时,确定待删除三元组中各元素所对应的节点是否还关联于其它三元组;若是,则将待删除三元组中还关联于其它三元组的上级节点相对应的物理存储地址列表中,下级节点的物理存储地址进行删除;若否,则将待删除三元组中还关联于其它三元组的节点进行删除,并将物理存储地址列表以及节点地址索引表中,所记录的还关联于其它三元组的节点的物理存储地址进行删除。
具体的,本实施例中在进行数据删除时,需要确定各待删除节点是否除了具有待删除三元组内部各节点的关联性之外,是否还同时处于其它三元组内而与其它节点具有关联性,如果是,那么则保留待删除三元组中各元素所对应的节点数据,仅将待删除三元组中各上级节点所维护的物理存储地址列表中,待删除的下级节点的物理存储地址删除即可;如果不是,则直接将待删除三元组中各元素所对应的节点数据删除,并将物理存储地址列表以及节点地址索引表中所涉及的待删除节点的物理存储地址均进行删除。
根据本发明实施例提供的基于图的RDF数据管理方法,基于待存储RDF数据创建RDF图,待存储RDF数据中所有三元组的各元素均对应于RDF图上的一个节点;将三元组中各元素所对应的各节点分别在SSD上不同存储单元中进行存储;在上级节点所存储的存储单元,将包括上级节点相对应的所有下级节点的物理存储地址的物理存储地址列表进行保存,以及将各节点与各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表。通过本发明的实施,将RDF数据转化为图数据来管理,更好的保留了RDF数据的结构特征,方便从任何节点探索数据,利于实现全面、可扩展的RDF数据管理,充分利用了SSD的高并行性,极大提高了在SSD上的数据管理性能。
第二实施例:
为了解决相关技术中将RDF数据随机存储在SSD上的空闲存储单元,所导致的SSD性能未得到充分发挥,以及基于SSD的数据管理性能较低的技术问题,本实施例示出了一种基于图的RDF数据管理装置,应用于具有多个存储单元的SSD。具体请参见图5,本实施例的RDF数据管理装置包括:
创建模块501,用于基于待存储RDF数据创建RDF图;待存储RDF数据中所有三元组的各元素均对应于RDF图上的一个节点;
存储模块502,用于将三元组中各元素所对应的各节点,分别在SSD上物理存储地址不同的存储单元中进行存储;
保存模块503,用于在上级节点所存储的存储单元,将包括上级节点相对应的所有下级节点的物理存储地址的物理存储地址列表进行保存,以及将各节点与各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表;三元组的宾语为谓语的下级节点,谓语为主语的下级节点。
具体的,在本实施例中,一个RDF数据集可以被描述为一个RDF图,该RDF图为一个有向标签图,RDF数据中三元组的主语和宾语描述为RDF图中相邻的两个顶点,宾语描述为RDF图中相邻的两个顶点之间的有向边,顶点和有向边均可认为是RDF图上的一个节点。本实施例中将每个三元组中主语、谓语以及宾语所对应的节点分别存储在不同的存储单元中,然后,在每个节点所存储的存储单元,维护该节点的下级节点的物理存储地址列表,物理存储地址列表中包括该节点的所有下级节点的物理存储地址,其中,主语、谓语、宾语所对应的节点的节点等级逐级降低。另外,为了实现各节点的定位,本实施例中还基于各节点及其物理存储地址的对应关系,生成节点地址索引表。
在本实施例的一些实施方式中,RDF数据管理装置还包括:查询模块,用于在接收到RDF数据查询请求时,获取至少一个待查询三元组;待查询三元组中的已知元素为查询条件,待查询三元组中的未知元素为查询结果,已知元素至少包括待查询三元组中节点等级最高的主语;基于节点地址索引表查找对应于已知元素的物理存储地址;从已知元素的物理存储地址所存储的物理存储地址列表中,获取已知元素相对应的下级节点的物理存储地址,基于下级节点的物理存储地址查找已知元素相对应的下级节点,并基于下级节点得到查询结果。
进一步地,在本实施例的一些实施方式中,在待查询三元组有多个时,查询模块具体用于基于节点地址索引表,分别查找对应于各待查询三元组中已知元素的物理存储地址;从各已知元素的物理存储地址所存储的物理存储地址列表中,分别获取各已知元素相对应的下级节点的物理存储地址,然后并行加载各下级节点的物理存储地址所存储的数据,查找各已知元素相对应的下级节点,并基于下级节点得到多个查询结果。
在本实施例的另一些实施方式中,RDF数据管理装置还包括:添加模块,用于在接收到RDF数据添加请求时,查找待添加三元组的各元素所对应的节点在节点地址索引表中是否存在;若是,则在待添加三元组中的上级节点所对应的物理存储地址列表中,添加待添加三元组中的下级节点的物理存储地址;若否,则分别将待添加三元组中的各节点存储于SSD上的不同存储单元,并在待添加三元组的上级节点所存储的存储单元,将包括待添加三元组的下级节点的物理存储地址的物理存储地址列表进行保存,以及将待添加三元组中的各节点与所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表。
在本实施例的一些实施方式中,RDF数据管理装置还包括:更新模块,用于在接收到RDF数据更新请求时,确定待更新三元组所对应的存储于SSD上的原始三元组;基于待更新三元组中的元素对原始三元组中元素所对应的节点进行更新,并基于所更新的元素,对物理存储地址列表以及节点地址索引表进行更新。
在本实施例的一些实施方式中,RDF数据管理装置还包括:删除模块,用于在接收到RDF数据删除请求时,确定待删除三元组中各元素所对应的节点是否还关联于其它三元组;若是,则将待删除三元组中还关联于其它三元组的上级节点相对应的物理存储地址列表中,下级节点的物理存储地址进行删除;若否,则将待删除三元组中还关联于其它三元组的节点进行删除,并将物理存储地址列表以及节点地址索引表中,所记录的还关联于其它三元组的节点的物理存储地址进行删除。
应当说明的是,前述实施例中的基于图的RDF数据管理方法均可基于本实施例提供的基于图的RDF数据管理装置实现,所属领域的普通技术人员可以清楚的了解到,为描述的方便和简洁,本实施例中所描述的基于图的RDF数据管理装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
采用本实施例提供的基于图的RDF数据管理装置,基于待存储RDF数据创建RDF图,待存储RDF数据中所有三元组的各元素均对应于RDF图上的一个节点;将三元组中各元素所对应的各节点分别在SSD上不同存储单元中进行存储;在上级节点所存储的存储单元,将包括上级节点相对应的所有下级节点的物理存储地址的物理存储地址列表进行保存,以及将各节点与各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表。通过本发明的实施,将RDF数据转化为图数据来管理,更好的保留了RDF数据的结构特征,方便从任何节点探索数据,利于实现全面、可扩展的RDF数据管理,充分利用了SSD的高并行性,极大提高了在SSD上的数据管理性能。
第三实施例:
本实施例提供了一种电子装置,参见图6所示,其包括处理器601、存储器602及通信总线603,其中:通信总线603用于实现处理器601和存储器602之间的连接通信;处理器601用于执行存储器602中存储的一个或者多个计算机程序,以实现上述实施例一中的基于图的RDF数据管理方法中的至少一个步骤。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以实现上述实施例一中的方法的至少一个步骤。
本实施例还提供了一种计算机程序,该计算机程序可以分布在计算机可读介质上,由可计算装置来执行,以实现上述实施例一中的方法的至少一个步骤;并且在某些情况下,可以采用不同于上述实施例所描述的顺序执行所示出或描述的至少一个步骤。
本实施例还提供了一种计算机程序产品,包括计算机可读装置,该计算机可读装置上存储有如上所示的计算机程序。本实施例中该计算机可读装置可包括如上所示的计算机可读存储介质。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种基于图的RDF数据管理方法,其特征在于,包括:
基于待存储RDF数据创建RDF图;所述待存储RDF数据中所有三元组的各元素均对应于所述RDF图上的一个节点;
将所述三元组中各元素所对应的各节点,分别在所述SSD上物理存储地址不同的存储单元中进行存储;
在上级节点所存储的存储单元,将包括所述上级节点相对应的所有下级节点的物理存储地址的物理存储地址列表进行保存,以及将各节点与所述各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表;所述三元组的宾语为谓语的下级节点,所述谓语为主语的下级节点。
2.如权利要求1所述的基于图的RDF数据管理方法,其特征在于,在将各节点与所述各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表之后,还包括:
在接收到RDF数据查询请求时,获取至少一个待查询三元组;所述待查询三元组中的已知元素为查询条件,所述待查询三元组中的未知元素为查询结果,所述已知元素至少包括所述待查询三元组中节点等级最高的主语;
基于所述节点地址索引表查找对应于所述已知元素的物理存储地址;
从所述已知元素的物理存储地址所存储的物理存储地址列表中,获取所述已知元素相对应的下级节点的物理存储地址,基于所述下级节点的物理存储地址查找所述已知元素相对应的下级节点,并基于所述下级节点得到所述查询结果。
3.如权利要求2所述的基于图的RDF数据管理方法,其特征在于,在所述待查询三元组有多个时,所述基于所述节点地址索引表查找对应于所述已知元素的物理存储地址包括:
基于所述节点地址索引表,分别查找对应于各所述待查询三元组中已知元素的物理存储地址;
所述从所述已知元素的物理存储地址所存储的物理存储地址列表中,获取所述已知元素相对应的下级节点的物理存储地址,基于所述下级节点的物理存储地址查找所述已知元素相对应的下级节点,并基于所述下级节点得到所述查询结果包括:
从各所述已知元素的物理存储地址所存储的物理存储地址列表中,分别获取各所述已知元素相对应的下级节点的物理存储地址,然后并行加载各所述下级节点的物理存储地址所存储的数据,查找各所述已知元素相对应的下级节点,并基于所述下级节点得到多个所述查询结果。
4.如权利要求1所述的基于图的RDF数据管理方法,其特征在于,在将各节点与所述各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表之后,还包括:
在接收到RDF数据添加请求时,查找待添加三元组的各元素所对应的节点在所述节点地址索引表中是否存在;
若是,则在所述待添加三元组中的上级节点所对应的物理存储地址列表中,添加所述待添加三元组中的下级节点的物理存储地址;
若否,则分别将所述待添加三元组中的各节点存储于所述SSD上的不同存储单元,并在所述待添加三元组的上级节点所存储的存储单元,将包括所述待添加三元组的下级节点的物理存储地址的物理存储地址列表进行保存,以及将所述待添加三元组中的各节点与所存储的存储单元的物理存储地址的对应关系,保存至所述节点地址索引表。
5.如权利要求1所述的基于图的RDF数据管理方法,其特征在于,在将各节点与所述各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表之后,还包括:
在接收到RDF数据更新请求时,确定待更新三元组所对应的存储于所述SSD上的原始三元组;
基于所述待更新三元组中的元素对所述原始三元组中元素所对应的节点进行更新,并基于所更新的元素,对所述物理存储地址列表以及节点地址索引表进行更新。
6.如权利要求1所述的基于图的RDF数据管理方法,其特征在于,在将各节点与所述各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表之后,还包括:
在接收到RDF数据删除请求时,确定待删除三元组中各元素所对应的节点是否还关联于其它三元组;
若是,则将所述待删除三元组中还关联于其它三元组的上级节点相对应的物理存储地址列表中,下级节点的物理存储地址进行删除;
若否,则将所述待删除三元组中还关联于其它三元组的节点进行删除,并将所述物理存储地址列表以及所述节点地址索引表中,所记录的还关联于其它三元组的节点的物理存储地址进行删除。
7.一种基于图的RDF数据管理装置,其特征在于,包括:
创建模块,用于基于待存储RDF数据创建RDF图;所述待存储RDF数据中所有三元组的各元素均对应于所述RDF图上的一个节点;
存储模块,用于将所述三元组中各元素所对应的各节点,分别在所述SSD上物理存储地址不同的存储单元中进行存储;
保存模块,用于在上级节点所存储的存储单元,将包括所述上级节点相对应的所有下级节点的物理存储地址的物理存储地址列表进行保存,以及将各节点与所述各节点所存储的存储单元的物理存储地址的对应关系,保存至节点地址索引表;所述三元组的宾语为谓语的下级节点,所述谓语为主语的下级节点。
8.如权利要求7所述的基于图的RDF数据管理装置,其特征在于,还包括:查询模块,用于在接收到RDF数据查询请求时,获取至少一个待查询三元组;所述待查询三元组中的已知元素为查询条件,所述待查询三元组中的未知元素为查询结果,所述已知元素至少包括所述待查询三元组中节点等级最高的主语;基于所述节点地址索引表查找对应于所述已知元素的物理存储地址;从所述已知元素的物理存储地址所存储的物理存储地址列表中,获取所述已知元素相对应的下级节点的物理存储地址,基于所述下级节点的物理存储地址查找所述已知元素相对应的下级节点,并基于所述下级节点得到所述查询结果。
9.一种电子装置,其特征在于,包括:处理器、存储器和通信总线;
所述通信总线用于实现所述处理器和存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的一个或者多个程序,以实现如权利要求1至6中任意一项所述的基于图的RDF数据管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至6中任意一项所述的基于图的RDF数据管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910389293.XA CN110110034A (zh) | 2019-05-10 | 2019-05-10 | 一种基于图的rdf数据管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910389293.XA CN110110034A (zh) | 2019-05-10 | 2019-05-10 | 一种基于图的rdf数据管理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110110034A true CN110110034A (zh) | 2019-08-09 |
Family
ID=67489353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910389293.XA Pending CN110110034A (zh) | 2019-05-10 | 2019-05-10 | 一种基于图的rdf数据管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110110034A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256886A (zh) * | 2020-10-23 | 2021-01-22 | 平安科技(深圳)有限公司 | 图谱中的概率计算方法、装置、计算机设备及存储介质 |
CN113253926A (zh) * | 2021-05-06 | 2021-08-13 | 天津大学深圳研究院 | 提升新型存储器的查询和存储性能的存储内索引构建方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294710A (zh) * | 2012-02-28 | 2013-09-11 | 北京新媒传信科技有限公司 | 一种数据存取方法和装置 |
CN103617276A (zh) * | 2013-12-09 | 2014-03-05 | 南京大学 | 一种分布式层次化的rdf数据的存储方法 |
CN103778251A (zh) * | 2014-02-19 | 2014-05-07 | 天津大学 | 面向大规模rdf图数据的sparql并行查询方法 |
CN104679764A (zh) * | 2013-11-28 | 2015-06-03 | 方正信息产业控股有限公司 | 一种图数据检索方法和装置 |
CN106156319A (zh) * | 2016-07-05 | 2016-11-23 | 北京航空航天大学 | 可伸缩的分布式的资源描述框架数据存储方法及装置 |
CN107038234A (zh) * | 2017-04-17 | 2017-08-11 | 天津大学 | 一种基于rdf图数据和关系数据的路径查询框架 |
CN107291807A (zh) * | 2017-05-16 | 2017-10-24 | 中国科学院计算机网络信息中心 | 一种基于图遍历的sparql查询优化方法 |
US20170316110A1 (en) * | 2013-01-29 | 2017-11-02 | Oracle International Corporation | Publishing rdf quads as relational views |
CN109344259A (zh) * | 2018-07-20 | 2019-02-15 | 西安交通大学 | 一种基于多层划分框架的rdf分布式存储方法 |
KR101972127B1 (ko) * | 2018-11-30 | 2019-04-25 | 주식회사 피씨엔 | Rdf 트리플 테이터 기반의 지능형 검색 시스템 및 그 방법 |
-
2019
- 2019-05-10 CN CN201910389293.XA patent/CN110110034A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294710A (zh) * | 2012-02-28 | 2013-09-11 | 北京新媒传信科技有限公司 | 一种数据存取方法和装置 |
US20170316110A1 (en) * | 2013-01-29 | 2017-11-02 | Oracle International Corporation | Publishing rdf quads as relational views |
CN104679764A (zh) * | 2013-11-28 | 2015-06-03 | 方正信息产业控股有限公司 | 一种图数据检索方法和装置 |
CN103617276A (zh) * | 2013-12-09 | 2014-03-05 | 南京大学 | 一种分布式层次化的rdf数据的存储方法 |
CN103778251A (zh) * | 2014-02-19 | 2014-05-07 | 天津大学 | 面向大规模rdf图数据的sparql并行查询方法 |
CN106156319A (zh) * | 2016-07-05 | 2016-11-23 | 北京航空航天大学 | 可伸缩的分布式的资源描述框架数据存储方法及装置 |
CN107038234A (zh) * | 2017-04-17 | 2017-08-11 | 天津大学 | 一种基于rdf图数据和关系数据的路径查询框架 |
CN107291807A (zh) * | 2017-05-16 | 2017-10-24 | 中国科学院计算机网络信息中心 | 一种基于图遍历的sparql查询优化方法 |
CN109344259A (zh) * | 2018-07-20 | 2019-02-15 | 西安交通大学 | 一种基于多层划分框架的rdf分布式存储方法 |
KR101972127B1 (ko) * | 2018-11-30 | 2019-04-25 | 주식회사 피씨엔 | Rdf 트리플 테이터 기반의 지능형 검색 시스템 및 그 방법 |
Non-Patent Citations (3)
Title |
---|
冯志杰: "面向大规模RDF数据的混合分布式存储方案研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
姜龙翔等: "一种大规模RDF语义数据的分布式存储方案", 《计算机应用与软件》 * |
崔义童等: "基于图聚类算法的大规模RDF数据查询方法研究", 《小型微型计算机***》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256886A (zh) * | 2020-10-23 | 2021-01-22 | 平安科技(深圳)有限公司 | 图谱中的概率计算方法、装置、计算机设备及存储介质 |
CN112256886B (zh) * | 2020-10-23 | 2023-06-27 | 平安科技(深圳)有限公司 | 图谱中的概率计算方法、装置、计算机设备及存储介质 |
CN113253926A (zh) * | 2021-05-06 | 2021-08-13 | 天津大学深圳研究院 | 提升新型存储器的查询和存储性能的存储内索引构建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825748B (zh) | 利用差异化索引机制的高性能和易扩展的键值存储方法 | |
CN109933570B (zh) | 一种元数据管理方法、***及介质 | |
US9858303B2 (en) | In-memory latch-free index structure | |
CN105574093B (zh) | 一种在基于HDFS的spark-sql大数据处理***上建立索引的方法 | |
CN103229173B (zh) | 元数据管理方法及*** | |
CN110134335A (zh) | 一种基于键值对的rdf数据管理方法、装置及存储介质 | |
US20160283538A1 (en) | Fast multi-tier indexing supporting dynamic update | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
CN103229164B (zh) | 数据访问方法和装置 | |
CN105117417A (zh) | 一种读优化的内存数据库Trie树索引方法 | |
US9977801B2 (en) | Paged column dictionary | |
CN109521959A (zh) | 一种基于ssd-smr磁盘混合键值存储***数据组织方法 | |
US20240086332A1 (en) | Data processing method and system, device, and medium | |
Amur et al. | Design of a write-optimized data store | |
CN104598652B (zh) | 一种数据库查询方法及装置 | |
CN110110034A (zh) | 一种基于图的rdf数据管理方法、装置及存储介质 | |
US20190303421A1 (en) | Histogram sketching for time-series data | |
US8954688B2 (en) | Handling storage pages in a database system | |
CN110096515A (zh) | 一种基于三元组的rdf数据管理方法、装置及存储介质 | |
US20210349918A1 (en) | Methods and apparatus to partition a database | |
US11080332B1 (en) | Flexible indexing for graph databases | |
CN107273443B (zh) | 一种基于大数据模型元数据的混合索引方法 | |
US11221788B2 (en) | Data storage method and data storage engine | |
JP6006740B2 (ja) | インデックス管理装置 | |
US10762139B1 (en) | Method and system for managing a document search index |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190809 |
|
RJ01 | Rejection of invention patent application after publication |