Segmented data transmission methods, devices, storage media, vehicle infotainment systems, and vehicles

CN122317162APending Publication Date: 2026-06-30SHANGHAI WINGTECH INFORMATION TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHANGHAI WINGTECH INFORMATION TECH CO LTD
Filing Date
2026-03-30
Publication Date
2026-06-30

Smart Images

  • Figure CN122317162A_ABST
    Figure CN122317162A_ABST
Patent Text Reader

Abstract

This application relates to a method, apparatus, storage medium, vehicle infotainment system, and vehicle for segmented data transmission. The method includes: acquiring load information on a communication line and calculating a load value; adjusting the segment size according to the load value; dividing the data to be transmitted into multiple segments according to the segment size and organizing them into multiple transmission windows; and continuously transmitting multiple segmented data within a single transmission window. This method can adapt to different bus load scenarios and improve the reliability and efficiency of remote vehicle upgrades.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data transmission technology, and in particular to a method, apparatus, storage medium, vehicle system, and vehicle for segmented data transmission. Background Technology

[0002] With the rapid development of smart terminal technology, the number and functions of electronic control units in various terminal systems are constantly increasing. Remote online upgrade technology has become one of the core technologies of smart terminals because it can achieve firmware updates, function iterations, and fault repairs without requiring equipment to be returned to the factory. This technology sends upgrade data to the system through a cloud server, and then the system transmits the data to each electronic control unit to complete the firmware upgrade. It features convenience, efficiency, and low cost.

[0003] In traditional technologies, due to the limited effective payload of a single frame on the controller area network bus, a fixed fragmentation protocol is required to split the upgrade data before transmission. Typically, the upgrade data is fragmented according to a preset fixed length, and data transmission is completed through the sequential transmission of the first frame and subsequent frames, as well as a frame-by-frame confirmation mechanism.

[0004] However, current traditional fragmentation transmission methods have significant drawbacks: the fragment size is fixed, making it unsuitable for different bus load scenarios. This can easily lead to transmission congestion under high bus load and fail to fully utilize bandwidth under low load. Furthermore, it consumes considerable transmission resources, making it difficult to meet the reliability and efficiency requirements of transmitting large upgrade packages. Summary of the Invention

[0005] Based on this, several embodiments of a segmented data transmission method, apparatus, storage medium, vehicle system, and vehicle are provided. At least one embodiment can solve the technical problems in the related art that cannot adapt to different bus load scenarios and cannot meet the requirements of data transmission reliability and efficiency.

[0006] In a first aspect, this application provides a method for fragmented data transmission, the method comprising:

[0007] Obtain load information on the communication line and calculate the load value;

[0008] Adjust the fragment size based on the load value;

[0009] The data to be transmitted is divided into multiple fragments according to the fragment size, and organized into multiple transmission windows. Multiple fragments of data are continuously sent within a single transmission window.

[0010] In some embodiments of the method, adjusting the fragment size based on the load value includes:

[0011] Predetermine n load value ranges and n slice sizes corresponding to the load value ranges;

[0012] Select the corresponding shard size based on the load value range into which the load value falls.

[0013] In some embodiments of the method, the method further includes:

[0014] Receive the returned bitmap, which represents the reception status of each fragment within the transmission window;

[0015] Based on the reception state represented by the bitmap, execute at least one of the following transmission strategies:

[0016] Identify missing fragments;

[0017] Resend the missing fragment;

[0018] When retransmitting a missing fragment, increase the transmission priority of the missing fragment.

[0019] In some embodiments of the method, the method further includes:

[0020] When a trigger condition is detected, switch to protection mode;

[0021] The triggering conditions include at least one of the following:

[0022] The calculated load value exceeds the preset load threshold;

[0023] The target information value in the load information exceeds the preset benchmark threshold;

[0024] The target state obtained based on the load information is under the set control scenario.

[0025] In some embodiments of the method, the protection mode includes implementing corresponding protection strategies based on different triggering conditions:

[0026] If the obtained load value exceeds a preset load threshold, the protection mode is configured to reduce the transmission bandwidth or shorten the fragment size;

[0027] If the target information value in the load information exceeds a preset baseline threshold, the protection mode is configured to shorten the fragment size or suspend upgrade data transmission.

[0028] When the target state obtained based on the load information is in a set control scenario, the protection mode is configured to prioritize the allocation of bus transmission resources to the vehicle's high-priority control frames or suspend upgrade data transmission.

[0029] In some embodiments of the method, the load information includes at least one of the following: busy duration of communication line data transmission, total number of frames, number of arbitration failures, number of communication line data transmission errors, number of high-priority frames, and percentage of high-priority frames.

[0030] In some embodiments of the method, obtaining load information on the communication line and calculating the load value includes:

[0031] The load information on the communication line is obtained, and the load information is weighted according to a preset weight to obtain the initial load data.

[0032] The initial load data is smoothed to obtain the load value.

[0033] In some embodiments of the method, the method further includes:

[0034] The load information is normalized respectively;

[0035] The normalized load information is weighted according to preset weights to obtain the initial load data.

[0036] The initial load data is processed by an exponentially weighted moving average to obtain smoothed load data;

[0037] Hysteresis is determined on the smoothed load data to obtain the load value used to adjust the fragment size;

[0038] The hysteresis judgment avoids frequent switching of initial load data by setting different trigger thresholds and rollback thresholds.

[0039] According to a second aspect of the present disclosure, a fragmented data transmission apparatus is provided. The apparatus includes:

[0040] The communication module is used to acquire load information on the communication line and calculate the load value.

[0041] The processing module is used to adjust the fragment size according to the load value;

[0042] The data transmission module is used to divide the data to be transmitted into multiple fragments according to the fragment size, organize them into multiple transmission windows, and continuously send multiple fragment data within a single transmission window.

[0043] According to a third aspect of the present disclosure, a vehicle infotainment system is provided. The vehicle infotainment system includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the above-described segmented data transmission method.

[0044] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the above-described fragmented data transmission method.

[0045] According to a fifth aspect of the present disclosure, a computer program product is provided. The computer program product includes a computer program that, when executed by a processor, implements the above-described fragmented data transmission method.

[0046] According to a sixth aspect of the present disclosure, a vehicle is provided, the vehicle including the above-described vehicle infotainment system.

[0047] The segmented data transmission scheme provided in this application can obtain real-time load data by monitoring the load status of the controller area network bus, dynamically adjust the segment size according to the load value range, and continuously send data in conjunction with the transmission window. Finally, firmware writing is performed after successful data verification. Compared with the traditional fixed segment size transmission mode, it can adapt the segment size to different bus load scenarios, fully utilize bandwidth to improve transmission efficiency when the bus is under low load, and reduce transmission pressure to avoid congestion when the bus is under high load. At the same time, it reduces control frame transmission overhead, significantly improves the reliability and efficiency of data transmission during vehicle remote upgrades, and meets the needs of large upgrade package transmission.

[0048] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0049] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.

[0050] Figure 1 This is a flowchart illustrating a fragmented data transmission method according to an exemplary embodiment;

[0051] Figure 2 This is a schematic diagram illustrating a specific process of a fragmented data transmission method according to an exemplary embodiment;

[0052] Figure 3 This is a schematic diagram of the interaction architecture of a fragmented data transmission method according to an exemplary embodiment;

[0053] Figure 4 This is a structural block diagram of a fragmented data transmission apparatus according to an exemplary embodiment;

[0054] Figure 5 This is a diagram illustrating the internal structure of a computer device according to an exemplary embodiment. Detailed Implementation

[0055] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0056] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure. The terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitations, the presence of other identical or equivalent elements in a process, method, product, or apparatus that includes said elements is not excluded. For example, the use of terms such as "first," "second," etc., to denote names does not indicate any specific order.

[0057] In some embodiments provided in this disclosure, the execution of the fragmented data transmission method can be controlled by a unified controller or by multiple controllers. These controllers may include controllers on local terminals or controllers on remote servers. In some embodiments, the controllers on local terminals and servers may work together to complete the fragmented data transmission processing. The local terminal mentioned in this disclosure may include, but is not limited to, various robotic devices, in-vehicle devices, personal computers, laptops, smartphones, tablets, wearable devices, medical devices, VR (Virtual Reality) devices, etc. The server may also be a server, server cluster, distributed subsystem, cloud processing platform, server containing blockchain nodes, or a combination thereof. The controllers described in this disclosure may include various control units capable of implementing logic processing functions, including but not limited to CPU (Central Processing Unit), PLC (Programmable Logic Controller), ECU (Electronic Control Unit), MCU (Microcontroller Unit), FPGA (Field Programmable Gate Array), and CPLD (Complex Programmable Logic Device), as well as controllers composed of one or more logic function units, chips, etc.

[0058] In some embodiments of this disclosure, a fragmented data transmission method is provided, such as... Figure 1 As shown, it includes the following steps:

[0059] S20. Obtain the load information on the communication line and calculate the load value.

[0060] In some implementations, load information can also be obtained from the upgrade data. Upgrade data typically refers to the firmware update files for the vehicle's electronic control unit on a cloud server. It contains the program code and configuration information required for function iteration, fault repair, and performance optimization, and is the core data to be transmitted during the in-vehicle remote upgrade process.

[0061] Communication lines typically refer to standardized bus protocols used within a vehicle for communication between electronic control units (ECUs), enabling data exchange and command transmission between these ECUs. In some implementations, communication lines may include CAN (Controller Area Network) buses, CANFD (CAN with flexible data-rate) buses, and others, which will not be listed here.

[0062] Load value typically refers to quantitative data reflecting the current busyness of a communication line, obtained through multi-dimensional monitoring of its operating status and after standardized processing and calculation. It provides a basis for adjusting the size of the communication segments.

[0063] S22. Adjust the fragment size according to the load value.

[0064] In some implementations, adjusting the slice size based on the load value can be understood as adjusting the slice size according to the range within which the load value falls. A load value range typically refers to a continuous numerical segment with specific load characteristics, defined based on the distribution range of real-time load data on the communication line. These ranges are set based on the actual operation of the bus and data transmission requirements, with different ranges corresponding to different levels of busyness on the communication line. Of course, in other implementations, it can also be understood as adjusting the slice size according to different load values.

[0065] Fragment size refers to the size of a single data block after the upgrade data is split. Its value can be adaptively adjusted according to changes in bus load status, so as to achieve a balance between data transmission efficiency and bus operation stability.

[0066] S24. Divide the data to be transmitted into multiple fragments according to the fragment size, organize them into multiple transmission windows, and continuously send multiple fragment data within a single transmission window.

[0067] A transmission window refers to a set of contiguous data segments used to optimize data transmission acknowledgment mechanisms. Using windows as units for data transmission and reception status acknowledgment reduces the number of control frames transmitted, thus improving transmission efficiency.

[0068] After the vehicle's infotainment system receives upgrade data from the cloud server, it monitors the communication line load status in real time. Upon obtaining the load value, the system determines the load range within which the data falls, thus adapting the fragment size to the communication line load status. Once the fragment size is determined, the system divides the upgrade data into several data fragments according to that size, and then further divides these fragments into multiple consecutive transmission windows. Each transmission window contains a fixed number of fragments. During transmission, all fragments are sent continuously in units of a window. After all fragment data is successfully transmitted to the target electronic control unit (ECU), the ECU uses a preset data verification method to verify the complete upgrade data, ensuring that no data loss, tampering, or errors occur during transmission. If the data verification is successful, it indicates that the upgrade data is complete and valid, and the target ECU will execute the firmware writing process, writing the upgrade data to the corresponding storage area to complete the firmware update. If the verification fails, a verification failure message is returned, and the system initiates appropriate processing mechanisms based on the actual situation, such as retransmitting the relevant data, until the data verification is successful before executing the firmware writing again. The verification method can be CRC32, CRC64 or hash verification, and there is no limitation here.

[0069] In some embodiments of this disclosure, real-time load data can be obtained by monitoring the load status of the controller area network bus in real time. The fragment size can be dynamically adjusted according to the load value range, and continuous transmission can be performed in combination with the transmission window. Finally, firmware writing is performed after successful data verification. Compared with the traditional fixed fragment size transmission mode, the fragment size can be adapted to different bus load scenarios. When the bus is under low load, the bandwidth can be fully utilized to improve transmission efficiency, and when the bus is under high load, the transmission pressure can be reduced to avoid congestion. At the same time, the control frame transmission overhead is reduced, which significantly improves the reliability and efficiency of data transmission during vehicle remote upgrades and meets the needs of large upgrade package transmission.

[0070] In some embodiments of this disclosure, S20 includes:

[0071] The load information on the communication line is obtained, and the load information is weighted according to a preset weight to obtain the initial load data.

[0072] The initial load data is smoothed to obtain the load value.

[0073] In some implementations, taking an in-vehicle infotainment system as an example, this embodiment is not limited to other terminal devices such as mobile phones, tablets, computers, wearable devices, and medical devices. When the in-vehicle infotainment system receives upgrade data from the cloud server, the system performs real-time monitoring of the communication line's load status. First, a reasonable statistical window duration can be set. Within this window, multiple bus status parameters are collected synchronously. These parameters may include at least one of the following: bus busy duration, total number of frames, number of arbitration failures, number of bus errors, number of high-priority frames, and percentage of high-priority frames, thus comprehensively reflecting the bus's operating status.

[0074] In some implementations, smoothing can be a filtering optimization process applied to the initial load data obtained through weighted calculation. This can filter out short-term sudden fluctuations and random interference data generated during the acquisition of communication line load information, avoiding frequent adjustments to the segment size due to instantaneous changes in load data. This ensures that the final load value accurately and stably reflects the actual long-term load state of the communication line, providing a reliable basis for subsequent adaptive adjustments to the segment size. Smoothing can include one or more of the following: Exponential Weighted Moving Average (EWMA or EMA), simple moving average, and classic weighted moving average.

[0075] In some examples, exponentially weighted moving average processing is a time-series data smoothing algorithm based on iterative calculation. It assigns higher weights to the currently collected initial load data and lower weights to the load values ​​obtained from historical smoothing processes. Data smoothing is achieved through weighted summation, and it only needs to retain the previous historical smoothed values ​​to complete the iterative calculation. This eliminates the need to store large amounts of historical data, consumes less computing resources in the terminal system, and is suitable for the lightweight computing needs of various terminal systems such as in-vehicle devices, intelligent robots, and portable terminals. A time-series data smoothing algorithm based on simple moving average processing achieves data filtering by calculating the arithmetic mean of initial load data from multiple consecutive frames. It is suitable for application scenarios where communication line load fluctuations are gradual and there are no frequent sudden changes. The algorithm logic is simple and easy to implement. Classical weighted moving average processing is an optimized form of simple moving average processing. It assigns higher weights to the latest frame's initial load data within the sliding data window and lower weights to earlier frame data. This filters data fluctuations and can respond more quickly to actual trend changes in communication line load. It is suitable for application scenarios where communication line load shows a slow upward / downward trend. In other embodiments, for example, after the mobile phone system receives upgrade data from the cloud server, the system performs a real-time monitoring process for the load status of the communication line. First, a reasonable statistical window duration can be set. Within this window, multiple bus status parameters are collected simultaneously. These bus status parameters may include at least one of the following: bus busy duration, total number of frames, number of arbitration failures, number of bus errors, number of high-priority frames, and percentage of high-priority frames, thereby comprehensively reflecting the bus operating status.

[0076] Other embodiments are similar and will not be described in detail here.

[0077] In some implementations, the initial load data can also be processed by an exponentially weighted moving average to avoid frequent switching of load data due to short-term fluctuations, which would affect transmission stability and smooth out data fluctuations.

[0078] In some embodiments of this disclosure, the method further includes:

[0079] The load information is normalized respectively;

[0080] The normalized load information is weighted according to preset weights to obtain the initial load data.

[0081] The initial load data is processed by an exponentially weighted moving average to obtain smoothed load data;

[0082] Hysteresis is determined on the smoothed load data to obtain the load value used to adjust the fragment size;

[0083] The hysteresis judgment avoids frequent switching of initial load data by setting different trigger thresholds and rollback thresholds.

[0084] In some implementations, the collected parameters can be normalized individually to overcome the dimensional differences between different parameters. A comprehensive calculation is then performed to convert all parameters to the same preset numerical range (e.g., 0-100), eliminating the influence of dimensional differences. Alternatively, preset weights can be assigned to each parameter based on its varying impact on the bus load. The normalized parameters are then weighted and calculated, and numerical constraints are applied to ensure the calculation results are within a reasonable range, thus obtaining the initial load data.

[0085] In some examples, numerical constraint processing can be achieved by setting upper and lower thresholds for the calculation results. Typically, the upper threshold is the maximum value within a normalized preset numerical range, and the lower threshold is the minimum value. This ensures that the calculation results are within a reasonable range, yielding initial load data. The lower threshold can be set by default to the minimum value of the normalized numerical range (usually 0), corresponding to the extreme state of a completely unloaded bus, physically meaning a 0% bus load. The upper threshold can be set by default to the maximum value of the normalized numerical range (usually 100), corresponding to the extreme state of a fully loaded bus, physically meaning a 100% bus load. These thresholds can be fine-tuned according to the actual scenario of the terminal system (e.g., if the actual maximum bus load is only 90%, the upper threshold can be set to 90; if redundancy is required, the lower threshold can be set to 5), but it must be ensured that both the upper and lower thresholds fall within the normalized range and conform to the physical logic of the bus load. It is important to note that the upper and lower threshold settings here are for illustrative purposes only and are not actual limitations; they can be configured according to the specific application scenario.

[0086] In some implementations, different trigger thresholds and backoff thresholds can be set for hysteresis judgment. Only when the change in load data reaches the corresponding threshold is the change in load status confirmed, and finally the load value used to adjust the shard size is obtained.

[0087] In some examples, one or more of the following bus status parameters can be collected. Bus status parameters may include bus busy duration, total number of frames, number of arbitration failures, number of bus errors, number of high-priority frames, and percentage of high-priority frames. The bus busy duration T_busy represents the busy time of the CAN bus within the statistical window, in milliseconds (ms). The total number of frames N_frames represents the total number of frames within the statistical window. N_arbFail represents the number of arbitration failures or bus errors within the statistical window. N_highPro represents the number of high-priority frames within the statistical window. R_hp represents the percentage of high-priority frames. The length W of the statistical window can be configured from 500 to 2000 ms; specifically, it can be 500 ms, 2000 ms, or any value within the range of 500 to 2000 ms.

[0088] Different units can be converted to 0~1. b = T / W, where b represents the full-text busy_ratio, which is the normalized result of T, and T represents the full-text T_busy. f = min(N1 / F, 1.0), FPS_ref represents the target high-load frame rate threshold (in Hz), f represents the full-text fps_norm, which is the normalized result of N1, where N1 represents the full-text N_frames, and F represents the full-text FPS_ref. Similarly, a = min(N2 / A, 1.0), ABS_ref represents the number of severe arbitration failures (number of times / W). a represents the full-text abs_norm, which is the normalized result of N2, where N2 represents the full-text N_arbFail, and A represents the full-text ABS_ref. h = min(R / H, 1.0), HP_ref represents the typical high-priority frame percentage threshold. h represents the full-text hp_norm, which is the normalized result of R, R represents the full-text R_hp, and H represents the full-text HP_ref. Other parameters can be customized, for example: W=1000ms; FPS_ref=500 (i.e., >500fps is considered high rate); ABS_ref=5 (>5 arbitration conflicts within 1 second are considered abnormal); HP_ref=0.2 (20% of high-priority frames are considered high priority).

[0089] Next, we can calculate the load value (range 0~100). The upper and lower limits of load value can be controlled using the C++ function `clamp`, as shown in equation (1):

[0090] L=clamp(100*(w1*b+w2*f+w3*a+w4*h),0,100)(1)

[0091] In equation (1), L represents the load_value of the entire text, and the weights are configurable: the sum of the weights is 1. w1 represents the weight corresponding to the bus busy time, w2 represents the weight corresponding to the total number of frames, w3 represents the weight corresponding to the number of arbitration failures or bus errors, and w4 represents the weight corresponding to the proportion of high-priority frames. Among them, it can be configured as: w1=0.45 (bus occupancy is the most important); w2=0.20; w3=0.20; w4=0.15.

[0092] Alternatively, load_value can be processed using an exponentially weighted moving average, as shown in equation (2):

[0093] lv_new=alpha*load_value+(1-alpha)*lv_pre(2)

[0094] In equation (2), lv_pre is the previous load value, with an initial value of 0; lv_new is the load value after smoothing; alpha can be set according to the scenario, with a more conservative approach during driving. Example: alpha=0.3.

[0095] To reduce image lag, a hysteresis check can be added: the upper and lower thresholds should be separate. For example, the trigger threshold from low to high could be 35%, and the backoff threshold from high to low could be 30%. An example of a hysteresis check is shown below:

[0096] if((lv_pre<=30)&&(lv_new>=35))lv_effective=lv_new;

[0097] elseif((lv_pre>=60)&&(lv_new<=55))lv_effective=lv_new;

[0098] elselv_effective=lv_new*0.3+lv_pre*0.7;

[0099] lv_pre=lv_effective;lv_effective.

[0100] After debouncing, the load value is ultimately used to determine the slice size.

[0101] In some embodiments of this disclosure, by collecting bus status parameters from multiple dimensions and performing a series of steps such as normalization, weighted calculation, numerical constraints, exponentially weighted moving average processing, and hysteresis judgment, the obtained load values ​​are ensured to accurately and objectively reflect the actual load status of the bus. Multi-dimensional parameter collection ensures the comprehensiveness of load assessment, normalization and weighted calculation achieve effective parameter fusion, and smoothing processing and hysteresis judgment avoid misjudgments caused by data fluctuations. This provides a precise and reliable basis for the dynamic adjustment of fragment size and ensures the effective operation of the entire adaptive fragmentation transmission mechanism.

[0102] In some embodiments of this disclosure, S22 includes:

[0103] Predetermine n load value ranges and n slice sizes corresponding to the load value ranges;

[0104] Select the corresponding shard size based on the load value range into which the load value falls.

[0105] In some implementations, refer to Figure 2After obtaining the load value, the load value range in which the data falls can be determined. Referring to Table 1, four load value ranges can be preset, with the load level corresponding to each range increasing sequentially. According to the principle of adapting load level to fragment size, the lower the load level, the larger the fragment size to fully utilize the bus bandwidth; the higher the load level, the smaller the fragment size to reduce bus transmission pressure. When the real-time load data is in the first preset load value range with the lowest load level, the fragment size can be adjusted to the largest first fragment size; when the real-time load data is in the second preset load value range, it can be adjusted to the second fragment size; when the real-time load data is in the third preset load value range, it can be adjusted to the third fragment size; and when the real-time load data is in the fourth preset load value range with the highest load level, it can be adjusted to the smallest fourth fragment size, realizing dynamic adaptation of fragment size to bus load status.

[0106] Table 1 Load Value Range and Fragment Size Mapping Table

[0107]

[0108] In some embodiments of this disclosure, by dividing the load into four progressively increasing intervals and correspondingly setting progressively decreasing segment sizes, the adjustment of segment sizes becomes more targeted and operable. This ensures that the segment size can accurately respond to changes in bus load, further optimizing data transmission performance under different load scenarios. It maximizes transmission efficiency under low loads while guaranteeing bus operational stability under high loads, providing strong support for the smooth operation of the entire data transmission process.

[0109] In some embodiments of this disclosure, the method further includes:

[0110] Receive the returned bitmap, which represents the reception status of each fragment within the transmission window;

[0111] Based on the reception state represented by the bitmap, execute at least one of the following transmission strategies:

[0112] Strategy 1: Identify missing fragments;

[0113] Strategy 2: Resend the missing fragment;

[0114] Strategy 3: Increase the transmission priority of the missing fragment when retransmitting the missing fragment.

[0115] In some implementations, after determining the fragment size, the upgrade data can be split into several data fragments according to the fragment size, and these fragments can then be further divided into multiple consecutive transmission windows. Each transmission window contains a fixed number of fragments. During transmission, all fragments within the window are sent continuously, without the need for separate reception confirmation for each fragment. This reduces the control frame transmission overhead caused by frame-by-frame confirmation and improves the continuity and efficiency of data transmission.

[0116] In some examples, data can be divided into multiple windows (Window n), for example, each window with 32 pieces: W1: Piece 1-32; W2: Piece 33-64; ... (and so on). Data is sent continuously within a window, eliminating the need for frame-by-frame acknowledgment and significantly reducing the number of control frames.

[0117] In some implementations, after the target electronic control unit (ECU) receives all segments within a transmission window, it checks the reception status of each segment and generates reception status information containing a bitmap. Each bit in the bitmap corresponds to a segment within the window, and the specific status of the bit indicates whether the segment has been successfully received. The target ECU feeds back the reception status information containing the bitmap to the terminal system, such as the vehicle infotainment system. After receiving the information, the terminal system parses the bitmap to identify any missing segments. For the missing segments, the system only retransmits these missing segments, without retransmitting all segments of the entire transmission window. This achieves selective and fast retransmission, reduces retransmission overhead, and ensures the integrity and timeliness of data transmission.

[0118] like Figure 3 As shown, taking a car system as an example, the upgrade data is sent to the vehicle system through the cloud server, and then the vehicle system transmits the data to each electronic control unit to complete the firmware upgrade.

[0119] In some examples, the receiver sends either ACK or NACK after the window ends. ACK indicates full reception, while NACK indicates partial reception, and a missing segment bitmask can be attached. Example bitmask: 1110111111011110… 0 indicates a missing segment, and 1 indicates a received segment. After a missing segment is detected, the missing segment can be checked based on the bitmask, and only the missing segment can be retransmitted without retransmitting the entire window. Priority boosting can also be supported, temporarily increasing the CAN ID priority.

[0120] In some embodiments of this disclosure, bitmap-based reception status feedback and missing fragment retransmission are implemented on a window-by-window basis, significantly reducing the number of control frames in the reception status confirmation process and lowering transmission overhead. Simultaneously, retransmitting only missing fragments rather than the entire window avoids unnecessary data duplication, improving retransmission efficiency and shortening data transmission completion time. While ensuring data transmission integrity, this further improves the efficiency and economy of in-vehicle remote upgrade data transmission, enhancing the system's practicality.

[0121] In some embodiments of this disclosure, the method further includes:

[0122] When a trigger condition is detected, switch to protection mode;

[0123] The triggering conditions include at least one of the following:

[0124] Condition 1: The calculated load value exceeds the preset load threshold;

[0125] Condition 2: The target information value in the load information exceeds the preset baseline threshold;

[0126] Condition 3: The target state obtained based on the load information is under the set control scenario.

[0127] In some implementations, protection mode typically refers to the transmission strategy mode that switches when the bus meets protection trigger conditions (such as high bus load, frequent arbitration conflicts, or the vehicle being in a special driving scenario). Its core purpose is to ensure that critical bus communications are not affected and to ensure vehicle driving safety.

[0128] In some examples, the CAN bus can automatically switch strategies to enter protection mode when high-priority control scenarios are detected, such as when the load exceeds the threshold (i.e., lv_effective is greater than the preset load threshold (e.g., 80%)), when arbitration conflicts are severe (i.e., N_arbFail is much greater than ABS_ref), or when the vehicle is traveling at high speed, accelerating rapidly, or braking urgently (by acquiring and parsing CAN message information, vehicle speed information can be obtained and the rate of change of vehicle speed can be calculated, thereby determining the vehicle's driving status).

[0129] During data transmission, the system continuously monitors the bus operating status and vehicle driving status to determine whether the bus protection trigger conditions are met. Trigger conditions may include situations such as the bus load exceeding a preset load threshold, the number of arbitration conflicts exceeding a preset baseline threshold, and the vehicle being in high-priority control scenarios such as high-speed driving, rapid acceleration, or emergency braking. When any trigger condition is detected, the system automatically switches to protection mode.

[0130] In some embodiments of this disclosure, by monitoring key factors such as bus load, arbitration conflict, and high-priority vehicle control scenarios, the protection mode can be activated in a timely manner, which can effectively avoid bus congestion or impact on key vehicle control functions caused by upgrade data transmission, ensuring the stability of bus communication and the safety of vehicle operation, and improving the reliability and security of the entire vehicle remote upgrade system.

[0131] In some embodiments of this disclosure, the protection mode includes implementing corresponding protection strategies based on different triggering conditions:

[0132] If the obtained load value exceeds a preset load threshold, the protection mode is configured to reduce the transmission bandwidth or shorten the fragment size;

[0133] If the target information value in the load information exceeds a preset baseline threshold, the protection mode is configured to shorten the fragment size or suspend upgrade data transmission.

[0134] When the target state obtained based on the load information is in a set control scenario, the protection mode is configured to prioritize the allocation of bus transmission resources to high-priority control frames or suspend upgrade data transmission.

[0135] In some implementations, if the bus load exceeds a preset load threshold, the protection mode will reduce the transmission bandwidth or further shorten the fragment size to alleviate the bus transmission pressure; if the number of arbitration conflicts exceeds a preset baseline threshold, the mode will shorten the fragment size or suspend the upgrade data transmission to reduce the occurrence of conflicts; if the device system is in a high-priority control scenario, the mode will prioritize allocating bus transmission resources to the device system's high-priority control frames or suspend the upgrade data transmission to ensure the normal implementation of the device system's critical control functions.

[0136] In some embodiments of this disclosure, differentiated strategies such as reducing bandwidth, shortening fragment size, pausing transmission, and prioritizing resource allocation are adopted to address different situations such as high bus load, frequent arbitration conflicts, and high-priority control scenarios. These strategies can accurately solve bus operation problems in various scenarios, minimize the impact of upgrade data transmission on bus and device system control, further enhance bus protection, ensure stable system operation, and ensure vehicle driving safety in the automotive field.

[0137] The fragmented data transmission methods disclosed herein can obtain real-time load data by monitoring the load status of the communication line, dynamically adjust the fragment size according to the load value range, and continuously send data in conjunction with the transmission window. Finally, firmware writing is performed after successful data verification. Compared with the traditional fixed fragment size transmission mode, this method can adapt the fragment size to different bus load scenarios, fully utilize bandwidth to improve transmission efficiency when the bus is under low load, and reduce transmission pressure to avoid congestion when the bus is under high load. At the same time, it reduces control frame transmission overhead, significantly improving the reliability and efficiency of data transmission during remote vehicle upgrades in the automotive field, and meeting the needs of large upgrade package transmission.

[0138] It is understood that the various embodiments of the methods described in this specification are presented in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. Related details can be found in the descriptions of other method embodiments.

[0139] It should be understood that although the steps in the flowcharts shown in the accompanying drawings are displayed sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some of the steps in the accompanying drawings may include multiple steps or stages, which are not necessarily completed at the same time, but may be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but may be performed alternately or in turn with other steps or at least a portion of the steps or stages of other steps.

[0140] Furthermore, the application fields and scenarios of the above-mentioned segmented data transmission method can be replaced from the automotive field to robotic devices, personal computers, laptops, smartphones, tablets, wearable devices, medical devices, VR (Virtual Reality) devices, etc., and the vehicle control reflected in the corresponding technical effect is only applicable to the automotive field and does not impose any restrictions on the scenarios in which this technical solution can be applied.

[0141] Based on the description of the fragmented data transmission method embodiments described above, this disclosure also provides a fragmented data transmission apparatus for implementing the fragmented data transmission method involved above. The apparatus may include a system (including a distributed system), software (application), module, component, controller, server, terminal, etc., using the method described in the embodiments of this specification, combined with necessary hardware implementation. Based on the same innovative concept, the apparatuses in one or more embodiments provided by the embodiments of this disclosure are as described in the following embodiments. Since the implementation schemes and methods for solving the problem by the apparatus are similar, the implementation of the specific apparatus in the embodiments of this specification can refer to the implementation of the foregoing method, and repeated details will not be repeated. As used below, the terms "unit" or "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0142] Figure 4 This is a schematic block diagram illustrating a fragmented data transmission device according to an exemplary embodiment. The device can be the aforementioned terminal, a server, or a module, component, device, control unit, etc., integrated into the terminal. For details, please refer to... Figure 4 The device 100 may include a communication module 120, a processing module 140, and a data transmission module 160. The communication module 120 is used to acquire load information on the communication line and calculate the load value; the processing module 140 is used to adjust the fragment size according to the load value; and the data transmission module 160 is used to divide the data to be transmitted into multiple fragments according to the fragment size, organize them into multiple transmission windows, and continuously send multiple fragments of data within a single transmission window.

[0143] Each module in the aforementioned fragmented data transmission device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0144] The processors and memory in the aforementioned computer devices can be applied to automobiles, robotic devices, personal computers, laptops, smartphones, tablets, wearable devices, medical devices, VR (Virtual Reality) devices, etc.

[0145] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 5As shown, the computer device includes a processor, memory, communication interface, display screen, and input device connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a fragmented data transmission method.

[0146] The aforementioned computer equipment can be applied to automobiles, robotic devices, personal computers, laptops, smartphones, tablets, wearable devices, medical devices, VR (Virtual Reality) devices, etc.

[0147] Those skilled in the art will understand that Figure 5 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0148] Based on the foregoing description of the relevant methods and apparatus embodiments, one embodiment of this disclosure also provides a vehicle infotainment system, including a memory and a processor. The memory stores a computer program, which, when executed by the processor, implements the segmented data transmission method described in any embodiment of this specification.

[0149] Based on the foregoing description of the relevant methods and apparatus embodiments, this disclosure also provides a computer-readable storage medium that, when the instructions in the computer-readable storage medium are executed by the processor of a computer device, enables the computer device to implement the fragmented data transmission method as described in any embodiment of this disclosure.

[0150] Based on the foregoing description of the relevant methods and apparatus embodiments, this disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the fragmented data transmission method described in any embodiment of this specification.

[0151] Based on the foregoing description of the relevant methods and apparatus embodiments, this disclosure also provides a vehicle including the aforementioned vehicle infotainment system.

[0152] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on its differences from other embodiments. In particular, hardware + program embodiments are relatively simple in description because they are fundamentally similar to method embodiments; relevant parts can be referred to the descriptions in the method embodiments.

[0153] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0154] It should be noted that the apparatus, computer equipment, storage medium, and computer program products described above may also include other implementation methods according to the description of the method embodiments. Specific implementation methods can be found in the description of the relevant method embodiments. Furthermore, new embodiments formed by combinations of features from various methods, apparatuses, devices, and server embodiments still fall within the scope of this disclosure and will not be elaborated upon here.

[0155] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, when implementing one or more of these specifications, the functions of each module can be implemented in the same or different software and / or hardware, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling and communication connections between the devices or units shown or described can be implemented through direct and / or indirect coupling / connection, through standard or custom interfaces or protocols, and can be implemented electrically, mechanically, or in other forms.

[0156] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0157] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope.

Claims

1. A method of fragmented data transmission, characterized by, The method includes: Obtain load information on the communication line and calculate the load value; Adjust the fragment size based on the load value; The data to be transmitted is divided into multiple fragments according to the fragment size, and organized into multiple transmission windows. Multiple fragments of data are continuously sent within a single transmission window.

2. The fragmented data transmission method of claim 1, wherein, The step of adjusting the fragment size based on the load value includes: Predetermine n load value ranges and n slice sizes corresponding to the load value ranges; Select the corresponding shard size based on the load value range into which the load value falls.

3. The fragmented data transmission method of claim 1, wherein, The method further includes: Receive the returned bitmap, which represents the reception status of each fragment within the transmission window; Based on the reception state represented by the bitmap, execute at least one of the following transmission strategies: Identify missing fragments; Resend the missing fragment; When retransmitting a missing fragment, increase the transmission priority of the missing fragment.

4. The fragmented data transmission method of claim 1, wherein, The method further includes: When a trigger condition is detected, switch to protection mode; The triggering conditions include at least one of the following: The calculated load value exceeds the preset load threshold; The target information value in the load information exceeds the preset benchmark threshold; The target state obtained based on the load information is under the set control scenario.

5. The fragmented data transmission method of claim 4, wherein, The protection mode includes implementing corresponding protection strategies based on different triggering conditions: If the obtained load value exceeds a preset load threshold, the protection mode is configured to reduce the transmission bandwidth or shorten the fragment size; If the target information value in the load information exceeds a preset baseline threshold, the protection mode is configured to shorten the fragment size or suspend upgrade data transmission. When the target state obtained based on the load information is in a set control scenario, the protection mode is configured to prioritize the allocation of bus transmission resources to high-priority control frames or suspend upgrade data transmission.

6. The fragmented data transmission method according to claim 1, characterized in that, The load information includes at least one of the following: busy duration of communication line data transmission, total number of frames, number of arbitration failures, number of communication line data transmission errors, number of high-priority frames, and percentage of high-priority frames.

7. The fragmented data transmission method according to claim 1, characterized in that, The step of obtaining load information on the communication line and calculating the load value includes: The load information on the communication line is obtained, and the load information is weighted according to a preset weight to obtain the initial load data. The initial load data is smoothed to obtain the load value.

8. The fragmented data transmission method according to claim 1, characterized in that, The method further includes: The load information is normalized respectively; The normalized load information is weighted according to preset weights to obtain the initial load data. The initial load data is processed by an exponentially weighted moving average to obtain smoothed load data; Hysteresis judgment is performed on the smoothed load data to obtain the load value used to adjust the shard size; the hysteresis judgment avoids frequent switching of the initial load data by setting different trigger thresholds and rollback thresholds.

9. A fragmented data transmission device, characterized in that, The device includes: The communication module is used to acquire load information on the communication line and calculate the load value. The processing module is used to adjust the fragment size according to the load value; The data transmission module is used to divide the data to be transmitted into multiple fragments according to the fragment size, organize them into multiple transmission windows, and continuously send multiple fragment data within a single transmission window.

10. A vehicle infotainment system, characterized in that, It includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps of the method according to any one of claims 1 to 8.

11. A computer-readable storage medium, characterized in that, It stores a computer program thereon, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 8.

12. A vehicle, characterized in that, Including the vehicle infotainment system as described in claim 10.