PaaS系统中hbase数据导出方法及装置的制造方法

xiaoxiao2021-2-28  281

PaaS系统中hbase数据导出方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据处理技术领域,尤指一种PaaS系统中hbase数据导出方法及装置。
【背景技术】
[0002]随着网络的不断发展,为用户提供服务的方法已经由软件即服务(Softwareas aService,SaaS)的方式转变为平台即服务(Platform as a Service,PaaS)的方式。PaaS系统中可以使用Hadoop数据库(Hadoop Database,HBase)系统,Hbase系统是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价个人计算机服务器(PCServer)上搭建起大规模结构化存储集群。
[0003]在PAAS系统中,用户是共享一个存储服务的,也就是所有用户的数据都存在一个独立的hbase中。PAAS系统中的用户希望系统提供一种文件下载的功能,能够将自己保存的所有数据(一般是二进制文件)以某种方式对外导出,然后自己可以将这些数据下载下来。
[0004]现有PAAS系统中,用户要将自己需要的数据读取出来,通常是一条一条的读取。用户需要先向服务端发送一个读取数据的指令,然后服务端解析请求格式,再从hadoop中(一般hbase底层都是依赖hadoop的)读取出来对应的数据返回给用户。由于在hbase中存储的数据量一般都很大,很多都是超过100G,如果是一条一条的读取出来,然后下载到本地,则需要多次循环执行上述读取操作,直到这100G的数据都遍历完。
[0005]因此,现有技术中用户将数据读取出来并进行保存的操作通常都是非常慢的,用户导出数据的处理过程很长,效率低下,因此,如何在用户点击下载按钮今后,快速的将用户需要的数据导出是一个亟待解决的技术问题。

【发明内容】

[0006]本发明实施例提供一种PaaS系统中hbase数据导出方法及装置,用以解决现有技术中存在用户数据导出时,处理时间长,速度慢、效率低下的问题,能够实现快速、高效的用户数据导出。
[0007]—方面,本发明实施例提供了一种hbase数据导出方法,包括:
[0008]接收用户发送的数据读取指令,所述数据读取指令中包括关键字范围;
[0009]根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域;
[0010]对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据拷贝到下载目录下供用户下载;
[0011]对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据拷贝到下载目录下供用户下载。
[0012]在一些可选的实施例中,所述关键字范围通过起始关键字和结束关键字表征;或
[0013]所述关键字范围通过起始关键字和关键字的数量表征。
[0014]在一些可选的实施例中,根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域,具体包括:
[0015]根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字;
[0016]依次查询根root表、业务字典meta表,确定所述起始关键字和结束关键字所在的meta 表;
[0017]根据所述起始关键字和结束关键字,查找确定出的meta表所对应的业务表,确定所述起始关键字和结束关键字所在的业务表。
[0018]在一些可选的实施例中,根据起始关键字中包括的用户标识信息和关键字值,以及结束关键字中包括的用户标识信息和关键字值,查询root表、meta表、以及确定出的meta表所对应的业务表,实现确定所述起始关键字和结束关键字所在的业务表。
[0019]在一些可选的实施例中,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,具体包括:
[0020]遍历起始关键字和结束关键字所在的存储区域中的用户数据文件;
[0021]根据所述用户数据文件中用户数据的关键字中包括的用户标识信息和关键字值,判断用户数据的关键字是否是所述关键字范围内的关键字;
[0022]当判断为是时,认为该用户数据为关键字匹配的用户数据。
[0023]另一方面,本发明实施例提供了一种hbase数据导出装置,包括:
[0024]接收模块,用于接收用户发送的数据读取指令,所述数据读取指令中包括关键字范围;
[0025]确定模块,用于根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域;
[0026]导出模块,用于从对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据拷贝到下载目录下供用户下载;对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据拷贝到下载目录下供用户下载。
[0027]在一些可选的实施例中,所述接收模块接收到的数据读取指令中包括的关键字范围通过起始关键字和结束关键字表征;或
[0028]所述接收模块接收到的数据读取指令中包括的关键字范围通过起始关键字和关键字的数量表征。
[0029]在一些可选的实施例中,所述确定模块,具体用于:
[0030]根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字;
[0031]依次查询根root表、业务字典meta表,确定所述起始关键字和结束关键字所在的meta 表;
[0032]根据所述起始关键字和结束关键字,查找确定出的meta表所对应的业务表,确定所述起始关键字和结束关键字所在的业务表。
[0033]在一些可选的实施例中,所述确定模块,具体用于:
[0034]根据起始关键字中包括的用户标识信息和关键字值,以及结束关键字中包括的用户标识信息和关键字值,查询root表、meta表、以及确定出的meta表所对应的业务表,实现确定所述起始关键字和结束关键字所在的业务表。
[0035]在一些可选的实施例中,所述导出模块,具体用于:
[0036]遍历起始关键字和结束关键字所在的存储区域中的用户数据文件;
[0037]根据所述用户数据文件中用户数据的关键字中包括的用户标识信息和关键字值,判断用户数据的关键字是否是所述关键字范围内的关键字;
[0038]当判断为是时,认为该用户数据为关键字匹配的用户数据。
[0039]上述技术方案具有如下有益效果:根据接收到的用户发送的数据读取指令中包括的关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域;对起始关键字和结束关键字所在的存储区域,逐一识别出其中待导出的用户数据;对处于起始关键字和结束关键字所在的存储区域之间的存储区域,则可以直接导出,该方式不需要像现有技术中一样逐条进行数据读取判断,从而减少了数据导出的处理时间,提高了数据导出的处理速度和效率,实现了快速、高效的数据导出。
【附图说明】
[0040]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041 ]图1是本发明实施例一中PaaS系统中hbase数据导出方法的流程图;
[0042]图2是本发明实施例二中PaaS系统中hbase数据导出方法的流程图;
[0043]图3是本发明实施例二中hbase系统中存储用户数据的存储表结构示意图;
[0044]图4是本发明实施例二中存储区域中的用户数据文件示例图;
[0045]图5是本发明实施例中PaaS系统中hbase数据导出装置的结构示意图。
【具体实施方式】
[0046]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、 完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]为了解决现有技术中,PaaS系统中hbase数据导出时,处理速度慢,导出时间长、效率低的问题,本发明实施例提供一种PaaS系统中hbase数据导出方法,能够实现快速、高效的数据导出。下面通过具体的实施例进行详细说明。
[0048]实施例一
[0049]本发明实施例一提供的PaaS系统中hbase数据导出方法,其流程如图1所示,包括如下步骤:
[0050]步骤S101:接收用户发送的数据读取指令,其中,数据读取指令中包括关键字范围。
[0051]用户想要获取用户数据时,发送数据读取指令到数据服务器,请求获取用户数据。数据读取指令中包括要获取的用户数据的关键字范围。
[0052]可选的,要获取的用户数据的关键字范围通过起始关键字和结束关键字表征,此时可以直接从数据读取指令中解析出起始关键字和结束关键字。
[0053]或,可选的,要获取的用户数据的关键字范围通过起始关键字和关键字的数量表征,此时解析出数据读取指令中包括的起始关键字和关键字的数量,并根据起始关键字和关键字的数量,确定出结束关键字。
[0054]步骤S102:根据数据指令中包括的关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域。
[0055]根据数据读取指令中包括的关键字范围,确定待导出的用户数据的起始关键字和结束关键字,依次查询根(root)表、业务字典(meta)表、业务表,确定起始关键字和结束关键字所在的业务表。确定出起始关键字和结束关键字所在的业务表之后,即可知道待导出的用户数据位于从起始关键字所在的业务表开始,到结束关键字所在的业务表结束的这些业务表中,即用户数据位于起始关键字所在的业务表、结束关键字所在的业务表、以及位于这两个业务表之间的业务表。
[0056]具体可以根据起始关键字中包括的用户标识信息和关键字值,以及结束关键字中包括的用户标识信息和关键字值,查询root表、meta表、以及确定出的meta表所对应的业务表,实现确定所述起始关键字和结束关键字所在的业务表。
[0057]步骤S103:对起始关键字和结束关键字所在的存储区域,根据关键字范围对其中存储的用户数据进行关键字匹配判断。
[0058]对起始关键字和结束关键字所在的存储区域,遍历起始关键字和结束关键字所在的存储区域中的用户数据文件;根据用户数据文件中用户数据的关键字中包括的用户标识信息和关键字值,判断用户数据的关键字是否是关键字范围内的关键字;当判断为是时,认为该用户数据为关键字匹配的用户数据。
[0059]例如,上述步骤中确定出对起始关键字和结束关键字所在的业务表之后,由于这两个业务表中包括待导出的用户数据,也可能包括不需要导出的用户数据,因此,可以依次遍历这些业务表中的用户数据文件,找到用户数据文件中包括关键字范围内的关键字的用户数据。
[0060]步骤S104:将关键字匹配的用户数据拷贝到下载目录下供用户下载。
[0061]对用户数据文件中包括的关键字匹配的用户数据进行提取,并将其拷贝到可供用户下载的目录下,用户即可从该目录下下载在这些用户数据了。
[0062]步骤S105:对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据拷贝到下载目录下供用户下载。
[0063]由于业务表以及业务表中的用户数据都是按照字典顺序存放的,因此,对处于起始关键字和结束关键字所在的业务表之间的业务表,这些业务表中的数据均是待导出的用户数据,因此,将其拷贝到可供用户下载的目录下,用户即可从该目录下下载在这些用户数据了。
[0064]实施例二
[0065]本发明实施例二提供的PaaS系统中hbase数据导出方法,其流程如图2所示,包括如下步骤:
[0066]步骤S201:用户发送数据读取指令。
[0067]在PAAS系统中,用户是共享一个存储服务的,也就是所有用户的数据都存在一个独立的hbase系统中,用户之间的key是通过前缀区分的,这个前缀是系统加上的,之后所有的查询,更新,删除操作都可以带上这个前缀,而返回给用户时会将这个前缀给去掉,所以前缀对于用户来说是不可知的。
[0068]如图3所示为hbase系统中存储用户数据的存储表结构示意图,hbase系统中有两个特殊的表,根(root)表和业务字典(meta)表,Root表只有一份,通过root表再定位到meta表,me ta表可能有多份,再通过me ta表找到最终的业务表以及业务表中需要操作的key。图3
中的&33,131313,(1(1(1,......,等等这些前缀都是key的前缀。如图3中最左侧为root表,中间一列为meta表,右边一列为业务表。
[0069]图3中每个方块都表示一个存储区域(reg1n),hbase系统中把若干数据划分成一个reg1n,reg1n的大小是可以配置的,一般是10G左右,当超过了这个大小后,一个reg1n就会被分裂成两个reg1n ο
[0070]用户需要获取用户数据时,可以通过客户端发送数据读取指令到数据服务器,向数据服务器请求获取用户数据,该数据读取指令中包括关键字范围。
[0071 ] 例如:用户数据在bbb_前缀开头的这几个reg1n中,key的范围是bbb_l至ljbbb_2000,则用户要获取用户数据时,用户发送的数据读取指令中包括的关键字(key)的范围是bbb_l到bbb_2000;其中,起始关键字为bbb_l,结束关键字为bbb_2000。
[0072]步骤S202:数据服务器接收用户发送的数据读取指令。
[0073]数据服务器接收用户发送的数据读取指令,从数据读取指令中解析出其中包括的关键字范围。
[0074]沿用上边的例子,从接收到的数据读取指令中解析出key的范围bbb_l至ljbbb_
2000 ο
[0075]步骤S203:根据数据读取指令中包括的关键字范围,确定待导出的用户数据的起始关键字和结束关键字。
[0076]沿用上边的例子,根据key的范围bbb_l到bbb_2000,确定出起始关键字为bbb_l,结束关键字为bbb_2000。
[0077]步骤S204:依次查询root表、meta表,确定待导出的用户数据的起始关键字和结束关键字所在的meta表。
[0078]根据起始关键字中包括的用户标识信息和关键字值,以及结束关键字中包括的用户标识信息和关键字值,查询root表、meta表、以及确定出的meta表所对应的业务表,实现确定起始关键字和结束关键字所在的业务表。其中用户标识?目息即为上述的key的如缀和关键字值为前缀后边的数字。
[0079 ]沿用上边例子,如图3所示,查询roo t表、me ta表,确定待导出的用户数据的起始关键字bbb_l和结束关键字bbb_2000所在的meta表分别为下边的两个meta表。
[0080]步骤S205:根据确定出的起始关键字和结束关键字,查找确定出的meta表所对应的业务表,确定起始关键字和结束关键字所在的业务表。
[0081]确定起始关键字所在业务表、结束关键字所在的业务表、以及起始关键字所在业务表和结束关键字所在的业务表之间的业务表为待导出的用户数据的存储区域。
[0082]沿用上边的例子,如图3所示,假设aaa_100这个reg1n的起始key是aaa_100,结束
key 是 bbb_20 ;......;bbb_2000这个 reg1n 的起始 key 是 bbb_2000,结束 key 是 ddd_100 ;......。
根据图3中下边的两个meta表,得到起始关键字bbb_l和结束关键字bbb_2000所在的业务表为aaa_100和bbb_2000这两个业务表,由 于所有的reg1n都是按照字典排序的,则用户数据落在aaa_100,bbb_100,bbb_500,bbb_999,bbb_2000这几个reg1n中。
[0083]步骤S203-步骤S205实现了根据数据读取指令中包括的关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域。通过root表、meta表、业务表,就可以定位出这个用户的起始key和结束key在哪些reg1n中。这个定位过程是一个常数时间,最多几秒中的时间,这样通过两次定位:一次定位起始key,一次定位结束key,就确定了这个用户的数据范围了。
[0084]步骤S206:对起始关键字和结束关键字所在的业务表,遍历起始关键字和结束关键字所在的业务表中的用户数据文件。
[0085]图4是存储区域中的用户数据文件示例图,一个reg1n里面包含了若干个用户数据文件(HFile),如图4所示,以reg1n ddd为例,其中包括HFileA、HFileB、HFileC、……、等数据文件。通常HFile的数量上限默认是7个(这是一个可配置的值),当超过这个数量后就会触发一次文件合并,会有一个后台线程将这些用户数据文件挨个读出然后合并成一个大的用户数据文件,再将之前的几个小的用户数据文件删除。
[0086]每个HFile文件内部的数据都是按照字典排列的,文件和文件之间并没有任何关系。用户在插入或者更新数据时,会先将这些操作写入到缓存中,等缓存满了就会刷新到磁盘上(一般是写入到hadoop中),所以有几次刷新操作就会出现几个HFile。当确定了某个key,比如bbb_345这个key落在某个reg1n中,那么系统就会挨个的去遍历这些HF i 1 e直到找到为止,所以reg1n中的HFile越多就会影响性能,因为要多打开和遍历文件。于是就需要合并操作。
[0087]如果需要处理的reg1n数量大于等于3个的时候,中间那些reg1n就不需要特殊处理,这是因为所有的reg1n也都是按照字典排序的,因为要获取用户数据的用户的key前缀是bbb_开头的,如果另外一个用户的key前缀是bba_,或者是1313(3_那么一定会排在这个用户之前或者之后,不会出现在bbb_100和bbb_200这样的key中间。因此,确定出aaa_100,bbb_100,bbb_500,bbb_999,bbb_2000这些业务表后,只需要对两端的两个业务表单独进行处理,中间的几个业务表中的HFile直接拷贝出来即可。
[0088]对于aaa_100和bbb_2000这两个reg1n单独进行处理,因为这两个reg1n下的HFile包含了其他用户的数据,所以需要过滤一遍。
[0089]对于aaa_100和bbb_2000这两个reg1n单独进行处理,因为这两个reg1n下的HFile包含了其他用户的数据,所以需要过滤一遍。
[0090]步骤S207:根据用户数据文件中用户数据的关键字中包括的用户标识信息和关键字值,判断用户数据的关键字是否是关键字范围内的关键字。
[0091 ] 沿用上边的例子,对于aaa_100这个reg1n依次遍历其下的所有HFile,然后读出关键字中包括的前缀和关键字值,判断key是否是bbb_开头的,关键字值是否落在关键字范围内。
[0092]对于bbb_2000这个reg1n也是如此。
[0093]步骤S208:当判断为是时,认为该用户数据为关键字匹配的用户数据。
[0094]沿用上边的例子,对于关键字在bbb_l至bbb_2000范围内的用户数据,认为是关键字匹配的用户数据。
[0095]当aaa_100这个reg1n中的所有HFile都遍历完并处理好之后,aaa_100这个reg1n中的bbb_开头的前缀key就处理完了。对于bbb_2000这个reg1n也是如此。当全部处理完后,就拿到了这个用户在这两个reg1n中的所有数据了。
[0096]步骤S206-步骤S208实现了对起始关键字和结束关键字所在的存储区域,根据关键字范围对其中存储的用户数据进行关键字匹配判断。
[0097]步骤S209:将关键字匹配的用户数据拷贝到下载目录下供用户下载。
[0098]沿用上边的例子,将aaa_100和bbb_2000这两个reg1n中关键字匹配的用户数据保存到一个指定的目录下,比如,提供下载的目录下。
[0099]步骤S210:对处于起始关键字和结束关键字所在的业务表之间的业务表,将其中的用户数据拷贝到下载目录下供用户下载。
[0100]沿用上边的例子,直接将中间几个业务表bbb_100,bbb_500,bbb_999这几个reg1n下的HFile拷贝出来即可。
[0101]步骤S209和步骤S210,将用户需要下载的用户数据所涉及到的reg1n下的HFile直接拷贝到数据服务器,例如FTP服务器的指定目录下,这些HFi 1 e最终是存储在hadoop上的,也就是从hadoop上拷贝数据,这里主要的花费时间都是在网络传输上,一般内网都是千兆网卡。一秒钟可以拷贝100M左右,拷贝100G数据大概十多分钟左右。
[0102]执行完上述的流程之后,整个用户数据的导出过程就完成了。当提供出这些HFile文件之后,可以单独提供一套API给用户读取,因为这些HFile是hbase私有格式的二进制数据,提供一套API之后,用户就可以读取里面的键值对了。
[0103]基于同一发明构思,本发明实施例还提供一种PaaS系统中hbase数据导出装置,该装置可以设置在现有的数据服务器中,也可以单独设置。该数据导出装置的结构如图5所示,包括:接收模块101、确定模块102和导出模块103。
[0104]接收模块101,用于接收用户发送的数据读取指令,其中,数据读取指令中包括关键字范围。
[0105]确定模块102,用于根据数据读取指令中包括的关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域。
[0106]导出模块103,用于从对起始关键字和结束关键字所在的存储区域,根据关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据拷贝到下载目录下供用户下载;对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据拷贝到下载目录下供用户下载。
[0107]优选的,上述接收模块101接收到的数据读取指令中包括的关键字范围通过起始关键字和结束关键字表征;或接收模块101接收到的数据读取指令中包括的关键字范围通过起始关键字和关键字的数量表征。
[0108]优选的,上述确定模块102,具体用于根据关键字范围,确定待导出的用户数据的起始关键字和结束关键字;依次查询根(root)表、业务字典(meta)表,确定起始关键字和结束关键字所在的meta表;根据起始关键字和结束关键字,查找确定出的meta表所对应的业务表,确定起始关键字和结束关键字所在的业务表。
[0109]优选的,上述确定模块102,具体用于根据起始关键字中包括的用户标识信息和关键字值,以及结束关键字中包括的用户标识信息和关键字值,查询根(root)表、业务字典(meta)表、以及确定出的meta表所对应的业务表,实现确定起始关键字和结束关键字所在的业务表。
[0110]优选的,上述导出模块103,具体用于遍历起始关键字和结束关键字所在的存储区域中的用户数据文件;根据用户数据文件中用户数据的关键字中包括的用户标识信息和关键字值,判断用户数据的关键字是否是所述关键字范围内的关键字;当判断为是时,认为该用户数据为关键字匹配的用户数据。
[0111]本发明实施例提供的PaaS系统中hbase数据导出方法及装置,基于meta表来实现数据的快速导出,不需要逐条读取,能够快速的提供给用户所需的所有存储内容,大大减少了导出操作时间,提升了导出操作速度和效率。
[0112]本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件 、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(:^丨6代1^1^6313;[1;^7),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
[0113]本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
[0114]本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPR0M存储器、EEPR0M存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
[0115]在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、R0M、EEPR0M、⑶-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、锡射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
[0116]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种PaaS系统中hbase数据导出方法,其特征在于,包括: 接收用户发送的数据读取指令,所述数据读取指令中包括关键字范围; 根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域; 对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据拷贝到下载目录下供用户下载; 对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据拷贝到下载目录下供用户下载。2.如权利要求1所述的方法,其特征在于,所述关键字范围通过起始关键字和结束关键字表征;或 所述关键字范围通过起始关键字和关键字的数量表征。3.如权利要求1所述的方法,其特征在于,根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域,具体包括: 根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字; 依次查询根root表、业务字典meta表,确定所述起始关键字和结束关键字所在的meta表; 根据所述起始关键字和结束关键字,查找确定出的meta表所对应的业务表,确定所述起始关键字和结束关键字所在的业务表。4.如权利要求3所述的方法,其特征在于,根据起始关键字中包括的用户标识信息和关键字值,以及结束关键字中包括的用户标识信息和关键字值,查询root表、meta表、以及确定出的meta表所对应的业务表,实现确定所述起始关键字和结束关键字所在的业务表。5.如权利要求1-4任一所述的方法,其特征在于,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,具体包括: 遍历起始关键字和结束关键字所在的存储区域中的用户数据文件; 根据所述用户数据文件中用户数据的关键字中包括的用户标识信息和关键字值,判断用户数据的关键字是否是所述关键字范围内的关键字; 当判断为是时,认为该用户数据为关键字匹配的用户数据。6.一种PaaS系统中hbase数据导出装置,其特征在于,包括: 接收模块,用于接收用户发送的数据读取指令,所述数据读取指令中包括关键字范围;确定模块,用于根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域; 导出模块,用于从对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据拷贝到下载目录下供用户下载;对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据拷贝到下载目录下供用户下载。7.如权利要求6所述的装置,其特征在于,所述接收模块接收到的数据读取指令中包括的关键字范围通过起始关键字和结束关键字表征;或 所述接收模块接收到的数据读取指令中包括的关键字范围通过起始关键字和关键字的数量表征。8.如权利要求6所述的装置,其特征在于,所述确定模块,具体用于: 根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字; 依次查询根root表、业务字典meta表,确定所述起始关键字和结束关键字所在的meta表; 根据所述起始关键字和结束关键字,查找确定出的meta表所对应的业务表,确定所述起始关键字和结束关键字所在的业务表。9.如权利要求8所述的装置,其特征在于,所述确定模块,具体用于: 根据起始关键字中包括的用户标识信息和关键字值,以及结束关键字中包括的用户标识信息和关键字值,查询root表、meta表、以及确定出的meta表所对应的业务表,实现确定所述起始关键字和结束关键字所在的业务表。10.如权利要求6-9任一所述的装置,其特征在于,所述导出模块,具体用于: 遍历起始关键字和结束关键字所在的存储区域中的用户数据文件; 根据所述用户数据文件中用户数据的关键字中包括的用户标识信息和关键字值,判断用户数据的关键字是否是所述关键字范围内的关键字; 当判断为是时,认为该用户数据为关键字匹配的用户数据。
【专利摘要】本发明实施例提供一种PaaS系统中hbase数据导出方法及装置,该方法包括:接收用户发送的数据读取指令,所述数据读取指令中包括关键字范围;根据所述关键字范围,确定待导出的用户数据的起始关键字和结束关键字所在的存储区域;对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据拷贝到下载目录下供用户下载;对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据拷贝到下载目录下供用户下载。能够实现快速、高效的数据导出,数据导出的处理速度快,处理时间短。
【IPC分类】G06F17/30
【公开号】CN105488225
【申请号】CN201511021476
【发明人】王阳
【申请人】新浪网技术(中国)有限公司
【公开日】2016年4月13日
【申请日】2015年12月31日

最新回复(0)