HDFS存储平台的安全校验及修复的方法和装置制造方法及图纸

技术编号:21953242 阅读:20 留言:0更新日期:2019-08-24 18:01
本发明专利技术提供了一种HDFS存储平台的安全校验及修复的方法和装置。该装置设置在HDFS存储平台上,包括名字节点和数据节点;名字节点用于管理文件块的存储数据节点信息,接收数据节点发送的损坏的文件块的查询请求,向数据节点返回损坏的文件块的备份存储数据节点信息;数据节点用于存储文件块,对存储的文件块进行定期校验,检测文件块是否发生损坏,根据名字节点返回的损坏的文件块的备份存储数据节点信息从其它数据节点下载数据块,完成损坏的文件块的修复操作。本发明专利技术通过使用不可逆的MD5算法计算文件块校验值,解决了原系统中可能出现的文件篡改问题,保证了校验的可靠性,并实现了根据需要对校验间隔的调整,提高了校验效率。

Method and Device for Safety Check and Repair of HDFS Storage Platform

【技术实现步骤摘要】
HDFS存储平台的安全校验及修复的方法和装置
本专利技术涉及计算机信息
,尤其涉及一种HDFS存储平台的安全校验及修复的方法和装置。
技术介绍
Hadoop是一个能对大量数据进行分布式存储和海量信息分析的软件框架。HDFS(HadoopDistributedFileSystem,分布式文件系统)是Hadoop的核心之一,它将多台服务器的磁盘组合在一起成为一个分布式的存储系统,用于分布式存储海量数据。它简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序,具有高可靠、高性能、可伸缩的能力。HDFS是一个主从架构的分布式文件系统,主要由一个名字节点NameNode和许多个数据节点DataNode组成。存放入HDFS中的数据是一个文件分割成的一个或多个块,这些块被存储在一组数据节点中。NameNode主要的功能是负责执行诸如文件打开、关闭以及对文件重命名等一系列和文件命名空间相关的指令,同时还确定块与数据节点的映射。DataNode的主要功能是负责处理来自客户端的读写请求,同时它还可以按照NameNode给出的指示来执行与文件块相关的操作。HDFS采用了多副本方式对数据进行冗余存储,保证系统的容错性和可用性。每一个文件块默认至少有三个备份,至少有一个备份放置在另一个机架中以防止当前运行备份的节点所在的机架宕机导致数据丢失,其他的备份放置在文件块所在机架的不同节点中。当一个文件块发生损坏时,可以从存储在其他节点上的副本中进行恢复,增加了数据存储的鲁棒性。采用冗余备份的方式可以有效地提高数据文件的可靠性,特别是对于重要的大数据文件。目前HDFS为保证数据完整性使用两种校验方式:方式1.在数据读取时采用校验和校验;方式2.DataNode运行后台进程文件块检测程序DataBlockScanner,定期验证存储在这个数据节点上的所有文件块。对于方式1,HDFS每固定长度(默认512字节)就会计算一次校验和,校验和和文件块一起保存,对于一个大文件,分成小文件块后再进行校验需要很长时间,计算效率低且浪费存储资源。同时原始HDFS采用的是循环冗余校验CRC32,但CRC32没有出于数据安全的考虑,只能根据校验值是否相同检测出文件块是否损坏,并不能检测出文件块是否被篡改,攻击者可通过原始CRC32校验码生成相同校验码的假文件,此时文件块被替换但CRC32值仍然相同,无法检测出来,无法实现对数据完整性可靠校验。对于方式2,HDFS每隔504个小时(3周)进行一次扫描,若在此时间段内发生文件块损坏,系统无法检测出来,无法保证存储系统中的数据完整性。综上所述可以看出,现有的HDFS存储平台的安全校验方法存在校验效率低下、校验频度过低、校验准确度低等问题,因此,提出一种更有效的HDFS存储平台的安全校验及修复方法是十分有必要的。
技术实现思路
本专利技术的实施例提供了一种HDFS存储平台的安全校验及修复的方法和装置,以克服现有技术的问题。为了实现上述目的,本专利技术采取了如下技术方案。根据本专利技术的一个方面,提供了一种HDFS存储平台的安全校验及修复的装置,包括:所述装置设置在HDFS存储平台上,包括名字节点和数据节点;所述的名字节点,用于管理文件块的存储数据节点信息,接收数据节点发送的损坏的文件块的查询请求,向所述数据节点返回所述损坏的文件块的备份存储数据节点信息;所述的数据节点,用于存储文件块,对存储的文件块进行定期校验,检测文件块是否发生损坏,根据所述名字节点返回的损坏的文件块的备份存储数据节点信息从其它数据节点下载数据块,完成所述损坏的文件块的修复操作。优选地,所述的名字节点包括:数据分块处理模块,用于根据用户上传的数据文件大小,以设定的文件块大小对所述数据文件进行分块处理,为每个文件块建立三个备份的文件块,将所有文件块分布存储在不同的数据节点上;存储信息管理模块,用于存储和管理每个文件块的元信息和每个数据文件对应的文件块列表信息,所述文件块的元信息包括;文件块名称、文件块索引、存储位置、存放节点、所属文件名称和上传时间;查询请求处理模块,用于接收数据节点发送的损坏的文件块的查询请求,向所述数据节点返回所述损坏的文件块的备份存储数据节点信息。优选地,所述的数据节点包括:存储模块,用于存储文件块,使用MD5算法根据从名字节点获取的文件块的元信息计算其所存储的文件块的哈希值,将所述哈希值作为文件块的校验值,将所述文件块的校验值和从名字节点获取的文件块的元信息一起进行关联存储;校验模块,用于对所述存储模块存储的文件块进行定期校验,检测文件块是否发生损坏,将检测出来的损坏的文件块的查询请求发送给所述名字节点;修复模块,用于根据所述名字节点返回的损坏的文件块的备份存储数据节点信息从其它数据节点下载数据块,完成所述损坏的文件块的修复操作。优选地,所述的校验模块,具体用于按照设定的校验间隔根据文件块的元信息对存储模块所存储的文件块重新计算校验值,将重新计算出的哈希值与存储模块所存储的校验值进行比对,如果比对结果为不一致,则判断文件块发生损坏,将损坏的文件块的查询请求发送给名字节点;如果比对结果为一致,判断文件块正常;如果重新校验文件块时,发现文件块打开失败或者文件块不存在了,则判断文件块发生损坏,将损坏的文件块的查询请求发送给名字节点。优选地,所述的修复模块,具体用于若发现损坏的文件块还在数据节点上,将损坏的文件块删除,接收到名字节点返回的损坏的文件块的备份存储数据节点信息后,与存储备份文件块的其它数据节点进行通信,从所述其他数据节点上下载备份的文件块和备份的文件块对应的元信息,根据备份的文件块对应的元信息计算出校验值,将计算出的校验值与存储的损坏的文件块对应的校验值进行比对,若比对结果为相同,则判断所述损坏的文件块修复成功;若比对结果为不相同,判断所述损坏的文件块修复失败,从另一个存储备份文件块的其它数据节点的下载备份的文件块和备份的文件块对应的元信息,并将计算出的校验值与存储的损坏的文件块对应的校验值进行比对,重复上述过程,直到计算出的校验值与存储的损坏的文件块对应的校验值的比对结果为相同;如果根据所有下载的备份的文件块计算出的校验值与存储的损坏的文件块对应的校验值的比对结果都为不相同,则判断系统中不再有所述损坏的文件块的完整的备份文件块,无法对所述损坏的文件块进行修复。根据本专利技术的另一个方面,提供了一种HDFS存储平台的安全校验及修复的方法,包括:通过HDFS存储平台上的名字节点管理文件块的存储数据节点信息,通过HDFS存储平台上的数据节点存储文件块;所述名字节点接收HDFS存储平台上的数据节点发送的损坏的文件块的查询请求,向所述数据节点返回所述损坏的文件块的备份存储数据节点信息;所述数据节点对存储的文件块进行定期校验,检测文件块是否发生损坏,根据所述名字节点返回的损坏的文件块的备份存储数据节点信息从其它数据节点下载数据块,完成所述损坏的文件块的修复操作。优选地,所述的名字节点,具体用于根据用户上传的数据文件大小,以设定的文件块大小对所述数据文件进行分块处理,为每个文件块建立三个备份的文件块,将所有文件块分布存储在不同的数据节点上;存储和管理每个文件块的元信息和每个数据文件对应本文档来自技高网
...

【技术保护点】
1.一种HDFS存储平台的安全校验及修复的装置,其特征在于,包括:所述装置设置在HDFS存储平台上,包括名字节点和数据节点;所述的名字节点,用于管理文件块的存储数据节点信息,接收数据节点发送的损坏的文件块的查询请求,向所述数据节点返回所述损坏的文件块的备份存储数据节点信息;所述的数据节点,用于存储文件块,对存储的文件块进行定期校验,检测文件块是否发生损坏,根据所述名字节点返回的损坏的文件块的备份存储数据节点信息从其它数据节点下载数据块,完成所述损坏的文件块的修复操作。

【技术特征摘要】
1.一种HDFS存储平台的安全校验及修复的装置,其特征在于,包括:所述装置设置在HDFS存储平台上,包括名字节点和数据节点;所述的名字节点,用于管理文件块的存储数据节点信息,接收数据节点发送的损坏的文件块的查询请求,向所述数据节点返回所述损坏的文件块的备份存储数据节点信息;所述的数据节点,用于存储文件块,对存储的文件块进行定期校验,检测文件块是否发生损坏,根据所述名字节点返回的损坏的文件块的备份存储数据节点信息从其它数据节点下载数据块,完成所述损坏的文件块的修复操作。2.根据权利要求1所述的装置,其特征在于,所述的名字节点包括:数据分块处理模块,用于根据用户上传的数据文件大小,以设定的文件块大小对所述数据文件进行分块处理,为每个文件块建立三个备份的文件块,将所有文件块分布存储在不同的数据节点上;存储信息管理模块,用于存储和管理每个文件块的元信息和每个数据文件对应的文件块列表信息,所述文件块的元信息包括;文件块名称、文件块索引、存储位置、存放节点、所属文件名称和上传时间;查询请求处理模块,用于接收数据节点发送的损坏的文件块的查询请求,向所述数据节点返回所述损坏的文件块的备份存储数据节点信息。3.根据权利要求2所述的装置,其特征在于,所述的数据节点包括:存储模块,用于存储文件块,使用MD5算法根据从名字节点获取的文件块的元信息计算其所存储的文件块的哈希值,将所述哈希值作为文件块的校验值,将所述文件块的校验值和从名字节点获取的文件块的元信息一起进行关联存储;校验模块,用于对所述存储模块存储的文件块进行定期校验,检测文件块是否发生损坏,将检测出来的损坏的文件块的查询请求发送给所述名字节点;修复模块,用于根据所述名字节点返回的损坏的文件块的备份存储数据节点信息从其它数据节点下载数据块,完成所述损坏的文件块的修复操作。4.根据权利要求3所述的装置,其特征在于:所述的校验模块,具体用于按照设定的校验间隔根据文件块的元信息对存储模块所存储的文件块重新计算校验值,将重新计算出的哈希值与存储模块所存储的校验值进行比对,如果比对结果为不一致,则判断文件块发生损坏,将损坏的文件块的查询请求发送给名字节点;如果比对结果为一致,判断文件块正常;如果重新校验文件块时,发现文件块打开失败或者文件块不存在了,则判断文件块发生损坏,将损坏的文件块的查询请求发送给名字节点。5.根据权利要求3或者4所述的装置,其特征在于:所述的修复模块,具体用于若发现损坏的文件块还在数据节点上,将损坏的文件块删除,接收到名字节点返回的损坏的文件块的备份存储数据节点信息后,与存储备份文件块的其它数据节点进行通信,从所述其他数据节点上下载备份的文件块和备份的文件块对应的元信息,根据备份的文件块对应的元信息计算出校验值,将计算出的校验值与存储的损坏的文件块对应的校验值进行比对,若比对结果为相同,则判断所述损坏的文件块修复成功;若比对结果为不相同,判断所述损坏的文件块修复失败,从另一个存储备份文件块的其它数据节点的下载备份的文件块和备份的文件块对应的元信息,并将计算出的校验值与存储的损坏的文件块对应的校验值进行比对,重复上述过程,直到计算出的校验值与存储的损坏的文件块对应的校验值的比对结果为相同;如果根据所有下载的备份的文件块计算出的校验值与存储的损坏的文件块对应的校验值的比对结果都为不相同,则判断系统中不再有所述损坏的文件块的完整的备...

【专利技术属性】
技术研发人员:李坚张振江刘云李佳欣
申请(专利权)人:北京交通大学
类型:发明
国别省市:北京,11

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

1