资源描述框架分布式引擎及增量式更新方法技术

技术编号:13075190 阅读:32 留言:0更新日期:2016-03-30 10:49
本发明专利技术提供一种资源描述框架分布式引擎及增量式更新方法,RDF分布式引擎部署在计算机集群上,通过主节点接收查询语言和SPARQL语句,对SPARQL语句进行解析,以将其转换为查询子图,并从N个从节点中确定SPARQL语句中RDF数据的对应从节点,根据查询子图生成操作日志及执行计划,并将SPARQL语句、执行计划发送及操作日志发送至主节点中的备份管理器,将SPARQL语句与执行计划发送至对应节点,并对对应从节点上的数据进行备份,由对应从节点用于根据执行计划,通过增量式方式更新内存。该过程中,通过增加能够解析SPARQL语句的查询解析器,使RDF分布式引擎能够支持数据更新语句,从而支持动态数据源。

【技术实现步骤摘要】

本专利技术涉及语义网数据库检索技术,尤其涉及一种。
技术介绍
语义网(Semantic Web)通过给万维网上的文档,如超级文本标记语言(HyperTextMarkup Language,HTML)添加能够被计算机所理解的语义(Meta data),从而使整个互联网成为一个通用的信息交换媒介。资源描述框架(Resource Descript1n Framework,RDF)是描述万维网资源的标准模型。基于RDF数据进行语义网的研究过程中,通过搜索引擎,如分布式引擎TriAD对RDF数据进行存储和查询等。具体的,分布式搜索引擎TriAD采用关系型存储模型进行数据存储,对RDF数据模型进行优化,从而有自己的图数据剪枝、查询语言和数据获取协议(SimpleProtocol and RDF Query Language,SPARQL)语句预处理机制,具有较高的查询效率。然而,分布式引擎TriAD不支持动态数据源支持、并发请求处理、数据持久化策略等功能,无法满足多样化的RDF数据查询需求。
技术实现思路
本专利技术提供一种,提供一种支持RDF数据查询的同时,支持数据通过增量式方式更新到及数据持久化功能的资源描述框架分布式引擎,使其能够支持动态数据源。第一个方面,本专利技术实施例提供一种资源描述框架分布式引擎,所述资源描述框架RDF分布式引擎部署在计算机集群上,所述计算机集群包括一个主节点及N个从节点,N21且为整数,所述主节点包括:查询服务器、查询解析器、处理器、备份管理器,其中,所述查询服务器,用于接收查询语言和数据获取协议SPARQL语句,并将所述SPARQL语句发送至所述查询解析器;所述查询解析器,用于对所述SPARQL语句进行解析,以将所述SPARQL语句转换为查询子图;所述处理器,用于根据所述查询子图生成操作日志及执行计划,根据哈希映射规则,从所述N个从节点中确定所述SPARQL语句中RDF数据的对应从节点,并将所述SPARQL语句、所述执行计划发送及所述操作日志发送至所述备份管理器;所述备份管理器,用于根据所述操作日志,将所述SPARQL语句与所述执行计划发送至所述对应节点,并对所述对应从节点上的数据进行备份;所述对应从节点中的每一个从节点上设置内存,所述对应从节点用于根据所述执行计划,更新所述内存。可选的,所述处理器根据哈希映射规则,从所述N个从节点中确定所述SPARQL语句中RDF数据的对应从节点,包括:所述处理器根据所述RDF数据确定出三元组中的三个元素,对所述三元组中的三个元素进行排列组合,形成六种不同的三元组格式,所述六种不同的三元组格式对应六个索引,根据所述六个索引,从所述N个从节点中为所述RDF数据确定出1个或2个从节点,作为所述对应从节点,其中,所述三个元素为主体S,谓词P,客体0,所述六个索引分别为SP0,0PS,S0P,PS0,0SP,P0S;所述对应从节点具体用于将所述六个索引对应的数据更新到所述内存中。可选的,所述对应节点中的每一个从节点还设置持久化存储介质,所述管理备份单元还用于将已经更新到所述内存中的所述六个索引对应的数据,其中两个索引对应的数据通过增量式方式更新到所述持久化存储介质,其中,所述两个索引为所述SP0与所述0PS。可选的,所述对应节点中的每一个从节点还具有一个持久化存储介质,所述处理器确定出所述操作日志对应的更新数据未通过增量式方式更新到所述对应节点的持久化存储介质,则发送更新命令与所述更新数据至所述对应从节点;所述对应从节点根据所述更新命令,将所述更新数据更新至所述持久化存储介质。可选的,所述对应从节点为编号为{Smod N}的从节点与所述编号为{0 mod N}的从节点,其中,mod为求余操作,当所述S mod N与所述0 mod N相同时,所述SPARQL语句的对应从节点为1个。 可选的,所述SPARQL语句包括:插入语句,和/或,删除语句。可选的,所述主节点与所述N个从节点通过消息传递接口MPI进行数据传输。第二个方面,本专利技术实施例提供一种增量式更新方法,适用于部署在算机集群上的RH)分布式引擎,所述计算机集群包括一个主节点及N个从节点,N 2 1且为整数,该方法包括:主节点接收查询语言和数据获取协议SPARQL语句;所述主节点对所述SPARQL语句进行解析,以将所述SPARQL语句转换为查询子图;所述主节点从所述N个从节点中为所述SPARQL语句确定对应从节点,根据所述查询子图生成操作日志及执行计划;所述主节点根据所述查询子图生成操作日志及执行计划,根据哈希映射规则,从所述N个从节点中确定所述SPARQL语句中RDF数据的对应从节点,并对所述对应从节点上的数据进行备份,以使所述对应从节点根据所述执行计划,更新内存,所述对应从节点中的每一个从节点上设置所述内存。可选的,所述主节点根据哈希映射规则,从所述N个从节点中确定所述SPARQL语句中RDF数据的对应从节点,具体为:所述处理器根据所述RDF数据确定出三元组中的三个元素,对所述三元组中的三个元素进行排列组合,形成六种不同的三元组格式,所述六种不同的三元组格式对应六个索引,根据所述六个索引,从所述N个从节点中为所述SPARQL语句确定出1个或2个从节点,作为所述对应从节点,其中,所述三个元素为主体S,谓词P,客体0,所述六个索引分别为SP0,0PS,SOP,PS0,0SP,P0S,以使得所述对应从节点将所述六个索引对应的数据更新到所述内存中。可选的,所述对应节点中的每一个从节点还设置持久化存储介质;所述主节点还将已经更新到所述内存中的所述六个索引对应的数据,其中两个索引对应的数据通过增量式方式更新到所述持久化存储介质,其中,所述两个索引为所述SP0与所述0PS。本专利技术实施例提供的,RDF分布式引擎部署在包括一个主节点及N个从节点的计算机集群上,通过主节点接收查询语言和数据获取协议SPARQL语句,并对SPARQL语句进行解析,以将SPARQL语句转换为查询子图,并根据哈希映射规则,从N个从节点中确定SPARQL语句中RDF数据的对应从节点,根据查询子图生成操作日志及执行计划,并将SPARQL语句、执行计划发送及操作日志发送至主节点中的备份管理器,将SPARQL语句与执行计划发送至对应节点,并对对应从节点上的数据进行备份,由对应从节点用于根据执行计划,通过增量式方式更新内存。该过程中,通过增加能够解析SPARQL语句的查询解析器,使RDF分布式引擎能够支持数据更新语句,从而支持动态数据源,即支持对数据源的更改,而无需在更改数据源前后中断TriAD引擎的查询服务。【附图说明】图1为本专利技术RDF分布式引擎实施例一的结构不意图;图2为本专利技术RDF分布式引擎所适用的6个索引示意图;图3为本专利技术RDF分布式引擎所适用的索引分布规则示意图;图4为本专利技术一实施例提供的增量式更新方法的流程图。【具体实施方式】图1为本专利技术RDF分布式引擎实施例一的结构示意图。如图1所当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种资源描述框架分布式引擎,其特征在于,所述资源描述框架RDF分布式引擎部署在计算机集群上,所述计算机集群包括一个主节点及N个从节点,N≥1且为整数,所述主节点包括:查询服务器、查询解析器、处理器、备份管理器,其中,所述查询服务器,用于接收查询语言和数据获取协议SPARQL语句,并将所述SPARQL语句发送至所述查询解析器;所述查询解析器,用于对所述SPARQL语句进行解析,以将所述SPARQL语句转换为查询子图;所述处理器,用于根据所述查询子图生成操作日志及执行计划,根据哈希映射规则,从所述N个从节点中确定所述SPARQL语句中RDF数据的对应从节点,并将所述SPARQL语句、所述执行计划发送及所述操作日志发送至所述备份管理器;所述备份管理器,用于根据所述操作日志,将所述SPARQL语句与所述执行计划发送至所述对应节点,并对所述对应从节点上的数据进行备份;所述对应从节点中的每一个从节点上设置内存,所述对应从节点用于根据所述执行计划,更新所述内存。

【技术特征摘要】

【专利技术属性】
技术研发人员:胡春明翟烨李博许程
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1