CN114827242A - 流控帧修正方法、装置、设备及介质 - Google Patents
流控帧修正方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114827242A CN114827242A CN202210450272.6A CN202210450272A CN114827242A CN 114827242 A CN114827242 A CN 114827242A CN 202210450272 A CN202210450272 A CN 202210450272A CN 114827242 A CN114827242 A CN 114827242A
- Authority
- CN
- China
- Prior art keywords
- flow control
- control frame
- data transmission
- frame
- transmission device
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种流控帧修正方法、装置、设备及介质,涉及计算机技术领域,该方法包括:接收数据发送设备通过第二数据传输设备发送的目标数据的首帧,将首帧发送至数据接收设备;获取数据接收设备返回的目标流控帧,判断目标流控帧与第一配置文件中记录的参考流控帧是否一致;若判定目标流控帧和参考流控帧不一致,则生成流控帧修正命令;将流控帧修正命令发送至第二数据传输设备,以便第二数据传输设备对第二配置文件记录的参考流控帧进行修正;获取第二数据传输设备返回的确认帧,并修正第一配置文件记录的参考流控帧。将配置文件记录的参考流控帧修正为与目标流控帧一致,防止由于时序问题造成诊断失败。
Description
技术领域
本发明涉及计算机技术领域,特别涉及流控帧修正方法、装置、设备及介质。
背景技术
汽车诊断对时延要求很高,通常要求不超过55毫秒,超时则可能造成诊断失败。在远程诊断中,由于网络的延时是不可靠的,难免会出现延时偏大,进而导致远程诊断失败。为解决这个问题,
现有技术通常会通过代回流控来解决这个问题,数据发送设备发送目标数据的首帧至第二数据传输设备后,第二数据传输设备基于配置文件向数据发送设备发送代回流控帧,也即第二数据传输设备利用配置文件的代回流控帧代替数据接收设备的实际流控帧,但是在实际使用过程中,由于即使同一个ECU(Electronic Control Unit,即电子控制单元),数据接收设备向第一数据传输设备发送的实际流控帧也有可能会根据不同的业务而改变,而第二数据传输设备中的配置文件是在预先编写,无法保证基于配置文件代回的流控帧与实际流控帧相同,当代回的流控帧与实际流控帧不一致时,数据发送设备按照代回的流控帧向第二数据传输设备发送连续帧,第二数据传输设备将连续帧发送至数据接收设备,但是数据接收设备将按照实际流控帧接收连续帧,因此由于代回的流控帧与实际流控帧不一致可能发生时序问题,进而导致诊断失败。
综上可见,如何实现代回流控帧和实际流控帧保持一致是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种流控帧修正方法、装置、设备及介质,能够实现代回流控帧和实际流控帧保持一致。其具体方案如下:
第一方面,本申请公开了一种流控帧修正方法,所述方法应用于数据传输系统中的第一数据传输设备,所述数据传输系统还包括数据发送设备、数据接收设备以及第二数据传输设备,其中,所述第一数据传输设备分别与所述数据接收设备和所述第二数据传输设备连接,所述第二数据传输设备分别与所述第一数据传输设备和所述数据发送设备连接,所述第一数据传输设备中内置有第一配置文件,所述第二数据传输设备中内置有第二配置文件,所述方法包括:
第一数据传输设备在接收到所述数据发送设备通过第二数据传输设备发送的目标数据的首帧之后,将所述首帧发送至所述数据接收设备;
第一数据传输设备获取所述数据接收设备基于所述首帧返回的目标流控帧,然后判断所述目标流控帧与所述第一配置文件中记录的参考流控帧是否一致;
第一数据传输设备若判定所述目标流控帧和所述参考流控帧不一致,则基于所述目标流控帧生成流控帧修正命令;
第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令对所述第二配置文件记录的所述参考流控帧进行修正;
第一数据传输设备获取所述第二数据传输设备基于所述第二配置文件的修正状态返回的确认帧,并基于所述确认帧修正所述第一配置文件记录的所述参考流控帧。
可选的,所述获取所述数据接收设备基于所述首帧返回的目标流控帧,包括:
通过控制器局域网总线获取所述数据接收设备基于所述首帧返回的目标流控帧。
可选的,所述判断所述目标流控帧与所述第一配置文件中记录的参考流控帧是否一致,包括:
解析所述目标流控帧,获取所述目标流控帧对应的CANID;
查询所述第一配置文件中与所述CANID对应的参考流控帧;
判断所述目标流控帧与所述参考流控帧是否一致。
可选的,所述流控帧修正命令携带所述目标流控帧以及与所述目标流控帧对应的所述CANID。
可选的,所述第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令对所述第二配置文件记录的所述参考流控帧进行修正,包括:
第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令将所述第二配置文件记录的所述参考流控帧修正为所述目标流控帧。
可选的,所述基于所述确认帧修正所述第一配置文件记录的所述参考流控帧,包括:
基于所述确认帧将所述第一配置文件的记录的所述参考流控帧修正为所述目标流控帧。
第二方面,本申请公开了一种流控帧修正方法,所述方法应用于数据传输系统中的第二数据传输设备,所述数据传输系统还包括数据发送设备、数据接收设备以及第二数据传输设备,其中,所述第一数据传输设备分别与所述数据发接收设备和所述第二数据传输设备连接,所述第二数据传输设备分别与所述第一数据传输设备和所述数据发送设备连接,所述第一数据传输设备中内置有第一配置文件,所述第二数据传输设备中内置有第二配置文件,所述方法包括:
第二数据传输设备接收由所述第一数据传输设备发送的流控帧修正命令;
第二数据传输设备基于所述流控帧修正命令对所述第二配置文件进行修正,并基于所述第二配置文件的修正状态生成确认帧;
第二数据传输设备将所述确认帧发送至所述第一数据传输设备,以便所述第一数据传输设备基于所述确认帧对所述第一配置文件进行修正。
第三方面,本申请公开了一种流控帧修正装置,应用于数据传输系统中的第一数据传输设备,包括:
首帧发送模块,用于第一数据传输设备在接收到所述数据发送设备通过第二数据传输设备发送的目标数据的首帧之后,将所述首帧发送至所述数据接收设备;
判断模块,用于第一数据传输设备获取所述数据接收设备基于所述首帧返回的目标流控帧,然后判断所述目标流控帧与所述第一配置文件中记录的参考流控帧是否一致;
修正命令生成模块,用于第一数据传输设备若判定所述目标流控帧和所述参考流控帧不一致,则基于所述目标流控帧生成流控帧修正命令;
修正命令发送模块,用于第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令对所述第二配置文件记录的所述参考流控帧进行修正;
修正模块,用于第一数据传输设备获取所述第二数据传输设备基于所述第二配置文件的修正状态返回的确认帧,并基于所述确认帧修正所述第一配置文件记录的所述参考流控帧。
第四方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的流控帧修正方法的步骤。
第五方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的流控帧修正方法的步骤。
可见,本申请基于代回流控的技术可以理解的是,第二数据传输设备的第二配置文件中记录的参考流控帧,可以替代数据接收设备的目标流控帧,即当第二数据传输设备接收到数据发送设备发送的目标数据的首帧时,将第二配置文件中记录的参考流控帧返回至数据发送设备,以便提前获取数据发送设备发送的连续帧,不用等待数据接收设备基于首帧返回的目标流控帧(即实际流控帧),可一定程度避免数据发送设备等待超时而导致诊断失败。然而在实际应用过程中,不可避免地出现参考流控帧和实际流控帧不一样,从而导致诊断失败。由此可见,本申请中第一数据传输设备将目标数据的首帧发送至数据接收设备之后,获取数据接收设备基于首帧返回的目标流控帧,并判断目标流控帧和第一配置文件中记录的参考流控帧是否一致,若目标流控帧和参考流控帧不一致,基于目标流控帧生成流控帧修正命令,以便第二数据传输设备基于流控帧修正命令将第二配置文件中的参考流控帧修改为数据接收设备实际返回的目标流控帧,这样第二数据传输设备后续再获取数据发送设备发送的相同的首帧之后,会向数据发送设备返回正确的实际流控帧,从而避免时序问题发生,进而避免后续远程诊断因时序问题而出现诊断失败的情况。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种流控帧修正方法流程图;
图2为本申请公开的一种具体的流控帧修正方法流程图;
图3为本申请公开的一种具体的流控帧修正方法流程图;
图4为本申请公开的一种具体的流控帧修正方法流程图;
图5为本申请公开的一种流控帧修正装置结构示意图;
图6为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,为现有的汽车远程诊断中的架构。
C端接头通过CAN总线与车辆进行交互,采集车辆的数据,并通过网络将数据透传到B端接头,B端接头通过CAN总线与诊断设备连接,进行交互。B端接头将接收到网络端的透传数据,还原为CAN总线数据,传送给诊断设备。同时将诊断设备发送的数据通过网络透传给C端接头,再由C端接头将数据转发给车辆,从而实现远程诊断。
但是由于汽车诊断对时延要求很高,通常要求不超过55毫秒。这个标准对于本地诊断没有什么问题,但是对于远程诊断,即使B\C端接头都采用有线以太网传输,也很难保证时延不超过55毫秒,更何况C端接头接在车辆上不一定有以太网,很可能使用的是WIFI或者5G等无线连接,那么网络延时更不可靠,难免会造成超时,诊断失败。
现有技术通常会通过代回流控来解决这个问题,通常的做法是根据不同品牌的车辆,预先写好配置文件,保存好不同数据对应的流控命令。B端接头(或C端接头)初始化时读取配置文件,当收到首帧数据,将代回流控,这样就可以不用等到对端真正回流控,提前就可以获得连续帧,并且将连续帧立即发送给对端。另一端端在收到实际回的流控后,将流控拦截,再将缓冲区中的连续帧,发送给车辆(或者诊断仪)。
车辆和诊断仪会根据处理能力,在流控帧定义每次最大接收的帧数和最小发送帧间隔。在实际应用中,在跑不同业务是,实际回的流控是变化的。例如在ECU编程的时候实际的流控是30 00 00 00 00 00 00 00(没有最大帧数限制,没有最小发送帧间隔)可以一次接收全部连续帧,没有帧间隔。而在发送数据流的时候实际流控为30 01 01 00 00 00 0000每次最大接收一帧,帧间隔为1毫秒。此外同一品牌的车辆,可能高配和低配的流控也不完全一样,同样对于诊断仪来说,可能原厂的诊断仪和市面上第三方开发的诊断仪实际的流控也不同,对于编写配置文件的工程师,很难保证配置的流控和实际流控完全一致。这难免会造成诊断失败。例如在处理某项业务时,车辆的实际流控是30 01 01 00 00 00 00 00而配置文件里面配置的是30 00 00 00 00 00 00 00。这时诊断仪发送一条长度为4095的命令,那么诊断仪发出首帧后,B端代回30 00 00 00 00 00 00 00,诊断仪会一次将后面连续帧发出,共有585帧,发送一帧的时间约250微秒,则诊断仪大约在150毫秒左右发送完成,然后等车辆的确认应答。但是车辆实际的流控为30 01 01 00 00 00 00 00,每次只收一帧,帧间隔为1毫秒,则接收完585帧,至少需要585毫秒,加上给C端发送流控帧的时间,实际接收完C端的转发的连续帧600毫秒以上。B端和C端的发完数据的时间差就有约450毫秒,加上网络传输的时间,车辆本身处理数据的时间,则诊断仪在发完该条命令后,至少在500毫秒之后才能收到车辆的应答,这显然会造成超时,从而导致诊断失败。
针对现有技术的不足,本申请提供了一种流控帧修正方法。具体应用在数据传输系统中的第一数据传输设备。
为此本申请相应的提供了一种流控帧修正方案,能够实现代回流控帧和实际流控帧保持一致。
参见图1所示,本申请实施例公开了一种流控帧修正方法,所述方法应用于数据传输系统中的第一数据传输设备,所述数据传输系统还包括数据发送设备、数据接收设备以及第二数据传输设备,其中,所述第一数据传输设备分别与所述数据接收设备和所述第二数据传输设备连接,所述第二数据传输设备分别与所述第一数据传输设备和所述数据发送设备连接,所述第一数据传输设备中内置有第一配置文件,所述第二数据传输设备中内置有第二配置文件。在本实施例中,数据发送设备可以是诊断仪,数据接收设备是车辆,第一数据传输设备是C端接头,第二数据传输设备是B端接头。当然,在其他实施例中,数据发送设备可以是车辆,数据接收设备是诊断仪,第一数据传输设备是B端接头,第二数据传输设备是C端接头。
本申请提供的流控帧修正方法包括:
步骤S11:第一数据传输设备在接收到所述数据发送设备通过第二数据传输设备发送的目标数据的首帧之后,将所述首帧发送至所述数据接收设备。
本实施例中,可以理解的是,在汽车远程诊断时,架构可以为如图2所示,C端接头作为第一数据传输设备通过控制器局域网总线与作为数据接收设备的目标车辆进行交互,采集目标车辆数据,并通过云平台网络将数据透传至作为第二数据传输设备的B端接头,B端接头通过控制器局域网总线与作为数据发送设备的诊断设备连接,并进行交互。当B端接头接收到云平台网络的透传数据后,将数据还原为控制器局域网总线数据,然后传输至诊断设备,当接收到诊断设备发送的数据时,再通过云平台网络将数据透传至C端接头,以便C端接头将数据转发至目标车辆,从而实现远程诊断。在其他实施例中,数据发送设备也可以是目标车辆,数据接收设备可以是诊断设备,本申请仅以数据传输的单向过程进行解释说明。
步骤S12:第一数据传输设备获取所述数据接收设备基于所述首帧返回的目标流控帧,然后判断所述目标流控帧与所述第一配置文件中记录的参考流控帧是否一致。
本实施例中,数据接收设备接收到由第一数据传输设备发送的首帧之后,则基于首帧向第一数据传输设备发送目标流控帧;第一数据传输设备获取目标流控帧,并判断目标流控帧与第一数据传输设备的第一配置文件中记录的参考流控帧是否一致。
步骤S13:第一数据传输设备若判定所述目标流控帧和所述参考流控帧不一致,则基于所述目标流控帧生成流控帧修正命令。
本实施例中,可以理解的是,基于首帧向第一数据传输设备返回目标流控帧可能因为实际业务的不同而和第一配置文件中记录的参考流控帧不同,因此第一数据传输设备若判定目标流控帧和参考流控帧不一致,则基于目标流控帧生成流控帧修正命令。
步骤S14:第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令对所述第二配置文件记录的所述参考流控帧进行修正。
本实施例中,将流控帧修正命令发送至第二数据传输设备,以便第二数据传输设备基于流控帧修正命令对第二配置文件记录的参考流控帧进行修正正,例如流控帧修正命令表示目标车辆的目标流控帧为30 08 00 00 00 00 00 00,第二配置文件记录的参考流控帧为30 08 01 00 00 00 00 00,则将第二配置文件记录的参考流控帧修正为30 08 0000 00 00 00 00。其中,参考流控帧为第二数据传输设备在接收到数据发送设备发送的首帧之后发送给数据发送设备的代回流控帧,从而获取到与首帧对应的连续帧。
步骤S15:第一数据传输设备获取所述第二数据传输设备基于所述第二配置文件的修正状态返回的确认帧,并基于所述确认帧修正所述第一配置文件记录的所述参考流控帧。
本实施例中,第二数据传输设备将第二配置文件修正后,基于修正状态生成确认帧,并发送至第一数据传输设备;当第一数据传输设备接收到确认帧后,基于确认帧修正第一配置文件记录的参考流控帧,例如参考流控帧为30 08 01 00 00 00 00 00,目标流控帧为30 08 00 00 00 00 00 00,则基于确认帧将30 08 01 00 00 00 00 00修正为30 08 0000 00 00 00 00。可以理解的是,第一数据传输设备的第一配置文件和第二数据传输设备的第二配置文件均为预设设置的,第一配置文件中记录的参考流控帧与第二配置文件中记录的参考流控帧一致,因此第一数据传输设备可以通过第一配置文件中的记录判断第二数据传输设备代回的参考流控帧是否与实际流控帧相同。当发现参考流控帧与实际流控帧不同时,发送修正命令让第二数据传输设备对第二配置文件进行修改,并在第二配置文件修正后对第一配置文件进行修正。
本申请中第一数据传输设备将目标数据的首帧发送至数据接收设备之后,获取数据接收设备基于首帧返回的目标流控帧,并判断目标流控帧和第一配置文件中记录的参考流控帧是否一致,若目标流控帧和参考流控帧不一致,基于目标流控帧生成流控帧修正命令,以便第二数据传输设备基于流控帧修正命令将第二配置文件中的参考流控帧修改为数据接收设备实际返回的目标流控帧,这样第二数据传输设备后续再获取数据发送设备发送的相同的首帧之后,会向数据发送设备返回正确的实际流控帧,从而避免时序问题发生,进而避免后续远程诊断因时序问题而出现诊断失败的情况。
参见图3所示,本申请实施例公开了一种具体的流控帧修正方法,包括:
步骤S21:第一数据传输设备在接收到所述数据发送设备通过第二数据传输设备发送的目标数据的首帧之后,将所述首帧发送至所述数据接收设备。
步骤S22:第一数据传输设备通过控制器局域网总线获取所述数据接收设备基于所述首帧返回的目标流控帧,然后判断所述目标流控帧与所述第一配置文件中记录的参考流控帧是否一致。
本实施例中,数据接收设备与第一数据传输设备的通讯方式为CAN(ControllerArea Network,即控制器局域网络)总线,数据发送设备与第二数据传输设备的通讯方式也为CAN总线,第一数据传输设备与第二数据传输设备之间通过云平台进行通信。
本实施例中,所述判断所述目标流控帧与所述第一配置文件中记录的参考流控帧是否一致,具体包括:解析所述目标流控帧,获取所述目标流控帧对应的CANID;查询所述第一配置文件中与所述CANID对应的参考流控帧;判断所述目标流控帧与所述参考流控帧是否一致。
本实施例中,在获取目标流控帧时,可以通过具有高性能和高可靠性的控制器局域网总线进行获取,相应的第一配置文件的控制器局域网总线的标识信息可以利用ISO15765协议。第一配置文件以及第二配置文件中预先记录了需要进行应答的CANID,以及该CANID对应的参考流控帧。第一数据传输设备在接收到数据接收设备返回的实际流控帧中,解析该实际流控帧,获取对应的CANID,根据该CANID从第一配置文件中找到对应的参考流控帧,并将实际流控帧和参考流控帧进行比对,判断两者是否相同。
步骤S23:第一数据传输设备若判定所述目标流控帧和所述参考流控帧不一致,则基于所述目标流控帧生成流控帧修正命令。
本实施例中,所述流控帧修正命令携带所述目标流控帧以及与所述目标流控帧对应的所述CANID。其中第一配置文件或第二配置文件中可以记录一组或多组参考流控帧,例如第一组的参考流控帧为30 08 00 00 00 00 00 00,与第一组的流控帧对应的CANID为0x05B7,第二组的参考流控帧为30 00 00 00 00 00 00 00,与第二组的流控帧对应的CANID为0x0637,第一配置文件或第二配置文件的格式可以为如下所示:
<CAN_LEN>2</CAN_LEN>
<CAN_C_ID>0x05B7</CAN_C_ID>
<CAN_C_FC>3008000000000000</CAN_C_FC>
<CAN_B_ID>0x0637</CAN_B_ID>
<CAN_B_FC>3000000000000000</CAN_B_FC>
以第一数据传输设备为例,第一配置文件中记录的参考流控帧的CANID为0x05B7,与之对应的参考流控帧为30 08 00 00 00 00 00 00,但是此时获取到的目标流控帧为3008 01 00 00 00 00 00,因此参考流控帧和目标流控帧不一致,则基于0x05B7和30 00 0000 00 00 00 00生成流控帧修正命令。
步骤S24:第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令将所述第二配置文件记录的所述参考流控帧修正为所述目标流控帧。
可以理解的是,例如流控帧修正命令中包含0x05B7和30 00 00 00 00 00 00 00,第二数据传输设备基于0x05B7和30 00 00 00 00 00 00 00对第二配置文件记录的参考流控帧修正进行修正。
步骤S25:第一数据传输设备获取所述第二数据传输设备基于所述第二配置文件的修正状态返回的确认帧,并基于所述确认帧将所述第一配置文件的记录的所述参考流控帧修正为所述目标流控帧。
本实施例中,当获取到第二数据传输设备基于第二配置文件的修正状态返回的确认帧后,将第一配置文件中参考流控帧的CANID修正为0x0637,进而使得第一配置文件中参考流控帧修正为30 00 00 00 00 00 00 00,保证了第一配置文件中参考流控帧与目标流控帧保持一致。
由此可见,本申请第一数据传输设备通过控制器局域网总线获取目标流控帧,并基于目标流控帧、与目标流控帧对应的CANID以及第一配置文件中记录的参考流控帧生成流控帧修正命令,以便第二数据传输设备将第二配置文件中参考流控帧修正为与目标流控帧一致,然后第一数据传输设备基于第二配置文件中参考流控帧的修正状态,将第一配置文件中记录的参考流控帧为与目标流控帧一致,进而使得第一数据传输设备代回流控帧与目标流控帧保持一致,降低时序问题几率,并减少诊断失败的情况发生。
参见图4所示,本申请实施例公开了一种流控帧修正方法,所述方法应用于数据传输系统中的第二数据传输设备,所述数据传输系统还包括数据发送设备、数据接收设备以及第二数据传输设备,其中,所述第一数据传输设备分别与所述数据发接收设备和所述第二数据传输设备连接,所述第二数据传输设备分别与所述第一数据传输设备和所述数据发送设备连接,所述第一数据传输设备中内置有第一配置文件,所述第二数据传输设备中内置有第二配置文件,所述方法包括:
步骤S31:第二数据传输设备接收由所述第一数据传输设备发送的流控帧修正命令。
本实施例中,第二数据传输设备接收由第一数据传输设备发送的流控帧修正命令之前,获取数据发送设备发送的目标数据的首帧,并将首帧传输至第一数据传输设备;第一数据传输设备将首帧传输至数据接收设备,然后第一数据传输设备获取数据接收设备基于首帧返回的目标流控帧,并在判定目标流控帧与第一配置文件中记录的参考流控帧不一致后,生成流控帧修正命令,将流控帧修正命令发送至第二数据传输设备,因此第二数据传输设备接收由第一数据传输设备发送的流控帧修正命令。
步骤S32:第二数据传输设备基于所述流控帧修正命令对所述第二配置文件进行修正,并基于所述第二配置文件的修正状态生成确认帧。
本实施例中,第二数据传输设备基于流控帧修正命令对第二配置文件进行修正,例如目标流控帧为30 08 00 00 00 00 00 00,而第二配置文件中记录的参考流控帧为3000 00 00 00 00 00 00,因此基于流控帧修正命令对第二配置文件中记录的参考流控帧修正为30 08 00 00 00 00 00 00,并基于第二配置文件的修正状态生成确认帧。
步骤S33:第二数据传输设备将所述确认帧发送至所述第一数据传输设备,以便所述第一数据传输设备基于所述确认帧对所述第一配置文件进行修正。
本实施例中,第二数据传输设备将用于表征第二配置文件中记录的参考流控帧已经修正为与目标流控帧一致的确认帧发送至第一数据传输设备,以便第一数据传输设备基于确认帧对第一配置文件进行修正。
由此可见,本申请中第二数据传输设备获取到流控帧修正命令后,基于流控帧修正命令对第二配置文件进行修正,并将基于第二配置文件的修正状态生成的确认帧发送至第一数据传输设备,以便第一数据传输设备基于确认帧对第一配置文件进行修正,使得第二配置文件中记录的参考流控帧和第一配置文件中记录的参考流控帧均与目标流控帧一致,降低时序问题几率,并减少诊断失败的情况发生。
参见图5所示,本申请实施例公开了一种流控帧修正装置,包括:
首帧发送模块11,用于第一数据传输设备在接收到所述数据发送设备通过第二数据传输设备发送的目标数据的首帧之后,将所述首帧发送至所述数据接收设备;
判断模块12,用于第一数据传输设备获取所述数据接收设备基于所述首帧返回的目标流控帧,然后判断所述目标流控帧与所述第一配置文件中记录的参考流控帧是否一致;
修正命令生成模块13,用于第一数据传输设备若判定所述目标流控帧和所述参考流控帧不一致,则基于所述目标流控帧生成流控帧修正命令;
修正命令发送模块14,用于第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令对所述第二配置文件记录的所述参考流控帧进行修正;
修正模块15,用于第一数据传输设备获取所述第二数据传输设备基于所述第二配置文件的修正状态返回的确认帧,并基于所述确认帧修正所述第一配置文件记录的所述参考流控帧。
可见,本申请基于代回流控的技术可以理解的是,第二数据传输设备的第二配置文件中记录的参考流控帧,可以替代数据接收设备的目标流控帧,即当第二数据传输设备接收到数据发送设备发送的目标数据的首帧时,将第二配置文件中记录的参考流控帧返回至数据发送设备,以便数据发送设备将连续帧发送至第二数据传输设备,以便第二数据传输设备将首帧和连续帧发送至第一数据传输设备,并由第一数据传输设备将首帧和连续帧发送至数据接收设备,因此参考流控帧与目标流控帧的一致性为数据传输过程中的重中之重,其中目标流控帧为数据接收设备的实际流控帧。
本申请中第一数据传输设备将目标数据的首帧发送至数据接收设备之后,获取数据接收设备基于首帧返回的目标流控帧,并判断目标流控帧和第一配置文件中记录的参考流控帧是否一致,若目标流控帧和参考流控帧不一致,基于目标流控帧生成流控帧修正命令,以便第二数据传输设备基于流控帧修正命令将第二配置文件中的参考流控帧修改为数据接收设备实际返回的目标流控帧,这样第二数据传输设备后续再获取数据发送设备发送的相同的首帧之后,会向数据发送设备返回正确的实际流控帧,从而避免时序问题发生,进而避免后续远程诊断因时序问题而出现诊断失败的情况。
在一些具体实施例中,所述判断模块12,包括:
目标流控帧获取单元,用于通过控制器局域网总线获取所述数据接收设备基于所述首帧返回的目标流控帧。
判断单元,用于解析所述目标流控帧,获取所述目标流控帧对应的CANID;查询所述第一配置文件中与所述CANID对应的参考流控帧;判断所述目标流控帧与所述参考流控帧是否一致。
在一些具体实施例中,所述修正命令发送模块14,包括:
修正命令发送单元,用于第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令将所述第二配置文件记录的所述参考流控帧修正为所述目标流控帧。
在一些具体实施例中,所述修正模块15,包括:
流控帧修正单元,用于基于所述确认帧将所述第一配置文件的记录的所述参考流控帧修正为所述目标流控帧。
图6为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由计算机设备执行的流控帧修正方法中的相关步骤。
本实施例中,电源23用于为计算机设备20上的各硬件设备提供工作电压;通信接口24能够为计算机设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制计算机设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由计算机设备20执行的流控帧修正方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括计算机设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由流控帧修正过程中执行的方法步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种流控帧修正方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种流控帧修正方法,其特征在于,所述方法应用于数据传输系统中的第一数据传输设备,所述数据传输系统还包括数据发送设备、数据接收设备以及第二数据传输设备,其中,所述第一数据传输设备分别与所述数据接收设备和所述第二数据传输设备连接,所述第二数据传输设备分别与所述第一数据传输设备和所述数据发送设备连接,所述第一数据传输设备中内置有第一配置文件,所述第二数据传输设备中内置有第二配置文件,所述方法包括:
第一数据传输设备在接收到所述数据发送设备通过第二数据传输设备发送的目标数据的首帧之后,将所述首帧发送至所述数据接收设备;
第一数据传输设备获取所述数据接收设备基于所述首帧返回的目标流控帧,然后判断所述目标流控帧与所述第一配置文件中记录的参考流控帧是否一致;
第一数据传输设备若判定所述目标流控帧和所述参考流控帧不一致,则基于所述目标流控帧生成流控帧修正命令;
第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令对所述第二配置文件记录的所述参考流控帧进行修正;
第一数据传输设备获取所述第二数据传输设备基于所述第二配置文件的修正状态返回的确认帧,并基于所述确认帧修正所述第一配置文件记录的所述参考流控帧。
2.根据权利要求1所述的流控帧修正方法,其特征在于,所述获取所述数据接收设备基于所述首帧返回的目标流控帧,包括:
通过控制器局域网总线获取所述数据接收设备基于所述首帧返回的目标流控帧。
3.根据权利要求2所述的流控帧修正方法,其特征在于,所述判断所述目标流控帧与所述第一配置文件中记录的参考流控帧是否一致,包括:
解析所述目标流控帧,获取所述目标流控帧对应的CANID;
查询所述第一配置文件中与所述CANID对应的参考流控帧;
判断所述目标流控帧与所述参考流控帧是否一致。
4.根据权利要求3所述的流控帧修正方法,其特征在于,所述流控帧修正命令携带所述目标流控帧以及与所述目标流控帧对应的所述CANID。
5.根据权利要求1所述的流控帧修正方法,其特征在于,所述第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令对所述第二配置文件记录的所述参考流控帧进行修正,包括:
第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令将所述第二配置文件记录的所述参考流控帧修正为所述目标流控帧。
6.根据权利要求1至5任一项所述的流控帧修正方法,其特征在于,所述基于所述确认帧修正所述第一配置文件记录的所述参考流控帧,包括:
基于所述确认帧将所述第一配置文件的记录的所述参考流控帧修正为所述目标流控帧。
7.一种流控帧修正方法,其特征在于,所述方法应用于数据传输系统中的第二数据传输设备,所述数据传输系统还包括数据发送设备、数据接收设备以及第二数据传输设备,其中,所述第一数据传输设备分别与所述数据发接收设备和所述第二数据传输设备连接,所述第二数据传输设备分别与所述第一数据传输设备和所述数据发送设备连接,所述第一数据传输设备中内置有第一配置文件,所述第二数据传输设备中内置有第二配置文件,所述方法包括:
第二数据传输设备接收由所述第一数据传输设备发送的流控帧修正命令;
第二数据传输设备基于所述流控帧修正命令对所述第二配置文件进行修正,并基于所述第二配置文件的修正状态生成确认帧;
第二数据传输设备将所述确认帧发送至所述第一数据传输设备,以便所述第一数据传输设备基于所述确认帧对所述第一配置文件进行修正。
8.一种流控帧修正装置,其特征在于,应用于数据传输系统中的第一数据传输设备,包括:
首帧发送模块,用于第一数据传输设备在接收到所述数据发送设备通过第二数据传输设备发送的目标数据的首帧之后,将所述首帧发送至所述数据接收设备;
判断模块,用于第一数据传输设备获取所述数据接收设备基于所述首帧返回的目标流控帧,然后判断所述目标流控帧与所述第一配置文件中记录的参考流控帧是否一致;
修正命令生成模块,用于第一数据传输设备若判定所述目标流控帧和所述参考流控帧不一致,则基于所述目标流控帧生成流控帧修正命令;
修正命令发送模块,用于第一数据传输设备将所述流控帧修正命令发送至所述第二数据传输设备,以便所述第二数据传输设备基于所述流控帧修正命令对所述第二配置文件记录的所述参考流控帧进行修正;
修正模块,用于第一数据传输设备获取所述第二数据传输设备基于所述第二配置文件的修正状态返回的确认帧,并基于所述确认帧修正所述第一配置文件记录的所述参考流控帧。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项或权利要求7所述的流控帧修正方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项或权利要求7所述的流控帧修正方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210450272.6A CN114827242B (zh) | 2022-04-24 | 2022-04-24 | 流控帧修正方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210450272.6A CN114827242B (zh) | 2022-04-24 | 2022-04-24 | 流控帧修正方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114827242A true CN114827242A (zh) | 2022-07-29 |
CN114827242B CN114827242B (zh) | 2023-10-20 |
Family
ID=82507832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210450272.6A Active CN114827242B (zh) | 2022-04-24 | 2022-04-24 | 流控帧修正方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114827242B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6618357B1 (en) * | 1998-11-05 | 2003-09-09 | International Business Machines Corporation | Queue management for networks employing pause time based flow control |
EP1694005A1 (en) * | 2005-02-18 | 2006-08-23 | Broadcom Corporation | Flexible packet modification engine for a network device |
CN101047615A (zh) * | 2006-05-14 | 2007-10-03 | 华为技术有限公司 | 一种以太网数据流量控制方法 |
US20140177455A1 (en) * | 2012-12-21 | 2014-06-26 | International Business Machines Corporation | Method and apparatus to monitor and analyze end to end flow control in an ethernet/enhanced ethernet environment |
DE102016208435A1 (de) * | 2015-05-29 | 2016-12-01 | Denso Corporation | Fahrzeuginternes Netzwerksystem |
CN106789493A (zh) * | 2016-11-16 | 2017-05-31 | 广州汽车集团股份有限公司 | 一种汽车软件刷新控制方法、系统及网关 |
CN111030905A (zh) * | 2019-12-05 | 2020-04-17 | 深圳前海达闼云端智能科技有限公司 | 网络传输方法及can总线网络、存储介质及电子设备 |
CN112039798A (zh) * | 2020-08-24 | 2020-12-04 | 苏州盛科科技有限公司 | 一种基于优先级流量控制的自协商方法及装置 |
CN112702411A (zh) * | 2020-12-21 | 2021-04-23 | 上汽大通汽车有限公司 | 一种解决cantp多帧丢包重传的方法 |
CN112959859A (zh) * | 2021-02-26 | 2021-06-15 | 深圳市元征科技股份有限公司 | 驾驶提醒方法、装置、电子设备和存储介质 |
WO2021143230A1 (zh) * | 2020-01-15 | 2021-07-22 | 初速度(苏州)科技有限公司 | 一种连续帧数据的标注系统、方法和装置 |
-
2022
- 2022-04-24 CN CN202210450272.6A patent/CN114827242B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6618357B1 (en) * | 1998-11-05 | 2003-09-09 | International Business Machines Corporation | Queue management for networks employing pause time based flow control |
EP1694005A1 (en) * | 2005-02-18 | 2006-08-23 | Broadcom Corporation | Flexible packet modification engine for a network device |
CN101047615A (zh) * | 2006-05-14 | 2007-10-03 | 华为技术有限公司 | 一种以太网数据流量控制方法 |
US20140177455A1 (en) * | 2012-12-21 | 2014-06-26 | International Business Machines Corporation | Method and apparatus to monitor and analyze end to end flow control in an ethernet/enhanced ethernet environment |
DE102016208435A1 (de) * | 2015-05-29 | 2016-12-01 | Denso Corporation | Fahrzeuginternes Netzwerksystem |
CN106789493A (zh) * | 2016-11-16 | 2017-05-31 | 广州汽车集团股份有限公司 | 一种汽车软件刷新控制方法、系统及网关 |
CN111030905A (zh) * | 2019-12-05 | 2020-04-17 | 深圳前海达闼云端智能科技有限公司 | 网络传输方法及can总线网络、存储介质及电子设备 |
WO2021143230A1 (zh) * | 2020-01-15 | 2021-07-22 | 初速度(苏州)科技有限公司 | 一种连续帧数据的标注系统、方法和装置 |
CN112039798A (zh) * | 2020-08-24 | 2020-12-04 | 苏州盛科科技有限公司 | 一种基于优先级流量控制的自协商方法及装置 |
CN112702411A (zh) * | 2020-12-21 | 2021-04-23 | 上汽大通汽车有限公司 | 一种解决cantp多帧丢包重传的方法 |
CN112959859A (zh) * | 2021-02-26 | 2021-06-15 | 深圳市元征科技股份有限公司 | 驾驶提醒方法、装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
张丹;: "CAN网络系统中单帧和长帧测试研究", 计算机产品与流通, no. 01 * |
Also Published As
Publication number | Publication date |
---|---|
CN114827242B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111683252B (zh) | 一种服务器以及一种视频压缩图像的输出系统和方法 | |
EP1110148A1 (en) | Fault tolerant computer system | |
WO2022213641A1 (zh) | 进程接替的方法、装置、电子设备及存储介质 | |
CN114879551A (zh) | 一种基于cpu硬隔离系统设计方法的智能座舱域控制器 | |
CN113612814B (zh) | 一种会话信息的筛选方法、装置、终端及存储介质 | |
CN111400263A (zh) | 一种基于文件变化的监控回切方法及装置 | |
CN113259273B (zh) | 交换机的控制方法、交换机、计算机设备和存储介质 | |
CN105141696A (zh) | 文件上传方法和装置 | |
CN114827242A (zh) | 流控帧修正方法、装置、设备及介质 | |
CN105245387A (zh) | 一种处理报文的方法及系统 | |
CN105406989A (zh) | 处理报文的方法、网卡及系统、更新信息的方法及主机 | |
US20030154288A1 (en) | Server-client system and data transfer method used in the same system | |
CN116089124A (zh) | 一种仿真系统通信方法、装置、介质 | |
CN109257403B (zh) | 数据存储方法及设备、分布式存储系统 | |
CN113472850B (zh) | 链路数据获取方法、装置、系统、电子设备和存储介质 | |
JP2003058435A (ja) | サービス制御アプリケーション実行方法及びシステム | |
CN112241279A (zh) | 一种自适应的电子控制单元软件升级方法、系统及汽车 | |
CN112448889B (zh) | 一种网关控制器路由配置方法、装置、设备及汽车 | |
CN103457959A (zh) | 一种配置设备的方法及系统 | |
CN114371940A (zh) | 终端远程调试方法、终端及计算机可读存储介质 | |
CN117348903A (zh) | 一种车辆微控制器的远程升级方法和系统 | |
CN110908963B (zh) | 一种机载显示控件库的df文件加载方法 | |
CN114338358B (zh) | 一种数据交互方法、设备、存储介质及plc | |
CN110011767B (zh) | 用于tcp连接备份的方法和装置 | |
US11431820B1 (en) | Method and system for implementing inter-process communications |
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 |