CN102281121A - 一种数据文件传输和校验的方法、设备及系统 - Google Patents
一种数据文件传输和校验的方法、设备及系统 Download PDFInfo
- Publication number
- CN102281121A CN102281121A CN2010102077207A CN201010207720A CN102281121A CN 102281121 A CN102281121 A CN 102281121A CN 2010102077207 A CN2010102077207 A CN 2010102077207A CN 201010207720 A CN201010207720 A CN 201010207720A CN 102281121 A CN102281121 A CN 102281121A
- Authority
- CN
- China
- Prior art keywords
- data slot
- crc value
- data
- fragment
- slot
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开了一种数据文件传输和校验的方法、设备及系统,主要内容包括:本发明由源设备将数据文件分为多个数据片段,并计算每个数据片段的循环冗余校验crc值后,对每个数据片段和数据片段的crc值分别进行传输,使得接收到数据片段和数据片段的crc值的目标设备可以针对每个数据片段进行校验,使目标设备可以在数据文件还未完全传输时及时发现数据文件传输过程中出现的错误。
Description
技术领域
本发明涉及信息与通信技术,尤其涉及一种数据文件传输和校验的方法、设备及系统。
背景技术
为了确保通信系统的正常运行,通信系统中的设备之间经常涉及数据文件的传输(包括无线传输或有线传输),由于传输过程中网络的状态较差或传输通道不稳定造成数据文件丢包或数据文件的编解码错误等问题,可能导致传输到目标设备上的数据文件的内容出现差错。为了避免由于数据文件的内容出现差错导致目标设备利用有误的数据文件进行业务操作失败的情况,目标设备在接收到源设备传输的数据文件后,需要对该数据文件进行校验。
目前,目标设备对接收到的数据文件进行校验的方法是针对循环冗余校验(crc)字段的校验。具体做法是:
首先,源设备生成待传输的数据文件,针对整个数据文件计算crc值,并将计算出的crc值写入数据文件的固定位置后传输给目标设备;
然后,目标设备针对接收到的整个数据文件重新计算crc值,并将目标设备计算出的crc值与数据文件的固定位置写入的crc值比较,从而对接收到的数据文件的正确性进行校验。如果比较结果为目标设备计算出的crc值与数据文件的固定位置写入的crc值匹配,则表示该数据文件在传输过程中未出现差错;否则,表示该数据文件在传输过程中出现差错。
在上述目标设备对数据文件的校验过程中,源设备和目标设备都是针对整个数据文件来计算crc值的,因此,只有在目标设备完整接收数据文件后才能校验数据文件传输的正确性,即使在接收到的部分数据文件已出现差错时也无法及时发现。
发明内容
本发明实施例提供一种数据文件传输和校验的方法、设备及系统,用以解决现有技术中不能及时发现数据文件传输过程中的错误的问题。
一种数据文件传输的方法,该方法包括:
源设备对待传输的数据文件进行分段,得到多个数据片段;
源设备计算每个数据片段的循环冗余校验crc值;
源设备将数据片段以及该数据片段的crc值传输给目标设备。
一种数据文件校验的方法,所述方法包括:
目标设备针对接收到的数据片段,计算该数据片段的crc值,并将计算的数据片段的crc值与接收到的数据片段的crc值进行比较;
若目标设备确定计算的数据片段的crc值与接收到的该数据片段的crc值匹配,则确定该数据片段校验成功;否则,确定该数据片段校验失败。
一种数据文件传输的设备,该设备包括:
分段模块,用于对数据文件进行分段,得到多个数据片段;
第一crc值计算模块,用于计算每个数据片段的循环冗余校验crc值;
传输模块,用于传输数据片段以及该数据片段的crc值。
一种数据文件校验的设备,该设备包括:
接收模块,用于接收数据片段以及该数据片段的crc值;
第二crc值计算模块,用于计算接收到的数据片段的crc值;
校验模块,用于将第二crc值计算模块计算的数据片段的crc值与接收到的数据片段的crc值进行比较,若计算的数据片段的crc值与接收到的该数据片段的crc值匹配,则确定该数据片段校验成功;否则,确定该数据片段校验失败。
一种数据文件校验系统,所述系统包括源设备和目标设备,其中:
源设备,用于对数据文件进行分段,得到多个数据片段,计算每个数据片段的循环冗余校验crc值,并将数据片段以及该数据片段的crc值发送给目标设备;
目标设备,用于针对接收到的数据片段,计算该数据片段的crc值,并将计算的数据片段的crc值与接收到的数据片段的crc值进行比较,若确定计算的数据片段的crc值与接收到的该数据片段的crc值匹配,则确定该数据片段校验成功;否则,确定该数据片段校验失败。
本发明由源设备将数据文件分为多个数据片段,并计算每个数据片段的crc值后,对每个数据片段和数据片段的crc值分别进行传输,使得接收到数据片段和数据片段的crc值的目标设备可以针对每个数据片段进行校验,使目标设备可以在数据文件还未完全传输时及时发现数据文件传输过程中出现的错误。
附图说明
图1为本发明实施例一数据文件传输的方法流程示意图;
图2(a)为本发明实施例一数据文件示意图;
图2(b)和图2(c)为本发明实施例一中分段后的数据片段示意图;
图3为本发明实施例二数据文件校验的方法流程示意图;
图4为本发明实施例四数据文件传输设备结构示意图;
图5为本发明实施例五数据文件校验设备结构示意图;
图6为本发明实施例六数据文件校验系统结构示意图。
具体实施方式
为了实现本发明目的,本发明实施例提出将数据文件进行分段,在源设备侧分别针对每个数据片段计算crc值,并将数据片段以及该数据片段的crc值都发送给目标设备,而在目标设备侧,目标设备在接收到数据片段后,再次计算数据片段的crc值,然后将目标设备针对某一数据片段计算的crc值和源设备发送的该数据片段的crc值进行匹配,进而确定该数据片段的校验是否成功。在本发明方式下,目标设备可以在接收到部分数据文件时就对接收到的数据文件的正确性进行校验,在部分数据文件发送错误时能够及时发现,提高了数据文件传输的正确率。
下面结合说明书附图对本发明的实施例进行详细说明。
实施例一:
如图1所示,为本发明实施例一提供的一种数据文件传输的方法,具体步骤为:
步骤101:源设备对数据文件进行分段。
在本步骤中,源设备可以按照预先设定的数据片段数量以及各数据片段的长度对数据文件进行分段。包括但不限于以下两种分段方法。
方法一:
设定一个片段长度,根据设定的片段长度将数据文件平均划分为多个数据片段,如果数据文件长度无法完全平均划分,则最后一个数据片段的长度可以小于设定的片段长度。例如,如图2(a)所示,为一个长度为0x00012000的数据文件,图2(a)中只显示了数据文件开始的32个字节内容和结尾的32个字节内容。设定片段长度为0x4000,则如图2(b)所示,整个数据文件划分为5个数据片段,前面4个数据片段的长度为0x4000,最后一个数据片段未写满,只有长度为0x2000的部分写入了内容。
方法二:
将数据文件划分为多个长度不完全相同的数据片段,例如,数据文件在划分前仍如图2(a)所示,长度为0x00012000,将数据文件划分为如图2(c)所示的4个数据片段,每个数据片段长度依次分别为0x2000,0x6000,0x7000,0x3000。
用上述任一方式对数据文件进行分段得到数据片段后,需要对各数据片段依次分配片段标识。为叙述方便,对各数据片段依次分配标识为1,2……n。
步骤102:源设备计算每个数据片段的循环冗余校验crc值。
源设备将数据文件划分为多个数据片段后,利用循环冗余校验方法,计算各数据片段的crc值。
在源设备计算出每个数据片段的crc值后,本发明实施例一提供但不限于以下三种保存各数据片段的crc值的方法:
方法一:将crc值保存在各数据片段的固定位置。
源设备将计算出的各数据片段的crc值保存在相应数据片段的固定位置。进一步的,可以在非最后一个数据片段内容的结尾加上片段结束符,在最后一个数据片段内容的结尾加上一个文件结束符,以便于目标设备能够正确判断数据片段及数据文件的传输是否完成。
方法二:将crc值保存在参数片段中。
在本方法中,源设备在数据文件的数据头部增加一个参数片段,为该片段分配片段标识,为叙述方便,为该片段分配标识0,片段0的长度可以是根据实际的数据传输需求来设定的,只要片段0的长度大于或等于需要携带的内容所需的空间即可。
源设备将计算出的各数据片段的crc值写入片段0。为了使目标设备能够从片段0中正确识别各数据片段的crc值,在片段0中写入crc值的同时,还记录每个crc值对应的数据片段;或者,在片段0中开辟专用于存储数据片段的crc值的区域,按照数据片段的标识由小到大(或由大到小)的顺序,依次写入数据片段的crc值,使得目标设备根据接收到的数据片段的顺序以及读取的crc值的顺序能够正确识别数据片段和crc值的关系。
进一步的,还可以将原始文件总长度、各数据片段的长度以及参数片段的长度写入片段0的相应位置。上述三个参数可用于后续目标设备判断数据文件、某个数据片段或参数片段的传输是否完成。
在上述需要保存在片段0的各项内容写入完成后,源设备计算片段0的crc值,并将计算得到的参数片段的crc值写入片段0的固定位置,用于后续目标设备根据参数片段的crc值校验片段0的传输是否成功。
方法三:将crc值保存在请求消息中。
源设备生成一条请求消息,将计算出的各数据片段的crc值保存在请求消息的固定位置中。
进一步的,可以将数据文件总长度以及各数据片段的长度写入请求消息的相应位置。上述两个参数可用于后续目标设备判断数据文件或某个数据片段的传输是否完成,以决定下一步的操作。
步骤103:源设备将数据片段以及该数据片段的crc值传输给目标设备。
针对步骤102中三种保存crc值的方法,本步骤中也提供以下三种传输模式,将数据片段以及数据片段的crc值发送给目标设备:
传输模式一:
如果源设备将crc值保存在各数据片段的固定位置,则本步骤中,源设备将各数据片段直接传输到目标设备。
传输模式二:
如果源设备将crc值保存在额外设置的参数片段中,则本步骤中,由于参数片段的内容提供了目标设备后续对数据片段的操作依据,因此,源设备按照参数片段先于数据片段传输的条件,将所述参数片段和各数据片段传输给目标设备。较优地,可以在源设备接收到目标设备返回的参数片段传输成功的响应消息后,再继续传输数据片段。
传输模式三:
如果源设备将crc值保存在请求消息中,由于请求消息的内容提供了目标设备后续对数据片段的操作依据,因此,源设备首先向目标设备传输请求消息,并在请求消息传输成功后,再继续传输数据片段。
通过本发明实施例一的方案,源设备通过多种方式将数据片段以及每个数据片段的crc值发送给目标设备,由于数据文件已分片,因此,目标设备可以针对长度较短的数据片段进行数据的接收、校验,提高了数据文件传输的正确率。
实施例二:
本发明实施例二在实施例一的传输数据文件的基础上,提供一种数据文件校验的方法,如图3所示,包括以下步骤:
步骤201:目标设备在接收到数据片段后,计算该数据片段的crc值。
在本步骤中,目标设备和源设备采用相同的算法计算数据片段的crc值。
步骤202:目标设备将自身计算的crc值与源设备发送的该数据片段的crc值进行比较;若比较结果为crc值匹配,则执行步骤203;否则,执行步骤204。
步骤203:目标设备确定该数据片段校验成功。
步骤204:目标设备确定该数据片段校验失败。
考虑到实施例一中源设备向目标设备传输数据片段的传输模式至少有三种,因此,在本实施例二的方案中,目标设备接收数据片段,并对数据片段进行校验的方式也可以包括以下三种:
校验模式一:
如果源设备按照步骤103中的传输模式一向目标设备发送数据片段和数据片段的crc值,则目标设备接收源设备直接传输的数据片段后,首先通过各数据片段的片段结束符/文件结束符判断对数据片段/数据文件的接收是否完成,并对接收完成的数据片段进行校验。其校验方式为:目标设备每接收完成一个数据片段时,计算该数据片段的crc值,并与保存在该片段中固定位置的crc值进行比较,如果两个crc值不匹配,该数据片段的校验失败,目标设备请求源设备重传校验失败的数据片段;否则,该数据片段的校验成功,目标设备继续接收并校验其他数据片段。直到根据文件结束符判断出整个数据文件的传输完成,且各片段均校验成功时,目标设备再对每个数据片段进行整合,得到源设备传输的数据文件。
校验模式二:
如果源设备按照步骤103中的传输模式二向目标设备发送数据片段和数据片段的crc值,则目标设备首先接收参数片段,并通过参数片段中提供的参数片段的长度判断参数片段是否传输完成,在判断接收完整个参数片段后,计算接收到的参数片段的crc值,并与保存在参数片段中固定位置的crc值进行比较,如果两个crc值不匹配,参数片段的校验失败,请求源设备重传参数片段,否则,参数片段的校验成功,目标设备从参数片段中提取携带的各数据片段的crc值,并利用提取的crc值校验数据片段。
目标设备可以按照单线程或多线程的方式对接收到的数据片段进行校验。
在单线程校验方式下,目标设备在参数片段校验成功后,再接收第一个数据片段,并根据参数片段中各数据片段的长度判断第一个数据片段的传输是否完成,在判断接收到完整的第一个数据片段后,计算该第一个数据片段的crc值,并与保存在参数片段中该第一个数据片段的crc值进行比较,如果两个crc值不匹配,该数据片段的校验失败,目标设备请求源设备重传校验失败的数据片段;否则,该数据片段的校验成功,继续接收第二个数据片段,并按照上述方式对第二个数据片段进行校验,直到根据参数片段中的原始文件总长度判断出整个数据文件已传输完成,且各数据片段均校验成功,目标设备对整个数据文件的校验完成。
需要说明的是,在单线程校验方式下,目标设备可以每次只接收一个数据片段,并在该数据片段校验成功时再接收下一个数据片段;目标设备也可以每次只接收N(N为大于1的正整数)个数据片段,并在该N个数据片段全部都校验成功时再接收之后的N个数据片段;如果N个数据片段中有至少一个数据片段未校验成功,则目标设备将请求源设备重传校验失败的数据片段,直至N个数据片段全部校验成功。
在多线程校验方式下,目标设备在参数片段校验成功后,目标设备在对接收完全的数据片段进行校验的同时,如果当前还有未接收完全的数据片段,则目标设备将一边进行数据片段校验一边接收其他的数据片段。在当前进行校验的至少一个数据片段都校验成功时,继续从已接收到的数据片段中确定还未进行数据校验的数据片段,并计算继续确定的数据片段的crc值,以及对继续确定的数据片段进行校验;否则,请求源设备重传校验失败的数据片段。
校验模式三:
如果源设备按照步骤103中的传输模式三向目标设备发送数据片段和数据片段的crc值,则目标设备首先接收请求消息,从请求消息中提取出各数据片段的crc值以及原始文件总长度、各数据片段的长度等信息。
目标设备接收数据片段后,根据请求消息中携带的各数据片段的长度判断该数据片段的传输是否完成,在判断接收到完整的数据片段后,计算接收到的数据片段的crc值,并与请求消息中携带的该数据片段的crc值进行比较,如果两个crc值不匹配,该数据片段的校验失败,目标设备将请求源设备重传校验失败的数据片段;否则,该数据片段的校验成功,继续校验其他数据片段,直到根据请求消息中的数据文件总长度判断出整个数据文件的传输完成,且各数据片段均校验成功,目标设备对整个数据文件的校验完成。
实施例三:
本发明实施例三通过具体的实例对实施例一和实施例二的方案进行说明。
仍以传输图2(a)所示的数据文件为例,本实施例三中源设备向目标设备发送数据文件以及目标设备对接收到的数据文件进行校验的方法包括:
第一步、设定分段长度为0x4000,按照该片段长度对数据文件进行分段,由于数据文件总长度是0x00012000,所以可以将数据文件分成5个数据片段,各数据片段依次编号为1,2……5,最后一个数据片段不足0x4000大小,分段结果如图2(b)所示。
第二步、在数据文件头部增加一个0x4000大小的参数片段,该参数片段编号为0。在本实施例中,可以将增加参数片段后的数据文件称为新文件,未增加参数片段时的数据文件称为原始文件。由于在增加参数片段之前,数据文件的总大小0x00012000,因此,原始文件内容在新文件内的偏移位置是0x4000,除最后一个数据片段外,每个数据片段的大小是0x4000。
第三步、对文件的第1至第5个数据片段分别计算crc值,得到第1至第5个数据片段对应的crc1、crc2、crc3、crc4、crc5,并将得到的crc值分别写入片段0中相应的位置。
第四步、将所述数据文件的总长度、各数据片段的长度以及所述参数片段的长度置于所述参数片段内的相应位置。
第五步、计算增加了各项信息后的片段0的crc,并写入片段0的固定位置。
第六步、将新文件的片段0传输到目标设备。
第七步、目标设备依据参数片段的长度完整接收片段0后,对片段0进行校验。
目标设备计算片段0的crc值,并与片段0中固定位置保存的该片段0的crc值进行比较,如果比较结果不一致,则校验不通过,目标设备将请求重新下载片段0,返回到第六步;如果比较结果一致,校验通过,表示片段0的传输成功,执行第八步。
第八步、源设备将一个数据片段传输到目标设备。
第九步、目标设备根据数据片段的长度完整接收到该数据片段后,计算出该片段的crc值,并把计算结果与片段0内写入的该数据片段的crc值作比较,如果两个crc值一致,表示该数据片段传输成功,跳转至第十步;如果判断出crc值不一致,则请求重新下载该数据片段,并在重新下载的数据片段校验成功时,跳转至第十步。
第十步、目标设备根据数据文件的总长度和数据片段的长度判断当前是否已完整接收数据文件,若是,则将已接收到且校验成功的数据片段整合为数据文件,并结束数据文件传输以及校验的操作;否则,跳转至第八步。
重复第八步至第十步,在所有数据片段都传输和校验成功后,表示整个文件传输成功。
通过本发明方案,将数据文件分为多个数据片段进行传输,由目标设备分别对各数据片段传输的正确性进行及时校验,通过及时发现错误传输能够有效提高传输的正确率;同时,目标设备在发现某一个或多个数据片段传输错误时,只需要请求源设备将发生传输错误的数据片段重新传输,减少了重传时需要占用的通道资源以及传输时间,提高了数据文件的传输效率。
实施例四:
本发明实施例四提供一种数据文件传输设备,如图4所示,该设备包括分段模块11、第一crc值计算模块12和传输模块13,其中:
分段模块11用于对数据文件进行分段,得到多个数据片段;第一crc值计算模块12用于计算每个数据片段的循环冗余校验crc值;传输模块13用于传输数据片段以及该数据片段的crc值。
所述分段模块11还用于生成参数片段;所述第一crc值计算模块12还用于计算置入数据片段的crc值后的参数片段的crc值;所述传输模块13还用于传输参数片段,其中,参数片段先于数据片段传输。
所述设备还包括:信息置入模块14,用于将每个数据片段的crc值置于参数片段内,以及将该参数片段的crc置于参数片段内;进一步地,所述信息置入模块14还用于将所述数据文件的总长度、各数据片段的长度以及所述参数片段的长度置于所述参数片段内。
实施例五:
本发明实施例五提供一种数据文件校验设备,如图5所示,该设备包括接收模块21、第二crc值计算模块22和校验模块23,其中:
接收模块21用于接收数据片段以及该数据片段的crc值;第二crc值计算模块22用于计算接收到的数据片段的crc值;校验模块23用于将第二crc值计算模块计算的数据片段的crc值与接收到的数据片段的crc值进行比较,若计算的数据片段的crc值与接收到的该数据片段的crc值匹配,则确定该数据片段校验成功;否则,确定该数据片段校验失败。
所述接收模块21还用于接收参数片段以及该参数片段的crc值;所述第二crc值计算模块22还用于计算接收到的参数片段的crc值;所述校验模块23还用于在确定计算的参数片段的crc值与接收到的参数片段的crc值匹配时,确定所述参数片段校验成功。
所述设备还包括:信息确定模块24用于确定所述参数片段中携带的各数据片段的crc值。
所述校验模块23还用于在确定该数据片段校验失败后,请求重传校验失败的数据片段。
所述校验模块23,具体用于每接收到至少一个数据片段后,计算所述至少一个数据片段的crc值,并将计算的至少一个数据片段的crc值与接收到所述至少一个数据片段的crc值进行比较,在确定所述至少一个数据片段都校验成功时,继续接收数据片段,并计算继续接收到的数据片段的crc值,以及对继续接收到的数据片段进行校验,否则,请求源设备重传校验失败的数据片段。
所述校验模块23,具体用于从已接收到的数据片段中确定至少一个数据片段后,计算确定的所述至少一个数据片段的crc值,并将计算出的所述至少一个数据片段的crc值与接收到所述至少一个数据片段的crc值进行比较,在确定所述至少一个数据片段都校验成功时,继续从已接收到的数据片段中确定还未进行数据校验的数据片段,并计算继续确定的数据片段的crc值,以及对继续确定的数据片段进行校验,否则,请求源设备重传校验失败的数据片段。
实施例四和实施例五中的提供的设备可以是独立的两个物理设备,分别实现实施例一至实施例二中数据文件传输、数据文件校验的各种功能,也可以集成在一个物理设备中,集成了实施例四和实施例五的物理设备在向其他设备传输数据文件时,可以使用实施例四中涉及的功能模块实现数据传输操作;同时,该物理设备在接收到其他设备传来的数据文件时,可以使用实施例五中涉及的功能模块实现校验的操作。
本发明实施例六提供一种数据文件校验系统,如图6所示,该设备包括接源设备31和目标设备32,其中:
源设备31用于对数据文件进行分段,得到多个数据片段,计算每个数据片段的循环冗余校验crc值,并将数据片段以及该数据片段的crc值发送给目标设备32;目标设备32用于针对接收到的数据片段,计算该数据片段的crc值,并将计算的数据片段的crc值与接收到的数据片段的crc值进行比较,若确定计算的数据片段的crc值与接收到的该数据片段的crc值匹配,则确定该数据片段校验成功;否则,确定该数据片段校验失败。
本发明实施例六中涉及的源设备31可以是实现实施例一至实施例三中涉及的源设备,且具有实施例四中涉及的各种功能模块;目标设备32是实现实施例一至实施例三中涉及的目标设备,且具有实施例五中涉及的各种功能模块,在此不再赘述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种数据文件传输的方法,其特征在于,该方法包括:
源设备对数据文件进行分段,得到多个数据片段;
源设备计算每个数据片段的循环冗余校验crc值;
源设备将数据片段以及该数据片段的crc值发送给目标设备。
2.如权利要求1所述的方法,其特征在于,计算每个数据片段的crc值之后,且将数据片段以及该数据片段的crc值传输给目标设备之前,所述方法还包括:
源设备将每个数据片段的crc值置于参数片段内,并计算置入数据片段的crc值后的参数片段的crc值,以及将该参数片段的crc值置于参数片段内;
所述将数据片段以及该数据片段的crc值传输给目标设备,具体包括:
源设备将所述参数片段和各数据片段传输给目标设备,其中,参数片段先于数据片段传输。
3.一种数据文件校验的方法,其特征在于,所述方法包括:
目标设备针对接收到的数据片段,计算该数据片段的crc值,并将计算的数据片段的crc值与接收到的数据片段的crc值进行比较;
若目标设备确定计算的数据片段的crc值与接收到的该数据片段的crc值匹配,则确定该数据片段校验成功;否则,确定该数据片段校验失败。
4.如权利要求3所述的方法,其特征在于,目标设备计算数据片段的crc值之前,所述方法还包括:
目标设备针对接收到的参数片段,计算该参数片段的crc值,在确定计算的参数片段的crc值与该参数片段中携带的参数片段的crc值匹配时,确定所述参数片段校验成功;
目标设备确定所述参数片段中携带的各数据片段的crc值。
5.如权利要求3所述的方法,其特征在于,在确定该数据片段校验失败后,所述方法还包括:
目标设备请求源设备重传校验失败的数据片段。
6.一种数据文件传输的设备,其特征在于,该设备包括:
分段模块,用于对数据文件进行分段,得到多个数据片段;
第一crc值计算模块,用于计算每个数据片段的循环冗余校验crc值;
传输模块,用于传输数据片段以及该数据片段的crc值。
7.如权利要求6所述的设备,其特征在于,
所述分段模块,还用于生成参数片段;
所述第一crc值计算模块,还用于计算置入数据片段的crc值后的参数片段的crc值;
所述设备还包括:
信息置入模块,用于将每个数据片段的crc值置于参数片段内,以及将该参数片段的crc值置于参数片段内;
所述传输模块,还用于传输参数片段,其中,参数片段先于数据片段传输。
8.一种数据文件校验的设备,其特征在于,该设备包括:
接收模块,用于接收数据片段以及该数据片段的crc值;
第二crc值计算模块,用于计算接收到的数据片段的crc值;
校验模块,用于将第二crc值计算模块计算的数据片段的crc值与接收到的数据片段的crc值进行比较,若计算的数据片段的crc值与接收到的该数据片段的crc值匹配,则确定该数据片段校验成功;否则,确定该数据片段校验失败。
9.如权利要求8所述的设备,其特征在于,
所述接收模块,还用于接收参数片段以及该参数片段的crc值;
所述第二crc值计算模块,还用于计算接收到的参数片段的crc值;
所述校验模块,还用于在确定计算的参数片段的crc值与接收到的参数片段的crc值匹配时,确定所述参数片段校验成功;
所述设备还包括:
信息确定模块,用于确定所述参数片段中携带的各数据片段的crc值。
10.如权利要求8所述的设备,其特征在于,
所述校验模块,还用于在确定该数据片段校验失败后,请求重传校验失败的数据片段。
11.一种数据文件校验系统,其特征在于,所述系统包括源设备和目标设备,其中:
源设备,用于对数据文件进行分段,得到多个数据片段,计算每个数据片段的循环冗余校验crc值,并将数据片段以及该数据片段的crc值发送给目标设备;
目标设备,用于针对接收到的数据片段,计算该数据片段的crc值,并将计算的数据片段的crc值与接收到的数据片段的crc值进行比较,若确定计算的数据片段的crc值与接收到的该数据片段的crc值匹配,则确定该数据片段校验成功;否则,确定该数据片段校验失败。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010207720.7A CN102281121B (zh) | 2010-06-13 | 2010-06-13 | 一种数据文件传输和校验的方法、设备及系统 |
PCT/CN2011/072118 WO2011157074A1 (zh) | 2010-06-13 | 2011-03-24 | 一种数据文件传输和校验的方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010207720.7A CN102281121B (zh) | 2010-06-13 | 2010-06-13 | 一种数据文件传输和校验的方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102281121A true CN102281121A (zh) | 2011-12-14 |
CN102281121B CN102281121B (zh) | 2014-10-29 |
Family
ID=45106323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010207720.7A Expired - Fee Related CN102281121B (zh) | 2010-06-13 | 2010-06-13 | 一种数据文件传输和校验的方法、设备及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102281121B (zh) |
WO (1) | WO2011157074A1 (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752283A (zh) * | 2012-05-30 | 2012-10-24 | 福建省三奥信息科技股份有限公司 | 大数据量文件的传输方法及系统 |
CN103106068A (zh) * | 2013-02-28 | 2013-05-15 | 江苏物联网研究发展中心 | 物联网大数据快速校验方法 |
CN103838683A (zh) * | 2012-11-22 | 2014-06-04 | 华为终端有限公司 | 数据传输的方法及设备 |
CN103957080A (zh) * | 2014-04-30 | 2014-07-30 | 浙江中控技术股份有限公司 | 一种数据完整性校验方法及系统 |
CN104579948A (zh) * | 2013-10-29 | 2015-04-29 | 国家计算机网络与信息安全管理中心 | 一种报文分片处理方法及装置 |
CN105491132A (zh) * | 2015-12-11 | 2016-04-13 | 北京元心科技有限公司 | 文件服务器、终端及其文件分包传输方法 |
CN105612697A (zh) * | 2013-10-11 | 2016-05-25 | Arm有限公司 | 数据传输中的累积误差检测 |
CN106161473A (zh) * | 2016-09-06 | 2016-11-23 | 北京恒华伟业科技股份有限公司 | 一种数据的上传方法及系统 |
CN106843958A (zh) * | 2017-01-18 | 2017-06-13 | 成都黑盒子电子技术有限公司 | 一种嵌入式固件升级方法 |
CN107172174A (zh) * | 2017-06-01 | 2017-09-15 | 重庆高略启达智慧城市信息技术有限公司 | 在客户端和服务器之间实现文件的快速上传 |
CN107509085A (zh) * | 2017-08-24 | 2017-12-22 | 山东浪潮商用系统有限公司 | 一种流媒体文件的存储方法及装置 |
CN108512809A (zh) * | 2017-02-24 | 2018-09-07 | 北京优朋普乐科技有限公司 | 一种媒体文件的传输方法及设备 |
CN108900282A (zh) * | 2018-06-29 | 2018-11-27 | 南昌华勤电子科技有限公司 | 校验数据完整性的方法 |
CN109194593A (zh) * | 2018-08-29 | 2019-01-11 | 百度在线网络技术(北京)有限公司 | 信息发送方法、装置、设备及计算机可读存储介质 |
CN109525542A (zh) * | 2017-09-20 | 2019-03-26 | 中兴通讯股份有限公司 | 数据恢复方法、发送/接收装置和计算机可读存储介质 |
CN110138867A (zh) * | 2019-05-17 | 2019-08-16 | 哈工大机器人(山东)智能装备研究院 | 文件传输和接收方法、计算机设备及存储介质 |
CN110363027A (zh) * | 2019-06-21 | 2019-10-22 | 捷德(中国)信息科技有限公司 | 一种电子合同的生成及电子签名方法 |
CN111104248A (zh) * | 2018-10-26 | 2020-05-05 | 伊姆西Ip控股有限责任公司 | 用于验证缓存文件的方法、设备和计算机程序产品 |
CN111314021A (zh) * | 2020-02-07 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 数据传输方法、装置、电子设备及计算机可读存储介质 |
CN111464258A (zh) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种数据校验方法、装置、计算设备及介质 |
CN112655243A (zh) * | 2020-12-14 | 2021-04-13 | 华为技术有限公司 | 数据传输方法和数据传输设备 |
WO2021077335A1 (zh) * | 2019-10-23 | 2021-04-29 | 深圳市欢太科技有限公司 | 一种异常恢复方法、异常恢复装置及移动终端 |
CN113872735A (zh) * | 2020-06-30 | 2021-12-31 | 京东方科技集团股份有限公司 | 数据传输方法、装置及设备 |
CN114788199A (zh) * | 2019-12-31 | 2022-07-22 | 华为技术有限公司 | 一种数据校验方法及装置 |
CN115314486A (zh) * | 2022-07-20 | 2022-11-08 | 交控科技股份有限公司 | 列车控制系统的软件升级方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159514A (zh) * | 2007-10-31 | 2008-04-09 | 中兴通讯股份有限公司 | 一种传输块循环冗余码的添加方法 |
CN101272221A (zh) * | 2008-05-04 | 2008-09-24 | 中兴通讯股份有限公司 | 一种文件数据的传输、接收方法及装置 |
EP2026470A1 (en) * | 2007-08-17 | 2009-02-18 | Panasonic Corporation | Running cyclic redundancy check over coding segments |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673296B (zh) * | 2009-09-02 | 2011-07-20 | 太仓市同维电子有限公司 | 数据通讯过程中文件校验的方法 |
-
2010
- 2010-06-13 CN CN201010207720.7A patent/CN102281121B/zh not_active Expired - Fee Related
-
2011
- 2011-03-24 WO PCT/CN2011/072118 patent/WO2011157074A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2026470A1 (en) * | 2007-08-17 | 2009-02-18 | Panasonic Corporation | Running cyclic redundancy check over coding segments |
CN101159514A (zh) * | 2007-10-31 | 2008-04-09 | 中兴通讯股份有限公司 | 一种传输块循环冗余码的添加方法 |
CN101272221A (zh) * | 2008-05-04 | 2008-09-24 | 中兴通讯股份有限公司 | 一种文件数据的传输、接收方法及装置 |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752283B (zh) * | 2012-05-30 | 2015-05-13 | 福建省三奥信息科技股份有限公司 | 大数据量文件的传输方法及系统 |
CN102752283A (zh) * | 2012-05-30 | 2012-10-24 | 福建省三奥信息科技股份有限公司 | 大数据量文件的传输方法及系统 |
CN103838683A (zh) * | 2012-11-22 | 2014-06-04 | 华为终端有限公司 | 数据传输的方法及设备 |
CN103838683B (zh) * | 2012-11-22 | 2017-10-31 | 华为终端有限公司 | 数据传输的方法及设备 |
CN103106068A (zh) * | 2013-02-28 | 2013-05-15 | 江苏物联网研究发展中心 | 物联网大数据快速校验方法 |
CN103106068B (zh) * | 2013-02-28 | 2015-03-18 | 江苏中科物联网科技创业投资有限公司 | 物联网大数据快速校验方法 |
CN105612697A (zh) * | 2013-10-11 | 2016-05-25 | Arm有限公司 | 数据传输中的累积误差检测 |
CN104579948A (zh) * | 2013-10-29 | 2015-04-29 | 国家计算机网络与信息安全管理中心 | 一种报文分片处理方法及装置 |
CN103957080B (zh) * | 2014-04-30 | 2017-05-31 | 浙江中控技术股份有限公司 | 一种数据完整性校验方法及系统 |
CN103957080A (zh) * | 2014-04-30 | 2014-07-30 | 浙江中控技术股份有限公司 | 一种数据完整性校验方法及系统 |
CN105491132A (zh) * | 2015-12-11 | 2016-04-13 | 北京元心科技有限公司 | 文件服务器、终端及其文件分包传输方法 |
CN106161473A (zh) * | 2016-09-06 | 2016-11-23 | 北京恒华伟业科技股份有限公司 | 一种数据的上传方法及系统 |
CN106843958A (zh) * | 2017-01-18 | 2017-06-13 | 成都黑盒子电子技术有限公司 | 一种嵌入式固件升级方法 |
CN108512809A (zh) * | 2017-02-24 | 2018-09-07 | 北京优朋普乐科技有限公司 | 一种媒体文件的传输方法及设备 |
CN107172174A (zh) * | 2017-06-01 | 2017-09-15 | 重庆高略启达智慧城市信息技术有限公司 | 在客户端和服务器之间实现文件的快速上传 |
CN107509085A (zh) * | 2017-08-24 | 2017-12-22 | 山东浪潮商用系统有限公司 | 一种流媒体文件的存储方法及装置 |
CN107509085B (zh) * | 2017-08-24 | 2019-12-24 | 山东浪潮商用系统有限公司 | 一种流媒体文件的存储方法及装置 |
CN109525542A (zh) * | 2017-09-20 | 2019-03-26 | 中兴通讯股份有限公司 | 数据恢复方法、发送/接收装置和计算机可读存储介质 |
CN108900282A (zh) * | 2018-06-29 | 2018-11-27 | 南昌华勤电子科技有限公司 | 校验数据完整性的方法 |
CN109194593A (zh) * | 2018-08-29 | 2019-01-11 | 百度在线网络技术(北京)有限公司 | 信息发送方法、装置、设备及计算机可读存储介质 |
CN111104248A (zh) * | 2018-10-26 | 2020-05-05 | 伊姆西Ip控股有限责任公司 | 用于验证缓存文件的方法、设备和计算机程序产品 |
CN111464258B (zh) * | 2019-01-18 | 2022-10-11 | 阿里巴巴集团控股有限公司 | 一种数据校验方法、装置、计算设备及介质 |
CN111464258A (zh) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种数据校验方法、装置、计算设备及介质 |
CN110138867A (zh) * | 2019-05-17 | 2019-08-16 | 哈工大机器人(山东)智能装备研究院 | 文件传输和接收方法、计算机设备及存储介质 |
CN110363027A (zh) * | 2019-06-21 | 2019-10-22 | 捷德(中国)信息科技有限公司 | 一种电子合同的生成及电子签名方法 |
CN110363027B (zh) * | 2019-06-21 | 2021-04-09 | 捷德(中国)科技有限公司 | 一种电子合同的生成及电子签名方法 |
WO2021077335A1 (zh) * | 2019-10-23 | 2021-04-29 | 深圳市欢太科技有限公司 | 一种异常恢复方法、异常恢复装置及移动终端 |
CN114788199A (zh) * | 2019-12-31 | 2022-07-22 | 华为技术有限公司 | 一种数据校验方法及装置 |
CN111314021A (zh) * | 2020-02-07 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 数据传输方法、装置、电子设备及计算机可读存储介质 |
CN113872735A (zh) * | 2020-06-30 | 2021-12-31 | 京东方科技集团股份有限公司 | 数据传输方法、装置及设备 |
US11770212B2 (en) | 2020-06-30 | 2023-09-26 | Boe Technology Group Co., Ltd. | Data transmission methods, data transmission device, and data transmission apparatuses |
CN113872735B (zh) * | 2020-06-30 | 2023-10-24 | 京东方科技集团股份有限公司 | 数据传输方法、装置及设备 |
WO2022126315A1 (zh) * | 2020-12-14 | 2022-06-23 | 华为技术有限公司 | 数据传输方法和数据传输设备 |
CN112655243A (zh) * | 2020-12-14 | 2021-04-13 | 华为技术有限公司 | 数据传输方法和数据传输设备 |
CN112655243B (zh) * | 2020-12-14 | 2022-10-28 | 华为技术有限公司 | 数据传输方法和数据传输设备 |
CN115314486A (zh) * | 2022-07-20 | 2022-11-08 | 交控科技股份有限公司 | 列车控制系统的软件升级方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2011157074A1 (zh) | 2011-12-22 |
CN102281121B (zh) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102281121B (zh) | 一种数据文件传输和校验的方法、设备及系统 | |
CN106843942B (zh) | 穿戴式设备的固件升级方法及穿戴式设备 | |
CN102546784B (zh) | 一种基于can总线进行批量升级设备固件的方法 | |
CN101031110B (zh) | 无线通信系统中处理突发的装置和方法 | |
CN112217599B (zh) | 数据帧接收方法和装置以及通信方法和系统 | |
CN106031072A (zh) | 一种harq帧数据结构以及在采用盲检的系统中使用harq进行传输与接收的方法 | |
CN108279910B (zh) | 程序代码烧写方法、装置、计算机设备和存储介质 | |
US20100138573A1 (en) | System including transmitter and receiver | |
CN111290769B (zh) | 一种在线更新配置数据的方法 | |
US11356210B2 (en) | Data verification information generation and feedback method, data verification information receiving method and device | |
CN107425943A (zh) | 报文数据传输方法、装置、电子设备及计算机存储介质 | |
WO2011137640A1 (zh) | 文件传输方法、文件发送装置和文件接收装置 | |
CN101325475A (zh) | 一种嵌入式系统软件远程升级方法 | |
CN111752579B (zh) | 蓝牙终端升级方法、装置、存储介质与电子设备 | |
CN106656424A (zh) | 一种数据传输的校验方法 | |
CN105531956A (zh) | 用于在wlan系统中执行混合自动重传请求(harq)的系统和方法 | |
US20210014006A1 (en) | System and method for implementing a hybrid automatic repeat request process | |
CN114679383A (zh) | 固件升级方法、装置、设备、级联系统和存储介质 | |
CN107852275A (zh) | 数据传输装置和数据传输方法、接收装置和接收方法、程序以及数据传输系统 | |
CN109286472B (zh) | 一种基于北斗卫星导航系统的并发数据异步传输方法 | |
CN101764669A (zh) | 数据接收过程中的crc码校验方法 | |
CN104714761A (zh) | 一种应用Android系统的设备的无线数据打印系统和方法 | |
CN103199966A (zh) | 工控系统中的数据传输方法及工控子系统、工控系统 | |
CN109039536A (zh) | 数据的传输方法、设备及可读介质 | |
CN108551382A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141029 Termination date: 20170613 |
|
CF01 | Termination of patent right due to non-payment of annual fee |