CN117914966A - 数据传输方法、设备及存储介质 - Google Patents

数据传输方法、设备及存储介质 Download PDF

Info

Publication number
CN117914966A
CN117914966A CN202410069680.6A CN202410069680A CN117914966A CN 117914966 A CN117914966 A CN 117914966A CN 202410069680 A CN202410069680 A CN 202410069680A CN 117914966 A CN117914966 A CN 117914966A
Authority
CN
China
Prior art keywords
file
subfile
transmitted
sub
verification
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.)
Pending
Application number
CN202410069680.6A
Other languages
English (en)
Inventor
刘新
赖真
包振文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Launch Technology Co Ltd
Original Assignee
Shenzhen Launch Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Launch Technology Co Ltd filed Critical Shenzhen Launch Technology Co Ltd
Priority to CN202410069680.6A priority Critical patent/CN117914966A/zh
Publication of CN117914966A publication Critical patent/CN117914966A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本申请实施例公开了数据传输方法、设备及存储介质,用于提高数据传输的速度和效率。本申请实施例方法包括:通过建立车辆诊断设备的多个第一通信模块与车辆诊断盒的多个第二通信模块之间的传输通道,将待传输文件拆分成至少一个子文件,为每个子文件生成校验信息并添加至子文件中,针对每个子文件,通过子文件对应的模块标识指示的传输通道,将子文件从诊断设备传输至诊断盒,可以实现数据多对多的传输模式;将待传输文件拆分成多个子文件,利用子文件对应的模块标识指示的的传输通道进行并行传输,提升数据传输的速度和效率,有助于提升数据传输的可靠性。

Description

数据传输方法、设备及存储介质
技术领域
本申请实施例涉及通信技术领域,尤其涉及数据传输方法、设备及存储介质。
背景技术
蓝牙通讯技术在现代无线通信领域中占据着重要地位,广泛应用于各种设备之间的短距离无线数据传输。
但在传统的车辆诊断领域中,常规车辆诊断设备和车辆诊断盒在执行蓝牙通讯时通常采用一对一的连接方式,这种通讯模式存在一个显著的问题,即在维修过程中,数据传输速度缓慢,导致传输所需的时间较长,数据传输效率明显受到限制。
发明内容
基于上述问题,本申请实施例提供了一种数据传输方法、设备及存储介质,目的是使车辆诊断设备与车辆诊断盒进行数据传输的过程更加快速、高效。
第一方面,本申请实施例提供了一种数据传输方法,应用于车辆诊断设备,所述方法包括:
建立车辆诊断设备的多个第一通信模块与车辆诊断盒的多个第二通信模块之间的传输通道;其中,每个所述第一通信模块具有模块标识;
将待传输文件拆分成至少一个子文件;其中每个所述子文件与所述第一通信模块的模块标识对应,所述子文件对应的模块标识用于指示所述子文件对应的传输通道;
为每个所述子文件生成校验信息,并将所述校验信息添加至所述子文件;
针对每个所述子文件,通过所述子文件对应的模块标识指示的传输通道,将所述子文件从所述诊断设备传输至所述诊断盒。
在一实施例中,所述建立车辆诊断设备的多个第一通信模块与车辆诊断盒的多个第二通信模块之间的传输通道,包括:
对每一所述第一通信模块的模块标识进行加密运算,得到每一所述第一通信模块的随机密钥;
生成所述第一通信模块与所述第二通信模块之间的连接请求,所述连接请求携带所述随机密钥;
针对每个所述连接请求,在所述第二通信模块对所述连接请求中的所述随机密钥进行解密,并确定所述第一通信模块与所述第二通信模块匹配后,建立所述第一通信模块与所述第一通信模块对应的第二通信模块之间的传输通道。
在一实施例中,所述将待传输文件拆分成至少一个子文件,包括:
将待传输文件按照所述第一通信模块数量拆分为所述第一通信模块数量个数的子文件;其中,每个所述子文件与每个第一通信模块的模块标识一一对应。
在一实施例中,所述为每个所述子文件生成校验信息,包括:
获取所述子文件在所述待传输文件中的位置序号;
分别对所述待传输文件、所述子文件、所述子文件的位置序号进行加密运算,得到所述待传输文件的校验值、所述子文件的校验值以及所述位置序号的校验值;
将所述待传输文件的校验值、所述子文件的校验值和所述位置序号的校验值生成校验信息。
第二方面,本申请实施例提供了一种数据传输方法,应用于车辆诊断盒,所述方法包括:
接收车辆诊断设备通过传输通道传输的子文件;其中,所述子文件具有校验信息,所述校验信息包括待传输文件的校验值、子文件的校验值和子文件的位置序号的校验值;
对每个所述子文件进行校验,得到第一校验结果;
根据所述子文件的位置序号,将接收到的所有所述子文件进行拼接,得到重新生成的待传输文件。
在一实施例中,所述对每个所述子文件进行校验,得到第一校验结果,包括:
针对所述每个接收到的子文件,对所述子文件进行加密运算,得到所述子文件的校验值;
对所述子文件的位置序号进行加密运算,得到所述子文件的位置序号的校验值;
判断所述子文件的校验值与所述校验信息中的子文件的校验值是否相同,以及判断所述所述子文件的位置序号校验值与所述子文件的位置序号的校验值是否相同,得到第一校验结果。
在一实施例中,所述方法还包括:
根据所述校验信息中的待传输文件的校验值,对所述重新生成的待传输文件进行校验,得到第二校验结果;
若所述第一校验结果为相同,则确定所述子文件传输正确;
若所述第二校验结果为校验成功,则确定所述待传输文件传输正确;
若所述第一校验结果为不相同,或所述第二校验结果为校验失败,则向车辆诊断设备发起重传请求。
第三方面,本申请实施例还提供了一种车辆诊断设备,包括:
中央处理器,存储器以及输入输出接口;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行上述车辆诊断设备侧任意一项所述数据传输方法的步骤。
第四方面,本申请实施例还提供了一种车辆诊断盒,包括:
中央处理器,存储器以及输入输出接口;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行上述车辆诊断盒侧任意一项所述数据传输方法的步骤。
第五方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行上述任意一项所述数据传输方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了数据传输方法、设备及存储介质,该方法包括:通过建立车辆诊断设备的多个第一通信模块与车辆诊断盒的多个第二通信模块之间的传输通道,将待传输文件拆分成至少一个子文件,为每个子文件生成校验信息并添加至子文件中,针对每个子文件,通过子文件对应的模块标识指示的传输通道,将子文件从诊断设备传输至诊断盒,可以实现数据多对多的传输模式;将待传输文件拆分成多个子文件,利用子文件对应的模块标识指示的的传输通道进行并行传输,提升数据传输的速度和效率,有助于提升数据传输的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种数据传输方法流程示意图;
图2为本申请实施例提供的一种数据传输方法流程示意图;
图3为本申请实施例提供的一种车辆诊断设备结构示意图;
图4为本申请实施例提供的一种车辆诊断盒结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
蓝牙通讯技术在现代无线通信领域中占据着重要地位,广泛应用于各种设备之间的短距离无线数据传输。
在传统的车辆诊断领域中,车辆诊断设备配备有用于车辆诊断的功能模块,同时可以展示被测车辆相关车辆检测信息或故障信息,车辆诊断盒通过第二代车载诊断系统(OBD-II,the Second On-Board Diagnostics)接口扫描车辆的各种电子系统(如发动机系统、防抱死系统、空调系统等),进而读取车辆电子系统中存储的故障码,帮助诊断车辆问题。常规车辆诊断设备和车辆诊断盒在执行蓝牙通讯时通常采用一对一的连接方式,这种通讯模式存在一个显著的问题,即在维修过程中,数据传输速度缓慢,导致传输所需的时间较长,数据传输效率明显受到限制。
基于此,本申请的各个实施例中通过建立车辆诊断设备的多个第一通信模块与车辆诊断盒的多个第二通信模块之间的传输通道,将待传输文件拆分成至少一个子文件,为每个子文件生成校验信息并添加至子文件中,针对每个子文件,通过子文件对应的模块标识指示的传输通道,将子文件从诊断设备传输至诊断盒,可以实现数据多对多的传输模式;将待传输文件拆分成多个子文件,利用子文件对应的模块标识指示的的传输通道进行并行传输,提升数据传输的速度和效率,有助于提升数据传输的可靠性。
下面结合附图对本申请各个实施例做进一步详细的描述。
本申请实施例提供了一种数据传输方法,应用于车辆诊断设备,如图1所示,该方法包括步骤S101-S104。
S101:建立车辆诊断设备的多个第一通信模块与车辆诊断盒的多个第二通信模块之间的传输通道。
为了实现车辆诊断设备(简称诊断设备,下同)与车辆诊断盒(简称诊断盒,下同)之间的有效通信,以提高车辆诊断的效率和准确性,需要建立诊断设备与诊断盒之间蓝牙通讯连接,形成无线网格网络Mesh组网,以做好诊断设备与诊断盒的通讯准备。通过建立诊断设备的多个第一通信模块与诊断盒的多个第二通信模块之间的传输通道,可以确保在车辆诊断过程中,诊断设备能够与诊断盒之间快速、可靠地交换信息,从而避免通信故障或数据传输不畅所导致的诊断错误或延误。
具体地,第一通信模块和第二通信模块可以是蓝牙模块,且诊断设备具有至少一个第一通信模块,诊断盒具有至少一个第二通信模块。第一通信模块的个数与第二通信模块的个数可以因系统设计和应用场景而异,本申请实施例对此不做限定。
在一些可行的实施例中,第一通信模块的个数与第二通信模块的个数相等。
在这种情况下诊断设备中的每个第一通信模块与诊断盒中的一个第二通信模块相对应,并建立独立的传输通道。这样可以实现并行传输,提高整体通信效率,还可以平均分配通信负载,避免某些传输通道过载而影响性能,同时独立通道可以降低干扰,提高通信的稳定性,适用于需要独立、稳定通信的场景,例如特定车辆的诊断。
在另一些可能的实施例中,第一通信模块的个数与第二通信模块的个数不相等。
在这种情况下,多个第一通信模块与多个第二通信模块可以采用有频分多址、时分多址以及它们的组合形式进行通信。
示例性地,通过采用时间分片策略,可以将整个通信时间周期分为离散的时间片,将每个时间片进一步划分为帧,每帧包含多个时隙。每个时隙分配给指定的通信模块进行数据传输,以确定每个通信模块在每个帧内的通信时间。
或者采用按频分配策略,不同的通信模块被分配不同的频率范围,以避免频谱冲突。这样,每个通信模块在被分配的频率上进行通信,实现并行的数据传输。例如,第一通信模块A1使用频率范围1-100MHz,第一通信模块A2使用频率范围101-200MHz,并以此类推。第二通信模块相应地设置相同的频率范围,这样可以确保通信不发生冲突。
不同的传输方式和关系会影响数据传输的复杂性、稳定性以及整体性能。在实际应用中,需要根据具体的业务需求来选择适当的通信模块关系。
进一步地,实际应用中,每个诊断设备的第一通信模块和诊断盒的第二通信模块都具有模块标识,模块标识用于识别和区分不同的通信模块。模块标识的形式可以是数字、字母的任一或其组合,由系统分配或在进行产品配置时设置的。示例性地,模块标识可以是序列,如"Module001";或者是数字编码,如"412132"。另外模块标识还可以是除上述序列和数字编码以外的其他形式,具体可按业务需求和设计需要进行设置,在此不作限定。通信模块的选取以及模块标识的设计都要考虑到系统的需要和规模,确保在多个通信模块同时工作时,能够被准确地辨识和管理,以实现有效的数据交换和通信。
S102:将待传输文件拆分成至少一个子文件。
这里,每个子文件与第一通信模块的模块标识对应,子文件对应的模块标识用于指示子文件对应的传输通道。
将待传输文件拆分成至少一个子文件,可以将大型数据文件分解为更小、更管理的单位,以便更有效地传输和处理;每个子文件与第一通信模块的模块标识对应,通过模块标识与对应的传输通道相关联,可以防止数据在传输过程中混淆或丢失,确保在诊断盒侧能够正确接收并还原原始的待传输文件。
在实际应用中,将待传输文件拆分成子文件的方式可以根据实际需求进行选择。
在一个可能的实施例中,可以按照进行通信的诊断设备与诊断盒在传输文件前进行协商,确定预设文件大小,然后将文件拆分成满足该预设文件大小的子文件,确保每个子文件都不会超过规定的文件大小。
在另一个可能的实施例中,可以按照预设传输速度进行拆分,根据该速度将文件拆分成适当大小的子文件,以确保在给定时间内完成传输。
在又一个可能的实施例中,可以按照诊断设备与诊断盒之间的通信模块个数进行拆分,即将待传输文件拆分成与通信模块个数相对应的子文件,每个子文件由该第一通信模块的模块标识对应的传输通道负责传输,有助于并行处理和提高传输效率。
将待传输文件拆分成子文件需要根据实时的通信条件、设备状态或其他因素进行动态调整策略,以最大程度地优化传输性能。
进一步地,子文件还可以被拆分成多个数据包,将子文件拆分成多个数据包有利于分段传输减小延迟,同时使得在传输过程中更容易进行错误检测,即如果检测到某个数据包在传输中出现错误,只重新传输该数据包即可,而非整个文件,进而提高了对错误的容忍度。更小的数据包也有助于进行流量控制,以防止拥塞,提高整体传输的效率。例如可以按照通信协议的最大传输单元(MTU,Maximum Transmission Unit)将子文件进行进一步拆分,对子文件拆分成多个数据包后,数据包也可以与第一通信模块的模块标识对应,数据包对应的模块标识用于指示数据包对应的传输通道。需要说明的是,在对子文件拆分成多个数据包后,后续在诊断设备侧与在诊断盒侧的方法实施例及其步骤都将适应性地变更为以数据包为操作对象,即变更为获取数据包在待传输文件中的位置序号、对数据包和数据报的位置序号生成对应的校验值等。
在待传输文件被拆分成多个子文件后,在一些可行的实施例中,每个子文件可以附带上模块标识,例如,第二通信模块B1在接收到子文件后,可以通过模块标识确定该子文件属于第一通信模块A1,以及该子文件是通过第一通信模块A1与第二通信模块B1之间的传输通道传输的,这样可以在后续发生异常情况时进行相应的异常处理。
在另一些可行的实施例中,模块标识也可以通过绑定关系来确定子文件与模块标识的对应关系,例如可以通过外部数据结构(如映射表或配置文件等),将子文件与模块标识进行绑定。当需要传输子文件时,可以通过该数据结构以确定哪个模块应该接收或处理这个子文件。在这种情况下,子文件本身并不包含模块标识信息,而是通过映射表,根据子文件名或子文件的位置序号得知应该传输给哪个模块。这里,子文件的位置序号就是指子文件在待传输文件的位置,通过该位置序号也可以标识出不同的子文件。
S103:为每个子文件生成校验信息,并将校验信息添加至子文件。
在文件传输过程中,子文件的传输可能受到干扰、丢失或损坏。通过生成校验信息并添加至子文件中,可以检测并及时纠正这些问题,确保在文件传输过程中数据的完整性和可靠性。
为每个子文件生成校验信息的方式可以采用安全散列算法(SHA256,Secure HashAlgorithm 256-bit)或信息摘要算法第五版(MD5,Message-DigestAlgorithm 5)等,对子文件的相应内容进行计算生成相应的校验信息,并将生成的校验信息添加至相应的子文件。校验信息包括待传输文件的校验值、子文件的校验值和子文件的位置序号的校验值;另外也可以按需设置其他校验信息如子文件的大小,子文件的个数等,以确保数据的完整性。
进一步地,多个校验信息可以采用不与文件内容冲突,同时方便解析的特殊字符或分隔符进行分隔。另外,校验信息可以添加在子文件的末尾、头部或其他预设位置,本申请实施例对此不做限定。
应理解,本申请实施例中步骤序号的大小并不意味着执行顺序的先后,数据传输的执行顺序应以其功能、内在逻辑以及业务需求确定,而不应对本申请实施例的实施过程构成任何限定。例如,步骤S101可以在S102、S103后执行,即先拆分,待需要进行数据传输时再建立传输通道。另外,也可以同时进行S101、S102、S103,传输通道的建立可能需要一些初始化和协商的时间,而在此期间可以开始拆分文件和生成校验信息,这种并行操作有助于提高效率,尤其是当通信通道建立的时间相对于拆分文件和生成校验信息的时间较长时。
S104:针对每个子文件,通过子文件对应的模块标识指示的传输通道,将子文件从诊断设备传输至诊断盒。
每个子文件与第一通信模块的模块标识对应,子文件对应的模块标识用于指示子文件对应的传输通道。每个子文件使用与模块标识对应的传输通道,可以确保每个子文件通过正确的传输通道传输至诊断盒。
具体地,在一种可行的实施例中,在进行传输前随机为每个子文件选择一个可用传输通道,子文件通过该随机选择的传输通道进行传输。
在另一种可行的实施例中,每个子文件可以按照预定顺序,依次循环选择可用通道进行传输。
进一步地,还使用拥塞检测算法,在选择通道时考虑当前通道的负载情况,选择空闲或负载较低的通道,以避免拥塞。
本申请实施例中,通过建立车辆诊断设备的多个第一通信模块与车辆诊断盒的多个第二通信模块之间的传输通道,将待传输文件拆分成至少一个子文件,为每个子文件生成校验信息并添加至子文件中,针对每个子文件,通过子文件对应的模块标识指示的传输通道,将子文件从诊断设备传输至诊断盒,可以实现数据多对多的传输模式;将待传输文件拆分成多个子文件,利用子文件对应的模块标识指示的的传输通道进行并行传输,提升数据传输的速度和效率,有助于提升数据传输的可靠性。
为了确保数据传输的安全可靠性,在一实施例中,建立车辆诊断设备的多个第一通信模块与车辆诊断盒的多个第二通信模块之间的传输通道,包括:对每一第一通信模块的模块标识进行加密运算,得到每一第一通信模块的随机密钥;生成第一通信模块与第二通信模块之间的连接请求,连接请求携带随机密钥;针对每个连接请求,在第二通信模块对连接请求中的随机密钥进行解密,并确定第一通信模块与第二通信模块匹配后,建立第一通信模块与第一通信模块对应的第二通信模块之间的传输通道。
在建立传输通道前,需要通过对第一通信模块的模块标识进行加密运算,生成随机密钥,然后在连接请求中携带该随机密钥,以便第二通信模块对该随机密钥进行解密并与随机密钥对应的第一通信模块进行匹配。
具体地,关于加密运算可采用对称或非对称加密算法,例如高级加密标准(AES,Advanced Encryption Standard)或公钥加密算法(RSA,Rivest-Shamir-Adleman),也可采用法SHA256或MD5生成模块标识的散列值;
本领域技术人员应理解,在实际应用中,若采用AES,就意味着使用同一个密钥对模块标识进行加密生成随机密钥和解密随机密钥;若采用RSA,意味着在第一通信模块使用公钥对模块标识加密,得到随机密钥,在第二通信模块使用私钥对随机密钥进行解密。在第二通信模块确定解密得到的第一通信模块的模块标识与第二通信模块的模块标识匹配后,建立该解密得到的模块标识对应的第一通信模块与第二通信模块之间的传输通道。
若使用SHA256或MD5,则在第一通信模块使用MD5或SHA256对文件内容计算散列值,在第二通信模块使用同样的哈希函数对接收到的模块标识重新生成散列值,将重新生成的散列值与接收到的散列值进行比较。如果两个散列值匹配,则确认模块标识未被篡改,否则怀疑数据可能被修改或损坏。确定模块未被篡改后,第二通信模块确定接收到的第一通信模块的模块标识与第二通信模块的模块标识匹配,就可以建立该第一通信模块与第二通信模块之间的传输通道。
通过加密算法和随机密钥的应用,可以防止未经授权的第三方尝试连接或干扰通信过程,从而提高数据传输的安全性和可靠性。
为了提高数据传输的可管理性以及数据传输的速度,在一实施例中,将待传输文件拆分成至少一个子文件,包括:将待传输文件按照第一通信模块数量拆分为第一通信模块数量个数的子文件;其中,每个子文件与每个第一通信模块的模块标识一一对应。
将待传输文件按照第一通信模块数量拆分成相应数量的子文件,这样每个子文件与第一通信模块的标识一一对应,在本申请实施例中,每个子文件对应的模块标识不仅用于指示该子文件对应的第一通信模块,还用于确定与该模块标识对应的的传输通道,因此实现一子文件一模块一传输通道的对应传输方式。这种多个子文件同时通过多个传输通道进行数据传输的并行传输方式可以大幅提高数据传输速度和效率,且当发生传输错误时,只需重新传输受影响的子文件,而不必重新传输整个文件,提高系统的容错性。
为了防止数据被篡改或损坏,在一实施例中,为每个子文件生成校验信息,包括:获取子文件在待传输文件中的位置序号;分别对待传输文件、子文件、子文件的位置序号进行加密运算,得到待传输文件的校验值、子文件的校验值以及位置序号的校验值;将待传输文件的校验值、子文件的校验值和位置序号的校验值生成校验信息。
这里位置序号表示子文件在待传输文件中的位置,位置序号的存在有助于在诊断盒侧能够正确还原待传输文件。在实际应用中,可以采用MD5或SHA256等哈希函数,将待传输文件内容、子文件内容和位置序号作为输入,生成待传输文件的校验值、子文件以及位置序号的校验值,可以防止数据篡改、损坏,确保数据传输的可靠性和安全性。
本申请实施例提供了一种数据传输方法,应用于车辆诊断盒,如图2所示,该方法包括步骤S201-S203。
S201:接收车辆诊断设备通过传输通道传输的子文件;其中,子文件具有校验信息,校验信息包括待传输文件的校验值、子文件的校验值和子文件的位置序号的校验值。
车辆诊断盒接收由车辆诊断设备通过传输通道传输的子文件并验证子文件中的校验信息,确保文件的完整性和准确性。通过校验信息,可以验证文件是否在传输过程中被篡改或损坏,避免因数据错误导致对车辆状态做出错误判断或操作。
诊断盒的第二通信模块可以在子文件的预设位置(如头部、尾部等)提取所需的校验信息,这里校验信息使用特殊字符或分隔符分隔各个校验信息的部分,诊断盒能够更方便地识别所需的校验信息。
另外,在实际应用中,在接收到车辆诊断设备通过传输通道传输的子文件后,可以通过向车辆诊断设备发送已接收的反馈信息,若车辆诊断设备对于超过预设时间段仍没有接收到诊断盒已接收的反馈信息,诊断设备可以再次向诊断盒一次性发送所有子文件,这里预设时间段可以按需设置,本申请实施例对此并不限定。
S202:对每个子文件进行校验,得到第一校验结果。
具体地,车辆诊断盒接收到车辆诊断设备通过传输通道传输的多个子文件后,对每个子文件以及该子文件的位置序号使用哈希函数进行重新计算,得到该子文件和该子文件的位置序号重新生成的校验值,通过对重新生成的校验值与接收到的校验值进行比较得到的第一校验结果,可以验证数据的完整性,减少了由于传输导致的数据错误,确保车辆诊断盒接收到的数据是准确且完整的,有助于提高数据分析和决策的精确性。
S203:根据子文件的位置序号,将接收到的所有子文件进行拼接,得到重新生成的待传输文件。
在验证每个子文件传输正确且每个子文件均完整后,可以对接收到的子文件按照其位置序号依次拼接,得到重新生成的待传输文件,进而确保按照正确的顺序组合还原原始的待传输文件,保证了数据的传输完整性,避免了数据丢失或乱序的问题。在拼接完成后还可以引入对重新生成的待传输文件的校验机制,以验证重新生成的待传输文件的完整性,避免在将子文件按照位置序号进行重新拼接的过程中出现错误。
本申请实施例中,通过接收车辆诊断设备通过传输通道传输的子文件,然后对每个子文件进行校验得到第一校验结果,再根据子文件的位置序号将接收到的所有子文件进行拼接,得到重新生成的待传输文件,可以确保数据传输出现错误、丢失或损坏都能够在校验阶段被发现,从而防止了因为数据错误引起的车辆诊断信息的错误分析,保证了数据的完整性和正确性。通过按照位置序号将所有子文件进行拼接,确保了对接收到的子文件的正确重组,这有助于提高数据的可靠性。
为了确保在车辆诊断设备的文件传输过程中,数据不会被篡改或损坏,在一实施例中,对每个子文件进行校验,得到第一校验结果,包括:针对每个接收到的子文件,对子文件进行加密运算,得到子文件的校验值;对子文件的位置序号进行加密运算,得到子文件的位置序号的校验值;判断子文件的校验值与校验信息中的子文件的校验值是否相同,以及判断子文件的位置序号校验值与子文件的位置序号的校验值是否相同,得到第一校验结果。
示例性地,对子文件的位置序号以及子文件可以使用哈希函数(如MD5或SHA256)生成各自对应的校验值,并确定使用哈希函数生成的校验值与校验信息中对应的校验值是否相同,得到第一诊断结果。示例性地,对子文件使用MD5重新生成子文件的校验值,对子文件的位置序号使用MD5重新生成子文件的位置序号的校验值,比较重新生成的子文件的校验值与校验信息中子文件的校验值是否相同以及比较重新生成的子文件的位置序号的校验值与校验信息中子文件的位置序号的校验值是否相同,得到第一校验结果。
需要说明的是,如果重新生成的子文件的校验值与校验信息中子文件的校验值相同,并且,重新生成的子文件的位置序号的校验值与校验信息中子文件的位置序号的校验值相同,则第一校验结果为相同;
如果重新生成的子文件的校验值与校验信息中子文件的校验值不同,或者,重新生成的子文件的位置序号的校验值与校验信息中子文件的位置序号的校验值不同,则第一校验结果为不同。
为了车辆诊断设备传输的文件在诊断盒侧能够正确无误被接收,在一实施例中,方法还包括:根据校验信息中的待传输文件的校验值,对重新生成的待传输文件进行校验,得到第二校验结果;若第一校验结果为相同,则确定子文件传输正确;若第二校验结果为校验成功,则确定待传输文件传输正确;若第一校验结果为不相同,或第二校验结果为校验失败,则向车辆诊断设备发起重传请求。
如果第一校验结果相同,但第二校验结果为校验失败,说明子文件无问题但重新生成的待传输文件可能存在错误,需要发起针对整个待传输文件的重传请求;
如果第一校验结果不同,说明子文件传输存在问题,无需进行对所有子文件拼接以重新生成待传输文件的步骤,可直接发起重传请求,进一步地,还可以提取出错的子文件的位置序号生成重传请求以告知车辆诊断设备需要重新传输的子文件。
通过多层次的校验,结合重传机制,确保了数据传输的高可靠性和完整性,尤其是在对于对汽车诊断等领域对数据准确性要求较高的场景中,具有明显的优势。
为了实现本申请实施例提供的一种数据传输的方法,本申请实施例还提供了一种车辆诊断设备,如图3所示,车辆诊断设备300包括:
中央处理器301,存储器302以及输入输出接口303;
所述存储器302为短暂存储存储器或持久存储存储器;
所述中央处理器301配置为与所述存储器302通信,并执行所述存储器302中的指令操作以执行上述车辆诊断设备侧任意一项数据传输方法的步骤。
当然,实际应用时,所述车辆诊断设备300中的各个组件通过总线系统304耦合在一起。可理解,所述总线系统304用于实现这些组件之间的连接通信。所述总线系统304除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统304。
本申请实施例中的所述存储器302用于存储各种类型的数据以支持所述车辆诊断设备300的操作。这些数据的示例包括:用于在所述车辆诊断设备300上操作的任何车辆诊断程序。
为了实现本申请实施例提供的一种数据传输的方法,本申请实施例还提供了一种车辆诊断盒设备,如图4所示,车辆诊断盒400包括:
中央处理器401,存储器402以及输入输出接口403;
所述存储器402为短暂存储存储器或持久存储存储器;
所述中央处理器401配置为与所述存储器402通信,并执行所述存储器402中的指令操作以执行上述车辆诊断盒侧任意一项数据传输方法的步骤。
当然,实际应用时,所述车辆诊断盒400中的各个组件通过总线系统404耦合在一起。可理解,所述总线系统404用于实现这些组件之间的连接通信。所述总线系统404除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统404。
本申请实施例中的所述存储器402用于存储各种类型的数据以支持所述车辆诊断盒400的操作。这些数据的示例包括:用于在所述车辆诊断盒400上操作的任何车辆诊断程序。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当指令在计算机上运行时,使得计算机执行上述任意一项数据传输方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.一种数据传输方法,其特征在于,应用于车辆诊断设备,所述方法包括:
建立车辆诊断设备的多个第一通信模块与车辆诊断盒的多个第二通信模块之间的传输通道;其中,每个所述第一通信模块具有模块标识;
将待传输文件拆分成至少一个子文件;其中每个所述子文件与所述第一通信模块的模块标识对应,所述子文件对应的模块标识用于指示所述子文件对应的传输通道;
为每个所述子文件生成校验信息,并将所述校验信息添加至所述子文件;
针对每个所述子文件,通过所述子文件对应的模块标识指示的传输通道,将所述子文件从所述诊断设备传输至所述诊断盒。
2.根据权利要求1所述的数据传输方法,其特征在于,所述建立车辆诊断设备的多个第一通信模块与车辆诊断盒的多个第二通信模块之间的传输通道,包括:
对每一所述第一通信模块的模块标识进行加密运算,得到每一所述第一通信模块的随机密钥;
生成所述第一通信模块与所述第二通信模块之间的连接请求,所述连接请求携带所述随机密钥;
针对每个所述连接请求,在所述第二通信模块对所述连接请求中的所述随机密钥进行解密,并确定所述第一通信模块与所述第二通信模块匹配后,建立所述第一通信模块与所述第一通信模块对应的第二通信模块之间的传输通道。
3.根据权利要求1所述的数据传输方法,其特征在于,所述将待传输文件拆分成至少一个子文件,包括:
将待传输文件按照所述第一通信模块数量拆分为所述第一通信模块数量个数的子文件;其中,每个所述子文件与每个第一通信模块的模块标识一一对应。
4.根据权利要求1所述的数据传输方法,其特征在于,所述为每个所述子文件生成校验信息,包括:
获取所述子文件在所述待传输文件中的位置序号;
分别对所述待传输文件、所述子文件、所述子文件的位置序号进行加密运算,得到所述待传输文件的校验值、所述子文件的校验值以及所述位置序号的校验值;
将所述待传输文件的校验值、所述子文件的校验值和所述位置序号的校验值生成校验信息。
5.一种数据传输方法,其特征在于,应用于车辆诊断盒,所述方法包括:
接收车辆诊断设备通过传输通道传输的子文件;其中,所述子文件具有校验信息,所述校验信息包括待传输文件的校验值、子文件的校验值和子文件的位置序号的校验值;
对每个所述子文件进行校验,得到第一校验结果;
根据所述子文件的位置序号,将接收到的所有所述子文件进行拼接,得到重新生成的待传输文件。
6.根据权利要求5所述的数据传输方法,其特征在于,所述对每个所述子文件进行校验,得到第一校验结果,包括:
针对所述每个接收到的子文件,对所述子文件进行加密运算,得到所述子文件的校验值;
对所述子文件的位置序号进行加密运算,得到所述子文件的位置序号的校验值;
判断所述子文件的校验值与所述校验信息中的子文件的校验值是否相同,以及判断所述所述子文件的位置序号校验值与所述子文件的位置序号的校验值是否相同,得到第一校验结果。
7.根据权利要求5所述的数据传输方法,其特征在于,所述方法还包括:
根据所述校验信息中的待传输文件的校验值,对所述重新生成的待传输文件进行校验,得到第二校验结果;
若所述第一校验结果为相同,则确定所述子文件传输正确;
若所述第二校验结果为校验成功,则确定所述待传输文件传输正确;
若所述第一校验结果为不相同,或所述第二校验结果为校验失败,则向车辆诊断设备发起重传请求。
8.一种车辆诊断设备,其特征在于,包括:
中央处理器,存储器以及输入输出接口;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行权利要求1至4中任意一项所述数据传输的方法。
9.一种车辆诊断盒,其特征在于,包括:
中央处理器,存储器以及输入输出接口;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行权利要求5至7中任意一项所述数据传输的方法。
10.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述数据传输的方法。
CN202410069680.6A 2024-01-17 2024-01-17 数据传输方法、设备及存储介质 Pending CN117914966A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410069680.6A CN117914966A (zh) 2024-01-17 2024-01-17 数据传输方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410069680.6A CN117914966A (zh) 2024-01-17 2024-01-17 数据传输方法、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117914966A true CN117914966A (zh) 2024-04-19

Family

ID=90697249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410069680.6A Pending CN117914966A (zh) 2024-01-17 2024-01-17 数据传输方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117914966A (zh)

Similar Documents

Publication Publication Date Title
JP7139424B2 (ja) 車両搭載機器アップグレード方法および関連機器
US20190057214A1 (en) Update control device, terminal, and method of controlling
CN110545257B (zh) 一种汽车can总线加密方法
EP2605175A2 (en) Method and apparatus for checking field replaceable unit, and communication device
CN106034111B (zh) 使用混合的mac认证can包的方法和实现其的设备
US20210044382A1 (en) Security module for a serial communications device
King Investigating and securing communications in the Controller Area Network (CAN)
CN108833443B (zh) 一种消息传输方法及系统、计算机设备
US8581751B2 (en) Multi-cell voltage secure data encoding in hybrid vehicles
US20160099926A1 (en) Method of sequentially authenticating can packets using divided macs and apparatus for implementing the same
CN114827150B (zh) 一种物联网终端数据上链适配方法、系统及存储介质
US10862675B2 (en) Method for exchanging messages between security-relevant devices
CN117914966A (zh) 数据传输方法、设备及存储介质
JP6203798B2 (ja) 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム
CN114389895B (zh) 以太网帧安全传输方法、装置和系统
CN114143098B (zh) 数据存储方法和数据存储装置
WO2022227057A1 (zh) 一种密钥更新方法及其相关设备
CN114065302A (zh) 数据处理方法、装置、设备、介质和区块链网络
CN105491118A (zh) 一种航电以太网数据加载系统
CN115314292B (zh) 一种报文安全传输方法及装置
CN112737872B (zh) 一种arinc664p7端系统跨网测试系统和方法
US20240126887A1 (en) Method for controlling secure boot of vehicle controller and system thereof
CN116956362A (zh) 一种基于混合安全机制的文件灌装方法、系统及上位机
KR102291462B1 (ko) 정크 데이터 전송 채널 관리 방법, 정크 데이터 병렬적 전송 및 수신 방법
US20210345114A1 (en) Vehicle-to-x communication apparatus and method for achieving a safety integrity level in vehicle-to-x communication

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination