一种数据读取方法和系统与流程

文档序号:11198911阅读:420来源:国知局
一种数据读取方法和系统与流程

本申请涉及计算机处理技术领域,尤其涉及一种基于hbase+hadoop+ceph对接框架下的数据读取方法和系统。



背景技术:

hbase是一个分布式的、面向列的开源数据库,hbase建立在hadoop的分布式存储系统hdfs(hadoopdistributedfilesystem,分布式文件系统)之上,是一个基于列的适合于非结构化数据存储的数据库。

hdfs是一个高度容错性的系统,能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

hadoop是一个由apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。hadoop的体系结构主要是通过hdfs来实现分布式存储的底层支持,通过mapreduce实现分布或并行任务处理的程序支持。

ceph存储系统是一种高性能、高可靠性、高可扩展性的存储系统。

基于hbase+hadoop+ceph的对接框架,将ceph存储系统强大的分布式存储能力与hadoop中mapreduce强大的并行任务处理能力相融合,同时结合hbase面向列的非结构化数据库,从而提供更高的可靠性、更强的性能、更大的容量利用率以及更加便捷的大数据平台。

目前,基于hbase+hadoop+ceph对接框架下的数据读取方法中,hbase客户端(hbaseclient)首先会在ceph插件层的缓存(cache)中查找目标数据,若cache中没有目标数据,再从osd(object-basedstoragedevice,对象存储设备)中读取目标数据。

本申请的申请人发现,虽然现有数据读取方法能够读取到目标数据,但其读取数据的效率有待提高。因此,基于hbase+hadoop+ceph对接框架下,如何进一步提高数据的读取效率,成为当前亟需解决的一个技术问题。



技术实现要素:

有鉴于此,本申请提供一种基于hbase+hadoop+ceph对接框架下的数据读取方法和系统,以提高数据的读取效率。技术方案如下:

基于本申请的一方面,本申请提供一种数据读取方法,包括:

hbase客户端通过cehp插件,直接将数据读取请求发送至cehp系统,所述数据读取请求包括目标数据的标识和所述目标数据的区域信息;

所述cehp系统依据所述数据读取请求查找到所述目标数据后,通过所述cehp插件,直接将所述目标数据返回至所述hbase客户端。

优选地,所述cehp系统依据所述数据读取请求查找所述目标数据包括:

所述cehp系统依据所述目标数据的标识,在分布式对象缓存cephoc层的缓存中查找所述目标数据;

如果未查找到,依据所述目标数据的区域信息,在所述区域信息对应的对象存储设备osd上读取所述目标数据。

基于本申请的另一方面,本申请提供一种数据读取系统,包括:hbase客户端、cehp插件层和cehp系统,在所述cehp插件层中不设置缓存;

所述hbase客户端通过cehp插件,直接将数据读取请求发送至cehp系统,所述数据读取请求包括目标数据的标识和所述目标数据的区域信息;

所述cehp系统依据所述数据读取请求查找到所述目标数据后,通过所述cehp插件,直接将所述目标数据返回至所述hbase客户端。

优选地,所述cehp系统依据所述数据读取请求查找所述目标数据包括:

所述cehp系统依据所述目标数据的标识,在分布式对象缓存cephoc层的缓存中查找所述目标数据;

如果未查找到,依据所述目标数据的区域信息,在所述区域信息对应的对象存储设备osd上读取所述目标数据。

本申请提供的数据读取方法中,hbase客户端通过cehp插件,直接将数据读取请求发送至cehp系统,cehp系统依据数据读取请求查找到目标数据后,通过cehp插件,直接将目标数据返回至hbase客户端。本申请ceph插件层中不再设置缓存,减少了数据读取的层级,省去了在ceph插件层的缓存中查找目标数据的过程,相比于现有技术提高了数据的读取效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请提供的一种数据读取方法的流程图;

图2为本申请提供的一种数据读取系统的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的主要思想之一包括:在ceph插件层中去除cache,即在cehp插件层中不设置cache,减少数据读取的层级,直接建立hbaseclient与cehp系统间的数据读取/返回关系,提高数据的读取效率。

如图1所示,其示出了本申请提供的一种数据读取方法的流程图,包括:

步骤101,hbaseclient通过cehp插件,直接将数据读取请求发送至cehp系统,所述数据读取请求包括目标数据的标识和所述目标数据的区域信息。

hbaseclient读取数据时,会生成数据读取请求,该数据读取请求中包括目标数据的标识和目标数据的区域信息。

其中对于目标数据的区域信息的确定方法可以为,hbaseclient首先发送包括目标数据的标识的请求消息到zookeeper(zookeeper是hadoop的重要组件,为分布式应用提供一致性服务的软件),获取hbase表的元数据信息,进而根据元数据信息确定目标数据所在的区域。需要说明的是,本申请中确定目标数据的区域信息的实现方法同现有数据读取方法中确定目标数据的区域信息的实现方法相同,申请人在此不再赘述。

现有技术中hbaseclient首先会将数据读取请求发送至ceph插件层,在ceph插件层的cache中查找目标数据,若在cache中查找到目标数据,则通过ceph插件,将在cache中查找到的目标数据返回至hbaseclient。若在cache中没有查找到目标数据,则通过ceph插件,将数据读取请求发送至cehp系统,从cehp系统中的osd中读取目标数据。

而实际应用中,cache的内存非常小,hbaseclient欲读取的目标数据存储在cache中的概率非常低,一般情况下不会在cache中查找到目标数据,因此可以理解的,在cache中查找目标数据的过程冗余耗时且无用。

与现有技术不同的是,本申请在ceph插件层去除cache,hbaseclient通过cehp插件,直接将数据读取请求发送至cehp系统,而省去了在cache中查找目标数据的过程,相比于现有技术减少了数据读取的层级,提高了数据的读取效率。

步骤102,cehp系统依据数据读取请求查找到目标数据后,通过cehp插件,直接将目标数据返回至hbase客户端。

本申请中,cehp系统依据数据读取请求查找到目标数据后,也是通过cehp插件,直接将目标数据返回至hbase客户端,而不会再在cache中缓存目标数据。

特别地本申请中,cehp系统依据数据读取请求查找目标数据的过程可以包括:cehp系统首先依据目标数据的标识,在cephoc(cephobjectcache,分布式对象缓存)层的缓存中查找目标数据。如果查找到,则直接将查找到目标数据通过cehp插件返回至hbase客户端;如果未查找到,则再依据目标数据的区域信息,在所述区域信息对应的osd上读取目标数据。本申请在有效增加cephoc层的缓存的情况下,能够进一步提高数据的读取效率。

因此,应用本申请提供的数据读取方法,hbase客户端通过cehp插件,直接将数据读取请求发送至cehp系统,cehp系统依据数据读取请求查找到目标数据后,通过cehp插件,直接将目标数据返回至hbase客户端。本申请ceph插件层中不再设置缓存,减少了数据读取的层级,省去了在ceph插件层的缓存中查找目标数据的过程,相比于现有技术提高了数据的读取效率。

基于本申请提供的一种数据读取方法,本申请还提供一种数据读取系统,如图2所示,包括hbase客户端100、cehp插件层200和cehp系统300,其中在cehp插件层200中不设置缓存。

具体地,hbase客户端100通过cehp插件201,直接将数据读取请求发送至cehp系统300,所述数据读取请求包括目标数据的标识和目标数据的区域信息;

cehp系统300依据所述数据读取请求查找到目标数据后,通过cehp插件201,直接将目标数据返回至hbase客户端100。

其中cehp系统300依据所述数据读取请求查找目标数据的过程可以包括:

cehp系统300依据目标数据的标识,在cephoc层301的缓存中查找目标数据;

如果未查找到,依据目标数据的区域信息,在所述区域信息对应的osd302上读取目标数据。

以上对本申请所提供的一种数据读取方法和系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1