A data transmission method, device, apparatus, chip and chip module
By determining the data transmission duration and calculating the target number of bytes in wireless communication, the transmission unit of the encapsulated message is accurately matched, thus solving the problem of transmission unit timeout and improving the data transmission success rate and channel utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SPREADTRUM SEMICON(CHENGDU) CO LTD
- Filing Date
- 2026-03-10
- Publication Date
- 2026-06-05
AI Technical Summary
In wireless communication, the physical layer transmission unit may carry fewer bytes than its maximum data capacity, causing the actual transmission time of the transmission unit to exceed the transmission opportunity time, resulting in data transmission failure.
By responding to the transmission opportunity on the communication channel, the data transmission duration is determined, and the target number of bytes is calculated based on the unit transmission parameters. The encapsulation of the transmission unit in the encapsulated message is precisely matched to ensure that the transmission unit is transmitted completely within the data transmission duration constraint, thus avoiding timeout issues.
It improves the success rate of data transmission and channel utilization, maximizes the use of each acquired transmission opportunity, and avoids insufficient capacity or timeout of the transmission unit.
Smart Images

Figure CN122160833A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a data transmission method, apparatus, computer equipment, chip, and chip module. Background Technology
[0002] During wireless communication, communication devices need to transmit data via PPDU (Physical Layer Protocol Data Unit) within the detected transmission opportunity duration. Each PPDU includes physical layer content and data link layer content. The data link layer content carries the data to be transmitted, and the maximum number of bytes that the data link layer can carry can be determined based on the available transmission time of the data link layer content and the physical layer transmission rate.
[0003] In some cases, the physical layer may encapsulate and transmit data in units of transmission units. In this case, a transmission unit may carry less than the maximum amount of data it can carry. However, each transmission unit, regardless of the amount of data it carries, occupies the full unit duration. Therefore, the actual transmission time of these transmission units may exceed the duration of the transmission opportunity, resulting in data transmission failure. Summary of the Invention
[0004] Therefore, it is necessary to provide a data transmission method, apparatus, computer equipment, chip, and chip module to address the aforementioned technical problems, so as to ensure that the actual transmission time of the transmission unit does not exceed the transmission opportunity duration and improve the success rate of data transmission.
[0005] In a first aspect, this application provides a data transmission method, including:
[0006] In response to a transmission opportunity obtained on a communication channel, the data transmission duration of the transmission opportunity is determined;
[0007] Calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0008] The data to be transmitted is encapsulated based on the target number of bytes, and an encapsulated message is generated and sent through the communication channel. The encapsulated message includes at least one transmission unit.
[0009] In one embodiment, determining the data transmission duration for the transmission opportunity includes:
[0010] Obtain the channel occupancy time and physical layer occupancy time of the transmission opportunity;
[0011] The data transmission duration is determined based on the channel occupancy duration and the physical layer occupancy duration.
[0012] In one embodiment, the unit transmission parameters include a unit duration, wherein the unit duration is the transmission time occupied by each transmission unit; the step of calculating the target number of bytes based on the unit transmission parameters and the data transmission duration includes:
[0013] Based on the data transmission duration and the unit duration, calculate the maximum number of transmission units that the transmission opportunity allows to be transmitted;
[0014] The target number of bytes is determined based on the maximum number of transmission units.
[0015] In one embodiment, the unit transmission parameters further include the unit data volume, wherein the unit data volume is the maximum data volume carried by each transmission unit; determining the target byte number based on the maximum number of transmission units includes:
[0016] The target number of bytes is calculated based on the maximum number of transmission units and the amount of data in each unit.
[0017] In one embodiment, the step of encapsulating the data to be transmitted based on the target number of bytes, generating and sending the encapsulated message includes:
[0018] In response to the number of bytes of data to be transmitted being greater than or equal to the target number of bytes, candidate data for the target number of bytes is obtained from the data to be transmitted;
[0019] Based on the unit transmission parameters, the candidate data is divided into at least one transmission unit;
[0020] Each of the aforementioned transmission units is encapsulated, and an encapsulated message is generated and sent.
[0021] In one embodiment, the method further includes:
[0022] In response to the fact that the number of bytes of the data to be transmitted is less than the target number of bytes, the data to be transmitted is divided into at least one transmission unit based on the unit transmission parameters, and each transmission unit is encapsulated to generate and send an encapsulated message.
[0023] Based on the transmission duration of the encapsulated message, the data transmission duration of the transmission opportunity is re-determined, and the unit transmission parameters based on the transmission unit and the data transmission duration are returned to calculate the target number of bytes.
[0024] Secondly, this application also provides a data transmission apparatus, comprising:
[0025] A determining module is configured to determine the data transmission duration of a transmission opportunity obtained on a communication channel.
[0026] The calculation module is used to calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0027] The transmission module is used to encapsulate the data to be transmitted based on the target number of bytes, generate and send the encapsulated message through the communication channel, wherein the encapsulated message includes at least one transmission unit.
[0028] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0029] In response to a transmission opportunity obtained on a communication channel, the data transmission duration of the transmission opportunity is determined;
[0030] Calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0031] The data to be transmitted is encapsulated based on the target number of bytes, and an encapsulated message is generated and sent through the communication channel. The encapsulated message includes at least one transmission unit.
[0032] Fourthly, this application also provides a chip, including a processor and a communication interface, wherein the processor is configured to cause the chip to perform:
[0033] In response to a transmission opportunity obtained on a communication channel, the data transmission duration of the transmission opportunity is determined;
[0034] Calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0035] The data to be transmitted is encapsulated based on the target number of bytes, and an encapsulated message is generated and sent through the communication channel. The encapsulated message includes at least one transmission unit.
[0036] Fifthly, this application also provides a chip module, including a communication module, a power module, a storage module, and a chip, wherein:
[0037] The power module is used to provide power to the chip module;
[0038] The storage module is used to store data and instructions;
[0039] The communication module is used for internal communication within the chip module, or for communication between the chip module and external devices.
[0040] The chip is used to perform the steps of the method provided in the first aspect above.
[0041] Sixthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0042] In response to a transmission opportunity obtained on a communication channel, the data transmission duration of the transmission opportunity is determined;
[0043] Calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0044] The data to be transmitted is encapsulated based on the target number of bytes, and an encapsulated message is generated and sent through the communication channel. The encapsulated message includes at least one transmission unit.
[0045] In a seventh aspect, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:
[0046] In response to a transmission opportunity obtained on a communication channel, the data transmission duration of the transmission opportunity is determined;
[0047] Calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0048] The data to be transmitted is encapsulated based on the target number of bytes, and an encapsulated message is generated and sent through the communication channel. The encapsulated message includes at least one transmission unit.
[0049] The aforementioned data transmission method, apparatus, computer equipment, chip, and chip module respond to a transmission opportunity obtained on a communication channel and determine its data transmission duration. Then, based on the unit transmission parameters and the data transmission duration, they calculate the target number of bytes that the data link layer can carry. This ensures that the encapsulation of the transmission unit in the encapsulated message can precisely match the data transmission duration of the transmission opportunity. This guarantees that the encapsulated transmission unit is transmitted completely in integer units within the data transmission duration constraint, avoiding timeout problems caused by insufficient transmission unit capacity but still needing to occupy the full duration. This maximizes the utilization of each acquired transmission opportunity, improving data transmission success rate and channel utilization. Attached Figure Description
[0050] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0051] Figure 1 This is a schematic diagram illustrating the transmission time of a PPDU in the traditional method;
[0052] Figure 2 This is a schematic diagram illustrating an application scenario of the data transmission method in one embodiment;
[0053] Figure 3 Here is a flowchart of a data transmission method in one embodiment;
[0054] Figure 4 This is a schematic diagram illustrating the PPDU transmission duration based on the data transmission method of this application in one embodiment;
[0055] Figure 5 This is a structural block diagram of a data transmission device in one embodiment;
[0056] Figure 6 This is an internal structural diagram of a computer device in one embodiment;
[0057] Figure 7 This is a structural block diagram of a chip module in one embodiment. Detailed Implementation
[0058] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0059] It should be noted that the terms "first," "second," etc., used in this application can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more. The term "and / or" used in this application refers to one of the embodiments, or any combination of multiple embodiments.
[0060] In wireless communication, communication devices transmit data via PPDUs (Programmable Component Units). Each PPDU contains data link layer content to carry the data to be transmitted. The maximum number of bytes the data link layer can carry is typically determined based on the available transmission time of the data link layer content and the physical layer transmission rate. However, the physical layer may encapsulate and transmit data in units of transmission units. This can lead to a situation where a transmission unit carries less than its maximum data capacity, and each transmission unit, regardless of the data volume, occupies the full unit duration. Therefore, the actual transmission time of these transmission units may exceed the allotted transmission opportunity, resulting in data transmission failure.
[0061] like Figure 1The diagram illustrates the transmission duration of a PPDU based on traditional methods. Assuming that the expected time for the PPDU includes the transmission time of the physical layer content, and the available transmission time for the data link layer content is 9 microseconds, with a physical layer transmission rate of 25 bytes / microsecond, the maximum number of bytes the data link layer can carry is calculated to be 225 bytes. Since each transmission unit has a transmission duration of 4 microseconds and can carry a maximum of 100 bytes, transmitting 225 bytes requires three transmission units. The third transmission unit only needs to carry 25 bytes, still requiring a full 4 microseconds for transmission. Therefore, the actual transmission time of the data link layer in this PPDU is 12 microseconds, exceeding the available transmission time of 9 microseconds for the data link layer content.
[0062] Based on this, in an exemplary embodiment, this application provides a data transmission method that can be applied to a communication device with network communication capabilities, wherein the communication device may be as follows: Figure 2 The application environment shown includes either a communication terminal 102 or a network-side device 104. The communication terminal 102 communicates with the network-side device 104 via a dial-up link. The communication terminal 102 supports multiple dial-ups, meaning it can communicate with the network-side device 104 through various different dial-up links. A data storage system can store the data that the network-side device 104 needs to process. The data storage system can be integrated into the network-side device 104 or located in the cloud or on another network server.
[0063] The communication terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, drones, low-altitude aircraft, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, and projection equipment. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted displays. Head-mounted displays can be virtual reality (VR) devices, augmented reality (AR) devices, and smart glasses. The network-side device 104 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.
[0064] Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. Based on the cloud computing business model, cloud technology encompasses network technology, information technology, integration technology, management platform technology, and application technology. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.
[0065] Specifically, such as Figure 3 As shown, this method includes the following steps:
[0066] Step 201: In response to the transmission opportunity obtained on the communication channel, determine the data transmission duration of the transmission opportunity.
[0067] During wireless communication, communication devices continuously monitor the status of the communication channel. When a device successfully competes for and obtains a Transmission Opportunity (TXOP) on the communication channel, it can respond to the TXOP and determine the data transmission duration corresponding to the TXOP. The data transmission duration is the upper limit of the time that data can be transmitted on the communication channel for this TXOP, and it is also the time reference for calculating the target number of bytes that the data link layer can send during this TXOP.
[0068] The communication channel can be a communication channel in a Wi-Fi (Wireless Fidelity) system, an LTE (Long Term Evolution) system, or an NR (New Radio) system, without any specific limitation.
[0069] In one exemplary embodiment, determining the data transmission duration for a transmission opportunity includes:
[0070] Obtain the channel occupancy time and physical layer occupancy time for the transmission opportunity; determine the data transmission time based on the channel occupancy time and physical layer occupancy time.
[0071] It is understandable that in wireless communication, a communication device can send one or more PPDUs within each transmission opportunity. Each PPDU consists of two parts: physical layer content and data link layer content. The physical layer content includes overhead information such as preambles and physical layer headers, used for time synchronization between the data transmitter and receiver, channel estimation, modulation and coding scheme indication, and physical layer parameter configuration, providing information support for PPDU transmission and demodulation. The data link layer content is used to carry the data to be transmitted. When calculating the maximum number of bytes that the data link layer can carry, an extreme case needs to be assumed: that the entire transmission opportunity is used to send only a single PPDU, so that the target number of bytes always meets the strictest duration constraint, thus ensuring that no protocol violation will occur due to PPDU timeout transmission under any scheduling strategy.
[0072] Therefore, to determine the data transmission duration of a transmission opportunity, it is first necessary to obtain the channel occupancy time and physical layer occupancy time. The channel occupancy time is the maximum time window during which the acquired transmission opportunity can occupy the communication channel for data transmission. The physical layer occupancy time refers to the time consumed in transmitting physical layer content, representing the necessary time overhead during data transmission.
[0073] After obtaining the channel occupancy time and physical layer occupancy time of the transmission opportunity, the difference obtained by subtracting the fixed upfront time cost of the physical layer occupancy time from the channel occupancy time of the transmission opportunity is the actual data transmission time that can be used for data link layer content transmission in this transmission opportunity. The data transmission time is the time base for subsequent calculation of the target number of bytes that the data link layer can send under this transmission opportunity.
[0074] By accurately separating the impact of physical layer occupancy from the channel occupancy time of transmission opportunities, the data transmission time dedicated to the data link layer can be obtained. This avoids the bias introduced by mistakenly including physical layer overhead in the data carrying capacity estimation, ensuring that the calculated target number of bytes strictly corresponds to the actual time window available to carry the data to be transmitted. This provides an accurate prerequisite for subsequently improving the data transmission success rate and channel utilization.
[0075] In one implementation, after deducting the physical layer occupancy time, the inter-frame interval time and / or channel detection time can be further deducted from the channel occupancy time of the transmission opportunity, taking into account the air interface transmission protocol of the communication channel and the hardware execution logic of the communication equipment, thereby obtaining a more accurate data transmission duration. The inter-frame interval time refers to the inter-frame interval time required by the air interface transmission protocol, which is a scheduling overhead of the communication channel and not used for actual data transmission at the data link layer. The channel detection time includes, but is not limited to, the overhead of channel processing steps such as channel synchronization verification and carrier detection.
[0076] Step 202: Calculate the target number of bytes based on the unit transmission parameters and data transmission duration.
[0077] After determining the data transmission duration for the transmission opportunity, the communication device can transmit the unit transmission parameters of the transmission unit. The unit transmission parameters are parameters used to describe the inherent properties of the transmission unit. The transmission unit is the smallest unit for transmitting data at the physical layer.
[0078] Each transmission unit has a fixed and indivisible duration. This means that a transmission unit is a complete waveform block sent by the physical layer; it cannot be sent in half or interrupted. Therefore, regardless of the actual number of bytes carried within each transmission unit, the time occupied by each transmission unit on the communication channel is the same. For example, a transmission unit can be a symbol in a communication system using OFDM (Orthogonal Frequency Division Multiplexing) technology, a time slot in a single-carrier communication system, a frame segment in a wideband code division multiple access system, or a resource unit in a non-orthogonal multiple access system, etc., without specific limitations.
[0079] Based on the unit transmission parameters and data transmission duration, the target number of bytes can be calculated. The target number of bytes matches the transmission characteristics of the physical layer, ensuring that the number of transmission units corresponding to the target number of bytes is an integer. At the same time, it ensures that the encapsulated data to be transmitted can be sent within an integer number of transmission units, without causing timeouts due to indivisible unit boundaries.
[0080] In an exemplary embodiment, the unit transmission parameters include the unit duration, which is the transmission time occupied by each transmission unit; therefore, calculating the target number of bytes based on the unit transmission parameters and the data transmission duration includes:
[0081] Based on the data transmission duration and unit duration, calculate the maximum number of transmission units that the sending opportunity allows to be sent;
[0082] The target byte count is determined based on the maximum number of transmission units.
[0083] In other words, firstly, the actual usable data transmission time at the data link layer can be used as a benchmark, combined with the unit duration in the unit transmission parameters, to calculate the maximum number of transmission units allowed to be sent during this transmission opportunity. The unit duration is the fixed transmission time occupied by each transmission unit and is the basic time unit for physical layer transmission. Specifically, the data transmission time can be divided by the unit duration, and the result can be rounded down to obtain the maximum number of transmission units that the communication device is allowed to send within the time limit of this transmission opportunity. This maximum number can avoid the time overrun problem caused by a non-integer number of transmission units, ensuring that the total transmission time of all transmission units does not exceed the data transmission time.
[0084] Based on this, the target byte count can be further calculated according to the maximum number of transmission units to ensure that the generated target byte count matches exactly the integer number of transmission units, so that the transmission process does not exceed the duration constraint or waste air interface resources.
[0085] In one implementation, the unit transmission parameters also include the unit data volume, which is the maximum amount of data carried by each transmission unit; therefore, determining the target byte count based on the maximum number of transmission units includes:
[0086] The target number of bytes is calculated based on the maximum number of transmission units and the amount of data in each unit.
[0087] Specifically, the unit transmission parameters include not only the unit duration but also the unit data volume, which represents the maximum amount of data that each transmission unit can carry. After calculating the maximum number of transmission units allowed to be sent in this transmission opportunity using the data transmission duration and the unit duration, the target number of bytes can be calculated based on this maximum number and the unit data volume. Specifically, the maximum number of transmission units can be multiplied by the unit data volume, and the result can be converted into bytes to obtain the target number of bytes for this data transmission.
[0088] In this way, the target number of bytes not only matches the time limit of the transmission opportunity, but also makes full use of the maximum data carrying capacity of each transmission unit. This ensures that the actual transmission time does not exceed the transmission opportunity time due to the number of transmission units exceeding the upper limit, thus avoiding the occupation of additional air interface resources. It also avoids the waste of air interface transmission resources due to the underutilization of unit data volume, thus ensuring that the data link layer achieves efficient data transmission within the transmission opportunity.
[0089] For example, in one specific embodiment, the process of calculating the target number of bytes described above can be expressed as the following formula:
[0090]
[0091] in, Indicates the target number of bytes. This indicates the channel occupancy time for this transmission opportunity. Indicates the duration occupied by the physical layer. This represents the unit of time occupied by each transmission unit. This indicates the amount of data carried by each transmission unit, and the unit of this data is bits. Therefore, the denominator 8 represents the number of bits occupied by each byte.
[0092] Figure 4 This is a schematic diagram of the PPDU transmission duration based on the data transmission method of this application in one embodiment. It is assumed that the expected duration of the PPDU (i.e., the channel occupancy duration of this transmission opportunity) is reduced by the transmission duration of the physical layer content, and the data transmission time is 9 microseconds. The unit duration of each transmission unit is 4 microseconds. Then, the maximum number of transmission units that can be sent can be calculated to be 2. Therefore, the target number of bytes can be calculated by the unit data volume carried by each transmission unit and the maximum number. In the actual transmission duration of the PPDU, the transmission duration of the data link layer is the unit duration of 2 transmission units, which is 8 microseconds, and will not exceed the data transmission time of 9 microseconds.
[0093] Step 203: Encapsulate the data to be transmitted based on the target number of bytes, generate and send the encapsulated message through the communication channel, the encapsulated message including at least one transmission unit.
[0094] After obtaining the precise target byte count, the communication device can perform data link layer encapsulation processing on the data to be transmitted based on the target byte count. The encapsulation process adheres to the limitation of the target byte count. After encapsulation, a corresponding encapsulated message is generated. The data link layer of the encapsulated message includes one or more transmission units, and the number of bytes carried in these transmission units will not exceed the target byte count. The encapsulated message can be a PPDU, MPDU (MAC Protocol Data Unit), or A-MPDU (Aggregate MPDU), etc., without specific limitations. Subsequently, the communication device can send the encapsulated message through the corresponding communication channel based on the obtained transmission opportunity, completing this data transmission process.
[0095] As can be seen from the above, in the solution provided in this application, by responding to the transmission opportunity obtained on the communication channel and determining its data transmission duration, and then calculating the target number of bytes that the data link layer can carry based on the unit transmission parameters and the data transmission duration, the encapsulation of the transmission unit in the encapsulated message can be precisely matched with the data transmission duration of the transmission opportunity. This ensures that the encapsulated transmission unit is transmitted completely in integer units within the data transmission duration constraint, avoiding timeout problems caused by insufficient transmission unit capacity but still needing to occupy the full duration. This maximizes the utilization of each acquired transmission opportunity and improves the data transmission success rate and channel utilization.
[0096] In an exemplary embodiment, step 203 involves encapsulating the data to be transmitted based on the target number of bytes, generating and sending an encapsulated message, including:
[0097] In response to the number of bytes of data to be transmitted being greater than or equal to the target number of bytes, candidate data for the target number of bytes is obtained from the data to be transmitted;
[0098] Based on the unit transmission parameters, the candidate data is divided into at least one transmission unit;
[0099] Each transmission unit is encapsulated, and encapsulated messages are generated and sent.
[0100] In this exemplary embodiment, the process of encapsulating the data to be transmitted based on the target number of bytes and generating a transmission encapsulation message first compares the number of bytes of the data to be transmitted with the calculated target number of bytes. When it is detected that the number of bytes of the data to be transmitted is greater than or equal to the target number of bytes, it means that the data to be transmitted cannot be transmitted in one transmission opportunity. Based on this, candidate data of the same length as the target number of bytes can be extracted from the data to be transmitted. The candidate data is the maximum amount of data that can be transmitted within the current transmission opportunity, which will not cause waste of air interface resources and can also avoid transmission problems caused by exceeding the data limit.
[0101] Subsequently, based on the unit transmission parameters, the intercepted candidate data can be divided into one or more transmission units according to rules such as the unit data volume of a single transmission unit. The candidate data is then divided into one or more transmission units. The segmented transmission units are further encapsulated according to the protocol requirements of the communication channel. These transmission units are used as data link layer content, and then the corresponding physical layer content is added to generate an encapsulated message.
[0102] Furthermore, within the obtained transmission opportunity, the encapsulated message can be sent out through the corresponding communication channel, ensuring that the actual amount of data sent during the data transmission process is strictly controlled within the target number of bytes, and that the data is precisely allocated to an integer number of transmission units. This ensures that the transmission at the physical layer is aligned with the channel occupancy time of the transmission opportunity, avoiding timeouts or resource waste.
[0103] In one implementation, this method further includes:
[0104] In response to the fact that the number of bytes of data to be transmitted is less than the target number of bytes, the data to be transmitted is divided into at least one transmission unit based on the unit transmission parameters, and each transmission unit is encapsulated to generate and send an encapsulated message.
[0105] The steps involve determining the data transmission duration based on the transmission time of the encapsulated message, re-determining the data transmission duration for the transmission opportunity, returning the unit transmission parameters based on the transmission unit and the data transmission duration, and calculating the target number of bytes.
[0106] In this implementation, if the number of bytes of data to be transmitted is less than the previously calculated target number of bytes, it means that the data to be transmitted can be transmitted in one go. Based on this, the data to be transmitted can be divided into one or more transmission units according to the unit data volume of a single transmission unit based on the unit transmission parameters. Then, the transmission units obtained after division are further encapsulated according to the protocol requirements of the communication channel. These transmission units are used as data link layer content, and the corresponding physical layer content is added to generate an encapsulated message and send it through the communication channel.
[0107] After the encapsulated message is sent, the remaining available data transmission time for this transmission opportunity can be recalculated based on the actual transmission time. This recalculated data transmission time is then used as the new calculation basis to return to the step of calculating the target byte count based on the unit transmission parameters and data transmission time. The target byte count is then recalculated, thus making full use of the remaining air interface resources of this transmission opportunity to continue subsequent data transmission calculations and transmission operations. This maximizes the channel resource value of this transmission opportunity, avoids the waste of air interface resources due to insufficient data transmission in a single transmission, and improves the overall utilization rate of the air interface channel during communication.
[0108] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.
[0109] Based on the same inventive concept, this application also provides a data transmission apparatus for implementing the data transmission method described above. This apparatus can be applied to or integrated into a chip or chip module, for example. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more data transmission apparatus embodiments provided below can be found in the limitations of the data transmission method described above, and will not be repeated here.
[0110] In one exemplary embodiment, such as Figure 5 As shown, a data transmission device is provided, the device comprising:
[0111] The determining module 501 is configured to determine the data transmission duration of a transmission opportunity obtained on a communication channel in response to the transmission opportunity obtained thereon.
[0112] The calculation module 502 is used to calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0113] The transmission module 503 is used to encapsulate the data to be transmitted based on the target number of bytes, generate and send the encapsulated message through the communication channel, wherein the encapsulated message includes at least one transmission unit.
[0114] In an exemplary embodiment, the determining module 501 is specifically used for:
[0115] Obtain the channel occupancy time and physical layer occupancy time of the transmission opportunity;
[0116] The data transmission duration is determined based on the channel occupancy duration and the physical layer occupancy duration.
[0117] In an exemplary embodiment, the unit transmission parameters include unit duration, wherein the unit duration is the transmission time occupied by each transmission unit; the calculation module 502 is specifically used for:
[0118] Based on the data transmission duration and the unit duration, calculate the maximum number of transmission units that the transmission opportunity allows to be transmitted;
[0119] The target number of bytes is determined based on the maximum number of transmission units.
[0120] In an exemplary embodiment, the unit transmission parameters further include the unit data amount, wherein the unit data amount is the maximum amount of data carried by each transmission unit; the calculation module 502 is specifically used for:
[0121] The target number of bytes is calculated based on the maximum number of transmission units and the amount of data in each unit.
[0122] In an exemplary embodiment, the transmission module 503 is specifically used for:
[0123] In response to the number of bytes of data to be transmitted being greater than or equal to the target number of bytes, candidate data for the target number of bytes is obtained from the data to be transmitted;
[0124] Based on the unit transmission parameters, the candidate data is divided into at least one transmission unit;
[0125] Each of the aforementioned transmission units is encapsulated, and an encapsulated message is generated and sent.
[0126] In one exemplary embodiment, the transmission module 503 is further configured to:
[0127] In response to the fact that the number of bytes of the data to be transmitted is less than the target number of bytes, the data to be transmitted is divided into at least one transmission unit based on the unit transmission parameters, and each transmission unit is encapsulated to generate and send an encapsulated message.
[0128] Based on the transmission duration of the encapsulated message, the data transmission duration of the transmission opportunity is re-determined, and the unit transmission parameters based on the transmission unit and the data transmission duration are returned to calculate the target number of bytes.
[0129] Regarding the modules / units included in the various devices and products described in the above embodiments, they can be software modules / units, hardware modules / units, or a combination of both. For example, for various devices and products applied to or integrated into a chip, all of their modules / units can be implemented using hardware methods such as circuits, or at least some modules / units can be implemented using software programs that run on a processor integrated within the chip, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits; for various devices and products applied to or integrated into a chip module, all of their modules / units can be implemented using hardware methods such as circuits, and different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or different components of the chip module, or at least some modules / units can be implemented using hardware methods such as circuits. The components can be implemented using software programs that run on the processor integrated within the chip module. The remaining (if any) modules / units can be implemented using hardware methods such as circuits. For various devices and products applied to or integrated into the terminal, each of its components / units can be implemented using hardware methods such as circuits. Different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or in different components within the terminal. Alternatively, at least some modules / units can be implemented using software programs that run on the processor integrated within the terminal, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits.
[0130] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 6 As shown, this computer device includes a processor, memory, input / output interfaces (I / O), and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores measurement data and / or positioning information. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a data transmission method.
[0131] Those skilled in the art will understand that Figure 6The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0132] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0133] In response to a transmission opportunity obtained on a communication channel, the data transmission duration of the transmission opportunity is determined;
[0134] Calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0135] The data to be transmitted is encapsulated based on the target number of bytes, and an encapsulated message is generated and sent through the communication channel. The encapsulated message includes at least one transmission unit.
[0136] Based on the same inventive concept, this application also provides a chip, including a processor and a communication interface; the communication interface is used to receive or send data; the processor is configured to cause the chip to perform the following steps:
[0137] In response to a transmission opportunity obtained on a communication channel, the data transmission duration of the transmission opportunity is determined;
[0138] Calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0139] The data to be transmitted is encapsulated based on the target number of bytes, and an encapsulated message is generated and sent through the communication channel. The encapsulated message includes at least one transmission unit.
[0140] It is understood that the chip involved in the embodiments of this application may be a field-programmable gate array (FPGA), may be an application-specific integrated circuit (ASIC), may be a system on chip (SoC), may be a central processor unit (CPU), may be a network processor (NP), may be a digital signal processor (DSP), may be a microcontroller unit (MCU), may be a programmable logic device (PLD), or other integrated chips, etc.
[0141] Based on the same inventive concept, this application also provides a chip module, such as... Figure 7 As shown, the chip module includes a communication module, a power module, a storage module, and a chip. Among them:
[0142] The power module is used to provide power to the chip module; the storage module is used to store data and instructions; the communication module is used for internal communication within the chip module, or for communication between the chip module and external devices; this chip corresponds to the chip in the above chip embodiment.
[0143] The implementation method of this chip module can be found in the relevant content of the above chip embodiment, and will not be repeated here.
[0144] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:
[0145] In response to a transmission opportunity obtained on a communication channel, the data transmission duration of the transmission opportunity is determined;
[0146] Calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0147] The data to be transmitted is encapsulated based on the target number of bytes, and an encapsulated message is generated and sent through the communication channel. The encapsulated message includes at least one transmission unit.
[0148] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:
[0149] In response to a transmission opportunity obtained on a communication channel, the data transmission duration of the transmission opportunity is determined;
[0150] Calculate the target number of bytes based on the unit transmission parameters and the data transmission duration;
[0151] The data to be transmitted is encapsulated based on the target number of bytes, and an encapsulated message is generated and sent through the communication channel. The encapsulated message includes at least one transmission unit.
[0152] Regarding the modules / units included in the various devices and products described in the above embodiments, they can be software modules / units, hardware modules / units, or a combination of both. For example, for various devices and products applied to or integrated into a chip, all of their modules / units can be implemented using hardware methods such as circuits, or at least some modules / units can be implemented using software programs that run on a processor integrated within the chip, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits. For various devices and products applied to or integrated into a chip module, all of their modules / units can be implemented using hardware methods such as circuits. Different modules / units can be located in the same component (e.g., a chip circuit module) or different components of the chip module, or at least some modules / units... It can be implemented using software programs that run on the processor integrated within the chip module. The remaining (if any) modules / units can be implemented using hardware methods such as circuits. For various devices and products applied to or integrated into the terminal, each of its modules / units can be implemented using hardware methods such as circuits. Different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or in different components within the terminal. Alternatively, at least some modules / units can be implemented using software programs that run on the processor integrated within the terminal, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits.
[0153] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0154] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0155] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0156] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A data transmission method, characterized in that, The method includes: In response to a transmission opportunity obtained on a communication channel, the data transmission duration of the transmission opportunity is determined; Calculate the target number of bytes based on the unit transmission parameters and the data transmission duration; The data to be transmitted is encapsulated based on the target number of bytes, and an encapsulated message is generated and sent through the communication channel. The encapsulated message includes at least one transmission unit.
2. The method according to claim 1, characterized in that, The data transmission duration for determining the transmission opportunity includes: Obtain the channel occupancy time and physical layer occupancy time of the transmission opportunity; The data transmission duration is determined based on the channel occupancy duration and the physical layer occupancy duration.
3. The method according to claim 1, characterized in that, The unit transmission parameters include unit duration, which is the transmission time occupied by each transmission unit; The step of calculating the target number of bytes based on the unit transmission parameters and the data transmission duration includes: Based on the data transmission duration and the unit duration, calculate the maximum number of transmission units that the transmission opportunity allows to be transmitted; The target number of bytes is determined based on the maximum number of transmission units.
4. The method according to claim 3, characterized in that, The unit transmission parameters also include the unit data volume, which is the maximum amount of data carried by each transmission unit; determining the target byte count based on the maximum number of transmission units includes: The target number of bytes is calculated based on the maximum number of transmission units and the amount of data in each unit.
5. The method according to claim 1, characterized in that, The process of encapsulating the data to be transmitted based on the target number of bytes, generating and sending the encapsulated message includes: In response to the number of bytes of data to be transmitted being greater than or equal to the target number of bytes, candidate data for the target number of bytes is obtained from the data to be transmitted; Based on the unit transmission parameters, the candidate data is divided into at least one transmission unit; Each of the aforementioned transmission units is encapsulated, and an encapsulated message is generated and sent.
6. The method according to claim 5, characterized in that, The method further includes: In response to the fact that the number of bytes of the data to be transmitted is less than the target number of bytes, the data to be transmitted is divided into at least one transmission unit based on the unit transmission parameters, and each transmission unit is encapsulated to generate and send an encapsulated message. Based on the transmission duration of the encapsulated message, the data transmission duration of the transmission opportunity is re-determined, and the unit transmission parameters based on the transmission unit and the data transmission duration are returned to calculate the target number of bytes.
7. A data transmission device, characterized in that, The device includes: A determining module is configured to determine the data transmission duration of a transmission opportunity obtained on a communication channel. The calculation module is used to calculate the target number of bytes based on the unit transmission parameters and the data transmission duration; The transmission module is used to encapsulate the data to be transmitted based on the target number of bytes, generate and send the encapsulated message through the communication channel, wherein the encapsulated message includes at least one transmission unit.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A chip, characterized in that, The device includes a processor and a communication interface, wherein the processor is configured to cause the chip to perform the steps of the method described in any one of claims 1 to 6.
10. A chip module, characterized in that, The device includes a communication module, a power module, a storage module, and a chip, wherein: the power module provides power to the chip module; the storage module stores data and instructions; the communication module performs internal communication within the chip module or communication between the chip module and external devices; and the chip performs the steps of the method described in any one of claims 1 to 6.