一种文件接收和补包的方法

xiaoxiao2020-10-23  24

一种文件接收和补包的方法
【技术领域】
[0001]本发明涉及一种文件接收和补包的方法,尤其是指一种能在文件接收不完整的情况下采用另外一种途径将文件丢失的部分补完整的文件接收和补包的方法。
【背景技术】
[0002]现有技术一般是采用单一的途径进行文件下载,比如通过Internet网络进行文件下载,也有的会通过串口或者USB方式进行应答式的文件下载。但是不管采用哪种方式,文件下载的途径是单一的,如果在文件下载过程中链路断开或者文件服务器故障,由于接收途径单一,链路及文件服务器恢复正常需要一定的时间延时,将造成文件不能及时接收完整或者因为其它原因导致永远不能接收完整。

【发明内容】

[0003]有鉴于上述问题,本发明提供了一种文件接收和补包的方法,包括:
[0004]采用第一接收途径从文件源接收原始文件的文件数据;
[0005]判断接收的所述原始文件的完整性,在判断得到所述原始文件存在缺失时计算分析所述原始文件中缺失的文件数据,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包;
[0006]将所述补包的文件数据插入到所述原始文件中的正确位置,完成对所述原始文件的全部接收。
[0007]本发明文件接收和补包的方法,通过计算分析所述原始文件中丢失的文件数据,并采用第二接收途径从文件源对所述丢失的文件数据进行文件补包,保证了原始文件的完整性。避免了传统文件接收时,可能因为链路问题或者文件服务器故障引起的文件接收不完整。
[0008]本发明文件接收和补包的方法的进一步改进在于,采用第一接收途径从文件源接收原始文件的文件数据,包括:
[0009]将所述原始文件的文件数据按照协议封装成文件帧,所述文件帧包括控制帧和数据帧,所述控制帧中包含接收文件的总大小、总的文件帧数以及文件名,所述数据帧中包含所述原始文件的文件数据的文件帧号;
[0010]在文件接收过程中,记录下已接收到的文件数据的文件帧号;
[0011]从所述已接收到的文件数据的文件帧中解析出实际文件数据,将所述实际文件数据予以保存。
[0012]本发明文件接收和补包的方法的进一步改进在于,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包,包括:
[0013]探测文件发送的轮询次数,并计算已接收到的文件数据的百分比信息;
[0014]根据预设的轮询次数和百分比信息,将所述实际文件数据与所述控制帧进行比对,并从所述文件源处下载所述原始文件中丢失的文件数据。
[0015]本发明文件接收和补包的方法的进一步改进在于,所述第一接收途径为无线传输方式。
[0016]本发明文件接收和补包的方法的进一步改进在于,所述第二接收途径为HTTP协议传输方式。
[0017]本发明文件接收和补包的方法的进一步改进在于,所述HTTP协议传输方式为3G、4G或有线传输方式。
[0018]本发明文件接收和补包的方法的进一步改进在于,采用第二接收途径从文件源处对所述丢失的文件数据进行文件补包之后,对所述补包的数据与已接收到的所述原始文件的文件数据进行CRC校验,比对一致时将所述补包的文件数据插入到所述原始文件中的正确位置。
[0019]本发明文件接收和补包的方法的进一步改进在于,将所述补包的文件数据插入到所述原始文件中的正确位置之后,对所述原始文件的全部文件数据进行一次MD5校验。
【附图说明】
[0020]图1是本发明文件接收和补包的方法的流程示意图。
[0021]图2是本发明文件接收和补包的方法中控制帧的基本定义格式。
[0022]图3是本发明文件接收和补包的方法中数据帧的基本定义格式。
【具体实施方式】
[0023]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0024]配合参看图1所示,图1是本发明文件接收和补包的方法的流程示意图。本发明文件接收和补包的方法,包括:
[0025]步骤S101:采用第一接收途径从文件源接收原始文件的文件数据;
[0026]步骤S102:在所述第一接收途径出现链路断开或者文件服务器故障时,判断接收的所述原始文件的完整性,在判断得到所述原始文件存在缺失时计算分析所述原始文件中缺失的文件数据,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包;
[0027]步骤S103:将所述补包的文件数据插入到所述原始文件中的正确位置,完成对所述原始文件的全部接收。
[0028]本发明文件接收和补包的方法,通过计算分析所述原始文件中丢失的文件数据,并采用第二接收途径从文件源对所述丢失的文件数据进行文件补包,保证了原始文件的完整性。避免了传统文件接收时,可能因为链路问题或者文件服务器故障引起的文件接收不完整。
[0029]其中,在上述步骤SlOl中,采用第一接收途径从文件源接收原始文件的文件数据,包括:
[0030]将所述原始文件的文件数据按照协议封装成文件帧,所述文件帧包括控制帧和数据帧,所述控制帧中包含接收文件的总大小、总的文件帧数以及文件名,所述数据帧中包含所述原始文件的文件数据的文件帧号;
[0031]在文件接收过程中,记录下已接收到的文件数据的文件帧号;
[0032]从所述已接收到的文件数据的文件帧中解析出实际文件数据,将所述实际文件数据予以保存。
[0033]优选地,所述第一接收途径为无线传输方式。
[0034]在上述步骤S102中,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包,包括:
[0035]探测文件发送的轮询次数,并计算已接收到的文件数据的百分比信息;
[0036]根据预设的轮询次数和百分比信息,将所述实际文件数据与所述控制帧进行比对,并从所述文件源处下载所述原始文件中丢失的文件数据。
[0037]优选地,所述第二接收途径为HTTP协议传输方式,如3G、4G或有线传输方式。
[0038]进一步地,在采用第二接收途径从文件源对所述丢失的文件数据进行文件补包之后,对所述补包的数据与已接收到的所述原始文件的文件数据进行CRC校验,比对一致时将所述补包的文件数据插入到所述原始文件中的正确位置,以保证补包的数据的文件帧的正确性。
[0039] 在上述步骤S103中,将所述补包的文件数据插入到所述原始文件中的正确位置之后,对所述原始文件的全部文件数据进行一次MD5校验,以保证整个原始文件的完整性。
[0040]具体地,本发明文件接收和补包的方法,在发送端首先将原始文件的文件数据按照协议封装成文件帧,文件帧中包含原始文件的所有信息。结合图2与图3所示,把文件帧分为控制帧和数据帧,控制帧中包含接收文件的总大小、总的文件帧数以及文件名等(如图 2 中所不为 File Number、Group ID、USER ID、File Frame Sum、File Length、FileNamelen、File Name等信息),数据帧中包含原始文件的文件数据的文件帧号(如图3中所示为OxFF、LEN、CRC、TYPE、DATA等信息)。对于数据帧,DATA域的第一字节、第二字节为文件流水号(File Number),第三字节到第六字节为文件帧序号(File Sequence No)。文件数据按协议封装成文件帧后,再追加TS头部进行发送,在接收端通过TS头中的计数域来确定数据传送链路是否弓I起丢包。
[0041 ] 在采用无线传输方式进行文件接收过程中,记录下已接收到的文件数据的文件帧号,并解析出实际文件数据,保存到数据库中。在发送端主发的情况下,探测文件发送的轮询次数,并计算已接收到的文件数据的百分比信息;根据预设的轮询次数和百分比信息,将所述实际文件数据与所述控制帧进行比对,并从所述文件源处采取HTTP协议传输方式,以3G、4G或者有线网络方式连接文件源,下载所述原始文件中丢失的文件数据的文件帧号,将补包的文件数据的文件帧号插入到原始文件中的正确位置,完成对原始文件的下载。
[0042]在采用第二接收途径从文件源对所述丢失的文件数据进行文件补包之后,对所述补包的数据与已接收到的所述原始文件的文件数据进行CRC校验(CRC-Cyclic RedundancyCheck,循环冗余校验码),比对一致时将所述补包的文件数据插入到所述原始文件中的正确位置,以保证补包的数据的文件帧的正确性。将所述补包的文件数据插入到所述原始文件中的正确位置之后,对所述原始文件的全部文件数据进行一次MD5校验(MD5_MessageDigest Algorithm,消息摘要算法第五版),以保证整个原始文件的完整性。
[0043]本发明文件接收和补包的方法,通过多途径方式进行接收文件,在采用第一接收途径进行文件接收时,如果因为链路问题或者其它原因造成文件接收不完整,在满足一定条件的情况下,对已下载的不完整文件进行补包,补包过程中不破坏原始文件的完整性,通过第二接收途径,获取原始文件中丢失的文件数据,然后插入到原始文件的正确位置,保证文件正常被接收完整。
[0044]以上所述仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案的范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【主权项】
1.一种文件接收和补包的方法,其特征在于,包括: 采用第一接收途径从文件源接收原始文件的文件数据; 判断接收的所述原始文件的完整性,在判断得到所述原始文件存在缺失时计算分析所述原始文件中缺失的文件数据,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包; 将所述补包的文件数据插入到所述原始文件中的正确位置,完成对所述原始文件的全部接收。2.如权利要求1所述的文件接收和补包的方法,其特征在于,采用第一接收途径从文件源接收原始文件的文件数据,包括: 将所述原始文件的文件数据按照协议封装成文件帧,所述文件帧包括控制帧和数据帧,所述控制帧中包含接收文件的总大小、总的文件帧数以及文件名,所述数据帧中包含所述原始文件的文件数据的文件帧号; 在文件接收过程中,记录下已接收到的文件数据的文件帧号; 从所述已接收到的文件数据的文件帧中解析出实际文件数据,将所述实际文件数据予以保存。3.如权利要求2所述的文件接收和补包的方法,其特征在于,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包,包括: 探测文件发送的轮询次数,并计算已接收到的文件数据的百分比信息; 根据预设的轮询次数和百分比信息,将所述实际文件数据与所述控制帧进行比对,并从所述文件源处下载所述原始文件中丢失的文件数据。4.如权利要求1所述的文件接收和补包的方法,其特征在于,所述第一接收途径为无线传输方式。5.如权利要求1或5所述的文件接收和补包的方法,其特征在于,所述第二接收途径为HTTP协议传输方式。6.如权利要求5所述的文件接收和补包的方法,其特征在于,所述HTTP协议传输方式为3G、4G或有线传输方式。7.如权利要求1所述的文件接收和补包的方法,其特征在于,采用第二接收途径从文件源处对所述丢失的文件数据进行文件补包之后,对所述补包的数据与已接收到的所述原始文件的文件数据进行CRC校验,比对一致时将所述补包的文件数据插入到所述原始文件中的正确位置。8.如权利要求1或7所述的文件接收和补包的方法,其特征在于,将所述补包的文件数据插入到所述原始文件中的正确位置之后,对所述原始文件的全部文件数据进行一次MD5校验。
【专利摘要】本发明公开了一种文件接收和补包的方法,包括:采用第一接收途径从文件源接收原始文件的文件数据;判断接收的所述原始文件的完整性,在判断得到所述原始文件存在缺失时计算分析所述原始文件中缺失的文件数据,采用第二接收途径从所述文件源处对所述丢失的文件数据进行文件补包;将所述补包的文件数据插入到所述原始文件中的正确位置,完成对所述原始文件的全部接收。本发明文件接收和补包的方法,通过计算分析所述原始文件中丢失的文件数据,并采用第二接收途径从文件源对所述丢失的文件数据进行文件补包,保证了原始文件的完整性。避免了传统文件接收时,可能因为链路问题或者文件服务器故障引起的文件接收不完整。
【IPC分类】H04L29/06
【公开号】CN104901972
【申请号】CN201510353791
【发明人】范艳华, 徐巧勇, 王嶺, 贺莉, 忻喆旻
【申请人】上海文广科技(集团)有限公司, 上海百视通数字电影院线有限公司
【公开日】2015年9月9日
【申请日】2015年6月24日

最新回复(0)