CN107645357A - 传输文件不完整的恢复方法及装置 - Google Patents
传输文件不完整的恢复方法及装置 Download PDFInfo
- Publication number
- CN107645357A CN107645357A CN201610581670.6A CN201610581670A CN107645357A CN 107645357 A CN107645357 A CN 107645357A CN 201610581670 A CN201610581670 A CN 201610581670A CN 107645357 A CN107645357 A CN 107645357A
- Authority
- CN
- China
- Prior art keywords
- check code
- original
- sub
- subfile block
- piecemeal
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 49
- 238000011084 recovery Methods 0.000 claims abstract description 28
- 230000005540 biological transmission Effects 0.000 claims description 72
- 238000012795 verification Methods 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 8
- 230000000903 blocking effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Information Transfer Between Computers (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种传输文件不完整的恢复方法,包括:在接收到的发送端发送的文件不完整时,对接收到的文件进行分块处理以获得第一子文件块;计算第一子文件块的第一子校验码;将第一子文件块的分块起止信息及第一子校验码发送至发送端,其中,在接收到分块起止信息及第一子校验码时,发送端计算分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,并在第一子校验码与第一原始子校验码不一致时,发送端重传所述第一原始子文件块。本发明还公开了一种传输文件不完整的恢复装置。本发明实现了接收到的文件不完整时重传第一子文件块,减少了文件重传的数据量,提高了文件重传的速度及效率,保证了文件的完整性。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种传输文件不完整的恢复方法及装置。
背景技术
文件传输技术是计算机网络技术的一个重要组成部分,目前通用的文件传输技术包括文件拷贝、FTP文件传输协议、TCP/IP传输协议等。在文件传输过程中,有时会出现数据丢失(或损坏)的问题,为解决这一问题,需要对接收到的文件数据进行完整性验证。常见的数据完整性验证算法包括:MD5和SHA1。SHA1算法对路由器等网络组件的要求较高,而MD5是由RSA发明一种消息摘要算法,具有快速和高效的优点。
另外,使用JAVA语言开发的应用程序,可以方便的嵌入MD5算法。目前,Internet上很多国外的网站提供的下载资源都会同时提供一个md5验证文件。在接收端对整个文件进行一次md5编码,一旦验证失败,则将文件重传一遍。
但是,这种完整性校验方法需要将整个文件重传一遍,传输的文件数据量较大,耗费大量的资源,极大地影响文件传输速度及效率,甚至还会造成网络拥塞。
发明内容
本发明提供一种传输文件不完整的恢复方法及装置,旨在解决在文件不完整时重传整个文件而影响文件传输速度及效率的技术问题。
为实现上述目的,本发明提供的一种传输文件不完整的恢复方法,所述传输文件不完整的恢复方法包括以下步骤:
在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得第一子文件块;
计算所述第一子文件块的第一子校验码;
将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致时,所述发送端重传所述第一原始子文件块。
优选地,所述将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端的步骤包括:
将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致且所述第一原始子文件块的数据量大于预设值时,所述发送端反馈所述第一原始子文件块的数据量过大的提示信息;
在接收到所述发送端反馈的所述提示信息时,对所述第一子文件块进行分块处理以获得第三子文件块;
计算所述第三子文件块的第三子校验码;
将所述第三子文件块的分块起止信息及所述第三子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第三子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第三原始子文件块的第三原始子校验码,并在所述第三子校验码与所述第三原始子校验码不一致且所述第三原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第三原始子文件块。
优选地,所述将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端的步骤之后,所述传输文件不完整的恢复方法还包括:
在接收到的所述第一原始子文件块完整时,基于接收到的所述第一原始子文件块及第二子文件块计算接收到的所述文件的第一校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
在所述第一校验码与原始文件的第二校验码不一致时,计算所述第二子文件块的第二子校验码;
将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
优选地,所述将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端的步骤包括:
将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码一致时,所述发送端反馈所述第一子文件块完整的提示信息;
在接收到所述第一子文件块完整的提示信息时,计算第二子文件块的第二子校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
此外,为实现上述目的,本发明还提供一种传输文件不完整的恢复方法,所述传输文件不完整的恢复方法包括以下步骤:
在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得多个子文件块;
计算各个所述子文件块的子校验码;
将各个所述子文件块的分块起止信息及所述子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述子校验码时,所述发送端计算原始文件中所述分块起止信息对应的各个原始子文件块的原始子校验码,并在所述子校验码中存在与对应的所述原始子校验码不一致的校验码时,所述发送端重传不一致的所述校验码对应的原始子文件块。
此外,为实现上述目的,本发明还提供一种传输文件不完整的恢复装置,所述传输文件不完整的恢复装置包括:
第一分块模块,用于在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得第一子文件块;
第一计算模块,用于计算所述第一子文件块的第一子校验码;
第一发送模块,用于将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致时,所述发送端重传所述第一原始子文件块。
优选地,所述第一发送模块包括:
第一发送单元,用于将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致且所述第一原始子文件块的数据量大于预设值时,所述发送端反馈所述第一原始子文件块的数据量过大的提示信息;
分块单元,用于在接收到所述发送端反馈的所述提示信息时,对所述第一子文件块进行分块处理以获得第三子文件块;
第一计算单元,用于计算所述第三子文件块的第三子校验码;
第二发送单元,用于将所述第三子文件块的分块起止信息及所述第三子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第三子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第三原始子文件块的第三原始子校验码,并在所述第三子校验码与所述第三原始子校验码不一致且所述第三原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第三原始子文件块。
优选地,所述传输文件不完整的恢复装置还包括:
第二计算模块,用于在接收到的所述第一原始子文件块完整时,基于接收到的所述第一原始子文件块及第二子文件块计算接收到的所述文件的第一校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
第三计算模块,用于在所述第一校验码与原始文件的第二校验码不一致时,计算所述第二子文件块的第二子校验码;
第二发送模块,用于将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
优选地,所述第一发送模块包括:
第三发送单元,用于将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码一致时,所述发送端反馈所述第一子文件块完整的提示信息;
第二计算单元,用于在接收到所述第一子文件块完整的提示信息时,计算第二子文件块的第二子校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
第四发送单元,用于将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
此外,为实现上述目的,本发明还提供一种传输文件不完整的恢复装置,所述传输文件不完整的恢复装置包括:
第二分块模块,用于在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得多个子文件块;
第四计算模块,用于计算各个所述子文件块的子校验码;
第三发送模块,用于将各个所述子文件块的分块起止信息及所述子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述子校验码时,所述发送端计算原始文件中所述分块起止信息对应的各个原始子文件块的原始子校验码,并在所述子校验码中存在与对应的所述原始子校验码不一致的校验码时,所述发送端重传不一致的所述校验码对应的原始子文件块。
本发明通过在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得第一子文件块,接着计算所述第一子文件块的第一子校验码,而后将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致时,所述发送端重传所述第一原始子文件块,实现了接收到的文件不完整时重传第一子文件块,减少了文件重传的数据量,能够以较小的代价进行损坏数据的再传输,降低了大数据量文件重新传输的带宽及资源占用率,在最大程度上降低网络环境的设备压力,提高了文件重传的速度及效率,保证了文件的完整性。进一步地,通过接收端对接收到的所述文件进行分块处理减少了通过发送端对文件进行分块处理以及计算各个子文件块的校验码的流程,进而降低了发送端的负荷,避免了发送端因超负荷运行而自动重启甚至宕机的现象。
附图说明
图1为本发明传输文件不完整的恢复方法第一实施例的流程示意图;
图2为本发明传输文件不完整的恢复方法第二实施例中将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端步骤的细化流程示意图;
图3为本发明传输文件不完整的恢复方法第三实施例的流程示意图;
图4为本发明传输文件不完整的恢复方法第四实施例中将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端步骤的细化流程示意图;
图5为本发明传输文件不完整的恢复装置第一实施例的功能模块示意图;
图6为本发明传输文件不完整的恢复装置第二实施例中第一发送模块的细化功能模块示意图;
图7为本发明传输文件不完整的恢复装置第三实施例的功能模块示意图;
图8为本发明传输文件不完整的恢复装置第四实施例中第一发送模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种传输文件不完整的恢复方法。参照图1,图1为本发明传输文件不完整的恢复方法第一实施例的流程示意图。
在本实施例中,该传输文件不完整的恢复方法包括:
步骤S10,在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得第一子文件块;
本实施例中,发送端在需要传输文件至接收端时,采用MD5(Message-Digest Algorithm 5,信息摘要算法5)或SHA1(Secure HashAlgorithm,安全哈希算法)计算该文件的校验码即第二校验码,而后将该文件传输至接收端,并在发送完该文件时将第二校验码发送至接收端。在接收到完整的文件及该文件对应的原始文件的第二校验码时,计算接收到的所述文件的校验码,即采用MD5或SHA1计算接收到的文件的第二校验码。而后接收端将接收到的文件的校验码与第二校验码进行比较,在接收到的文件的校验码与第二校验码不一致时,接收到的文件不完整,因此,对接收到的文件进行分块处理,得到第一子文件块及第二子文件块,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;具体地,可以采用二分法对接收到的文件进行分块处理,即第一子文件块的数据量与第二子文件块数据量相同,其中,对接收到的文件进行分块处理时按照文件中数据的先后顺序进行分块,例如,第一子文件块为该文件的前半部分、第二子文件块为该文件的后半部分,或者第一子文件块为该文件的后半部分、第二子文件块为该文件的前半部分。
步骤S20,计算所述第一子文件块的第一子校验码;
接收端计算所述第一子文件块的第一子校验码,具体地,接收端可以采用MD5或SHA1计算所述第一子文件块的第一子校验码。
步骤S30,将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致时,所述发送端重传所述第一原始子文件块。
本实施例中,接收端将第一子文件块的分块起止信息及第一子校验码发送至发送端,在接收到所述分块起止信息及所述第一子校验码时,发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,即发送端采用MD5或SHA1计算原始文件中第一子文件块对应的第一原始子文件块的第一原始子校验码,接着发送端将第一原始子校验码于接收到的第一子校验码进行比较,在第一子校验码与第一原始子校验码不一致时,发送端重传所述第一原始子文件块,即再次发送第一原始子文件块至接收端。优选地,在第一子校验码与第一原始子校验码不一致时,若第一原始子文件块的数据量小于或等于预设值,则发送端重传所述第一原始子文件块;若第一原始子文件块的数据量大于预设值,则发送端发送第一原始子文件块的数据量过大的提示信息至接收端,接收端根据提示信息对第一子文件块进行分块处理,以获得第三子文件块及第四子文件块,并将所述第三子文件块的分块起止信息及所述第三子校验码发送至所述发送端,以便于发送端进一步地进行判断是否需要重传第三子文件块对应的第三原始子文件块,其中,预设值可以根据需要进行合理的设置,例如预设值为30M、15M、8M、5M等。
需要强调的是,在重传所述第一原始子文件块时,发送端将第一原始子校验码发送至接收端,接收端在接收到第一原始子文件块时,采用MD5或SHA1计算接收到的第一原始子文件块的校验码,若计算得到的校验码与第一原始子校验码,则表示第一原始子文件块已重传成功,若计算得到的校验码与第一原始子校验码不一致,则发送重传失败的提示信息至发送端,发送端在接收到该提示信息时,再次重传该第一原始子文件块,直至接收到的第一原始子文件块的校验码与第一原始子校验码一致。
在其他实施例中,在接收到的发送端发送的文件不完整,若当前存在降低所述文件完整性的关联信息时,则在所述文件中获取所述关联信息对应的第五子文件块,并计算所述第五子文件块的第五子校验码;而后将所述第五子文件块的起止信息及所述第五子校验码发送至所述发送端,其中,在接收到所述起止信息及所述第五子校验码时,所述发送端计算所述原始文件中所述起止信息对应的第五原始子文件块的第五原始子校验码,并在所述第五子校验码与所述第五原始子校验码不一致时,所述发送端重传所述第五原始子文件块。其中,第五子文件块的数据量可以根据需要进行合理的设置。
本实施例中,通过在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得第一子文件块,接着计算所述第一子文件块的第一子校验码,而后将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致时,所述发送端重传所述第一原始子文件块,实现了接收到的文件不完整时重传第一子文件块,减少了文件重传的数据量,能够以较小的代价进行损坏数据的再传输,降低了大数据量文件重新传输的带宽及资源占用率,在最大程度上降低网络环境的设备压力,提高了文件重传的速度及效率,保证了文件的完整性。进一步地,通过接收端对接收到的所述文件进行分块处理减少了通过发送端对文件进行分块处理以及计算各个子文件块的校验码的流程,进而降低了发送端的负荷,避免了发送端因超负荷运行而自动重启甚至宕机的现象。
基于第一实施例提出本发明传输文件不完整的恢复方法的第二实施例,参照图2,在本实施例中,步骤S30包括:
步骤S31,将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致且所述第一原始子文件块的数据量大于预设值时,所述发送端反馈所述第一原始子文件块的数据量过大的提示信息;
本实施例中,接收端将第一子文件块的分块起止信息及第一子校验码发送至发送端,在接收到所述分块起止信息及所述第一子校验码时,发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,即发送端采用MD5或SHA1计算原始文件中第一子文件块对应的第一原始子文件块的第一原始子校验码,接着发送端将第一原始子校验码于接收到的第一子校验码进行比较,在第一子校验码与第一原始子校验码不一致时,若第一原始子文件块的数据量大于预设值,则发送端反馈所述第一原始子文件块的数据量过大的提示信息至接收端,其中,预设值可以根据需要进行合理的设置,例如预设值为30M、15M、8M、5M等。
步骤S32,在接收到所述发送端反馈的所述提示信息时,对所述第一子文件块进行分块处理以获得第三子文件块;
本实施例中,在接收到提示信息时,对第一子文件块进行分块处理以获得第三子文件块及第四子文件块其中,第四子文件块为第一子文件块中除第三子文件块之外的文件块,其中,对第一子文件块进行分块处理的方式与对接收到的文件进行分块处理的方式相同。
步骤S33,计算所述第三子文件块的第三子校验码;
在对第一子文件块进行分块处理得到第三子文件块及第四子文件块之后,接收端计算所述第三子文件块的第三子校验码,具体地,接收端可以采用MD5或SHA1计算所述第一子文件块的第三子校验码。
步骤S34,将所述第三子文件块的分块起止信息及所述第三子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第三子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第三原始子文件块的第三原始子校验码,并在所述第三子校验码与所述第三原始子校验码不一致且所述第三原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第三原始子文件块。
本实施例中,接收端将第三子文件块的分块起止信息及第三子校验码发送至发送端,在接收到所述分块起止信息及所述第三子校验码时,发送端计算所述分块起止信息对应的原始文件中的第三原始子文件块的第三原始子校验码,即发送端采用MD5或SHA1计算原始文件中第三子文件块对应的第三原始子文件块的第三原始子校验码,接着发送端将第三原始子校验码于接收到的第三子校验码进行比较,在第三子校验码与第三原始子校验码不一致时,若第三原始子文件块的数据量小于或等于预设值,则发送端重传所述第三原始子文件块,即再次发送第三原始子文件块至接收端。
需要强调的是,在重传所述第三原始子文件块时,发送端将第三原始子校验码发送至接收端,接收端在接收到第三原始子文件块时,采用MD5或SHA1计算接收到的第三原始子文件块的校验码,若计算得到的校验码与第三原始子校验码,则表示第三原始子文件块已重传成功,若计算得到的校验码与第三原始子校验码不一致,则发送重传失败的提示信息至发送端,发送端在接收到该提示信息时,再次重传该第三原始子文件块,直至接收到的第三原始子文件块的校验码与第三原始子校验码一致。
在其他实施例中,若第三原始子文件块的数据量大于预设值,则发送端发送第三原始子文件块的数据量过大的提示信息至接收端,接收端根据提示信息对第三子文件块进行分块处理,并按照上述流程重传第二子文件块分块后的文件块对应的原始文件块,以减少重传的数据量。若第三子校验码与第三原始子校验码一致时,将所述第四子文件块的分块起止信息及所述第四子校验码发送至所述发送端,发送端在第四子文件块不完整时,重传第四子文件块,其中,发送端在第四子文件块不完整时重传第四子子文件块的流程与重传第三子子文件块的流程相同,此处不再赘述。
本实施例中,通过在所述第一子校验码与所述第一原始子校验码不一致且所述第一原始子文件块的数据量大于预设值时,所述发送端反馈所述第一原始子文件块的数据量过大的提示信息,而后在接收到所述发送端反馈的所述提示信息时,对所述第一子文件块进行分块处理以获得第三子文件块,接着计算所述第三子文件块的第三子校验码,最后将所述第三子文件块的分块起止信息及所述第三子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第三子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第三原始子文件块的第三原始子校验码,并在所述第三子校验码与所述第三原始子校验码不一致且所述第三原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第三原始子文件块,实现了数据量小于或等于预设值的第三原始子文件块的重传,进一步减少了文件重传的数据量,能够以较小的代价进行损坏数据的再传输,降低了大数据量文件重新传输的带宽及资源占用率,提高了文件重传的速度及效率,保证了文件的完整性。
基于上述实施例提出本发明传输文件不完整的恢复方法的第三实施例,参照图3,在本实施例中,在步骤S30之后,该传输文件不完整的恢复方法还包括:
步骤S40,在接收到的所述第一原始子文件块完整时,基于接收到的所述第一原始子文件块及第二子文件块计算接收到的所述文件的第一校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
本实施例中,在重传所述第一原始子文件块时,发送端将第一原始子校验码发送至接收端,接收端在接收到第一原始子文件块时,采用MD5或SHA1计算接收到的第一原始子文件块的校验码,若计算得到的校验码与第一原始子校验码,则表示第一原始子文件块已重传成功。在接收到的所述第一原始子文件块完整时,接收端基于接收到的所述第一原始子文件块及所述第二子文件块计算接收到的所述文件的第一校验码,具体地,接收端将文件中的第一子文件块替换为接收到的所述第一原始子文件块,即将接收到的所述第一原始子文件块作为新的第一子文件块,而后计算文件的第一校验码。
步骤S50,在所述第一校验码与原始文件的第二校验码不一致时,计算所述第二子文件块的第二子校验码;
本实施例中,第一校验码与原始文件的第二校验码不一致,即在重传后的第一子文件块完整时,整个文件仍然不完整,因此,计算所述第二子文件块的第二子校验码。
步骤S60,将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
本实施例中,接收端将第二子文件块的分块起止信息及第二子校验码发送至发送端,在接收到所述分块起止信息及所述第二子校验码时,发送端计算所述分块起止信息对应的原始文件中的第二原始子文件块的第二原始子校验码,即发送端采用MD5或SHA1计算原始文件中第二子文件块对应的第二原始子文件块的第二原始子校验码,接着发送端将第二原始子校验码于接收到的第二子校验码进行比较,在第二子校验码与第二原始子校验码不一致时,若第二原始子文件块的数据量小于或等于预设值,则发送端重传所述第二原始子文件块。需要强调的是,在重传所述第二原始子文件块时,发送端将第二原始子校验码发送至接收端,接收端在接收到第二原始子文件块时,采用MD5或SHA1计算接收到的第二原始子文件块的校验码,若计算得到的校验码与第二原始子校验码,则表示第二原始子文件块已重传成功,若计算得到的校验码与第二原始子校验码不一致,则发送重传失败的提示信息至发送端,发送端在接收到该提示信息时,再次重传该第二原始子文件块,直至接收到的第二原始子文件块的校验码与第二原始子校验码一致。
在其他实施例中,若第二原始子文件块的数据量大于预设值,则发送端发送第二原始子文件块的数据量过大的提示信息至接收端,接收端根据提示信息对第二子文件块进行分块处理,并按照第二实施例的流程重传第二子文件块分块后的文件块对应的原始文件块,以减少重传的数据量。
本实施例中,在接收到的所述第一原始子文件块完整时,基于接收到的所述第一原始子文件块及第二子文件块计算接收到的所述文件的第一校验码,接着在所述第一校验码与原始文件的第二校验码不一致时,计算所述第二子文件块的第二子校验码,而后将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块,实现了在接收到的第一原始子文件块完整但整个文件仍然不完整时重传第二子文件块,进一步保证了文件的完整性。
基于第一实施例提出本发明传输文件不完整的恢复方法的第四实施例,参照图4,在本实施例中,步骤S30包括:
步骤S35,将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码一致时,所述发送端反馈所述第一子文件块完整的提示信息;
本实施例中,接收端将第一子文件块的分块起止信息及第一子校验码发送至发送端,在接收到所述分块起止信息及所述第一子校验码时,发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,接着发送端将第一原始子校验码于接收到的第一子校验码进行比较,在第一子校验码与第一原始子校验码一致时,发送端反馈所述第一子文件块完整的提示信息,以提示接收端当前文件的不完整与第一子文件块无关。
步骤S36,在接收到所述第一子文件块完整的提示信息时,计算第二子文件块的第二子校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
步骤S37,将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
本实施例中,接收端将第二子文件块的分块起止信息及第二子校验码发送至发送端,在接收到所述分块起止信息及所述第二子校验码时,发送端计算所述分块起止信息对应的原始文件中的第二原始子文件块的第二原始子校验码,即发送端采用MD5或SHA1计算原始文件中第二子文件块对应的第二原始子文件块的第二原始子校验码,接着发送端将第二原始子校验码于接收到的第二子校验码进行比较,在第二子校验码与第二原始子校验码不一致时,若第二原始子文件块的数据量小于或等于预设值,则发送端重传所述第二原始子文件块。需要强调的是,在重传所述第二原始子文件块时,发送端将第二原始子校验码发送至接收端,接收端在接收到第二原始子文件块时,采用MD5或SHA1计算接收到的第二原始子文件块的校验码,若计算得到的校验码与第二原始子校验码,则表示第二原始子文件块已重传成功,若计算得到的校验码与第二原始子校验码不一致,则发送重传失败的提示信息至发送端,发送端在接收到该提示信息时,再次重传该第二原始子文件块,直至接收到的第二原始子文件块的校验码与第二原始子校验码一致。
在其他实施例中,若第二原始子文件块的数据量大于预设值,则发送端发送第二原始子文件块的数据量过大的提示信息至接收端,接收端根据提示信息对第二子文件块进行分块处理,并按照第二实施例的流程重传第二子文件块分块后的文件块对应的原始文件块,以减少重传的数据量。
本实施例中,通过在所述第一子校验码与所述第一原始子校验码一致时,所述发送端反馈所述第一子文件块完整的提示信息,接着在接收到所述第一子文件块完整的提示信息时,计算第二子文件块的第二子校验码,而后将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块,实现了在第一子文件块完整时重传第二子文件块,进一步保证了文件的完整性。
本发明进一步提供一种传输文件不完整的恢复方法。
在本实施例中,该传输文件不完整的恢复方法包括:
步骤S110,在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得多个子文件块;
本实施例中,发送端在需要传输文件至接收端时,采用MD5(Message-Digest Algorithm 5,信息摘要算法5)或SHA1(Secure HashAlgorithm,安全哈希算法)计算该文件的校验码即第二校验码,而后将该文件传输至接收端,并在发送完该文件时将第二校验码发送至接收端。在接收到完整的文件及该文件对应的原始文件的第二校验码时,计算接收到的所述文件的校验码,即采用MD5或SHA1计算接收到的文件的第二校验码。而后接收端将接收到的文件的校验码与第二校验码进行比较,在接收到的文件的校验码与第二校验码不一致时,接收到的文件不完整,因此对接收到的所述文件进行分块处理以获得多个子文件块。优选地,各个子文件块的数据量小于或等于预设值。
步骤S120,计算各个所述子文件块的子校验码;
接收端计算各个所述子文件块的子校验码,具体地,接收端可以采用MD5或SHA1计算各个子文件块的子校验码。
步骤S130,将各个所述子文件块的分块起止信息及所述子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述子校验码时,所述发送端计算原始文件中所述分块起止信息对应的各个原始子文件块的原始子校验码,并在所述子校验码中存在与对应的所述原始子校验码不一致的校验码时,所述发送端重传不一致的所述校验码对应的原始子文件块。
本实施例中,接收端将各个所述子文件块的分块起止信息及所述子校验码发送至所述发送端,在接收到所述分块起止信息及所述子校验码时,发送端采用MD5或SHA1计算原始文件中所述分块起止信息对应的各个原始子文件块的原始子校验码,在子校验码中存在与对应的原始子校验码不一致的校验码时,该校验码对应的子文件块不完整,因此,发送端重传该校验码对应的原始子文件块。
本实施例中,通过在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得多个子文件块,接着计算各个所述子文件块的子校验码,而后将各个所述子文件块的分块起止信息及所述子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述子校验码时,所述发送端计算原始文件中所述分块起止信息对应的各个原始子文件块的原始子校验码,并在所述子校验码中存在与对应的所述原始子校验码不一致的校验码时,发送端重传不一致的所述校验码对应的原始子文件块;实现了在接收端对接收到的文件进行分块处理,并通过发送端重传不一致的所述校验码对应的原始子文件块,减少了通过发送端对文件进行分块处理以及计算各个子文件块的校验码的流程,避免了发送端因超负荷运行而自动重启甚至宕机的现象,即降低了发送端的负荷又可以保证文件的完整性。
本发明进一步提供一种传输文件不完整的恢复装置。
参照图5,图5为本发明传输文件不完整的恢复装置第一实施例的功能模块示意图。
在本实施例中,该传输文件不完整的恢复装置包括:
第一分块模块10,用于在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得第一子文件块;
本实施例中,发送端在需要传输文件至接收端时,采用MD5或SHA1计算该文件的校验码即第二校验码,而后将该文件传输至接收端,并在发送完该文件时将第二校验码发送至接收端。在接收到完整的文件及该文件对应的原始文件的第二校验码时,第一分块模块10计算接收到的所述文件的校验码。而后将接收到的文件的校验码与第二校验码进行比较,在接收到的文件的校验码与第二校验码不一致时,接收到的文件不完整,因此,第一分块模块10对接收到的文件进行分块处理,得到第一子文件块及第二子文件块,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;具体地,可以采用二分法对接收到的文件进行分块处理,即第一子文件块的数据量与第二子文件块数据量相同,其中,对接收到的文件进行分块处理时按照文件中数据的先后顺序进行分块,例如,第一子文件块为该文件的前半部分、第二子文件块为该文件的后半部分,或者第一子文件块为该文件的后半部分、第二子文件块为该文件的前半部分。
第一计算模块20,用于计算所述第一子文件块的第一子校验码;
第一发送模块30,用于将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致时,所述发送端重传所述第一原始子文件块。
本实施例中,第一发送模块30将第一子文件块的分块起止信息及第一子校验码发送至发送端,在接收到所述分块起止信息及所述第一子校验码时,发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,即发送端采用MD5或SHA1计算原始文件中第一子文件块对应的第一原始子文件块的第一原始子校验码,接着发送端将第一原始子校验码于接收到的第一子校验码进行比较,在第一子校验码与第一原始子校验码不一致时,发送端重传所述第一原始子文件块,即再次发送第一原始子文件块至接收端。优选地,在第一子校验码与第一原始子校验码不一致时,若第一原始子文件块的数据量小于或等于预设值,则发送端重传所述第一原始子文件块;若第一原始子文件块的数据量大于预设值,则发送端发送第一原始子文件块的数据量过大的提示信息至接收端,接收端根据提示信息对第一子文件块进行分块处理,以获得第三子文件块及第四子文件块,并将所述第三子文件块的分块起止信息及所述第三子校验码发送至所述发送端,以便于发送端进一步地进行判断是否需要重传第三子文件块对应的第三原始子文件块,其中,预设值可以根据需要进行合理的设置,例如预设值为30M、15M、8M、5M等。
本实施例中,通过在接收到的发送端发送的文件不完整时,第一分块模块10对接收到的所述文件进行分块处理以获得第一子文件块,接着第一计算模块20计算所述第一子文件块的第一子校验码,而后第一发送模块30将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致时,所述发送端重传所述第一原始子文件块,实现了接收到的文件不完整时重传第一子文件块,减少了文件重传的数据量,能够以较小的代价进行损坏数据的再传输,降低了大数据量文件重新传输的带宽及资源占用率,在最大程度上降低网络环境的设备压力,提高了文件重传的速度及效率,保证了文件的完整性。进一步地,通过接收端对接收到的所述文件进行分块处理减少了通过发送端对文件进行分块处理以及计算各个子文件块的校验码的流程,进而降低了发送端的负荷,避免了发送端因超负荷运行而自动重启甚至宕机的现象。
基于第一实施例提出本发明传输文件不完整的恢复装置的第二实施例,参照图6,在本实施例中,第一发送模块30包括:
第一发送单元31,用于将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致且所述第一原始子文件块的数据量大于预设值时,所述发送端反馈所述第一原始子文件块的数据量过大的提示信息;
分块单元32,用于在接收到所述发送端反馈的所述提示信息时,对所述第一子文件块进行分块处理以获得第三子文件块;
第一计算单元33,用于计算所述第三子文件块的第三子校验码;
第二发送单元34,用于将所述第三子文件块的分块起止信息及所述第三子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第三子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第三原始子文件块的第三原始子校验码,并在所述第三子校验码与所述第三原始子校验码不一致且所述第三原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第三原始子文件块。
本实施例中,通过在所述第一子校验码与所述第一原始子校验码不一致且所述第一原始子文件块的数据量大于预设值时,所述发送端反馈所述第一原始子文件块的数据量过大的提示信息,而后在接收到所述发送端反馈的所述提示信息时,分块单元32对所述第一子文件块进行分块处理以获得第三子文件块,接着第一计算单元33计算所述第三子文件块的第三子校验码,最后第二发送单元34将所述第三子文件块的分块起止信息及所述第三子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第三子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第三原始子文件块的第三原始子校验码,并在所述第三子校验码与所述第三原始子校验码不一致且所述第三原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第三原始子文件块,实现了数据量小于或等于预设值的第三原始子文件块的重传,进一步减少了文件重传的数据量,能够以较小的代价进行损坏数据的再传输,降低了大数据量文件重新传输的带宽及资源占用率,提高了文件重传的速度及效率,保证了文件的完整性。
基于第一实施例提出本发明传输文件不完整的恢复装置的第三实施例,参照图7,在本实施例中,传输文件不完整的恢复装置还包括:
第二计算模块40,用于在接收到的所述第一原始子文件块完整时,基于接收到的所述第一原始子文件块及第二子文件块计算接收到的所述文件的第一校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
本实施例中,在重传所述第一原始子文件块时,发送端将第一原始子校验码发送至接收端,在接收到第一原始子文件块时,第二计算模块40采用MD5或SHA1计算接收到的第一原始子文件块的校验码,若计算得到的校验码与第一原始子校验码,则表示第一原始子文件块已重传成功。在接收到的所述第一原始子文件块完整时,接收端基于接收到的所述第一原始子文件块及所述第二子文件块计算接收到的所述文件的第一校验码,具体地,接收端将文件中的第一子文件块替换为接收到的所述第一原始子文件块,即将接收到的所述第一原始子文件块作为新的第一子文件块,而后计算文件的第一校验码。
第三计算模块50,用于在所述第一校验码与原始文件的第二校验码不一致时,计算所述第二子文件块的第二子校验码;
第二发送模块60,用于将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
本实施例中,第二发送模块60将第二子文件块的分块起止信息及第二子校验码发送至发送端,在接收到所述分块起止信息及所述第二子校验码时,发送端计算所述分块起止信息对应的原始文件中的第二原始子文件块的第二原始子校验码,即发送端采用MD5或SHA1计算原始文件中第二子文件块对应的第二原始子文件块的第二原始子校验码,接着发送端将第二原始子校验码于接收到的第二子校验码进行比较,在第二子校验码与第二原始子校验码不一致时,若第二原始子文件块的数据量小于或等于预设值,则发送端重传所述第二原始子文件块。需要强调的是,在重传所述第二原始子文件块时,发送端将第二原始子校验码发送至接收端,接收端在接收到第二原始子文件块时,采用MD5或SHA1计算接收到的第二原始子文件块的校验码,若计算得到的校验码与第二原始子校验码,则表示第二原始子文件块已重传成功,若计算得到的校验码与第二原始子校验码不一致,则发送重传失败的提示信息至发送端,发送端在接收到该提示信息时,再次重传该第二原始子文件块,直至接收到的第二原始子文件块的校验码与第二原始子校验码一致。
本实施例中,在接收到的所述第一原始子文件块完整时,第二计算模块40基于接收到的所述第一原始子文件块及第二子文件块计算接收到的所述文件的第一校验码,接着在所述第一校验码与原始文件的第二校验码不一致时,第三计算模块50计算所述第二子文件块的第二子校验码,而后第二发送模块60将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块,实现了在接收到的第一原始子文件块完整但整个文件仍然不完整时重传第二子文件块,进一步保证了文件的完整性。
基于第一实施例提出本发明传输文件不完整的恢复装置的第四实施例,参照图8,在本实施例中,第一发送模块30包括:
第三发送单元35,用于将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码一致时,所述发送端反馈所述第一子文件块完整的提示信息;
第二计算单元36,用于在接收到所述第一子文件块完整的提示信息时,计算第二子文件块的第二子校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
第四发送单元37,用于将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
本实施例中,第四发送单元37将第二子文件块的分块起止信息及第二子校验码发送至发送端,在接收到所述分块起止信息及所述第二子校验码时,发送端计算所述分块起止信息对应的原始文件中的第二原始子文件块的第二原始子校验码,即发送端采用MD5或SHA1计算原始文件中第二子文件块对应的第二原始子文件块的第二原始子校验码,接着发送端将第二原始子校验码于接收到的第二子校验码进行比较,在第二子校验码与第二原始子校验码不一致时,若第二原始子文件块的数据量小于或等于预设值,则发送端重传所述第二原始子文件块。需要强调的是,在重传所述第二原始子文件块时,发送端将第二原始子校验码发送至接收端,接收端在接收到第二原始子文件块时,采用MD5或SHA1计算接收到的第二原始子文件块的校验码,若计算得到的校验码与第二原始子校验码,则表示第二原始子文件块已重传成功,若计算得到的校验码与第二原始子校验码不一致,则发送重传失败的提示信息至发送端,发送端在接收到该提示信息时,再次重传该第二原始子文件块,直至接收到的第二原始子文件块的校验码与第二原始子校验码一致。
本实施例中,通过在所述第一子校验码与所述第一原始子校验码一致时,所述发送端反馈所述第一子文件块完整的提示信息,接着在接收到所述第一子文件块完整的提示信息时,第二计算单元36计算第二子文件块的第二子校验码,而后第四发送单元37将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块,实现了在第一子文件块完整时重传第二子文件块,进一步保证了文件的完整性。
本发明进一步提供一种传输文件不完整的恢复装置。
在本实施例中,该传输文件不完整的恢复装置包括:
第二分块模块,用于在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得多个子文件块;
本实施例中,发送端在需要传输文件至接收端时,采用MD5(Message-Digest Algorithm 5,信息摘要算法5)或SHA1(Secure HashAlgorithm,安全哈希算法)计算该文件的校验码即第二校验码,而后将该文件传输至接收端,并在发送完该文件时将第二校验码发送至接收端。在接收到完整的文件及该文件对应的原始文件的第二校验码时,计算接收到的所述文件的校验码,即采用MD5或SHA1计算接收到的文件的第二校验码。而后接收端将接收到的文件的校验码与第二校验码进行比较,在接收到的文件的校验码与第二校验码不一致时,接收到的文件不完整,因此第二分块模块对接收到的所述文件进行分块处理以获得多个子文件块。优选地,各个子文件块的数据量小于或等于预设值。
第四计算模块,用于计算各个所述子文件块的子校验码;
第三发送模块,用于将各个所述子文件块的分块起止信息及所述子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述子校验码时,所述发送端计算原始文件中所述分块起止信息对应的各个原始子文件块的原始子校验码,并在所述子校验码中存在与对应的所述原始子校验码不一致的校验码时,所述发送端重传不一致的所述校验码对应的原始子文件块。
本实施例中,第三发送模块将各个所述子文件块的分块起止信息及所述子校验码发送至所述发送端,在接收到所述分块起止信息及所述子校验码时,发送端采用MD5或SHA1计算原始文件中所述分块起止信息对应的各个原始子文件块的原始子校验码,在子校验码中存在与对应的原始子校验码不一致的校验码时,该校验码对应的子文件块不完整,因此,发送端重传该校验码对应的原始子文件块。
本实施例中,通过在接收到的发送端发送的文件不完整时,第二分块模块对接收到的所述文件进行分块处理以获得多个子文件块,接着第四计算模块计算各个所述子文件块的子校验码,而后第三发送模块将各个所述子文件块的分块起止信息及所述子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述子校验码时,所述发送端计算原始文件中所述分块起止信息对应的各个原始子文件块的原始子校验码,并在所述子校验码中存在与对应的所述原始子校验码不一致的校验码时,发送端重传不一致的所述校验码对应的原始子文件块;实现了在接收端对接收到的文件进行分块处理,并通过发送端重传不一致的所述校验码对应的原始子文件块,减少了通过发送端对文件进行分块处理以及计算各个子文件块的校验码的流程,避免了发送端因超负荷运行而自动重启甚至宕机的现象,即降低了发送端的负荷又可以保证文件的完整性。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种传输文件不完整的恢复方法,其特征在于,所述传输文件不完整的恢复方法包括以下步骤:
在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得第一子文件块;
计算所述第一子文件块的第一子校验码;
将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致时,所述发送端重传所述第一原始子文件块。
2.如权利要求1所述的传输文件不完整的恢复方法,其特征在于,所述将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端的步骤包括:
将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致且所述第一原始子文件块的数据量大于预设值时,所述发送端反馈所述第一原始子文件块的数据量过大的提示信息;
在接收到所述发送端反馈的所述提示信息时,对所述第一子文件块进行分块处理以获得第三子文件块;
计算所述第三子文件块的第三子校验码;
将所述第三子文件块的分块起止信息及所述第三子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第三子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第三原始子文件块的第三原始子校验码,并在所述第三子校验码与所述第三原始子校验码不一致且所述第三原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第三原始子文件块。
3.如权利要求1或2所述的传输文件不完整的恢复方法,其特征在于,所述将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端的步骤之后,所述传输文件不完整的恢复方法还包括:
在接收到的所述第一原始子文件块完整时,基于接收到的所述第一原始子文件块及第二子文件块计算接收到的所述文件的第一校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
在所述第一校验码与原始文件的第二校验码不一致时,计算所述第二子文件块的第二子校验码;
将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
4.如权利要求1所述的传输文件不完整的恢复方法,其特征在于,所述将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端的步骤包括:
将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码一致时,所述发送端反馈所述第一子文件块完整的提示信息;
在接收到所述第一子文件块完整的提示信息时,计算第二子文件块的第二子校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
5.一种传输文件不完整的恢复方法,其特征在于,所述传输文件不完整的恢复方法包括以下步骤:
在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得多个子文件块;
计算各个所述子文件块的子校验码;
将各个所述子文件块的分块起止信息及所述子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述子校验码时,所述发送端计算原始文件中所述分块起止信息对应的各个原始子文件块的原始子校验码,并在所述子校验码中存在与对应的所述原始子校验码不一致的校验码时,所述发送端重传不一致的所述校验码对应的原始子文件块。
6.一种传输文件不完整的恢复装置,其特征在于,所述传输文件不完整的恢复装置包括:
第一分块模块,用于在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得第一子文件块;
第一计算模块,用于计算所述第一子文件块的第一子校验码;
第一发送模块,用于将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述分块起止信息对应的原始文件中的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致时,所述发送端重传所述第一原始子文件块。
7.如权利要求6所述的传输文件不完整的恢复装置,其特征在于,所述第一发送模块包括:
第一发送单元,用于将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码不一致且所述第一原始子文件块的数据量大于预设值时,所述发送端反馈所述第一原始子文件块的数据量过大的提示信息;
分块单元,用于在接收到所述发送端反馈的所述提示信息时,对所述第一子文件块进行分块处理以获得第三子文件块;
第一计算单元,用于计算所述第三子文件块的第三子校验码;
第二发送单元,用于将所述第三子文件块的分块起止信息及所述第三子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第三子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第三原始子文件块的第三原始子校验码,并在所述第三子校验码与所述第三原始子校验码不一致且所述第三原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第三原始子文件块。
8.如权利要求6或7所述的传输文件不完整的恢复装置,其特征在于,所述传输文件不完整的恢复装置还包括:
第二计算模块,用于在接收到的所述第一原始子文件块完整时,基于接收到的所述第一原始子文件块及所述第二子文件块计算接收到的所述文件的第一校验码;
第三计算模块,用于在所述第一校验码与原始文件的第二校验码不一致时,计算第二子文件块的第二子校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
第二发送模块,用于将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
9.如权利要求6所述的传输文件不完整的恢复装置,其特征在于,所述第一发送模块包括:
第三发送单元,用于将所述第一子文件块的分块起止信息及所述第一子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第一子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第一原始子文件块的第一原始子校验码,并在所述第一子校验码与所述第一原始子校验码一致时,所述发送端反馈所述第一子文件块完整的提示信息;
第二计算单元,用于在接收到所述第一子文件块完整的提示信息时,计算第二子文件块的第二子校验码,其中,所述第二子文件块为所述文件分块处理后除第一子文件块之外的文件块;
第四发送单元,用于将所述第二子文件块的分块起止信息及所述第二子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述第二子校验码时,所述发送端计算所述原始文件中所述分块起止信息对应的第二原始子文件块的第二原始子校验码,并在所述第二子校验码与所述第二原始子校验码不一致且所述第二原始子文件块的数据量小于或等于预设值时,所述发送端重传所述第二原始子文件块。
10.一种传输文件不完整的恢复装置,其特征在于,所述传输文件不完整的恢复装置包括:
第二分块模块,用于在接收到的发送端发送的文件不完整时,对接收到的所述文件进行分块处理以获得多个子文件块;
第四计算模块,用于计算各个所述子文件块的子校验码;
第三发送模块,用于将各个所述子文件块的分块起止信息及所述子校验码发送至所述发送端,其中,在接收到所述分块起止信息及所述子校验码时,所述发送端计算原始文件中所述分块起止信息对应的各个原始子文件块的原始子校验码,并在所述子校验码中存在与对应的所述原始子校验码不一致的校验码时,所述发送端重传不一致的所述校验码对应的原始子文件块。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610581670.6A CN107645357B (zh) | 2016-07-20 | 2016-07-20 | 传输文件不完整的恢复方法及装置 |
PCT/CN2017/076158 WO2018014564A1 (zh) | 2016-07-20 | 2017-03-09 | 传输文件不完整的恢复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610581670.6A CN107645357B (zh) | 2016-07-20 | 2016-07-20 | 传输文件不完整的恢复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107645357A true CN107645357A (zh) | 2018-01-30 |
CN107645357B CN107645357B (zh) | 2020-09-22 |
Family
ID=60992936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610581670.6A Active CN107645357B (zh) | 2016-07-20 | 2016-07-20 | 传输文件不完整的恢复方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107645357B (zh) |
WO (1) | WO2018014564A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413200A (zh) * | 2018-11-26 | 2019-03-01 | Oppo(重庆)智能科技有限公司 | 一种资源导入的方法、客户端、mes及电子设备 |
CN114500507A (zh) * | 2022-01-25 | 2022-05-13 | 金蝶蝶金云计算有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
CN116055767A (zh) * | 2022-11-08 | 2023-05-02 | 天翼云科技有限公司 | 视频文件的处理方法、装置、设备及可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567510B (zh) * | 2022-09-13 | 2024-04-26 | 中国电子科技集团公司第十研究所 | 一种提高在轨文件上注有效性的方法 |
CN117216011B (zh) * | 2023-08-30 | 2024-05-03 | 建银工程咨询有限责任公司 | 文件传输方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010017973A1 (en) * | 2000-02-29 | 2001-08-30 | Hiroyuki Abe | Signal processing system |
CN101383720A (zh) * | 2007-09-05 | 2009-03-11 | 大唐移动通信设备有限公司 | 受控网元的软件更新方法及受控网元、操作维护中心 |
CN101453479A (zh) * | 2007-11-28 | 2009-06-10 | 新奥特(北京)视频技术有限公司 | 一种快速的文件传输*** |
CN103095795A (zh) * | 2011-10-28 | 2013-05-08 | 三星Sds株式会社 | 用于传输数据的设备和方法 |
CN101453478B (zh) * | 2007-11-28 | 2013-07-03 | 新奥特(北京)视频技术有限公司 | 一种在文件传输中的完整性校验方法 |
CN104580158A (zh) * | 2014-12-12 | 2015-04-29 | 集时通(福建)信息科技有限公司 | 一种分布式平台文件与内容分发方法及*** |
CN105045626A (zh) * | 2015-07-21 | 2015-11-11 | 珠海格力电器股份有限公司 | 程序的烧录方法、烧录设备和控制器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043296A (zh) * | 2007-04-28 | 2007-09-26 | 华为技术有限公司 | 请求重传数据的方法、数据重传方法和数据传输*** |
US9065980B2 (en) * | 2009-10-02 | 2015-06-23 | Telefonaktiebolaget L M Ericsson (Publ) | Method for retransmission using checksums for identifying lost data packets |
CN105446829A (zh) * | 2015-09-29 | 2016-03-30 | 网易(杭州)网络有限公司 | 客户端程序的修复方法、装置、***及服务器 |
CN105160253B (zh) * | 2015-09-29 | 2018-11-09 | 网易(杭州)网络有限公司 | 修复客户端程序的方法、装置、***及服务器 |
-
2016
- 2016-07-20 CN CN201610581670.6A patent/CN107645357B/zh active Active
-
2017
- 2017-03-09 WO PCT/CN2017/076158 patent/WO2018014564A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010017973A1 (en) * | 2000-02-29 | 2001-08-30 | Hiroyuki Abe | Signal processing system |
CN101383720A (zh) * | 2007-09-05 | 2009-03-11 | 大唐移动通信设备有限公司 | 受控网元的软件更新方法及受控网元、操作维护中心 |
CN101453479A (zh) * | 2007-11-28 | 2009-06-10 | 新奥特(北京)视频技术有限公司 | 一种快速的文件传输*** |
CN101453478B (zh) * | 2007-11-28 | 2013-07-03 | 新奥特(北京)视频技术有限公司 | 一种在文件传输中的完整性校验方法 |
CN103095795A (zh) * | 2011-10-28 | 2013-05-08 | 三星Sds株式会社 | 用于传输数据的设备和方法 |
CN104580158A (zh) * | 2014-12-12 | 2015-04-29 | 集时通(福建)信息科技有限公司 | 一种分布式平台文件与内容分发方法及*** |
CN105045626A (zh) * | 2015-07-21 | 2015-11-11 | 珠海格力电器股份有限公司 | 程序的烧录方法、烧录设备和控制器 |
Non-Patent Citations (1)
Title |
---|
关少华: "基于无线UKey的分段式文件加密***研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413200A (zh) * | 2018-11-26 | 2019-03-01 | Oppo(重庆)智能科技有限公司 | 一种资源导入的方法、客户端、mes及电子设备 |
CN109413200B (zh) * | 2018-11-26 | 2021-04-23 | Oppo(重庆)智能科技有限公司 | 一种资源导入的方法、客户端、mes及电子设备 |
CN114500507A (zh) * | 2022-01-25 | 2022-05-13 | 金蝶蝶金云计算有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
CN116055767A (zh) * | 2022-11-08 | 2023-05-02 | 天翼云科技有限公司 | 视频文件的处理方法、装置、设备及可读存储介质 |
CN116055767B (zh) * | 2022-11-08 | 2024-07-30 | 天翼云科技有限公司 | 视频文件的处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2018014564A1 (zh) | 2018-01-25 |
CN107645357B (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107645357A (zh) | 传输文件不完整的恢复方法及装置 | |
CN104539739B (zh) | 一种文件上传的***、方法及装置 | |
JP7029471B2 (ja) | アップリンクデータ解凍、圧縮方法および装置 | |
KR101966626B1 (ko) | 차량용 무선 소프트웨어 업데이트 방법 및 장치 | |
CN106453233A (zh) | 一种基于udp的数据传输方法及装置 | |
US8976814B2 (en) | Method of transporting data from sending node to destination node | |
CN104518853A (zh) | 一种数据重传的方法、接收端及*** | |
CN105743865A (zh) | 多媒体文件数据传输***及传输方法 | |
CN108933642B (zh) | 一种基于码块分组的下行重传方法、基站及终端 | |
CN108243146B (zh) | 一种信息提交方法 | |
CN108540823A (zh) | 一种基于区块链技术的视频完整性校验方法 | |
CN107645531A (zh) | 数据同步方法及*** | |
CN104348578A (zh) | 数据处理的方法及装置 | |
CN101453479A (zh) | 一种快速的文件传输*** | |
CN107801211A (zh) | 一种报文的非按序递交方法及rlc实体、基站 | |
CN111246428A (zh) | 一种网络可靠通信方法、***、装置及存储介质 | |
US20190236331A1 (en) | Method, apparatus, and storage medium for data verification | |
CN103346961B (zh) | 一种数据打包交换的方法和*** | |
CN115412890B (zh) | 一种数据传输方法、装置和终端设备 | |
CN107959554B (zh) | 一种数据的重传方法及装置 | |
CN106302582A (zh) | 基于车载设备的文件上传方法、车载设备、服务器及*** | |
US8051200B1 (en) | Forming multi-user packet based groups using response behavior | |
JP4447028B2 (ja) | 通信制御方法、送信装置、およびコンピュータプログラム | |
CN107317745A (zh) | 一种消费端与消息代理之间的消息传输方法及装置 | |
CN113784389A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |