【技术实现步骤摘要】
本专利技术涉及一种文件管理
,尤其涉及一种文件复制方法及装置。
技术介绍
随着计算机科技的发展,越来越多的文件采用电子的形式存储在计算机的硬件设备中,且随着存储文件的大小以及功能不同,涌现出了各种大小容量的文件存储设备。例如,对于存储普通几个M大小的文件,通常采用通用的U盘之类的文件存储设备即可满足需求。而对于各种进行大数据处理的云平台中,用于存储大小在T级的大文件的文件存储设备,需要采用类似于Hadoop分布式文件系统(HadoopDistributedFileSystem;HDFS)的文件存储设备来实现文件存储,因此,HDFS多适用于云平台中。现有技术的HDFS中的文件也可以实现复制,通常采用Hadoop自带的HDFSdistcp命令,发起MapReduce任务进行复制。但是,现有的HDFS中只支持AppendOnly文件,且不能随机写,因此现有的HDFS中进行文件复制时,仅仅能够对整个大文件进行复制,复制速度非常慢,而且复制过程中若出错,还需要重新复制整个大文件,因此现有HDFS中,大文件复制效率非常低。
技术实现思路
本专利技术提供了一种文 ...
【技术保护点】
一种文件复制方法,所述方法应用于HDFS中,其特征在于,所述方法包括:根据待复制的文件的长度、所述文件的起始位置和块的预设最大长度,生成将所述文件复制至所述HDFS中所需的块列表信息,所述块列表信息中包括将所述文件复制至所述HDFS中所需的M个块中各所述块的标识、各所述块存储所述文件时对应的起始偏移位置和各所述块存储所述文件的实际长度;所述M为大于等于1的正整数;根据所述M个块中各所述块的标识、各所述块存储所述文件时对应的起始偏移位置和各所述块存储所述文件的实际长度,将所述文件分块复制至所述M个块中,得到M个临时目标文件;将所述M个临时目标文件合并,得到复制后的目标文件。
【技术特征摘要】
1.一种文件复制方法,所述方法应用于HDFS中,其特征在于,所述方法包括:根据待复制的文件的长度、所述文件的起始位置和块的预设最大长度,生成将所述文件复制至所述HDFS中所需的块列表信息,所述块列表信息中包括将所述文件复制至所述HDFS中所需的M个块中各所述块的标识、各所述块存储所述文件时对应的起始偏移位置和各所述块存储所述文件的实际长度;所述M为大于等于1的正整数;根据所述M个块中各所述块的标识、各所述块存储所述文件时对应的起始偏移位置和各所述块存储所述文件的实际长度,将所述文件分块复制至所述M个块中,得到M个临时目标文件;将所述M个临时目标文件合并,得到复制后的目标文件。2.根据权利要求1所述的方法,其特征在于,根据待复制的文件的长度、所述文件的起始位置和块的预设最大长度,生成将所述文件复制至所述HDFS中所需的块列表信息,具体包括:根据待复制的所述文件的长度和所述块的预设最大长度,确定将所述文件复制至所述HDFS中所需的所述块的数量所述M;根据所述文件的长度、所述块的预设最大长度以及所述块的数量M,确定各所述块存储所述文件的实际长度;根据所述文件的起始位置以及各所述块存储所述文件的实际长度,确定各所述块存储所述文件时对应的起始偏移位置。3.根据权利要求2所述的方法,其特征在于,根据待复制的所述文件的长度和所述块的预设最大长度,确定将所述文件复制至所述HDFS中所需的所述块的数量所述M,具体包括:获取所述文件的长度除以所述块的预设最大长度所得的数中的整数数值;确定所述文件复制至所述HDFS中所需的所述块的数量所述M等于所述整数数值加1。4.根据权利要求3所述的方法,其特征在于,根据所述文件的长度、所述块的预设最大长度以及所述块的数量M,确定各所述块存储所述文件的实际长度,具体包括:确定所述M个块中前M-1个块存储所述文件的实际长度均为所述块的预设最大长度;确定所述M个块中最后1个块存储所述文件的实际长度为所述文件的长度减去所述块的预设最大长度乘以(M-1)的差值。5.根据权利要求1-4任一所述的方法,其特征在于,将所述M个临时目标文件合并,得到复制后的目标文件...
【专利技术属性】
技术研发人员:石子夜,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。