一种防止HBase中数据误删除的方法及系统的制作方法

文档序号:9489686阅读:404来源:国知局
一种防止HBase中数据误删除的方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据安全技术领域,特别涉及一种防止HBase中数据误删除的方法及系统。
【背景技术】
[0002]HBase是一个分布式的、面向列的开源数据库,HBase中的所有数据文件都存储在Hadoop的分布式文件系统HDFS上。HBase支持数据节点的横向扩展,存储量也会依赖于节点的数量。在生产环境中,HBase表的数据量一般都比较大,误删恢复成本比较大。虽然Hadoop的分布式文件系统HDFS有回收站策略,但是对于Hbase的表数据不生效。
[0003]—旦做出删除Hbase表的操作之后,Hbase的元数据首先会被删除,然后各个reg1n(数据分区)的数据会被移动到一个叫“archive”的文件夹中,最后Hbase数据的master主线程会在5分钟之后对archive中的数据进行清除。有时候Hbase的使用者做出删除操作之后,并不一定在短时间内认识到数据表已经被删除,当5分钟之后,数据就彻底不能恢复了。因此,如何防止Hbase表误删除,是本领域技术人员需要解决的技术问题。

【发明内容】

[0004]本发明的目的是提供一种防止HBase中数据误删除的方法及系统,能够防止HBase中数据误删除,保证HBase中数据完整性。
[0005]为解决上述技术问题,本发明提供一种防止HBase中数据误删除的方法,包括:
[0006]根据用户操作在HDFS目录下设定存储被删除的数据文件的存储文件;
[0007]设定监控的时间周期,按照所述时间周期,监控Hbase在HDFS目录下的缓存文件夹是否有新增的数据文件;
[0008]若有,则将新增的所述数据文件存储到所述存储文件下。
[0009]其中,所述设定监控的时间周期,按照所述时间周期,监控Hbase在HDFS目录下的缓存文件夹是否有新增的数据文件,包括:
[0010]在定时启动脚本中添加扫描监控缓存文件夹程序,并设定定时启动所述扫描监控缓存文件夹程序的时间周期;
[0011]调用所述启动脚本,按照所述时间周期扫描所述缓存文件夹是否有新增的数据文件。
[0012]其中,所述将新增的所述数据文件存储到所述存储文件下包括:
[0013]将新增的所述数据文件移动到所述存储文件下。
[0014]其中,当用户出现HBase中数据误删除时,还包括:
[0015]在所述存储文件中确定误删除的数据文件,并将误删除的所述数据文件移动到Hbase在HDFS中相对应的数据目录下;
[0016]调用所述Hbase的元数据修复命令对元数据进行修复。
[0017]其中,还包括:
[0018]当所述存储文件中存储的数据文件的存储空间大于阈值时,提醒用户对所述存储文件中存储的数据文件进行清理。
[0019]本发明提供一种防止HBase中数据误删除的系统,包括:
[0020]存储模块,用于根据用户操作在HDFS目录下设定存储被删除的数据文件的存储文件;
[0021]监控模块,用于设定监控的时间周期,按照所述时间周期,监控Hbase在HDFS目录下的缓存文件夹是否有新增的数据文件;
[0022]若有,则触发存储模块将新增的所述数据文件存储到所述存储文件下。
[0023]其中,所述监控模块包括:
[0024]设定单元,用于在定时启动脚本中添加扫描监控缓存文件夹程序,并设定定时启动所述扫描监控缓存文件夹程序的时间周期;
[0025]监控单元,用于调用所述启动脚本,按照所述时间周期扫描所述缓存文件夹是否有新增的数据文件。
[0026]其中,所述存储模块具体用于:
[0027]将新增的所述数据文件移动到所述存储文件下。
[0028]其中,当用户出现HBase中数据误删除时,还包括:
[0029]移动模块,用于在所述存储文件中确定误删除的数据文件,并将误删除的所述数据文件移动到Hbase在HDFS中相对应的数据目录下;
[0030]修复模块,用于调用所述Hbase的元数据修复命令对元数据进行修复。
[0031]其中,还包括:
[0032]提醒模块,用于当所述存储文件中存储的数据文件的存储空间大于阈值时,提醒用户对所述存储文件中存储的数据文件进行清理。
[0033]本发明所提供的防止HBase中数据误删除的方法及系统,该方法包括:根据用户操作在HDFS目录下设定存储被删除的数据文件的存储文件;设定监控的时间周期,按照所述时间周期,监控Hbase在HDFS目录下的缓存文件夹是否有新增的数据文件;若是,则将新增的所述数据文件存储到所述存储文件下;
[0034]由于HBase中数据被删除后会放置在缓存文件夹中一定时间,因此该方法通过对缓存文件夹进行监控,当发现有新增的数据文件时,说明用户将其删除,将用户删除的数据文件存储在用户指定的存储文件下,若用户发现数据被误删除时,到存储文件下找到相应的数据即可;因此该方法能够防止HBase中数据误删除,大大减少HBase中数据被删除后技术人员的工作量。
【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0036]图1为本发明实施例所提供的防止HBase中数据误删除的方法的流程图;
[0037]图2为本发明实施例所提供的防止HBase中数据误删除的系统的结构框图;
[0038]图3为本发明实施例所提供的另一防止HBase中数据误删除的系统的结构框图;
[0039]图4为本发明实施例所提供的又一防止HBase中数据误删除的系统的结构框图。
【具体实施方式】
[0040]本发明的核心是提供一种防止HBase中数据误删除的方法及系统,能够防止HBase中数据误删除,保证HBase中数据完整性。
[0041]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]请参考图1,图1为本发明实施例所提供的防止HBase中数据误删除的方法的流程图;该方法可以包括:
[0043]SlOO、根据用户操作在HDFS目录下设定存储被删除的数据文件的存储文件;
[0044]其中,这里的存储文件可以有用户指定,存储文件的作用是为了存储被用户删除的数据文件。
[0045]这里将存储文件设置在HDFS目录下,由于Hbase的数据都保存在HDFS中相对应的数据目录中,因此,当发现用户误操作时,可以快速方便的将存储文件中相对应的误删除的数据文件直接移动到数据目录中。
[0046]sllO、设定监控的时间周期,按照所述时间周期,监控Hbase在HDFS目录下的缓存文件夹是否有新增的数据文件;
[0047]其中,根据Hbase中Hbase表的删除机制,即删除Hbase表的操作之后,Hbase的元数据首先会被删除,然后各个reg1n(数据分区)的数据会被移动到一个叫“archive”的文件夹中即这里的缓存文件夹,最后Hbase数据的master主线程会在5分钟之后对archive中的数据进行清除。因此,可以定期的扫描Hbase数据在Hadoop分布式文件系统HDFS的“archive”文件夹,这里的监控的时间周期可以由用户自己确定,但是要小于缓存文件夹的清除时间,例如这里要小于5分钟。
[0048]监控Hbase在HDFS目录下的缓存文件夹是否有新增的数据文件,若没有,则说明用户没有对Hbase中数据进行删除,若有,则说明用户对Hbase中数据进行删除。删除的数据文件会首先被放到缓存文件夹中。
[0049]其中,这里的监控方式可以由用户自身进行确定,可以编写定时监控程序对缓存文件夹进行监控,也可以利用Iinux下的crontab命令建定时启动任务,优选的,可以包括:
[0050]在定时启动脚本中添加扫描监控缓存文件夹程序,并设定定时启动所述扫描监控缓存文件夹程序的时间周期;
[0051]调用所述启动脚本,按照所述时间周期扫描所述缓存文件夹是否有新增的数据文件。
[0052]其中,这里可以简单快捷的利用Iinux下的crontab命令建定时启动任务。在定时启动脚本中添加扫描监控缓存文件夹程序,并设定定时启动所述扫描监控缓存文件夹程序的时间周期;利用crontab命令定时执行该启动脚本,对缓存文件夹进行监控。即具体过程可以是:
[0053]在shell指令中设置描监控缓存文件夹程序以及执行描监控缓存文件夹程序;
[0054]在crontab配置文件中添加定时调用所述shell指令任务,设置定时调用所述shell指令的时间周期,刷新crontab的配置。
[0055]sl20、若有,则将新增的所述数据文件存储到所述存储文件下。
[0056]其中,将被用户删除的数据文件存储到存储文件中;这里的存储方式可以是将缓存文件夹中的新增的数据文件进行备份后,存储在存储文件中;也可以优选的,将新增的所述数据文件移动到所述存储文件下。即直接将缓存文件夹中的新增的数据文件移动到存储文件中。这样可以节省存储空间。
[0057]这里将新增的所述数据文件存储到所述存储文件下的操作程序可以设置在定时启动的监控任务中,也可以单独利用一个程序进行操作,这时需要监控任务在发现有新增的数据文件时触发该程序。
[0058]通过上述方法可以防止被用户误删除的数据文件被彻底删除,造成后续技术人员大量的恢复工作。
[0059]基于上述技术方案,本发明实施例提供的防止HBase中数据误删除的方法,该方法通过对缓存文件夹进行监控,当发现有新增的数据文件时,说明用户将其删除,将用户删除的数据文件存储在用户指定的存储文件下,若用户发现数据被误删除时,到存储文件下找到相应的数据即可;因此该方法能够防止HBase中数据误删除,大大减少HBase中数据被删除后技术人员的工作量。
[0060]基于上述技术方案,当用户出现HBase中数据误删除时,还包括:
[0061]在所述存储文件中确定误删除的数据
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1