CN115996370A - Data transmission method, device, apparatus, storage medium, and program - Google Patents
Data transmission method, device, apparatus, storage medium, and program Download PDFInfo
- Publication number
- CN115996370A CN115996370A CN202111219063.2A CN202111219063A CN115996370A CN 115996370 A CN115996370 A CN 115996370A CN 202111219063 A CN202111219063 A CN 202111219063A CN 115996370 A CN115996370 A CN 115996370A
- Authority
- CN
- China
- Prior art keywords
- connection
- delay
- latency
- requirement information
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 218
- 238000000034 method Methods 0.000 title claims abstract description 162
- 230000008569 process Effects 0.000 claims abstract description 55
- 230000009467 reduction Effects 0.000 claims description 312
- 238000012545 processing Methods 0.000 claims description 160
- 238000004891 communication Methods 0.000 claims description 119
- 230000004044 response Effects 0.000 claims description 80
- 230000015654 memory Effects 0.000 claims description 60
- 238000004590 computer program Methods 0.000 claims description 17
- 230000000875 corresponding effect Effects 0.000 description 165
- 238000007726 management method Methods 0.000 description 114
- 238000010586 diagram Methods 0.000 description 37
- 230000006870 function Effects 0.000 description 18
- 238000012546 transfer Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000003556 assay Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The application provides a data transmission method, a device, equipment, a storage medium and a program, wherein the method comprises the following steps: the method comprises the steps that a first device determines target data to be transmitted to a second device through a first connection, wherein the first connection is a connection between the first device and the second device; the first equipment acquires first time delay requirement information corresponding to the first connection, and transmits the target data to the second equipment through the first connection according to the first time delay requirement information. In the above process, the first device transmits the target data to the second device according to the first delay requirement information corresponding to the first connection, so that the transmission delay of the first device to the target data can be reduced, and the low delay requirement can be met.
Description
Technical Field
The embodiments of the present application relate to the field of communications technologies, and in particular, to a data transmission method, apparatus, device, storage medium, and program.
Background
Data transmission between different electronic devices may be based on a wireless fidelity (wireless fidelity, wiFi) wireless network. For example, a peer-to-peer (P2P) data transmission may be performed between the first device and the second device based on a WiFi wireless network, and a data transmission may also be performed across Access Point (AP) devices.
In a communication system based on a WiFi wireless network, communication latency is a very important performance indicator. There are low latency requirements in many application scenarios. At present, communication delay based on a WiFi wireless network is higher, and low-delay requirements of various application scenes cannot be met.
Disclosure of Invention
The application provides a data transmission method, a device, equipment, a storage medium and a program, which are used for improving communication delay.
In a first aspect, the present application provides a data transmission method, taking a case that a first device transmits data to a second device as an example, an execution body of the method may be the first device, or a processor, a processor chip, or the like in the first device. The following description will take an execution subject as a first device as an example. The method comprises the following steps: the method comprises the steps that a first device determines target data to be transmitted to a second device through a first connection, wherein the first connection is a connection between the first device and the second device; the first equipment acquires first time delay requirement information corresponding to the first connection, and transmits the target data to the second equipment through the first connection according to the first time delay requirement information.
The first device and the second device access the same WiFi network. The first device and the second device can perform point-to-point data transmission based on the WiFi wireless network, and the first device and the second device can perform data transmission across APs based on the WiFi wireless network.
The first latency requirement information refers to related information describing a latency requirement that the first connection needs to achieve for data transmission. Optionally, the first latency requirement information is related to an application corresponding to the first connection. The first delay requirement information corresponding to different application programs is different. The first latency requirement information corresponding to each application may be preset. Thus, the first device may determine the first latency requirement information according to the application program corresponding to the first connection. Optionally, the first latency requirement information is related to a network state of the first connection. When the network states of the first connection are different, the corresponding first delay requirement information may also be different. That is, the first device may dynamically determine the first latency requirement information in real time according to the network state of the first connection.
In the method, the first device transmits the target data to the second device according to the first delay requirement information corresponding to the first connection, so that the transmission delay of the first device to the target data can be reduced, and the low delay requirement is met.
In a possible implementation manner, the first device transmits the target data to the second device through the first connection according to the first latency requirement information, which may be implemented in the following manner: the first device determines transmission parameters according to the first time delay requirement information, wherein the transmission parameters comprise at least one of the following: the method comprises the steps of working frequency points of a communication chip of first equipment, types of processing cores of a driving module corresponding to the communication chip, direct Memory Access (DMA) response time delay in the first equipment and processing strategies of a core of the first equipment; and the first equipment transmits the target data to the second equipment through the first connection according to the transmission parameters.
The communication chip of the first device may be a WiFi chip. The WiFi chip is used as a bottom hardware module for data transmission and reception, and the working frequency point of the WiFi chip influences the data processing rate of the WiFi chip to a great extent. If the working frequency point of the WiFi chip is higher, the data processing rate of the WiFi chip is higher; if the working frequency point of the WiFi chip is lower, the data processing rate of the WiFi chip is lower. Therefore, the working frequency point of the WiFi chip can be determined according to the first time delay requirement information. For example, when the first connection has a low latency requirement, the operating frequency point of the WiFi chip is set to a higher preset frequency point. For example, the preset frequency point is larger than the reference frequency point. The reference frequency point may be an empirical value, or the reference frequency point may be an operating frequency point determined according to the current transmission bandwidth. The working frequency point of the WiFi chip is set to be a higher frequency point, so that the data processing speed of the WiFi chip can be improved, the data transmission delay is reduced, and the low-delay requirement is met.
The "driver module corresponding to the communication chip of the first device" may be a WiFi driver module. The processing core of the driving module corresponding to the communication chip may be a processing core bound by a thread (such as a sending thread, a receiving thread, etc.) of the WiFi driving module. The types of processing cores may include: large, medium and small cores. The processing performance of the large core is better than that of the medium core, and the processing performance of the medium core is better than that of the small core. Therefore, when the first connection has a low latency requirement, it is determined to bind the thread of the WiFi driving module to a processing core with better processing performance, for example, to a middle core or a large core. The thread in the WiFi driving module is bound to the middle core or the large core, so that the data processing speed of the WiFi driving module can be improved, the data transmission delay is reduced, and the low-delay requirement is met.
When the first connection has a low latency requirement, the DMA response latency may be determined to be a lower preset latency. The preset time delay is smaller than a default value of the DMA response time delay. This can increase the response speed of the DMA controller. The data moving processing is carried out according to the lower DMA response time delay, so that the moving response speed of the DMA controller can be improved, the time length required by the data moving process is reduced, the data transmission time delay is reduced, and the low time delay requirement is met.
The processing policy of the kernel of the first device refers to the processing policy adopted by the kernel of the first device in the process of data transmission of the first device. The processing policies may include a power consumption priority policy (or an on power consumption priority policy), a non-power consumption priority policy (or an off power consumption priority policy). Where the first connection has a low latency requirement, a non-power-consumption priority policy may be employed. By adopting the non-power consumption priority strategy, the data processing speed of the WiFi chip can be improved, so that the data transmission delay is reduced, and the low-delay requirement is met.
In a possible implementation manner, the first latency requirement information indicates at least one of the following: the delay type corresponding to the first connection is a low delay type or a high delay type; a low latency gear value for the first connection; at least one latency reduction policy enabled by the first connection, the at least one latency reduction policy comprising at least one of: a first latency reduction strategy, a second latency reduction strategy, a third latency reduction strategy, and a fourth latency reduction strategy.
The other expression of the "the first latency requirement information is used for indicating that the latency type corresponding to the first connection is a high latency type or a low latency type" is "the first latency requirement information is used for indicating whether the first connection has a low latency requirement. When the delay type corresponding to the first connection is a high delay type, the first connection does not have a low delay requirement. When the delay type corresponding to the first connection is a low delay type, the first connection has a low delay requirement. The low latency gear value of the first connection indicates the extent of the need for low latency.
In the present application, the four transmission strategies have a correspondence relationship with the four transmission parameters. The "working frequency point of the communication chip of the first device" is a transmission parameter corresponding to the first delay reduction policy. The type of the processing core of the driving module of the communication chip is the transmission parameter corresponding to the second time delay reduction strategy. The "DMA response delay of the first device" is the transmission parameter corresponding to the third delay reduction policy described above. The processing policy of the kernel of the first device is the transmission parameter corresponding to the fourth delay reduction policy.
In a possible implementation manner, the first latency requirement information indicates that a latency type corresponding to the first connection is a low latency type. In this case, the first device determines the transmission parameter according to the first latency requirement information, which may be implemented in the following manner: the first device executes at least one of the following parameter settings according to the first delay requirement information: setting the working frequency point of the communication chip of the first equipment as a preset frequency point; setting the type of a processing core of a driving module of the communication chip as a preset type; setting the DMA response time delay in the first equipment as a preset time delay; setting a processing policy of a kernel of the first device to a non-power consumption priority policy.
That is, when the first connection has a low latency requirement, data transmission may be performed according to one or more of the first latency reduction policy, the second latency reduction policy, the third latency reduction policy, and the fourth latency reduction policy. In this way, the data transmission delay can be reduced.
In a possible implementation manner, the first latency requirement information indicates that a latency type corresponding to the first connection is a low latency type and a low latency gear value of the first connection. In this way, the first device determines the transmission parameter according to the first latency requirement information, which may be implemented in the following manner: the first device executes at least one of the following parameter settings according to the first delay requirement information: setting the working frequency point of the communication chip of the first equipment as a preset frequency point corresponding to the low-time delay gear value; setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low-delay gear value; setting the DMA response time delay in the first equipment to be a preset time delay corresponding to the low-time delay gear value; the processing policy of the kernel of the first device is set to a non-power-consumption priority policy.
In the implementation manner, when the transmission parameters of the first device are set, dynamic setting is performed according to the low-delay gear value of the first connection, so that the set transmission parameters can more accurately meet the low-delay requirement of the first connection.
In a possible implementation, the first latency requirement information indicates at least one latency reduction policy enabled by the first connection. In this way, the first device determines, according to the first latency requirement information, a transmission parameter, which may be implemented in one or more of the following manners:
if the first connection enabled delay reduction strategy comprises a first delay reduction strategy, setting a working frequency point of a communication chip of the first equipment as a preset frequency point;
if the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip as a preset type;
if the delay reduction strategy of the first connection enabling comprises a third delay reduction strategy, setting the DMA response delay in the first equipment as a preset delay;
and if the delay reduction strategy of the first connection enabling comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the first equipment as a non-power consumption priority strategy.
In this implementation manner, the first device may select one or more of the first, second, third, and fourth delay reduction strategies according to the low delay requirements of different scenarios, so as to implement delay adjustment of different levels, and finally achieve balance between delay and power consumption.
In a possible implementation, the first latency requirement information indicates at least one latency reduction policy enabled by the first connection and a low latency gear value of the first connection. In this way, the first device determines, according to the first latency requirement information, a transmission parameter, which may be implemented in one or more of the following manners:
if the first connection enabled time delay reduction strategy comprises a first time delay reduction strategy, setting the working frequency point of the communication chip of the first equipment to be a preset frequency point corresponding to the low time delay gear value;
if the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low delay gear value;
if the delay reduction strategy enabled by the first connection comprises a third delay reduction strategy, setting the DMA response delay in the first device to be a preset delay corresponding to the low-delay gear value;
And if the delay reduction strategy of the first connection enabling comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the first equipment as a non-power consumption priority strategy.
In this implementation manner, the first device may select one or more of the first, second, third, and fourth delay reduction strategies according to the low delay requirements of different scenarios, so as to implement delay adjustment of different levels, and finally achieve balance between delay and power consumption. And when the transmission parameters of various delay reduction strategies are set, the dynamic setting is carried out according to the low-delay gear value of the first connection, so that the set transmission parameters can more accurately meet the low-delay requirement of the first connection.
In a possible implementation manner, the first device transmits the target data to the second device through the first connection according to the first latency requirement information, which may be implemented in the following manner: the first equipment determines target time delay requirement information according to the first time delay requirement information and second time delay requirement information corresponding to the second connection; the second connection is a connection between the first device and the second device or a connection between the first device and the third device; and the first equipment transmits the target data to the second equipment through a first connection according to the target time delay requirement information.
The implementation can realize the time delay demand conflict management of the first connection and the second connection. When the first time delay requirement information and the second time delay requirement information are different, the first equipment determines target time delay requirement information according to the first time delay requirement information and the second time delay requirement information. The target time delay requirement information is the time delay requirement information after conflict management. In this way, the first device transmits the target data to the second device over the first connection according to the target latency requirement information. If the first device also needs to transmit the target data to other devices through the second connection, the first device also transmits the target data to other devices through the second connection according to the target delay requirement information. Therefore, the first device performs data transmission based on the same target time delay requirement information aiming at different connections, so that conflicts among different connections are avoided.
Several implementations of delay conflict management are described below.
In a first possible implementation, the first latency requirement information is used to indicate whether the first connection has a low latency requirement, and the second latency requirement information is used to indicate whether the second connection has a low latency requirement. If the first latency requirement information indicates that the first connection does not have a low latency requirement and the second latency requirement information indicates that the second connection does not have a low latency requirement, determining that the target latency requirement information indicates that the second connection does not have a low latency requirement. If the first latency requirement information indicates that the first connection has a low latency requirement and/or the second latency requirement information indicates that the second connection has a low latency requirement, determining that the target latency requirement information indicates that the second connection has a low latency requirement.
Alternatively, the first device may implement low latency conflict management by maintaining a counter. When a certain connection enables low-delay requirement, the value of the counter is increased by 1; when a connection is to enable low latency requirements, the counter is decremented by 1. Thus, when the counter is non-zero, this indicates that there is a connection with a low latency requirement, in which case the result of conflict management is to enable the low latency requirement. A zero value of the counter indicates that there is no connection with a low latency requirement, in which case the result of the conflict management is that the low latency requirement is not enabled.
In a second possible implementation manner, the first latency requirement information is used for indicating that the first connection has a low latency requirement and a low latency gear value corresponding to the first connection, and the second latency requirement information is used for indicating that the second connection has a low latency requirement and a low latency gear value corresponding to the second connection. When the conflict management is carried out, the conflict management is required to be carried out on the low-delay gear value corresponding to each connection, and a mode of taking an extreme value can be adopted. That is, if the connection has the highest demand level for low latency, the low latency gear value corresponding to the connection is determined as the low latency gear value after latency conflict management.
In a third possible implementation manner, the first latency requirement information is used to indicate at least one latency reduction policy enabled by the first connection, and the second latency requirement information is used to indicate at least one latency reduction policy enabled by the second connection. And performing conflict management on the first time delay requirement information and the second time delay requirement information to obtain target time delay requirement information, wherein the target time delay requirement information indicates at least one time delay reduction strategy which is finally required to be enabled. When conflict management is carried out, aiming at a certain time delay reduction strategy, if at least one connection enables the time delay reduction strategy, the conflict management result of the time delay reduction strategy is enabled; if all connections do not enable it, then the conflict management result of this latency reduction policy is not enabled.
Alternatively, the first device may maintain a counter for each latency reduction policy separately to implement latency conflict management. Taking the first delay reduction strategy as an example, when a certain connection enables the first delay reduction strategy, the value of a counter corresponding to the first delay reduction strategy is increased by 1; when a certain connection is disabled, the value of the counter corresponding to the first delay reduction strategy is reduced by 1. Thus, when the counter corresponding to the first latency reduction policy has a non-zero value, it indicates that there is a connection that enables the first latency reduction policy, and in this case, the result of the conflict management is to enable the first latency reduction policy. When the value of the counter corresponding to the first delay reduction strategy is zero, the connection enabling the first delay reduction strategy does not exist, and in this case, the result of conflict management is that the first delay reduction strategy is not enabled.
In a fourth possible implementation manner, the first latency requirement information is used to indicate at least one latency reduction policy enabled by the first connection and a low latency gear corresponding to the first connection, and the second latency requirement information is used to indicate at least one latency reduction policy enabled by the second connection and a low latency gear corresponding to the second connection. When performing conflict management, conflict management needs to be performed for a delay reduction policy enabled by each connection, and conflict management needs to be performed for a low-delay gear corresponding to each connection. The conflict management manner of the delay reduction policy enabled for each connection is similar to the third possible implementation manner, and is not described herein. The manner of performing conflict management for the low-latency gear corresponding to each connection is similar to the second possible implementation manner described above, and will not be described here.
In a second aspect, the present application provides a data transmission method, taking a case that a first device transmits data to a second device as an example, where an execution body of the method may be the second device, or a processor, a processor chip, or the like in the second device. The method comprises the following steps: the method comprises the steps that a second device receives target data from a first device through a first connection, wherein the first connection is a connection between the first device and the second device; and the second equipment acquires first time delay requirement information corresponding to the first connection, and processes the target data according to the first time delay requirement information.
In the method, the second device receives the target data from the first device through the first connection, and processes the target data according to the first delay requirement information corresponding to the first connection, so that the receiving processing delay of the second device to the target data can be reduced, and the low delay requirement is met.
In a possible implementation manner, the second device processes the target data according to the first latency requirement information, which may be implemented in the following manner: the second device determines transmission parameters according to the first time delay requirement information, wherein the transmission parameters comprise at least one of the following: the working frequency point of the communication chip of the second device, the type of the processing core of the driving module corresponding to the communication chip, the DMA response delay of the direct memory access in the second device and the processing strategy of the kernel of the second device; and the second equipment processes the target data according to the transmission parameters.
In a possible implementation manner, the first latency requirement information indicates at least one of the following: the delay type corresponding to the first connection is a low delay type or a high delay type; a low latency gear value for the first connection; at least one latency reduction policy enabled by the first connection, the at least one latency reduction policy comprising at least one of: a first latency reduction strategy, a second latency reduction strategy, a third latency reduction strategy, and a fourth latency reduction strategy.
In a possible implementation manner, the first latency requirement information indicates that a latency type corresponding to the first connection is a low latency type. In this way, the second device determines the transmission parameter according to the first latency requirement information, which may be implemented in the following manner: the second device executes at least one of the following parameter settings according to the first delay requirement information:
setting the working frequency point of the communication chip of the second equipment as a preset frequency point;
setting the type of a processing core of a driving module of the communication chip as a preset type;
setting the DMA response time delay in the second equipment as a preset time delay;
setting the processing strategy of the kernel of the second device to be a non-power consumption priority strategy.
In a possible implementation manner, the first latency requirement information indicates that a latency type corresponding to the first connection is a low latency type and a low latency gear value of the first connection. In this way, the second device determines the transmission parameter according to the first latency requirement information, which may be implemented in the following manner: the second device executes at least one of the following parameter settings according to the first delay requirement information:
Setting the working frequency point of the communication chip of the second equipment to be a preset frequency point corresponding to the low-time delay gear value;
setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low-delay gear value;
setting the DMA response time delay in the second equipment to be a preset time delay corresponding to the low-time delay gear value;
the processing policy of the kernel of the second device is set to a non-power-consumption priority policy.
In a possible implementation manner, the first latency requirement information indicates at least one latency reduction policy enabled by the first connection; the second device determines transmission parameters according to the first delay requirement information, wherein the transmission parameters comprise at least one of the following:
if the first connection enabled time delay reduction strategy comprises a first time delay reduction strategy, setting the working frequency point of the communication chip of the second equipment as a preset frequency point;
if the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip as a preset type;
if the delay reduction strategy enabled by the first connection comprises a third delay reduction strategy, setting the DMA response delay in the second device as a preset delay;
And if the delay reduction strategy enabled by the first connection comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the second equipment as a non-power consumption priority strategy.
In a possible implementation manner, the first latency requirement information indicates at least one latency reduction policy enabled by the first connection and a low latency gear value of the first connection; the second device determines transmission parameters according to the first delay requirement information, wherein the transmission parameters comprise at least one of the following:
if the first connection enabled time delay reduction strategy comprises a first time delay reduction strategy, setting the working frequency point of the communication chip of the second equipment to be a preset frequency point corresponding to the low time delay gear value;
if the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low delay gear value;
if the delay reduction strategy enabled by the first connection comprises a third delay reduction strategy, setting the DMA response delay in the second device to be a preset delay corresponding to the low-delay gear value;
And if the delay reduction strategy of the first connection enabling comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the second equipment as a non-power consumption priority strategy.
In a possible implementation manner, the second device processes the target data according to the first latency requirement information, which may be implemented in the following manner: the second equipment determines target time delay requirement information according to the first time delay requirement information and second time delay requirement information corresponding to the second connection; the second connection is a connection between the second device and the first device or a connection between the second device and a third device; and the second equipment processes the target data according to the target time delay requirement information.
In a third aspect, the present application provides a data transmission device, which may be in the form of software and/or hardware. The data transmission means may be, for example, the first device or a chip, a module or a unit in the first device. The data transmission device includes: a processing module and a transmitting module. Wherein,,
the processing module is used for determining target data to be transmitted to the second equipment through a first connection, wherein the first connection is a connection between the first equipment and the second equipment;
The processing module is further used for acquiring first delay requirement information corresponding to the first connection;
and the sending module is used for transmitting the target data to the second equipment through the first connection according to the first time delay requirement information.
In a possible implementation manner, the sending module is specifically configured to: determining a transmission parameter according to the first delay requirement information, wherein the transmission parameter comprises at least one of the following: the method comprises the steps of working frequency points of a communication chip of first equipment, types of processing cores of a driving module corresponding to the communication chip, direct Memory Access (DMA) response time delay in the first equipment and processing strategies of a kernel of the first equipment; and transmitting the target data to the second equipment through the first connection according to the transmission parameters.
In a possible implementation manner, the first latency requirement information indicates at least one of the following:
the delay type corresponding to the first connection is a low delay type or a high delay type;
a low latency gear value for the first connection;
at least one latency reduction policy enabled by the first connection, the at least one latency reduction policy comprising at least one of: a first latency reduction strategy, a second latency reduction strategy, a third latency reduction strategy, and a fourth latency reduction strategy.
In a possible implementation manner, the first latency requirement information indicates that a latency type corresponding to the first connection is a low latency type; the sending module is specifically configured to execute at least one of the following parameter settings according to the first latency requirement information:
setting the working frequency point of the communication chip of the first equipment as a preset frequency point;
setting the type of a processing core of a driving module of the communication chip as a preset type;
setting the DMA response time delay in the first equipment as a preset time delay;
setting a processing policy of a kernel of the first device to a non-power consumption priority policy.
In a possible implementation manner, the first latency requirement information indicates that a latency type corresponding to the first connection is a low latency type and a low latency gear value of the first connection; the sending module is specifically configured to execute at least one of the following parameter settings according to the first latency requirement information:
setting the working frequency point of the communication chip of the first equipment as a preset frequency point corresponding to the low-time delay gear value;
setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low-delay gear value;
Setting the DMA response time delay in the first equipment to be a preset time delay corresponding to the low-time delay gear value;
the processing policy of the kernel of the first device is set to a non-power-consumption priority policy.
In a possible implementation manner, the first latency requirement information indicates at least one latency reduction policy enabled by the first connection; the sending module is specifically configured to perform at least one of the following:
if the first connection enabled delay reduction strategy comprises a first delay reduction strategy, setting a working frequency point of a communication chip of the first equipment as a preset frequency point;
if the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip as a preset type;
if the delay reduction strategy of the first connection enabling comprises a third delay reduction strategy, setting the DMA response delay in the first equipment as a preset delay;
and if the delay reduction strategy of the first connection enabling comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the first equipment as a non-power consumption priority strategy.
In a possible implementation manner, the first latency requirement information indicates at least one latency reduction policy enabled by the first connection and a low latency gear value of the first connection; the sending module is specifically configured to perform at least one of the following:
If the first connection enabled time delay reduction strategy comprises a first time delay reduction strategy, setting the working frequency point of the communication chip of the first equipment to be a preset frequency point corresponding to the low time delay gear value;
if the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low delay gear value;
if the delay reduction strategy enabled by the first connection comprises a third delay reduction strategy, setting the DMA response delay in the first device to be a preset delay corresponding to the low-delay gear value;
and if the delay reduction strategy of the first connection enabling comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the first equipment as a non-power consumption priority strategy.
In a possible implementation manner, the sending module is specifically configured to: determining target delay requirement information according to the first delay requirement information and second delay requirement information corresponding to the second connection; the second connection is a connection between the first device and the second device or a connection between the first device and a third device; and transmitting the target data to the second equipment through the first connection according to the target time delay requirement information.
In a fourth aspect, the present application provides a data transmission device, which may be in the form of software and/or hardware. The data transmission means may be, for example, the first device or a chip, a module or a unit in the first device. The data transmission device includes: a receiving module and a processing module. Wherein,,
the receiving module is used for receiving target data from first equipment through a first connection, wherein the first connection is a connection between the first equipment and second equipment;
the processing module is used for acquiring first delay requirement information corresponding to the first connection;
the processing module is further used for processing the target data according to the first time delay requirement information.
In the method, the second device receives the target data from the first device through the first connection, and processes the target data according to the first delay requirement information corresponding to the first connection, so that the receiving processing delay of the second device to the target data can be reduced, and the low delay requirement is met.
In one possible implementation manner, the processing module is specifically configured to: determining a transmission parameter according to the first delay requirement information, wherein the transmission parameter comprises at least one of the following: the working frequency point of the communication chip of the second device, the type of the processing core of the driving module corresponding to the communication chip, the DMA response delay of the direct memory access in the second device and the processing strategy of the kernel of the second device; and processing the target data according to the transmission parameters.
In a possible implementation manner, the first latency requirement information indicates at least one of the following:
the delay type corresponding to the first connection is a low delay type or a high delay type;
a low latency gear value for the first connection;
at least one latency reduction policy enabled by the first connection, the at least one latency reduction policy comprising at least one of: a first latency reduction strategy, a second latency reduction strategy, a third latency reduction strategy, and a fourth latency reduction strategy.
In a possible implementation manner, the first latency requirement information indicates that a latency type corresponding to the first connection is a low latency type; the processing module is specifically configured to execute at least one of the following parameter settings according to the first latency requirement information:
setting the working frequency point of the communication chip of the second equipment as a preset frequency point;
setting the type of a processing core of a driving module of the communication chip as a preset type;
setting the DMA response time delay in the second equipment as a preset time delay;
setting the processing strategy of the kernel of the second device to be a non-power consumption priority strategy.
In a possible implementation manner, the first latency requirement information indicates that a latency type corresponding to the first connection is a low latency type and a low latency gear value of the first connection; the processing module is specifically configured to execute at least one of the following parameter settings according to the first latency requirement information:
Setting the working frequency point of the communication chip of the second equipment to be a preset frequency point corresponding to the low-time delay gear value;
setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low-delay gear value;
setting the DMA response time delay in the second equipment to be a preset time delay corresponding to the low-time delay gear value;
the processing policy of the kernel of the second device is set to a non-power-consumption priority policy.
In a possible implementation manner, the first latency requirement information indicates at least one latency reduction policy enabled by the first connection; the processing module is specifically configured to perform at least one of the following:
if the first connection enabled time delay reduction strategy comprises a first time delay reduction strategy, setting the working frequency point of the communication chip of the second equipment as a preset frequency point;
if the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip as a preset type;
if the delay reduction strategy enabled by the first connection comprises a third delay reduction strategy, setting the DMA response delay in the second device as a preset delay;
And if the delay reduction strategy enabled by the first connection comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the second equipment as a non-power consumption priority strategy.
In a possible implementation manner, the first latency requirement information indicates at least one latency reduction policy enabled by the first connection and a low latency gear value of the first connection; the processing module is specifically configured to perform at least one of the following:
if the first connection enabled time delay reduction strategy comprises a first time delay reduction strategy, setting the working frequency point of the communication chip of the second equipment to be a preset frequency point corresponding to the low time delay gear value;
if the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low delay gear value;
if the delay reduction strategy enabled by the first connection comprises a third delay reduction strategy, setting the DMA response delay in the second device to be a preset delay corresponding to the low-delay gear value;
and if the delay reduction strategy of the first connection enabling comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the second equipment as a non-power consumption priority strategy.
In one possible implementation manner, the processing module is specifically configured to: determining target delay requirement information according to the first delay requirement information and second delay requirement information corresponding to the second connection; the second connection is a connection between the second device and the first device or a connection between the second device and a third device; and processing the target data according to the target time delay demand information.
In a fifth aspect, the present application provides an electronic device, comprising: a memory and a processor; the processor is configured to couple to the memory, and read and execute instructions in the memory to implement the method of the first aspect or any one of the possible implementation manners of the first aspect.
In a sixth aspect, the present application provides an electronic device, including: a memory and a processor; the processor is configured to couple to the memory, read and execute instructions in the memory to implement the method of the second aspect or any one of the possible implementation manners of the second aspect.
In a seventh aspect, the present application provides a computer readable storage medium storing computer instructions that, when executed, implement the method of the first aspect or any one of the possible implementations of the first aspect.
In an eighth aspect, the present application provides a computer readable storage medium storing computer instructions that, when executed, implement the method of the second aspect or any one of the possible implementations of the second aspect.
In a ninth aspect, the present application provides a computer program product comprising a computer program which, when executed, implements the method of the first aspect or any one of the possible implementations of the first aspect.
In a tenth aspect, the present application provides a computer program product comprising a computer program which, when executed, implements the method of the second aspect or any one of the possible implementations of the second aspect.
The advantages of each of the possible implementations of the second to tenth aspects may be referred to as the advantages of the first aspect, and are not described herein.
The embodiment of the application provides a data transmission method, a device, equipment, a storage medium and a program, wherein the method comprises the following steps: the method comprises the steps that a first device determines target data to be transmitted to a second device through a first connection, wherein the first connection is a connection between the first device and the second device; the first equipment acquires first time delay requirement information corresponding to the first connection, and transmits the target data to the second equipment through the first connection according to the first time delay requirement information. In the above process, the first device transmits the target data to the second device according to the first delay requirement information corresponding to the first connection, so that the transmission delay of the first device to the target data can be reduced, and the low delay requirement can be met.
Drawings
Fig. 1A is a schematic diagram of a communication system according to an embodiment of the present application;
fig. 1B is a schematic diagram of another communication system according to an embodiment of the present application;
FIG. 2A is a schematic diagram of a set of user interfaces provided in an embodiment of the present application;
FIG. 2B is a schematic diagram of another set of user interfaces provided in an embodiment of the present application;
FIG. 2C is a schematic diagram of yet another set of user interfaces provided in an embodiment of the present application;
fig. 3 is a schematic diagram of a system architecture of an electronic device according to an embodiment of the present application;
fig. 4 is a schematic diagram of a data transmission process according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a dotting assay provided in an embodiment of the present application;
fig. 6 is a schematic diagram of a data transmission method according to an embodiment of the present application;
FIG. 7A is a schematic diagram of a multiple connection according to an embodiment of the present application;
FIG. 7B is a schematic illustration of another multiple connection provided in an embodiment of the present application;
fig. 8 is a schematic diagram of another data transmission method according to an embodiment of the present application;
fig. 9 is a schematic diagram of a multi-connection low latency conflict management procedure according to an embodiment of the present application;
FIG. 10 is a schematic diagram of a conflict management process according to an embodiment of the present application;
fig. 11 is a schematic diagram of yet another data transmission method according to an embodiment of the present application;
Fig. 12 is a schematic diagram of still another data transmission method according to an embodiment of the present application;
fig. 13 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
fig. 14 is a schematic structural diagram of another data transmission device according to an embodiment of the present application;
fig. 15 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The terms and concepts referred to in this application will be explained first.
Distributed file system (distributed file system, DFS): the physical storage resources managed by the file system are not necessarily directly connected to the local node, but are connected with other nodes through a computer network; several different logical disk partitions or volume labels are combined to form a complete hierarchical file system. The DFS provides a logical tree file system structure for resources distributed at any position on the network, thereby facilitating user access to shared files distributed on the network. The role of the individual DFS shared folders is to be relative to access points through other shared folders on the network.
Kernel mode, user mode: the user mode provides a space for running the application program, and the execution of the application program needs to rely on the resources provided by the kernel. The kernel mode controls the hardware resources of the computer, such as coordinating processor resources, allocating memory resources, etc., and provides a stable environment for applications to run. In order for an application to access kernel-managed resources (e.g., processor resources, memory resources, input/output (I/O) resources, etc.), the kernel must provide a set of generic access interfaces, which are called system calls. The kernel mode can be entered from the user mode through system calls.
The kernel mode and the user mode correspond to two operation levels of the operating system. A process is said to be in kernel mode when a task (process) performs a system call while it is trapped in kernel code for execution. The processor is now executing in the kernel code with the highest privilege level. When a process is in kernel mode, the executing kernel code may use the kernel stack of the current process. Each process has its own kernel stack. When a process is executing its own code, it is said to be in user state. I.e. when the processor is running in the user code with the lowest privilege level. When a user program is being executed and suddenly interrupted by an interrupt program, the user program may also be symbolically said to be in the kernel state of the process. As the interrupt handler will use the kernel stack of the current process. This is somewhat similar to the state of a process in kernel mode.
Direct memory access (direct memory access, DMA): as the name implies, the central processing unit (central processing unit, CPU) is bypassed from directly accessing memory. In computers, the speed of memory and peripherals is very slow compared to the CPU, and thus data is carried between memory and memory (or memory and device), wasting time on the CPU, resulting in some real-time events not being handled in time by the CPU. Therefore, a special device for data handling, namely a DMA controller, is proposed to assist the CPU in data handling. Data is copied from one address space to another address space by the DMA controller. High speed data transfer between memory and memory (or memory and device) may be achieved with a DMA controller.
DMA transfer is initiated by the CPU and data transfer is performed by the DMA controller. When implementing DMA transfer, the DMA controller directly takes care of the bus, so there is a bus control transfer problem. That is, before the DMA transfer, the CPU should give the bus control right to the DMA controller, and after the DMA transfer is finished, the DMA controller should give the bus control right back to the CPU.
A complete DMA transfer process must go through 4 steps of DMA request, DMA response, DMA transfer, DMA end. In the step of (1) sending a moving request to the DMA controller by the CPU, namely, the CPU tells the DMA controller to help the CPU to move the data in the first storage space to the second storage space. (2) In the DMA response step, the DMA controller prioritizes and masks the DMA request and issues a bus request to the bus arbitration logic. And when the CPU finishes executing the current bus cycle, the bus control right can be released. At this point, the bus arbitration logic outputs a bus reply indicating that the DMA controller has responded and the DMA controller begins a DMA transfer. (3) In the DMA transmission step, after the DMA controller obtains the bus control right, the CPU suspends or only executes internal operation, the DMA controller outputs a read-write command, and the data transmission is directly carried out between the memories, so that the participation of the CPU is not needed in the transmission process. (4) In the DMA ending step, the DMA controller releases the bus control right after completing the prescribed data transfer. The CPU resumes the use of the bus and checks the correctness of the DMA transfer operation at this time. Finally, the CPU carries the operation result and state to continue executing the original program. Therefore, the DMA transmission mode does not need to directly control transmission by a CPU, and does not have the processes of reserving the site and recovering the site like an interrupt processing mode, and a direct data transmission path is opened up through the DMA controller, so that the efficiency of the CPU is greatly improved.
DMA response latency: in the above-mentioned DMA transfer process, a certain time delay exists between when the DMA controller receives a transfer request initiated by the CPU and when the DMA controller responds to the transfer request, and in the embodiment of the present application, the time delay is referred to as a DMA response time delay. In a related implementation, the DMA response delay is controlled by a DMA response timer, and the duration of the DMA response timer is a preset default duration T1. After the DMA controller receives a certain move request, a DMA response timer is started, and the duration of the DMA response timer is T1. During the execution of the DMA response timer, the DMA controller may also receive other move requests. After the DMA response timer expires, the DMA controller begins responding to these move requests.
For ease of understanding, the following description is presented with respect to the communication system and application field Jing Jinhang to which the present application relates.
Currently, data transmission between different electronic devices can be performed based on a wireless fidelity (wireless fidelity, wiFi) wireless network.
Fig. 1A is a schematic diagram of a communication system according to an embodiment of the present application. As shown in fig. 1A, the communication system includes a first device 10 and a second device 20. The first device 10 and the second device 20 are connected to the same WiFi network. A peer-to-peer (P2P) data transmission between the first device 10 and the second device 20 may be directly based on the WiFi wireless network. For example, the first device 10 directly transmits the data to be transmitted to the second device 20 through the WiFi network. In this scenario, the communication mode between the first device 10 and the second device 20 may be referred to as a P2P communication mode.
Fig. 1B is a schematic diagram of another communication system according to an embodiment of the present application. As shown in fig. 1B, the communication system includes a first device 10, a second device 20, and a relay device 30. The first device 10, the second device 20 and the transit device 30 access the same WiFi network. Data transmission between the first device 10 and the second device 20 may also be performed based on a WiFi network, which is different from the communication system shown in fig. 1A in that forwarding through the relay device 30 is required when data transmission is performed between the first device 10 and the second device 20. For example, the first device 10 transmits data to be transmitted to the relay device 30 through the WiFi network, and the relay device 30 forwards the received data to the second device 20. The transit device 30 may be various Access Point (AP) devices, such as a router, a switch, and the like. In this scenario, the communication mode between the first device 10 and the second device 20 may be referred to as a cross-AP communication mode.
The communication systems shown in fig. 1A and fig. 1B perform data transmission based on the WiFi wireless network, and have the characteristics of high transmission speed, no need of consuming data traffic, and the like, and can be applied to various application scenarios. Several possible application scenarios are exemplified below.
For example, in one possible application scenario, a first device may share data, such as pictures, audio, video, files, applications, etc., with a second device. Taking a picture as an example, fig. 2A is a schematic diagram of a set of user interfaces provided in an embodiment of the present application. As shown in fig. 2A, after the user selects the picture to be shared in the interface 201 of the device a, the user clicks the "share" button, and the device a jumps to the interface 202. In the interface 202, after the user clicks the target device to be shared (device B), the device a displays the interface 203, and the prompt message "waiting for reception" is displayed in the interface 203. At this time, as shown in interface 205, a prompt message "device a wants to share 3 pictures with you, is it received? ", when the user clicks the" receive "button, device a starts transmitting data to device B. When the data transmission is completed, a prompt "receive successful" is displayed in the display interface of device B, as shown in interface 206. The display interface of the device a displays a prompt "successful transmission," as indicated by the interface 204.
In another possible application scenario, the first device may cast a display interface to a screen of the second device. For example, the first device may be a mobile phone, pad, etc., and the second device may be a smart screen, television, etc. Fig. 2B is a schematic diagram of another set of user interfaces provided in an embodiment of the present application. As shown in fig. 2B, the display interface of the mobile phone is projected and displayed on the smart screen. In the screen throwing process, the mobile phone sends interface data to be thrown to the intelligent screen, and the intelligent screen displays the received interface data.
In another possible application scenario, the first device and the second device use a distributed file system, and the first device may search, browse, download, or share files in the second device. Taking the distributed gallery function as an example, assume that device a and device B support the distributed gallery function, and device a and device B may share the gallery after they log into the same account.
For example, fig. 2C is a schematic diagram of yet another set of user interfaces provided in an embodiment of the present application. Fig. 2C illustrates three possible user interface schematics for device a. Referring to interface 207 in fig. 2C, a user may browse through device a to pictures stored in the local machine (i.e., device a). Referring to interface 208 in FIG. 2C, the user may also view photos stored in device B through device A. In the scene, when a user performs a sliding browsing operation on a screen of the device A, the device A sends a picture acquisition request to the device B according to the browsing operation of the user so as to request a picture to be displayed currently. And after receiving the picture acquisition request, the equipment B sends a picture to be displayed to the equipment A. Referring to interface 209 in fig. 2C, the user may also search for pictures stored in device B through device a. For example, the user inputs the search keyword "food" in the picture search interface, and the device a may display the picture searched in the local (i.e., the device a) or the picture searched in the device B in the search result.
It should be noted that, the foregoing fig. 2A, fig. 2B, and fig. 2C are examples of several possible application scenarios, and are not limited to the application scenarios in the embodiments of the present application. In practical applications, there may also be other more application scenarios, for example, a scenario where the first device controls the second device. Taking the mobile phone as an example for controlling the car machine, the mobile phone sends a control instruction to the car machine, the car machine executes corresponding actions according to the control instruction, and the execution result is returned to the mobile phone. Also for example, a cell phone clone scenario, i.e., migrating data in an old cell phone to a new cell phone, etc.
In a communication system based on a WiFi wireless network, communication latency is a very important performance indicator. The communication delay in the embodiments of the present application may be represented by a round-trip time (RTT). The round trip delay is a total delay from the time when the transmitting end transmits data to the time when the transmitting end receives an acknowledgement from the receiving end (the receiving end immediately transmits the acknowledgement after receiving the data).
In the application scenarios of data sharing, screen throwing, distributed gallery, cross-device control and the like based on WiFi communication, the requirements on communication time delay are high. The current communication delay is higher, and the requirements of application scenes cannot be met.
For example, in the data sharing scenario shown in fig. 2A, the communication delay between the device a and the device B is high, so that the time required for the data transmission to be shared is long, which affects the user experience. In the screen-throwing scenario shown in fig. 2B, the screen-throwing picture displayed by the smart screen is stuck due to higher communication delay. In the distributed gallery scenario shown in fig. 2C, when a user browses a picture stored in the device B through the device a, because the communication delay between the device a and the device B is higher, the data request and the data transmission between the devices are slower, and a phenomenon that a large-area white block appears in the display screen of the device a when the user performs a sliding browsing operation on the screen of the device a may occur, which affects the user experience. In a cross-device control scene, when a user uses a device A to control a device B, the communication time delay between the device A and the device B is high, so that the operation response is slow, and the user experience is affected.
In addition, in a distributed file system, communication latency is related to the random read rate of the distributed file system, as well as the rate of file processing across devices (e.g., creating files, deleting files, searching files, etc.).
For example, currently, taking a distributed file system as an example, as shown in table 1, when a P2P mode is used for communication, the communication delay of the distributed file system is about 10ms, based on the communication delay, the random reading rate of the distributed file system is about 5.4Mbps, the time required for creating 10000 files across devices is about 145s, and the time required for deleting 10000 files across devices is about 124s. When the cross-AP mode is adopted for communication, the communication delay of the distributed file system is about 18ms, the random reading rate of the distributed file system is about 3.2Mbps based on the communication delay, the time required for creating 10000 files across devices is about 207s, and the time required for deleting 10000 files across devices is about 203s.
TABLE 1
P2P mode | Cross-AP mode | |
Communication delay | 10ms | 18ms |
Random read rate | 5.4Mbps | 3.2Mbps |
Creating 10000 files across devices | 145s | 207s |
Deletion of 10000 files across devices | 124s | 203s |
When the communication latency of the distributed file system is high, the random reading rate of the distributed file system and the file processing rate across devices are low.
In summary, how to reduce the communication delay in the WiFi-based communication system is a technical problem to be solved.
The embodiment of the application provides a data transmission method, which is used for reducing the transmission delay of end-to-end communication and meeting the transmission requirement of low delay.
In the embodiment of the present application, the execution body for executing the data transmission method may be an electronic device, or may be an apparatus in the electronic device. Illustratively, the electronic device may be a mobile phone, a tablet computer, a notebook computer, a smart screen, an intelligent wearable device, an intelligent vehicle-mounted device, an intelligent home device, an intelligent sound box, or the like, and the apparatus in the electronic device may be a processor, a chip system, a circuit, a module, or the like.
Fig. 3 is a schematic diagram of a system architecture of an electronic device according to an embodiment of the present application. As shown in fig. 3, an electronic device may include a hardware resource layer, a driver layer running on top of the hardware resource layer, a kernel mode running on top of the driver layer, and a user mode running on top of the kernel mode.
Referring to fig. 3, the hardware resource layer may include: processor, memory, and WiFi chip.
Wherein the processor may comprise one or more processing units, such as: the processors may include application processors (application processor, APs), modem processors, graphics processors (graphics processing unit, GPU), image signal processors (image signal processor, ISP), controllers, video codecs, digital signal processors (digital signal processor, DSP), baseband processors, display processing units (display process unit, DPU), and/or neural-network processors (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors. In some embodiments, the electronic device may also include one or more processors. The controller can be a neural center and a command center of the electronic device. The controller can generate operation control signals according to the instruction operation codes and the time sequence signals to finish the control of instruction fetching and instruction execution. A memory may also be provided in the processor for storing instructions and data. In some embodiments, the memory in the processor is a cache memory. The memory may hold instructions or data that the processor has just used or recycled. If the processor needs to reuse the instruction or data, it can be called directly from the memory. This avoids repeated accesses and reduces the latency of the processor, thereby improving the efficiency of the electronic device.
The memory may include external memory and/or internal memory.
The external memory may be an external memory card, such as a Micro SD card, implementing an expansion of the memory capabilities of the electronic device. The external memory card communicates with the processor through an external memory interface to realize the data storage function. For example, data files such as music, photos, videos, etc. are stored in an external memory card.
The internal memory may be used to store one or more computer programs, including instructions. The processor may cause the electronic device to execute various functional applications, data processing, and the like by executing the above-described instructions stored in the internal memory. The internal memory may include a stored program area and a stored data area. The storage program area can store an operating system; the storage area may also store one or more applications (e.g., gallery, contacts, etc.), and so forth. The storage data area may store data created during use of the electronic device (e.g., photos, contacts, etc.), and so on. In addition, the internal memory may include high-speed random access memory, and may also include nonvolatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash memory (universal flash storage, UFS), and the like. In some embodiments, the processor may cause the electronic device to perform various functional applications and data processing by executing instructions stored in an internal memory, and/or instructions stored in a memory provided in the processor.
In some examples, the processor and the memory may be independent of each other. In other examples, the processor and memory may be integrated into a system-on-chip.
The WiFi chip is used for realizing the WiFi communication function of the electronic equipment. In the embodiment of the application, the WiFi chip may be a hardware module integrated into the processor/processor chip, and the WiFi chip may also be a separate chip independent of the processor/processor chip.
With continued reference to fig. 3, the driver layer is used to provide an operation interface of the hardware resource for the upper layer program, so that the upper layer program can call the interface regardless of the internal implementation of the hardware resource. Kernel mode may include link layer, IP layer, TCP layer, etc. The link layer, the IP layer and the TCP layer are used for realizing the encapsulation and analysis processing functions of the communication protocol.
According to different operating systems running in the electronic device, the kernel mode of the electronic device can correspond to kernels of different operating systems. For example, if the electronic device runs a Linux operating system, the kernel mode of the electronic device is a Linux kernel. And if the Android operating system is operated by the electronic equipment, the kernel mode of the electronic equipment is an Android kernel. And if the electronic equipment runs an iOS operating system, the kernel mode of the electronic equipment is an iOS kernel. And if the electronic equipment runs a windows operating system, the kernel mode of the electronic equipment is a windows kernel.
With continued reference to FIG. 3, the user state includes an application layer, e.g., an application such as a browser, address book, word processor, instant messaging software, gallery, sharing tool, screen-drop tool, etc.
The data transfer process between electronic devices is described below in connection with fig. 4.
Fig. 4 is a schematic diagram of a data transmission process according to an embodiment of the present application. In fig. 4, the first device transmits the target data to the second device is illustrated as an example.
As shown in fig. 4, the memory is divided into a user state memory space and a kernel state memory space. The user mode storage space is used for storing data related to the running of the application program in the user mode. The kernel-mode storage space is used for storing data related to the running of the application program in the kernel mode.
The kernel mode of the first device comprises a kernel scheduling module and a sending module. The kernel mode of the second device includes a kernel scheduling module and a receiving module.
When data transmission is carried out between the first equipment and the second equipment, the user mode, the kernel mode, the WiFi driving module and the WiFi chip are involved from the upper layer to the lower layer. The following describes a procedure of transmitting target data by the first device and a procedure of receiving target data by the second device, respectively.
The process of the first device sending the target data to the second device is as follows:
(1) The user state sends first indication information to the kernel state, wherein the first indication information is used for indicating target data to be sent to the second equipment.
Illustratively, the first indication information includes a storage location of the target data in the user-mode storage space.
(2) And the kernel scheduling module in the kernel state sends a moving request to the DMA controller according to the first indication information.
(3) And the DMA controller moves the target data from the user state storage space to the kernel state storage space according to the moving request.
(4) And the sending module in the kernel mode acquires target data from the kernel storage space and sends the target data to the WiFi driving module.
(5) And the WiFi driving module sends the target data to the WiFi chip.
(6) And after receiving the target data, the WiFi chip sends the target data to the second equipment.
The process of receiving the target data by the second device is as follows:
(1) The WiFi chip receives target data from the first device.
(2) And the WiFi chip sends the target data to the WiFi driving module.
(3) And the WiFi driving module sends the target data to the receiving module in the kernel mode.
(4) The receiving module in the kernel mode receives the target data and stores the target data into the kernel mode storage space.
(5) The kernel scheduling module in kernel state sends a move request to the DMA controller.
(6) And the DMA controller moves the target data from the kernel-mode storage space to the user-mode storage space according to the moving request.
(7) The user mode acquires target data from the user mode storage space, and performs display processing or other processing on the target data.
The inventor aims at solving the problem of higher time delay in WiFi communication and analyzing the time delay distribution in the data transmission process. Fig. 5 is a schematic diagram of a dotting analysis provided in an embodiment of the present application. As shown in fig. 5, each interface in the user state, the kernel state and the WiFi chip is dotted, and the delay is statistically analyzed, so that it is found that: the time delay consumption is mainly distributed in the kernel scheduling module, the WiFi driving module and the WiFi chip, and the time delay in the upper user mode application is lower.
For example, take the scenario that the first device randomly reads the second device 4KB data as an example. The data transmission process is divided into the following stages:
A. the file system of the first device reads the 4KB data to be sent from disk to memory.
B. The application process of the first device processes the 4KB data.
C. The first device transfers 4KB of data to the second device (i.e., from the memory of the first device to the memory of the second device).
D. The application process of the second device processes the received 4KB data.
E. The file system of the second device writes 4KB of data from memory to disk.
The delay consumption for each stage is shown in table 2.
TABLE 2
As can be seen from table 2, in the scenario where the first device randomly reads the second device 4KB data, the total consumed delay is 4805 μs, with the main delay consumed in the transmission phase (93.9% duty cycle).
Therefore, in the embodiment of the present application, in conjunction with the data transmission process shown in fig. 4, various delay reduction strategies are provided to reduce the end-to-end communication delay. Various delay reduction strategies are described separately below.
A first latency reduction strategy:
the WiFi chip is used as a bottom hardware module for data transmission and reception, and the working frequency point of the WiFi chip influences the data processing rate of the WiFi chip to a great extent. If the working frequency point of the WiFi chip is higher, the data processing rate of the WiFi chip is higher; if the working frequency point of the WiFi chip is lower, the data processing rate of the WiFi chip is lower.
In general, during data transmission, a WiFi chip adopts a frequency point adjustment strategy based on transmission bandwidth. Specifically, the working frequency point of the WiFi chip is automatically adjusted according to the current transmission bandwidth. When the transmission bandwidth is larger, the working frequency point of the WiFi chip is adjusted to be higher, and when the transmission bandwidth is smaller, the working frequency point of the WiFi chip is adjusted to be lower.
In practical application scenarios, when the data transmission has low latency requirements, the corresponding transmission bandwidth is usually smaller, so that the WiFi chip is usually enabled to work at a lower working frequency point according to the frequency point adjustment strategy based on the transmission bandwidth.
In the embodiment of the application, when the data transmission has low delay requirement, the frequency point adjustment strategy based on the transmission bandwidth is not adopted, and the working frequency point of the WiFi chip is set to be a higher frequency point. For example, when it is determined that the data transmission has a low latency requirement, the working frequency point of the WiFi chip may be set to a preset frequency point, where the preset frequency point is greater than the reference frequency point. The reference frequency point may be an empirical value, or the reference frequency point may be a working frequency point corresponding to the current transmission bandwidth in a frequency point adjustment policy based on the transmission bandwidth.
The working frequency point of the WiFi chip is set to be a higher frequency point, so that the data processing speed of the WiFi chip can be improved, the end-to-end data transmission delay is reduced, and the low-delay requirement is met.
Optionally, when the data transmission has a low latency requirement, the working frequency point of the WiFi chip may be dynamically adjusted according to a specific low latency gear value. Wherein the low latency gear value indicates a degree of demand for low latency. The working frequency points of the WiFi chips corresponding to different low-time-delay gear values are different. For example, the corresponding relationship shown in table 3, that is, the operating frequency points corresponding to different low-delay gear values, may be predefined. Thus, the corresponding relation can be queried according to the low-delay gear value, the target working frequency point of the WiFi chip is determined, and adjustment is performed.
TABLE 3 Table 3
Low-delay gear value | Working |
Gear | |
1 | |
|
|
|
|
|
|
… | … |
The working frequency point of the WiFi chip is dynamically determined according to the low-time-delay gear value, so that the data processing speed of the WiFi chip can meet the low-time-delay requirements of different gear values.
A second latency reduction strategy:
in connection with the data transmission process shown in fig. 4, the WiFi driving module of the electronic device includes at least one thread, for example, a sending thread and a receiving thread. The sending thread is used for sending the target data to the WiFi chip. The receiving thread is used for receiving target data from the WiFi chip. After the data processing speed of the WiFi chip is improved, in the embodiment of the application, the data processing speed of the sending thread/receiving thread in the WiFi driving module can be improved to match the data processing speed of the WiFi chip.
In general, when an electronic device adopts a multi-core CPU, a thread needs to be bound. Binding a core refers to establishing a binding relationship between a thread and the core of a CPU such that the thread can run on its bound core. When the CPU of the electronic device includes a plurality of cores, the plurality of cores may employ a combination of different types of cores. In the embodiment of the present application, the types of cores may include: large, small and medium cores. The processing performance of the large core is better than that of the medium core, and the processing performance of the medium core is better than that of the small core. For example, the CPU of a mobile phone of a certain model may include: 1 big core, 3 middle cores, 4 small cores.
In the related art, when the sending thread/receiving thread in the WiFi driving module is subjected to the core binding process, a core binding strategy based on throughput and PPS threshold is adopted by default. Specifically, it is determined to which core the transmit/receive threads in the WiFi driver module are bound based on throughput and PPS threshold. Illustratively, when the throughput is higher than the PPS threshold, the transmit/receive thread in the WiFi driver module is bound to the middle core, and when the throughput is lower than the PPS threshold, the transmit/receive thread in the WiFi driver module is bound to the small core.
In the practical application scenario, when the data transmission has low latency requirement, the corresponding throughput and PPS threshold are generally lower, so that the sending thread/receiving thread in the WiFi driving module is bound to the corelet according to the above-mentioned core binding policy based on the throughput and PPS threshold.
In the embodiment of the application, when the data transmission has low delay requirement, the core binding strategy based on the throughput and the PPS threshold is not adopted any more, and the sending thread/receiving thread in the WiFi driving module is bound to the core with higher processing performance. Optionally, the sending/receiving threads in the WiFi driver module are bound to the middle core or the large core.
The data processing speed of the WiFi driving module can be improved by binding the sending thread/receiving thread in the WiFi driving module to the middle core or the big core, so that the end-to-end data transmission delay is reduced, and the low-delay requirement is met.
Third latency reduction strategy:
in connection with the data transmission process shown in fig. 4, the kernel scheduling module of the first device moves the target data from the user state storage space to the kernel state storage space through the DMA controller, and the kernel scheduling module of the second device moves the target data from the kernel state storage space to the user state storage space through the DMA controller.
In the related art, when the DMA controller responds to the data movement request of the kernel scheduling module, the data movement process is performed according to the default DMA response time delay. In this embodiment of the present application, when the data transmission has a low latency requirement, the data moving process may be performed according to a first DMA response latency, where the first DMA response latency is smaller than the default DMA response latency. This can increase the response speed of the DMA controller. Illustratively, the duration of the DMA response timer may be reduced.
The data moving processing is carried out according to the lower DMA response time delay, so that the moving response speed of the DMA controller can be improved, the time length required by the data moving process is reduced, the end-to-end data transmission time delay is reduced, and the low time delay requirement is met.
Optionally, when the data transmission has a low latency requirement, the DMA response latency may also be dynamically adjusted according to the low latency range value of the low latency requirement. Wherein the low latency gear value indicates a degree of demand for low latency. The DMA response delays corresponding to the different low-latency gears are different. When the low-delay gear value indicates that the requirement level of low delay is higher, the corresponding DMA response delay is smaller; when the low latency gear value indicates a lower level of demand for low latency, its corresponding DMA response latency is greater. For example, the correspondence relationship shown in table 4, that is, DMA response delays corresponding to different low-delay gear values, may be predefined. Thus, the corresponding relation can be queried according to the low-delay gear value, the DMA response delay is determined, and the DMA response delay is adjusted.
TABLE 4 Table 4
Low-delay gear value | DMA |
Gear | |
1 | |
|
|
|
|
|
|
… | … |
By dynamically adjusting the DMA response delay according to the low delay gear value, the DAM moving speed can meet the low delay requirements of different gears.
Fourth latency reduction strategy:
in conjunction with the data transmission process shown in fig. 4, the kernel scheduling module is also responsible for power consumption management of the WiFi chip. In the related art, a kernel scheduling module implements processing logic of a data packet according to a power consumption priority policy. In an exemplary scenario of transmitting small data packets, a certain time delay may be set between different processing links, so that each data packet may not be processed in real time, but after a plurality of data packets are accumulated, the plurality of data packets may be processed uniformly, so as to achieve the purpose of reducing power consumption.
In the embodiment of the application, when the data transmission has low latency requirement, the kernel scheduling module closes the power consumption priority strategy, that is, the processing logic of the data packet is not realized according to the power consumption priority strategy.
By closing the power consumption priority strategy, the data processing speed of the WiFi chip can be improved, so that the end-to-end data transmission delay is reduced, and the low-delay requirement is met.
It should be noted that, in the data transmission process of the electronic device, one or more of the four latency reduction strategies may be selected for use, which is not limited in the embodiment of the present application. It can be appreciated that the use of each of these delay reduction strategies can reduce the data transmission delay to some extent. When the various modes are used in combination, the effect of delay reduction can be improved.
Fig. 6 is a schematic diagram of a data transmission method according to an embodiment of the present application. The method of the present embodiment may be performed by a first device. As shown in fig. 6, the method of the present embodiment includes:
s601: the first device determines target data to be transmitted to the second device over a first connection, the first connection being a connection between the first device and the second device.
The method of the present embodiment is performed when the first device needs to send the target data to the second device over the first connection. Before the present embodiment is executed, the target data to be sent may be located in the user state storage space.
S602: and the first equipment acquires first delay requirement information corresponding to the first connection.
The first delay requirement information refers to related information for describing a delay requirement required to be reached by the first connection for data transmission.
Optionally, the first latency requirement information is related to an application corresponding to the first connection. The first delay requirement information corresponding to different application programs is different. The first latency requirement information corresponding to each application may be preset. Thus, the first device may determine the first latency requirement information according to the application program corresponding to the first connection.
Optionally, the first latency requirement information is related to a network state of the first connection. When the network states of the first connection are different, the corresponding first delay requirement information may also be different. That is, the first device may dynamically determine the first latency requirement information in real time according to the network state of the first connection.
The method of the present embodiment may be performed by a kernel mode of the first device. In an exemplary embodiment, when the first device needs to send the target data to the second device through the first connection, the user state of the first device generates first indication information according to the target data to be sent, where the first indication information is used to indicate a storage location of the target data in the user state storage space. And the user state and the first indication information are transmitted to the kernel state. And the user state determines first delay requirement information corresponding to the first connection and transmits the first delay requirement information to the kernel state. Thus, the kernel mode obtains the first indication information and the first delay requirement information corresponding to the first connection.
S603: and the first equipment transmits the target data to the second equipment through the first connection according to the first time delay requirement information.
In this embodiment, the process of transmitting the target data from the first device to the second device includes: the kernel scheduling module in the kernel state sends a moving request to the DMA controller; the DMA controller moves the target data from the user state storage space to the kernel state storage space according to the moving request; the method comprises the steps that a sending module in a kernel mode obtains target data from a kernel storage space and sends the target data to a WiFi driving module; the WiFi driving module sends target data to the WiFi chip; and after receiving the target data, the WiFi chip sends the target data to the second equipment.
Optionally, the first device determines a transmission parameter according to the first latency requirement information, where the transmission parameter includes at least one of: the method comprises the steps of working frequency points of a WiFi chip of a first device, types of processing cores of a WiFi driving module in the first device, DMA response time delay of the first device and processing strategies of cores of the first device.
Each of the above transmission parameters corresponds to a delay reduction strategy. The "working frequency point of the WiFi chip of the first device" is a transmission parameter corresponding to the first delay reduction policy. The type of the processing core of the WiFi driving module in the first device is the transmission parameter corresponding to the second delay reduction policy. The "DMA response delay of the first device" is the transmission parameter corresponding to the third delay reduction policy described above. The processing policy of the kernel of the first device is the transmission parameter corresponding to the fourth delay reduction policy.
Further, the first device transmits the target data to the second device over the first connection according to the transmission parameter.
Several possible implementations are described below.
In a first possible implementation, the first latency requirement information is used to indicate whether the first connection has a low latency requirement.
In this embodiment, another expression of "the first latency requirement information is used to indicate whether the first connection has a low latency requirement" is "the first latency requirement information is used to indicate that the latency type corresponding to the first connection is a high latency type or a low latency type. When the delay type corresponding to the first connection is a high delay type, the first connection does not have a low delay requirement. When the delay type corresponding to the first connection is a low delay type, the first connection has a low delay requirement. The "whether there is a low latency requirement" in the following description should be understood, and will not be described in detail.
If the first delay requirement information indicates that the first connection does not have a low delay requirement, the target data can be transmitted to the second device through the first connection according to the existing data transmission mode.
And if the first delay requirement information indicates that the first connection has a low delay requirement, transmitting the target data to the second device according to one or more of the first, second, third and fourth delay reduction strategies.
Optionally, the first device transmits the target data to the second device according to the first latency reduction policy.
That is, the first device sets the working frequency point of the WiFi chip as a preset frequency point, where the preset frequency point is greater than the reference frequency point. Optionally, the reference frequency point may be a working frequency point corresponding to the current transmission bandwidth in the transmission bandwidth-based frequency point adjustment policy.
Optionally, the first device transmits the target data to the second device according to the second delay reduction policy.
That is, the type of the processing core of the WiFi driving module of the first device is set to a preset type. Illustratively, at least one thread in the WiFi driver module of the first device is bound to a middle core or a large core of the processor. Illustratively, the at least one thread includes a sending thread and/or a receiving thread.
Optionally, the first device transmits the target data to the second device according to the third delay reduction policy.
That is, the DMA response time delay in the first device is set to be a preset time delay, and after the kernel scheduling module of the first device initiates a move request to the DMA controller, the response time delay of the DMA controller in the first device to the move request is smaller than the default DMA response time delay.
Optionally, the first device transmits the target data to the second device according to the fourth delay reduction policy.
That is, the processing policy of the kernel of the first device is set to a non-power-consumption priority policy, i.e., the power-consumption priority policy of the first device to shut down the kernel schedule.
Optionally, the first device transmits the target data to the second device according to any two of the first, second, third and fourth latency reduction policies.
Optionally, the first device transmits the target data to the second device according to any three of the first, second, third and fourth latency reduction policies.
Optionally, the first device transmits the target data to the second device according to all of the first, second, third and fourth latency reduction policies.
In the implementation manner, when the data transmission has low delay requirement, the data transmission is performed according to one or more of the first, second, third and fourth delay reduction strategies, so that the end-to-end transmission delay can be reduced, and the low delay requirement is met.
In a second possible implementation, the first latency requirement information indicates that the first connection has a low latency requirement and a low latency range value for the first connection.
This implementation is similar to the first implementation described above, except that the determination is made in dependence of the low latency gear value of the first connection when determining the transmission parameters.
When the working frequency point of the WiFi chip is set, the working frequency point of the WiFi chip is set to a preset frequency point corresponding to the low-delay gear value. For example, the working frequency point of the WiFi chip may be set according to the low latency gear value query as shown in table 3. And when the type of the processing core of the WiFi driving module is set, setting the type of the processing core of the WiFi driving module to be a preset type corresponding to the low-time delay gear value. And setting the DMA response time delay as a preset time delay corresponding to the low time delay gear position when setting the DMA response time delay. For example, the DMA response delay may be set according to a low-delay gear value lookup table as shown in table 4.
In the implementation manner, when the transmission parameters of the first device are set, dynamic setting is performed according to the low-delay gear value of the first connection, so that the set transmission parameters can more accurately meet the low-delay requirement of the first connection.
Considering that in an actual application scene, the lower the delay, the higher the consumption of power consumption is, so in the embodiment of the application, one or more of the first, second, third and fourth delay reduction strategies can be selected as required according to the requirements of different scenes on the low delay, thereby realizing delay adjustment of different levels and finally achieving the balance between the delay and the power consumption. The following description is made with reference to a third possible implementation and a fourth possible implementation.
In a third possible implementation manner, the first latency requirement information is used to indicate at least one latency reduction policy that the first connection is enabled.
Optionally, the first latency requirement information may include an identification of at least one latency reduction policy. For example, the first latency reduction policy may be identified as a, the second latency reduction policy may be identified as B, the third latency reduction policy may be identified as C, and the fourth latency reduction policy may be identified as D. If the first latency requirement information includes the identifier a, it is indicated that the first latency reduction policy needs to be enabled. If the first latency requirement information includes the identifiers a and B, it is indicated that the first latency reduction policy and the second latency reduction policy need to be enabled. If the first latency requirement information includes the identifier A, B, C, D, it is indicated that all of the first, second, third, and fourth latency reduction policies need to be enabled.
Optionally, the first latency requirement information may include: the identity of each latency reduction policy and the corresponding enabling state of such latency reduction policy, e.g., 0 for not enabled and 1 for enabled. Illustratively, it is assumed that the first latency requirement information includes: < a,0>, < B,1>, < C,0>, < D,1>, then the second latency reduction policy and the fourth latency reduction policy need to be enabled. Assuming that the first latency requirement information includes < a,1>, < B,1>, < C,1>, < D,1>, it is indicated that all of the first, second, third, and fourth latency reduction policies need to be enabled.
It should be noted that, the first delay requirement information may also adopt other indication manners, which is not limited in this embodiment.
In this way, the first device may determine the transmission parameters according to at least one latency reduction policy enabled by the first connection.
For example, if the first connection enabled latency reduction policy includes a first latency reduction policy, setting a working frequency point of a WiFi chip of the first device to a preset frequency point;
if the delay reduction strategy enabled by the first connection comprises a second delay reduction strategy, setting the type of a processing core of the WiFi driving module as a preset type;
if the delay reduction strategy of the first connection enabling comprises a third delay reduction strategy, setting the DMA response delay in the first equipment as a preset delay;
if the delay reduction strategy enabled by the first connection comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the first device as a non-power consumption priority strategy
In the implementation manner, when the data transmission has low delay requirement, one or more of the first, second, third and fourth delay reduction strategies can be selected according to the actual requirement to perform data transmission, so that the end-to-end transmission delay can be reduced, and the low delay requirements of different scenes can be met.
In a fourth possible implementation manner, the first latency requirement information is used to indicate at least one latency reduction policy enabled by the first connection, and a low latency gear value corresponding to the first connection. The low latency gear value is used to indicate the extent to which the first connection is required for low latency. For example, the low latency shift values may include shift 1, shift 2, shift 3, shift 4, etc. in order of high to low latency demand.
In this way, the first device may employ at least one latency reduction policy enabled by the first connection and transmit the target data to the second device based on the level of low latency requirements of the first connection.
For example, if the at least one delay reduction policy enabled by the first connection includes the first delay reduction policy, the working frequency point of the WiFi chip may be dynamically adjusted according to the low delay gear value query the corresponding relationship as shown in table 3.
For example, if the at least one latency reduction policy enabled by the first connection includes the second latency reduction policy, the type of processing core of the WiFi driving module may be determined according to the low latency range value.
For example, if the at least one latency reduction policy enabled by the first connection includes a third latency reduction policy, the DMA response latency may be dynamically adjusted according to the low latency gear value lookup table 4.
In the implementation manner, when the first connection has a low-delay requirement, one or more of the first, second, third and fourth delay reduction strategies can be selected according to actual requirements, and relevant parameters in the delay reduction strategies can be adjusted according to requirements according to low-delay gear values of the first connection, so that end-to-end transmission delay is reduced, and low-delay requirements of different scenes are met.
In this embodiment, the first device transmits the target data to the second device according to the first delay requirement information corresponding to the first connection, so that the transmission delay of the first device to the target data can be reduced, and the low delay requirement can be met.
In some application scenarios, a first device may establish multiple connections with other devices.
In one example, fig. 7A is a schematic diagram of multiple connections provided in an embodiment of the present application. As shown in fig. 7A, a plurality of connections may be established between the first device and the second device. For example, a connection 1 is established between the first device and the second device through an application 1, a connection 2 is established between the first device and the second device through an application 2, and a connection 3 is established between the first device and the second device through an application 3.
In another example, fig. 7B is a schematic diagram of another multiple connection provided in an embodiment of the present application. As shown in fig. 7B, a connection 1 is established between the first device and the second device, a connection 2 is established between the first device and the third device, and a connection 3 is established between the first device and the fourth device.
It is contemplated that various latency reduction strategies may involve the use of system resources. When there are multiple connections between a first device and other devices, low latency requirement conflicts for different connections may occur. For example, taking two connections as an example, connection 1 has a low latency requirement and connection 2 does not. As another example, connection 1 requests to enable a first latency reduction policy and connection 2 requests to enable a second latency reduction policy. Aiming at the conflict situation, the embodiment of the application also provides a multi-connection-oriented data transmission method, which can avoid the conflict of data transmission among a plurality of connections.
Fig. 8 is a schematic diagram of another data transmission method according to an embodiment of the present application. As shown in fig. 8, the method of the present embodiment includes:
s801: the first device determines target data to be transmitted to the second device over the first connection.
S802: the first equipment acquires first time delay requirement information corresponding to the first connection and second time delay requirement information corresponding to the second connection.
It should be understood that, in this embodiment, the implementation manner of determining, by the first device, the target data to be transmitted and obtaining, by the first device, the first latency requirement information corresponding to the first connection is similar to that of the embodiment shown in fig. 6, and will not be described herein.
In this embodiment, the second connection refers to other connections than the first connection established between the first device and other devices (including the second device and other devices except the second device). When the number of the second connections is plural, the second delay requirement information corresponding to each second connection may be obtained respectively.
Before performing the present embodiment, the first device also transmits data to the other devices via the second connection (similar to the data transmission process provided by the embodiment shown in fig. 6). And in the process that the first device transmits data to other devices through the second connection, second delay requirement information corresponding to the second connection is acquired.
S803: and the first equipment determines target time delay requirement information according to the first time delay requirement information and the second time delay requirement information.
S804: and the first equipment transmits the target data to the second equipment through the first connection according to the target time delay requirement information.
In this embodiment, S803 implements latency requirement conflict management for different connections. When the first time delay requirement information and the second time delay requirement information are different, the first equipment determines target time delay requirement information according to the first time delay requirement information and the second time delay requirement information. The target time delay requirement information is the time delay requirement information after conflict management. In this way, the first device transmits the target data to the second device over the first connection according to the target latency requirement information. If the first device also needs to transmit the target data to other devices through the second connection, the first device also transmits the target data to other devices through the second connection according to the target delay requirement information. Therefore, the first device performs data transmission based on the same target time delay requirement information aiming at different connections, so that conflicts among different connections are avoided.
Several possible implementations of S803 are described below.
In a first possible implementation, the first latency requirement information is used to indicate whether the first connection has a low latency requirement, and the second latency requirement information is used to indicate whether the second connection has a low latency requirement. And performing conflict management on the first time delay requirement information and the second time delay requirement information to obtain target time delay requirement information.
If the first latency requirement information indicates that the first connection does not have a low latency requirement and the second latency requirement information indicates that the second connection does not have a low latency requirement, determining that the target latency requirement information indicates that the second connection does not have a low latency requirement.
If the first latency requirement information indicates that the first connection has a low latency requirement and/or the second latency requirement information indicates that the second connection has a low latency requirement, determining that the target latency requirement information indicates that the second connection has a low latency requirement.
Alternatively, the first device may implement low latency conflict management by maintaining a counter. When a certain connection enables low-delay requirement, the value of the counter is increased by 1; when a connection is to enable low latency requirements, the counter is decremented by 1. Thus, when the counter is non-zero, this indicates that there is a connection with a low latency requirement, in which case the result of conflict management is to enable the low latency requirement. A zero value of the counter indicates that there is no connection with a low latency requirement, in which case the result of the conflict management is that the low latency requirement is not enabled.
For example, assume that a first device establishes 3 connections with other devices, respectively: connection 1, connection 2, connection 3. First, the counter is set to zero.
When the first device sends the target data to the other devices via connection 1, connection 1 enables the low latency requirement (assuming that none of connections 2, 3, and 4 enable the low latency requirement at this time). In this case, the counter is incremented by 1, and the counter is set to 1 at this time, so that the low latency requirement is enabled as a result of the first device conflict management. The first device sends the target data via connection 1 using the delay reduction strategy described above.
When the first device sends the target data to the other devices over connection 2, connection 2 does not enable the low latency requirement. In this case, the counter is not updated, i.e. the counter takes a value of 1, and the result of the conflict management is to enable low latency requirements. The first device sends the target data via connection 2 using the delay reduction strategy described above.
When the first device sends the target data to the other devices via connection 3, connection 3 enables low latency requirements. In this case, the counter is incremented by 1, and the counter is valued at 2, and the result of conflict management is to enable low latency requirements. The first device sends the target data via connection 3 using the delay reduction strategy described above.
When the first device sends the target data to the other devices over connection 1, connection 1 disables the low latency requirement. In this case, the counter is decremented by 1, and the counter is then set to 1, and the result of conflict management is to enable low latency requirements. The first device sends the target data via connection 1 using the delay reduction strategy described above.
When the first device sends the target data to the other devices via connection 3, connection 3 disables the low latency requirement. In this case, the counter is decremented by 1, and the counter is set to 0 at this time, and the low latency requirement is disabled as a result of the conflict management. The first device no longer adopts the above-described delay reduction strategy but adopts the related art to transmit the target data via the connection 3.
In a second possible implementation manner, the first latency requirement information is used for indicating that the first connection has a low latency requirement and a low latency gear value corresponding to the first connection, and the second latency requirement information is used for indicating that the second connection has a low latency requirement and a low latency gear value corresponding to the second connection.
In the case of performing conflict management, it is necessary to perform conflict management for low-latency gear values corresponding to each connection. When conflict management is carried out on low-delay gear values corresponding to all the connections, an extremum taking mode can be adopted.
For example, assume that the low latency gear values may include gear 1, gear 2, gear 3, gear 4. The low-latency requirement level indicated by the gear 1 is higher than the low-latency requirement level indicated by the gear 2, the low-latency requirement level indicated by the gear 2 is higher than the low-latency requirement level indicated by the gear 3, and the low-latency requirement level indicated by the gear 3 is higher than the low-latency requirement level indicated by the gear 4.
If the low-delay gear value corresponding to the connection 1 is the gear 1, the low-delay gear value corresponding to the connection 2 is the gear 2, and the low-delay gear value corresponding to the connection 3 is the gear 3, the low-delay gear value indicated by the target delay requirement information in the conflict management result is the gear 1.
If the low-delay gear value corresponding to the connection 1 is the gear 2, the low-delay gear value corresponding to the connection 2 is the gear 2, and the low-delay gear value corresponding to the connection 3 is the gear 3, the low-delay gear value indicated by the target delay requirement information is the gear 2 in the conflict management result.
And the low-delay gear value corresponding to the connection 1 is a gear 3, the low-delay gear value corresponding to the connection 2 is a gear 3, the low-delay gear value corresponding to the connection 3 is a gear 3, and in the conflict management result, the low-delay gear value indicated by the target delay demand information is a gear 3.
In a third possible implementation manner, the first latency requirement information is used to indicate at least one latency reduction policy enabled by the first connection, and the second latency requirement information is used to indicate at least one latency reduction policy enabled by the second connection. And performing conflict management on the first time delay requirement information and the second time delay requirement information to obtain target time delay requirement information, wherein the target time delay requirement information indicates at least one time delay reduction strategy which is finally required to be enabled.
When conflict management is carried out, aiming at a certain time delay reduction strategy, if at least one connection enables the time delay reduction strategy, the conflict management result of the time delay reduction strategy is enabled; if all connections do not enable it, then the conflict management result of this latency reduction policy is not enabled.
In one example, assuming that the first latency requirement information indicates that the first connection enabled latency reduction policy includes: A. and B, the second delay requirement information indicates that a second connection enabled delay reduction strategy comprises: A. and B, in the conflict management result, the target time delay requirement information indicates that the time delay reduction strategy needing to be enabled is as follows: A. and B, a step of performing the process.
In another example, assuming that the first latency requirement information indicates that the first connection enabled latency reduction policy includes: A. and B, the second delay requirement information indicates that a second connection enabled delay reduction strategy comprises: A. and C, in the conflict management result, the target time delay requirement information indicates that the time delay reduction strategy needing to be enabled is as follows: A. b, C.
In yet another example, assuming that the first latency requirement information indicates that the first connection enabled latency reduction policy includes: A. and B, the second delay requirement information indicates that a second connection enabled delay reduction strategy comprises: C. and D, in the conflict management result, the target delay requirement information indicates that the delay reduction strategy needing to be enabled is as follows: A. b, C, D.
Alternatively, the first device may maintain a counter for each latency reduction policy separately to implement latency conflict management. Taking the first delay reduction strategy as an example, when a certain connection enables the first delay reduction strategy, the value of a counter corresponding to the first delay reduction strategy is increased by 1; when a certain connection is disabled, the value of the counter corresponding to the first delay reduction strategy is reduced by 1. Thus, when the counter corresponding to the first latency reduction policy has a non-zero value, it indicates that there is a connection that enables the first latency reduction policy, and in this case, the result of the conflict management is to enable the first latency reduction policy. When the value of the counter corresponding to the first delay reduction strategy is zero, the connection enabling the first delay reduction strategy does not exist, and in this case, the result of conflict management is that the first delay reduction strategy is not enabled.
It should be understood that the conflict management procedures of the second, third and fourth latency reduction policies are similar to those of the first latency reduction policy, and will not be described herein.
In a fourth possible implementation manner, the first latency requirement information is used to indicate at least one latency reduction policy enabled by the first connection and a low latency gear corresponding to the first connection, and the second latency requirement information is used to indicate at least one latency reduction policy enabled by the second connection and a low latency gear corresponding to the second connection.
When performing conflict management, conflict management needs to be performed for a delay reduction policy enabled by each connection, and conflict management needs to be performed for a low-delay gear corresponding to each connection. The conflict management manner of the delay reduction policy enabled for each connection is similar to the third possible implementation manner, and is not described herein. The manner of performing conflict management for the low-latency gear corresponding to each connection is similar to the second possible implementation manner described above, and will not be described here.
According to the data transmission method, conflict management is carried out on the low-delay requirement information corresponding to the plurality of connections, and on the basis of reducing the end-to-end transmission delay, conflicts among data transmission of the plurality of connections can be avoided.
In the embodiment shown in fig. 8, the low latency conflict management function for multiple connections may be implemented in the kernel mode of the electronic device. For example, the kernel mode of the electronic device may include: the device comprises a kernel scheduling module, a conflict management module and a time delay management module. The interaction between the modules is described below in connection with fig. 9.
Fig. 9 is a schematic diagram of a multi-connection low latency conflict management procedure according to an embodiment of the present application. As shown in fig. 9, includes:
S901: the kernel scheduling module acquires first delay requirement information corresponding to the first connection.
Illustratively, the application layer reports the first latency requirement information to the kernel scheduling module.
S902: the kernel scheduling module sends the first delay requirement information to the conflict management module.
S903: and the conflict management module acquires second delay requirement information corresponding to the second connection.
S904: and the conflict management module determines target time delay requirement information according to the first time delay requirement information corresponding to the first connection and the second time delay requirement information corresponding to the second connection.
S905: the conflict management module sends target time delay requirement information to the time delay management module.
S906: the delay management module enables one or more of a first delay reduction strategy, a second delay reduction strategy, a third delay reduction strategy and a fourth delay reduction strategy according to the target delay requirement information.
When the application layer does not have low-delay transmission requirements, the application layer indicates to enable a delay reduction strategy by the first delay requirement information reported to the kernel scheduling module. When the application layer does not have low-delay transmission requirements, the application layer indicates that the delay reduction strategy is not enabled by the first delay requirement information reported to the kernel scheduling module.
Through the low latency conflict management procedure shown in fig. 9, since the latency management module considers the first latency requirement information corresponding to the first connection when the latency reduction policy is enabled, the first device can satisfy the low latency requirement when transmitting the target data through the first connection.
After the first connection enables the low latency requirement, the low latency requirement may be disabled in the following possible manner.
In one possible implementation, when the application program corresponding to the first connection no longer has a low latency requirement, the application program reports first latency requirement information to the kernel scheduling module, where the first latency requirement information indicates that the first connection does not have the low latency requirement. And the kernel scheduling module reports the first delay requirement information to the conflict management module.
In another possible implementation, if the kernel scheduling module detects that data is not transmitted through the first connection within the preset duration, the kernel scheduling module determines that the first connection does not have a low latency requirement. The kernel scheduling module informs the conflict management module that the first connection does not have a low latency requirement through the first latency requirement information.
In yet another possible implementation, if the kernel scheduling module detects the failure of the target data transmission, the kernel scheduling module determines that the first connection does not have a low latency requirement. The kernel scheduling module informs the conflict management module that the first connection does not have a low latency requirement through the first latency requirement information.
In the embodiment of the application, the conflict management module can be implemented by utilizing the existing (power management quality of service, PM-QOS) mechanism in the kernel.
On the basis of the embodiments shown in fig. 8 and 9 described above, the collision management process is illustrated below in connection with a specific example.
Fig. 10 is a schematic diagram of a collision management procedure according to an embodiment of the present application. In this embodiment, taking an example that two connections are established between the first device and the second device, for example, the first device establishes connection 1 with the second device through application 1, and the first device establishes connection 2 with the second device through application 2.
As shown in fig. 10, assume that in the initial state, the latency reduction policy in the conflict management module is disabled.
(1) The application 1 reports a first enabling request to the conflict management module for requesting that a latency reduction policy is enabled for the connection 1. After receiving the first enabling request, the conflict management module performs conflict management as follows: the latency reduction policy is enabled. Therefore, the conflict management module sends an enabling instruction to the delay management module. And after receiving the enabling instruction, the time delay management module enables the time delay reduction strategy.
(2) The application 2 reports a second enabling request to the conflict management module for requesting that the latency reduction policy is enabled for the connection 2. After receiving the second enabling request, the conflict management module performs conflict management as follows: the latency reduction policy is enabled. In this case, since the latency reduction policy is already enabled by the latency management module, the conflict management module does not need to send an enabling instruction to the latency management module.
(3) The user turns off the WiFi function.
(4) The application 1 finds that the WiFi function is off and the application 1 sends a first disable request to the conflict management module requesting that the latency reduction policy be disabled for connection 1. After receiving the first disabling request, the conflict management module performs conflict management as follows: the latency reduction policy is enabled because connection 2 still enables the latency reduction policy at this time.
(5) The application 2 finds that the WiFi function is off and the application 2 sends a second disable request to the conflict management module requesting that the latency reduction policy be disabled for connection 2. After receiving the second disabling request, the conflict management module performs the conflict management as follows: the delay reduction policy is disabled. Therefore, the conflict management module sends a disable instruction to the latency management module to disable the latency reduction policy.
(6) The user turns on the WiFi function.
(7) The application 1 finds that the WiFi function is open, and the application 1 reports a first enabling request to the conflict management module for requesting that a latency reduction policy be enabled for the connection 1. After receiving the first enabling request, the conflict management module performs conflict management as follows: the latency reduction policy is enabled. Therefore, the conflict management module sends an enabling instruction to the latency management module to enable the latency reduction policy.
(8) The application 2 finds that the WiFi function is open, and the application 2 reports a second enabling request to the conflict management module for requesting that a latency reduction policy be enabled for the connection 2. After receiving the first enabling request, the conflict management module performs conflict management as follows: the latency reduction policy is enabled. In this case, since the latency reduction policy is already enabled by the latency management module, the conflict management module does not need to send an enabling instruction to the latency management module.
It should be appreciated that the latency reduction strategy in this embodiment may be one or more of the four latency reduction strategies described above.
In this embodiment, when multiple applications request to enable the delay reduction policy at the same time, the conflict management module performs conflict management according to low delay requirements of the multiple applications, so as to ensure that a conflict management result can meet the low delay requirements of the multiple applications, thereby avoiding conflicts on the basis of reducing end-to-end transmission delay. In addition, in the example shown in fig. 10, when the WiFi function is turned off and turned on again, the low latency state before the WiFi function is turned off can be recovered, so as to ensure that the data transmission process meets the low latency requirement.
The above embodiment is described taking a scenario in which the first device transmits data to the second device as an example, where the first device may reduce the transmission delay of the target data according to the low-delay requirement information when transmitting the target data. In this embodiment of the present application, when the second device receives the target data, the receiving delay of the target data may also be reduced according to the low-delay requirement information. The following description is made with reference to the embodiment shown in fig. 11 and 12.
Fig. 11 is a schematic diagram of another data transmission method according to an embodiment of the present application. The method of the present embodiment may be performed by a second device. As shown in fig. 11, the method of the present embodiment includes:
s1101: the second device receives the target data from the first device over the first connection.
The second device may be configured to receive the target data from the first device via the first connection.
S1102: and the second equipment acquires first delay requirement information corresponding to the first connection.
Alternatively, the first latency requirement information may be carried in the target data. For example, referring to the embodiment shown in fig. 6, after the first device obtains the first latency requirement information corresponding to the first connection in S602, in S603, the first device carries the first latency requirement information in the target data, and sends the target data to the second device. Or, referring to the embodiment shown in fig. 8, in S803, after determining the target latency requirement information according to the first latency requirement information and the second latency requirement information, in S804, the first device carries the target latency requirement information in the target data, and sends the target data to the second device.
In this way, the second device can analyze the target data to obtain the first delay requirement information.
Optionally, the first latency requirement information is related to a network state of the first connection. When the network states of the first connection are different, the corresponding first delay requirement information may also be different. The second device may dynamically determine the first latency requirement information in real time based on the network state of the first connection.
S1103: and the second equipment processes the target data according to the first time delay requirement information.
In this embodiment, the process of processing the target data by the second device may include: the WiFi chip sends target data to the WiFi driving module; the WiFi driving module sends target data to a receiving module in a kernel mode; the receiving module in the kernel mode receives the target data and stores the target data into the kernel mode storage space; the kernel scheduling module in the kernel state sends a moving request to the DMA controller; the DMA controller moves the target data from the kernel-mode storage space to the user-mode storage space according to the moving request; the user mode acquires target data from the user mode storage space, and performs display processing or other processing on the target data.
In this embodiment, the second device may determine, according to the first latency requirement information, a transmission parameter, where the transmission parameter includes at least one of the following: the method comprises the steps of working frequency points of a communication chip of second equipment, types of processing cores of a driving module corresponding to the communication chip, direct Memory Access (DMA) response time delay in the second equipment and processing strategies of a kernel of the second equipment. And the second device processes the target data according to the transmission parameters. The process of determining the transmission parameter by the second device may adopt various possible implementation manners in the embodiment shown in fig. 6, which is not described herein.
In this embodiment, the second device processes the target data received from the first connection according to the first latency requirement corresponding to the first connection, so as to meet the low latency requirement.
Fig. 12 is a schematic diagram of still another data transmission method according to an embodiment of the present application. As shown in fig. 12, the method of the present embodiment includes:
s1201: the second device receives the target data from the first device over the first connection.
S1202: the second device obtains first delay requirement information corresponding to the first connection and second delay requirement information corresponding to the second connection.
In this embodiment, the second connection refers to other connections than the first connection established between the second device and other devices (including the first device and other devices other than the first device). When the number of the second connections is plural, the second delay requirement information corresponding to each second connection may be obtained respectively.
The second device may acquire the first latency requirement information corresponding to the first connection in the following optional manner:
(1) The second device analyzes the target data to obtain first delay requirement information corresponding to the first connection.
(2) And the second equipment determines first delay requirement information corresponding to the first connection according to the network state of the first connection.
The second device may acquire the second latency requirement information corresponding to the second connection in the following optional manner:
(1) The second device parses the second latency requirement information from data received over the second connection.
(2) And the second equipment determines second time delay requirement information corresponding to the second connection according to the network state of the second connection.
S1203: and the second equipment determines target time delay requirement information according to the first time delay requirement information and the second time delay requirement information.
S1204: and the second equipment processes the target data according to the target time delay requirement information.
In this embodiment, S1203 implements conflict management for latency requirements of different connections. The manner in which a particular conflict is managed may be seen in various possible implementations in the embodiment shown in fig. 8. And will not be described in detail herein.
According to the data transmission method, conflict management is carried out on the low-delay requirement information corresponding to the plurality of connections, and on the basis of reducing the end-to-end transmission delay, conflicts among data transmission of the plurality of connections can be avoided.
The delay reduction effect of the embodiments of the present application is described below with reference to tables 5 and 6.
TABLE 5
TABLE 6
Table 5 illustrates the delay reduction effect after the four delay reduction strategies provided by the embodiments of the present application are adopted in the P2P communication system. As shown in table 5, the communication latency of the distributed file system is reduced from 10ms to within 1 ms. Based on the communication delay, the random 4KB data reading rate of the distributed file system is increased from about 5.4Mbps to about 24.0Mbps, the 4BK file transmission rate of the distributed file system is increased from about 6.1Mbps to about 35.0Mbps, and the 24BK file transmission rate of the distributed file system is increased from about 16.1Mbps to about 63.0Mbps.
Table 6 illustrates the latency reduction effect after employing the four latency reduction strategies provided by embodiments of the present application in a cross-AP communication system. As shown in table 6, the communication latency of the distributed file system is reduced by about 2ms from 18 ms. Based on the communication delay, the random 4KB data reading rate of the distributed file system is increased from about 3.2Mbps to about 16.0Mbps, the 4BK file transmission rate of the distributed file system is increased from about 3.4Mbps to about 21.0Mbps, and the 24BK file transmission rate of the distributed file system is increased from about 10.1Mbps to about 42.0Mbps.
Therefore, the four delay reduction strategies provided by the embodiment of the application can obviously reduce the communication delay and improve the transmission performance of the distributed service.
Fig. 13 is a schematic structural diagram of a data transmission device according to an embodiment of the present application. The data transmission means may be in the form of software and/or hardware. The data transmission means may be, for example, the first device or a chip, a module or a unit in the first device. As shown in fig. 13, the data transmission apparatus 1300 provided in this embodiment includes: a processing module 1301 and a transmitting module 1302. Wherein,,
the processing module 1301 is configured to support the data transmission apparatus to perform the operations in S601 and S602 in the above method embodiment, or the operations in S801 and S802 in the above method embodiment.
The transmitting module 1302 is configured to support the data transmission apparatus to perform the operation in S603 and the operations in S803 and S804 in the above method embodiments.
All relevant contents of each step related to the above method embodiment may be cited to the functional description of the corresponding functional module, which is not described herein.
Fig. 14 is a schematic structural diagram of another data transmission device according to an embodiment of the present application. The data transmission means may be in the form of software and/or hardware. The data transmission means may be, for example, the second device or a chip, a module or a unit in the second device. As shown in fig. 14, the data transmission apparatus 1400 provided in the present embodiment includes: a receiving module 1401 and a processing module 1402. Wherein,,
The receiving module 1401 is configured to support the data transmission apparatus to perform the operation in S1101 in the above-described method embodiment, or the operation in S1201 in the above-described method embodiment.
The processing module 1402 is configured to support the data transmission apparatus to perform operations in S1102 and S1103 in the above method embodiment, or operations in S1202, S1203, and S1204 in the above method embodiment.
Of course, the data transmission device shown in fig. 13 and 14 includes, but is not limited to, the unit modules listed above. In addition, the functions that can be implemented by the above functional units include, but are not limited to, functions corresponding to the method steps described in the above examples, and detailed descriptions of other units of the electronic device may refer to detailed descriptions of corresponding method steps, which are not repeated herein in the embodiments of the present application.
Fig. 15 is a schematic structural diagram of an electronic device according to an embodiment of the present application. As shown in fig. 15, the electronic device 1500 may include: one or more processors 1501, memory 1502, transceiver 1503; the devices described above may communicate via one or more communication buses 1504.
Wherein one or more computer programs are stored in the memory 1502 and configured to be executed by the one or more processors 1501; one or more computer programs include instructions for performing the methods of any of the steps described above. The transceiver 1503 is used to transmit data to or receive data from other electronic devices.
The electronic device provided in this embodiment may execute the data transmission method executed by the first device or the second device in any of the foregoing method embodiments, and its implementation principle and technical effects are similar, which is not described herein.
The embodiment of the present application further provides a computer readable storage medium, where the computer readable storage medium stores computer instructions, and when the computer instructions are executed, a data transmission method executed by the first device or the second device in any of the foregoing method embodiments is implemented, and its implementation principle and technical effect are similar, and are not repeated herein.
The embodiment of the application further provides a computer program product, where the computer program product includes a computer program, and when the computer program is executed, the data transmission method executed by the first device or the second device in any of the above method embodiments is implemented, and the implementation principle and the technical effect are similar, and are not repeated herein.
It should be noted that the modules in the embodiments of the present application may be one or more integrated circuits configured to implement the above method, for example: one or more application specific integrated circuits (application specific integrated circuit, ASIC), or one or more microprocessors (digital signal processor, DSP), or one or more field programmable gate arrays (field programmable gate array, FPGA), or the like. For another example, when a module above is implemented in the form of a processing element scheduler code, the processing element may be a general purpose processor, such as a central processing unit (central processing unit, CPU) or other processor that may invoke the program code. For another example, the modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions in accordance with embodiments of the present application are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.) means from one website, computer, server, or data center. Computer readable storage media can be any available media that can be accessed by a computer or data storage devices, such as servers, data centers, etc., that contain an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), etc.
The term "plurality" herein refers to two or more. The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone. In addition, the character "/" herein generally indicates that the front and rear associated objects are an "or" relationship; in the formula, the character "/" indicates that the front and rear associated objects are a "division" relationship.
In addition, it should be understood that in the description of this application, the words "first," "second," and the like are used merely for distinguishing between the descriptions and not for indicating or implying any relative importance or order.
It will be appreciated that the various numerical numbers referred to in the embodiments of the present application are merely for ease of description and are not intended to limit the scope of the embodiments of the present application. In the embodiments of the present application, the sequence number of each process does not mean the sequence of execution sequence, and the execution sequence of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
Claims (21)
1. A data transmission method, comprising:
the method comprises the steps that a first device determines target data to be transmitted to a second device through a first connection, wherein the first connection is a connection between the first device and the second device;
the first equipment acquires first delay requirement information corresponding to the first connection;
and the first equipment transmits the target data to the second equipment through the first connection according to the first time delay requirement information.
2. The method of claim 1, wherein the first device transmitting the target data to the second device over the first connection according to the first latency requirement information comprises:
the first device determines transmission parameters according to the first time delay requirement information, wherein the transmission parameters comprise at least one of the following: the method comprises the steps of working frequency points of a communication chip of first equipment, types of processing cores of a driving module corresponding to the communication chip, direct Memory Access (DMA) response time delay in the first equipment and processing strategies of a kernel of the first equipment;
and the first equipment transmits the target data to the second equipment through the first connection according to the transmission parameters.
3. The method of claim 2, wherein the first latency requirement information indicates at least one of:
the delay type corresponding to the first connection is a low delay type or a high delay type;
a low latency gear value for the first connection;
at least one latency reduction policy enabled by the first connection, the at least one latency reduction policy comprising at least one of: a first latency reduction strategy, a second latency reduction strategy, a third latency reduction strategy, and a fourth latency reduction strategy.
4. A method according to claim 2 or 3, wherein the first latency requirement information indicates that the latency type corresponding to the first connection is a low latency type; the first device determines a transmission parameter according to the first delay requirement information, and the method comprises the following steps:
the first device performs at least one of the following parameter settings according to the first latency requirement information:
setting the working frequency point of the communication chip of the first equipment as a preset frequency point;
setting the type of a processing core of a driving module of the communication chip as a preset type;
setting the DMA response time delay in the first equipment as a preset time delay;
Setting a processing policy of a kernel of the first device to a non-power consumption priority policy.
5. A method according to claim 2 or 3, wherein the first latency requirement information indicates that the latency type corresponding to the first connection is a low latency type and a low latency gear value of the first connection; the first device determines a transmission parameter according to the first delay requirement information, and the method comprises the following steps:
the first device performs at least one of the following parameter settings according to the first latency requirement information:
setting the working frequency point of the communication chip of the first equipment as a preset frequency point corresponding to the low-time delay gear value;
setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low-delay gear value;
setting the DMA response time delay in the first equipment to be a preset time delay corresponding to the low-time delay gear value;
the processing policy of the kernel of the first device is set to a non-power-consumption priority policy.
6. A method according to claim 2 or 3, wherein the first latency requirement information indicates at least one latency reduction policy enabled by the first connection; the first device determines a transmission parameter according to the first delay requirement information, wherein the transmission parameter comprises at least one of the following:
If the first connection enabled delay reduction strategy comprises a first delay reduction strategy, setting a working frequency point of a communication chip of the first equipment as a preset frequency point;
if the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip as a preset type;
if the delay reduction strategy of the first connection enabling comprises a third delay reduction strategy, setting the DMA response delay in the first equipment as a preset delay;
and if the delay reduction strategy of the first connection enabling comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the first equipment as a non-power consumption priority strategy.
7. A method according to claim 2 or 3, wherein the first latency requirement information indicates at least one latency reduction policy enabled by the first connection and a low latency gear value of the first connection; the first device determines a transmission parameter according to the first delay requirement information, wherein the transmission parameter comprises at least one of the following:
if the first connection enabled time delay reduction strategy comprises a first time delay reduction strategy, setting the working frequency point of the communication chip of the first equipment to be a preset frequency point corresponding to the low time delay gear value;
If the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low delay gear value;
if the delay reduction strategy enabled by the first connection comprises a third delay reduction strategy, setting the DMA response delay in the first device to be a preset delay corresponding to the low-delay gear value;
and if the delay reduction strategy of the first connection enabling comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the first equipment as a non-power consumption priority strategy.
8. The method of any of claims 1 to 7, wherein the first device transmitting the target data to the second device over the first connection according to the first latency requirement information comprises:
the first device determines target time delay requirement information according to the first time delay requirement information and second time delay requirement information corresponding to second connection; the second connection is a connection between the first device and the second device or a connection between the first device and a third device;
And the first equipment transmits the target data to the second equipment through the first connection according to the target time delay requirement information.
9. A data transmission method, comprising:
the method comprises the steps that a second device receives target data from a first device through a first connection, wherein the first connection is a connection between the first device and the second device;
the second equipment acquires first delay requirement information corresponding to the first connection;
and the second equipment processes the target data according to the first time delay requirement information.
10. The method of claim 9, wherein the second device processing the target data according to the first latency requirement information comprises:
the second device determines transmission parameters according to the first time delay requirement information, wherein the transmission parameters comprise at least one of the following: the working frequency point of the communication chip of the second device, the type of the processing core of the driving module corresponding to the communication chip, the DMA response delay of the direct memory access in the second device and the processing strategy of the kernel of the second device;
and the second equipment processes the target data according to the transmission parameters.
11. The method of claim 10, wherein the first latency requirement information indicates at least one of:
the delay type corresponding to the first connection is a low delay type or a high delay type;
a low latency gear value for the first connection;
at least one latency reduction policy enabled by the first connection, the at least one latency reduction policy comprising at least one of: a first latency reduction strategy, a second latency reduction strategy, a third latency reduction strategy, and a fourth latency reduction strategy.
12. The method according to claim 10 or 11, wherein the first latency requirement information indicates that the latency type corresponding to the first connection is a low latency type; the second device determines transmission parameters according to the first delay requirement information, and the method comprises the following steps:
the second device performs at least one of the following parameter settings according to the first latency requirement information:
setting the working frequency point of the communication chip of the second equipment as a preset frequency point;
setting the type of a processing core of a driving module of the communication chip as a preset type;
setting the DMA response time delay in the second equipment as a preset time delay;
Setting the processing strategy of the kernel of the second device to be a non-power consumption priority strategy.
13. The method according to claim 10 or 11, wherein the first latency requirement information indicates that the latency type corresponding to the first connection is a low latency type and a low latency gear value of the first connection; the second device determines transmission parameters according to the first delay requirement information, and the method comprises the following steps:
the second device performs at least one of the following parameter settings according to the first latency requirement information:
setting the working frequency point of the communication chip of the second equipment to be a preset frequency point corresponding to the low-time delay gear value;
setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low-delay gear value;
setting the DMA response time delay in the second equipment to be a preset time delay corresponding to the low-time delay gear value;
the processing policy of the kernel of the second device is set to a non-power-consumption priority policy.
14. The method according to claim 10 or 11, wherein the first latency requirement information indicates at least one latency reduction policy enabled by the first connection; the second device determines transmission parameters according to the first delay requirement information, wherein the transmission parameters comprise at least one of the following:
If the first connection enabled time delay reduction strategy comprises a first time delay reduction strategy, setting the working frequency point of the communication chip of the second equipment as a preset frequency point;
if the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip as a preset type;
if the delay reduction strategy enabled by the first connection comprises a third delay reduction strategy, setting the DMA response delay in the second device as a preset delay;
and if the delay reduction strategy enabled by the first connection comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the second equipment as a non-power consumption priority strategy.
15. The method according to claim 10 or 11, wherein the first latency requirement information indicates at least one latency reduction policy enabled by the first connection and a low latency gear value of the first connection; the second device determines transmission parameters according to the first delay requirement information, wherein the transmission parameters comprise at least one of the following:
if the first connection enabled time delay reduction strategy comprises a first time delay reduction strategy, setting the working frequency point of the communication chip of the second equipment to be a preset frequency point corresponding to the low time delay gear value;
If the first connection enabled delay reduction strategy comprises a second delay reduction strategy, setting the type of a processing core of a driving module of the communication chip to be a preset type corresponding to the low delay gear value;
if the delay reduction strategy enabled by the first connection comprises a third delay reduction strategy, setting the DMA response delay in the second device to be a preset delay corresponding to the low-delay gear value;
and if the delay reduction strategy of the first connection enabling comprises a fourth delay reduction strategy, setting the processing strategy of the kernel of the second equipment as a non-power consumption priority strategy.
16. The method according to any one of claims 9 to 15, wherein the second device processing the target data according to the first latency requirement information, comprises:
the second equipment determines target time delay requirement information according to the first time delay requirement information and second time delay requirement information corresponding to second connection; the second connection is a connection between the second device and the first device or a connection between the second device and a third device;
and the second equipment processes the target data according to the target time delay requirement information.
17. A data transmission apparatus for use with a first device, the apparatus comprising: the processing module and the sending module;
the processing module is used for determining target data to be transmitted to second equipment through a first connection, wherein the first connection is a connection between the first equipment and the second equipment;
the processing module is further configured to obtain first delay requirement information corresponding to the first connection;
the sending module is configured to transmit the target data to the second device through the first connection according to the first latency requirement information.
18. A data transmission apparatus for use with a second device, the apparatus comprising: a receiving module and a processing module;
the receiving module is used for receiving target data from first equipment through a first connection, wherein the first connection is a connection between the first equipment and the second equipment;
the processing module is used for acquiring first delay requirement information corresponding to the first connection;
the processing module is further configured to process the target data according to the first latency requirement information.
19. An electronic device, comprising: a memory and a processor; the processor is configured to couple to the memory, read and execute instructions in the memory to implement the method of any one of claims 1 to 8, or to implement the method of any one of claims 9 to 16.
20. A computer readable storage medium storing computer instructions which, when executed, implement the method of any one of claims 1 to 8 or the method of any one of claims 9 to 16.
21. A computer program product, characterized in that the computer program product comprises a computer program which, when executed, implements the method of any one of claims 1 to 8 or implements the method of any one of claims 9 to 16.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111219063.2A CN115996370A (en) | 2021-10-20 | 2021-10-20 | Data transmission method, device, apparatus, storage medium, and program |
PCT/CN2022/116792 WO2023065853A1 (en) | 2021-10-20 | 2022-09-02 | Data transmission method and apparatus, device, storage medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111219063.2A CN115996370A (en) | 2021-10-20 | 2021-10-20 | Data transmission method, device, apparatus, storage medium, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115996370A true CN115996370A (en) | 2023-04-21 |
Family
ID=85990778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111219063.2A Pending CN115996370A (en) | 2021-10-20 | 2021-10-20 | Data transmission method, device, apparatus, storage medium, and program |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115996370A (en) |
WO (1) | WO2023065853A1 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150216B (en) * | 2013-02-27 | 2015-12-02 | 东南大学 | The multiport DDR2/3 scheduler that a kind of SoC is integrated and dispatching method |
US11736979B2 (en) * | 2017-11-30 | 2023-08-22 | Huawei Technologies Co., Ltd. | Data packet transmission method and apparatus to address a high-latency caused when data is to be transmitted using an unlicensed frequency band |
US11005715B2 (en) * | 2018-12-21 | 2021-05-11 | T-Moblle USA, Inc. | Latency-sensitive network-traffic quality of service |
CN111163018B (en) * | 2019-12-02 | 2022-08-26 | 华为技术有限公司 | Network equipment and method for reducing transmission delay thereof |
CN111355636A (en) * | 2020-02-23 | 2020-06-30 | 苏州浪潮智能科技有限公司 | Test method and system for delay tuning of server network |
CN113411375B (en) * | 2021-05-08 | 2023-07-18 | 长沙智能驾驶研究院有限公司 | Information processing method, apparatus, and computer storage medium |
-
2021
- 2021-10-20 CN CN202111219063.2A patent/CN115996370A/en active Pending
-
2022
- 2022-09-02 WO PCT/CN2022/116792 patent/WO2023065853A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023065853A1 (en) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10365830B2 (en) | Method, device, and system for implementing hardware acceleration processing | |
US11467864B2 (en) | Unified resource scheduling coordinator, method for creating a virtual machine and/or container, and unified resource scheduling system | |
US7689694B2 (en) | Process management apparatus, computer systems, distributed processing method, and computer program for avoiding overhead in a process management device | |
JP5619182B2 (en) | Hierarchical routing and interface selection for multiprocessor multimode network devices | |
RU2651219C2 (en) | Computer, control device and data processing method | |
US9009373B2 (en) | Method for implementing audio transmission and mobile terminal | |
WO2018157836A1 (en) | Resource management method for programmable hardware, programmable hardware device, and storage medium | |
US11429447B2 (en) | Scheduling regions of a field programmable gate array as virtual devices | |
US20200364080A1 (en) | Interrupt processing method and apparatus and server | |
JP2024512209A (en) | Information processing method based on IoT devices, related devices and storage media | |
US9736529B2 (en) | USB sharing method for combo TV set, combo TV set and computer readable storage medium | |
EP4387207A1 (en) | Communication method based on user-mode protocol stack, and corresponding apparatus | |
CN112749113A (en) | Data interaction method, system, device and medium | |
EP3011702B1 (en) | Network mode conflict resolution | |
US10216664B2 (en) | Remote resource access method and switching device | |
WO2015055117A1 (en) | Method, device, and system for accessing memory | |
US10705985B1 (en) | Integrated circuit with rate limiting | |
JP6331944B2 (en) | Information processing apparatus, memory control apparatus, and information processing apparatus control method | |
CN115114042A (en) | Storage data access method and device, electronic equipment and storage medium | |
US10346209B2 (en) | Data processing system for effectively managing shared resources | |
WO2023125565A1 (en) | Network node configuration and access request processing method and apparatus | |
CN115996370A (en) | Data transmission method, device, apparatus, storage medium, and program | |
CN111190840A (en) | Multi-party central processing unit communication architecture based on field programmable gate array control | |
TW202232316A (en) | Computing device and systems and methods for storage device resource management | |
CN106161549B (en) | Data transmission method, system, control server and client |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |