CN112165533A - 数据校验、传输方法、装置、设备、系统及存储介质 - Google Patents
数据校验、传输方法、装置、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN112165533A CN112165533A CN202011132340.1A CN202011132340A CN112165533A CN 112165533 A CN112165533 A CN 112165533A CN 202011132340 A CN202011132340 A CN 202011132340A CN 112165533 A CN112165533 A CN 112165533A
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- target file
- fragment
- description information
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书实施例提供了一种数据校验、传输方法、装置、设备、系统及存储介质,该数据校验方法包括:获取目标文件的当前数据分片,并对所述当前数据分片进行校验,其中,所述目标文件由多个不重叠的数据分片组成;当对所述当前数据分片的校验失败时,重新获取所述当前数据分片并重新校验;当对所述当前数据分片的校验成功时,获取所述目标文件的下一个数据分片并重复上述校验步骤直至所述目标文件的所有数据分片均被获取且校验成功;当所述目标文件的所有数据分片校验成功时,对所述所有数据分片所形成的整体文件进行整体校验。本说明书实施例可以降低自动驾驶车辆在系统升级或配置升级过程中数据流量消耗和升级时间消耗。
Description
技术领域
本说明书涉及数据校验技术领域,尤其是涉及一种数据校验、传输方法、装置、设备、系统及存储介质。
背景技术
自动驾驶车辆在系统升级或配置升级过程中越来越多的依赖服务端数据推送。在收到推送通知后,需要下载新的数据以更新应用。下载数据后一般需要进行数据校验,以保证数据完整性。
现有的数据完整性校验技术一般为后校验,即下载完整数据后对其进行摘要对比(digest compare)。对于数据量较小的文件,这种后校验方式可能比较适用。然而,对于大文件,如果下载过程中获取到错误数据,在校验后整个文件会被标识成错误文件,因此需要整体重新下载。这对数据流量消耗非常高,且容易大幅增加升级时间。
发明内容
本说明书实施例的目的在于提供一种数据校验、传输方法、装置、设备、系统及存储介质,以降低自动驾驶车辆在系统升级或配置升级过程中数据流量消耗和升级时间消耗。
为达到上述目的,一方面,本说明书实施例提供了一种数据校验方法,包括:
获取目标文件的当前数据分片,并对所述当前数据分片进行校验,其中,所述目标文件由多个不重叠的数据分片组成;
当对所述当前数据分片的校验失败时,重新获取所述当前数据分片并重新校验;
当对所述当前数据分片的校验成功时,获取所述目标文件的下一个数据分片并重复上述校验步骤直至所述目标文件的所有数据分片均被获取且校验成功;
当所述目标文件的所有数据分片校验成功时,对所述所有数据分片所形成的整体文件进行整体校验。
在本说明书一实施例中,所述方法还包括:
在获取所述目标文件的第一个数据分片之前,预先获取所述目标文件的文件下载信息;
其中,所述文件下载信息中包含整体校验描述信息和分片校验描述信息,所述整体校验描述信息用于所述整体校验,所述分片校验描述信息用于所述分片校验。
在本说明书一实施例中,所述整体校验描述信息,包括:
目标文件的下载位置;
目标文件的数据量;以及,
目标文件的校验值。
在本说明书一实施例中,所述分片校验描述信息,包括:
各数据分片在目标文件中的起始位置;
各数据分片的数据量;以及,
各数据分片的校验值。
在本说明书一实施例中,所述分片校验描述信息,包括:
各数据分片在目标文件中的起始位置;
各数据分片在目标文件中的终止位置;以及,
各数据分片的校验值。
在本说明书一实施例中,每个所述数据分片的数据量预先根据用于获取目标文件的网络性能确定。
另一方面,本说明书实施例还提供了一种数据校验装置,包括:
分片校验模块,用于获取目标文件的当前数据分片并对其进行校验,当对所述当前数据分片的校验失败时,重新获取所述当前数据分片并重新校验,当对所述当前数据分片的校验成功时,获取所述目标文件的下一个数据分片并重复上述校验步骤直至所述目标文件的所有数据分片均被获取且校验成功,其中,所述目标文件由多个不重叠的数据分片组成;和
整体校验模块,用于当所述目标文件的所有数据分片校验成功时,对所述所有数据分片所形成的整体文件进行整体校验。
在本说明书一实施例中,所述装置还包括:
信息下载模块,用于预先获取所述目标文件的文件下载信息;所述文件下载信息中包含整体校验描述信息和分片校验描述信息,所述整体校验描述信息用于所述整体校验,所述分片校验描述信息用于所述分片校验。
在本说明书一实施例中,所述整体校验描述信息,包括:
目标文件的下载位置;
目标文件的数据量;以及,
目标文件的校验值。
在本说明书一实施例中,所述分片校验描述信息,包括:
各数据分片在目标文件中的起始位置;
各数据分片的数据量;以及,
各数据分片的校验值。
在本说明书一实施例中,所述分片校验描述信息,包括:
各数据分片在目标文件中的起始位置;
各数据分片在目标文件中的终止位置;以及,
各数据分片的校验值。
在本说明书一实施例中,每个所述数据分片的数据量预先根据用于获取目标文件的网络性能确定。
另一方面,本说明书实施例还提供了一种电子设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时执行上述的数据校验方法。
另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行上述的数据校验方法。
另一方面,本说明书实施例还提供了一种数据传输方法,包括:
通过发送端将待传输的目标文件预先分为多个不重合的数据分片;
由所述发送端向接收端顺序传输所述目标文件的每个数据分片;
通过所述接收端接收每个数据分片并进行分片校验,其中如果一个数据分片校验不成功,则通过所述接收端请求所述发送端重新传输所述校验不成功的数据分片并重新对其进行分片校验;
当所有数据分片都被传输并且校验成功后,通过所述接收端对所述所有数据分片形成的整体文件进行整体校验。
在本说明书一实施例中,根据分片校验描述信息进行所述分片校验,所述分片校验描述信息包括:
各数据分片在目标文件中的起始位置;
各数据分片的数据量;以及,
各数据分片的校验值。
在本说明书一实施例中,根据分片校验描述信息进行所述分片校验,所述分片校验描述信息包括:
根据分片校验描述信息进行所述分片校验,所述分片校验描述信息包括:
各数据分片在目标文件中的起始位置;
各数据分片在目标文件中的终止位置;以及,
各数据分片的校验值。
在本说明书一实施例中,根据整体校验描述信息进行所述整体校验,所述整体校验描述信息包括:
目标文件的下载位置;
目标文件的数据量;以及,
目标文件的校验值。
在本说明书一实施例中,每个所述数据分片的数据量根据用于传输所述目标文件的网络性能确定。
在本说明书一实施例中,其中每个所述数据分片的数据量相同。
在本说明书一实施例中,其中所述数据传输方法基于HTTP或HTTPS协议。
另一方面,本说明书实施例还提供了一种车载装置,用于与服务器通信,所述车载装置包括上述的电子设备。
另一方面,本说明书实施例还提供了一种数据传输系统,包括互相通信的车载装置和服务器,所述车载装置和服务器通信时执行上述的数据传输方法。由以上本说明书实施例提供的技术方案可见,在本说明书实施例中,目标文件被拆分成多个数据分片,若当前下的一个数据分片校验失败时,可以重新获取该数据分片并重新校验,而无需像现有技术那样重新获取整个目标文件并重新验证;如此,本说明书实施例可以大幅降低系统升级或配置升级过程中的数据流量消耗和升级时间消耗。一般地,目标文件的所有数据分片校验成功时,所有数据分片所组合成的整体文件有极大的概率是完整性的。但是,为了避免所有数据分片在组合成整体文件时可能存在的数据丢失或出错等问题,当目标文件的所有数据分片校验成功时,还可以对所有数据分片所形成的整体文件进行整体校验,从而可以进一步提高对目标文件的数据完整性校验效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为根据一个实施例的数据校验方法的流程图;
图2a为根据一个实施例的文件下载信息中的整体校验描述信息的示意图;
图2b为根据一个实施例的文件下载信息中的分片校验描述信息的示意图;
图3为根据另一个实施例的数据校验方法的流程图;
图4为根据一个实施例的数据校验装置的结构框图;
图5为根据一个实施例的电子设备的结构框图;
图6为根据一个实施例的数据传输系统的示意图;
图7为根据一个实施例的数据传输流程图。
【附图标记说明】
40、信息下载模块;
41、分片校验模块;
42、整体校验模块;
502、电子设备;
504、处理器;
506、存储器;
508、驱动机构;
510、输入/输出模块;
512、输入设备;
514、输出设备;
516、呈现设备;
518、图形用户接口;
520、网络接口;
522、通信链路;
524、通信总线;
60、车载装置;
70、服务器。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例的数据校验是针对数据完整性的验证技术。在本说明书以下实施例中,是以自动驾驶车辆的系统升级或配置升级为例对数据校验技术进行描述的。但是,本领技术人员可以理解,本说明书实施例的数据校验可应用于任何需要通过网络进行数据下载并进行数据校验的应用场景,本说明书对此不作唯一限定。
本说明书实施例提供了数据校验方法,该数据校验方法可以应用于自动驾驶车辆(包括但不限于燃料汽车、电动汽车、混合动力汽车等)的自动驾驶系统。该自动驾驶系统可以通过自动驾驶车辆配置的网络通信模块与服务端进行数据通信,以便于从服务端下载更新数据,从而进行系统升级或配置升级。其中,自动驾驶系统可以通过车载的感知设备(例如视觉传感器、雷达、车辆监控装置和导航定位系统等)获取环境及车辆信息,依靠人工智能等技术对获得的环境及车辆信息进行逻辑处理,以决策出自动驾驶车辆的控制策略,并可以在没有任何人类干预的情况下,根据该控制策略自动安全地操控汽车的行驶。
参考图1所示,本说明书一些实施例中的数据校验方法可以包括以下步骤:
步骤101、获取目标文件的当前数据分片,并对所述当前数据分片进行校验,其中,所述目标文件由多个不重叠的数据分片组成。
步骤102、当对所述当前数据分片的校验失败时,重新获取所述当前数据分片并重新校验。
步骤103、当对所述当前数据分片的校验成功时,获取所述目标文件的下一个数据分片并重复上述校验步骤直至所述目标文件的所有数据分片均被获取且校验成功。
步骤104、当所述目标文件的所有数据分片校验成功时,对所述所有数据分片所形成的整体文件进行整体校验。
在本说明书的一个实施例的数据校验方法中,目标文件被拆分成多个不重叠的数据分片,若当前下的一个数据分片校验失败时,可以重新获取该数据分片并重新校验,而无需像现有技术那样重新获取整个目标文件并重新验证;如此,本实施例可以大幅降低系统升级或配置升级过程中的数据流量消耗和升级时间消耗。尤其是在网络不稳定(如自动驾驶车辆位于移动网络信号较差的区域)进行大文件下载时,可以有利于减少由于部分数据分片错误导致的重试成本。
如设定数据分片大小为1MB,整体文件大小100MB。使用传统的整体校验时,在发生一次数据错误时,传统方式需要进行2次整体文件下载,消耗200MB流量。本实施例通过下载101次数据分片,消耗101MB数据流量。从而实现在节省了流量的同时,也有效的减少了重试场景下的下载时间。假设平均下载速度为100Mbps,发生一次错误时传统方式需要16秒完成,而采用本说明书实施例仅需8.08秒即可完成。实际上,当下载速度为100Mbps时,实际传输速度可能只能达到80%左右,即80Mbps,照此计算,发生一次错误时传统方式需要20秒完成,而采用本说明书实施例仅需10.1秒。
一般地,目标文件的所有数据分片校验成功时,所有数据分片所组合成的整体文件有极大的概率是完整性的。但是,为了避免所有数据分片在组合成整体文件时可能存在的数据丢失或出错(虽然出现概率极小)等问题,当目标文件的所有数据分片校验成功时,还可以对所有数据分片所形成的整体文件进行整体校验,从而可以进一步提高对目标文件的数据完整性校验效果。
在本说明书一些实施例中,当服务端确认有针对自动驾驶系统的更新文件需要推送给自动驾驶系统时,服务端可以预先生成对应的文件下载信息,并将其提供给自动驾驶系统,以便于自动驾驶系统可以根据文件下载信息下载更新文件的数据分片。因此,在获取目标文件的当前数据分片,并对所述当前数据分片进行校验之前,自动驾驶系统可以预先获取目标文件的文件下载信息。在本说明书的实施例中,目标文件即为文件下载信息对应的待下载校验的更新文件。
为了提高用户体验,自动驾驶系统在获得文件下载信息后,可以通过自动驾驶车辆配置的人机接口将文件下载信息展示给用户,以便于用户自主选择是否执行本次的升级更新。当用户选择执行本次的升级更新时,自动驾驶系统可以逐片获取目标文件的数据分片并进行校验。如果用户放弃执行本次的升级更新,则可以直接删除所述文件下载信息,以节省自动驾驶系统的存储空间;或者,也可以在保存指定时间后再删除所述文件下载信息,以便于用户在误操作(或改变此前放弃更新的主意)时,也可以执行本次的升级更新。
文件下载信息中可以包含整体校验描述信息和分片校验描述信息,其中,所述整体校验描述信息可以用于所述整体校验,所述分片校验描述信息可以用于所述分片校验。
在本说明书一些实施例中,所述整体校验描述信息可以包括目标文件的下载位置、目标文件的数据量、以及目标文件的校验值。例如,在图2a所示的示例性实例中,整体校验描述信息中的下载位置为:URL=http://…,文件大小为:43453434KB,校验值为:MD5=A343DB34……(以MD5校验算法为例)。所述分片校验描述信息可以包括:各数据分片在目标文件中的起始位置、各数据分片的数据量、以及各数据分片的校验值。例如,在图2b所示的示例性实例中,分片1的校验描述信息可以包括:分片1在目标文件中的起始位置(OFFSET=0)、分片1的大小(SIZE=4096KB)和分片1的校验值(CHECKSUM=MD5:A343DB34……)。分片2的校验描述信息可以包括:分片2在目标文件中的起始位置(OFFSET=4096KB)、分片2的大小(SIZE=4096KB)和分片2的校验值(CHECKSUM=MD5:DB3A3434……)。
在本说明书另一些实施例中,所述分片校验描述信息也包括:各数据分片在目标文件中的起始位置、各数据分片在目标文件中的终止位置、以及各数据分片的校验值。当一个数据分片在目标文件中的起始位置和终止位置确定了,该数据分片在的大小也就确定了。在本说明书一些实施例中,目标文件的数据分片的数据量(即文件大小)可以由服务端预先根据用于获取目标文件的网络性能确定。若当前的网络性能较好时,可以适当增大单个数据分片的文件大小,以提高分片下载及校验的效率;若当前的网络性能较差时,可以适当减小单个数据分片的文件大小,以保障分片下载及校验的有效性。其中,网络性能可以包括但不限于网络带宽、信息传输速率和/或网络时延等指标。
本说明书提及的数据校验(或校验)是指将待校验数据作为指定的校验算法的输入,计算出一个校验值,并将该校验值与校验描述信息中的校验值进行比较,如果二者相同,则表明数据是完整的,因此可以认为该待校验数据校验成功;否则,可以认为该待校验数据校验失败。在一示例性实施例中,所述校验算法可以包括但不限于MD5、循环冗余校验(Cyclic Redundancy Check,简称CRC)、校验和校验或海明码校验等等。显然,在本说明书的实施例中,目标文件的校验值以及各数据分片的校验值,也均是将对应的待校验数据输入至指定的校验算法中计算得到的。
应当指出的是,在对当前下载的数据分片进行校验时,所采用的校验算法应与分片校验描述信息中对应分片的校验值的校验算法相一致。例如在图2b所示的示例性实施例中,分片1的校验值为CHECKSUM=MD5:A343DB34……,则在下载分片1,并对所述当前数据分片进行校验时,应采用MD5算法对分片1进行校验。对于一个目标文件而言,其所有分片可以采用同一种校验算法,以便于实现。
例如在图3所示的实施例中,开始(步骤301)之后接收端(例如为自动驾驶系统)首先获取包含整体校验描述信息和分片校验描述信息的下载信息(步骤302),并根据下载信息对目标文件的数据分片进行下载(步骤303)以及在下载之后进行分片校验(步骤304)。当下载的数据分片校验成功时(步骤305),可以将该数据分片加至下载结果中(例如可以将该数据分片写入目标缓存步骤306)。如果下载的数据分片校验不成功(步骤305),则重新下载该校验不成功的数据分片(步骤307),直至该数据分片校验成功。如果目标文件还存在未下载的数据分片(步骤308),则继续下载下一数据分片并进行分片校验(步骤309)。如果目标文件的所有数据分片均已下载且已校验成功(步骤308),则可以从缓存中读取由这些数据分片组合成的整体文件,以对组合成的整体文件进行整体校验(步骤310)。当整体校验成功时(步骤311),则表明目标文件校验成功,该次下载结束(步骤312);否则需进行重新下载(步骤313),例如重新获取目标文件的文件下载信息,并重新进行上述分片校验和整体校验的步骤。
为了方便后将同一个目标文件下的各个数据分片续组合成整体文件,目标文件的数据分片可以依序下载,并可以在校验成功后依序存储。与上述的数据校验方法对应,本说明书还提供了数据校验装置。在本说明书一些实施例中,所述数据校验装置可以构成自动驾驶车辆的自动驾驶系统一部分。参考图4所示,在本说明书一些实施例中,所述数据校验装置可以包括:
分片校验模块41,可以用于获取目标文件的当前数据分片并对其进行校验,当对所述当前数据分片的校验失败时,重新获取所述当前数据分片并重新校验,当对所述当前数据分片的校验成功时,获取所述目标文件的下一个数据分片并重复上述校验步骤直至所述目标文件的所有数据分片均被获取且校验成功,其中,所述目标文件由多个不重叠的数据分片组成;和
整体校验模块42,可以用于当所述目标文件的所有数据分片校验成功时,对所述所有数据分片所形成的整体文件进行整体校验。
请继续参考图4所示,在本说明书一些实施例的数据校验装置中,所述装置还可以包括:
信息下载模块40,可以用于在所述分片校验模块41获取所述目标文件的第一个数据分片之前,预先获取所述目标文件的文件下载信息;其中,所述文件下载信息中包含整体校验描述信息和分片校验描述信息。
在本说明书一些实施例的数据校验装置中,所述整体校验描述信息可以包括:目标文件的下载位置;目标文件的数据量;以及目标文件的校验值。
在本说明书一些实施例的数据校验装置中,所述分片校验描述信息可以包括:各数据分片在目标文件中的起始位置;各数据分片的数据量;以及各数据分片的校验值。
在本说明书一些实施例的数据校验装置中,所述分片校验描述信息可以包括:各数据分片在目标文件中的起始位置;各数据分片在目标文件中的终止位置;以及各数据分片的校验值。
在本说明书一些实施例的数据校验装置中,所述数据分片的数据量可以预先根据用于获取目标文件的网络性能确定。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
与上述的数据校验方法对应,本说明书还提供了电子设备。参考图5所示,在本说明书一些实施例中,所述电子设备502可以包括一个或多个处理器504,诸如一个或多个中央处理单元(CPU)或图形处理器(GPU),每个处理单元可以实现一个或多个硬件线程。电子设备502还可以包括任何存储器506,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施方式中,存储器506上并可在处理器504上运行的计算机程序,所述计算机程序被所述处理器504运行时,可以执行根据上述方法的指令。非限制性的,比如,存储器506可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示电子设备502的固定或可移除部件。在一种情况下,当处理器504执行被存储在任何存储器或存储器的组合中的相关联的指令时,电子设备502可以执行相关联指令的任一操作。电子设备502还包括用于与任何存储器交互的一个或多个驱动机构508,诸如硬盘驱动机构、光盘驱动机构等。
电子设备502还可以包括输入/输出模块510(I/O),其用于接收各种输入(经由输入设备512)和用于提供各种输出(经由输出设备514)。一个具体输出机构可以包括呈现设备516和相关联的图形用户接口518(GUI)。在其他实施例中,还可以不包括输入/输出模块510(I/O)、输入设备512以及输出设备514,仅作为网络中的一台计算机设备。电子设备502还可以包括一个或多个网络接口520,其用于经由一个或多个通信链路522与其他设备交换数据。一个或多个通信总线524将上文所描述的部件耦合在一起。
通信链路522可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路522可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本说明书还提供了数据传输系统。参考图6所示的实施例,所述数据传输系统可以包括一个或多个车载装置60以及服务器70。其中,所述车载装置60可以包括本说明书上述实施例中的电子设备。所述车载装置60与所述服务器70之间可以互相通信。其中,所述通信可以是无线通信也可以是有线通信。例如,在一示例性实施例中,所述车载装置60与所述服务器70之间可以基于HTTP或HTTPS协议进行通信,从而无需基于P2P文件传输协议(如Dat协议,分布式哈希表(DHT)协议等)。如此,避免了用户端复杂的连接过程,提高了数据传输的可靠性。
图7示出了在发送端与接收端之间进行数据传输的方法,该数据传输方法可以包括以下步骤:
步骤702中,将待传输的目标文件预先分为多个不重合的数据分片。
例如,发送端将待传输的目标文件预先分为多个不重合的数据分片,这些数据分片组合起来为完整的目标文件。每个数据分片的数据量根据进行数据传输的网络性能确定。在一些实施例中,其中每个所述数据分片的数据量相同。
步骤704中,顺序传输所述目标文件的每个数据分片,并在传输每个数据分片之后进行分片校验,其中如果一个数据分片校验不成功,则重新传输所述校验不成功的数据分片。
例如,发送端将目标文件中的每个数据分片向接收端顺序发送,接收端在接收每个数据分片之后进行分片校验。如果校验不成功,则接收端向发送端发出重新传输请求,发送端根据该请求向接收端重新发送该校验不成功的数据分片。如果校验成功,则发送端向接收端发送下一个数据分片,接收端重复上述接收和分片校验的步骤,直至所有的数据分片都完成传输。
步骤706中,当所有数据分片都被传输并且校验成功后,对所述所有数据分片形成的整体文件进行整体校验。
例如,发送端向接收端完成了所有的数据分片的传输,并且所有的数据分片都在接收端成功进行校验之后,接收端进一步将所有的数据分片组合成整体文件,并进行整体校验。如果整体校验成功,则完成该目标文件通过发送端与接收端之间的传输。如果整体校验不成功,则重复图7所示的数据传输步骤。
所述发送端可以是服务器,所述接收端(又称用户端)可以是自动驾驶系统或车载装置。但是可以理解,发送端和接收端并不限于某一种特定类型或某种特定设置的终端,其他各种用于通过网络发送/接收文件并适用上述数据校验方法或数据传输方法的终端都可以作为本说明书中的发送端/接收端。
在本说明书一些实施例中,可以根据分片校验描述信息进行所述分片校验,其中,所述分片校验描述信息可以包括:各数据分片在目标文件中的起始位置;各数据分片的数据量;以及各数据分片的校验值。在本说明书另一些实施例中,所述分片校验描述信息也可以包括:各数据分片在目标文件中的起始位置;各数据分片在目标文件中的终止位置;以及各数据分片的校验值。
在本说明书一些实施例中,可以根据整体校验描述信息进行所述整体校验,所述整体校验描述信息可以包括:目标文件的下载位置;目标文件的数据量;以及目标文件的校验值。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
本申请是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (23)
1.一种数据校验方法,其特征在于,包括:
获取目标文件的当前数据分片,并对所述当前数据分片进行校验,其中,所述目标文件由多个不重叠的数据分片组成;
当对所述当前数据分片的校验失败时,重新获取所述当前数据分片并重新校验;
当对所述当前数据分片的校验成功时,获取所述目标文件的下一个数据分片并重复上述校验步骤直至所述目标文件的所有数据分片均被获取且校验成功;
当所述目标文件的所有数据分片校验成功时,对所述所有数据分片所形成的整体文件进行整体校验。
2.如权利要求1所述的数据校验方法,其特征在于,还包括:
在获取所述目标文件的第一个数据分片之前,预先获取所述目标文件的文件下载信息;
其中,所述文件下载信息中包含整体校验描述信息和分片校验描述信息,所述整体校验描述信息用于所述整体校验,所述分片校验描述信息用于所述分片校验。
3.如权利要求2所述的数据校验方法,其特征在于,所述整体校验描述信息,包括:
目标文件的下载位置;
目标文件的数据量;以及,
目标文件的校验值。
4.如权利要求2或3所述的数据校验方法,其特征在于,所述分片校验描述信息,包括:
各数据分片在目标文件中的起始位置;
各数据分片的数据量;以及,
各数据分片的校验值。
5.如权利要求2或3所述的数据校验方法,其特征在于,所述分片校验描述信息,包括:
各数据分片在目标文件中的起始位置;
各数据分片在目标文件中的终止位置;以及,
各数据分片的校验值。
6.如权利要求1所述的数据校验方法,其特征在于,每个所述数据分片的数据量预先根据用于获取目标文件的网络性能确定。
7.一种数据校验装置,其特征在于,包括:
分片校验模块,用于获取目标文件的当前数据分片并对其进行校验,当对所述当前数据分片的校验失败时,重新获取所述当前数据分片并重新校验,当对所述当前数据分片的校验成功时,获取所述目标文件的下一个数据分片并重复上述校验步骤直至所述目标文件的所有数据分片均被获取且校验成功,其中,所述目标文件由多个不重叠的数据分片组成;和
整体校验模块,用于当所述目标文件的所有数据分片校验成功时,对所述所有数据分片所形成的整体文件进行整体校验。
8.如权利要求7所述的数据校验装置,其特征在于,所述装置还包括:
信息下载模块,用于预先获取所述目标文件的文件下载信息;所述文件下载信息中包含整体校验描述信息和分片校验描述信息,所述整体校验描述信息用于所述整体校验,所述分片校验描述信息用于所述分片校验。
9.如权利要求8所述的数据校验装置,其特征在于,所述整体校验描述信息,包括:
目标文件的下载位置;
目标文件的数据量;以及,
目标文件的校验值。
10.如权利要求8或9所述的数据校验装置,其特征在于,所述分片校验描述信息,包括:
各数据分片在目标文件中的起始位置;
各数据分片的数据量;以及,
各数据分片的校验值。
11.如权利要求8或9所述的数据校验装置,其特征在于,所述分片校验描述信息,包括:
各数据分片在目标文件中的起始位置;
各数据分片在目标文件中的终止位置;以及,
各数据分片的校验值。
12.如权利要求7所述的数据校验装置,其特征在于,每个所述数据分片的数据量预先根据用于获取目标文件的网络性能确定。
13.一种电子设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时执行权利要求1-6任意一项所述的数据校验方法。
14.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1-6任意一项所述的数据校验方法。
15.一种数据传输方法,其特征在于,包括:
通过发送端将待传输的目标文件预先分为多个不重合的数据分片;
由所述发送端向接收端顺序传输所述目标文件的每个数据分片;
通过所述接收端接收每个数据分片并进行分片校验,其中如果一个数据分片校验不成功,则通过所述接收端请求所述发送端重新传输所述校验不成功的数据分片并重新对其进行分片校验;
当所有数据分片都被传输并且校验成功后,通过所述接收端对所述所有数据分片形成的整体文件进行整体校验。
16.如权利要求15所述的数据传输方法,其特征在于,根据分片校验描述信息进行所述分片校验,所述分片校验描述信息包括:
各数据分片在目标文件中的起始位置;
各数据分片的数据量;以及,
各数据分片的校验值。
17.如权利要求15所述的数据传输方法,其特征在于,根据分片校验描述信息进行所述分片校验,所述分片校验描述信息包括:
各数据分片在目标文件中的起始位置;
各数据分片在目标文件中的终止位置;以及,
各数据分片的校验值。
18.如权利要求15所述的数据传输方法,其特征在于,根据整体校验描述信息进行所述整体校验,所述整体校验描述信息包括:
目标文件的下载位置;
目标文件的数据量;以及,
目标文件的校验值。
19.如权利要求15所述的数据传输方法,其特征在于,每个所述数据分片的数据量根据用于传输所述目标文件的网络性能确定。
20.如权利要求15所述的数据传输方法,其特征在于,其中每个所述数据分片的数据量相同。
21.如权利要求15所述的数据传输方法,其特征在于,其中所述数据传输方法基于HTTP或HTTPS协议。
22.一种车载装置,用于与服务器通信,其特征在于,所述车载装置包括如权利要求13所述的电子设备。
23.一种数据传输系统,包括互相通信的车载装置和服务器,其特征在于,所述车载装置和服务器通信时执行如权利要求15-21所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011132340.1A CN112165533B (zh) | 2020-10-21 | 2020-10-21 | 数据校验、传输方法、装置、设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011132340.1A CN112165533B (zh) | 2020-10-21 | 2020-10-21 | 数据校验、传输方法、装置、设备、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112165533A true CN112165533A (zh) | 2021-01-01 |
CN112165533B CN112165533B (zh) | 2023-04-18 |
Family
ID=73867857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011132340.1A Active CN112165533B (zh) | 2020-10-21 | 2020-10-21 | 数据校验、传输方法、装置、设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112165533B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037832A (zh) * | 2021-03-04 | 2021-06-25 | 杭州海兴电力科技股份有限公司 | 一种电能表文件校验方法和系统 |
CN113114740A (zh) * | 2021-03-29 | 2021-07-13 | 深圳云里物里科技股份有限公司 | 一种网关的数据传输方法、装置、网关和存储介质 |
CN114124401A (zh) * | 2021-11-02 | 2022-03-01 | 佛吉亚歌乐电子(丰城)有限公司 | 一种数据鉴权方法、装置、设备及存储介质 |
CN114363321A (zh) * | 2021-12-30 | 2022-04-15 | 支付宝(杭州)信息技术有限公司 | 文件传输方法、设备及系统 |
CN116204214A (zh) * | 2023-04-25 | 2023-06-02 | 苏州浪潮智能科技有限公司 | Bmc升级方法、装置、系统、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848188A (zh) * | 2009-03-25 | 2010-09-29 | 上海聚力传媒技术有限公司 | 对数据块校验信息进行更新的方法和装置 |
CN109525542A (zh) * | 2017-09-20 | 2019-03-26 | 中兴通讯股份有限公司 | 数据恢复方法、发送/接收装置和计算机可读存储介质 |
CN109561145A (zh) * | 2018-11-27 | 2019-04-02 | 泰康保险集团股份有限公司 | 文件处理方法、装置、电子设备及存储介质 |
CN110704077A (zh) * | 2018-07-10 | 2020-01-17 | 中兴通讯股份有限公司 | 固件远程升级方法、装置、终端、移动设备及存储介质 |
CN111385354A (zh) * | 2020-03-02 | 2020-07-07 | 拉扎斯网络科技(上海)有限公司 | 文件传输方法、装置、电子设备和非易失性存储介质 |
CN111506578A (zh) * | 2020-04-17 | 2020-08-07 | 深圳前海微众银行股份有限公司 | 业务数据的校验方法、装置、设备及存储介质 |
-
2020
- 2020-10-21 CN CN202011132340.1A patent/CN112165533B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848188A (zh) * | 2009-03-25 | 2010-09-29 | 上海聚力传媒技术有限公司 | 对数据块校验信息进行更新的方法和装置 |
CN109525542A (zh) * | 2017-09-20 | 2019-03-26 | 中兴通讯股份有限公司 | 数据恢复方法、发送/接收装置和计算机可读存储介质 |
CN110704077A (zh) * | 2018-07-10 | 2020-01-17 | 中兴通讯股份有限公司 | 固件远程升级方法、装置、终端、移动设备及存储介质 |
CN109561145A (zh) * | 2018-11-27 | 2019-04-02 | 泰康保险集团股份有限公司 | 文件处理方法、装置、电子设备及存储介质 |
CN111385354A (zh) * | 2020-03-02 | 2020-07-07 | 拉扎斯网络科技(上海)有限公司 | 文件传输方法、装置、电子设备和非易失性存储介质 |
CN111506578A (zh) * | 2020-04-17 | 2020-08-07 | 深圳前海微众银行股份有限公司 | 业务数据的校验方法、装置、设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037832A (zh) * | 2021-03-04 | 2021-06-25 | 杭州海兴电力科技股份有限公司 | 一种电能表文件校验方法和系统 |
CN113114740A (zh) * | 2021-03-29 | 2021-07-13 | 深圳云里物里科技股份有限公司 | 一种网关的数据传输方法、装置、网关和存储介质 |
CN114124401A (zh) * | 2021-11-02 | 2022-03-01 | 佛吉亚歌乐电子(丰城)有限公司 | 一种数据鉴权方法、装置、设备及存储介质 |
CN114124401B (zh) * | 2021-11-02 | 2023-11-17 | 佛吉亚歌乐电子(丰城)有限公司 | 一种数据鉴权方法、装置、设备及存储介质 |
CN114363321A (zh) * | 2021-12-30 | 2022-04-15 | 支付宝(杭州)信息技术有限公司 | 文件传输方法、设备及系统 |
CN116204214A (zh) * | 2023-04-25 | 2023-06-02 | 苏州浪潮智能科技有限公司 | Bmc升级方法、装置、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112165533B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112165533B (zh) | 数据校验、传输方法、装置、设备、系统及存储介质 | |
CN108848163B (zh) | Tws耳机的升级方法及tws耳机 | |
CN112000355B (zh) | 用于固件升级的方法及装置、家电设备 | |
US10153887B2 (en) | Patch download with improved acknowledge mechanism | |
CN111327454A (zh) | 文件升级方法、装置、计算机设备和存储介质 | |
JP2023515997A (ja) | ソフトウェアバージョンロールバックの方法、装置、およびシステム | |
CN113824760B (zh) | 文件并发分块上传方法、装置、电子设备及存储介质 | |
CN111638894A (zh) | 一种软件升级方法、装置及计算机存储介质 | |
CN111930406A (zh) | 车载终端微控制单元软件升级方法、电子设备及存储介质 | |
CN114553863B (zh) | 文件传输方法及装置、存储介质和电子设备 | |
KR20200075626A (ko) | 차량의 ecu 업데이트가 가능한 무선 업데이트 시스템 및 방법 | |
CN114416135A (zh) | 一种物联网云平台远程终端升级系统及方法 | |
CN111158751A (zh) | 一种Windows环境部署方法、电子设备及存储介质 | |
CN116743779B (zh) | 组态数据同步更新方法、装置和内生安全工业控制器 | |
WO2023241458A1 (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
CN117201038A (zh) | 数据传输校验方法、系统、电子设备及存储介质 | |
CN113138788A (zh) | 空调程序升级方法及空调系统 | |
CN116095064A (zh) | 一种文件下载方法、计算机设备及存储介质 | |
CN112688905B (zh) | 数据传输方法、装置、客户端、服务器及存储介质 | |
CN110430279B (zh) | 文件下载控制方法及装置 | |
CN112995284A (zh) | 文件存储方法、电子设备及存储介质 | |
CN116057925A (zh) | 一种数据传输方法、数据下载方法及终端 | |
CN110784518A (zh) | 一种静态资源获取方法与装置 | |
CN110769030A (zh) | 下载文件的方法、终端、服务器和存储介质 | |
CN112039697A (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 |