PaaS系统中hbase数据删除方法及装置制造方法及图纸

技术编号:20657907 阅读:28 留言:0更新日期:2019-03-27 13:24
本发明专利技术实施例提供一种PaaS系统中hbase数据删除方法及装置,该方法包括:接收用户发送的数据删除指令,所述数据删除指令中包括关键字范围;根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字所在的存储区域;对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据删除;对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据删除。能够实现快速、高效的数据删除,数据删除操作的处理速度快,处理时间短。

【技术实现步骤摘要】
PaaS系统中hbase数据删除方法及装置
本专利技术涉及数据处理
,尤指一种PaaS系统中hbase数据删除方法及装置。
技术介绍
随着网络的不断发展,为用户提供服务的方法已经由软件即服务(SoftwareasaService,SaaS)的方式转变为平台即服务(PlatformasaService,PaaS)的方式。PaaS系统中可以使用Hadoop数据库(HadoopDatabase,HBase)系统,Hbase系统是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价个人计算机服务器(PCServer)上搭建起大规模结构化存储集群。在hbase系统中如果想删除数据,就只能调用上层的删除函数Java语言程序开发工具包(JavaDevelopmentKit,JDK)的应用程序编程接口(ApplicationProgrammingInterface,API)将数据删除。因为在hbase系统中最终存入的数据都是只读文件。所有的写操作都是先写入到缓冲中当缓冲满了之后就会刷新到磁盘,一般hbase会搭配hadoop,那么就是写入到hadoop中。写入的用户数据文件叫HFile,是hbase自定义格式的二进制文件。这个HFile(假设叫文件A)一旦创建写入后就不可以更改了。如果想将这个文件A中的某些内容删除,那么需要再写入一个新的HFile文件B,然后插入一些删除(Delete)状态的关键字-值(key-value),标示这些key-value是被删除的。文件B中的标记删除的那些key就是在文件A中的key。之后hbase上层会触发一个文件合并的操作,这个操作可能是手动触发的,也可以是配置文件中指定的时间到了才触发的。当触发这个操作后,就会遍历某几个HFile,比如文件A和文件B,然后将文件A和文件B的内容合并成文件C并保存,在合并的过程中如果发现某些key被标记为删除,则不保存这些key,最后将文件A和文件B删除。经过这些步骤后那些需要删除的key就被真正删除了。由此可见,现有技术中,在hbase系统中一个删除操作和一个插入/更新操作理论上是一样的,插入/更新也是写一条数据,数据类型是插入/更新,而删除操随着作也是写一条数据,数据类型是删除。当这条删除数据插入后,上层用户再读就读不到了,但是在执行合并前,这些数据实际上都存在磁盘中。这样通过逐个文件合并的方式实现数据删除时,当需要删除的数据量比较大时,会导致删除操作的时间很长,例如:用户有100G的数据,那么要全部删除就需要执行大量的删除操作,写入一个个标记为删除的操作,并一个个的进行文件合并,随着数据量的增加整个删除操作也就越慢。而且在hbase系统中删除一些数据,由于合并过程会轻微影响线上业务所以一般晚上执行。可见,现有habse系统中从删除操作开始到最终将数据从磁盘或者hadoop上删除需要经过很长时间,其删除操作处理时间很长,效率很低,不能快速、高效的实现对用户数据的删除操作。
技术实现思路
本专利技术实施例提供一种PaaS系统中hbase数据删除方法及装置,用以解决现有技术中存在用户数据删除时,删除操作处理时间长,速度慢、效率低下的问题,能够实现快速、高效的用户数据删除。一方面,本专利技术实施例提供了一种hbase数据删除方法,包括:接收用户发送的数据删除指令,所述数据删除指令中包括关键字范围;根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字所在的存储区域;对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据删除;对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据删除。在一些可选的实施例中,所述关键字范围通过起始关键字和结束关键字表征;或所述关键字范围通过起始关键字和关键字的数量表征。在一些可选的实施例中,根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字所在的存储区域,具体包括:根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字;依次查询根root表、业务字典meta表,确定所述起始关键字和结束关键字所在的meta表;根据所述起始关键字和结束关键字,查找确定出的meta表所对应的业务表,确定所述起始关键字和结束关键字所在的业务表。在一些可选的实施例中,根据起始关键字中包括的用户标识信息和关键字值,以及结束关键字中包括的用户标识信息和关键字值,查询root表、meta表、以及确定出的meta表所对应的业务表,实现确定所述起始关键字和结束关键字所在的业务表。在一些可选的实施例中,对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,具体包括:遍历起始关键字和结束关键字所在的存储区域中的用户数据文件;根据所述用户数据文件中用户数据的关键字中包括的用户标识信息和关键字值,判断用户数据的关键字是否是所述关键字范围内的关键字,当判断为是时,认为该用户数据为关键字匹配的用户数据。在一些可选的实施例中,所述将关键字匹配的用户数据删除,具体包括:对起始关键字所在的存储区域,提取关键字不匹配的用户数据,存储为新的用户数据文件,并更新该存储区域的结束关键字;对结束关键字所在的存储区域,提取关键字不匹配的用户数据,存储为新的用户数据文件,并更新该存储区域的起始关键字。在一些可选的实施例中,上述方法还包括:确定对起始关键字和结束关键字所在的存储区域之后,将起始关键字和结束关键字所在的存储区域标记为分离split状态;以及将关键字匹配的用户数据删除,删除split状态;其中,处于split状态的存储区域不允许其他用户读写数据。另一方面,本专利技术实施例提供了一种hbase数据删除装置,包括:接收模块,用于接收用户发送的数据删除指令,所述数据删除指令中包括关键字范围;确定模块,用于根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字所在的存储区域;删除模块,用于对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据删除;对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据删除。在一些可选的实施例中,所述接收模块接收到的数据读取指令中包括的关键字范围通过起始关键字和结束关键字表征;或所述接收模块接收到的数据读取指令中包括的关键字范围通过起始关键字和关键字的数量表征。在一些可选的实施例中,所述确定模块,具体用于:根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字;依次查询根root表、业务字典meta表,确定所述起始关键字和结束关键字所在的meta表;根据所述起始关键字和结束关键字,查找确定出的meta表所对应的业务表,确定所述起始关键字和结束关键字所在的业务表。在一些可选的实施例中,所述确定模块,具体用于:根据起始关键字中包括的用户标识信息和关键字值,以及结束关键字中包括的用户标识信息和关键字值,查询root表、meta表、以及确定出的meta表所对应的业务表,实现确定所述起始关键字和结束关键字所在的业务表。在一些可选的实施例中,所述删除模块,具体用于:遍历起始本文档来自技高网
...

【技术保护点】
1.一种PaaS系统中hbase数据删除方法,其特征在于,包括:接收用户发送的数据删除指令,所述数据删除指令中包括关键字范围;根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字所在的存储区域;对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据删除;对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据删除;所述根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字所在的存储区域,具体包括:根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字;依次查询根root表、业务字典meta表,确定所述起始关键字和结束关键字所在的meta表;根据所述起始关键字和结束关键字,查找确定出的meta表所对应的业务表,确定所述起始关键字和结束关键字所在的业务表。

【技术特征摘要】
1.一种PaaS系统中hbase数据删除方法,其特征在于,包括:接收用户发送的数据删除指令,所述数据删除指令中包括关键字范围;根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字所在的存储区域;对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,将关键字匹配的用户数据删除;对处于起始关键字和结束关键字所在的存储区域之间的存储区域,将其中的用户数据删除;所述根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字所在的存储区域,具体包括:根据所述关键字范围,确定待删除的用户数据的起始关键字和结束关键字;依次查询根root表、业务字典meta表,确定所述起始关键字和结束关键字所在的meta表;根据所述起始关键字和结束关键字,查找确定出的meta表所对应的业务表,确定所述起始关键字和结束关键字所在的业务表。2.如权利要求1所述的方法,其特征在于,所述关键字范围通过起始关键字和结束关键字表征;或所述关键字范围通过起始关键字和关键字的数量表征。3.如权利要求1所述的方法,其特征在于,根据起始关键字中包括的用户标识信息和关键字值,以及结束关键字中包括的用户标识信息和关键字值,查询root表、meta表、以及确定出的meta表所对应的业务表,实现确定所述起始关键字和结束关键字所在的业务表。4.如权利要求1所述的方法,其特征在于,对起始关键字和结束关键字所在的存储区域,根据所述关键字范围对其中存储的用户数据进行关键字匹配判断,具体包括:遍历起始关键字和结束关键字所在的存储区域中的用户数据文件;根据所述用户数据文件中用户数据的关键字中包括的用户标识信息和关键字值,判断用户数据的关键字是否是所述关键字范围内的关键字,当判断为是时,认为该用户数据为关键字匹配的用户数据。5.如权利要求4所述的方法,其特征在于,所述将关键字匹配的用户数据删除,具体包括:对起始关键字所在的存储区域,提取关键字不匹配的用户数据,存储为新的用户数据文件,并更新该存储区域的结束关键字;对结束关键字所在的存储区域,提取关键字不匹配的用户数据,存储为新的用户数据文件,并更新该存储区域的起始关键字。6.如权利要求1-5任一所述的方法,其特征在于,还包括:确定对起始关键字和结束关键字所在的存储区域之后,将起始关键字和结束关键字所在的存储区域标记为分离split状态;以及将关键字匹配的用户数据删除,删除split状态;其中,处于split状态的存储区域不允许其他用户读写...

【专利技术属性】
技术研发人员:王阳
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:北京,11

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

1