分布式数据仓库中删除文件的方法、装置、设备及系统制造方法及图纸

技术编号:11542250 阅读:44 留言:0更新日期:2015-06-03 16:14
本发明专利技术公开了一种分布式数据仓库中删除文件的方法、装置、设备及系统,属于数据仓库管理领域。所述方法包括:向管理节点发送心跳上报;接收管理节点发送的携带有数据块标识的删除指令;将数据块标识存入至延迟队列中;在指定条件下删除延迟队列中存储的数据块标识所对应的数据块。本发明专利技术通过在接收管理节点发送的携带有数据块标识的删除指令,将数据块标识存入至延迟队列中,在指定条件下删除该延迟队列中存储的数据块标识所对应的数据块;解决了现有技术中NameNode中设置的回收站对某些情况下的误删除操作无法进行修复,降低了Hadoop系统的数据安全性的问题;达到了可以很大程度上保证了Hadoop系统中数据的安全性的效果。

【技术实现步骤摘要】
分布式数据仓库中删除文件的方法、装置、设备及系统
本专利技术涉及数据仓库管理领域,特别涉及一种分布式数据仓库中删除文件的方法、装置、设备及系统。
技术介绍
Hadoop是一种分布式系统基础架构,能够充分利用集群高速运算和存储,Hadoop实现了一个分布式系统(HDFS,HadoopDistributedFileSystem)。该HDFS的架构中可以包含一个管理节点NameNode和多个数据节点DataNode,存储在HDFS中的文件会被分成多个数据块,这些数据块被分布存储至不同的DataNode中。现有的Hadoop为了防止用户对文件误删除时引发的文件丢失,在NameNode中设置了回收站(Trash)的功能,当用户删除某一文件时,NameNode将该文件的目录修改至回收站目录下,此时DataNode并没有在物理上删除该文件,但由于该文件的目录被修改至回收站目录下,NameNode不会向用户反馈该文件的元数据以及块映射关系,因此用户也是无法查看到该文件的;如果用户发现该删除为误操作,想要恢复该文件,NameNode会将该文件名从回收站目录下移动至原目录下,完成对该文件的恢复,这样,当客户端需要查看该文件时,客户端根据NameNode反馈的该文件的元数据以及相关的块映射关系,就能到相关的DataNode中读取该文件所对应的数据块。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:在NameNode中设置的回收站对某些情况下的误删除操作无法进行修复,比如,当用户对该回收站进行了清理操作时,NameNode会确定出回收站中的文件所包含的存储在DataNode中的数据块,NameNode会向DataNode下发用于删除这些数据块的删除指令,DataNode则根据删除指令删除这些数据块;还比如,在集群启动前,如果NameNode中的元数据被误删除或损坏,此时启动NameNode时,NameNode的内存中不包含元数据,当DataNode启动之后,DataNode向Namenode上报数据块信息,由于NameNode中并不存在这些数据块信息,因此NameNode会向DataNode下发对这些数据块进行删除的删除指令,DataNode则删除这些数据块。由于DataNode在接收到删除指令之后会直接删除了相关数据块,因此即便用户在短时间内发现出现误删除,也无法对这些删除的数据块进行恢复,降低了Hadoop系统的数据安全性。
技术实现思路
为了解决现有技术中NameNode中设置的回收站对某些情况下的误删除操作无法进行修复,降低了Hadoop系统的数据安全性的问题,本专利技术实施例提供了一种分布式数据仓库中删除文件的方法、装置及电子设备。所述技术方案如下:第一方面,提供了一种分布式数据仓库中删除文件的方法,所述方法包括:数据节点向管理节点发送心跳上报,所述心跳上报包括所述数据节点存储的所有数据块的数据块标识,所述心跳上报用于使得所述管理节点根据所述心跳上报确定所述数据块标识到所述数据节点的映射;接收心跳返回,从接收到的心跳返回中获取所述管理节点发送的携带有数据块标识的删除指令;将所述数据块标识存入至延迟队列中并记录存入的时间;在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的所述数据节点中的数据块。第二方面,提供了一种分布式数据仓库中删除文件的方法,所述方法包括:管理节点接收客户端发送的用于指示删除指定文件的文件删除指令;接收数据节点发送的心跳上报,根据所述心跳上报确定所述数据块标识到所述数据节点的映射,所述心跳上报包括所述数据节点存储的所有数据块的数据块标识;对于每一个数据节点,根据预存的文件与数据块标识之间的对应关系以及根据所述心跳上报确定的所述数据块标识到所述数据节点的映射,确定出存储在所述数据节点中属于所述指定文件的数据块;在向所述数据节点发送的心跳返回中添加携带有所述数据块的数据块标识的删除指令,以便所述数据节点接收所述删除指令;将所述数据块标识存入至延迟队列中;在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的数据块。第三方面,提供了一种分布式数据仓库中删除文件的方法,所述方法包括:客户端向管理节点发送用于指示删除指定文件的文件删除指令,以便所述管理节点在接收到所述文件删除指令之后,对于每一个数据节点,根据预存的文件与数据块标识之间的对应关系以及根据数据节点发送的心跳上报确定的数据块标识到数据节点的映射,确定出存储在所述数据节点中属于所述指定文件的数据块;在向所述数据节点发送的心跳返回中添加携带有所述数据块的数据块标识的删除指令,以便所述数据节点接收所述删除指令;将所述数据块标识存入至延迟队列中;在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的数据块。第四方面,提供了一种分布式数据仓库中删除文件的装置,应用于数据节点中,所述装置包括:心跳发送模块,用于向管理节点发送心跳上报,所述心跳上报包括所述数据节点存储的所有数据块的数据块标识,所述心跳上报用于使得所述管理节点根据所述心跳上报确定所述数据块标识到所述数据节点的映射;获取模块,用于接收心跳返回,从心跳返回中获取所述管理节点发送的携带有数据块标识的删除指令;存入模块,用于将所述数据块标识存入至延迟队列中并记录存入的时间;删除模块,用于在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的所述数据节点中的数据块。第五方面,提供了一种分布式数据仓库中删除文件的装置,应用于管理节点中,所述装置包括:第三接收模块,用于接收客户端发送的用于指示删除指定文件的文件删除指令;第四接收模块,用于接收数据节点发送的心跳上报,根据所述心跳上报确定所述数据块标识到所述数据节点的映射,所述心跳上报包括所述数据节点存储的所有数据块的数据块标识;第二确定模块,用于对于每一个数据节点,根据预存的文件与数据块标识之间的对应关系以及根据所述心跳上报确定的所述数据块标识到所述数据节点的映射,确定出存储在所述数据节点中属于所述指定文件的数据块;第二发送模块,用于在向所述数据节点发送的心跳返回中添加携带有所述数据块的数据块标识的删除指令,以便所述数据节点接收所述删除指令;将所述数据块标识存入至延迟队列中;在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的数据块。第六方面,提供了一种分布式数据仓库中删除文件的装置,应用于客户端中,所述装置包括:第三发送模块,用于向管理节点发送用于指示删除指定文件的文件删除指令,以便所述管理节点在接收到所述文件删除指令之后,对于每一个数据节点,根据预存的文件与数据块标识之间的对应关系以及根据数据节点发送的心跳上报确定的数据块标识到数据节点之间的映射,确定出存储在所述数据节点中属于所述指定文件的数据块;在向所述数据节点发送的心跳返回中添加携带有所述数据块的数据块标识的删除指令,以便所述数据节点接收所述删除指令;将所述数据块标识存入至延迟队列中;在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的数据块。第七方面,提供了一种数据节点,所述数据节点包括如第四方面所述的分布式数据仓库中删除文件的装置。第八方面,提供了一种管理节点,所述管理节点包括第五方面所述的分布式数据仓库中删除文件的装置。第九方面,提供了一种客户端,所述本文档来自技高网
...

【技术保护点】
一种分布式数据仓库中删除文件的方法,其特征在于,所述方法包括:向管理节点发送心跳上报,所述心跳上报包括数据节点存储的所有数据块的数据块标识,所述心跳上报用于使得所述管理节点根据所述心跳上报确定所述数据块标识到所述数据节点的映射;接收心跳返回,从接收到的所述心跳返回中获取所述管理节点发送的携带有数据块标识的删除指令;将所述数据块标识存入至延迟队列中并记录存入的时间;在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的所述数据节点中的数据块。

【技术特征摘要】
1.一种分布式数据仓库中删除文件的方法,其特征在于,所述方法包括:向管理节点发送心跳上报,所述心跳上报包括数据节点存储的所有数据块的数据块标识,所述心跳上报用于使得所述管理节点根据所述心跳上报确定所述数据块标识到所述数据节点的映射;接收心跳返回,从接收到的所述心跳返回中获取所述管理节点发送的携带有数据块标识的删除指令;将所述数据块标识存入至延迟队列中并记录存入的时间,所述延迟队列用于保存需要删除的数据块的数据块标识;在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的所述数据节点中的数据块。2.根据权利要求1所述的方法,其特征在于,所述在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的数据节点中的数据块,包括:在所述数据块标识存入至所述延迟队列的时间达到预定时间阈值时,删除所述数据块标识所对应的所述数据节点中的数据块;或,在接收到客户端下发的用于指示清空所述延迟队列中所有数据块标识所对应的数据块的清空指令时,删除所述延迟队列中所有数据块标识所对应的所述数据节点中的数据块。3.根据权利要求2所述的方法,其特征在于,在所述将所述数据块标识存入至延迟队列中并记录存入的时间之后,还包括:接收所述管理节点发送的用于指示恢复所述延迟队列中存储的所述数据块标识所对应的数据块的恢复指令;向所述管理节点发送携带有所述数据节点存储的所有数据块的数据块标识的心跳上报,以便所述管理节点根据接收到的所述心跳上报中的所述数据块标识构建所述数据块标识到所述数据节点的映射。4.根据权利要求2或3所述的方法,其特征在于,在所述在接收到所述客户端下发的用于指示清空所述延迟队列中所有数据块标识所对应的数据块的清空指令时,删除所述延迟队列中所有数据块标识所对应的所述数据节点中的数据块之前,还包括:确定所述延迟队列中所有数据块标识所对应的所述数据节点中的数据块;计算所述数据节点中的所述数据块在所述数据节点中的占用参数;将所述占用参数发送给所述管理节点,以便所述管理节点接收所述占用参数,所述客户端在查看到所述占用参数之后确定是否需要向所述数据节点下发用于指示清空所述数据节点中所述延迟队列中所有数据块标识所对应的数据块的清空指令。5.根据权利要求4所述的方法,其特征在于,所述占用参数包括延迟删除存储空间和延迟删除百分比,所述计算所述数据节点中的所述数据块在所述数据节点中的占用参数,包括:计算所述数据块所占用的所述数据节点的存储空间,将所述存储空间确定为所述延迟删除存储空间;计算所述延迟删除存储空间占用所述数据节点的总存储空间的百分比,将所述百分比确定为所述延迟删除百分比。6.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:接收所述客户端发送的携带有指定时长的时间配置指令,所述时间配置指令用于对所述预定时间阈值进行动态配置;根据所述时间配置指令将所述预定时间阈值更新为所述指定时长。7.一种分布式数据仓库中删除文件的方法,其特征在于,所述方法包括:接收客户端发送的用于指示删除指定文件的文件删除指令;接收数据节点发送的心跳上报,根据所述心跳上报确定数据块标识到所述数据节点的映射,所述心跳上报包括所述数据节点存储的所有数据块的数据块标识;对于每一个数据节点,根据预存的文件与数据块标识之间的对应关系以及根据所述心跳上报确定的所述数据块标识到所述数据节点的映射,确定出存储在所述数据节点中属于所述指定文件的数据块;在向所述数据节点发送的心跳返回中添加携带有所述数据块的数据块标识的删除指令,以便所述数据节点接收所述删除指令;将所述数据块标识存入至延迟队列中,所述延迟队列用于保存需要删除的数据块的数据块标识;在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的数据块。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:接收所述客户端发送的用于指示恢复所述指定文件的文件恢复指令;恢复符合条件的第一对应关系,所述符合条件的第一对应关系为在发送所述删除指令之前备份的且备份的时间与发送所述删除指令的时间距离最近的第一对应关系,所述第一对应关系包含所述指定文件和所述指定文件包含的数据块的数据块标识;恢复第二对应关系,所述第二对应关系为数据块的数据块标识到存储所述数据块的数据节点的映射。9.根据权利要求8所述的方法,其特征在于,所述恢复符合条件的第一对应关系,包括:获取所述符合条件的第一对应关系;将所述第一对应关系读入管理节点的内存。10.根据权利要求8所述的方法,其特征在于,所述恢复第二对应关系,包括:向所述数据节点发送用于指示恢复所述延迟队列中存储的所述数据块标识所对应的数据块的恢复指令,以便所述数据节点接收到所述恢复指令之后,向管理节点发送携带有存储的所有数据块的数据块标识的心跳上报;接收所述数据节点发送的所述心跳上报;根据接收到的所述心跳上报中的所述数据块标识构建所述数据块标识到所述数据节点的映射。11.根据权利要求7至10中任一所述的方法,其特征在于,所述方法还包括:接收所述数据节点发送的占用参数,所述占用参数包括延迟删除存储空间和延迟删除百分比,所述延迟删除存储空间为所述数据节点的延迟队列中所有数据块标识所对应的数据块所占的存储空间,所述延迟删除百分比为所述延迟删除存储空间占用所述数据节点的总存储空间的百分比,以便所述客户端在查看到所述占用参数之后确定是否向所述数据节点下发用于指示清空所述数据节点中所述延迟队列中所有数据块标识所对应的数据块的清空指令。12.一种分布式数据仓库中删除文件的方法,其特征在于,所述方法包括:向管理节点发送用于指示删除指定文件的文件删除指令,以便所述管理节点在接收到所述文件删除指令之后,对于每一个数据节点,根据预存的文件与数据块标识之间的对应关系以及根据数据节点发送的心跳上报确定的数据块标识到数据节点的映射,确定出存储在所述数据节点中属于所述指定文件的数据块;在向所述数据节点发送的心跳返回中添加携带有所述数据块的数据块标识的删除指令,以便所述数据节点接收所述删除指令;将所述数据块标识存入至延迟队列中,所述延迟队列用于保存需要删除的数据块的数据块标识;在指定条件下删除所述延迟队列中存储的所述数据块标识所对应的数据块。13.根据权利要求12所述的方法,其特征在于,所述方法还包括:查看每一个数据节点发送给所述管理节点的占用参数,所述占用参数包括延迟删除存储空间和延迟删除百分比,所述延迟删除存储空间为所述数据节点的延迟队列中所有数据块标识所对应的数据块所占的存储空间,所述延迟删除百分比为所述延迟删除存储空间占用所述数据节点的总存储空间的百分比;确定是否需要向所述数据节点中的至少一个数据节点下发用于指示清空所述数据节点中所述延迟队列中所有数据块标识所对应的数据块的清空指令;若确定出需要向所述数据节点中的至少一个数据节点下发所述清空指令,则向确定出的所述数据节点下发所述清空指令。14.根据权利要求12所述的方法,其特征在于,所述方法还包括:向所述数据节点下发携带有指定时长的时间配置指令,所述时间配置指令用于对预定时间阈值进行动态配置,以便所述数据节点根据所述时间配置指令将所述预定时间阈值更新为所述指定时长。15.根据权利要求12所述的方法,其特征在于,所述方法还包括:向所述管理节点发送用于指示恢复所述指定文件的文件恢复指令,以便所述管理节点在接收到所述文件恢复指令之后,恢复符合条件的第一对应关系,所述符合条件的第一对应关系为在发送所述删除指令之前备份的且备份的时间与发送所述删除指令的时间距离最近的第一对应关系,所述第一对应关系包含所述指定文件和所述指定文件包含的数据块的数据块标识;恢复第二对应关系,所述第二对应关系为指定文件包含的所述数据块标识到所述数据节点的映射。16.一种分布式数据仓库中删除文件的装置,其特征在于,所述装置包括:心跳发送模块,用于向管理节点发送心跳上报,所述心跳上报包括数据节点存储的所有数据块的数据块标识,所述心跳上报用于使得所述管理节点根据所述心跳上报确定所述数据块标识到所述数据节点的映射;获取模块,用于接收心跳返回,从所述心跳返回中获取所述管理节点发送的携带有数据块标识的删除指令;存入模块,用于将所述数据块标识存入至延迟队列中并记录存入的时间,所述延迟队列用于保存需要删除的数据块的数据块标识;删除模块,用于在指定条件下删除所述延迟队列中存...

【专利技术属性】
技术研发人员:庄虔玉鲍春健麦艺华翟艳堂
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:广东;44

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

1