CN110096515A - 一种基于三元组的rdf数据管理方法、装置及存储介质 - Google Patents
一种基于三元组的rdf数据管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110096515A CN110096515A CN201910389294.4A CN201910389294A CN110096515A CN 110096515 A CN110096515 A CN 110096515A CN 201910389294 A CN201910389294 A CN 201910389294A CN 110096515 A CN110096515 A CN 110096515A
- Authority
- CN
- China
- Prior art keywords
- triple
- stored
- major key
- rdf data
- address
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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/24569—Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
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)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于三元组的RDF数据管理方法、装置及存储介质,将RDF数据中的各三元组通过调整主键类型的方式,生成三种类型的待存储三元组,三种类型的待存储三元组包括以主语为主键的三元组、以谓语为主键的三元组以及以宾语为主键的三元组;将各三元组的三种类型的待存储三元组,分别存储于SSD上物理存储地址不同的存储单元中;将各待存储三元组的主键与待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表。通过本发明的实施,将每个三元组数据按不同组织形式在SSD上存储三份,充分利用了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数据中的各三元组通过调整主键类型的方式,生成三种类型的待存储三元组;所述三种类型的待存储三元组包括以主语为主键的三元组、以谓语为主键的三元组以及以宾语为主键的三元组;
将所述各三元组的所述三种类型的待存储三元组,分别存储于所述SSD上物理存储地址不同的存储单元中;
将各待存储三元组的主键与所述待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表。
为实现上述目的,本发明实施例第二方面提供了一种基于三元组的RDF数据管理装置,该装置包括:
生成模块,用于将RDF数据中的各三元组通过调整主键类型的方式,生成三种类型的待存储三元组;所述三种类型的待存储三元组包括以主语为主键的三元组、以谓语为主键的三元组以及以宾语为主键的三元组;
存储模块,用于将所述各三元组的所述三种类型的待存储三元组,分别存储于所述SSD上物理存储地址不同的存储单元中;
保存模块,用于将各待存储三元组的主键与所述待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表。
为实现上述目的,本发明实施例第三方面提供了一种电子装置,该电子装置包括:处理器、存储器和通信总线;
所述通信总线用于实现所述处理器和存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的一个或者多个程序,以实现上述任意一种基于三元组的RDF数据管理方法的步骤。
为实现上述目的,本发明实施例第四方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任意一种基于三元组的RDF数据管理方法的步骤。
根据本发明实施例提供的基于三元组的RDF数据管理方法、装置及存储介质,将RDF数据中的各三元组通过调整主键类型的方式,生成三种类型的待存储三元组,三种类型的待存储三元组包括以主语为主键的三元组、以谓语为主键的三元组以及以宾语为主键的三元组;将各三元组的三种类型的待存储三元组,分别存储于SSD上物理存储地址不同的存储单元中;将各待存储三元组的主键与待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表。通过本发明的实施,将每个三元组数据按不同组织形式在SSD上存储三份,充分利用了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术语中一个三元组可以表示为(主语,谓语,宾语),也即(s,p,o)。其中每个三元组中的第一个元素在本实施例中称为主键,本实施例针对每个三元组,通过调整主键类型可以得到三种形式不同的三元组,也即分别以主语、谓语和宾语为主键的三元组,分别表示为:(s,p,o)、(p,s,o)和(o,s,p),从而,针对每个三元组均生成三个元素相同但组合形式不同的待存储三元组。
步骤102、将各三元组的三种类型的待存储三元组,分别存储于SSD上物理存储地址不同的存储单元中。
具体的,在本实施例中,在同一存储单元中,所存储的均是主键类型相同的待存储三元组存储,也即针对同一元数据,所生成的分别以主语、谓语以及宾语为主键的待存储三元组,分别存储于不同的存储单元之中。应当说明的是,本实施例中将待存储RDF数据按照数据大小进行分组,从而每个存储单元中所存储的三元组的数据大小相等,可以避免存储单元中无意义的填充,充分利用存储空间,并且不同型号的SSD型号均适用。
如图2所示为本实施例提供的一种RDF数据的存储示意图,(s,p,o)存储模式的数据根据闪存物理页的大小(如组编号1、2)进行分组。当编号1和2的数据存储请求到达SSD控制器时,为了充分利用底层flash的并行资源,请求1,2的三元组集合被分别存储到(Channel#0,Flash#0,Page#0)和(Channel#1,Flash#0,Page#0)。同理,基于(p,s,o)的RDF存储模式,编号3和4则分别存储在(Channel#0,Flash#1,Page#0)和(Channel#1,Flash#1,Page#0)中。当然,基于(o,s,p)存储模式的也同理,将编号5的三元组集合存储于(Channel#0,Flash#0,Page#1)中。
可选的,在将各三元组的三种类型的待存储三元组,分别存储于SSD上物理存储地址不同的存储单元中之后,还包括:将存储于同一存储单元中类型相同的所有待存储三元组,按照预设的排序规则进行排序。
具体的,本实施例中为了进一步提高SSD中的数据管理性能,还将各存储单元中的所有三元组进行排序。例如在数据查询时,则可以根据排序规则指示数据查询,而不必总是需要将存储单元中的所有三元组均进行遍历才能输出查询结果,可有效提高查询效率。当然,在进行数据更新、删除、添加时,效率也同样显著提高。
应当说明的是,本实施例中的排序规则在一种实施方式中可以是,在同一存储单元中,若同一类型的主键所具体表达的内容有多种,那么在主键为英文表达时,将三元组按照主键首字母在字母表中的先后顺序进行排序,具体请见图2中(Channel#0,Flash#0,Page#0),在主键为数字表达时,将三元组按照主键首个数字的大小顺序进行排序,具体请见图2中(Channel#0,Flash#0,Page#1);另外,若同一存储单元中,同一类型的主键的具体表达内容也相同,那么则按照主键后表达有所不同的元素进行前述英文/数字排序,在此不再赘述,例如图2中(Channel#0,Flash#1,Page#0)。
步骤103、将各待存储三元组的主键与待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表。
具体的,本实施例中基于主键类型来将待存储三元组存储于特定存储单元,主键类型与存储单元的物理存储地址具备索引关系,本实施例中将各三元组的索引关系保存在地址索引表中,以供后续数据管理使用。
可选的,在将RDF数据存储之后,对于RDF数据的查询,请参阅如图3所示的本实施例提供的另一种RDF数据管理方法的基本流程示意图,具体包括以下步骤:
步骤301、在接收到RDF数据查询请求时,获取至少一个待查询三元组;待查询三元组中的已知元素为查询条件,待查询三元组中的未知元素为查询结果,已知元素至少包括待查询三元组的主键;
步骤302、基于主键在地址索引表查找对应于主键的物理存储地址;
步骤303、将对应于物理存储地址的存储单元所存储的所有三元组进行加载,并基于已知元素从所加载的三元组中查找未知元素,得到查询结果。
具体的,本实施例中基于待查询三元组中已知的主键,在地址索引表中查到其对应的物理存储地址,然后对该物理存储地址所存储的所有三元组进行加载,然后基于已知元素来从这些三元组中找到相匹配的未知元素,输出查询结果。
可选的,在对应于主键的物理存储地址有多个时,将对应于物理存储地址的存储单元所存储的所有三元组进行加载包括:将对应于各物理存储地址的多个存储单元所存储的所有三元组,并行地进行加载。
应当说明的是,在本实施例中,在具有相同主键的三元组数量较多而分为多个物理存储地址的存储单元进行存储时,在数据查询过程中,为充分利用SSD的高并行处理能力,本实施例对各存储单元的所有三元组并行加载,以提高数据查询效率。请再次参阅图2,在基于以谓语“country”(缩写为“cou”)为主键进行RDF数据查询时,将在地址索引表中查到对应于该主键的所有RDF数据存储地址(Channel#0,Flash#1,Page#0)和(Channel#1,Flash#1,Page#0),然后并行地从SSD中的(Channel#0,Flash#1,Page#0)和(Channel#1,Flash#1,Page#0)加载数据并进行查询。
可选的,在将RDF数据存储之后,对于RDF数据的更新,请参阅如图4所示的本实施例提供的又一种RDF数据管理方法的基本流程示意图,具体包括以下步骤:
步骤401、在接收到RDF数据更新请求时,在SSD上新开辟一个存储单元;RDF数据更新请求用于指示对存储于SSD上的原始三元组进行更新;
步骤402、将对应于RDF数据更新请求的待更新三元组,存储于新开辟的存储单元;
步骤403、将待更新三元组的主键与新开辟的存储单元的物理存储地址的对应关系,保存至地址索引表。
具体的,虽然在不是只读的情况下可以合理地假设大多数RDF存储是查询密集型的(例如生命科学中的大型参考存储库),但是在某些情况下仍需要进行数据的更新操作。考虑到只需要进行极少的数据更新操作以及ssd高效的并行性能,不需要每次更新数据的时候都将所有数据重新排序,只需要在ssd中新开辟一个flash页面,记录对数据的更新操作,并且在更新数据时,将其flash地址保存到地址索引表中即可。
可选的,在将待更新三元组的主键与新开辟的存储单元的物理存储地址的对应关系,保存至地址索引表之后,还包括:确定当前是否满足预设的数据合并触发条件;在满足数据合并触发条件时,将所更新至新开辟的存储单元中的三元组以及相对应的原始三元组进行合并操作;基于合并操作结果对地址索引表进行更新。
具体的,当保存更新数据的flash物理页面存满后,再对所有数据进行合并操作,更新数据,重新排序,在更新索引表时,只将新开辟的flash页面添加到有更新操作的数据索引中。
可选的,数据合并触发条件包括:新开辟的存储单元被占满,和/或,距离上一次进行RDF数据更新所间隔时长到达预设的时长阈值。
具体的,在一种情况下,可以是在存储更新数据的存储单元被占满时,触发数据合并,将更新数据与所对应的原始数据进行合并;在另一种情况下,如果较长时间flash页面都没有进行合并操作,极端情况下每次查询都需要多查询一个flash页面数据,而且需要查询将结果进行合并,极大影响了读性能,基于此,本实施例除了设定负责更新的flash页面在存满数据时进行合并操作,还可以设定一个合并时长阈值,在距离上次更新时间达到该时长阈值后即进行合并操作,尽可能减少对读性能的影响。应当说明的是,在实际使用中可以根据数据库的实际大小和更新操作的频率来设定阈值,也可以使用多个flash页来记录更新数据,例如对于查询密集型数据库,因为其频繁更新数据,可以降低该时长阈值,减少无效查询,增加查询性能。在更新密集数据库中,开辟多个用于存储更新数据的存储单元可以大大提高数据管理性能。
根据本发明实施例提供的基于三元组的RDF数据管理方法,将RDF数据中的各三元组通过调整主键类型的方式,生成三种类型的待存储三元组,三种类型的待存储三元组包括以主语为主键的三元组、以谓语为主键的三元组以及以宾语为主键的三元组;将各三元组的三种类型的待存储三元组,分别存储于SSD上物理存储地址不同的存储单元中;将各待存储三元组的主键与待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表。通过本发明的实施,将每个三元组数据按不同组织形式在SSD上存储三份,充分利用了SSD的高并行性,极大提高了在SSD上的数据管理性能。
第二实施例:
为了解决相关技术中将RDF数据随机存储在SSD上的空闲存储单元,所导致的SSD性能未得到充分发挥,以及基于SSD的数据管理性能较低的技术问题,本实施例示出了一种基于三元组的RDF数据管理装置,应用于具有多个存储单元的SSD,具体请参见图5,本实施例的RDF数据管理装置包括:
生成模块501,用于将RDF数据中的各三元组通过调整主键类型的方式,生成三种类型的待存储三元组;三种类型的待存储三元组包括以主语为主键的三元组、以谓语为主键的三元组以及以宾语为主键的三元组;
存储模块502,用于将各三元组的三种类型的待存储三元组,分别存储于SSD上物理存储地址不同的存储单元中;
保存模块503,用于将各待存储三元组的主键与待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表。
具体的,本实施例针对每个三元组,通过调整主键类型可以得到三种形式不同的三元组,也即分别以主语、谓语和宾语为主键的三元组,分别表示为:(s,p,o)、(p,s,o)和(o,s,p),从而,针对每个三元组均生成三个元素相同但组合形式不同的待存储三元组。然后,针对同一元数据,所生成的分别以主语、谓语以及宾语为主键的待存储三元组,分别存储于不同的存储单元之中。另外,由于本实施例中基于主键类型来将待存储三元组存储于特定存储单元,主键类型与存储单元的物理存储地址具备索引关系,从而本实施例中将各三元组的索引关系保存在地址索引表中,以供后续数据管理使用。
在本实施例的一些实施方式中,RDF数据管理装置还包括:排序模块,用于在将各三元组的三种类型的待存储三元组,分别存储于SSD上物理存储地址不同的存储单元中之后,将存储于同一存储单元中类型相同的所有待存储三元组,按照预设的排序规则进行排序。
在本实施例的一些实施方式中,RDF数据管理装置还包括:查询模块,用于在将各待存储三元组的主键与待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表之后,在接收到RDF数据查询请求时,获取至少一个待查询三元组;待查询三元组中的已知元素为查询条件,待查询三元组中的未知元素为查询结果,已知元素至少包括待查询三元组的主键;基于主键在地址索引表查找对应于主键的物理存储地址;将对应于物理存储地址的存储单元所存储的所有三元组进行加载,并基于已知元素从所加载的三元组中查找未知元素,得到查询结果。
进一步地,在本实施例的一些实施方式中,在对应于主键的物理存储地址有多个时,查询模块在将对应于物理存储地址的存储单元所存储的所有三元组进行加载时,具体用于将对应于各物理存储地址的多个存储单元所存储的所有三元组,并行地进行加载。
在本实施例的另一些实施方式中,RDF数据管理装置还包括:更新模块,用于在将各待存储三元组的主键与待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表之后,在接收到RDF数据更新请求时,在SSD上新开辟一个存储单元;RDF数据更新请求用于指示对存储于SSD上的原始三元组进行更新;将对应于RDF数据更新请求的待更新三元组,存储于新开辟的存储单元;将待更新三元组的主键与新开辟的存储单元的物理存储地址的对应关系,保存至地址索引表。
进一步地,在本实施例的一些实施方式中,RDF数据管理装置还包括:合并模块,用于在将待更新三元组的主键与新开辟的存储单元的物理存储地址的对应关系,保存至地址索引表之后,确定当前是否满足预设的数据合并触发条件;在满足数据合并触发条件时,将所更新至新开辟的存储单元中的三元组以及相对应的原始三元组进行合并操作;基于合并操作结果对地址索引表进行更新。
更进一步地,数据合并触发条件包括:新开辟的存储单元被占满,和/或,距离上一次进行RDF数据更新所间隔时长到达预设的时长阈值。
应当说明的是,前述实施例中的基于三元组的RDF数据管理方法均可基于本实施例提供的基于三元组的RDF数据管理装置实现,所属领域的普通技术人员可以清楚的了解到,为描述的方便和简洁,本实施例中所描述的基于三元组的RDF数据管理装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
采用本实施例提供的基于三元组的RDF数据管理装置,将RDF数据中的各三元组通过调整主键类型的方式,生成三种类型的待存储三元组,三种类型的待存储三元组包括以主语为主键的三元组、以谓语为主键的三元组以及以宾语为主键的三元组;将各三元组的三种类型的待存储三元组,分别存储于SSD上物理存储地址不同的存储单元中;将各待存储三元组的主键与待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表。通过本发明的实施,将每个三元组数据按不同组织形式在SSD上存储三份,充分利用了SSD的高并行性,极大提高了在SSD上的数据管理性能。
第三实施例:
本实施例提供了一种电子装置,参见图6所示,其包括处理器601、存储器602及通信总线603,其中:通信总线603用于实现处理器601和存储器602之间的连接通信;处理器601用于执行存储器602中存储的一个或者多个计算机程序,以实现上述实施例一中的基于三元组的RDF数据管理方法中的至少一个步骤。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically ErasableProgrammable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以实现上述实施例一中的方法的至少一个步骤。
本实施例还提供了一种计算机程序,该计算机程序可以分布在计算机可读介质上,由可计算装置来执行,以实现上述实施例一中的方法的至少一个步骤;并且在某些情况下,可以采用不同于上述实施例所描述的顺序执行所示出或描述的至少一个步骤。
本实施例还提供了一种计算机程序产品,包括计算机可读装置,该计算机可读装置上存储有如上所示的计算机程序。本实施例中该计算机可读装置可包括如上所示的计算机可读存储介质。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种基于三元组的RDF数据管理方法,其特征在于,包括:
将RDF数据中的各三元组通过调整主键类型的方式,生成三种类型的待存储三元组;所述三种类型的待存储三元组包括以主语为主键的三元组、以谓语为主键的三元组以及以宾语为主键的三元组;
将所述各三元组的所述三种类型的待存储三元组,分别存储于所述SSD上物理存储地址不同的存储单元中;
将各待存储三元组的主键与所述待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表。
2.如权利要求1所述的基于三元组的RDF数据管理方法,其特征在于,在将所述各三元组的所述三种类型的待存储三元组,分别存储于所述SSD上物理存储地址不同的存储单元中之后,还包括:
将存储于同一存储单元中类型相同的所有待存储三元组,按照预设的排序规则进行排序。
3.如权利要求1所述的基于三元组的RDF数据管理方法,其特征在于,在将各待存储三元组的主键与所述待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表之后,还包括:
在接收到RDF数据查询请求时,获取至少一个待查询三元组;所述待查询三元组中的已知元素为查询条件,所述待查询三元组中的未知元素为查询结果,所述已知元素至少包括所述待查询三元组的主键;
基于所述主键在所述地址索引表查找对应于所述主键的物理存储地址;
将对应于所述物理存储地址的存储单元所存储的所有三元组进行加载,并基于所述已知元素从所加载的三元组中查找所述未知元素,得到所述查询结果。
4.如权利要求3所述的基于三元组的RDF数据管理方法,其特征在于,在对应于所述主键的物理存储地址有多个时,所述将对应于所述物理存储地址的存储单元所存储的所有三元组进行加载包括:
将对应于各所述物理存储地址的多个存储单元所存储的所有三元组,并行地进行加载。
5.如权利要求1所述的基于三元组的RDF数据管理方法,其特征在于,在将各待存储三元组的主键与所述待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表之后,还包括:
在接收到RDF数据更新请求时,在所述SSD上新开辟一个存储单元;所述RDF数据更新请求用于指示对存储于所述SSD上的原始三元组进行更新;
将对应于所述RDF数据更新请求的待更新三元组,存储于新开辟的存储单元;
将所述待更新三元组的主键与所述新开辟的存储单元的物理存储地址的对应关系,保存至所述地址索引表。
6.如权利要求5所述的基于三元组的RDF数据管理方法,其特征在于,在将所述待更新三元组的主键与所述新开辟的存储单元的物理存储地址的对应关系,保存至所述地址索引表之后,还包括:
确定当前是否满足预设的数据合并触发条件;
在满足数据合并触发条件时,将所更新至所述新开辟的存储单元中的三元组以及相对应的所述原始三元组进行合并操作;
基于所述合并操作结果对所述地址索引表进行更新。
7.如权利要求6所述的基于三元组的RDF数据管理方法,其特征在于,所述数据合并触发条件包括:所述新开辟的存储单元被占满,和/或,距离上一次进行RDF数据更新所间隔时长到达预设的时长阈值。
8.一种基于三元组的RDF数据管理装置,其特征在于,包括:
生成模块,用于将RDF数据中的各三元组通过调整主键类型的方式,生成三种类型的待存储三元组;所述三种类型的待存储三元组包括以主语为主键的三元组、以谓语为主键的三元组以及以宾语为主键的三元组;
存储模块,用于将所述各三元组的所述三种类型的待存储三元组,分别存储于所述SSD上物理存储地址不同的存储单元中;
保存模块,用于将各待存储三元组的主键与所述待存储三元组所存储的物理存储地址的对应关系,保存至地址索引表。
9.一种电子装置,其特征在于,包括:处理器、存储器和通信总线;
所述通信总线用于实现所述处理器和存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的一个或者多个程序,以实现如权利要求1至7中任意一项所述的基于三元组的RDF数据管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至7中任意一项所述的基于三元组的RDF数据管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910389294.4A CN110096515A (zh) | 2019-05-10 | 2019-05-10 | 一种基于三元组的rdf数据管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910389294.4A CN110096515A (zh) | 2019-05-10 | 2019-05-10 | 一种基于三元组的rdf数据管理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110096515A true CN110096515A (zh) | 2019-08-06 |
Family
ID=67447667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910389294.4A Pending CN110096515A (zh) | 2019-05-10 | 2019-05-10 | 一种基于三元组的rdf数据管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096515A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380354A (zh) * | 2020-11-13 | 2021-02-19 | 哈尔滨工业大学 | 面向航天器总体设计的知识获取方法、装置及存储介质 |
CN113253926A (zh) * | 2021-05-06 | 2021-08-13 | 天津大学深圳研究院 | 提升新型存储器的查询和存储性能的存储内索引构建方法 |
EP3929761A1 (en) * | 2020-06-24 | 2021-12-29 | Nokia Solutions and Networks Oy | A graph database management system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294710A (zh) * | 2012-02-28 | 2013-09-11 | 北京新媒传信科技有限公司 | 一种数据存取方法和装置 |
CN103425734A (zh) * | 2012-02-23 | 2013-12-04 | 富士通株式会社 | 用于存储编码三元组的数据库控制器、方法及系统 |
CN105447156A (zh) * | 2015-11-30 | 2016-03-30 | 北京航空航天大学 | 资源描述框架分布式引擎及增量式更新方法 |
CN105608228A (zh) * | 2016-01-29 | 2016-05-25 | 中国科学院计算机网络信息中心 | 一种高效的分布式的rdf数据存储方法 |
CN106156319A (zh) * | 2016-07-05 | 2016-11-23 | 北京航空航天大学 | 可伸缩的分布式的资源描述框架数据存储方法及装置 |
CN106448630A (zh) * | 2016-09-09 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 歌曲的数字乐谱文件的生成方法和装置 |
US20170147707A1 (en) * | 2015-11-23 | 2017-05-25 | Electronics And Telecommunications Research Institute | Apparatus and method for managing graph data |
-
2019
- 2019-05-10 CN CN201910389294.4A patent/CN110096515A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425734A (zh) * | 2012-02-23 | 2013-12-04 | 富士通株式会社 | 用于存储编码三元组的数据库控制器、方法及系统 |
CN103294710A (zh) * | 2012-02-28 | 2013-09-11 | 北京新媒传信科技有限公司 | 一种数据存取方法和装置 |
US20170147707A1 (en) * | 2015-11-23 | 2017-05-25 | Electronics And Telecommunications Research Institute | Apparatus and method for managing graph data |
CN105447156A (zh) * | 2015-11-30 | 2016-03-30 | 北京航空航天大学 | 资源描述框架分布式引擎及增量式更新方法 |
CN105608228A (zh) * | 2016-01-29 | 2016-05-25 | 中国科学院计算机网络信息中心 | 一种高效的分布式的rdf数据存储方法 |
CN106156319A (zh) * | 2016-07-05 | 2016-11-23 | 北京航空航天大学 | 可伸缩的分布式的资源描述框架数据存储方法及装置 |
CN106448630A (zh) * | 2016-09-09 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 歌曲的数字乐谱文件的生成方法和装置 |
Non-Patent Citations (1)
Title |
---|
常宝娴: "一种基于分布式rough本体的语义相似度计算方法", 《扬州大学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3929761A1 (en) * | 2020-06-24 | 2021-12-29 | Nokia Solutions and Networks Oy | A graph database management system |
CN112380354A (zh) * | 2020-11-13 | 2021-02-19 | 哈尔滨工业大学 | 面向航天器总体设计的知识获取方法、装置及存储介质 |
CN113253926A (zh) * | 2021-05-06 | 2021-08-13 | 天津大学深圳研究院 | 提升新型存储器的查询和存储性能的存储内索引构建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3563268B1 (en) | Scalable database system for querying time-series data | |
Hashem et al. | MapReduce: Review and open challenges | |
US10360262B2 (en) | Optimizing sparse schema-less data in data stores | |
CN109933570B (zh) | 一种元数据管理方法、系统及介质 | |
LeFevre et al. | MISO: souping up big data query processing with a multistore system | |
US10509804B2 (en) | Method and apparatus for storing sparse graph data as multi-dimensional cluster | |
US10114908B2 (en) | Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data | |
CN106897322B (zh) | 一种数据库和文件系统的访问方法和装置 | |
US20170083573A1 (en) | Multi-query optimization | |
RU2663358C2 (ru) | Устройство и способ кластерного хранения | |
US20170193041A1 (en) | Document-partitioned secondary indexes in a sorted, distributed key/value data store | |
Hsieh et al. | SQLMR: A scalable database management system for cloud computing | |
US9229961B2 (en) | Database management delete efficiency | |
CN110096515A (zh) | 一种基于三元组的rdf数据管理方法、装置及存储介质 | |
US20130238628A1 (en) | Refreshing a full-text search index in a partitioned database | |
US10685031B2 (en) | Dynamic hash partitioning for large-scale database management systems | |
CN110134335A (zh) | 一种基于键值对的rdf数据管理方法、装置及存储介质 | |
CN109710668B (zh) | 一种多源异构数据访问中间件构建方法 | |
Tao et al. | Clustering massive small data for IOT | |
KR20150089544A (ko) | 혼용 워크로드 지원을 위한 데이터 관리 장치 및 데이터 관리 방법 | |
CN110110034A (zh) | 一种基于图的rdf数据管理方法、装置及存储介质 | |
US10762084B2 (en) | Distribute execution of user-defined function | |
Bradberry et al. | Practical Cassandra: a developer's approach | |
US20170357691A1 (en) | Managing Data Obsolescence in Relational Databases | |
Wu et al. | PABIRS: A data access middleware for distributed file systems |
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: 20190806 |
|
RJ01 | Rejection of invention patent application after publication |