Data transmission method and apparatus, and electronic device, storage medium and chip
By optimizing the transmission order of data frames in network devices based on the probability of successful transmission and time factors, the problem of low data frame transmission rate in extended real-world scenarios is solved, the success rate of data frame transmission within a specified time is improved, and the user experience is enhanced.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-10-16
- Publication Date
- 2026-07-09
AI Technical Summary
In extended reality scenarios, the success rate of data frame transmission is low, which means that data frames cannot be fully transmitted within the specified time, affecting the user experience.
By prioritizing data frames based on their transmission success probability in network devices, combined with remaining transmission time and total transmission time, the transmission order of data frames can be optimized to improve the success rate of data frame transmission.
This improved the success rate of data frame transmission within the specified time, enhancing the user experience.
Smart Images

Figure CN2024125289_09072026_PF_FP_ABST
Abstract
Description
A data transmission method, apparatus, electronic device, storage medium, and chip.
[0001] This application claims priority to Chinese Patent Application No. 202410123746.5, filed on January 29, 2024, entitled "A data transmission method, apparatus, electronic device, storage medium and chip", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, and in particular to a data transmission method, apparatus, electronic device, storage medium, and chip. Background Technology
[0003] In wireless communication networks, extended reality (XR) technology offers advantages such as multiple perspectives and strong interactivity, providing users with a completely new visual experience and possessing immense application value and commercial potential. XR encompasses technologies such as virtual reality (VR), augmented reality (AR), and mixed reality (MR), and is widely used in entertainment, gaming, healthcare, advertising, industry, online education, and engineering, among many other fields. Correspondingly, XR terminal devices can include VR glasses, AR glasses, and other similar devices.
[0004] In some XR application scenarios, the service data stream provided by XR terminal devices is typically processed as a single frame. Furthermore, in different scenarios, each data frame can contain different content, and each data frame can be transmitted through multiple data packets. For example, in video transmission scenarios, the service data stream is a data stream composed of several video frames, where one video frame can represent part or all of the content in the video frame. Similarly, in haptic transmission scenarios, the service data stream is a data stream composed of several haptic frames, where one haptic frame can represent a user's haptic information. In these scenarios, when XR terminal devices transmit data with network devices such as base stations, since only a portion of the data in a data frame can usually be transmitted at a time, multiple transmissions are generally required to successfully transmit a single data frame.
[0005] However, due to latency requirements for data frames, network devices will clear any remaining data in frames that are not transmitted within the specified time. This can prevent a data frame from being fully transmitted to its corresponding XR terminal device, causing the frame to become invalid. Therefore, improving the success rate of frame transmission is a problem that needs to be solved in XR scenarios.
[0006] Summary of the Invention
[0007] To address the aforementioned problems, embodiments of this application provide a data transmission method, apparatus, electronic device, storage medium, and chip to improve the frame success rate.
[0008] Firstly, embodiments of this application provide a data transmission method. In an extended reality scenario, this method includes a first electronic device (e.g., a network device hereinafter) and multiple second electronic devices (e.g., terminal devices hereinafter). The first electronic device includes devices such as base stations, and the second electronic devices include devices such as VR glasses and AR glasses. Data frames need to be transmitted between the first electronic device and the multiple second electronic devices. During downlink transmission, the first electronic device buffers multiple data frames and needs to transmit each data frame to a different second electronic device. Different data frames correspond to different second electronic devices. Since there are many data frames to be transmitted and transmission resources are limited, the first electronic device needs to determine the first data frame to be transmitted from the multiple buffered data frames. The first electronic device can determine the first data frame to be transmitted based on the transmission success probability of each data frame, where the transmission success probability is used to evaluate the probability of a data frame being successfully transmitted. Then, the first electronic device transmits the first data frame to the second electronic device corresponding to the first data frame. The second electronic device corresponding to the first data frame is the second electronic device to which the first data frame is to be transmitted. Understandably, since the first electronic device considers the success probability of each data frame when determining the first data frame to be transmitted, and the success probability is used to evaluate the probability that a data frame is successfully transmitted, the first electronic device can increase the ratio of successfully transmitted data frames among the data frames that need to be transmitted within a certain period of time when transmitting the first data frame.
[0009] In one possible implementation of the first aspect described above, the data frame is a data frame buffered by the first electronic device at the current moment. The current moment is any point in time within the delay period, and the starting point of the delay period is the initial moment. The transmission success probability is determined based on the remaining transmission time and the complete transmission time. The remaining transmission time is the time required for the data frame to be transmitted from the current moment to completion. The complete transmission time is the time required for the data frame to be transmitted from the initial moment to completion. Furthermore, the transmission success probability is negatively correlated with both the remaining transmission time and the complete transmission time. It is understandable that the specific data in the data frame will dynamically change during the transmission process. Each time the first electronic device transmits, it needs to determine the data frame buffered by the first electronic device at the current moment. When determining the transmission success probability, the remaining transmission time and the complete transmission time are considered. Since the remaining transmission time is the time required for the data frame to be transmitted from the current moment to completion, the remaining transmission time reflects the number of data frames that can be successfully transmitted within a certain period. The longer the remaining transmission time, the lower the probability of each data frame being successfully transmitted, and the fewer data frames are successfully transmitted within a certain time. The complete transmission time is the time required for the data frame to be transmitted from the initial moment. It reflects whether the data frame can be transmitted within the specified delay period and reflects the transmission quality of the data frame, thereby improving the probability of successful transmission of the data frame.
[0010] In one possible implementation of the first aspect described above, the probability of successful transmission can satisfy the following relationship with the complete transmission time and the remaining transmission time: P1 = g(ts) * h(tw)
[0011] Where P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the total transmission time; and h(tw) is the success factor, which is negatively correlated with the total transmission time tw. The smaller the remaining transmission time, the larger the urgency factor, and the higher the probability of successful transmission; conversely, the smaller the total transmission time, the larger the success factor, and the higher the probability of successful transmission.
[0012] In one possible implementation of the first aspect above, the urgency factor g(ts) and the remaining transmission time ts satisfy the following relationship:
[0013] Where, k a This is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time. Understandably, the urgency factor g(ts) and the remaining transmission time ts have a non-linear relationship, exhibiting good robustness.
[0014] In one possible implementation of the first aspect above, the success factor h(tw) and the complete transmission time tw satisfy the following relationship:
[0015] Where D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame; and c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor. Understandably, the urgency factor g(ts) and the remaining transmission time ts also have a non-linear relationship, exhibiting good robustness.
[0016] In one possible implementation of the first aspect described above, the first electronic device can determine the remaining transmission time in the following way: Based on the data frame length of the data frame at the current moment and the historical average transmission bit count of the data frame, the first electronic device determines the remaining transmission time of the data frame. The historical average transmission bit count is the average number of bits that the channel between the first electronic device and the second electronic device corresponding to the data frame can support transmission over a first historical time period. It is understood that the first electronic device can record the maximum number of bits that the channel corresponding to the data frame can support transmission at each time point within the first historical time period, and then calculate the average of the maximum number of bits at each time point within the first historical time period to obtain the historical average transmission bit count of the channel within the first historical time period. Furthermore, the specific time period of the first historical time period can be pre-configured; for example, 1ms prior to the current moment can be used as the time period for calculating the historical average transmission bit count each time. Then, the stored maximum number of bits that can be supported for transmission for each data frame corresponding to the data frame 1ms prior to the current moment can be averaged to obtain the historical average transmission bit count. Specifically, there are many ways to calculate the historical average transmission bit count, which are not limited here. Understandably, the historical average number of bits transmitted through the channel reflects a trend in the maximum number of bits that the channel corresponding to each data frame can support. Using the data frame length of the current data frame and the historical average number of bits transmitted through the channel, the remaining transmission time can be reasonably obtained.
[0017] In one possible implementation of the first aspect above, the remaining transmission time ts satisfies:
[0018] Where q represents the data frame length; This represents the average number of bits transmitted in the historical channel.
[0019] In one possible implementation of the first aspect above, the complete transmission time tw satisfies:
[0020] Where w represents the waiting time for the data frame to be transmitted, which is the time from the initial moment to the current moment; q represents the length of the data frame. represents the historical average number of bits transmitted through the channel; r represents the current number of bits transmitted through the channel for the data frame, which is the maximum number of bits that the channel can support for transmission between the first electronic device and the second electronic device corresponding to the data frame at the current moment.
[0021] In one possible implementation of the first aspect described above, the first electronic device determines the first data frame to be transmitted based on the transmission success probability of each data frame, including: the first electronic device calculating a priority score for each data frame based on the transmission success probability of each data frame; and determining the first data frame based on each priority score. It is understood that the first electronic device can calculate the priority score for each data frame, and the priority score can intuitively show the priority of transmitting each data frame, thereby determining the first data frame.
[0022] In one possible implementation of the first aspect above, the priority score for each data frame satisfies: Priority=β*f(·)*P1
[0023] In this context, Priority represents the priority score, β is a hyperparameter, and f(·) represents the channel dominance factor. The channel dominance factor is related to the data frame length, the current channel transmission bit count, and the historical channel average transmission bit count. The current channel transmission bit count is the maximum number of bits that the channel can support for transmission between the first electronic device and the corresponding second electronic device at the current moment. The historical channel average transmission bit count is the average number of bits that the channel can support for transmission between the first electronic device and the corresponding second electronic device within a first historical time period. The explanation of the historical channel average transmission bit count is as described above and will not be repeated here. It is understandable that the priority score considers not only the success probability of each data frame but also the channel dominance of each data frame, making it more scientific and reasonable.
[0024] In one possible implementation of the first aspect above, the channel dominance factor satisfies:
[0025] Where r represents the number of bits transmitted in the current channel; q represents the average number of bits transmitted through the historical channel; q represents the data frame length. Understandably, the channel dominance factor fully considers the current channel transmission bit count, the historical channel transmission average bit count, and the data frame length, making it more scientific and reasonable.
[0026] Secondly, embodiments of this application provide a data transmission method applied to an extended reality scenario. The extended reality scenario includes a first electronic device and multiple second electronic devices. During downlink transmission, the second electronic devices receive a first data frame transmitted by the first electronic device. The first data frame is the first data frame among multiple data frames buffered by the first electronic device, and each data frame corresponds one-to-one with a second electronic device. The method for determining the first data frame is related to the success probability of transmission of each data frame. It is understood that the beneficial effects of this method can be referred to the beneficial effects related to the first aspect, and will not be repeated here.
[0027] Thirdly, embodiments of this application provide a data transmission method. In this method, during uplink transmission, a first electronic device (e.g., a network device hereinafter) needs to receive data frames transmitted by multiple second electronic devices (e.g., terminal devices hereinafter). The first electronic device includes devices such as base stations, and the second electronic devices include devices such as VR glasses and AR glasses. Due to limited transmission resources, the first electronic device can only receive a limited number of data frames sent by the second electronic devices at a time. Therefore, the first electronic device needs to determine which second electronic devices are allowed to transmit data frames and issue a transmission permission instruction to them before the second electronic devices can transmit the data frames. Specifically, the first electronic device (e.g., a network device hereinafter) detects data transmission request messages sent by multiple second electronic devices (e.g., terminal devices hereinafter). These data transmission request messages instruct the second electronic devices to transmit cached data frames to the first electronic device. Based on the transmission success probability corresponding to each data frame of the second electronic device, the first data frame to be transmitted is determined, where the transmission success probability is used to evaluate the probability of successful data frame transmission. The first electronic device sends a transmission permission instruction to the second electronic device corresponding to the first data frame. The first electronic device then receives the first data frame from the second electronic device corresponding to the first data frame. Understandably, the first electronic device can determine the first data frame to be transmitted based on the transmission success probability of each data frame, where the transmission success probability is used to evaluate the probability that the data frame will be successfully transmitted. Then, the first electronic device sends a transmission permission command to the second electronic device corresponding to the first data frame. Since the first electronic device considers the transmission success probability of each data frame when determining the first data frame to be transmitted, and the transmission success probability is used to evaluate the probability that the data frame will be successfully transmitted, it can increase the number of data frames successfully transmitted by all second electronic devices within a certain period of time.
[0028] In one possible implementation of the third aspect described above, the data frame is a data frame buffered by the first electronic device at the current moment. The current moment is any point in time within the delay period, and the starting point of the delay period is the initial moment. The transmission success probability is determined based on the remaining transmission time and the complete transmission time. The remaining transmission time is the time required for the data frame to be transmitted from the current moment to completion. The complete transmission time is the time required for the data frame to be transmitted from the initial moment to completion. Furthermore, the transmission success probability is negatively correlated with both the remaining transmission time and the complete transmission time. It is understandable that the specific data in the data frame will dynamically change during the transmission process. Each time the first electronic device transmits, it needs to determine the data frame buffered by the first electronic device at the current moment. When determining the transmission success probability, the remaining transmission time and the complete transmission time are considered. Since the remaining transmission time is the time required for the data frame to be transmitted from the current moment to completion, the remaining transmission time reflects the number of data frames that can be successfully transmitted within a certain period. The longer the remaining transmission time, the lower the probability of each data frame being successfully transmitted, and the fewer data frames are successfully transmitted within a certain time. The complete transmission time is the time required for the data frame to be transmitted from the initial moment. It reflects whether the data frame can be transmitted within the specified delay period and reflects the transmission quality of the data frame, thereby improving the probability of successful transmission of the data frame.
[0029] In one possible implementation of the third aspect above, the probability of successful transmission can satisfy the following relationship with the complete transmission time and the remaining transmission time: P1=g(ts)*h(tw)
[0030] Where P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the total transmission time; and h(tw) is the success factor, which is negatively correlated with the total transmission time tw. The smaller the remaining transmission time, the larger the urgency factor, and the higher the probability of successful transmission; conversely, the smaller the total transmission time, the larger the success factor, and the higher the probability of successful transmission.
[0031] In one possible implementation of the third aspect above, the urgency factor g(ts) and the remaining transmission time ts satisfy the following relationship:
[0032] Where, k a This is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time. Understandably, the urgency factor g(ts) and the remaining transmission time ts have a non-linear relationship, exhibiting good robustness.
[0033] In one possible implementation of the third aspect above, the success factor h(tw) and the complete transmission time tw satisfy the following relationship:
[0034] Where D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame; and c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor. Understandably, the urgency factor g(ts) and the remaining transmission time ts also have a non-linear relationship, exhibiting good robustness.
[0035] In one possible implementation of the third aspect described above, the first electronic device can determine the remaining transmission time in the following way: Based on the data frame length of the data frame at the current moment and the historical average transmission bit count of the data frame, the first electronic device determines the remaining transmission time of the data frame. The historical average transmission bit count is the average number of bits that the channel between the first electronic device and the second electronic device corresponding to the data frame can support transmission over a first historical time period. Understandably, the first electronic device can record the maximum number of bits that the channel corresponding to the data frame can support transmission at each time point within the first historical time period, and then calculate the average of the maximum number of bits at each time point within the first historical time period to obtain the historical average transmission bit count of the channel within the first historical time period. Furthermore, the specific time period of the first historical time period can be pre-configured; for example, 1ms prior to the current moment can be used as the time period for calculating the historical average transmission bit count each time. Then, the stored maximum number of bits that can be supported for transmission for each data frame corresponding to the data frame 1ms prior to the current moment can be averaged to obtain the historical average transmission bit count. Specifically, there are many ways to calculate the historical average transmission bit count, which are not limited here. Understandably, the historical average number of bits transmitted through the channel reflects a trend in the maximum number of bits that the channel corresponding to each data frame can support. Using the data frame length of the current data frame and the historical average number of bits transmitted through the channel, the remaining transmission time can be reasonably obtained.
[0036] In one possible implementation of the third aspect above, the remaining transmission time ts satisfies:
[0037] Where q represents the data frame length; This represents the average number of bits transmitted in the historical channel.
[0038] In one possible implementation of the third aspect above, the complete transmission time tw satisfies:
[0039] Where w represents the waiting time for the data frame to be transmitted, which is the time from the initial moment to the current moment; q represents the length of the data frame. represents the historical average number of bits transmitted through the channel; r represents the current number of bits transmitted through the channel for the data frame, which is the maximum number of bits that the channel can support for transmission between the first electronic device and the second electronic device corresponding to the data frame at the current moment.
[0040] In one possible implementation of the third aspect described above, the first electronic device determines the first data frame to be transmitted based on the transmission success probability of each data frame, including: the first electronic device calculating a priority score for each data frame based on the transmission success probability of each data frame; and determining the first data frame based on each priority score. It is understood that the first electronic device can calculate the priority score for each data frame, and the priority score can intuitively show the priority of transmitting each data frame, thereby determining the first data frame.
[0041] In one possible implementation of the third aspect above, the priority score for each data frame satisfies: Priority=β*f(·)*P1
[0042] In this context, Priority represents the priority score, β is a hyperparameter, and f(·) represents the channel dominance factor. The channel dominance factor is related to the data frame length, the current channel transmission bit count, and the historical channel average transmission bit count. The current channel transmission bit count is the maximum number of bits that the channel can support for transmission between the first electronic device and the corresponding second electronic device at the current moment. The historical channel average transmission bit count is the average number of bits that the channel can support for transmission between the first electronic device and the corresponding second electronic device within a first historical time period. The explanation of the historical channel average transmission bit count is as described above and will not be repeated here. It is understandable that the priority score considers not only the success probability of each data frame but also the channel dominance of each data frame, making it more scientific and reasonable.
[0043] In one possible implementation of the third aspect above, the channel dominance factor satisfies:
[0044] Where r represents the number of bits transmitted in the current channel; q represents the average number of bits transmitted through the historical channel; q represents the data frame length. Understandably, the channel dominance factor fully considers the current channel transmission bit count, the historical channel transmission average bit count, and the data frame length, making it more scientific and reasonable.
[0045] Understandably, the first electronic device may determine the first data frame to be transmitted in the same way as in the first aspect described above during this process. For specific beneficial effects, please refer to the various possible implementations of the first aspect described above, which will not be elaborated here.
[0046] Fourthly, embodiments of this application provide a data transmission method applied to an extended reality scenario. The extended reality scenario includes a first electronic device and multiple second electronic devices. During uplink transmission, the multiple second electronic devices send a data transmission request message to the first electronic device. The data transmission request message instructs the second electronic devices to transmit cached data frames to the first electronic device. The second electronic device corresponding to the first data frame receives a transmission permission instruction sent by the first electronic device. The method for determining the first data frame is related to the success probability of transmitting the cached data frames of each second electronic device. The second electronic device corresponding to the first data frame sends the first data frame to the first electronic device.
[0047] Fifthly, embodiments of this application provide a data transmission device, the data transmission device comprising: a buffer module for buffering multiple data frames, wherein each data frame is to be transmitted to a second electronic device; a determination module for determining a first data frame to be transmitted based on the transmission success probability of each data frame, wherein the transmission success probability is used to evaluate the probability that the data frame is successfully transmitted; and a transmission module for transmitting the first data frame to the second electronic device corresponding to the first data frame.
[0048] For example, during downlink transmission, the data transmission device can be network device 90A as described below.
[0049] In one possible implementation of the fifth aspect above, the data frame is the data frame cached by the buffer module at the current moment. The current moment is any point in time within the delay period. The starting point of the delay period is the initial moment. The transmission success probability is determined based on the remaining transmission time and the complete transmission time. The remaining transmission time is the time required for the data frame to be transmitted from the current moment to the end. The complete transmission time is the time required for the data frame to be transmitted from the initial moment to the end. Furthermore, the transmission success probability is negatively correlated with both the remaining transmission time and the complete transmission time.
[0050] In one possible implementation of the fifth aspect above, the probability of successful transmission satisfies: P1 = g(ts) * h(tw)
[0051] Where P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the complete transmission time; and h(tw) is the success factor, which is negatively correlated with the complete transmission time tw.
[0052] In one possible implementation of the fifth aspect above, the urgency factor satisfies:
[0053] Where, k aThis is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time.
[0054] In one possible implementation of the fifth aspect above, the success factor satisfies:
[0055] Where D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame; and c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor.
[0056] In one possible implementation of the fifth aspect above, the determining module is further configured to determine the remaining transmission time in the following manner: the determining module is further configured to determine the remaining transmission time of the data frame based on the data frame length of the data frame and the historical average number of bits transmitted through the channel of the data frame, wherein the historical average number of bits transmitted through the channel is the average number of bits supported for transmission between the data transmission device and the second electronic device corresponding to the data frame during the first historical time period.
[0057] In one possible implementation of the fifth aspect above, the remaining transmission time ts satisfies:
[0058] Where q represents the data frame length; This represents the average number of bits transmitted in the historical channel.
[0059] In one possible implementation of the fifth aspect above, the complete transmission time tw satisfies:
[0060] Where w represents the waiting time for the data frame to be transmitted, which is the time from the initial moment to the current moment; q represents the length of the data frame. represents the historical average number of bits transmitted through the channel; r represents the current number of bits transmitted through the channel for the data frame, which is the maximum number of bits that the channel can support for transmission between the data transmission device and the second electronic device corresponding to the data frame at the current moment.
[0061] In one possible implementation of the fifth aspect above, the determining module is used to determine the first data frame to be transmitted based on the transmission success probability of each data frame, including: the determining module is used to calculate the priority score of each data frame according to the transmission success probability of each data frame; the determining module is used to determine the first data frame according to each priority score.
[0062] In one possible implementation of the fifth aspect above, the priority score for each data frame satisfies: Priority=β*f(·)*P1
[0063] Where Priority is the priority score, β is a hyperparameter, and f(·) represents the channel dominance factor. The channel dominance factor is related to the data frame length, the current channel transmission bit count, and the historical channel transmission average bit count. The current channel transmission bit count is the maximum number of bits that the channel can support for transmission between the data transmission device and the second electronic device corresponding to the data frame at the current moment. The historical channel transmission average bit count is the average number of bits that the channel can support for transmission between the data transmission device and the second electronic device corresponding to the data frame during the first historical time period.
[0064] In one possible implementation of the fifth aspect above, the channel dominance factor satisfies:
[0065] Where r represents the number of bits transmitted in the current channel; q represents the average number of bits transmitted in the historical channel; q represents the data frame length.
[0066] In a sixth aspect, embodiments of this application provide a data transmission apparatus, which includes a processor and a memory. The processor is configured to execute data in the memory, causing the data transmission apparatus to perform any data transmission method as described in the first aspect and various implementations thereof, or any data transmission method as described in the second aspect and various implementations thereof.
[0067] In a seventh aspect, embodiments of this application provide a data transmission system, the system including a first electronic device and a plurality of second electronic devices; wherein, the first electronic device is any of the data transmission apparatus as described in the sixth aspect and various implementations thereof, or the data transmission apparatus of the sixth aspect; the second electronic devices are configured to receive a first data frame sent by the first electronic device.
[0068] For example, during downlink transmission, the data transmission system is the data transmission system 90 described below, the first electronic device is the network device 90A, and the second electronic device is the terminal device 90B.
[0069] Eighthly, embodiments of this application provide a data transmission apparatus, comprising: a detection module for detecting data transmission request messages sent by a plurality of second electronic devices, the data transmission request messages being used to instruct the second electronic devices to transmit cached data frames to the data transmission apparatus; a determination module for determining a first data frame to be transmitted based on the transmission success probability corresponding to the data frames of each second electronic device, wherein the transmission success probability is used to evaluate the probability that the data frame is successfully transmitted; a sending module for sending a transmission permission instruction to the second electronic device corresponding to the first data frame; and a receiving module for receiving the first data frame from the second electronic device corresponding to the first data frame.
[0070] For example, during uplink transmission, the data transmission device is network device 1000A (hereinafter referred to as network device 1000A), and the second electronic device is terminal device 1000B.
[0071] Ninthly, embodiments of this application provide a data transmission apparatus, comprising: a first sending module for sending a data transmission request message to a first electronic device, the data transmission request message being used to instruct the data transmission apparatus to transmit a cached data frame to the first electronic device; a receiving module for receiving a transmission permission instruction sent by the first electronic device; and a second sending module for sending a first data frame to the first electronic device, wherein the method for determining the first data frame is related to the success probability of transmitting the cached data frame of the data transmission apparatus.
[0072] For example, during uplink transmission, the data transmission device can be terminal device 1000B (hereinafter referred to as terminal device 1000B), and the first electronic device can be network device 1000A.
[0073] In a tenth aspect, embodiments of this application provide a data transmission apparatus, which includes a processor and a memory. The processor is configured to execute data in the memory, causing the data transmission apparatus to perform any data transmission method as described in the third aspect and various implementations thereof, or any data transmission method as described in the fourth aspect.
[0074] In the eleventh aspect, embodiments of this application provide a data transmission system, which includes a first electronic device and a plurality of second electronic devices, wherein the first electronic device is a data transmission device as described in the eighth aspect above, and the second electronic devices are data transmission devices as described in the ninth aspect above.
[0075] For example, during uplink transmission, the data transmission system can be the data transmission system 1000 described below.
[0076] In a twelfth aspect, embodiments of this application provide a readable storage medium storing instructions that, when executed on an electronic device, cause the electronic device to perform any data transmission method as described in the first aspect and various implementations thereof, the second aspect and various implementations thereof, the third aspect and various implementations thereof, or the fourth aspect and various implementations thereof.
[0077] In a thirteenth aspect, embodiments of this application provide a chip applied to an electronic device for performing any data transmission method as described in the first aspect and various implementations thereof, the second aspect and various implementations thereof, the third aspect and various implementations thereof, or the fourth aspect and various implementations thereof.
[0078] In a fourteenth aspect, embodiments of this application provide a computer program product comprising: computer program code, which, when executed on a computer, causes the computer to perform any data transmission method as described in the first aspect and various implementations thereof, the second aspect and various implementations thereof, the third aspect and various implementations thereof, or the fourth aspect and various implementations thereof.
[0079] The beneficial effects of aspects four through eleven can be referred to the beneficial effects of aspect one, and will not be repeated here. Attached Figure Description
[0080] Figure 1A shows a schematic diagram of the architecture of a communication system 1000 according to some embodiments provided in this application;
[0081] Figure 1B illustrates a video scene corresponding to XR according to some embodiments provided in this application;
[0082] Figure 2A illustrates a schematic diagram of a video frame F1 according to some embodiments provided in this application;
[0083] Figure 2B illustrates a schematic diagram of successful reception of video frame F1 according to some embodiments provided in this application;
[0084] Figure 2C illustrates a schematic diagram of a video frame F1 failure reception according to some embodiments provided in this application;
[0085] Figure 3A illustrates a queue diagram corresponding to each video frame according to some embodiments provided in this application;
[0086] Figure 3B illustrates a schematic diagram of the state of each data frame before and after the i-th transmission, according to some embodiments provided in this application.
[0087] Figure 3C illustrates a data packet transmitted in the T0, T1, and T2 stages according to some embodiments provided in this application.
[0088] Figure 3D illustrates the influence relationship between factors and priorities in priority scoring, based on some embodiments provided in this application.
[0089] Figure 3E illustrates another data packet transmitted in the T0, T1, and T2 stages, according to some embodiments provided in this application.
[0090] Figure 4 shows a schematic diagram of a network side 400 and a terminal side 500 according to some embodiments provided in this application;
[0091] Figure 5 illustrates an interaction diagram between a network device and a terminal device during downlink transmission, according to some embodiments provided in this application.
[0092] Figure 6 illustrates an interaction diagram between a network device and a terminal device during uplink transmission, according to some embodiments provided in this application.
[0093] Figure 7A illustrates a schematic diagram of a 7-layer OSI model according to some embodiments provided in this application;
[0094] Figure 7B shows a simulation experiment effect diagram according to some embodiments provided in this application;
[0095] Figure 8 shows a schematic diagram of the structure of a device 800 according to some embodiments provided in this application;
[0096] Figure 9 shows a schematic diagram of the structure of a data transmission system 90 according to some embodiments provided in this application;
[0097] Figure 10 shows a schematic diagram of the structure of a data transmission device system 1000 according to some embodiments provided in this application. Detailed Implementation
[0098] The illustrative embodiments of this application include, but are not limited to, a data transmission method, apparatus, electronic device, storage medium, and chip.
[0099] The following is an introduction to some of the terms used in this application.
[0100] Figure 1A is a schematic diagram of the architecture of the communication system 1000 used in an embodiment of this application. As shown in Figure 1A, the communication system includes network devices and terminal devices. The network device can be connected to the terminal devices wirelessly or via wired means. The figure shows one network device and six terminal devices, namely terminal device 10, terminal device 20, terminal device 30, terminal device 40, terminal device 50, and terminal device 60, etc.
[0101] For example, in the example shown in Figure 1A, terminal device 10 is a smart teacup, terminal device 20 is VR glasses, terminal device 30 is a smart gas pump, terminal device 40 is a vehicle, terminal device 50 is a mobile phone, and terminal device 60 is a printer, which are used for illustration.
[0102] Understandably, in some cases, when data is transmitted between network devices and terminal devices, the transmitted service data stream is in frames, i.e., in units of "frames". During downlink data transmission, the network device maintains multiple queues, each buffering the content of one data frame. The network device then transmits one data frame from its queue to a terminal device, and different data frames correspond to different terminal devices. During uplink data transmission, the terminal device also maintains a queue and, when permitted by the network device, sends the data frames from its queue to the network device.
[0103] Understandably, due to limitations in communication resources, during downlink transmission, the network device selects a terminal device and sends part or all of the data from the queue corresponding to that terminal device to that terminal device in each transmission. During uplink transmission, the terminal device sends part or all of the data from the buffered data frames in the queue to the network device each time, provided that the network device allows it.
[0104] For ease of explanation, the data in a data frame that needs to be transmitted between the network device and the terminal device in each downlink or uplink transmission is called a "data packet", which serves as the data transmission unit during transmission.
[0105] The following section uses a downlink transmission scenario, with the network device acting as the base station and each terminal device acting as VR glasses, as an example to illustrate this solution.
[0106] Figure 1B illustrates a video scene corresponding to XR according to some embodiments of this application. In this scene, multiple users can play games using VR glasses A1-An. VR glasses A1-An can interact with the cloud C via base station B. Video frames generated by cloud C are sent to base station B. At base station B, each VR glasses has a corresponding queue, and each queue buffers the video frames to be transmitted to the corresponding VR glasses; that is, one video frame corresponds to one VR glasses. Each VR glasses A1-An can receive video frames containing game content sent from base station B. During transmission, due to limited communication resources, a video frame needs to be transmitted multiple times before it can be fully transmitted.
[0107] Referring back to Figure 2A, assume that cloud C generates a video frame F1 containing a smiley face. After receiving video frame F1, base station B buffers it in the queue corresponding to VR glasses A1. Initially, the queue contains all the data of video frame F1. Understandably, due to limited communication resources, when base station B receives multiple video frames and stores them in their respective queues, it calculates the priority of the video frames in each queue, determines the video frames that need to be transmitted, and then transmits the data from the determined video frames according to the allowed data transmission volume. During subsequent transmissions, base station B will transmit the data from the video frames to VR glasses A1 multiple times. After each transmission, the length of the video frames in the queue will change. After multiple transmissions, all the initially buffered data (i.e., video frame F1) in the queue can be sent to VR glasses A1. When video frame F1 transmits all its data in n transmissions, the data of each transmitted data frame is denoted as data packets B1, B2, ..., Bn.
[0108] It's understandable that multiple data packets B1-Bn corresponding to the same video frame are usually correlated. If one or more data packets in a video frame sent by VR glasses A1 fail to be received, the video frame is likely to fail to be decoded and ultimately cannot be displayed, affecting the user experience. As an example, as shown in Figure 2B, if VR glasses A1 successfully receives data packets B1-Bn, VR glasses A1 can obtain the aforementioned video frame F1 based on the received data packets being B1-Bn, and at this time, it is considered that video frame F1 has been successfully received. As shown in Figure 2C, in some cases, VR glasses A1 may also fail to receive some data packets. For example, if data packet Bn fails to be received, even if VR glasses A1 successfully receives other data packets, it is considered that video frame F1 has failed to be received, and therefore, it may not be able to decode video frame F1 for display. Therefore, when each XR terminal device transmits single-frame data with base station B, it is necessary to consider the integrity of the data frame transmission to ensure the success rate of each data frame transmission.
[0109] The transmission process is described in detail below:
[0110] In some embodiments, when cloud C generates data, the data generated by cloud C will arrive at base station B in a batch manner. All data corresponding to the same frame will arrive at base station B at the same time (i.e. batch arrival). At this time, each queue in base station B will buffer a data frame that needs to be transmitted (for example, in addition to the video frame mentioned above, it can also be a haptic frame, etc.), and the size of each data frame can be different.
[0111] For example, as shown in Figure 3A, the base station is equipped with multiple queues A11-Ann, each of which buffers a data frame M1-Mn. The example described is of the base station transmitting data frames M1-Mn to VR glasses A1-An. Specifically, queue A11 can buffer data frame M1 that base station B needs to send to VR glasses A1, queue A22 can buffer data frame M2 that base station B needs to send to VR glasses A2, and so on, while queue Ann can buffer data frame Mn that base station B needs to send to VR glasses An.
[0112] It's understandable that base station B has limited bandwidth resources. In some cases, base station B can only communicate with a limited number of XR terminal devices per transmission. For example, in the current transmission, base station B can only transmit with VR glasses A1, and in the next transmission, it can only transmit with VR glasses A2. In this situation, there will be contention among the XR terminal devices. Then, each time base station B transmits, it calculates the priority of each data frame and transmits the data frames that meet the priority conditions (e.g., the priority level meets the first threshold) to the corresponding VR glasses. Furthermore, after each transmission, the length of the transmitted data frame changes; that is, the data frame dynamically changes with the transmission process.
[0113] For example, if base station B's bandwidth allows it to transmit to two XR terminal devices at a time, then base station B will transmit the two data frames with the highest and second highest priority (i.e., the first and second highest priority levels) to the corresponding VR glasses each time. As another example, if base station B's bandwidth allows it to transmit to one XR terminal device at a time, then base station B will transmit the data frame with the highest priority level to the corresponding VR glasses each time. Continuing with Figure 3A, taking the example of base station B transmitting one data frame at a time, since base station B can only transmit one data frame at a time, base station B successfully transmits data frame M1 to VR glasses A1 only after determining data frame M1 as the highest priority twice, that is, the two transmissions correspond to data packets M11 and M12 respectively; data frame M12 is determined as the highest priority five times before successfully transmitting data frame M2 to VR glasses A2; ..., data frame M1n is determined as the highest priority twice before successfully transmitting data frame Mn to VR glasses An.
[0114] To illustrate this more clearly, Figure 3B shows a comparison of the dynamic changes of each data frame before and after transmission when base station B transmits a certain data frame. Figure 3B shows the changes in each data frame of base station B before and after transmission during the i-th transmission. Assume the data transmitted by base station in the i-th transmission is the data of data frame M2. Referring to Figure 3B, before the i-th transmission, data frame M1 is the remaining data after the transmission of data packet M11, which is subsequently transmitted to VR glasses A1 as data packet M12; data frame M2, since its priority has not been determined since the first priority calculation, represents all the data received by base station B from the cloud, ..., data frame Mn, since its priority has not been determined since the first priority calculation, represents all the data received by base station B from the cloud. Assume that base station B determines to transmit data frame M2 to VR glasses A2 during the i-th transmission. At this time, base station B transmits the data in data frame M2 to VR glasses A2 as data packet M12. At this point, after the i-th transmission, the data in data frame M2 will be reduced by the amount of data in data packet M21, while the data in the remaining data frames remains unchanged. Therefore, the data in the queue will dynamically change with the transmission from base station B.
[0115] It is understandable that frames have a time delay constraint. That is, after a data frame arrives at base station B, it needs to be fully transmitted within a time delay period (e.g., 10ms). Otherwise, data that failed to be transmitted in each queue will be cleared, resulting in XR terminal devices failing to receive the data frame. For example, in some embodiments, the time delay period can be 10ms, meaning each 0.5ms segment is a time slot, and 10ms includes 20 time slots. For data frame M1 in Figure 3A, after transmitting data packet M11, the remaining data in queue A11—that is, the untransmitted portion of data frame M1—is not fully transmitted within the specified time. At this point, the remaining data belonging to data frame M1 in queue A11 will be cleared, and VR glasses A1 will not be able to receive the complete data frame M1, meaning the frame transmission has failed.
[0116] Currently, there are various methods for determining the priority of each data frame. Examples include the proportional fairness (PF) algorithm and the modified largest weighted delay first (M-LWDF) algorithm. However, current priority determination algorithms optimize based on maximizing throughput or minimizing latency in data transmission, without considering the number of complete data frames received by each XR terminal device, thus impacting the quality of service (QoS).
[0117] Taking the proportional fairness algorithm as an example, in various XR application scenarios, the frame integrity and latency of data frames during transmission are closely related to the quality of service. However, the proportional fairness algorithm cannot guarantee the success rate of frame arrival within a certain transmission time. For example, consider that base station B can only transmit one data packet of the highest priority data frame at a time. Referring to Figure 3C, during the T0th transmission, assuming that the current channel of VR glasses A1 is good, the instantaneous rate is high, and the priority is the highest, base station B transmits data packet M11 corresponding to data frame M1 to VR glasses A1; during the T1th transmission, assuming that the current channel of VR glasses A2 is good, the instantaneous rate is high, the average rate is low, and the priority is the highest, base station B transmits data packet M21 corresponding to data frame M2 to VR glasses A2; during the T2th transmission, assuming that the current channel of VR glasses A3 is good, the instantaneous rate is high, the average rate is low, and the priority is the highest, base station B transmits data packet M31 corresponding to data frame M3 to VR glasses A3. It can be observed that, assuming that after 3 transmissions, the specified time is reached, there is still a lot of untransmitted data remaining in the queues corresponding to VR glasses A1, A2, and A3. That is, data frames M1, M2, and M3 have not been completely transmitted, meaning that base station B has not successfully transmitted the content of a single data frame, thus affecting the user's service quality.
[0118] It is understandable that the success rate of data frame transmission is closely related to service quality over a certain period. Therefore, when determining the priority of each data frame, it is necessary to consider not only the channel state but also relevant information about the data frame, such as the remaining transmission time of the current frame and the frame delay period requirements.
[0119] Therefore, to address the aforementioned problems, this application proposes a data transmission method. In this method, when a first electronic device (e.g., a network device such as a base station) needs to transmit data with multiple second electronic devices (e.g., terminal devices such as VR glasses), the first electronic device, when determining the data frames to be transmitted, needs to consider not only the channel state of each second electronic device but also the integrity and latency requirements of the data frames. Then, the first electronic device sends the data frames to be transmitted, based on the data frame integrity and latency requirements determined by the first electronic device.
[0120] For example, during each transmission, the base station can consider not only the channel state but also the probability of successful data frame transmission. Specifically, when determining the data frames to be transmitted, the first data frame to be transmitted is determined based on the transmission success probability of each data frame. The transmission success probability is used to evaluate the probability of each data frame being successfully transmitted. This transmission success probability can be determined based on the remaining transmission time and the total transmission time.
[0121] Specifically, the remaining transmission time is the time required for the data frame at the current moment to be completely transmitted. The current moment can be any point in time within the delay period, and the start of the delay period is the initial moment. The complete transmission time is the time required for the data frame to be transmitted from the initial moment to completion. It can be understood that the remaining transmission time represents the time needed to transmit the data buffered in each queue at the current moment that has not yet been transmitted. The smaller the remaining transmission time, the faster the data frame at the current moment can be transmitted, thus increasing its priority and transmitting it first, thereby increasing the number of successfully transmitted frames. However, as mentioned earlier, data frame transmission has frame latency requirements, meaning each frame of data needs to be transmitted within the delay period. Therefore, while considering the remaining transmission time, the complete transmission time also needs to be considered, i.e., whether the data frame at the current moment can be transmitted within the specified time, thereby improving the quality of data frame transmission. Therefore, it is necessary to consider whether the frame latency requirements are met when all data of the data frame buffered in the queue at the initial moment is transmitted. If the complete transmission time exceeds the frame latency requirements, the priority of the current data frame transmission can be reduced.
[0122] Therefore, taking into account the remaining transmission time and the complete transmission time, the first electronic device can determine the priority of each data frame according to the transmission success probability during each transmission, and then determine the first data frame to be transmitted based on the priority of each data frame, and then send the first data frame to the corresponding second electronic device.
[0123] It is understandable that the priority takes into account not only the channel state between the first electronic device and each of the second electronic devices, but also the number and quality of successful transmission of each data frame during the transmission process, such as the remaining transmission time and the complete transmission time mentioned above, thereby improving the efficiency of transmitting as many data frames as possible within a certain time.
[0124] Specifically, in some embodiments, a priority score that reflects the priority can be calculated for each data frame. The priority of each data frame is determined based on the calculated priority score value, and the higher the priority value, the higher the corresponding priority.
[0125] In some embodiments, the priority score includes not only a channel dominance factor related to channel state, but also an urgency factor of the data frame and a success factor; wherein, the urgency factor is negatively correlated with the remaining transmission time, the shorter the remaining transmission time, the larger the urgency factor, and the higher the priority; the success factor is also negatively correlated with the complete transmission time, the shorter the complete transmission time, the larger the success factor, and the higher the priority.
[0126] The following example uses the case of prioritizing both the remaining transmission time and the complete transmission time, and takes the case where the probability of successful transmission can be the product of the urgency factor and the success factor.
[0127] In some embodiments, the following formula (1-1) shows a relationship between the priority score of a data frame Li (corresponding to the XR terminal device Ei) and the probability of successful transmission, and formula (1-2) shows a relationship between the probability of successful transmission and the remaining transmission time, as well as the total transmission time: Priority=β*f(·)*P1 (1-1) P1=g(ts)*h(tw) (1-2)
[0128] In formula (1-1), Priority represents the priority score, P1 represents the transmission success probability, f(·) represents the channel dominance factor, and β is a hyperparameter. In formula (1-2), g(ts) represents the urgency factor, h(tw) represents the success factor, ts represents the remaining transmission time, and tw represents the total transmission time. In the embodiments of this application, the better the channel condition, the higher the priority; the higher the urgency factor, the higher the priority; and the higher the success factor, the higher the priority.
[0129] In some embodiments, the channel dominance factor f(·) can be obtained by the following formula (2):
[0130] Where f(·) represents the channel dominance factor. i This indicates the current number of bits transmitted through the channel, i.e., the current channel state. Specifically, it represents the maximum number of bits that the channel between the corresponding XR terminal device Ei and the network device can support transmitting at the current moment; if r i The larger the value, the better the channel condition. i This represents the length of data frame Li at the current moment, i.e., the number of bits in data frame Li that have not yet been transmitted at the current moment. min{r i ,q i} represents the maximum number of bits that a data frame Li can transmit under the current channel.
[0131] It is understandable that although the ri corresponding to data frame Li is relatively large, the maximum amount of data that can be transmitted at present does not exceed the data frame length qi of data frame Li. This represents the historical average number of bits transmitted over a channel (i.e., historical channel state), specifically the average number of bits that the network device and the XR terminal device Ei can transmit over a given historical time period. Understandably, the historical channel state reflects the channel quality trend between the network device and the XR terminal device Ei over a past period; the specific calculation method is not required. For example, the network device can record the maximum number of bits that the channel corresponding to the data frame can transmit at each time point within a historical time period, and then calculate the average of the maximum number of bits at each time point within the historical time period to obtain the historical average number of bits transmitted over that channel. Understandably, when calculating the historical channel state, data from the current channel state can be used, or not; this is not required. Example 1: When the current channel state is not considered, the maximum transmission capacity at the past three consecutive time points is 6 bits, 8 bits, and 12 bits respectively. In this case, averaging the maximum number of bits transmitted by the XR terminal device Ei and the network device over the past three consecutive time points yields a historical channel state with an average bit count of 8 bits. Example 2: When considering the current channel state, the maximum transmission bits for the past three consecutive time points were 6 bits, 8 bits, and 12 bits, respectively, and the maximum transmission bit for the current time point was 10 bits. The average number of bits transmitted over the historical time period, including the current time point, is 9 bits.
[0132] Understandably, the ratio in formula (2) reflects the channel dominance corresponding to data frame Li. If the current channel is better and the historical channel is worse, it indicates that the current channel has an advantage and transmission needs to be done quickly. If the current channel is better and the historical channel is also better, it indicates that the channel of the terminal device has always been better. Compared with other terminal devices with poor historical channel status but good current channel, it does not have an advantage at this time.
[0133] Understandably, when the current channel state corresponding to data frame Li improves, the priority is higher, allowing high-priority users to make full use of the channel.
[0134] It is understandable that the channel dominance factor can also be expressed in other ways, and we will not impose too many restrictions on it here.
[0135] In some embodiments, the urgency factor g(ts) can be obtained by the following formulas (3-1) and (3-2):
[0136] In formula (3-1), k a ≥0 is an adjustment parameter, i.e., a hyperparameter, used to adjust the influence of the urgency factor on the priority calculation result. In formula (3-2), q... i r i as well as Referring to the description of formula (2) above, it will not be repeated here. Furthermore, the remaining transmission time ts calculated in formula (3-2) can also be calculated using other methods in other implementations, such as the numerator... The calculation is performed using the current channel state, and no specific requirements are set here. It's understandable that the smaller the remaining transmission time for data frame Li, the faster data frame Li can be transmitted, and the greater the probability of successful transmission.
[0137] In some embodiments, the success factor h(tw) can be obtained by the following formulas (4-1) and (4-2):
[0138] In formula (4-1), D represents the delay period corresponding to the frame hard delay constraint, which can be 10ms, and 10ms is 20 time slots. c>0 is a hyperparameter. In some implementations, c=1. μ>0 is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame. In some implementations, μ=1.
[0139] Formula (4-2) shows one way to calculate the complete transmission time tw. tw can also be obtained in other ways, which are not limited here. i It is the waiting time of data frame Li, that is, the time from the initial moment to the current moment for data frame Li, q i r i as well as Referring to the description of formula (2) above, it will not be repeated here. This represents the time required for the remaining data in data frame Li to be transmitted after the current channel transmission. tw-μ*D represents the magnitude of the complete transmission time and delay period. A longer complete transmission time results in a larger value for tw-μ*D, which in turn increases the likelihood of transmission failure and decreases the success factor. Understandably, the success factor allows for monitoring of data frame Li, timely identification of frames that cannot be successfully transmitted, and a reduction in their priority.
[0140] It is understandable that the priority of each data frame can be updated during each transmission, or the priority of each data frame can be updated after a preset number of transmissions; this is not required here.
[0141] Figure 3D illustrates the influence relationship between factors and priorities in priority scoring, according to some embodiments of this application. As shown in Figure 3D, the channel dominance factor in priority scoring reflects the channel dominance of each data frame, while the urgency factor and success factor reflect the probability of successful transmission. Specifically, the urgency factor mainly involves the remaining transmission time, which further reflects the number of data frames that are successfully transmitted within a certain time. The longer the remaining transmission time, the lower the probability of each data frame being successfully transmitted, and the fewer the number of data frames that are successfully transmitted within a certain time. The success factor involves the complete transmission time, which reflects the failure rate of the queue within the delay constraint, and further reflects the probability that the data frame can be successfully transmitted. The shorter the complete transmission time, the higher the probability that the data frame is successfully transmitted.
[0142] Understandably, observing the above formulas (1-1) and (1-2), if the current channel is dominant, but the urgency factor and success factor are smaller, the priority will also be lower. For example, if the data frame has just arrived at the base station, the number of bits in the data frame is large, and there is a long remaining transmission time, so the transmission is not urgent enough, that is, the urgency factor g(ts) is small. At this time, the priority will be reduced, and there will be an opportunity to transmit other data frames, thereby improving the frame satisfaction rate.
[0143] Understandably, for the scenario shown in Figure 1B, base station B can calculate the priority score of each VR headset device according to formulas (1-1) to (4-2) above, and then determine the priority of each data frame based on the priority score, thereby determining the first data frame that needs to be transmitted, and then sending the data in the first data frame, i.e., the data packet, to the corresponding terminal device. For example, referring to Figure 3E, in the T0th transmission, assuming that base station B calculates that data frame M1 has the highest priority, base station B transmits data packet M11 corresponding to data frame M1 to VR headset A1; in the T1th transmission, assuming that base station B calculates that data frame M1 has the highest priority, base station B continues to transmit data packet M12 corresponding to data frame M1 to VR headset A1; in the T2th transmission, assuming that base station B calculates that data frame M2 has the highest priority, base station B transmits data packet M21 corresponding to data frame M2 to VR headset A2. It can be seen that after 3 transmissions, the data frame M1 corresponding to VR headset A1 is successfully transmitted, improving the frame satisfaction rate.
[0144] For example, the following formula (5) shows an expression for the ratio of successful frame transmissions (also known as "frame satisfaction rate"):
[0145] Where, x iy represents the number of frames transmitted to the XR terminal device Ei (i = 1, 2, 3... n) within a preset observation time T. i This represents the number of frames successfully transmitted to the XR terminal device Ei (i = 1, 2, 3... n). The higher the number of data frames successfully transmitted within the specified time, the higher the frame satisfaction rate.
[0146] It is understandable that the scenarios corresponding to XR include, but are not limited to, the video scenarios mentioned above, as well as tactile, auditory, and olfactory sensory scenarios. The embodiments of this application do not limit the application scenarios of base stations and XR devices. As long as the service data stream is a data frame, it is within the protection scope of this application, and will not be elaborated here.
[0147] In some embodiments of this application, the network device can be a device in a wireless network. For example, the network device can be a RAN node (or device) that connects terminal devices to the wireless network, and can also be called a base station. For example, the RAN device can be: a base station, an evolved NodeB (eNodeB), a gNB (gNodeB) in a 5G communication system, a transmission reception point (TRP), an evolved Node B (eNB), a radio network controller (RNC), a Node B (NB), a home base station (e.g., a home evolved Node B, or a home Node B, HNB), a base band unit (BBU), or a wireless fidelity (Wi-Fi) access point (AP), etc. In addition, in a network structure, the network device can include a centralized unit (CU) node, a distributed unit (DU) node, or a RAN device including CU nodes and DU nodes.
[0148] Optionally, the RAN node can also be a macro base station, micro base station, indoor station, relay node, donor node, or a radio controller in a cloud radio access network (CRAN) scenario. The RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU).
[0149] In another possible scenario, multiple RAN nodes collaborate to assist the terminal in achieving wireless access, with each RAN node performing a portion of the base station's functions. For example, RAN nodes can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs), etc. CUs and DUs can be separate entities or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs).
[0150] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an open access network (open RAN, O-RAN, or ORAN) system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software modules and hardware modules.
[0151] Network devices can be other devices that provide wireless communication functions for terminal devices. The embodiments of this application do not limit the specific technology or form of the network device. For ease of description, the embodiments of this application are not limited.
[0152] Network equipment may also include core network equipment, such as the Mobility Management Entity (MME), Home Subscriber Server (HSS), Serving Gateway (S-GW), Policy and Charging Rules Function (PCRF), and Public Data Network Gateway (PDN Gateway, P-GW) in 4th generation (4G) networks; and access and mobility management function (AMF), user plane function (UPF), or session management function (SMF) in 5G networks. Furthermore, this core network equipment may also include other core network equipment in 5G networks and next-generation networks of 5G networks.
[0153] In the embodiments of this application, the means for implementing the functions of a network device can be a network device itself, or it can be a means that enables the network device to implement the functions, such as a chip system, which can be installed in the network device. In the technical solutions provided in the embodiments of this application, the example of a network device being used to implement the functions of a network device is used to describe the technical solutions provided in the embodiments of this application.
[0154] In the embodiments of this application, the terminal device can be a terminal in an Internet of Things (IoT) system. IoT is an important component of future information technology development, and its main technical feature is connecting objects to networks through communication technologies, thereby realizing an intelligent network of human-machine interconnection and object-to-object interconnection. The terminal in this application can be a terminal in machine-type communication (MTC). The terminal in this application can be an on-board module, on-board component, on-board chip, or on-board unit built into a vehicle as a component or unit. The vehicle can implement the method of this application through the built-in on-board module, on-board component, on-board chip, or on-board unit. Therefore, the embodiments of this application can be applied to vehicle networking, such as vehicle to everything (V2X), long term evolution vehicle (LTE-V), vehicle to vehicle (V2V), etc.
[0155] In this application, terminal equipment may also be referred to as user equipment (UE), access terminal equipment, vehicle-mounted terminal, industrial control terminal, UE unit, UE station, mobile station, mobile station, remote station, remote terminal equipment, mobile device, UE terminal equipment, wireless communication equipment, machine terminal, UE agent, or UE device, etc.
[0156] The terminal device in this application can be a VR terminal device, an AR terminal device, or a MR terminal device. VR terminals, AR terminals, and MR terminals can all be referred to as XR terminal devices. XR terminal devices can be, for example, head-mounted devices (such as helmets or glasses), all-in-one devices, televisions, monitors, automobiles, in-vehicle devices, tablets, smart screens, holographic projectors, video players, remote-controlled robots, tactile internet terminals, etc. XR terminals can present XR data to users, and users can experience diverse XR services by wearing or using XR terminals. XR terminals can access the network wirelessly or via wired means, such as through wireless-fidelity (WiFi) or 5G systems. Base stations and terminals can be fixed in location or mobile. Base stations and terminals can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and artificial satellites.
[0157] Figure 4 illustrates a schematic diagram of a network side 400 and a terminal side 500 according to some embodiments of this application. The network side 400 represents a network device, and the terminal side 500 represents one or more terminal devices that transmit data with the network device.
[0158] As shown in the figure, the network side 400 includes a data collection unit 401, a priority calculation module 402, and a priority scheduling module 403. The terminal side 500 includes a packet receiving unit 501 and a frame receiving unit 502.
[0159] Specifically, the data collection unit 401 is used to collect the waiting time, channel state, and data frame length of each data frame from the terminal side 500. For example, the waiting time of the first bit to be transmitted in the data frame can be viewed as the data frame's waiting time. In some implementations, when the service data frame's buffer queue is on the network side, the scheduler reads the waiting time of the first bit of each queue and the data frame length, and obtains the channel state corresponding to each data frame based on the channel state information (CQI) fed back by the terminal device to the network device.
[0160] The priority determination module 402 is used to determine the priority of each data frame on the terminal side 500. Specifically, the priority calculation module 402 calculates the priority score of each data frame and determines the priority based on the priority score.
[0161] The priority determination module 402 includes a failure identification module 402A, an urgency level judgment module 402B, and a channel dominance identification module 402C.
[0162] The failure identification module 402A is used to: 1. calculate the complete transmission time of a data frame based on the waiting time of each data frame at the current moment and the remaining transmission time; 2. estimate whether the data frame can be successfully transmitted by comparing the complete transmission time with the delay period of the data frame (e.g., 10s). Understandably, the magnitude of the complete transmission time and the delay period (e.g., 10s) reflects the probability that the data frame will fail to transmit. Furthermore, the failure identification module 402A is also used to determine a success factor related to the degree of failure / success based on the complete transmission time and delay constraints.
[0163] The urgency assessment module 402B is used to calculate the remaining transmission time and to calculate the urgency factor based on the remaining transmission time. Understandably, the remaining transmission time reflects the number of data frames successfully transmitted.
[0164] The channel dominance identification module 402C is used to compare the channel state corresponding to each data frame with the historical channel state, and the comparison result can reflect the data frame that is currently channel dominant; it is also used to calculate the channel dominance factor based on the channel state corresponding to each data frame and the historical channel state.
[0165] Understandably, the priority calculation module 402 can calculate the priority score of each data frame based on the success factor obtained by the failure identification module 402A, the urgency factor obtained by the urgency judgment module 402B, and the channel dominance factor obtained by the channel dominance identification module 402C, thereby determining the corresponding priority.
[0166] The priority scheduling module 403 is used to perform scheduling according to the determined priority order. For example, it can transmit data packets corresponding to higher priority data frames according to the priority order.
[0167] The packet receiving unit 501 is used to receive data packets transmitted by the network device. Understandably, if a data frame is scheduled by the network device, the terminal device corresponding to that data frame can receive the data packet. The terminal device then counts the data in the data packet and checks whether the data packet belongs to the last data packet of a frame. If so, it passes this information to the frame receiving unit 502.
[0168] The frame receiving unit 502 is used to obtain the corresponding data frame based on the received data packets corresponding to the same frame; it is also used to reflect the real-time reception status of the frame to the network side (e.g., the data collection unit 401), such as whether the data frame was successfully received. Understandably, if the frame receiving unit 502 receives the last packet of a frame, it can pass the message to the network device.
[0169] Figure 5 is a schematic diagram illustrating the interaction between a network device and a terminal device during downlink transmission, as provided in an embodiment of this application. Figure 5 uses the network device and the terminal device as examples of the execution entities in the interaction illustration to demonstrate the data transmission method of this application. However, this application does not limit the execution entities of this interaction illustration. The network device in Figure 5 can also be a chip, chip system, or processor that supports the implementation of this method on the network device, and the terminal device in Figure 5 can also be a chip, chip system, or processor that supports the implementation of this method on the terminal device. Furthermore, Figure 5 uses the example of a network device 400A transmitting only one data packet with one terminal device in a single transmission for illustration.
[0170] The specific process is as follows:
[0171] S501A, terminal device 500A sends first information Z1 to network device 400A, the first information Z1 including channel status.
[0172] In some embodiments, the channel state may include the maximum number of bits that the channel between terminal device 500A and network device 400A can support for transmission at the current moment, denoted as r1.
[0173] S501B, terminal device 500B sends first information Z2 to network device 400A, the first information Z2 including channel status.
[0174] In some embodiments, the channel state may include the maximum number of bits that the channel between the terminal device 500B and the network device 400A can support for transmission at the current moment, denoted as r2.
[0175] S501C, terminal device 500C sends first information Z3 to network device 400A, the first information Z3 including channel status.
[0176] In some embodiments, the channel state may include the maximum number of bits that the channel between the terminal device 500C and the network device 400A can support for transmission at the current moment, denoted as r3.
[0177] S501D, terminal device 500D sends first information Z4 to network device 400A, the first information Z4 including channel status.
[0178] In some embodiments, the channel state may include the maximum number of bits that the channel between the terminal device 500D and the network device 400A can support for transmission at the current moment, denoted as r4.
[0179] It is understood that the execution of steps S501A-S501D above does not have a specific order. For example, in some embodiments, they can be executed simultaneously, while in other embodiments they can be executed in a different order.
[0180] S502, the network device 400A collects statistics on the channel status, queue status, and waiting time corresponding to each data frame to obtain statistical information.
[0181] It is understandable that the channel state statistics collected by network device 400A include both the current channel state and the historical channel state. Network device 400A can store the channel state corresponding to each data frame at each point in time, and thus calculate the historical channel state based on the channel state over a period of time. Specifically, it can update the historical channel state based on the received current channel states r1, r2, r3, and r4 corresponding to each data frame, thereby obtaining the historical channel state corresponding to each data frame. Among them, terminal devices 500A, 500B, 500C, and 500D correspond to data frames LA, LB, LC, and LD, respectively.
[0182] It can be understood that the queue status represents the length of each queue, which is the length of the data frame stored in the queue. Specifically, the data frame lengths corresponding to terminal devices 500A, 500B, 500C, and 500D are denoted as q1, q2, q3, and q4, respectively.
[0183] It can be understood that the waiting time is the waiting time of each data frame at the current moment. Specifically, let the waiting times of data frame LA, data frame LB, data frame LC, and data frame LD be w1, w2, w3, and w4, respectively.
[0184] In some embodiments, the network device 400A collects statistics on the channel state, queue state, and waiting time corresponding to each data frame to obtain statistical information, which includes the current channel state, historical channel state, waiting time, and data frame length corresponding to each data frame.
[0185] S503, the network device 400A determines the priority of each data frame transmission based on statistical information.
[0186] In some embodiments, the network device 400A calculates the channel dominance, remaining transmission time, and complete transmission time based on the current channel state, historical channel state, data frame length, and waiting time for each queue included in the statistical information; and determines the priority of each data frame based on the channel dominance, remaining transmission time, and complete transmission time.
[0187] In some implementations, a priority score can be calculated based on channel dominance, remaining transmission time, and total transmission time. The priority of each data frame is then determined by the magnitude of its priority score. Specifically, based on channel dominance, remaining transmission time, and total transmission time, a success factor, an urgency factor, and a channel dominance factor are calculated for each queue, thus yielding a specific priority score. Furthermore, a higher priority score indicates a higher priority.
[0188] The following steps S503A-S503C detail the specific steps for determining the success factor, urgency factor, and channel dominance factor in some implementation methods.
[0189] S503A, network device 400A estimates the complete transmission time and obtains the success factor.
[0190] In some implementations, the network device 400A determines the data frame based on the waiting time w1, w2, w3, w4, data frame length q1, q2, q3, q4, channel state r1, r2, r3, r4, and historical channel state. The complete transmission time is estimated and compared with the predefined frame delay constraint to obtain the success factor.
[0191] For example, referring to the above formula (4), based on the waiting time w1, w2, w3, w4 of each data frame, the data frame length q1, q2, q3, q4, the channel state r1, r2, r3, r4, and the historical channel state... The success factors h1, h2, h3, h4 of data frame LA, LC, and LD are calculated respectively.
[0192] S503B, network device 400A estimates the remaining transmission time and obtains the urgency factor.
[0193] In some embodiments, the network device 400A determines the data frame lengths q1, q2, q3, and q4 of each corresponding queue, as well as the corresponding historical channel states. Estimate the remaining transmission time to determine the success factor.
[0194] For example, referring to the above formula (3), based on the data frame lengths q1, q2, q3, and q4 of each queue, and the corresponding historical channel states... The urgency factors g1, g2, h3, and h4 of data frame LA, LB, LC, and LD are calculated respectively.
[0195] S503C, network device 400A estimates channel dominance and obtains the channel dominance factor.
[0196] In some embodiments, the network device 400A stores the data frame lengths q1, q2, q3, and q4 of each queue, the corresponding channel states r1, r2, r3, and r4, and the historical channel states. The channel dominance is estimated, and thus the channel dominance factor is obtained.
[0197] For example, referring to the above formula (2), based on the data frame lengths q1, q2, q3, q4 of each queue, the corresponding channel states r1, r2, r3, r4, and the historical channel states... The channel dominance factors f1, f2, f3, f4 of data frame LA, LC, and LD are calculated respectively.
[0198] It is understandable that the execution of S503A-S503C does not have a specific order, and the specific processes can be split or combined.
[0199] It is understandable that, referring to formula (1), the corresponding priority score is obtained based on the calculated success factor, urgency factor and channel dominance factor, and the priority is determined based on the priority score.
[0200] S504, network device 400A is scheduled according to priority.
[0201] In some embodiments, network device 400A determines the first data frame to be transmitted based on the priority of each data frame and the current transmission resources, and transmits the data in the first data frame to the corresponding terminal device, that is, transmits data packets to the terminal device corresponding to the first data frame. If the current transmission resources are sufficient to transmit N data packets, then it is determined that the data frames with the highest priority N will be transmitted, that is, the data packets corresponding to the terminal devices corresponding to the highest priority N data frames will be transmitted. In some implementations, network device 400A can perform precoding weight calculation to achieve specific scheduling.
[0202] For example, if the current terminal device 500A has the highest priority score and the highest priority, then network device 400A needs to send a data packet from data frame LA to terminal device 500A.
[0203] S505, network device 400A transmits data packets to terminal device 500A.
[0204] In some embodiments, during the t-th transmission, network device 400A transmits a data packet from data frame LA to terminal device 500A.
[0205] Understandably, after network device 400A transmits the data packet from data frame LA to the corresponding terminal device 500A, subsequent data packet transmissions will begin. Each subsequent transmission of a data packet from a given data frame requires the priority determination process described in steps S501A to S504 to determine the data packet to be transmitted. Understandably, the terminal device transmitting with the network device in each subsequent transmission can be the same or different. For example, S506, S507, and S508 respectively show the terminal device corresponding to the network device during the (t+1)th, (t+2)th, and (t+3)th transmissions.
[0206] S506, network device 400A transmits data packets to terminal device 500C.
[0207] For the next transmission, network device 400A will still receive the first message sent by each terminal device, and determine the priority of each data frame according to steps S502 and S503, and then schedule the data according to the priority of each data frame. Assuming that the current terminal device 500C has the highest priority, network device 400A will transmit data packets to terminal device 500C.
[0208] In some embodiments, during the (t+1)th transmission, network device 400A transmits a data packet from data frame LB to terminal device 500C.
[0209] S507, network device 400A transmits data packets to terminal device 500B.
[0210] In some embodiments, similarly, during the (t+2)th transmission, network device 400A may transmit data packets from data frame LC to terminal device 500B.
[0211] S508, network device 400A transmits data packets to terminal device 500D.
[0212] In some embodiments, similarly, during the (t+3)th transmission, network device 400A can transmit data packets from data frame LD to terminal device 500C.
[0213] The "..." in the diagram indicates that after network device 400A continues transmitting data packets with each terminal device for a period of time. It's understandable that network device 400A may have transmitted multiple data frames to each terminal device, or it may have failed to transmit any. If each terminal device receives a complete data frame, for example, if it observes that the received data packet includes the identifier of the last data packet belonging to a data frame, it indicates that a complete data frame has been received and will send a feedback message to network device 400A indicating successful data frame reception. If each terminal device determines that a complete data frame has not been received, for example, under latency constraints, if it observes that the received data packet does not include the identifier of the last data packet belonging to a data frame, it indicates that a complete data frame has not been received and will send a feedback message to network device 400A indicating frame reception failure. The specific steps are shown in S509A to S509D below. The order of S509A to S509D can be different, and other steps can be interspersed in between; these will not be elaborated upon here.
[0214] S509A, terminal device 500A sends feedback to network device 400A regarding frame reception success / failure.
[0215] Understandably, after a period of time, once the terminal device 500A has received all the data packets corresponding to the same data frame, it can determine whether the received frame is complete, that is, whether the data frame has been successfully received, and then send feedback to the network device 400A whether the frame reception was successful or failed.
[0216] In some implementations, the terminal device 500A can report the success / failure of reception to the network device 400A after receiving a single data frame, or it can report the reception status to the network device 400A after receiving multiple data frames; no restrictions are imposed here.
[0217] S509B, terminal device 500B sends feedback to network device 400A regarding frame reception success / failure.
[0218] S509C, terminal device 500C sends feedback to network device 400A regarding frame reception success / failure.
[0219] S509D, terminal device 500D sends feedback to network device 400A regarding frame reception success / failure.
[0220] Steps S509B-S509D are essentially the same as S509A, and will not be repeated here; furthermore, there is no restriction on the order in which steps S509A-S509D are executed.
[0221] S510, Network Device 400A counts the number of successfully transmitted frames to all terminal devices.
[0222] In some implementations, the network device 400A counts the number of successfully sent frames to all terminal devices based on the received feedback information, thereby obtaining the frame success status.
[0223] It is understood that the execution order of steps S501 to S510 above is only an example. In other embodiments, other execution orders may be used, and some steps may be split or combined. This is not limited here.
[0224] Understandably, network devices not only transmit based on the channel status of each terminal device, but also consider the remaining transmission time and the total transmission time to ensure the number of frames successfully transmitted within the specified time, thereby improving the frame satisfaction rate. Understandably, the above transmission method can effectively improve the frame satisfaction rate and enhance the user experience of related services.
[0225] As is understandable, the above diagram illustrates the interaction between network devices and terminal devices during downlink transmission. During uplink transmission, the methods by which network devices and terminal devices determine priorities are essentially the same. The data transmission methods corresponding to uplink transmission are described below.
[0226] Figure 6 is a schematic diagram of the interaction between the network device and the terminal device during uplink transmission according to an embodiment of this application.
[0227] It is understood that Figure 6 uses a network device and a terminal device as examples of the execution entities in the interaction illustration to demonstrate the data transmission method of this application. However, this application does not limit the execution entities in this interaction illustration. In other embodiments, the network device in Figure 6 may also be a chip, chip system, or processor that supports the implementation of this method on the network device, and the terminal device in Figure 6 may also be a chip, chip system, or processor that supports the implementation of this method on the terminal device. Furthermore, Figure 6 is illustrated by the example that in one transmission, the network device 400A can transmit one data packet with each of the two terminal devices.
[0228] The specific process is as follows:
[0229] S601A, terminal device 500A sends second information K1 to network device 400A. The second information K1 includes channel status, queue status and waiting time.
[0230] Understandably, since this is an uplink transmission process, each terminal device generates data frames to be transmitted, or receives data frames from other terminal devices, and needs to transmit the data frames in its buffer queue to network device 400A. Terminal device 500A will send the channel status, queue status, and waiting time to network device 400A. The channel status is essentially the same as described in S501A of Figure 5, and will not be elaborated upon here. The queue status and waiting time are essentially the same as described in S502 of Figure 5, and will not be elaborated upon here.
[0231] S601B, transmit the second information K2, which includes channel information, queue status and waiting time.
[0232] S601C, transmit the second information K3, which includes channel information, queue status and waiting time.
[0233] S601D, transmit the second information K4, which includes channel information, queue status and waiting time.
[0234] Steps S601B to S601D are essentially the same as S601A, and will not be described in detail here.
[0235] S602, the network device 400A collects statistics on the channel status, queue status, and waiting time corresponding to each queue to obtain statistical information.
[0236] It is understandable that this step is essentially the same as step S502 in Figure 5 above, and will not be described in detail here.
[0237] S603, Network Device 400A calculates priority based on statistical information.
[0238] S603A, network device 400A estimates the complete transmission time and obtains the success factor.
[0239] S603B, network device 400A estimates the remaining transmission time and obtains the urgency factor.
[0240] S603C, network device 400A estimates channel dominance and obtains the channel dominance factor.
[0241] It is understood that S603 and S603A-S603C are essentially the same as steps S503 and S503A-S503C in Figure 5, and will not be elaborated here.
[0242] S604, network device 400A is scheduled according to priority.
[0243] In some embodiments, network device 400A determines the transmission of the first data frame based on the priority of each data frame and the current transmission resources, and allows the terminal device corresponding to the first data frame to send data packets. If the current transmission resources can transmit N data packets, then the terminal devices corresponding to the queues with the highest priority N are allowed to transmit data packets.
[0244] For example, in a single transmission, network device 400A can transmit with two terminal devices, and the current data frame LA and data frame LC have the highest priority scores and are of the highest priority. At this time, network device 400A notifies terminal device 500A and terminal device 500C to send data frames, and then notifies terminal device 500A and terminal device 500C to allow the transmission of data packets.
[0245] S605A, network device 400A sends a transmission notification to terminal device 500A.
[0246] In some embodiments, network device 400A informs terminal device 500A to perform transmission.
[0247] S605B, network device 400A sends a transmission notification to terminal device 500C.
[0248] In some embodiments, network device 400A informs terminal device 500C to perform transmission.
[0249] Understandably, there is no specific order in which S605A and S605B are executed.
[0250] S606A, Terminal Equipment 500A is ready to transmit data packets.
[0251] In some embodiments, after receiving a notification from the network device 400A, the terminal device 500A will be authorized to transmit, and at this time the terminal device 500A will prepare the data packets for transmission.
[0252] S606B, Terminal device 500C is ready to transmit data packets.
[0253] Understandably, this step is essentially the same as S606A, and will not be elaborated upon here.
[0254] S607A, terminal device 500A transmits data packets to network device 400A.
[0255] S607B, terminal device 500B transmits data packets to network device 400A.
[0256] S608, network device 400A receives data.
[0257] In some embodiments, network device 400A receives data packets from terminal device 500A and terminal device 500C.
[0258] In the diagram, "..." indicates that after terminal devices 500A and 500C transmit the determined data packets to network device 400A, each terminal device still needs to continue transmitting corresponding data packets with network device 400A. Understandably, each subsequent transmission process is essentially the same as steps S601A to S608. Each transmission can be from the same terminal device to network device 400A, or it can be from different terminal devices. The terminal devices allowed to transmit are determined based on the priority of each data frame during each transmission; details will not be elaborated further.
[0259] S609A, network device 400A sends feedback to terminal device 500A regarding frame reception success / failure.
[0260] Understandably, after a period of time, network device 400A will send feedback to terminal device 500A regarding whether the frame reception was successful or not.
[0261] S609B, network device 400A sends a feedback message to terminal device 500B indicating whether the frame reception was successful or not.
[0262] S609C, network device 400A sends feedback to terminal device 500C regarding frame reception success / failure.
[0263] S609D, network device 400A sends feedback to terminal device 500D regarding frame reception success / failure.
[0264] Steps S609B-S609D are essentially the same as S609A, and steps S609A-S609D are essentially the same as the process of steps S509A-S509D above. For a detailed description, please refer to steps S509A-S509D above, which will not be repeated here.
[0265] It is understood that the execution order of steps S601 to S609 above is only an example. In other embodiments, other execution orders may be used, and some steps may be split or combined. This is not limited here.
[0266] Figure 7A illustrates a schematic diagram of a 7-layer OSI model according to some embodiments of this application.
[0267] As shown in Figure 7A, the network side 400 corresponds to the application layer, presentation layer, session layer, transport layer, network layer, link layer, and physical layer. Each terminal device in the terminal side 500 also corresponds to the application layer, presentation layer, session layer, transport layer, network layer, link layer, and physical layer. Priority is determined, and the corresponding data packets are transmitted at the link layer during the data transmission process.
[0268] Figure 7B illustrates a simulation experiment of four terminal devices transmitting data under XR services, according to some embodiments of this application, with different frame delay constraints (i.e., different delay periods). The horizontal axis represents the frame delay constraint, and the figure shows that the frame delay constraint (i.e., delay period D) ranges from 1 to 19 ms; the frame arrival period T = D + 5, which is the time period between the arrival of two adjacent frames; the channel employs a large-scale path loss and Rayleigh fading small-scale channel. The total number of frames in the simulation is e. 5 .
[0269] As shown in Figure 7B, the figure illustrates the frame satisfaction rates corresponding to the data transmission method of this application and four other different scheduling methods. Curve 1 corresponds to the proportional fairness algorithm, curve 2 to the logarithmic rule algorithm, curve 3 to the exponential rule algorithm, curve 4 to the optimized maximum weight delay-first algorithm, and curve 5 to the method of this application embodiment. Curves 1-5 are averaged after multiple delays. Curve 6 represents the optimal effect curve obtained in multiple simulations corresponding to the method of this application embodiment. Referring to Figure 7B, it can be observed that the frame satisfaction rates corresponding to curves M5 and M6 of this application embodiment are superior to the other schemes.
[0270] Table 1 below shows the improvement in frame satisfaction rate of the data transmission scheme in this application embodiment compared to other existing algorithms. Referring to Table 1, the first row shows the average frame satisfaction rate data of each method after multiple experiments. The second row shows the improvement ratio of the scheme provided in this application embodiment compared to other schemes. It can be seen that the scheme proposed in this application performs better.
[0271] Table 1
[0272] Figure 8 shows a schematic diagram of the structure of an apparatus according to an embodiment of this application.
[0273] It is understood that the device 800 can be a network device, a terminal device, a chip, chip system, or processor that supports the network device in implementing the above methods, or a chip, chip system, or processor that supports the terminal device in implementing the above methods; no limitation is made herein. The device 800 can be used to implement the methods described in the above method embodiments, and for details, please refer to the description in the above method embodiments.
[0274] As shown in Figure 8, the device 800 may include one or more processors 801, which can also be called processing units, and can implement certain control functions. The processor 801 can be a general-purpose processor or a dedicated processor, such as a baseband processor or a central processing unit. The baseband processor can be used to process communication protocols and communication data, while the central processing unit can be used to control communication devices, such as base stations, baseband chips, terminals, terminal chips, DUs or CUs, execute software programs, and process data from the software programs.
[0275] In an alternative design, the processor 801 may also store instructions and / or data 803, which can be executed by the processor to cause the device 800 to perform the methods described in the above method embodiments.
[0276] In another alternative design, the processor 801 may include a transceiver unit for implementing receive and transmit functions. For example, this transceiver unit may be a transceiver circuit, an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit for implementing receive and transmit functions may be separate or integrated. The aforementioned transceiver circuit, interface, or interface circuit can be used for reading and writing code / data, or it can be used for transmitting or relaying signals.
[0277] In another possible design, device 800 may include circuitry that can perform the functions of sending, receiving, or communicating as described in the foregoing method embodiments.
[0278] Optionally, the device 800 may include one or more memories 802, which may store instructions / data 804. These instructions can be executed on a processor, causing the device 800 to perform the methods described in the above method embodiments. Optionally, the memories may also store data. Optionally, the processor may also store instructions and / or data. The processor and memory may be configured separately or integrated together. For example, the correspondence described in the above method embodiments may be stored in memory or in the processor.
[0279] Optionally, the device 800 may further include a transceiver 805 and / or an antenna 806. The processor 801, which may be referred to as a processing unit, controls the device 800. The transceiver 805, which may be referred to as a transceiver unit, transceiver, transceiver circuit, transceiver device, interface, interface circuit, or transceiver module, is used to implement transceiver functions.
[0280] Optionally, the apparatus 800 in this application embodiment can be used to execute the data transmission method described in FIG5 or FIG6 in this application embodiment.
[0281] Figure 9 shows a schematic diagram of a data transmission system 90 according to an embodiment of this application. As shown in the figure, the data transmission system 90 includes a network device 90A and multiple terminal devices 90B.
[0282] Network device 90A is used to buffer multiple data frames, each of which is to be transmitted to a terminal device 90B; and is also used to determine the first data frame to be transmitted based on the transmission success probability of each data frame, wherein the transmission success probability is used to evaluate the probability that the data frame is successfully transmitted; and is used to transmit the first data frame to the terminal device 90B corresponding to the first data frame; terminal device 90B is used to receive the first data frame sent by network device 90A.
[0283] Specifically, the network device 90A includes a buffer module 901, a determination module 902, and a transmission module 903.
[0284] The buffer module 901 is used to buffer multiple data frames, each of which is to be transmitted to a second electronic device.
[0285] The determination module 902 is used to determine the first data frame to be transmitted based on the transmission success probability of each data frame, wherein the transmission success probability is used to evaluate the probability that the data frame is successfully transmitted.
[0286] The transmission module 903 is used to transmit the first data frame to the terminal device 90B corresponding to the first data frame.
[0287] In some embodiments, the data frame cached by network device 90A is the data frame cached by cache module 901 at the current moment. The current moment is any point in time within the delay period, and the starting point of the delay period is the initial moment. The transmission success probability is determined based on the remaining transmission time and the complete transmission time. The remaining transmission time is the time required for the data frame to be transmitted from the current moment to the end. The complete transmission time is the time required for the data frame to be transmitted from the initial moment to the end. Furthermore, the transmission success probability is negatively correlated with both the remaining transmission time and the complete transmission time.
[0288] In some embodiments, the determining module 902 is used to determine the probability of successful transmission of the first data frame to be transmitted by the network device 90A, and the probability of successful transmission satisfies: P1=g(ts)*h(tw)
[0289] Where P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the complete transmission time; and h(tw) is the success factor, which is negatively correlated with the complete transmission time tw.
[0290] In some embodiments, the determining module 902 is used to obtain an urgency factor, and the urgency factor satisfies:
[0291] Where, k a This is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time.
[0292] In some embodiments, the determining module 902 is used to determine the success factor based on the obtained success factor, and the success factor satisfies:
[0293] Where D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame; and c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor.
[0294] In some embodiments, the determining module 902 is further configured to determine the remaining transmission time by: determining the remaining transmission time of the data frame based on the data frame length and the historical average number of bits transmitted through the channel of the data frame, wherein the historical average number of bits transmitted through the channel is the average number of bits that the channel between the network device 90A and the terminal device 90B corresponding to the data frame supports transmission during a first historical time period.
[0295] In some embodiments, the determining module 902 is used to obtain the remaining transmission time ts, and the remaining transmission time satisfies:
[0296] Where q represents the data frame length; This represents the average number of bits transmitted in the historical channel.
[0297] In some embodiments, the determining module is used to obtain the complete transmission time tw, and the complete transmission time satisfies:
[0298] Where w represents the waiting time for the data frame to be transmitted, which is the time from the initial moment (the start of the delay period) to the current moment; q represents the length of the data frame, that is, the length of the data frame at the current moment. represents the historical average number of bits transmitted through the channel; r represents the current number of bits transmitted through the channel for the data frame, which is the maximum number of bits that the channel can support for transmission between network device 90A and the terminal device 90B corresponding to the data frame at the current moment.
[0299] In some embodiments, the determining module 902 is used to determine the first data frame to be transmitted based on the transmission success probability of each data frame, including: the determining module 902 is used to calculate the priority score of each data frame according to the transmission success probability of each data frame; and determine the first data frame according to the priority score corresponding to each data frame.
[0300] In some embodiments, the determining module is used to obtain a priority score, and the priority score satisfies: Priority=β*f(·)*P1
[0301] Where Priority is the priority score, β is a hyperparameter, f(·) represents the channel dominance factor, and P1 is the transmission success probability. The channel dominance factor is related to the data frame length of the data frame, the current channel transmission bit count, and the historical channel transmission average bit count. The current channel transmission bit count is the maximum number of bits that the channel can support for transmission between network device 90A and the terminal device 90B corresponding to the data frame at the current moment. The historical channel transmission average bit count is the average number of bits that the channel can support for transmission between network device 90A and the terminal device 90B corresponding to the data frame during the first historical time period.
[0302] In some embodiments, the determining module 902 is used to obtain the channel dominance factor, and the channel dominance factor satisfies:
[0303] Where r represents the number of bits transmitted in the current channel; q represents the average number of bits transmitted in the historical channel; q represents the data frame length.
[0304] Terminal device 90B is used to receive the first data frame transmitted by network device 900A.
[0305] Figure 10 shows a schematic diagram of a data transmission device system according to an embodiment of this application. As shown in the figure, the data transmission device system includes a network device 1000A and multiple terminal devices 1000B.
[0306] Network device 1000A is configured to detect data transmission request messages sent by multiple terminal devices 1000B, which instruct terminal devices 1000B to transmit buffered data frames to network device 1000A. Furthermore, it is configured to determine the first data frame to be transmitted based on the transmission success probability corresponding to the data frames of each terminal device 1000B, wherein the transmission success probability is used to evaluate the probability of a data frame being successfully transmitted. Network device 1000A is also configured to send a transmission permission command to the terminal device 1000B corresponding to the first data frame; and to receive the first data frame from the terminal device 1000B corresponding to the first data frame.
[0307] The network device 1000A further includes: a detection module 1001, used to detect data transmission request messages sent by multiple terminal devices 1000B, the data transmission request messages being used to instruct the terminal devices 1000B to transmit cached data frames to the network device 1000A; a determination module 1002, used to determine the first data frame to be transmitted based on the transmission success probability corresponding to the data frames of each terminal device 1000B, wherein the transmission success probability is used to evaluate the probability that the data frame is successfully transmitted; a sending module 1003, used to send a transmission permission instruction to the terminal device 1000B corresponding to the first data frame; and a receiving module 1004, used to receive the first data frame from the terminal device 1000B corresponding to the first data frame.
[0308] Terminal device 1000B includes:
[0309] The first sending module 1005 is used to send a data transmission request message to the network device 1000A. The data transmission request message is used to instruct the terminal device 1000B to transmit the buffered data frame to the network device 1000A.
[0310] The receiving module 1006 is used to receive the transmission permission command sent by the network device 1000A;
[0311] The second sending module 1007 is used to send a first data frame to the network device 1000A, wherein the method for determining the first data frame is related to the success probability of transmitting data frames buffered by the data transmission device.
[0312] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to perform the steps executed by the device 800 in any of the above embodiments.
[0313] According to the method provided in the embodiments of this application, this application also provides a computer-readable medium storing program code, which, when run on a computer, causes the computer to perform the steps executed by the device 800 in any of the above embodiments.
[0314] According to the method provided in the embodiments of this application, this application also provides a chip that is applied to a network device or a terminal device to perform the data transmission method described above.
[0315] The processor and transceiver described in this application can be implemented on integrated circuits, analog ICs, radio frequency integrated circuits (RFICs), mixed-signal circuits, application-specific integrated circuits (ASICs), printed circuit boards (PCBs), electronic devices, etc. The processor and transceiver can also be manufactured using various IC process technologies, such as complementary metal-oxide-semiconductor (CMOS), N-type metal-oxide-semiconductor (NMOS), positive-channel metal-oxide-semiconductor (PMOS), bipolar junction transistors, etc.
[0316] The devices described in the above embodiments may be network devices or terminal devices, but the scope of the devices described in this application is not limited thereto, and the structure of device 800 may not be limited to FIG8. Device 800 may be a standalone device or may be part of a larger device. For example, the device may be: (1) a standalone integrated circuit IC, or chip, chip system or subsystem; (2) a collection having one or more ICs. Optionally, the IC collection may also include storage components for storing data and / or instructions; (3) an ASIC, such as a modem; (4) a module that can be embedded in other devices; (5) a receiver, terminal, smart terminal, cellular phone, wireless device, handheld device, mobile unit, vehicle device, network device, cloud device, artificial intelligence device, machine device, home device, medical device, industrial device, etc.; (6) others, etc.
[0317] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to perform the steps executed by the device 800 in any of the above embodiments.
[0318] According to the method provided in the embodiments of this application, this application also provides a computer-readable medium storing program code, which, when run on a computer, causes the computer to perform the steps executed by the device 800 in any of the above embodiments.
[0319] The embodiments disclosed in this application can be implemented in hardware, software, firmware, or a combination of these implementation methods. Embodiments of this application can be implemented as computer programs or program code executable on a programmable system, the programmable system including at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.
[0320] Program code can be applied to input instructions to execute the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, the processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application-specific integrated circuit (ASIC), or a microprocessor.
[0321] The program code can be implemented using a high-level procedural language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used when needed. In fact, the mechanisms described in this application are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.
[0322] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may be implemented as instructions carried or stored thereon on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, the instructions may be distributed via a network or through other computer-readable media. Therefore, machine-readable media may include any mechanism for storing or transmitting information in a machine-readable (e.g., computer-readable) form, including but not limited to floppy disks, optical disks, optical discs, read-only memory, magneto-optical disks, random access memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, magnetic cards or optical cards, flash memory, or tangible machine-readable storage for transmitting information (e.g., carrier waves, infrared signals, digital signals, etc.) using the Internet in the form of electrical, optical, acoustic, or other propagation signals. Therefore, machine-readable media include any type of machine-readable medium suitable for storing or transmitting electronic instructions or information in a machine-readable (e.g., computer-readable) form.
[0323] In the accompanying drawings, certain structural or methodological features are shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be necessary in some embodiments. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. Furthermore, the inclusion of structural or methodological features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, these features may be omitted or may be combined with other features.
[0324] It should be noted that all units / modules mentioned in the device embodiments of this application are logical units / modules. Physically, a logical unit / module can be a physical unit / module, a part of a physical unit / module, or a combination of multiple physical units / modules. The physical implementation of these logical units / modules themselves is not the most important factor; the combination of functions implemented by these logical units / modules is the key to solving the technical problems proposed in this application. Furthermore, to highlight the innovative aspects of this application, the above-described device embodiments of this application have not introduced units / modules that are not closely related to solving the technical problems proposed in this application. This does not mean that the above-described device embodiments do not contain other units / modules.
[0325] It should be noted that in the examples and description of this patent, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, 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, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element. While this application has been illustrated and described with reference to certain preferred embodiments, those skilled in the art will understand that various changes in form and detail may be made therein without departing from the scope of this application.
Claims
1. A data transmission method applied to an extended reality scenario, the extended reality scenario comprising a first electronic device and a plurality of second electronic devices, characterized in that, include: The first electronic device buffers multiple data frames, each of which is to be transmitted to a second electronic device; The first electronic device determines the first data frame to be transmitted based on the transmission success probability of each data frame, wherein the transmission success probability is used to evaluate the probability that the data frame is successfully transmitted. The first electronic device transmits the first data frame to the second electronic device corresponding to the first data frame.
2. The method according to claim 1, characterized in that, The data frame is a data frame buffered by the first electronic device at the current moment. The current moment can be any point in time within the delay period, and the starting point of the delay period is the initial moment. The probability of successful transmission is determined based on the remaining transmission time and the complete transmission time. The remaining transmission time is the time required for the data frame to be transmitted from the current time to the end of transmission; the complete transmission time is the time required for the data frame to be transmitted from the initial time to the end of transmission, and... The probability of successful transmission is negatively correlated with both the remaining transmission time and the complete transmission time.
3. The method according to claim 2, characterized in that, The probability of successful transmission satisfies: P1 = g(ts) * h(tw) Wherein, P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the complete transmission time; and h(tw) is the success factor, which is negatively correlated with the complete transmission time tw.
4. The method according to claim 3, characterized in that, The urgency factor satisfies: Where, k a This is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time.
5. The method according to claim 3, characterized in that, The success factor satisfies: Wherein, D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame; and c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor.
6. The method according to claim 4, characterized in that, The remaining transmission time is determined in the following way: Based on the data frame length and the historical average number of bits transmitted through the channel, the remaining transmission time of the data frame is determined, wherein the historical average number of bits transmitted through the channel is the average number of bits that the channel supports for transmission between the first electronic device and the second electronic device corresponding to the data frame during a first historical time period.
7. The method according to claim 6, characterized in that, The remaining transmission time ts satisfies: Where q represents the length of the data frame; This represents the average number of bits transmitted through the historical channel.
8. The method according to claim 7, characterized in that, The complete transmission time tw satisfies: Where w represents the waiting time for the data frame to be transmitted, and the waiting time for the data frame to be transmitted is the time from the initial time to the current time; q represents the length of the data frame; The historical average number of transmitted bits per channel is represented by r; r represents the current number of transmitted bits per channel for the data frame, where the current number of transmitted bits per channel is the number of bits transmitted between the first electronic device and the second electronic device corresponding to the data frame. The maximum number of bits that the channel can support for transmission between the two devices at the current moment.
9. The method according to any one of claims 3, characterized in that, The first electronic device determines the first data frame to be transmitted based on the success probability of each data frame, including: The first electronic device calculates a priority score for each data frame based on the success probability of transmission of each data frame; The first data frame is determined based on the respective priority scores.
10. The method according to claim 9, characterized in that, The priority score for each data frame satisfies: Priority=β*f(·)*P1 Where Priority is the priority score, β is a hyperparameter, and f(·) represents the channel dominance factor, which is related to the data frame length, the current channel transmission bit count, and the historical channel transmission average bit count. Wherein, the current channel transmission bit count is the maximum number of bits that the channel can support for transmission between the first electronic device and the second electronic device corresponding to the data frame at the current moment; the historical channel transmission average bit count is the average number of bits that the channel can support for transmission between the first electronic device and the second electronic device corresponding to the data frame within a first historical time period.
11. The method according to claim 10, characterized in that, The channel dominance factor satisfies: Where r represents the number of bits transmitted in the current channel; q represents the average number of bits transmitted through the historical channel; q represents the length of the data frame.
12. A data transmission method applied to an extended reality scenario, the extended reality scenario comprising a first electronic device and a plurality of second electronic devices, characterized in that, The method includes: The second electronic device receives a first data frame transmitted by the first electronic device, wherein the first data frame is the first data frame among a plurality of data frames cached by the first electronic device, and each data frame is to be transmitted to a second electronic device, and the method of determining the first data frame is related to the success probability of transmission of each data frame.
13. A data transmission method applied to an extended reality scenario, the extended reality scenario comprising a first electronic device and a plurality of second electronic devices, characterized in that, The method includes: The first electronic device detects a data transmission request message sent by the plurality of second electronic devices, the data transmission request message being used to instruct the second electronic devices to transmit a cached data frame to the first electronic device; The first electronic device determines the first data frame to be transmitted based on the transmission success probability corresponding to the data frames of each of the second electronic devices, wherein the transmission success probability is used to evaluate the probability that the data frame is successfully transmitted. The first electronic device sends a transmission permission instruction to the second electronic device corresponding to the first data frame; The first electronic device receives the first data frame from the second electronic device corresponding to the first data frame.
14. The method according to claim 13, characterized in that, The first electronic device performs the method as described in any one of claims 2 to 11.
15. A data transmission method applied to an extended reality scenario, the extended reality scenario comprising a first electronic device and a plurality of second electronic devices, characterized in that, The method includes: The plurality of second electronic devices send a data transmission request message to the first electronic device, the data transmission request message being used to instruct the second electronic devices to transmit the cached data frame to the first electronic device; The second electronic device corresponding to the first data frame receives the transmission permission instruction sent by the first electronic device, wherein the method of determining the first data frame is related to the transmission success probability of the data frames buffered by each second electronic device; The second electronic device corresponding to the first data frame sends the first data frame to the first electronic device.
16. A data transmission device, characterized in that, The data transmission device includes: A caching module is used to cache multiple data frames, each of which is to be transmitted to a second electronic device; The determining module is used to determine the first data frame to be transmitted based on the transmission success probability of each of the data frames, wherein the transmission success probability is used to evaluate the probability that the data frame is successfully transmitted. The transmission module is used to transmit the first data frame to the second electronic device corresponding to the first data frame.
17. The data transmission apparatus according to claim 16, characterized in that, The data frame is the data frame cached by the cache module at the current moment. The current moment can be any point in time within the delay period, and the starting point of the delay period is the initial moment. The probability of successful transmission is determined based on the remaining transmission time and the complete transmission time. The remaining transmission time is the time required for the data frame to be transmitted from the current time to the end of transmission; the complete transmission time is the time required for the data frame to be transmitted from the initial time to the end of transmission, and... The probability of successful transmission is negatively correlated with both the remaining transmission time and the complete transmission time.
18. The data transmission apparatus according to claim 17, characterized in that, The probability of successful transmission satisfies: P1 = g(ts) * h(tw) Wherein, P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the complete transmission time; and h(tw) is the success factor, which is negatively correlated with the complete transmission time tw.
19. The data transmission apparatus according to claim 18, characterized in that, The urgency factor satisfies: Where, k a This is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time.
20. The data transmission apparatus according to claim 18, characterized in that, The success factor satisfies: Wherein, D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame; and c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor.
21. The data transmission apparatus according to claim 19, characterized in that, The determining module is further configured to determine the remaining transmission time in the following manner: The determining module is further configured to determine the remaining transmission time of the data frame based on the data frame length and the historical average number of bits transmitted through the channel of the data frame, wherein the historical average number of bits transmitted through the channel is the average number of bits supported for transmission between the data transmission device and the second electronic device corresponding to the data frame during a first historical time period.
22. The data transmission apparatus according to claim 21, characterized in that, The remaining transmission time ts satisfies: Where q represents the length of the data frame; This represents the average number of bits transmitted through the historical channel.
23. The data transmission apparatus according to claim 20, characterized in that, The complete transmission time tw satisfies: Where w represents the waiting time for the data frame to be transmitted, and the waiting time for the data frame to be transmitted is the time from the initial time to the current time; q represents the length of the data frame; The historical average number of bits transmitted through the channel is represented by r; r represents the current number of bits transmitted through the channel of the data frame, which is the maximum number of bits that the channel supports for transmission between the data transmission device and the second electronic device corresponding to the data frame at the current moment.
24. The data transmission apparatus according to claim 16, characterized in that, The determining module is used to determine the first data frame to be transmitted based on the success probability of each data frame, including: The determining module is used to calculate the priority score of each data frame based on the success probability of transmission of each data frame; The determining module is used to determine the first data frame based on each of the priority scores.
25. The data transmission apparatus according to claim 24, characterized in that, The priority score for each data frame satisfies: Priority=β*f(·)*P1 Where Priority is the priority score, β is a hyperparameter, and f(·) represents the channel dominance factor, wherein the channel dominance factor is related to... The data frame length is related to the current channel transmission bit count and the historical channel transmission average bit count. Wherein, the current channel transmission bit count is the maximum number of bits that the channel can support for transmission between the data transmission device and the second electronic device corresponding to the data frame at the current moment; the historical channel transmission average bit count is the average number of bits that the channel can support for transmission between the data transmission device and the second electronic device corresponding to the data frame during a first historical time period.
26. The data transmission apparatus according to claim 25, characterized in that, The channel dominance factor satisfies: Where r represents the number of bits transmitted in the current channel; q represents the average number of bits transmitted through the historical channel; q represents the length of the data frame.
27. A data transmission device, characterized in that, The data transmission device includes a processor and a memory, the processor being configured to execute data in the memory, causing the data transmission device to perform the method as described in any one of claims 1-12.
28. A data transmission system, characterized in that, The system includes a first electronic device and a plurality of second electronic devices; wherein the first electronic device is a data transmission device as described in any one of claims 16-27; and the second electronic devices are used to receive the first data frame sent by the first electronic device.
29. A data transmission device, characterized in that, The data transmission device includes: The detection module is used to detect data transmission request messages sent by multiple second electronic devices, wherein the data transmission request messages are used to instruct the second electronic devices to transmit cached data frames to the data transmission device; The determining module is used to determine the first data frame to be transmitted based on the transmission success probability corresponding to the data frames of each of the second electronic devices, wherein the transmission success probability is used to evaluate the probability that the data frame is successfully transmitted. The sending module is used to send a transmission permission instruction to the second electronic device corresponding to the first data frame; A receiving module is configured to receive the first data frame from a second electronic device corresponding to the first data frame.
30. A data transmission device, characterized in that, The data transmission device includes: A first sending module is configured to send a data transmission request message to a first electronic device, the data transmission request message being used to instruct the data transmission device to transmit the cached data frame to the first electronic device; A receiving module is used to receive a transmission permission instruction sent by the first electronic device; The second sending module is used to send a first data frame to the first electronic device, wherein the method for determining the first data frame is related to the success probability of transmitting data frames cached by the data transmission device.
31. A data transmission device, characterized in that, The data transmission device includes a processor and a memory, the processor being configured to execute data in the memory, causing the data transmission device to perform the method as described in any one of claims 13-15.
32. A data transmission system, the system comprising a first electronic device and a plurality of second electronic devices, wherein, The first electronic device is the data transmission device of claim 29, and the second electronic device is the data transmission device of claim 30.
33. A readable storage medium, characterized in that, The readable medium stores instructions that, when executed on an electronic device, cause the electronic device to perform the data transmission method according to any one of claims 1 to 15.
34. A chip, characterized in that, The chip is applied to an electronic device for performing the data transmission method as described in any one of claims 1 to 15.
35. A computer program product, the computer program product comprising: Computer program code, when run on a computer, causes the computer to perform the data transmission method as described in any one of claims 1 to 15.