Data transmission method, system and equipment and data diagnosis system

By cached consecutive frames in the first data transmission device of the automotive diagnostic system and dynamically adjusting the transmission interval, the diagnostic timeout problem caused by network fluctuations is solved, and the user experience is improved.

CN119561924APending Publication Date: 2025-03-04LAUNCH TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411856155.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-16
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

In automotive diagnostics, too large frame intervals of continuous frames may lead to timeouts and diagnosis failures, especially in the case of network fluctuations. The prior art, when processing network fluctuations, may cause the data receiving device to receive two consecutive frames at a frame interval greater than 55 milliseconds, resulting in a timeout.

Method used

By cached consecutive frames in the first data transmission device, and dynamically adjusting the transmission interval according to the relationship between the number of consecutive frames currently cached and the number of consecutive frames that need to be cached. Specifically, when receiving the first frame, the total number of consecutive frames is cached and determined, and the continuous frames are received and cached, to determine whether the number of consecutive frames currently cached is less than the number that needs to be cached. If it is less, it is sent according to the preset low-speed transmission interval, and if it is not less, it is sent according to the actual transmission interval.

Benefits of technology

It effectively avoids diagnostic timeouts caused by network fluctuations, and does not affect the speed of the entire transmission process, improving user experience satisfaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119561924A_ABST
    Figure CN119561924A_ABST
Patent Text Reader

Abstract

The invention discloses a data transmission method, system and device and a data diagnosis system, and relates to the technical field of data transmission. A first data transmission device receives and caches a first frame and a continuous frame of target data sent by a data sending device through a second data transmission device; when the first continuous frame is received, the cached first frame is sent to the data receiving equipment; receiving an actual sending interval returned by the data receiving equipment after receiving the first frame; when the number of the continuous frames of the current cache is smaller than the number of the continuous frames needing to be cached, the continuous frames of the current cache are sent slowly; and when the number of the continuous frames of the current cache is not less than the number of the continuous frames needing to be cached, the continuous frames of the current cache are quickly sent. Visibly, by dynamically adjusting the speed of the first data transmission equipment for sending the continuous frames, the diagnosis timeout caused by network fluctuation is avoided, the speed of the whole transmission process is not affected, and the satisfaction degree of user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data transmission, and in particular to a data transmission method, system, device, and data diagnosis system. Background Art

[0002] Automotive diagnostics place high demands on latency, especially for the interframe interval between consecutive frames. Excessive interframe intervals (typically limited to 55 milliseconds) can lead to timeouts and diagnostic failures. However, in remote diagnostics, data is transmitted over a network, which is subject to network fluctuations. If fluctuations of even tens of milliseconds occur during the transmission of consecutive frames, diagnostic timeouts are likely to occur.

[0003] Currently, there are two existing methods for processing consecutive frames: one is that when a first data transmission device receives consecutive frames sent by a data sending device through a second data transmission device, the first data transmission device does not buffer the consecutive frames. Upon receiving the consecutive frames, the first data transmission device immediately sends the consecutive frames to the data receiving device as long as the sending conditions are met. However, if network fluctuations occur during the transmission of the consecutive frames sent by the data sending device through the second data transmission device by the first data transmission device, for example, fluctuations greater than 55 milliseconds, the interval between the first data transmission device sending consecutive frames to the data receiving device will also be greater than 55 milliseconds. That is, the frame interval between two adjacent consecutive frames received by the data receiving device is greater than 55 milliseconds, which will cause a timeout and further diagnostic failure. The other is that after the first data transmission device receives all the consecutive frames, it sends all the consecutive frames to the data receiving device only if the sending conditions are met. Although this method can solve the problem of timeout due to excessive frame intervals caused by network fluctuations, if the number of consecutive frames is large, it will cause the first data transmission device to take longer time to receive all the consecutive frames, affecting the user experience. Summary of the Invention

[0004] The purpose of this application is to provide a data transmission method, system, device, and data diagnostic system that can dynamically adjust the speed at which a first data transmission device sends consecutive frames, thereby avoiding diagnostic timeouts caused by network fluctuations without affecting the speed of the entire transmission process, thereby improving user experience satisfaction. The specific solution is as follows:

[0005] In a first aspect, the present application discloses a data transmission method, which is applied to a first data transmission device in a data diagnostic system, wherein the data diagnostic system further includes a data sending device, a data receiving device, and a second data transmission device, wherein the first data transmission device is connected to the data receiving device and the second data transmission device, respectively, and the second data transmission device is also connected to the data sending device. The data transmission method includes:

[0006] upon receiving a first frame of target data sent by the data sending device through the second data transmission device, buffering the first frame, and determining a total number of consecutive frames after the first frame based on the first frame;

[0007] Determining the number of consecutive frames that need to be cached, where the number of consecutive frames that need to be cached is less than the total number of consecutive frames;

[0008] receiving and buffering successive frames of the target data, and sending the buffered first frame to the data receiving device when the first successive frame is received;

[0009] receiving an actual sending interval returned by the data receiving device after receiving the first frame;

[0010] Determining whether the number of consecutive frames currently buffered is less than the number of consecutive frames that need to be buffered until the number of consecutive frames sent reaches the total number of consecutive frames;

[0011] If it is less than, sending the continuous frames currently buffered according to a preset low-speed sending interval;

[0012] If not less than, sending the continuous frames of the current buffer according to the actual sending interval;

[0013] The preset low-speed sending interval is greater than the actual sending interval and greater than the data sending interval of the data sending device.

[0014] Optionally, determine the number of consecutive frames to be cached, including:

[0015] Determine the current network transmission time;

[0016] The number of consecutive frames that need to be buffered is determined based on the network transmission time, and the network transmission time is positively correlated with the number of consecutive frames that need to be buffered.

[0017] Optionally, determining the number of consecutive frames to be buffered based on the network transmission time includes:

[0018] Calculate the sum of the base time and the current network transmission time;

[0019] The ratio of the sum to the preset low-speed sending interval is used as the number of continuous frames that currently need to be buffered, wherein the basic time is a basic value for calculating the number of buffered frames.

[0020] Optionally, determine the current network transmission time, including:

[0021] Determine the network transmission time of the current heartbeat cycle based on the time of the heartbeat frame currently sent to the second data transmission device and the time of the response frame replied by the second data transmission device;

[0022] Determine the average network transmission time of the current heartbeat cycle and the previous N-1 consecutive heartbeat cycles;

[0023] The average value is used as the current network transmission time, and N is an integer not less than 2.

[0024] Optionally, determining the total number of consecutive frames after the first frame based on the first frame includes:

[0025] Parsing the first frame to determine the byte length of the consecutive frames;

[0026] The ratio of the byte length to the byte length of a single continuous frame is taken as the total number of continuous frames after the first frame.

[0027] Optionally, before determining whether the number of consecutive frames currently cached is less than the number of consecutive frames that need to be cached, the method further includes:

[0028] Determining whether the number of consecutive frames currently buffered and the number of consecutive frames sent are equal to the total number of consecutive frames;

[0029] If they are equal, sending the continuous frames of the current buffer according to the actual sending interval;

[0030] If it is less, the process proceeds to the step of determining whether the number of the currently cached continuous frames is less than the number of the continuous frames that need to be cached.

[0031] Optionally, receiving an actual sending interval returned by the data receiving device after receiving the first frame includes:

[0032] receiving a flow control frame returned by the data receiving device after receiving the first frame;

[0033] Parsing the flow control frame to obtain the actual sending interval and the number of consecutive frames that can be continuously sent;

[0034] The data transmission method further includes:

[0035] receiving a new flow control frame sent by the data receiving device after receiving all consecutive frames corresponding to the previous flow control frame;

[0036] Parsing the new flow control frame to obtain a new actual sending interval and the number of consecutive frames that can be sent continuously;

[0037] Accordingly, sending the currently buffered continuous frames according to the preset low-speed sending interval includes:

[0038] sending the currently buffered continuous frames equal to the number of continuously transmittable continuous frames according to a preset low-speed sending interval;

[0039] Accordingly, sending the currently buffered continuous frames according to the actual sending interval includes:

[0040] The currently buffered continuous frames are sent according to the actual sending interval, which is the number of continuously transmittable continuous frames.

[0041] In a second aspect, the present application discloses a data transmission system, which is applied to a first data transmission device in the data transmission system. The data transmission system also includes a data sending device, a data receiving device, and a second data transmission device. The first data transmission device is connected to the data receiving device and the second data transmission device, respectively. The second data transmission device is also connected to the data sending device. The data transmission system includes:

[0042] a first determining module, configured to, upon receiving a first frame of target data sent by the data sending device through the second data transmission device, cache the first frame, and determine a total number of consecutive frames after the first frame based on the first frame;

[0043] A second determining module is configured to determine the number of consecutive frames that need to be cached, where the number of consecutive frames that need to be cached is less than the total number of consecutive frames;

[0044] a first sending module, configured to receive and buffer consecutive frames of the target data, and send the buffered first frame to the data receiving device upon receiving the first consecutive frame;

[0045] A first receiving module is configured to receive an actual sending interval returned by the data receiving device after receiving the first frame;

[0046] a judging module, configured to judge whether the number of the currently cached continuous frames is less than the number of the continuous frames that need to be cached until the number of the sent continuous frames reaches the total number of the continuous frames;

[0047] A second sending module is configured to send the currently cached continuous frames according to a preset low-speed sending interval if the number of the currently cached continuous frames is less than the number of the continuously cached frames that need to be cached;

[0048] The third sending module is configured to send the currently cached continuous frames according to the actual sending interval if the number of the currently cached continuous frames is not less than the number of the continuous frames that need to be cached.

[0049] In a third aspect, the present application discloses a data transmission device, comprising:

[0050] Memory, used to store computer programs;

[0051] The processor is configured to execute the computer program to implement the steps of the above-mentioned data transmission method.

[0052] In a fourth aspect, the present application discloses a data diagnostic system, including a data transmission device as described above, wherein the data transmission device is a first data transmission device, and the data diagnostic system also includes a data sending device, a data receiving device and a second data transmission device, wherein the first data transmission device is connected to the data receiving device and the second data transmission device respectively, and the second data transmission device is also connected to the data sending device.

[0053] The present application discloses a data transmission method, system, device and data diagnostic system, wherein, when a first data transmission device receives a first frame of target data sent by a data sending device through a second data transmission device, the first frame is cached, and the total number of consecutive frames after the first frame is determined based on the first frame; the number of consecutive frames that need to be cached is determined, and the number of consecutive frames that need to be cached is less than the total number of consecutive frames; consecutive frames of target data are received and cached, and the cached first frame is sent to a data receiving device when the first consecutive frame is received; the actual sending interval returned by the data receiving device after receiving the first frame is received; it is determined whether the number of consecutive frames currently cached is less than the number of consecutive frames that need to be cached until the number of consecutive frames sent reaches the total number of consecutive frames; if so, the currently cached consecutive frames are sent according to a preset low-speed sending interval; if not, the currently cached consecutive frames are sent according to the actual sending interval. It can be seen that the present application caches continuous frames and sends continuous frames to the data receiving device at different sending intervals based on the relationship between the sum of the number of continuous frames currently cached and the number of continuous frames sent to the data receiving device and the number of continuous frames currently cached and the number of continuous frames that need to be cached. It sends continuous frames quickly when the number of cached continuous frames meets the requirements, and sends them slowly when the number of cached continuous frames does not meet the requirements. It dynamically adjusts the speed at which the first data transmission device sends continuous frames, avoids diagnostic timeouts due to network fluctuations without affecting the speed of the entire transmission process, and improves user experience satisfaction. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the prior art and the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0055] Figure 1 This is a flow chart of a data transmission method disclosed in this application;

[0056] Figure 2A schematic diagram of the connection relationship of a data diagnosis system disclosed in this application;

[0057] Figure 3 This is a structural diagram of a data transmission system disclosed in this application;

[0058] Figure 4 This is a structural diagram of an electronic device disclosed in this application. DETAILED DESCRIPTION

[0059] The core of this application is to provide a data transmission method, system, device and data diagnosis system, which can dynamically adjust the speed of the first data transmission device to send continuous frames, avoid diagnosis timeouts due to network fluctuations without affecting the speed of the entire transmission process, and improve user experience satisfaction.

[0060] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0061] Currently, there are two existing methods for processing continuous frames: one is that when a first data transmission device receives continuous frames sent by a data sending device through a second data transmission device, the continuous frames are not cached, and when continuous frames are received, as long as the sending conditions are met, the continuous frames are immediately sent to the data receiving device. However, if network fluctuations occur during the transmission process of the continuous frames sent by the data sending device through the second data transmission device received by the first data transmission device, for example, fluctuations greater than 55 milliseconds, the interval between the first data transmission device sending continuous frames to the data receiving device will also be greater than 55 milliseconds, that is, the frame interval between two adjacent continuous frames received by the data receiving device is greater than 55 milliseconds, which will cause a timeout and further cause a diagnosis failure; the second is that the first data transmission device After all the continuous frames are received, all the continuous frames are sent to the data receiving device if the sending conditions are met. For example, the number of continuous frames is 100, and the frame interval of the continuous frames received by the first data transmission device from the data sending device through the second data transmission device is 250 microseconds. It will take 100*250 microseconds = 25 milliseconds to send them after receiving 100 continuous frames. The maximum number of continuous frames can reach 682 frames. If the number of continuous frames is 682, the data transmission process will take an extra 170 milliseconds, which is too time-consuming. Although this method can solve the problem of timeout due to excessive frame interval caused by network fluctuations, if the number of continuous frames is large, it will cause the first data transmission device to take longer communication time to receive all the continuous frames, affecting the user experience.

[0062] See also Figure 1 As shown, Figure 1 This is a flowchart of a data transmission method disclosed in this application.

[0063] The data transmission method is applied to a first data transmission device in a data diagnostic system. The data diagnostic system also includes a data sending device, a data receiving device, and a second data transmission device. The first data transmission device is connected to the data receiving device and the second data transmission device, respectively. The second data transmission device is also connected to the data sending device. The data transmission method includes:

[0064] S11. Upon receiving a first frame of target data sent by a data sending device through a second data transmission device, buffering the first frame, and determining a total number of consecutive frames after the first frame based on the first frame;

[0065] In this embodiment, the data diagnosis system includes a first data transmission device, a data sending device, a data receiving device, and a second data transmission device. The first data transmission device is connected to the data receiving device and the second data transmission device respectively, and the second data transmission device is also connected to the data sending device. Figure 2 As shown, Figure 2 A schematic diagram of the connection relationship of a data diagnostic system disclosed in the present application. In actual applications, the first data transmission device and the second data transmission device can be connectors, the data sending device can be a diagnostic device, the data receiving device can be a vehicle, and the network can be a cloud platform. Specifically, when the target data sent by the data sending device through the second data transmission device exceeds one frame, the data sending device will first send the first frame through the second data transmission device. In order to avoid network fluctuations between the first frame and the first continuous frame, which may cause the data receiving device to receive a frame interval between the first frame and the first continuous frame to be too large, thereby causing a timeout problem, when receiving the first frame of the target data sent by the data sending device through the second data transmission device, it is necessary to cache the first frame first. Since the first frame contains the byte length of the corresponding continuous frame, the total number of continuous frames after the first frame can be determined based on the byte length of the corresponding continuous frame contained in the first frame and the byte length of a single continuous frame.

[0066] S12. Determine the number of consecutive frames that need to be cached, where the number of consecutive frames that need to be cached is less than the total number of consecutive frames;

[0067] In this embodiment, in order to ensure that the frame interval between the first continuous frame and the adjacent continuous frames received by the data receiving end still meets the requirements when network fluctuations occur, it is necessary to increase the sending interval when the first data transmission device sends continuous frames to the data receiving device. At this time, the sending interval of the continuous frames sent by the data sending device to the first data transmission device through the second data transmission device is smaller than the sending interval when the first data transmission device sends continuous frames to the data receiving device. Within the same time, the number of continuous frames received by the first data transmission device is greater than the number of continuous frames sent to the data receiving device. The first data transmission device can cache a certain number of continuous frames. When a large network fluctuation occurs, even if the first data transmission device does not receive new continuous frames, because the first data transmission device has a certain number of continuous frames cached, the first data transmission device can continue to send the cached continuous frames to the data receiving device at the corresponding sending interval.

[0068] It should be noted that because there are frame intervals between consecutive frames of target data sent by the data sending device via the second data transmission device, if all consecutive frames are received before being sent, the data transmission time will increase. If the number of consecutive frames is large enough, the data transmission time will be even longer, which may cause a timeout and thus a diagnostic failure. In this embodiment, it is necessary to first determine the number of consecutive frames to be buffered, and the number of consecutive frames to be buffered must be less than the total number of consecutive frames. The number of consecutive frames to be buffered can be a fixed value set in advance, or it can be a value that varies according to network fluctuations.

[0069] S13, receiving and buffering consecutive frames of target data, and sending the buffered first frame to the data receiving device when the first consecutive frame is received;

[0070] S14, receiving the actual sending interval returned by the data receiving device after receiving the first frame;

[0071] In this embodiment, to ensure that the data receiving device can process all received data without overflow, the data receiving device can require the first data transmission device to wait a certain amount of time between sending each consecutive frame. By controlling the interval between the first data transmission device sending consecutive frames to the data receiving device, this prevents the first data transmission device from sending consecutive frames to the data receiving device too quickly, preventing the data receiving device from being able to process them in a timely manner and causing data loss or errors, thereby improving the overall efficiency and reliability of data transmission. Therefore, the data receiving device determines the interval and number of consecutive frames sent by the first data transmission device to the data receiving device. After receiving the first frame, the data receiving device returns the actual sending interval to the first data transmission device. This allows the first data transmission device to quickly send consecutive frames to the data receiving device in the absence of network fluctuations or when network fluctuations do not need to be considered, thereby improving data transmission efficiency. In practical applications, the actual sending interval can be the minimum time interval between frames, further improving data transmission efficiency.

[0072] Specifically, the first data transmission device receives and caches continuous frames of target data in real time, and sends the cached first frame to the data receiving device when receiving the first continuous frame, so that the data receiving device returns the actual sending interval and the number of continuous frames that can be sent continuously to the first data transmission device after receiving the first frame. Then, the first data transmission device can send the unsent continuous frames to the data receiving device according to the needs of the data receiving device until all the continuous frames are sent to the data receiving device, ensuring the reliability of data transmission, thereby improving the overall performance and stability of the communication system.

[0073] S15, determining whether the number of consecutive frames currently cached is less than the number of consecutive frames that need to be cached until the number of consecutive frames sent reaches the total number of consecutive frames, if the number of consecutive frames currently cached is less than the number of consecutive frames that need to be cached, proceeding to S16, otherwise, proceeding to S17;

[0074] S16, sending the currently buffered continuous frames according to the preset low-speed sending interval;

[0075] S17. Send the currently buffered continuous frames according to the actual sending interval.

[0076] In this embodiment, considering that network fluctuations may occur during the process of the first data transmission device receiving consecutive frames of target data sent by the data transmitting device via the second data transmission device, it is necessary to have the first data transmission device transmit consecutive frames to the data receiving device at a slow rate when network fluctuations occur during the process of the first data transmission device receiving consecutive frames of target data sent by the data transmitting device via the second data transmission device, so that the first data transmission device can buffer the consecutive frames. Even if the network fluctuation lasts for a long time, because the first data transmission device has buffered consecutive frames, the first data transmission device can continue to transmit consecutive frames at a slow rate to the data receiving device without causing a timeout and thus a diagnostic failure. It should be noted that the preset low-speed transmission interval can be 25 milliseconds.

[0077] Specifically, the first data transmission device needs to determine whether the number of consecutive frames currently cached by the first data transmission device is less than the number of consecutive frames required to be cached. If the number of consecutive frames currently cached is less than the number of consecutive frames required to be cached, this indicates that network fluctuations occurred when the first data transmission device received consecutive frames sent by the data sending device through the second data transmission device. For example, a fluctuation greater than 55 milliseconds occurred, which inevitably causes the interval between consecutive frames received by the data receiving device to be greater than 55 milliseconds. To avoid a timeout caused by excessive intervals between consecutive frames sent by the first data transmission device to the data receiving device, the first data transmission device is instructed to slowly send the currently cached consecutive frames to the data receiving device to ensure that the number of consecutive frames sent by the first data transmission device is less than the number of consecutive frames received. The first data transmission device can still continuously cache consecutive frames. If the number of consecutive frames currently cached is not less than the number of consecutive frames required to be cached, this indicates that no network fluctuations or minor network fluctuations occurred when the first data transmission device received consecutive frames sent by the data sending device through the second data transmission device. To improve data transmission efficiency, the first data transmission device is instructed to quickly send the currently cached consecutive frames to the data receiving device to reduce diagnosis time.

[0078] It can be seen that the present application caches continuous frames and sends continuous frames to the data receiving device at different sending intervals based on the relationship between the sum of the number of continuous frames currently cached and the number of continuous frames sent to the data receiving device and the number of continuous frames currently cached and the number of continuous frames that need to be cached. It sends continuous frames quickly when the number of cached continuous frames meets the requirements, and sends them slowly when the number of cached continuous frames does not meet the requirements. It dynamically adjusts the speed at which the first data transmission device sends continuous frames, avoids diagnostic timeouts due to network fluctuations without affecting the speed of the entire transmission process, and improves user experience satisfaction.

[0079] Based on the above embodiment:

[0080] As an optional embodiment, determining the number of consecutive frames that need to be buffered includes:

[0081] Determine the current network transmission time;

[0082] The number of consecutive frames that need to be buffered is determined based on the network transmission time. The network transmission time is positively correlated with the number of consecutive frames that need to be buffered.

[0083] In this embodiment, taking into account the instability of network fluctuations, in order to more accurately adjust the transmission interval of consecutive frames sent from the first data transmission device to the data receiving device, it is necessary to determine the number of consecutive frames that need to be cached based on the current network transmission time, so as to accurately judge the current data transmission process. Specifically, the network transmission time of the current data sending device sending target data to the first data transmission device via the second data transmission device is determined. Since the network transmission time is positively correlated with the number of consecutive frames that need to be cached, if the current network transmission time is too long, the first data transmission device will need to cache a greater number of consecutive frames; if the current network transmission time is too short, the first data transmission device will need to cache a relatively smaller number of consecutive frames. The first data transmission device can more accurately determine whether network fluctuations have occurred during the process of the current data sending device sending target data via the second data transmission device, so as to accurately adjust the transmission interval of consecutive frames sent from the first data transmission device to the data receiving device, thereby improving the transmission efficiency and reliability of data transmission.

[0084] It can be seen that this embodiment adjusts the number of continuous frames that need to be cached in real time through network transmission time, and makes a more accurate judgment on whether the number of continuous frames currently cached is less than the number of continuous frames that need to be cached based on the number of continuous frames that need to be cached, and accurately adjusts the sending interval of continuous frames sent by the first data transmission device to the data receiving device, thereby improving the transmission efficiency and reliability of data transmission.

[0085] As an optional embodiment, determining the number of consecutive frames that need to be buffered based on the network transmission time includes:

[0086] Calculate the sum of the base time and the current network transmission time;

[0087] The ratio of the sum to the preset low-speed sending interval is used as the number of continuous frames that need to be buffered at present, wherein the base time is the basic value for calculating the number of buffered frames.

[0088] In this embodiment, because the network transmission time is positively correlated with the number of continuous frames that need to be cached, and a certain amount of time is required to determine the number of continuous frames that need to be cached, the basic time for the system to calculate the number of continuous frames that need to be cached and the time of network fluctuations are comprehensively considered to calculate the basic time for the number of continuous frames that need to be cached and the total time of the current delay caused by network fluctuations. The ratio of the total time to the preset low-speed sending interval is used as the number of continuous frames that currently need to be cached, so as to dynamically adjust the number of continuous frames that need to be cached, thereby improving the efficiency and stability of data transmission. For example, if the base time for calculating the number of consecutive frames that need to be cached is 200 milliseconds, the preset low-speed transmission interval can be 25 milliseconds, the transmission interval for the data sending device to send consecutive frames to the second data transmission device is 250 microseconds, and the delay caused by network fluctuations is 50 milliseconds, then the number of consecutive frames that need to be cached is calculated to be (200 + 50) / 25 = 10. When the number of cached frames is less than 10, the first data transmission device sends consecutive frames to the data receiving device at a transmission interval of 25 milliseconds. The speed at which the first data transmission device receives consecutive frames is greater than the speed at which it sends consecutive frames. In this way, the first data transmission device can quickly cache 10 consecutive frames. At this time, if there is a network fluctuation, the cached consecutive frames can ensure that there will be no timeout within 250 milliseconds. Since the number of consecutive frames that need to be cached is 10, the maximum additional time consumption is 10 * 250 microseconds = 2.5 milliseconds, and this does not increase with the increase in the number of consecutive frames.

[0089] It can be seen that this embodiment dynamically adjusts the number of consecutive frames that need to be buffered according to changes in network fluctuations, which can better adapt to different data transmission environments, thereby improving the efficiency and stability of data transmission.

[0090] As an optional embodiment, determining the current network transmission time includes:

[0091] Determine the network transmission time of the current heartbeat cycle based on the time of the heartbeat frame currently sent to the second data transmission device and the time of the response frame replied by the second data transmission device;

[0092] Determine the average network transmission time of the current heartbeat cycle and the previous N-1 consecutive heartbeat cycles;

[0093] The average value is used as the current network transmission time, where N is an integer not less than 2.

[0094] In this embodiment, in the process of determining the network transmission time, the first data transmission device will send a heartbeat frame to the second data transmission device at a fixed time interval and record the time of sending. After receiving the heartbeat frame, the second data transmission device will immediately reply with a response frame and record the time of receiving. The difference between the two times is the network transmission time, that is, the network transmission time of the current heartbeat cycle. Similarly, the second data transmission device will also send a heartbeat frame to the first data transmission device, wait for the response frame, and calculate the network transmission time based on the difference between the two times. Taking into account the errors caused by burst signals such as wireless signal interference, this embodiment uses the average value of the network transmission time of N heartbeat cycles as the current network transmission time, where N is an integer not less than 2, to avoid the impact of the network transmission time of one heartbeat cycle being too large / too small on the current network transmission time, thereby improving the reliability of data transmission.

[0095] It can be seen that this embodiment uses the average value of the network transmission time of N heartbeat cycles as the current network transmission time, thereby smoothing the impact of network fluctuations, reducing errors, and improving the reliability of data transmission.

[0096] As an optional embodiment, determining the total number of consecutive frames after the first frame based on the first frame includes:

[0097] Parse the first frame to determine the byte length of the consecutive frames;

[0098] The ratio of the byte length to the byte length of a single consecutive frame is taken as the total number of consecutive frames after the first frame.

[0099] In this embodiment, in order to ensure that the data receiving device can receive all continuous frames corresponding to the first frame and ensure the reliability of data transmission, it is necessary to determine the total number of continuous frames in advance. The byte length of the continuous frames can be obtained by parsing the first frame. The total number of continuous frames after the first frame can be determined by using the ratio of the byte length of the continuous frame to the byte length of a single continuous frame. The subsequent first data transmission device needs to receive all continuous frames to avoid data loss.

[0100] It can be seen that in this embodiment, the total number of consecutive frames is determined according to the byte lengths of the consecutive frames, so that the first data transmission device needs to receive all consecutive frames to ensure the integrity and accuracy of data transmission.

[0101] As an optional embodiment, before determining whether the number of consecutive frames currently buffered is less than the number of consecutive frames that need to be buffered, the method further includes:

[0102] Determine whether the number of consecutive frames currently buffered and the number of consecutive frames sent are equal to the total number of consecutive frames;

[0103] If they are equal, the currently buffered continuous frames are sent according to the actual sending interval;

[0104] If it is less, the process proceeds to the step of determining whether the number of consecutive frames currently cached is less than the number of consecutive frames that need to be cached.

[0105] In this embodiment, in order to further improve the transmission efficiency of the data transmission process, the first data transmission device needs to determine whether the number of continuous frames currently cached and the number of continuous frames sent are equal to the total number of continuous frames before determining whether the number of continuous frames currently cached is less than the number of continuous frames that need to be cached. If the number of continuous frames currently cached and the number of continuous frames sent are equal to the total number of continuous frames, it indicates that the continuous frames corresponding to the first frame have been received, and there is no need to consider whether there is a network fluctuation problem in the transmission process of subsequent data. The continuous frames currently cached by the first data transmission device are quickly sent to the data receiving device according to the actual sending interval; if the number of continuous frames currently cached and the number of continuous frames sent are less than the total number of continuous frames, it indicates that the continuous frames corresponding to the first frame have not been received, and it will There are continuous frames sent from the data sending device to the first data transmission device via the second data transmission device. Considering that there may be network fluctuations in the transmission process of the continuous frames, it is necessary to increase the interval at which the first data transmission device sends continuous frames to the data receiving device when the number of continuous frames cached by the first data transmission device is less than the number of continuous frames that need to be cached, so that the first data transmission device can quickly cache the number of continuous frames that need to be cached. If a large network delay occurs, the first data transmission device can slowly send the currently cached continuous frames to the data receiving device to ensure the continuity of data transmission; when the number of continuous frames cached by the first data transmission device is not less than the number of continuous frames that need to be cached, the interval at which the first data transmission device sends continuous frames to the data receiving device is reduced, thereby improving the efficiency of data transmission.

[0106] It can be seen that, before determining whether the number of consecutive frames currently cached is less than the number of consecutive frames that need to be cached, this embodiment first determines whether the number of consecutive frames currently cached and the number of consecutive frames that have been sent are equal to the total number of consecutive frames. If the consecutive frames have been collected, there is no need to consider whether network fluctuations will occur in subsequent data, and the currently cached continuous frames are directly sent quickly. If the consecutive frames have not been collected, they are sent to the data receiving device at the corresponding sending interval as required, further improving the efficiency of data transmission.

[0107] As an optional embodiment, the actual sending interval returned by the receiving data receiving device after receiving the first frame includes:

[0108] Receive the flow control frame returned by the data receiving device after receiving the first frame;

[0109] Parse the flow control frame to obtain the actual sending interval and the number of consecutive frames that can be sent continuously;

[0110] The data transmission method also includes:

[0111] receiving a new flow control frame sent by a data receiving device after receiving all consecutive frames corresponding to a previous flow control frame;

[0112] Parse the new flow control frame to obtain the new actual sending interval and the number of consecutive frames that can be sent continuously;

[0113] Accordingly, the currently buffered continuous frames are sent according to the preset low-speed sending interval, including:

[0114] Sending the number of consecutive frames currently buffered that can be sent continuously according to a preset low-speed sending interval;

[0115] Accordingly, the currently buffered continuous frames are sent according to the actual sending interval, including:

[0116] The number of consecutive frames that can be sent continuously is sent according to the actual sending interval, and the currently buffered consecutive frames.

[0117] In this embodiment, to ensure that the data receiving device can process all received data without overflow, the data receiving device may require the first data transmission device to wait a certain amount of time between sending the first frame / continuous frames and subsequent frames. By controlling the interval at which the first data transmission device sends consecutive frames to the data receiving device, this prevents the first data transmission device from sending consecutive frames to the data receiving device too quickly, preventing the data receiving device from being able to process them in a timely manner and causing data loss or errors, thereby improving the overall efficiency and reliability of data transmission. Therefore, after receiving the first frame, the data receiving device returns a flow control frame to the first data transmission device. The first data transmission device parses the flow control frame to obtain the actual transmission interval and the number of consecutive frames that can be continuously transmitted, and then transmits the buffered consecutive frames at the actual transmission interval and the number of consecutive frames that can be continuously transmitted.

[0118] It should be noted that the second data transmission device can send flow control frames to the data sending device instead of the data receiving device, so the first data transmission device can also receive consecutive frames even if it does not send the first frame.

[0119] Furthermore, after receiving the flow control frame for the number of continuously transmittable continuous frames, the data receiving device returns a new flow control frame to the first data transmission device. The first data transmission device parses the new flow control frame again to obtain a new actual sending interval and a new number of continuously transmittable continuous frames, and transmits the currently cached continuous frames at the new actual sending interval and the new number of continuously transmittable continuous frames. Since there are two size relationships between the number of currently cached continuous frames and the number of continuously transmittable continuous frames to be cached, the currently cached continuous frames corresponding to the number of continuously transmittable continuous frames are transmitted at two corresponding sending intervals.

[0120] In a specific embodiment, if the number of continuous frames currently cached is less than the number of continuous frames that need to be cached, it indicates that the network fluctuation is too large at this time, and the number of continuous frames currently cached is relatively small. The number of continuous frames sent by the first data transmission device needs to be less than the number of continuous frames received to ensure the continuity of data transmission. Therefore, the currently cached continuous frames are sent according to the preset low-speed sending interval.

[0121] In another specific embodiment, if the number of continuous frames currently cached is not less than the number of continuous frames that need to be cached, it indicates that there is no network fluctuation / the network fluctuation is small at this time, and the number of continuous frames currently cached is relatively large. It is necessary for the first data transmission device to send continuous frames quickly to improve transmission efficiency, so the currently cached continuous frames are sent according to the actual sending interval at this time.

[0122] It can be seen that in this embodiment, after receiving data, the data receiving device returns a flow control frame to the first data transmission device, and determines how to receive consecutive frames based on the data receiving device's own needs to avoid data errors or losses, thereby ensuring the integrity and efficiency of data transmission.

[0123] The present application also provides a data diagnostic system, including the above-mentioned data transmission device, the data transmission device is a first data transmission device, and the data diagnostic system also includes a data sending device, a data receiving device and a second data transmission device, the first data transmission device is connected to the data receiving device and the second data transmission device respectively, and the second data transmission device is also connected to the data sending device.

[0124] In this embodiment, the data diagnostic system includes a first data transmission device, a data sending device, a data receiving device, and a second data transmission device. The first data transmission device is connected to the data receiving device and the second data transmission device, respectively, and the second data transmission device is also connected to the data sending device. The data sending device sends data to the first data transmission device via the second data transmission device. The first data transmission device dynamically adjusts the data transmission interval to the data receiving device when the transmission requirements are met, thereby reducing the impact of network fluctuations on data transmission and improving the reliability of data diagnosis.

[0125] For example, if the first data transmission device is a B-end connector, the second data transmission device is a C-end connector, the data sending device is a diagnostic device, the data receiving device is a vehicle, and the network is a cloud platform, when performing data diagnosis, the C-end connector interacts with the vehicle via the CAN bus, collects vehicle data, and transparently transmits the data to the B-end connector via the network. The B-end connector interacts with the diagnostic device via the CAN bus, converts the transparent data received from the network into CAN bus data, and sends it to the diagnostic device. At the same time, the B-end connector will also transparently transmit the data sent by the diagnostic device to the C-end connector via the network, and the C-end connector will then convert the transparent data into CAN bus data and send it to the vehicle, thus achieving remote diagnosis.

[0126] In addition, for an introduction to a data diagnosis system provided by this application, please refer to the embodiment of the above-mentioned data transmission method, and this application will not go into details here.

[0127] It can be seen that the data diagnosis system of the present application caches continuous frames, and sends continuous frames to the data receiving device at different sending intervals based on the relationship between the sum of the number of continuous frames currently cached and the number of continuous frames sent to the data receiving device and the number of continuous frames currently cached and the number of continuous frames that need to be cached. It sends continuous frames quickly when the number of cached continuous frames meets the requirements, and sends them slowly when the number of cached continuous frames does not meet the requirements. It dynamically adjusts the speed at which the first data transmission device sends continuous frames, avoids diagnosis timeouts due to network fluctuations without affecting the speed of the entire transmission process, and improves user experience satisfaction.

[0128] Accordingly, see Figure 3 As shown, Figure 3 This is a structural diagram of a data transmission system disclosed in the present application. This embodiment of the present application also provides a data transmission system, which is applied to a first data transmission device in the data transmission system. The data transmission system also includes a data sending device, a data receiving device, and a second data transmission device. The first data transmission device is connected to the data receiving device and the second data transmission device, respectively. The second data transmission device is also connected to the data sending device. The data transmission system includes:

[0129] a first determining module 31 configured to, upon receiving a first frame of target data sent by the data sending device through the second data transmission device, cache the first frame and determine, based on the first frame, a total number of consecutive frames following the first frame;

[0130] A second determining module 32 is configured to determine the number of consecutive frames that need to be cached, where the number of consecutive frames that need to be cached is less than the total number of consecutive frames;

[0131] A first sending module 33 is configured to receive and buffer consecutive frames of the target data, and send the buffered first frame to the data receiving device upon receiving the first consecutive frame;

[0132] The receiving module 34 is configured to receive the actual sending interval returned by the data receiving device after receiving the first frame;

[0133] A judging module 35 is configured to judge whether the number of the currently cached continuous frames is less than the number of the continuous frames that need to be cached until the number of the sent continuous frames reaches the total number of the continuous frames;

[0134] A second sending module 36 is configured to send the currently cached continuous frames according to a preset low-speed sending interval if the number of the currently cached continuous frames is less than the number of the continuously cached frames that need to be cached;

[0135] The third sending module 37 is configured to send the currently buffered continuous frames according to the actual sending interval if the number of the currently buffered continuous frames is not less than the number of the continuously buffered frames that need to be buffered.

[0136] It can be seen that the present application caches continuous frames and sends continuous frames to the data receiving device at different sending intervals based on the relationship between the sum of the number of continuous frames currently cached and the number of continuous frames sent to the data receiving device and the number of continuous frames currently cached and the number of continuous frames that need to be cached. It sends continuous frames quickly when the number of cached continuous frames meets the requirements, and sends them slowly when the number of cached continuous frames does not meet the requirements. It dynamically adjusts the speed at which the first data transmission device sends continuous frames, avoids diagnostic timeouts due to network fluctuations without affecting the speed of the entire transmission process, and improves user experience satisfaction.

[0137] In some specific implementations, the second determining module 32 includes:

[0138] A first determining unit, configured to determine a current network transmission time;

[0139] The second determining unit is configured to determine the number of consecutive frames that need to be cached based on the network transmission time, where the network transmission time is positively correlated with the number of consecutive frames that need to be cached.

[0140] In some specific implementations, the second determining unit includes:

[0141] A calculation unit, used to calculate the sum of the basic time and the current network transmission time;

[0142] The quantity determining unit is configured to use the ratio of the sum to the preset low-speed sending interval as the number of continuous frames currently required to be cached, wherein the basic time is a basic value for calculating the number of cached frames.

[0143] In some specific implementations, the first determining unit includes:

[0144] a third determining unit, configured to determine the network transmission time of the current heartbeat cycle based on the time of the heartbeat frame currently sent to the second data transmission device and the time of the response frame replied by the second data transmission device;

[0145] a fourth determining unit, configured to determine an average of network transmission times of a current heartbeat cycle and the previous N-1 consecutive heartbeat cycles;

[0146] The network transmission time determining unit is configured to use the average value as the current network transmission time, where N is an integer not less than 2.

[0147] In some specific implementations, the first determining module 31 includes:

[0148] A first parsing unit, configured to parse the first frame to determine the byte length of the consecutive frames;

[0149] The total number determining unit is configured to use the ratio of the byte length to the byte length of a single continuous frame as the total number of continuous frames following the first frame.

[0150] In some specific embodiments, the data transmission system further includes:

[0151] a judging unit, configured to judge whether the number of consecutive frames currently buffered and the number of consecutive frames sent are equal to the total number of consecutive frames;

[0152] a first sending unit, configured to send the currently buffered continuous frames according to the actual sending interval if the number of the currently buffered continuous frames and the number of the sent continuous frames are equal to the total number of the continuous frames;

[0153] The second sending unit is configured to enter the step of determining whether the number of currently cached continuous frames is less than the number of continuous frames to be cached if the number of currently cached continuous frames and the number of sent continuous frames are less than the total number of continuous frames.

[0154] In some specific implementations, the determination module 35 includes:

[0155] A first receiving unit is configured to receive a flow control frame returned by the data receiving device after receiving the first frame;

[0156] a second parsing unit, configured to parse the flow control frame to obtain the actual sending interval and the number of consecutive frames that can be continuously sent;

[0157] The data transmission system further includes:

[0158] A second receiving unit is configured to receive a new flow control frame sent by the data receiving device after receiving all consecutive frames corresponding to the previous flow control frame;

[0159] a third parsing unit, configured to parse the new flow control frame to obtain a new actual sending interval and a number of consecutive frames that can be continuously sent;

[0160] Accordingly, the second sending module 36 includes:

[0161] a third sending unit, configured to send, according to a preset low-speed sending interval, the number of the consecutive frames that can be continuously sent, the currently buffered consecutive frames;

[0162] Accordingly, the third sending module 37 includes:

[0163] The fourth sending unit is configured to send the currently buffered continuous frames equal to the number of continuously transmittable continuous frames according to the actual sending interval.

[0164] Furthermore, the embodiment of the present application also discloses an electronic device, Figure 4 This is a structural diagram of an electronic device disclosed in this application. The content in the diagram should not be considered as any limitation on the scope of use of this application. The electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the data transmission method disclosed in any of the aforementioned embodiments. In addition, the electronic device 20 in this embodiment may specifically be an electronic computer.

[0165] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and the external device. The communication protocol it follows is any communication protocol that can be applied to the technical solution of this application and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world. Its specific interface type can be selected according to specific application needs and is not specifically limited here.

[0166] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or CD, etc. The resources stored thereon can include an operating system 221, a computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0167] The operating system 221 is used to manage and control the hardware devices on the electronic device 20 and the computer program 222, and can be Windows, Server, Netware, Unix, Linux, etc. In addition to including computer programs that can be used to implement the data transmission method performed by the electronic device 20 disclosed in any of the aforementioned embodiments, the computer program 222 can further include computer programs that can be used to perform other specific tasks.

[0168] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Reference can be made to the common and similar parts between the various embodiments. For the devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the method description.

[0169] It should also be noted that, in this specification, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus comprising the element.

[0170] The above description of the disclosed embodiments is intended to enable one skilled in the art to implement or use the present application. Various modifications to these embodiments will be readily apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application is not limited to the embodiments shown herein, but is intended to conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A data transmission method, characterized in that: A first data transmission device applied to a data diagnosis system, the data diagnosis system further comprising a data sending device, a data receiving device and a second data transmission device, the first data transmission device being connected to the data receiving device and the second data transmission device respectively, the second data transmission device being further connected to the data sending device, the data transmission method comprising: When receiving a first frame of target data sent by the data sending device through the second data transmission device, buffering the first frame, and determining a total number of consecutive frames after the first frame based on the first frame; Determine the number of consecutive frames that need to be cached, where the number of consecutive frames that need to be cached is less than the total number of consecutive frames; receiving and buffering consecutive frames of the target data, and sending the buffered first frame to the data receiving device when receiving the first consecutive frame; Receiving an actual sending interval returned by the data receiving device after receiving the first frame; Determine whether the number of the continuous frames currently cached is less than the number of the continuous frames that need to be cached until the number of the continuous frames that have been sent reaches the total number of the continuous frames; If it is less than, sending the continuous frames currently buffered according to a preset low-speed sending interval; If not less than, sending the continuous frames of the current buffer according to the actual sending interval; The preset low-speed sending interval is greater than the actual sending interval, and greater than the data sending interval of the data sending device.

2. The data transmission method according to claim 1, characterized in that: Determine the number of consecutive frames to cache, including: Determine the current network transmission time; The number of consecutive frames that need to be buffered is determined based on the network transmission time, and the network transmission time is positively correlated with the number of consecutive frames that need to be buffered.

3. The data transmission method according to claim 2, characterized in that: Determining the number of consecutive frames that need to be buffered based on the network transmission time includes: Calculate the sum of the base time and the current network transmission time; The ratio of the sum to the preset low-speed sending interval is used as the number of continuous frames that currently need to be cached, wherein the basic time is a basic value for calculating the number of cached frames.

4. The data transmission method according to claim 2, characterized in that: Determine the current network transmission time, including: Determine the network transmission time of the current heartbeat cycle based on the time of the heartbeat frame currently sent to the second data transmission device and the time of the response frame replied by the second data transmission device; Determine the average network transmission time of the current heartbeat cycle and the previous N-1 consecutive heartbeat cycles; The average value is taken as the current network transmission time, and N is an integer not less than 2.

5. The data transmission method according to claim 1, characterized in that: Determining the total number of consecutive frames after the first frame based on the first frame includes: Parsing the first frame to determine the byte length of the consecutive frames; The ratio of the byte length to the byte length of a single continuous frame is taken as the total number of continuous frames after the first frame.

6. The data transmission method according to claim 1, characterized in that: Before determining whether the number of the continuous frames currently cached is less than the number of the continuous frames that need to be cached, the method further includes: Determine whether the number of consecutive frames currently buffered and the number of consecutive frames sent are equal to the total number of consecutive frames; If they are equal, sending the continuous frames of the current buffer according to the actual sending interval; If it is less, the process proceeds to the step of determining whether the number of the currently cached continuous frames is less than the number of the continuous frames that need to be cached.

7. The data transmission method according to any one of claims 1 to 6, characterized in that: Receiving the actual sending interval returned by the data receiving device after receiving the first frame, comprising: Receiving a flow control frame returned by the data receiving device after receiving the first frame; Parsing the flow control frame to obtain the actual sending interval and the number of consecutive frames that can be sent continuously; The data transmission method further comprises: Receiving a new flow control frame sent by the data receiving device after receiving all consecutive frames corresponding to the previous flow control frame; Parsing the new flow control frame to obtain a new actual sending interval and the number of consecutive frames that can be sent continuously; Accordingly, sending the currently cached continuous frames according to the preset low-speed sending interval includes: Sending the number of the consecutive frames that can be continuously sent according to a preset low-speed sending interval, the consecutive frames currently buffered; Accordingly, sending the currently cached continuous frames according to the actual sending interval includes: The number of the currently buffered continuous frames that is the number of the continuously transmittable continuous frames is sent according to the actual sending interval.

8. A data transmission system, characterized in that: A first data transmission device applied to a data transmission system, the data transmission system further comprising a data sending device, a data receiving device and a second data transmission device, the first data transmission device being connected to the data receiving device and the second data transmission device respectively, the second data transmission device being further connected to the data sending device, the data transmission system comprising: A first determination module is used to cache the first frame when receiving the first frame of the target data sent by the data sending device through the second data transmission device, and determine the total number of consecutive frames after the first frame based on the first frame; A second determining module, used to determine the number of consecutive frames that need to be cached, wherein the number of consecutive frames that need to be cached is less than the total number of consecutive frames; A first sending module, configured to receive and cache consecutive frames of the target data, and to send the cached first frame to the data receiving device when the first consecutive frame is received; A first receiving module, used for receiving an actual sending interval returned by the data receiving device after receiving the first frame; A judging module, used for judging whether the number of the continuous frames currently cached is less than the number of the continuous frames to be cached until the number of the continuous frames sent reaches the total number of the continuous frames; A second sending module, configured to send the currently cached continuous frames at a preset low-speed sending interval if the number of the currently cached continuous frames is less than the number of the continuously cached frames that need to be cached; The third sending module is used to send the currently cached continuous frames according to the actual sending interval if the number of the currently cached continuous frames is not less than the number of the continuous frames that need to be cached.

9. A data transmission device, characterized in that: include: Memory, used to store computer programs; A processor, configured to execute the computer program to implement the steps of the data transmission method according to any one of claims 1 to 7.

10. A data diagnostic system, comprising the data transmission device as described in claim 9, wherein the data transmission device is a first data transmission device, and the data diagnostic system also includes a data sending device, a data receiving device and a second data transmission device, wherein the first data transmission device is connected to the data receiving device and the second data transmission device respectively, and the second data transmission device is also connected to the data sending device.