当前位置: 首页 > 专利查询>福州大学专利>正文

基于Storm的RDF流式数据关键词实时搜索方法技术

技术编号:15691019 阅读:102 留言:0更新日期:2017-06-24 03:53
本发明专利技术涉及一种基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:包括Storm实时处理、Redis分布式存储和Storm实时查询;Storm实时处理的具体内容为:Storm的Spout组件接收并处理RDF本体和实例数据文件流,将处理后的RDF本体和实例数据文件流分布式存储至Redis哈希表中;所述Storm实时查询的具体内容为:客户端发送实时查询请求,服务端接收客户端的查询请求后,先检查查询缓存中是否已存在该查询请求的查询结果,若存在,则复用缓存历史查询结果,执行增量更新查询算法,返回查询结果;若不存在,则服务端对查询请求进行实时计算,并返回查询结果。本发明专利技术支持对连续RDF数据流的进行实时查询,满足用户对RDF数据流实时查询的应用需求。

Real time search method of RDF streaming data keyword based on Storm

The invention relates to a method of data stream real-time search keywords Storm based on RDF, which includes Storm Redis real-time processing, distributed storage and Storm real-time query; the specific content of Storm real-time processing: Spout component of Storm receiving and processing the RDF ontology and instance data file stream, the RDF ontology and examples of the data distributed storage file stream to Redis hash table; the specific content of the Storm real-time query: the client sends real-time query request, the server receives the client request, first check the query cache if there has been the query results, if there is, reuse cache the query results, perform incremental update query algorithm, return query results; if not, then the server to query the real-time computation, and returns the query result. The invention supports the real-time inquiry of the continuous RDF data stream, and satisfies the application demand of the user for the real-time inquiry of the RDF data stream.

【技术实现步骤摘要】
基于Storm的RDF流式数据关键词实时搜索方法
本专利技术涉及海量RDF数据检索
,尤其涉及一种基于Storm的RDF流式数据关键词实时搜索方法。
技术介绍
目前,国内外有关RDF语义网数据的关键词搜索问题研究大都是针对静态数据集的搜索,根据搜索处理方式的不同,可以分为两类:关键词构造结构化查询方法和关键词直接构造查询结果方法。第一类,关键词构造结构化查询方法通常包括关键词映射、构建查询语句和对查询排序。将关键词翻译成联合查询,再得到SPARQL查询语句,通过索引这些关键词可能分别对应到数据图中的顶点或边,在图上定位包含这些顶点和边的子图后,将子图映射为联合查询。LadwingG等从RDF数据中抽取结构信息,构造查询搜索图生成结构化查询,然后查询得到结果。El-Roby等实现了一个Sapphire查询系统,使用预测用户模型,根据用户的输入关键词间相似性帮助用户构造结果化查询SPARQL,使用户通过输入简单关键词就可以进行准确的SPARQL查询。先通过在元组模式图上定位包含用户查询关键词的子图,让用户在这些候选子图中选择最合适的子图,映射成结构化查询,进行查询操作并返回结果。但该策略依赖于用户的反馈和RDF模式信息的完整性。第二类,关键词直接构造查询结果方法大都是在图数据上直接匹配包含所有查询关键词的子图,利用评分函数对候选答案排序,返回top-k查询结果。李慧颖等人将RDF数据建模成顶点带标签的实体三元组关联图,构建结构索引,利用斯坦纳树近似算法实现了快速查询响应。LeW等设计一个有效的图摘要提取算法,从RDF数据图中根据类型提取RDF数据结构的摘要信息,利用图摘要剪枝从而加速搜索效率。Elbassuoni采用基于IR和统计概率的排序模型,对检索到的包含查询关键词的子图进行评分排序,返回评分值高匹配的结果。DeVirgilio等提出一种新颖的完全分布式的RDF关键字搜索方法,以图路径的方式分布式存储海量RDF数据,利用MapReduce对大规模图数据进行分布式搜索。以上RDF关键词搜索方法都是针对静态RDF数据集,无法对动态的RDF流式进行实时查询。互联网上产生各种各样的流式数据,由于数据的异构性,RDF被广泛用于在数据流中提供统一的元数据表示,RDF动态数据流在语义网络社区中引起了相当大的兴趣。D.F.Barbieri等提出了C-SPARQL和D.LeP等提出了CQELS,类似SPARQL的查询语言和操作语义,通过在数据流管理系统中定义窗口化技术来实现连续查询。ZhangY等人提出一个流式RDF/SPARQL查询基准SRBech,不仅能够处理简单的图模式查询,也能处理复杂的推理查询。JeanPaul等人提出了一个生产者和消费者的角色模型实现RDF流式处理系统,角色间通过异步事件消息进行通信,实现了RDF流式SPARQL的查询。Le-PhuocD提出了一种新颖的操作感知数据结构,建立有效的评估算法,实现RDF流式数据查询,并验证该方法有效的减少执行查询的时延。但他们都是处理结构化查询SPARQL且大都被设计为单机运行的,不能被扩展处理大规模RDF数据流的分布式查询。针对单机系统可扩展性的限制,人们将目光投向分布式流式处理框架,如S4和Storm。D.L.Phuoc等人提出了是第一个可扩展的RDF数据流分布式处理系统CQELS-Cloud,整体架构由一个执行协调器和多个操作容器组成,执行协调器负责分配要处理的任务,每个操作容器负责执行单个操作,如联合、聚合等。目前现有的RDF关键词搜索方法大都是针对静态RDF数据集,基于图搜索思想集中式处理,无法对动态的RDF流式数据进行实时查询,而且直接在数据图上进行匹配关键词来生成结果子图,没有考虑数据间语义关联关系,出现搜索结果的查全率和查准率不高的情况。当前,面向大规模数据的分布式数据流查询是较新的研究与应用热点,大数据流式计算可广泛应用于金融分析、物联网、互联网等诸多领域,满足特定场景下的实时应用需求。目前RDF数据流处理相关的研究工作处于刚刚起步阶段,国外学者在RDF数据流查询和推理的方面形成一些研究成果,但大都是单机执行处理或只能执行简单的SPARQL查询。关于RDF数据流的关键词分布式实时查询研究工作少之又少,分布式RDF数据流关键词搜索研究任重而道远。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于Storm的RDF流式数据关键词实时搜索方法,支持对连续RDF数据流的进行实时查询,满足用户对RDF数据流实时查询的应用需求。为实现上述目的,本专利技术采用如下技术方案:一种基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:包括Storm实时处理、Redis分布式存储和Storm实时查询;所述Storm实时处理的具体内容为:Storm的Spout组件接收并处理RDF本体和实例数据文件流,将处理后的RDF本体和实例数据文件流分布式存储至Redis哈希表中;所述Storm实时查询的具体内容为:客户端发送实时查询请求,服务端接收客户端的查询请求后,先检查查询缓存中是否已存在该查询请求的查询结果,若存在,则复用缓存历史查询结果,执行增量更新查询算法,返回查询结果;若不存在,则服务端对查询请求进行实时计算,并返回查询结果。进一步的,对所述RDF本体的处理过程为:OWLSpout组件解析RDF本体文件,为每个类和属性分别构建类五元组和属性五元组,用命名为Class_Tuple的哈希表存储类五元组,用命名为Property_Tuple的哈希表存储属性五元组信息。进一步的,所述用命名为Class_Tuple的哈希表的存储结构为:Class_Tuple={C1,C2,…,Ci,…,Cn},Ci={“Rc”:[],”Dc”:[],“ParentClass”:[],“SubClass”:[]}。进一步的,所述用命名为Property_Tuple的哈希表的存储结构为:Property_Tuple={OP1,OP2,…,OPi,…,OPn},OPi={“Domain”:[],”Range”:[],“ParentProperty”:[],“SubPropety”:[]}。进一步的,对所述实例数据文件流的处理过程为:解析数据内容和统一数据格式,将xml或三元组格式的RDF实例输数据,按三元组中主语所属类别、属性和宾语所属类别进行分类处理,统一以<s,p,o>三元组格式存入命名为<类-属性-类>的哈希表;同时创建实例-类映射索引表Instance_Type和文本-类映射索引表Literal_Type,记录实例或文本与类之间的对应关系,以便快速定位查询关键词关联的类。进一步的,所述Storm实时查询通过KRSRSS算法定义五个查询组件,包括DRPCSpout、MappingBolt、BuildBolt、RankBolt和ResultBolt,分别用于接收并处理查询请求、完成关键词映射、本体子图构建、对本体子图评分排序和搜索生成结果子图。进一步的,所述五个查询组件的具体工作过程如下:步骤S1:DRPCSpout接收并处理查询请求DRPCSpout负责接收客户端发送过来的查询请求,先并以Tuple元组的形式将查询关键词发送给MappingBol本文档来自技高网
...
基于Storm的RDF流式数据关键词实时搜索方法

【技术保护点】
一种基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:包括Storm实时处理、Redis分布式存储和Storm实时查询;所述Storm实时处理的具体内容为:Storm的Spout组件接收并处理RDF本体和实例数据文件流,将处理后的RDF本体和实例数据文件流分布式存储至Redis哈希表中;所述Storm实时查询的具体内容为:客户端发送实时查询请求,服务端接收客户端的查询请求后,先检查查询缓存中是否已存在该查询请求的查询结果,若存在,则复用缓存历史查询结果,执行增量更新查询算法,返回查询结果;若不存在,则服务端对查询请求进行实时计算,并返回查询结果。

【技术特征摘要】
1.一种基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:包括Storm实时处理、Redis分布式存储和Storm实时查询;所述Storm实时处理的具体内容为:Storm的Spout组件接收并处理RDF本体和实例数据文件流,将处理后的RDF本体和实例数据文件流分布式存储至Redis哈希表中;所述Storm实时查询的具体内容为:客户端发送实时查询请求,服务端接收客户端的查询请求后,先检查查询缓存中是否已存在该查询请求的查询结果,若存在,则复用缓存历史查询结果,执行增量更新查询算法,返回查询结果;若不存在,则服务端对查询请求进行实时计算,并返回查询结果。2.根据权利要求1所述的基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:对所述RDF本体的处理过程为:OWLSpout组件解析RDF本体文件,为每个类和属性分别构建类五元组和属性五元组,用命名为Class_Tuple的哈希表存储类五元组,用命名为Property_Tuple的哈希表存储属性五元组信息。3.根据权利要求2所述的基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:所述用命名为Class_Tuple的哈希表的存储结构为:Class_Tuple={C1,C2,…,Ci,…,Cn},Ci={“Rc”:[],”Dc”:[],“ParentClass”:[],“SubClass”:[]}。4.根据权利要求2所述的基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:所述用命名为Property_Tuple的哈希表的存储结构为:Property_Tuple={OP1,OP2,…,OPi,…,OPn},OPi={“Domain”:[],”Range”:[],“ParentProperty”:[],“SubPropety”:[]}。5.根据权利要求1所述的基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:对所述实例数据文件流的处理过程为:解析数据内容和统一数据格式,将xml或三元组格式的RDF实例输数据,按三元组中主语所属类别、属性和宾语所属类别进行分类处理,统一以<s,p,o>三元组格式存入命名为<类-属性-类>的哈希表;同时创建实例-类映射索引表Instance_Type和文本-类映射索引表Literal_Type,记录实例或文本与类之间的对应关系,以便快速定位查询关键词关联的类。6.根据权利要求1所述的基...

【专利技术属性】
技术研发人员:汪璟玢陈双
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

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

1