CN104901972A - 一种文件接收和补包的方法 - Google Patents
一种文件接收和补包的方法 Download PDFInfo
- Publication number
- CN104901972A CN104901972A CN201510353791.0A CN201510353791A CN104901972A CN 104901972 A CN104901972 A CN 104901972A CN 201510353791 A CN201510353791 A CN 201510353791A CN 104901972 A CN104901972 A CN 104901972A
- Authority
- CN
- China
- Prior art keywords
- file
- reception
- original document
- data
- bag
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件接收和补包的方法,包括:采用第一接收途径从文件源接收原始文件的文件数据;判断接收的所述原始文件的完整性,在判断得到所述原始文件存在缺失时计算分析所述原始文件中缺失的文件数据,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包;将所述补包的文件数据插入到所述原始文件中的正确位置,完成对所述原始文件的全部接收。本发明文件接收和补包的方法,通过计算分析所述原始文件中丢失的文件数据,并采用第二接收途径从文件源对所述丢失的文件数据进行文件补包,保证了原始文件的完整性。避免了传统文件接收时,可能因为链路问题或者文件服务器故障引起的文件接收不完整。
Description
技术领域
本发明涉及一种文件接收和补包的方法,尤其是指一种能在文件接收不完整的情况下采用另外一种途径将文件丢失的部分补完整的文件接收和补包的方法。
背景技术
现有技术一般是采用单一的途径进行文件下载,比如通过Internet网络进行文件下载,也有的会通过串口或者USB方式进行应答式的文件下载。但是不管采用哪种方式,文件下载的途径是单一的,如果在文件下载过程中链路断开或者文件服务器故障,由于接收途径单一,链路及文件服务器恢复正常需要一定的时间延时,将造成文件不能及时接收完整或者因为其它原因导致永远不能接收完整。
发明内容
有鉴于上述问题,本发明提供了一种文件接收和补包的方法,包括:
采用第一接收途径从文件源接收原始文件的文件数据;
判断接收的所述原始文件的完整性,在判断得到所述原始文件存在缺失时计算分析所述原始文件中缺失的文件数据,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包;
将所述补包的文件数据插入到所述原始文件中的正确位置,完成对所述原始文件的全部接收。
本发明文件接收和补包的方法,通过计算分析所述原始文件中丢失的文件数据,并采用第二接收途径从文件源对所述丢失的文件数据进行文件补包,保证了原始文件的完整性。避免了传统文件接收时,可能因为链路问题或者文件服务器故障引起的文件接收不完整。
本发明文件接收和补包的方法的进一步改进在于,采用第一接收途径从文件源接收原始文件的文件数据,包括:
将所述原始文件的文件数据按照协议封装成文件帧,所述文件帧包括控制帧和数据帧,所述控制帧中包含接收文件的总大小、总的文件帧数以及文件名,所述数据帧中包含所述原始文件的文件数据的文件帧号;
在文件接收过程中,记录下已接收到的文件数据的文件帧号;
从所述已接收到的文件数据的文件帧中解析出实际文件数据,将所述实际文件数据予以保存。
本发明文件接收和补包的方法的进一步改进在于,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包,包括:
探测文件发送的轮询次数,并计算已接收到的文件数据的百分比信息;
根据预设的轮询次数和百分比信息,将所述实际文件数据与所述控制帧进行比对,并从所述文件源处下载所述原始文件中丢失的文件数据。
本发明文件接收和补包的方法的进一步改进在于,所述第一接收途径为无线传输方式。
本发明文件接收和补包的方法的进一步改进在于,所述第二接收途径为HTTP协议传输方式。
本发明文件接收和补包的方法的进一步改进在于,所述HTTP协议传输方式为3G、4G或有线传输方式。
本发明文件接收和补包的方法的进一步改进在于,采用第二接收途径从文件源处对所述丢失的文件数据进行文件补包之后,对所述补包的数据与已接收到的所述原始文件的文件数据进行CRC校验,比对一致时将所述补包的文件数据插入到所述原始文件中的正确位置。
本发明文件接收和补包的方法的进一步改进在于,将所述补包的文件数据插入到所述原始文件中的正确位置之后,对所述原始文件的全部文件数据进行一次MD5校验。
附图说明
图1是本发明文件接收和补包的方法的流程示意图。
图2是本发明文件接收和补包的方法中控制帧的基本定义格式。
图3是本发明文件接收和补包的方法中数据帧的基本定义格式。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
配合参看图1所示,图1是本发明文件接收和补包的方法的流程示意图。本发明文件接收和补包的方法,包括:
步骤S101:采用第一接收途径从文件源接收原始文件的文件数据;
步骤S102:在所述第一接收途径出现链路断开或者文件服务器故障时,判断接收的所述原始文件的完整性,在判断得到所述原始文件存在缺失时计算分析所述原始文件中缺失的文件数据,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包;
步骤S103:将所述补包的文件数据插入到所述原始文件中的正确位置,完成对所述原始文件的全部接收。
本发明文件接收和补包的方法,通过计算分析所述原始文件中丢失的文件数据,并采用第二接收途径从文件源对所述丢失的文件数据进行文件补包,保证了原始文件的完整性。避免了传统文件接收时,可能因为链路问题或者文件服务器故障引起的文件接收不完整。
其中,在上述步骤S101中,采用第一接收途径从文件源接收原始文件的文件数据,包括:
将所述原始文件的文件数据按照协议封装成文件帧,所述文件帧包括控制帧和数据帧,所述控制帧中包含接收文件的总大小、总的文件帧数以及文件名,所述数据帧中包含所述原始文件的文件数据的文件帧号;
在文件接收过程中,记录下已接收到的文件数据的文件帧号;
从所述已接收到的文件数据的文件帧中解析出实际文件数据,将所述实际文件数据予以保存。
优选地,所述第一接收途径为无线传输方式。
在上述步骤S102中,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包,包括:
探测文件发送的轮询次数,并计算已接收到的文件数据的百分比信息;
根据预设的轮询次数和百分比信息,将所述实际文件数据与所述控制帧进行比对,并从所述文件源处下载所述原始文件中丢失的文件数据。
优选地,所述第二接收途径为HTTP协议传输方式,如3G、4G或有线传输方式。
进一步地,在采用第二接收途径从文件源对所述丢失的文件数据进行文件补包之后,对所述补包的数据与已接收到的所述原始文件的文件数据进行CRC校验,比对一致时将所述补包的文件数据插入到所述原始文件中的正确位置,以保证补包的数据的文件帧的正确性。
在上述步骤S103中,将所述补包的文件数据插入到所述原始文件中的正确位置之后,对所述原始文件的全部文件数据进行一次MD5校验,以保证整个原始文件的完整性。
具体地,本发明文件接收和补包的方法,在发送端首先将原始文件的文件数据按照协议封装成文件帧,文件帧中包含原始文件的所有信息。结合图2与图3所示,把文件帧分为控制帧和数据帧,控制帧中包含接收文件的总大小、总的文件帧数以及文件名等(如图2中所示为File Number、Group ID、USER ID、File Frame Sum、File Length、File Namelen、File Name等信息),数据帧中包含原始文件的文件数据的文件帧号(如图3中所示为0xFF、LEN、CRC、TYPE、DATA等信息)。对于数据帧,DATA域的第一字节、第二字节为文件流水号(File Number),第三字节到第六字节为文件帧序号(File Sequence No)。文件数据按协议封装成文件帧后,再追加TS头部进行发送,在接收端通过TS头中的计数域来确定数据传送链路是否引起丢包。
在采用无线传输方式进行文件接收过程中,记录下已接收到的文件数据的文件帧号,并解析出实际文件数据,保存到数据库中。在发送端主发的情况下,探测文件发送的轮询次数,并计算已接收到的文件数据的百分比信息;根据预设的轮询次数和百分比信息,将所述实际文件数据与所述控制帧进行比对,并从所述文件源处采取HTTP协议传输方式,以3G、4G或者有线网络方式连接文件源,下载所述原始文件中丢失的文件数据的文件帧号,将补包的文件数据的文件帧号插入到原始文件中的正确位置,完成对原始文件的下载。
在采用第二接收途径从文件源对所述丢失的文件数据进行文件补包之后,对所述补包的数据与已接收到的所述原始文件的文件数据进行CRC校验(CRC-Cyclic Redundancy Check,循环冗余校验码),比对一致时将所述补包的文件数据插入到所述原始文件中的正确位置,以保证补包的数据的文件帧的正确性。将所述补包的文件数据插入到所述原始文件中的正确位置之后,对所述原始文件的全部文件数据进行一次MD5校验(MD5-Message Digest Algorithm,消息摘要算法第五版),以保证整个原始文件的完整性。
本发明文件接收和补包的方法,通过多途径方式进行接收文件,在采用第一接收途径进行文件接收时,如果因为链路问题或者其它原因造成文件接收不完整,在满足一定条件的情况下,对已下载的不完整文件进行补包,补包过程中不破坏原始文件的完整性,通过第二接收途径,获取原始文件中丢失的文件数据,然后插入到原始文件的正确位置,保证文件正常被接收完整。
以上所述仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案的范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (8)
1.一种文件接收和补包的方法,其特征在于,包括:
采用第一接收途径从文件源接收原始文件的文件数据;
判断接收的所述原始文件的完整性,在判断得到所述原始文件存在缺失时计算分析所述原始文件中缺失的文件数据,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包;
将所述补包的文件数据插入到所述原始文件中的正确位置,完成对所述原始文件的全部接收。
2.如权利要求1所述的文件接收和补包的方法,其特征在于,采用第一接收途径从文件源接收原始文件的文件数据,包括:
将所述原始文件的文件数据按照协议封装成文件帧,所述文件帧包括控制帧和数据帧,所述控制帧中包含接收文件的总大小、总的文件帧数以及文件名,所述数据帧中包含所述原始文件的文件数据的文件帧号;
在文件接收过程中,记录下已接收到的文件数据的文件帧号;
从所述已接收到的文件数据的文件帧中解析出实际文件数据,将所述实际文件数据予以保存。
3.如权利要求2所述的文件接收和补包的方法,其特征在于,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包,包括:
探测文件发送的轮询次数,并计算已接收到的文件数据的百分比信息;
根据预设的轮询次数和百分比信息,将所述实际文件数据与所述控制帧进行比对,并从所述文件源处下载所述原始文件中丢失的文件数据。
4.如权利要求1所述的文件接收和补包的方法,其特征在于,所述第一接收途径为无线传输方式。
5.如权利要求1或5所述的文件接收和补包的方法,其特征在于,所述第二接收途径为HTTP协议传输方式。
6.如权利要求5所述的文件接收和补包的方法,其特征在于,所述HTTP协议传输方式为3G、4G或有线传输方式。
7.如权利要求1所述的文件接收和补包的方法,其特征在于,采用第二接收途径从文件源处对所述丢失的文件数据进行文件补包之后,对所述补包的数据与已接收到的所述原始文件的文件数据进行CRC校验,比对一致时将所述补包的文件数据插入到所述原始文件中的正确位置。
8.如权利要求1或7所述的文件接收和补包的方法,其特征在于,将所述补包的文件数据插入到所述原始文件中的正确位置之后,对所述原始文件的全部文件数据进行一次MD5校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510353791.0A CN104901972B (zh) | 2015-06-24 | 2015-06-24 | 一种文件接收和补包的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510353791.0A CN104901972B (zh) | 2015-06-24 | 2015-06-24 | 一种文件接收和补包的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104901972A true CN104901972A (zh) | 2015-09-09 |
CN104901972B CN104901972B (zh) | 2019-02-01 |
Family
ID=54034369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510353791.0A Active CN104901972B (zh) | 2015-06-24 | 2015-06-24 | 一种文件接收和补包的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104901972B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908730A (zh) * | 2017-11-14 | 2018-04-13 | 网宿科技股份有限公司 | 一种下载数据的方法和装置 |
CN108270847A (zh) * | 2017-12-28 | 2018-07-10 | 上海文广科技(集团)有限公司 | 一种文件发送和补发包的方法 |
CN110061793A (zh) * | 2019-04-18 | 2019-07-26 | 湖南科大天河通信股份有限公司 | 防空防灾警报的播报方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656747A (zh) * | 2009-09-25 | 2010-02-24 | 深圳创维数字技术股份有限公司 | 流媒体数据的传输方法及系统 |
CN102075741A (zh) * | 2010-12-14 | 2011-05-25 | 北京华环电子股份有限公司 | 一种图像传输方法、终端及系统 |
CN102567276A (zh) * | 2011-12-19 | 2012-07-11 | 华为技术有限公司 | 基于多通道的数据传输方法、相关节点及系统 |
CN103957169A (zh) * | 2014-05-14 | 2014-07-30 | 上海复兰信息科技有限公司 | 一种基于反向请求的可靠udp的实现方法 |
CN104243111A (zh) * | 2014-09-01 | 2014-12-24 | 广州华多网络科技有限公司 | 一种数据包传输的方法和装置 |
-
2015
- 2015-06-24 CN CN201510353791.0A patent/CN104901972B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656747A (zh) * | 2009-09-25 | 2010-02-24 | 深圳创维数字技术股份有限公司 | 流媒体数据的传输方法及系统 |
CN102075741A (zh) * | 2010-12-14 | 2011-05-25 | 北京华环电子股份有限公司 | 一种图像传输方法、终端及系统 |
CN102567276A (zh) * | 2011-12-19 | 2012-07-11 | 华为技术有限公司 | 基于多通道的数据传输方法、相关节点及系统 |
CN103957169A (zh) * | 2014-05-14 | 2014-07-30 | 上海复兰信息科技有限公司 | 一种基于反向请求的可靠udp的实现方法 |
CN104243111A (zh) * | 2014-09-01 | 2014-12-24 | 广州华多网络科技有限公司 | 一种数据包传输的方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908730A (zh) * | 2017-11-14 | 2018-04-13 | 网宿科技股份有限公司 | 一种下载数据的方法和装置 |
CN107908730B (zh) * | 2017-11-14 | 2021-02-02 | 网宿科技股份有限公司 | 一种下载数据的方法和装置 |
CN108270847A (zh) * | 2017-12-28 | 2018-07-10 | 上海文广科技(集团)有限公司 | 一种文件发送和补发包的方法 |
CN110061793A (zh) * | 2019-04-18 | 2019-07-26 | 湖南科大天河通信股份有限公司 | 防空防灾警报的播报方法、装置、电子设备及存储介质 |
CN110061793B (zh) * | 2019-04-18 | 2021-07-02 | 湖南科大天河通信股份有限公司 | 防空防灾警报的播报方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104901972B (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107017966B (zh) | 数据包的封装方法及校验方法 | |
CN103532668A (zh) | 一种确保tcp通信数据完整及正确的方法 | |
CN105262627B (zh) | 一种固件升级方法、装置及系统 | |
CN104539739B (zh) | 一种文件上传的系统、方法及装置 | |
JP2020519090A (ja) | アップリンクデータ解凍、圧縮方法および装置 | |
CN107888344B (zh) | 一种误码检测的方法、设备和系统 | |
CN108092924B (zh) | 基于FlexE业务的信元交换方法及系统 | |
EP3605881B1 (en) | Method and device for transmitting and receiving network management information, transmitting apparatus and receiving apparatus | |
CN105099540A (zh) | 一种卫星处理类载荷在轨功能重构方法 | |
CN101753586A (zh) | 发送数据的方法、接收数据的处理方法和装置 | |
CN107040549A (zh) | 一种tcp粘包处理方法、服务器及系统 | |
CN103731499B (zh) | 终端和文件传输方法 | |
CN107426770B (zh) | 基于数据链路层的数据通讯方法、数据终端及系统 | |
EP3026856B1 (en) | Gre packet encapsulation method, decapsulation method, and corresponding apparatuses | |
CN104901972A (zh) | 一种文件接收和补包的方法 | |
CN110798480A (zh) | 安全仪表系统间的数据通讯方法及系统 | |
CN106452684A (zh) | 一种iec61850报告数据传输报文的自校验方法 | |
CN103684684A (zh) | 用于处理端到端网络连接的无线段上的分组的方法和系统 | |
CN108134751B (zh) | 一种tcp分段报文待检测文本重组方法及装置 | |
CN104348578A (zh) | 数据处理的方法及装置 | |
CN107241408B (zh) | 一种数据传输方法及装置、终端设备、存储介质 | |
CN111865557A (zh) | 一种校验码生成方法及装置 | |
US10200154B2 (en) | System and method for early packet header verification | |
CN113141263B (zh) | 一种升级方法、装置、系统和存储介质 | |
CN108270847A (zh) | 一种文件发送和补发包的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |