CN110457278A - 一种文件拷贝方法、装置、设备和存储介质 - Google Patents

一种文件拷贝方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110457278A
CN110457278A CN201810427206.0A CN201810427206A CN110457278A CN 110457278 A CN110457278 A CN 110457278A CN 201810427206 A CN201810427206 A CN 201810427206A CN 110457278 A CN110457278 A CN 110457278A
Authority
CN
China
Prior art keywords
data
file
copy
hard disk
useful person
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810427206.0A
Other languages
English (en)
Inventor
梁子铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810427206.0A priority Critical patent/CN110457278A/zh
Publication of CN110457278A publication Critical patent/CN110457278A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种文件拷贝方法、装置、设备和存储介质,该方法包括:在检测到每一文件的数据拷贝完成时,依据位于所述文件尾部的第一长度数据,或者,依据位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据,检验所述文件的数据是否拷贝完整;若所述文件的数据未拷贝完整,则控制硬盘删除所述文件的已拷贝数据,并重新拷贝所述文件。本发明实施例通过在数据拷贝过程中对单个文件进行及时的短校验,降低文件的校验时间,并在短检验后对拷贝不完整的文件进行及时地重新拷贝,实现在文件拷贝过程中自动保证全部文件数据的完整性,无需人工干预,提高文件拷贝效率并降低拷贝成本。

Description

一种文件拷贝方法、装置、设备和存储介质
技术领域
本发明实施例涉及数据交互技术领域,尤其涉及一种文件拷贝方法、装置、设备和存储介质。
背景技术
随着电子设备的不断创新和普及,人们的生活和工作中越来越多的采用各种各样的嵌入式计算机电子设备来记录和收集日常中的文本和影像等信息,并在一段时间后将文本和影像等文件从电子设备的存储卡中拷贝至移动硬盘等其他存储介质中,以将数据进行永久备份和保存。进而数据拷贝的完整性至关重要。
现有的数据拷贝方式中,用户需要在全部数据拷贝结束后,依次打开每个文件来人工检查各个文件是否拷贝完整。或者采用特定的文件校验算法,在一个数据文件拷贝结束时,对整个文件计算相应的文件校验值,以此来验证该文件的完整性。
然而,现有的数据拷贝校验方式自主性较差,且校验耗时较长。尤其对于大批量数据的拷贝,无论是人工校验方式还是特定的文件校验算法,用户均需要利用或者等待较长的时间来查验或者获取文件拷贝的校验结果,并依据用户找回拷贝失败的文件再次进行拷贝,降低用户拷贝数据的用户体验,且有些拷贝失败的文件由于没有及时重拷而无法再找回。
发明内容
本发明实施例提供了一种文件拷贝方法、装置、设备和存储介质,能够在数据拷贝过程中自动保证全部文件数据的完整性,提高文件拷贝效率并降低拷贝成本。
第一方面,本发明实施例提供了一种文件拷贝方法,包括:
在检测到每一文件的数据拷贝完成时,依据位于所述文件尾部的第一长度数据,或者,依据位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据,检验所述文件的数据是否拷贝完整;
若所述文件的数据未拷贝完整,则控制硬盘删除所述文件的已拷贝数据,并重新拷贝所述文件。
第二方面,本发明实施例提供了一种文件拷贝装置,包括:
数据检测模块,用于在检测到每一文件的数据拷贝完成时,依据位于所述文件尾部的第一长度数据,或者,依据位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据,检验所述文件的数据是否拷贝完整;
数据拷贝模块,用于若所述文件的数据未拷贝完整,则控制硬盘删除所述文件的已拷贝数据,并重新拷贝所述文件。
第三方面,本发明实施例提供了一种设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的文件拷贝方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的文件拷贝方法。
本发明实施例通过对完成拷贝的单个独立文件立即进行短校验,依据拷贝数据中文件尾部或者文件首部和尾部一定数据长度的数据的一致性进行校验;对于拷贝不完整的单个数据文件,及时删除该文件对应的已拷贝的不完整数据,并对该文件执行重新拷贝。本发明实施例通过在数据拷贝过程中对单个文件进行及时的短校验,降低文件的校验时间,并在短检验后对拷贝不完整的文件进行及时地重新拷贝,实现在文件拷贝过程中自动保证全部文件数据的完整性,无需人工干预,提高文件拷贝效率并降低拷贝成本。
附图说明
图1为本发明实施例一提供的一种文件拷贝方法的流程图;
图2为本发明实施例二提供的一种文件拷贝方法的流程图;
图3为本发明实施例三提供的一种文件拷贝方法的流程图;
图4为本发明实施例三提供的集成有USB集成器的I/O接口电路连接实物图;
图5为本发明实施例三提供的I/O接口电路中各模块的电路原理图;
图6为本发明实施例三提供的单片机芯片的电路原理图;
图7为本发明实施例四提供的一种文件拷贝装置的结构示意图;
图8为本发明实施例五提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种文件拷贝方法的流程图,本实施例可适用于将文本和影像等文件从电子设备的存储卡中拷贝至移动硬盘等其他存储介质中的情况,该方法可由文件拷贝装置来执行。该方法具体包括如下步骤:
S110、在检测到每一文件的数据拷贝完成时,依据位于文件尾部的第一长度数据,或者,依据位于文件首部的第二长度数据以及位于文件尾部的第三长度数据,检验文件的数据是否拷贝完整。
在本发明具体实施例中,用户每一次将文件数据由电子设备的存储卡拷贝至硬盘等存储介质中时,一次性拷贝的文件数据量不一定相同,通常都会一次性拷贝多个文件,以减少用户分批次或者按照单个文件进行拷贝时重复的操作步骤。相应的,本实施例在检测到拷贝数据中的每一文件的数据拷贝完成时,就执行对该文件数据的完整性检测操作,而不是在全部拷贝文件都拷贝完成时再进行完整性检测。由于通常是以十六进制进行文件数据的读取,以二进制进行文件数据的写入。因此在文件数据的拷贝过程中,一旦存在字节或者位的丢失,将导致文件中后续的数据完全错位,进而影响拷贝文件的完整性,甚至无法打开该文件。因此,本实施例以短校验的方式进行单个文件的完整性检测,即在文件拷贝过程中,当且仅当其中的一个文件拷贝完成时,则立即对该文件尾部或者该文件首部和尾部中一定数据长度的数据进行校验。可以理解的是,一旦单个文件中出现拷贝异常,即使文件尾部未产生拷贝异常,但由于文件首部或中间数据的丢失,导致文件后续数据的完全错位,进而文件读取或写入时进制转换后的数据与原始数据完全不同。
示例性的,将数码相机或者手机等电子设备中的照片拷贝至计算机硬盘等存储介质中,用户通常会一次性选中所有所要拷贝的多张照片一起拷贝。本实施例以单张照片为单位进行数据的拷贝和完整性校验,在每张照片拷贝完成时,立即进行该张照片数据的短校验。例如,以该张照片数据尾部的100KB数据进行完整性校验,或者同时以该张照片数据首部以及尾部的100KB数据进行完整性校验。
优选的,采用校验算法对位于文件尾部的第一长度数据的拷贝数据进行处理,得到第一拷贝数据值,或者,采用校验算法对位于文件首部的第二长度数据以及位于文件尾部的第三长度数据的拷贝数据进行处理,得到第二拷贝数据值;采用校验算法对位于文件尾部的第一长度数据的原数据进行处理,得到第一原数据值,或者,采用校验算法对位于文件首部的第二长度数据以及位于文件尾部的第三长度数据的原数据进行处理,得到第二原数据值;比较第一拷贝数据值与第一原数据值,或者比较第二拷贝数据值与第二原数据值,并依据比较结果确定文件的数据是否拷贝完整。
在本发明具体实施例中,可以直接对单个文件尾部或者文件首部及尾部一定数据长度的数据的一致性进行检测,即分别提取被拷贝的原始文件和拷贝生成的拷贝文件的对应文件位置的一定数据长度的数据,通过对原始数据和拷贝数据进行比较,判断拷贝后数据是否与原始数据完全相同,来确定文件拷贝的完整性。或者,可以采用一定的文件校验算法,例如消息摘要算法第五版(Message Digest Algorithm MD5,MD5)或者哈希算法,分别对被拷贝的原始文件和拷贝生成的拷贝文件的对应文件位置的一定数据长度的数据进行处理,得到相应的原数据值和拷贝数据值,通过对原数据值和拷贝数据值的比较来确定文件拷贝的完整性。
示例性的,在电子设备的存储卡中,假设待拷贝的原始写入的二进制数据为01111000100110101011,对应的十六进行数据为oX789AB。若在文件拷贝过程中数据读取异常,丢失了第5位数据1,导致数据读取为oX71356,进而数据拷贝后写入硬盘的数据为01110001001101010110;或者,数据读取正常,但在数据写入时丢失第5位数据1,导致写入硬盘的数据为01110001001101010110,读取后为oX71356。通过提取文件尾部的数据,原始数据为B,拷贝数据为6,或者分别提取文件首部及尾部的数据,原始数据为7和B,拷贝数据为7和6,通过将原始数据与拷贝数据进行比较,由于文件尾部数据完全不同,因此确定该文件数据拷贝出现异常,拷贝数据不完整。或者,采用一定的文件校验算法,通过采用同样的文件校验算法,分别对原始数据和拷贝数据的文件尾部或者文件首部及尾部对应一定数据长度的数据进行处理,生成对应的校验值即原始数据值和拷贝数据值,通过对原数据值和拷贝数据值进行比较,来确定文件拷贝的完整性。
S120、若文件的数据未拷贝完整,则控制硬盘删除文件的已拷贝数据,并重新拷贝文件。
在本发明具体实施例中,通过对已拷贝的单个文件进行短校验,节约了拷贝文件的校验时间,并通过短校验能够立马确定拷贝异常的文件,并进行及时的补救直至拷贝完整为止,确保了文件在拷贝过程中的完整性。具体的,若通过上述步骤确定文件的数据未拷贝完整,则控制硬盘删除该文件的已拷贝数据,例如可以向硬盘发送文件删除指令,该文件删除指令包括对应删除的指定文件数据。进而在该文件对应的不完整数据都清除干净的环境中,对该文件进行重新的拷贝。
示例性的,在拷贝10张照片的过程中,若在拷贝完成第3张照片时,通过对第3张照片对应的拷贝数据的短校验,确定第3张照片的拷贝数据不完整。则向硬盘发送删除第3张照片所对应数据的指令,在执行完删除操作过,对第3张照片进行重新拷贝。
本实施例的技术方案,通过对完成拷贝的单个独立文件立即进行短校验,依据拷贝数据中文件尾部或者文件首部和尾部一定数据长度的数据的一致性进行校验;对于拷贝不完整的单个数据文件,及时删除该文件对应的已拷贝的不完整数据,并对该文件执行重新拷贝。本发明实施例通过在数据拷贝过程中对单个文件进行及时的短校验,降低文件的校验时间,并在短检验后对拷贝不完整的文件进行及时地重新拷贝,实现在文件拷贝过程中自动保证全部文件数据的完整性,无需人工干预,提高文件拷贝效率并降低拷贝成本。
实施例二
本实施例在上述实施例一的基础上,提供了一种文件拷贝方法的一个优选实施方式,能够在硬盘存在逻辑坏道时自动进行修复并继续拷贝文件数据。图2为本发明实施例二提供的一种文件拷贝方法的流程图,如图2所示,该方法包括以下具体步骤:
S210、若在数据拷贝过程中检测到硬盘存在逻辑坏道导致的拷贝中断,则通过预先配置的自动挂载信息将硬盘自动挂载,并继续拷贝数据。
在本发明具体实施例中,硬盘逻辑坏道是指磁盘磁道上面的校验信息与磁道的数据和伺服信息不匹配的情况,进而硬盘逻辑坏道会导致文件拷贝过程的中断。因此若在数据拷贝过程中检测到硬盘存在逻辑坏道导致的拷贝中断,此时硬盘能够被正常识别挂载,本实施例通过预先配置的自动挂载信息,将硬盘重新分区以跳过坏道进行自动挂载,并继续拷贝文件数据。其中,预先配置的自动挂载信息可以包括硬盘中的一块不进行使用的且无坏道的备用分区、硬盘地址以及硬盘所要挂载的地址即将一个已经存在的目录作为挂载点。
示例性的,基于Linux系统的文件数据拷贝过程,若检测到硬盘存在逻辑坏道导致的拷贝中断,则可以通过fdisk-1命令查看硬盘分区,依据预先配置的自动挂载信息对硬盘进行重新分区;采用mkfs-t ext4/dev/sdb命令格式化硬盘;通过mkdir/imgs命令创建一个/imgs目录;最终采用#mount+硬盘地址+所要挂载的地址,例如mount/dev/sdb/imgs实现硬盘的重新挂载。至此本实施例通过预先配置的自动挂载信息,将硬盘重新分区以跳过坏道进行自动挂载,并继续拷贝文件数据。
S220、在检测到每一文件的数据拷贝完成时,依据位于文件尾部的第一长度数据,或者,依据位于文件首部的第二长度数据以及位于文件尾部的第三长度数据,检验文件的数据是否拷贝完整。
在本发明具体实施例中,以短校验的方式进行单个文件的完整性检测,即在文件拷贝过程中,当且仅当其中的一个文件拷贝完成时,则立即对该文件尾部或者该文件首部和尾部中一定数据长度的数据进行校验。可以理解的是,一旦单个文件中出现拷贝异常,即使文件尾部未产生拷贝异常,但由于文件首部或中间数据的丢失,导致文件后续数据的完全错位,进而文件读取或写入时进制转换后的数据与原始数据完全不同。因此,通过比对原始数据和拷贝数据中,文件尾部或者文件首部和尾部对应的一定数据长度的数据值或校验值,来检验拷贝文件数据的完整性。
S230、若文件的数据未拷贝完整,则控制硬盘删除文件的已拷贝数据,并重新拷贝文件。
在本发明具体实施例中,通过对已拷贝的单个文件进行短校验,节约了拷贝文件的校验时间,并通过短校验能够立马确定拷贝异常的文件,并进行及时的补救直至拷贝完整为止,确保了文件在拷贝过程中的完整性。具体的,若通过上述步骤确定文件的数据未拷贝完整,则控制硬盘删除该文件的已拷贝数据,例如可以向硬盘发送文件删除指令,该文件删除指令包括对应删除的指定文件数据。进而在该文件对应的不完整数据都清除干净的环境中,对该文件进行重新的拷贝。
本实施例的技术方案,通过对完成拷贝的单个独立文件进行短校验之前,若在数据拷贝过程中检测到硬盘存在逻辑坏道导致的拷贝中断,则通过预先配置的自动挂载信息将硬盘自动挂载,并继续拷贝数据;在单个文件拷贝完成时,依据拷贝数据中文件尾部或者文件首部和尾部一定数据长度的数据的一致性进行校验;对于拷贝不完整的单个数据文件,及时删除该文件对应的已拷贝的不完整数据,并对该文件执行重新拷贝。本发明实施例通过在数据拷贝过程中对单个文件进行短校验之前,能够在硬盘存在逻辑坏道时自动进行修复并继续拷贝文件数据;并在单个文件拷贝成功时进行及时的短校验,降低文件的校验时间,在短检验后对拷贝不完整的文件进行及时地重新拷贝,实现在文件拷贝过程中对硬盘逻辑坏道进行自动修复以保证全部文件数据的完整性,无需人工干预,提高文件拷贝效率并降低拷贝成本。
实施例三
本实施例在上述实施例一的基础上,提供了一种文件拷贝方法的一个优选实施方式,能够在I/O接口出错时自动进行修复并继续拷贝文件数据。图3为本发明实施例三提供的一种文件拷贝方法的流程图,如图3所示,该方法包括以下具体步骤:
S310、若在数据拷贝过程中检测到I/O接口出错导致的硬盘读写失败,则控制终止硬盘通信并断开电源使硬盘识别并修复文件系统错误,并控制硬盘重新上电并恢复通信使硬盘重新进行数据传输。
在本发明具体实施例中,I/O接口是通过系统总线把计算机I/O电路和外围设备联系在一起,是计算机和I/O设备之间交换信息的媒介和桥梁。在数据拷贝过程中,当检测到I/O接口出错,此时硬盘已无法正常识别,进而导致硬盘读写失败而无法进行数据的拷贝。通常情况下通过人工干预,将硬盘进行重新上电和拷贝。但这样的操作在一定程度上会损坏拷贝中的数据,导致数据的损坏或失效而无法复原。因此本实施例在数据拷贝过程中,若检测到I/O接口出错导致的硬盘读写失败,则控制终止硬盘通信并断开电源使硬盘识别并修复文件系统错误,并控制硬盘重新上电并恢复通信使硬盘重新进行数据传输。
优选的,控制与硬盘连接的USB集成器终止通信,并控制USB集成器断电;控制USB集成器重新上电并恢复通信。
在本发明具体实施例中,USB集成器(Universal SerialBus Hub,USB Hub)指的是一种可以将一个USB接口扩展为多个,并可以使这些USB接口同时使用的装置。图4为集成有USB集成器的I/O接口电路连接实物图,其中包括Linux接口、USB Hub、单片机、硬盘接口以及三个USB接口。具体的,其中各模块的电路如图5所示,本实施例可以采用基于GL850G芯片的USB Hub,USB接口和硬盘接口可以采用PH2.0-8P接线端子,Linux接口可以采用PH2.0-5P接线端子。本实施例在检测到I/O接口出错导致的硬盘读写失败时,首先通过控制与硬盘连接的USB集成器终止通信,保证拷贝数据的安全性,再控制USB集成器断电;在一定时间后,例如2-5秒后,控制USB集成器重新上电,实现自动化的热插拔操作;最终恢复硬盘的正常通常,继续进行文件数据的拷贝。
在本发明具体实施例中,可以采用STM32F103VBT6单片机来实现自动化的热插拔操作。如图6所示,单片机芯片的83号引脚和84号引脚为POWER_EN电源管教,通过设置引脚的电位可以控制与单片机连接的设备的电源的通断;88号引脚为HUB_RESET集成器复位管脚,用于控制集成器中与单片机连接的设备的通信状态。结合图5中USB Hub芯片的13号引脚即HUB_RESET集成器复位管脚,与单片机的88号引脚即HUB_RESET配合使用,USB Hub芯片接受单片机的控制,可以实现单片机对于与单片机连接设备之间的通信状态。
优选的,控制与硬盘连接的USB集成器终止通信,并控制USB集成器断电,包括:向与USB集成器连接的单片机发送关闭指令,其中关闭指令用于指示单片机调整与USB集成器连接的集成器复位管脚的电位以终止与USB集成器通信,并调整USB集成器的电源管脚的电位使USB集成器断电。本实施例通过向与USB集成器连接的单片机发送关闭指令,以使单片机根据关闭指令调整与USB集成器连接的HUB_RESET管脚的电位,以此终止与USB集成器通信,即终止了硬盘的通信,对拷贝中的数据进行保护。并调整USB集成器的POWER_EN管脚的电位,以此断开USB集成器的电源,即断开硬盘的电源。
示例性的,假设1为高电平,0为低电平,高电平进行上电或通信,低电平进行断电或终止通信。相应的,本实施例在检测到I/O接口出错时,向与USB集成器连接的单片机发送关闭指令,以使单片机的HUB_RESET管脚的电位为0,终止硬盘的通信;并控制电源管脚的电位为0,断开硬盘的电源。
优选的,控制USB集成器重新上电并恢复通信,包括:向与USB集成器连接的单片机发送启动指令,其中启动指令用于指示单片机调整USB集成器的电源管脚的电位使USB集成器上电,并调整与USB集成器连接的集成器复位管脚的电位以恢复与USB集成器通信。本实施例在断电一定时间后,同上述控制硬盘终止通信和断开电源的操作,将所涉及管脚进行相反的设置,向与USB集成器连接的单片机发送启动指令,以使单片机根据启动指令调整USB集成器的POWER_EN管脚的电位,以此对USB集成器进行上电,即为硬盘提供供电电源。并调整与USB集成器连接的HUB_RESET管脚的电位,以恢复与USB集成器通信,即恢复硬盘的通信。
示例性的,在上述示例中,在终止硬盘通信并断开硬盘电源的一定时间后,例如2-5秒,向与USB集成器连接的单片机发送启动指令,以使单片机的电源管脚的电位为1,为硬盘提供供电电源;并控制单片机的HUB_RESET管脚的电位为1,恢复硬盘的通信。
S320、在检测到每一文件的数据拷贝完成时,依据位于文件尾部的第一长度数据,或者,依据位于文件首部的第二长度数据以及位于文件尾部的第三长度数据,检验文件的数据是否拷贝完整。
在本发明具体实施例中,以短校验的方式进行单个文件的完整性检测,即在文件拷贝过程中,当且仅当其中的一个文件拷贝完成时,则立即对该文件尾部或者该文件首部和尾部中一定数据长度的数据进行校验。可以理解的是,一旦单个文件中出现拷贝异常,即使文件尾部未产生拷贝异常,但由于文件首部或中间数据的丢失,导致文件后续数据的完全错位,进而文件读取或写入时进制转换后的数据与原始数据完全不同。因此,通过比对原始数据和拷贝数据中,文件尾部或者文件首部和尾部对应的一定数据长度的数据值或校验值,来检验拷贝文件数据的完整性。
S330、若文件的数据未拷贝完整,则控制硬盘删除文件的已拷贝数据,并重新拷贝文件。
在本发明具体实施例中,通过对已拷贝的单个文件进行短校验,节约了拷贝文件的校验时间,并通过短校验能够立马确定拷贝异常的文件,并进行及时的补救直至拷贝完整为止,确保了文件在拷贝过程中的完整性。具体的,若通过上述步骤确定文件的数据未拷贝完整,则控制硬盘删除该文件的已拷贝数据,例如可以向硬盘发送文件删除指令,该文件删除指令包括对应删除的指定文件数据。进而在该文件对应的不完整数据都清除干净的环境中,对该文件进行重新的拷贝。
本实施例的技术方案,通过对完成拷贝的单个独立文件进行短校验之前,若在数据拷贝过程中检测到I/O接口出错导致的硬盘读写失败,则控制终止硬盘通信并断开电源使硬盘识别并修复文件系统错误,并控制硬盘重新上电并恢复通信使硬盘重新进行数据传输;在单个文件拷贝完成时,依据拷贝数据中文件尾部或者文件首部和尾部一定数据长度的数据的一致性进行校验;对于拷贝不完整的单个数据文件,及时删除该文件对应的已拷贝的不完整数据,并对该文件执行重新拷贝。本发明实施例通过在数据拷贝过程中对单个文件进行短校验之前,能够在I/O接口出错时自动进行修复并继续拷贝文件数据;并在单个文件拷贝成功时进行及时的短校验,降低文件的校验时间,在短检验后对拷贝不完整的文件进行及时地重新拷贝,实现在文件拷贝过程中出现I/O接口出错时终止通信进行自动热插拔以保证全部文件数据的完整性,无需人工干预,提高文件拷贝效率并降低拷贝成本。
实施例四
图7为本发明实施例四提供的一种文件拷贝装置的结构示意图,本实施例可适用于将文本和影像等文件从电子设备的存储卡中拷贝至移动硬盘等其他存储介质中的情况,该装置可实现本发明任意实施例所述的文件拷贝方法。该装置具体包括:
数据检测模块710,用于在检测到每一文件的数据拷贝完成时,依据位于所述文件尾部的第一长度数据,或者,依据位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据,检验所述文件的数据是否拷贝完整;
数据拷贝模块720,用于若所述文件的数据未拷贝完整,则控制硬盘删除所述文件的已拷贝数据,并重新拷贝所述文件。
优选的,所述数据检测模块710,包括:
拷贝值确定单元,用于采用校验算法对位于所述文件尾部的第一长度数据的拷贝数据进行处理,得到第一拷贝数据值,或者,采用校验算法对位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据的拷贝数据进行处理,得到第二拷贝数据值;
原始值确定单元,用于采用所述校验算法对位于所述文件尾部的第一长度数据的原数据进行处理,得到第一原数据值,或者,采用所述校验算法对位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据的原数据进行处理,得到第二原数据值;
完整性检测单元,用于比较所述第一拷贝数据值与所述第一原数据值,或者比较所述第二拷贝数据值与所述第二原数据值,并依据比较结果确定所述文件的数据是否拷贝完整。
进一步的,所述装置还包括:
自动挂载模块730,用于在所述检测到每一文件的数据拷贝完成之前,若在数据拷贝过程中检测到所述硬盘存在逻辑坏道导致的拷贝中断,则通过预先配置的自动挂载信息将所述硬盘自动挂载,并继续拷贝数据。
进一步的,所述装置还包括:
自动重连模块740,用于在所述检测到每一文件的数据拷贝完成之前,若在数据拷贝过程中检测到I/O接口出错导致的所述硬盘读写失败,则控制终止所述硬盘通信并断开电源使所述硬盘识别并修复文件系统错误,并控制所述硬盘重新上电并恢复通信使所述硬盘重新进行数据传输。
优选的,所述自动重连模块740,包括:
断开连接单元,用于控制与所述硬盘连接的USB集成器终止通信,并控制所述USB集成器断电;
重连单元,用于控制所述USB集成器重新上电并恢复通信。
优选的,所述断开连接单元,具体用于:向与所述USB集成器连接的单片机发送关闭指令,其中所述关闭指令用于指示所述单片机调整与所述USB集成器连接的集成器复位管脚的电位以终止与所述USB集成器通信,并调整所述USB集成器的电源管脚的电位使所述USB集成器断电。
优选的,所述重连单元,具体用于:向与所述USB集成器连接的单片机发送启动指令,其中所述启动指令用于指示所述单片机调整所述USB集成器的电源管脚的电位使所述USB集成器上电,并调整与所述USB集成器连接的集成器复位管脚的电位以恢复与所述USB集成器通信。
本实施例的技术方案,通过各个功能模块间的相互配合,实现了在文件拷贝过程中硬盘逻辑坏道的自动修复、I/O接口出错的自动修复、拷贝数据的短校验以及不完整文件的重新拷贝。本发明实施例通过在数据拷贝过程中对单个文件进行及时的短校验,降低文件的校验时间,并在短检验后对拷贝不完整的文件进行及时地重新拷贝,实现在文件拷贝过程中自动保证全部文件数据的完整性,无需人工干预,提高文件拷贝效率并降低拷贝成本。
实施例五
图8为本发明实施例五提供的一种设备的结构示意图,图8示出了适于用来实现本发明实施例实施方式的示例性设备的框图。图8显示的设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
图8显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明实施例所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的文件拷贝方法。
实施例六
本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时用于执行一种文件拷贝方法,该方法包括:
在检测到每一文件的数据拷贝完成时,依据位于所述文件尾部的第一长度数据,或者,依据位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据,检验所述文件的数据是否拷贝完整;
若所述文件的数据未拷贝完整,则控制硬盘删除所述文件的已拷贝数据,并重新拷贝所述文件。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (16)

1.一种文件拷贝方法,其特征在于,包括:
在检测到每一文件的数据拷贝完成时,依据位于所述文件尾部的第一长度数据,或者,依据位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据,检验所述文件的数据是否拷贝完整;
若所述文件的数据未拷贝完整,则控制硬盘删除所述文件的已拷贝数据,并重新拷贝所述文件。
2.根据权利要求1所述的方法,其特征在于,所述依据位于所述文件尾部的第一长度数据,或者,依据位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据,检验所述文件的数据是否拷贝完整,包括:
采用校验算法对位于所述文件尾部的第一长度数据的拷贝数据进行处理,得到第一拷贝数据值,或者,采用校验算法对位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据的拷贝数据进行处理,得到第二拷贝数据值;
采用所述校验算法对位于所述文件尾部的第一长度数据的原数据进行处理,得到第一原数据值,或者,采用所述校验算法对位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据的原数据进行处理,得到第二原数据值;
比较所述第一拷贝数据值与所述第一原数据值,或者比较所述第二拷贝数据值与所述第二原数据值,并依据比较结果确定所述文件的数据是否拷贝完整。
3.根据权利要求1所述的方法,其特征在于,在所述检测到每一文件的数据拷贝完成之前,所述方法还包括:
若在数据拷贝过程中检测到所述硬盘存在逻辑坏道导致的拷贝中断,则通过预先配置的自动挂载信息将所述硬盘自动挂载,并继续拷贝数据。
4.根据权利要求1所述的方法,其特征在于,在所述检测到每一文件的数据拷贝完成之前,所述方法还包括:
若在数据拷贝过程中检测到I/O接口出错导致的所述硬盘读写失败,则控制终止所述硬盘通信并断开电源使所述硬盘识别并修复文件系统错误,并控制所述硬盘重新上电并恢复通信使所述硬盘重新进行数据传输。
5.根据权利要求4所述的方法,其特征在于,所述控制终止所述硬盘通信并断开电源使所述硬盘识别并修复文件系统错误,并控制所述硬盘重新上电并恢复通信使所述硬盘重新进行数据传输,包括:
控制与所述硬盘连接的USB集成器终止通信,并控制所述USB集成器断电;
控制所述USB集成器重新上电并恢复通信。
6.根据权利要求5所述的方法,其特征在于,所述控制与所述硬盘连接的USB集成器终止通信,并控制所述USB集成器断电,包括:
向与所述USB集成器连接的单片机发送关闭指令,其中所述关闭指令用于指示所述单片机调整与所述USB集成器连接的集成器复位管脚的电位以终止与所述USB集成器通信,并调整所述USB集成器的电源管脚的电位使所述USB集成器断电。
7.根据权利要求5所述的方法,其特征在于,所述控制所述USB集成器重新上电并恢复通信,包括:
向与所述USB集成器连接的单片机发送启动指令,其中所述启动指令用于指示所述单片机调整所述USB集成器的电源管脚的电位使所述USB集成器上电,并调整与所述USB集成器连接的集成器复位管脚的电位以恢复与所述USB集成器通信。
8.一种文件拷贝装置,其特征在于,包括:
数据检测模块,用于在检测到每一文件的数据拷贝完成时,依据位于所述文件尾部的第一长度数据,或者,依据位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据,检验所述文件的数据是否拷贝完整;
数据拷贝模块,用于若所述文件的数据未拷贝完整,则控制硬盘删除所述文件的已拷贝数据,并重新拷贝所述文件。
9.根据权利要求8所述的装置,其特征在于,所述数据检测模块,包括:
拷贝值确定单元,用于采用校验算法对位于所述文件尾部的第一长度数据的拷贝数据进行处理,得到第一拷贝数据值,或者,采用校验算法对位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据的拷贝数据进行处理,得到第二拷贝数据值;
原始值确定单元,用于采用所述校验算法对位于所述文件尾部的第一长度数据的原数据进行处理,得到第一原数据值,或者,采用所述校验算法对位于所述文件首部的第二长度数据以及位于所述文件尾部的第三长度数据的原数据进行处理,得到第二原数据值;
完整性检测单元,用于比较所述第一拷贝数据值与所述第一原数据值,或者比较所述第二拷贝数据值与所述第二原数据值,并依据比较结果确定所述文件的数据是否拷贝完整。
10.根据权利要求8所述的装置,其特征在于,还包括:
自动挂载模块,用于在所述检测到每一文件的数据拷贝完成之前,若在数据拷贝过程中检测到所述硬盘存在逻辑坏道导致的拷贝中断,则通过预先配置的自动挂载信息将所述硬盘自动挂载,并继续拷贝数据。
11.根据权利要求8所述的装置,其特征在于,还包括:
自动重连模块,用于在所述检测到每一文件的数据拷贝完成之前,若在数据拷贝过程中检测到I/O接口出错导致的所述硬盘读写失败,则控制终止所述硬盘通信并断开电源使所述硬盘识别并修复文件系统错误,并控制所述硬盘重新上电并恢复通信使所述硬盘重新进行数据传输。
12.根据权利要求11所述的装置,其特征在于,所述自动重连模块,包括:
断开连接单元,用于控制与所述硬盘连接的USB集成器终止通信,并控制所述USB集成器断电;
重连单元,用于控制所述USB集成器重新上电并恢复通信。
13.根据权利要求12所述的装置,其特征在于,所述断开连接单元,具体用于:
向与所述USB集成器连接的单片机发送关闭指令,其中所述关闭指令用于指示所述单片机调整与所述USB集成器连接的集成器复位管脚的电位以终止与所述USB集成器通信,并调整所述USB集成器的电源管脚的电位使所述USB集成器断电。
14.根据权利要求12所述的装置,其特征在于,所述重连单元,具体用于:
向与所述USB集成器连接的单片机发送启动指令,其中所述启动指令用于指示所述单片机调整所述USB集成器的电源管脚的电位使所述USB集成器上电,并调整与所述USB集成器连接的集成器复位管脚的电位以恢复与所述USB集成器通信。
15.一种设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的文件拷贝方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述的文件拷贝方法。
CN201810427206.0A 2018-05-07 2018-05-07 一种文件拷贝方法、装置、设备和存储介质 Pending CN110457278A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810427206.0A CN110457278A (zh) 2018-05-07 2018-05-07 一种文件拷贝方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810427206.0A CN110457278A (zh) 2018-05-07 2018-05-07 一种文件拷贝方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN110457278A true CN110457278A (zh) 2019-11-15

Family

ID=68471970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810427206.0A Pending CN110457278A (zh) 2018-05-07 2018-05-07 一种文件拷贝方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110457278A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753518A (zh) * 2020-08-12 2020-10-09 深圳潮数软件科技有限公司 一种自主的文件一致性检验方法
CN113312001A (zh) * 2021-06-06 2021-08-27 深圳市昂科技术有限公司 芯片数据拷贝装置和方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1941131A (zh) * 2005-10-02 2007-04-04 北京华旗资讯数码科技有限公司 存储介质为硬盘的随身电子装置
CN101453478A (zh) * 2007-11-28 2009-06-10 新奥特(北京)视频技术有限公司 一种在文件传输中的完整性校验方法
US20090157716A1 (en) * 2007-12-17 2009-06-18 Kim Keonwoo Apparatus and method for acquiring data from memory of terminal
CN103019885A (zh) * 2012-11-26 2013-04-03 大唐移动通信设备有限公司 基于嵌入式Linux的硬盘坏道监测方法及系统
CN103488952A (zh) * 2013-09-24 2014-01-01 华为技术有限公司 文件完整性验证方法及文件处理器
CN103617053A (zh) * 2013-11-13 2014-03-05 深圳创维数字技术股份有限公司 一种软件升级的方法及装置
CN104410692A (zh) * 2014-11-28 2015-03-11 上海爱数软件有限公司 一种用于重复文件上传的方法和系统
CN106126367A (zh) * 2016-06-28 2016-11-16 湖北锐世数字医学影像科技有限公司 一种文件的自校验方法及系统
CN106708646A (zh) * 2016-12-22 2017-05-24 郑州云海信息技术有限公司 硬盘异常自动复位方法及其装置
CN107408190A (zh) * 2015-04-02 2017-11-28 高通股份有限公司 用于执行完整性校验的方法及设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1941131A (zh) * 2005-10-02 2007-04-04 北京华旗资讯数码科技有限公司 存储介质为硬盘的随身电子装置
CN101453478A (zh) * 2007-11-28 2009-06-10 新奥特(北京)视频技术有限公司 一种在文件传输中的完整性校验方法
US20090157716A1 (en) * 2007-12-17 2009-06-18 Kim Keonwoo Apparatus and method for acquiring data from memory of terminal
CN103019885A (zh) * 2012-11-26 2013-04-03 大唐移动通信设备有限公司 基于嵌入式Linux的硬盘坏道监测方法及系统
CN103488952A (zh) * 2013-09-24 2014-01-01 华为技术有限公司 文件完整性验证方法及文件处理器
CN103617053A (zh) * 2013-11-13 2014-03-05 深圳创维数字技术股份有限公司 一种软件升级的方法及装置
CN104410692A (zh) * 2014-11-28 2015-03-11 上海爱数软件有限公司 一种用于重复文件上传的方法和系统
CN107408190A (zh) * 2015-04-02 2017-11-28 高通股份有限公司 用于执行完整性校验的方法及设备
CN106126367A (zh) * 2016-06-28 2016-11-16 湖北锐世数字医学影像科技有限公司 一种文件的自校验方法及系统
CN106708646A (zh) * 2016-12-22 2017-05-24 郑州云海信息技术有限公司 硬盘异常自动复位方法及其装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
中国人民解放军总参: "《计算机软件基础》", 30 November 2000, 解放军出版社 *
吴奕明等: "一种对USB通信异常的自动恢复方法设计", 《计算机应用与软件》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753518A (zh) * 2020-08-12 2020-10-09 深圳潮数软件科技有限公司 一种自主的文件一致性检验方法
CN111753518B (zh) * 2020-08-12 2021-03-12 深圳潮数软件科技有限公司 一种自主的文件一致性检验方法
CN113312001A (zh) * 2021-06-06 2021-08-27 深圳市昂科技术有限公司 芯片数据拷贝装置和方法
CN113312001B (zh) * 2021-06-06 2024-02-06 深圳市昂科技术有限公司 芯片数据拷贝装置和方法

Similar Documents

Publication Publication Date Title
CN110716895A (zh) 目标数据归档方法、装置、计算机设备及介质
US8799602B2 (en) Automated migration to a new target volume via merged bitmaps to maintain consistency
CN111309524A (zh) 分布式存储系统故障恢复方法、装置、终端及存储介质
US20190087283A1 (en) Aircraft aerial photography data backup method, apparatus and device, and computer readable storage medium
US20050131996A1 (en) Autonomous storage for backup, restore, and file access
CN110457278A (zh) 一种文件拷贝方法、装置、设备和存储介质
US9002798B1 (en) Systems and methods for remedying corrupt backup images of host devices
CN108874441A (zh) 一种板卡配置方法、装置、服务器和存储介质
CN109871334A (zh) 电缆调制解调器及操作方法
CN110370288A (zh) 机器人安全控制方法、装置、设备和存储介质
CN103019847A (zh) 对虚拟机数据进行迁移的方法及系统
CN104636082A (zh) 磁盘阵列raid的控制方法及装置
CN114615527A (zh) 热插拔设备信息传输方法、计算机设备和可读介质
US7178053B2 (en) Computer system data restoring device and the method for restoring computer system data using the same
CN109522174A (zh) 控制adb使能的方法、装置、终端及存储介质
US8214613B2 (en) Storage system and copy method
US10367887B2 (en) Data storage system and data storage method thereof
CN115309589A (zh) 一种基板管理控制器恢复暂存区域的方法、系统及装置
US8850117B2 (en) Storage apparatus and method maintaining at least an order of writing data
CN113946530A (zh) 扩展卡的控制方法及装置、非易失性存储介质
CN110505475A (zh) 智能模块的功能测试方法、系统、设备及存储介质
CN112015592A (zh) 数据复制方法及装置
CN113742129B (zh) 一种数据备份方法和装置
CN105187914A (zh) 快速烧入hdcpkey的方法
CN104881335A (zh) 一种备份应用还原方法及终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20191115

RJ01 Rejection of invention patent application after publication