Data transmission scheduling method and electronic equipment

By acquiring and adjusting the transmission scheduling strategy, using value functions and reinforcement learning to optimize bandwidth allocation, the data transmission problem in multi-device, multi-path, and multi-service scenarios is solved, efficient and reliable data transmission is achieved, and the transmission rate of high-priority services and the smoothness of low-priority services are ensured.

CN120434814AActive Publication Date: 2025-08-05HONOR DEVICE CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411999764.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-08-05
Estimated Expiration
2044-12-31

AI Technical Summary

Technical Problem

In the data transmission scenarios of multi-device, multi-path, and multi-service, it is difficult for the prior art to achieve efficient and reliable data transmission scheduling, especially when the number of electronic devices is large, the data transmission volume is large and the service needs are complex, the spectrum resources are tight, resulting in the inability to guarantee the transmission rate of high-priority services.

Method used

The current transmission scheduling strategy is obtained through the first electronic device, determine whether the preset constraints are met, adjust the business allocation strategy that does not meet the constraints, use the value function to optimize the transmission scheduling, establish high-priority and low-priority queues, reasonably allocate bandwidth and delays, and use reinforcement learning methods to update the optimized value function to ensure the efficient and reliable data transmission.

Benefits of technology

It realizes efficient and reliable data transmission in multi-device and multi-path scenarios, ensures the transmission rate of high-priority services, and optimizes the fluency of low-priority services, improving the stability and efficiency of overall data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120434814A_ABST
    Figure CN120434814A_ABST
Patent Text Reader

Abstract

The invention provides a data transmission scheduling method and electronic equipment, and the method is executed by first electronic equipment, and comprises the steps: obtaining a current transmission scheduling strategy, and carrying out the data transmission according to the current transmission scheduling strategy, the current transmission scheduling strategy comprises proportions of different services executed by each electronic device distributed on different data transmission links, each electronic device comprises electronic devices which are located in the same cell and execute the data transmission scheduling method, and each electronic device comprises a first electronic device; under the condition that the current transmission scheduling strategy does not meet a preset constraint condition, a first service which does not meet the constraint condition is determined, and the first service is one of different services executed by the electronic devices; adjusting a transmission scheduling policy corresponding to the first service to obtain an adjusted transmission scheduling policy; and performing data transmission according to the adjusted transmission scheduling strategy, and circularly executing the first operation. Therefore, efficient and reliable data transmission is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of electronic technology, and in particular to a data transmission scheduling method and electronic equipment. Background Art

[0002] With the continuous development of electronic technology and communication technology, various electronic devices can be interconnected. During the data transmission process of interconnected electronic devices, it is necessary to rely on the support of different data transmission links.

[0003] However, as the number of electronic devices increases and the amount of data transmission increases, multiple electronic devices can send data in parallel using multiple services and multiple paths. This requires the electronic devices to reasonably schedule data transmission to ensure the smooth progress of data transmission services. Summary of the Invention

[0004] The present application provides a data transmission scheduling method and electronic device, which can adjust and allocate a reasonable transmission scheduling strategy to achieve efficient and reliable data transmission.

[0005] In the first aspect, the present application provides a data transmission scheduling method, which is executed by a first electronic device, including: obtaining a current transmission scheduling strategy, and performing data transmission according to the current transmission scheduling strategy, the current transmission scheduling strategy including the proportion of different services executed by each electronic device allocated to different data transmission links, each electronic device including an electronic device located in the same cell and executing the data transmission scheduling method, and each electronic device including a first electronic device; performing a first operation: when the current transmission scheduling strategy does not meet the preset constraints, determining a first service that does not meet the constraints, the first service being one of the different services executed by each electronic device; adjusting the transmission scheduling strategy corresponding to the first service to obtain an adjusted transmission scheduling strategy; performing data transmission according to the adjusted transmission scheduling strategy, and cyclically executing the first operation.

[0006] In this implementation, electronic devices located in the same cell and capable of executing the above-mentioned data transmission scheduling method can be referred to as controllable devices. Each controllable device receives information broadcast by other electronic devices and determines a transmission scheduling strategy, so that information can be unified among all controllable devices in the cell, resulting in a unified transmission scheduling strategy. For one of the first electronic devices, during data transmission according to the current transmission scheduling strategy, it can be determined whether the current transmission scheduling strategy satisfies the preset constraints. If not, it indicates that the proportions of different services allocated to different data transmission links of each electronic device are not compatible and need to be adjusted. Then, the first electronic device can determine a first service that least satisfies the constraints, adjust the transmission scheduling strategy corresponding to the first service (i.e., the proportions of different services allocated to different data transmission links), and then perform data transmission based on the adjusted transmission scheduling strategy. Afterwards, the process of determining whether the current transmission scheduling strategy satisfies the preset constraints can be continuously executed, and if the currently executed transmission scheduling strategy does not satisfy the constraints, the transmission scheduling strategy corresponding to the first service that does not satisfy the constraints (which may still be the service that did not satisfy the constraints last time, or another service that did not satisfy the constraints) can be continuously adjusted, thereby iterating.

[0007] In this way, in a scenario with multiple devices, multiple services and multiple paths, electronic devices can collect service information on each electronic device to determine whether the preset constraints are met. If there are services that do not meet the constraints, they can adjust and allocate reasonable transmission scheduling strategies for the services based on service requirements and link quality to achieve efficient and reliable data transmission.

[0008] In combination with the first aspect, in some implementations of the first aspect, the above-mentioned adjustment of the transmission scheduling strategy corresponding to the first business to obtain the adjusted transmission scheduling strategy includes: adjusting the transmission scheduling strategy corresponding to the first business based on a value function to obtain the adjusted transmission scheduling strategy, and the value function is used to calculate the value corresponding to the different proportions of the first business allocated to different data transmission links.

[0009] Among them, the first electronic device can adjust the transmission scheduling strategy corresponding to the first business based on the value function. The value function can be expressed as Q(a=x, s), a represents the action value of the first business selecting the data transmission link, and x represents different values of a (i.e., different proportions), such as the discrete domain [0, 1 / 3, 2 / 3, 1], etc. The value function is used to calculate the values corresponding to these different values. Then it can be understood that we can select the value corresponding to the maximum value as the adjusted proportion, that is, the adjusted transmission scheduling strategy.

[0010] In combination with the first aspect, in some implementations of the first aspect, the transmission scheduling strategy corresponding to the first business is adjusted based on the value function to obtain the adjusted transmission scheduling strategy, including: based on the value function, calculating the values corresponding to the different proportions of the first business allocated to different data transmission links; for each first data transmission link, if the value corresponding to the first proportion allocated to the first business is the largest, then the first proportion is used as the adjusted proportion of the first business allocated to the first data transmission link, the first data transmission link is one of the different data transmission links, and the first proportion is one of the different proportions; the adjusted proportion of the first business on different data transmission links is used as the adjusted transmission scheduling strategy.

[0011] Among them, the first electronic device can calculate the value corresponding to the different proportions of the first business allocated to different data transmission links. For example, when the first business is allocated to the WLAN link, the values corresponding to different proportions (such as [0, 1 / 3, 2 / 3, 1]) are respectively calculated, when it is allocated to the P2P link, the values corresponding to different proportions (such as [0, 1 / 3, 2 / 3, 1]) are respectively calculated, and when it is allocated to the Bluetooth link, the values corresponding to different proportions (such as [0, 1 / 3, 2 / 3, 1]) are respectively calculated. Then, for each link, the first proportion corresponding to the maximum value is selected, and the first proportion can be used as the adjusted proportion of the first business on the link. As a result, the first electronic device can timely adjust the allocated transmission scheduling strategy to achieve efficient transmission.

[0012] In combination with the first aspect, in some implementations of the first aspect, the first proportion includes a high-priority sending proportion and a low-priority sending proportion.

[0013] Because the data transmission process usually involves high-priority transmission and low-priority transmission, in order to ensure that the high-priority data is sent as soon as possible to avoid large delays, the first electronic device can establish a high-priority queue and a low-priority queue on each link, and place the data on the link on the two priority queues according to the transmission priority decision. Therefore, when formulating a transmission scheduling strategy, it is necessary to decide the transmission priority, that is, to determine the high-priority transmission ratio and the low-priority transmission ratio respectively, and the sum of the high-priority transmission ratio and the low-priority transmission ratio is the first ratio. In this way, the high-priority queue and the low-priority queue can adapt to the orderly transmission of data.

[0014] In conjunction with the first aspect, in some implementations of the first aspect, the value function includes A function of the relationship, where x represents the different proportions selected, B m Indicates the transmission bandwidth required by the first service, B p represents the current transmission rate of the first data transmission link, Indicates the maximum transmission rate provided by the first data transmission link, represents the bandwidth occupied by other services on the first data transmission link, τ p Represents the priority delay, and when x represents the proportion of high priority transmission, the corresponding τ p τ corresponding to when x represents the proportion of low priority transmission p Different, ω1, ω2 and ω3 are learning parameters, and different services correspond to different learning parameters.

[0015] Based on the above value function, the first electronic device can better determine the allocation ratio of each service on different data transmission links, and accordingly adapt the transmission scheduling strategy to achieve efficient and reliable data transmission.

[0016] In combination with the first aspect, in some implementations of the first aspect, when the number of times the preset constraint conditions are not met reaches a preset number, the above method further includes: updating and optimizing the value function to obtain an optimized value function.

[0017] Because the above process adjusts the proportion of each service in the data transmission link based on the value function, if the constraints are still not met after many rounds of adjustment, that is, the number of times the constraints are not met has reached many times (for example, the preset number of times is 1000), then it means that the given value function may no longer be suitable, and the value function needs to be updated and optimized to reduce the situation where the constraints are not met and further improve the reliability of the data transmission process.

[0018] In combination with the first aspect, in some implementations of the first aspect, the above-mentioned updating and optimization of the value function to obtain the optimized value function includes: updating and optimizing the learning parameters contained in the value function according to the maximum values corresponding to different businesses before and after the update and optimization to obtain the optimized value function.

[0019] Among them, since the value function usually includes learning parameters (such as ω1, ω2 and ω3), updating and optimizing the value function is the process of updating ω1, ω2 and ω3. Since ω1, ω2 and ω3 corresponding to different businesses are different, ω1, ω2 and ω3 corresponding to different businesses need to be updated separately.

[0020] In conjunction with the first aspect, in some implementations of the first aspect, updating and optimizing the learning parameters included in the value function based on the maximum values corresponding to different services before and after the update and optimization includes:

[0021] According to the inclusion The relationship between the update value function and the learning parameter ω i , where r t+1represents the reward value at time t+1 calculated by the reward function, γ represents the decay factor, Q(a t , s t ) indicates that the current business selects action a before updating and optimizing t The corresponding maximum value, max a Q(a,s t+1 ) indicates the maximum value corresponding to the current business selecting action a at time t+1.

[0022] Among them, after adjusting the transmission scheduling strategy in each round, the first electronic device can record the service status, the selected proportion (action) and the maximum value at that time, so that the maximum value corresponding to time t can be directly obtained as Q(a t , s t ), Q(a, s t+1 ) can be calculated by the expression of Q(a=x,s) before optimization to get the value of action a at time t+1, and then calculated by max a Q(a,s t+1 ) takes the maximum value. γ represents the attenuation factor, for example, 0.9 is typically selected. Based on the above update optimization method, the first electronic device can promptly optimize the value function to subsequently better formulate an adaptive transmission scheduling strategy to achieve efficient and reliable data transmission.

[0023] In combination with the first aspect, in some implementations of the first aspect, the different services include real-time services, delayed services, and file transfer services.

[0024] Because electronic devices have different types of services, they can be divided into real-time services, delayed services, and file transfer services based on their bandwidth and latency requirements. Real-time services typically have constraints on both bandwidth and latency. Delayed services typically have requirements for average data transmission latency but not bandwidth. File transfer services have bandwidth requirements but not latency requirements. Therefore, the first electronic device can allocate and schedule service data packets based on its own device attributes and its service transmission requirements.

[0025] In combination with the first aspect, in some implementations of the first aspect, the above-mentioned preset constraints include that the sum of the delays corresponding to different services is minimized, and the total bandwidth occupied by different services on any data transmission link is less than the total bandwidth of the data transmission link.

[0026] Because different services have different requirements for bandwidth and latency, the first electronic device can determine corresponding constraints based on these different requirements. These constraints must ensure that the sum of the latency corresponding to the different services is minimized, and that the total bandwidth occupied by the different services on any data transmission link is less than the total bandwidth of the data transmission link. For example, the total bandwidth occupied by data transmitted on a P2P link should be less than the total bandwidth of the P2P link, the total bandwidth occupied by data transmitted on a WLAN link should be less than the total bandwidth of the WLAN link, and the total bandwidth occupied by data transmitted on a Bluetooth link should be less than the total bandwidth of the Bluetooth link. Under these constraints, the first electronic device can determine whether the current data transmission process is normal and adjust the corresponding data transmission strategy in a timely manner.

[0027] In a second aspect, the present application provides a device, which is included in an electronic device and has the function of implementing the electronic device behavior described in the first aspect and possible implementations of the first aspect. The function can be implemented through hardware or through hardware executing corresponding software implementations. The hardware or software includes one or more modules or units corresponding to the above functions. For example, a receiving module or unit, a processing module or unit, etc.

[0028] In a third aspect, the present application provides an electronic device, the electronic device comprising: one or more processors, and a memory;

[0029] The memory is coupled to the one or more processors, and the memory is used to store computer program code, where the computer program code includes computer instructions. The one or more processors call the computer instructions to enable the electronic device to execute any one of the methods in the technical solution of the first aspect.

[0030] In a fourth aspect, the present application provides a chip system, which is applied to an electronic device, and the chip system includes one or more processors, and the one or more processors are used to call computer instructions to enable the electronic device to execute the method in the first aspect and any possible implementation thereof.

[0031] Optionally, the chip system also includes a memory, and the memory is connected to the processor via circuits or wires.

[0032] Further optionally, the chip system also includes a communication interface.

[0033] In a fifth aspect, the present application provides a computer-readable storage medium, which includes instructions. When the instructions are executed on an electronic device, the electronic device executes any one of the methods in the technical solution of the first aspect.

[0034] In a sixth aspect, the present application provides a computer program product, which includes: a computer program code, which, when the computer program code runs on an electronic device, enables the electronic device to execute any one of the methods in the technical solution of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 This is a schematic diagram of an application scenario of an interconnection service provided in an embodiment of the present application;

[0036] Figure 2 This is a schematic diagram of an application scenario in which multiple services send data in parallel, provided by an embodiment of the present application;

[0037] Figure 3 This is a schematic diagram of the structure of an OSI reference model provided in an embodiment of the present application;

[0038] Figure 4 This is a schematic diagram of an application scenario of a data transmission scheduling method provided in an embodiment of the present application;

[0039] Figure 5 1 is a schematic diagram of a processing module for implementing a data transmission scheduling method in an electronic device provided in an embodiment of the present application;

[0040] Figure 6 This is a schematic diagram of data interaction between a first electronic device and a second electronic device provided in an embodiment of the present application;

[0041] Figure 7 This is a flow chart of a data transmission scheduling method provided in an embodiment of the present application;

[0042] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application;

[0043] Figure 9 This is a software structure block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0044] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings in the embodiments of the present application. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships can exist, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.

[0045] In the following, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the technical features indicated. Therefore, a feature specified as "first," "second," or "third" may explicitly or implicitly include one or more of the features.

[0046] With the continuous advancement of electronic and communication technologies, interconnection services between various electronic devices have become a development trend. IoT electronic devices such as mobile phones, tablets, laptops, large-screen devices, and watches can serve as a connection between users and information, supporting complex and diverse services and applications. Interconnection services rely on various wireless communication technologies, such as peer-to-peer (P2P), wireless fidelity (Wi-Fi), and Bluetooth (BT). However, with the increasing number of electronic devices, the amount of data transmitted between them, and the increasing complexity of various service applications, interconnection services between electronic devices are facing the challenge of large data volumes, high bandwidth requirements, low latency requirements, and high stability requirements. This requires multi-service, multi-path, and parallel data transmission solutions between multiple electronic devices. This requires a reasonable transmission control mechanism and the rational utilization of data transmission link resources to ensure the smooth operation of data transmission services.

[0047] Among them, the interconnection service can be applied to mobile phones, tablets, personal computers (PCs), large-screen devices and other smart electronic devices. For example, Figure 1 As shown in the figure, it is a schematic diagram of an application scenario of interconnected services. In the same space and time, there are multiple devices that need to send and receive wireless data, such as mobile phones, large-screen devices, tablets, laptops, wireless routers, etc. Here, it is assumed that the mobile phone can build a 5G P2P link and a 5G wireless local area network (WLAN) link to project the screen to the large-screen device. During the projection process, other electronic devices can also perform data transmission services with the wireless router. Figure 1 In the process of sending projection data from a mobile phone to a large-screen device through a 5G P2P link and a 5G WLAN link, this is a scenario of multi-path parallel data transmission. For scenarios where multiple services send data in parallel, please refer to Figure 2 ,It can be seen that the laptop can communicate with the mobile phone and the mouse at the same time. The mouse can perform super keyboard and mouse services with the laptop, and the mobile phone can perform device collaboration services with the laptop, that is, the laptop can send data in parallel in multiple services.

[0048] exist Figure 1In the embodiment, we can divide the existing electronic devices into two categories. One category is the controllable devices of this cell, that is, the electronic devices that can execute the data transmission scheduling method in the embodiment of the present application, such as Figure 1 In other words, Figure 1 The mobile phone in the embodiment can control the transmission scheduling strategy during the data transmission process based on the data transmission scheduling method in the embodiment of the present application. The other type is the interfering device in the cell (including the uncontrollable device in the cell), that is, the electronic device that does not execute (or has no right to execute) the data transmission scheduling method in the embodiment of the present application, such as Figure 1 Tablets, laptops, wireless routers and other electronic devices in the system cannot control the transmission scheduling strategy during data transmission. Corresponding to the electronic device category, we can Figure 1 The data links in the network are divided into three categories. One category is the controllable link, that is, the data link corresponding to the controllable device of the cell where the data is sent, such as Figure 1 In the 5G P2P link where the mobile phone sends data to the large screen, and the 5G WLAN link where the mobile phone sends data to the wireless router, the mobile phone can control the transmission scheduling strategy corresponding to the data to be sent. The other type is the perceptible link, that is, the data link corresponding to the controllable device of the cell where the data receiving end is located, such as Figure 1 The 5G WLAN link in which the wireless router sends data to the mobile phone can sense the status of the data link, but cannot control its corresponding transmission scheduling strategy. Another type is the interference link, that is, the data link corresponding to the interference device in the cell where the data is sent and received, such as Figure 1 The data link between the tablet and the wireless router, the data link between the laptop and the wireless router, etc. Here, the controllable link set can be recorded as L C , the perceptible link set is recorded as L S , then the total set of controllable and perceptible links is

[0049] against Figure 1In the application scenarios shown, on the one hand, the frequency bands of short-range wireless communication technologies are mostly 2.4G and 5G bands, and the data transmission services on each channel follow the carrier sense multiple access with collision avoidance (CSMA / DA mechanism) of the IEEE802.11 standard. Some distributed spectrum access technologies (such as Wi-Fi, Bluetooth, etc.) can enable each electronic device to independently sense the surrounding environment and make access decisions. This method can work well when the number of devices is small and the application scenarios are relatively simple. However, in scenarios where there are a large number of electronic devices and a large amount of data transmission, due to limited spectrum resources, Wi-Fi, Bluetooth and other technologies share spectrum resources, and spectrum resources are becoming increasingly tight. If multiple data transmission links do not reasonably avoid interference, it will cause various data transmission services to collide on the air interface, causing high-priority services to retreat to low-priority services, and then the transmission rate of high-priority services cannot be guaranteed. On the other hand, in the context of interconnected services, to increase the transmission rate, some data transmission services may need to use multiple data transmission links for simultaneous transmission. For example, multiple TCP sub-streams can be established through the Multi-Path Transport Protocol (MPTCP) for multi-path transmission. Congestion schemes such as cubic, bbr (bottleneck bandwidth and RTT), and bic (binary increase congestion) can be used to detect the transmission bandwidth post-actively. When packet loss occurs or the round-trip time delay (RTT) increases, the transmission rate can be adjusted. However, this technology has poor real-time performance and is not suitable for interconnected scenarios with high real-time requirements. Therefore, the electronic devices at the data sending end need to coordinate and schedule the overall network environment, rationally utilize the multiple paths between devices, select appropriate data transmission scheduling strategies, and optimize the multi-service multi-path transmission scheduling scheme.

[0050] In view of this, the embodiment of the present application provides a data transmission scheduling method. In a concurrent scenario of multiple devices, multiple paths, and multiple services, the electronic device can collect service information on multiple electronic devices, measure the transmission rate on the data transmission link, and allocate a reasonable transmission scheduling strategy and transmission bandwidth to the service of each controllable device based on the service requirements and link quality, so that high-priority services and low-priority services are transmitted in a coordinated manner, ensuring the high-priority service experience while also ensuring the smooth transmission of low-priority services, thereby achieving efficient and reliable data transmission. It can be understood that the data transmission scheduling method provided in the embodiment of the present application can be applied to mobile phones, tablet computers, vehicle-mounted devices, augmented reality (AR) / virtual reality (VR) devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), and other electronic devices that can realize interconnection services or require other high-throughput, short-range wireless transmission services. The embodiment of the present application does not impose any restrictions on the specific type of electronic devices.

[0051] The data transmission scheduling method provided in the embodiment of the present application can be applied to the transport layer of the open system interconnection (OSI) reference model. Figure 3 As shown, the OSI reference model can be divided from top to bottom into: application layer, presentation layer, session layer, transport layer, network layer, data link layer, and physical layer. The application layer primarily provides interfaces for communication between applications; the presentation layer is responsible for data representation, security, and compression; the session layer is responsible for establishing, managing, and terminating sessions; the transport layer primarily provides end-to-end reliable transmission services, defining protocol port numbers, flow control, and error checking for transmitted data; the network layer primarily establishes, maintains, and terminates network connections, is responsible for logical addressing, and implements path selection between different networks; its primary protocols include the IP protocol (IPv4 and IPv6); the data link layer is responsible for establishing logical connections, performing hardware addressing, and error checking; and the physical layer is responsible for establishing, maintaining, and disconnecting physical connections, providing data paths for data end devices and transmitting data. At the transport layer, data transmission scheduling methods can be used to provide electronic devices with transmission scheduling strategies for data transmission.

[0052] In a multi-path, multi-service concurrent scenario, the services running in the application layer of the Wi-Fi network can be divided into the following three categories based on their bandwidth and latency requirements: The first category is real-time services, which generate data to be transmitted at a fixed period and impose constraints on both bandwidth and latency. For example, screen projection services typically generate a video frame every 16 milliseconds. To ensure real-time service transmission, these services typically have transmission latency requirements. Therefore, when scheduling Quality of Service (QoS) transmissions, not only should sufficient bandwidth be provided, but this type of data should also be prioritized. Another category is latency-sensitive services, which generate data to be transmitted randomly and have requirements for average data transmission latency, but not bandwidth requirements. For example, in the counter-control service, the transmission of counter-control message frames is important. Therefore, this type of data should be prioritized when scheduling QoS transmissions. Finally, file transfer services are the ones where the content and size of the data to be transmitted are clearly specified when initiating. Therefore, bandwidth requirements exist, but latency requirements are not. Therefore, the embodiment of the present application can utilize the reinforcement learning method to collect information about each business during the data transmission process through continuous data transmission, and allocate and schedule the business sending data packets based on its own device properties and its own business requirements for transmission.

[0053] Based on the above classification of service types, in a scenario where multiple electronic devices perform multi-path and multi-service data transmission, each electronic device needs to determine how to allocate and transmit multiple services on multiple paths. For example, Figure 4 This is a schematic diagram of an application scenario of a data transmission scheduling method provided by an embodiment of the present application. Assume that there are two electronic devices (a tablet computer and a mobile phone) performing data transmission at the same time. There are currently two data transmission links (a P2P link and a WLAN link). The tablet computer is running a video transmission service, and the mobile phone is running a screen projection service and a file transfer service. Since the screen projection service has requirements for both bandwidth and latency, the screen projection service needs to be executed first. The file transfer service does not have high requirements for latency and can be executed later. Therefore, after multiple electronic devices adopt the data transmission scheduling method provided by the embodiment of the present application, they can be Figure 4 The example shown transmits data for different services. For example, the screen projection service requires sending four data packets, three of which are preferentially sent over the P2P link and one over the WLAN link. The video transmission service requires sending three data packets, two of which are sent over the WLAN link and one over the P2P link. The file transfer service sends one data packet last over the WLAN link.

[0054] To implement the data transmission scheduling method of the embodiment of the present application, as Figure 5As shown, multiple processing modules (or systems) can be set up in the electronic device at the data sending end, including but not limited to a monitoring system, a broadcasting and acquisition system, a reinforcement learning scheduling algorithm module, and a transmission module.

[0055] The monitoring system can collect information on changes in various services in electronic devices, including: information on the start of new services, such as when an electronic device starts a new service, the delay, bandwidth, and initial selected link (such as 2.4G WLAN, 5G WLAN, P2P, Bluetooth link) required for the new service; information on the closure of old services, such as when an electronic device closes an old service, the bandwidth released after the old service is closed; information on changes in service transmission requirements, such as changes in the delay and bandwidth information required for a service; information on changes in service service quality, such as when the transmission delay of a service exceeds the constraints, which may be due to abnormal conditions such as congestion in the data transmission link. The broadcast and collection system can broadcast the information collected by the monitoring system to the surrounding controllable devices. When each controllable device receives information broadcast by other electronic devices, it can unify the information among all controllable devices in the cell. In this way, all controllable devices can execute the above-mentioned data transmission scheduling method to obtain a unified transmission scheduling strategy to reduce transmission scheduling between electronic devices. The reinforcement learning scheduling algorithm module performs reinforcement learning and analysis based on information broadcast by other electronic devices received by the broadcast and collection system, as well as information collected by the monitoring system itself, to provide a transmission scheduling strategy for the transmission module. The transmission module executes the transmission scheduling strategy output by the reinforcement learning scheduling algorithm module and sends data packets. At the same time, the transmission module also receives delay information and other relevant information from electronic devices at the data receiving end, and passes this information to the reinforcement learning scheduling algorithm module for the next round of learning optimization.

[0056] Furthermore, the reinforcement learning scheduling algorithm module may also include an information collection and recording module, a learning and training module, and an execution module. The information collection and recording module is used to collect information data required for the reinforcement learning process from the broadcast and acquisition system and the monitoring system. The learning and training module contains a learning algorithm that can perform learning and training based on the collected information data to formulate a transmission scheduling strategy that suits the current environment. If the learning and training module is deployed in all controllable devices in the cell, a unified transmission scheduling strategy can be obtained, thereby achieving coordinated and unified scheduling. The execution module is used to interpret the transmission scheduling strategy and guide the transmission module to send data.

[0057] based on Figure 5 The multiple processing modules shown in the figure briefly introduce the overall transmission process in the interconnection business, such as Figure 6As shown, 1. The transmission module in the electronic device at the data transmission end (referred to as the first electronic device) sends data (or data packets) to the electronic device at the data reception end (referred to as the second electronic device). 2. After receiving the data, the second electronic device can feedback the received data size, latency information, and other information to the transmission module of the first electronic device. 3. The transmission module of the first electronic device transmits the received information to the information collection and recording module in the reinforcement learning scheduling algorithm module. Simultaneously, 4. The monitoring system collects information on changes in various services in the electronic device. 5. The collected information is broadcasted by the broadcast and collection system. 6. The broadcast and collection system can also receive information broadcasted by other electronic devices. Then, 7. The information collection and recording module in the reinforcement learning scheduling algorithm module collects the required information data from the broadcast and collection system. 8. The learning and training module obtains this information data from the information collection and recording module. 9. Learning and training are performed based on the obtained information data (the specific data processing process is described in detail in the following embodiment) to formulate a transmission scheduling strategy that suits the current environment. 10. The execution module obtains the current transmission scheduling strategy. 11. The transmission module is instructed to send data according to the new transmission scheduling strategy.

[0058] exist Figure 6 Based on the overall transmission process, the data transmission scheduling method provided by the embodiment of the present application will be described in detail below. First, we will introduce the information set collected by the information collection and recording module. Because the first electronic device needs to schedule and allocate multiple services on multiple paths, it is necessary to obtain various service information and path information (i.e., link information). In some implementations, the information collected by the information collection and recording module includes but is not limited to service information, path information, and actual service delay information.

[0059] The service information may include the service type, bandwidth constraint and delay constraint of each service. The bandwidth constraint and delay constraint can be the constraint conditions of each service. For example, assuming that the set of controllable devices in this cell is N C , the set of uncontrollable devices is recorded as N U At time t, there are N controllable devices, which have initiated M services. These M services are:

[0060] 1. N h An electronic device launched M h For a real-time service, the delay requirement can be expressed as The bandwidth requirement can be expressed as For example, a 24-frame 1080P projection service requires a latency of less than 22ms and a bandwidth greater than 6Mbit / s. The corresponding service information can be [real-time service, 22ms, 6M].

[0061] 2. Nt An electronic device launched M t For a time-delayed service, the delay requirement can be expressed as The bandwidth requirement can be expressed as For example, for keyboard and mouse services, each service packet is less than 1500B (bytes), its delay requirement is less than 12ms, and the bandwidth requirement is not high. The corresponding service information can be [delay service, 12ms, 0.5M], where 0.5M is the preset minimum reserved bandwidth.

[0062] 3. N f An electronic device launched M f For a file transfer service, the delay requirement can be expressed as The bandwidth requirement can be expressed as For example, an 80MB file should be sent within 50 seconds, so its bandwidth requirement is 12.8Mbit / s. The latency requirement is not high, so the corresponding service information can be [file service, 200ms, 12.8M], where 200ms is the preset timeout limit.

[0063] It is understandable that the above N h +N t +N f =N,M h +M t +M f =M.

[0064] The path information may include estimated information on the transmission capacity of the current data transmission link provided by a quality of experience (QoE) detection module (not shown in the figure), including the data transmission link between one electronic device and another electronic device, and the maximum bandwidth, service delay, service priority, actual delay and other information that the data transmission link can currently provide. For example, there are P2P links, WLAN links and Bluetooth links between electronic device A and electronic device B, where the maximum bandwidth that the P2P link can provide is 80M and the service delay is 100ms, the maximum bandwidth that the WLAN link can provide is 100M and the service delay is 70ms, and the environmental jitter delays corresponding to the P2P link, WLAN link and Bluetooth link are [15ms, 15ms, 15ms] respectively. For another example, service 1 between electronic device A and electronic device B is currently set to high priority and is preferentially sent through the P2P link, with an actual delay of τ = 134ms.

[0065] After the information collection and recording module collects the above information data, the learning and training module can perform the following reinforcement learning process:

[0066] We classify the data transmission scheduling problem as follows: Since the real-time and delayed services mentioned above have latency requirements, the sum of the latencies of these two services can be minimized, and the file transfer service's latency can be less than the timeout limit. Furthermore, since the real-time, delayed, and file transfer services transmit data separately over the P2P link, WLAN link, and Bluetooth link (assuming these three links), the total bandwidth occupied by these three services on the P2P link should be less than the total bandwidth of the P2P link, the total bandwidth occupied by data transmitted on the WLAN link should be less than the total bandwidth of the WLAN link, and the total bandwidth occupied by data transmitted on the Bluetooth link should be less than the total bandwidth of the Bluetooth link.

[0067] Therefore, the constraints can be expressed as:

[0068]

[0069] in, Indicates the actual delay of real-time services. Indicates the actual delay of the latency-related service. Indicates the actual delay of the file transfer service. When data packets are sent redundantly, the delay of the first arriving data packet is selected as the actual delay. Indicates the actual bandwidth usage of real-time services. Indicates the actual bandwidth usage of latency-related services. Indicates the actual bandwidth usage of the file transfer service. (Indicator factor) represents real-time service m h The proportion allocated to the P2P link, Indicates real-time business m h The proportion allocated to the WLAN link, Indicates real-time business m h The proportion allocated to the Bluetooth link, Indicates the time-delayed service m t The proportion allocated to the P2P link, Indicates the time-delayed service m t The proportion allocated to the WLAN link, Indicates the time-delayed service m t The proportion allocated to the Bluetooth link, Indicates file transfer service m f The proportion allocated to the P2P link, Indicates file transfer service m f The proportion allocated to the WLAN link, Indicates file transfer service m f The proportion allocated to the Bluetooth link. P2PIndicates the total bandwidth of the P2P link, B WLAN Indicates the total bandwidth of the WLAN link, B BT Represents the total bandwidth of the Bluetooth link. It can be understood that the above I values must meet the following conditions: If exists or or If it is less than 1, it means that not all data packets corresponding to the service have been sent, and the delay in this case may be infinite (inf). It can also be understood that each B value in formula 1 can be obtained from the above collected information.

[0070] by For example, its value should be a discrete fraction between [0, 1], for example, the value is [1, 1 / 2, 1 / 3, 1 / 4, 1 / 5]. For example, if This indicates that real-time business m h All data packets are sent on the P2P link. This indicates that real-time business m h One out of every five packets is sent on the P2P link. It means real-time business m h No data packets are sent on the P2P link. It is understandable that if there is If , it means that a data packet is redundantly sent on multiple data links, for example, a data packet is sent on a P2P link and also on a WLAN link.

[0071] Under the constraints of Formula 1, the above-mentioned data transmission scheduling problem can be transformed into a decision-making problem. This decision-making problem can be decomposed into two decision-making steps: Decision Step 1: Decide on the data transmission path, and Decision Step 2: Decide on the data transmission priority. That is, the first electronic device needs to determine the proportion of data packets of each service sent on each link, and determine the transmission priority of data packets of each service. Through the above analysis of the parameters included in Formula 1, Decision Step 1 can be determined by solving each indicator factor I, and the transmission priority decision in Decision Step 2 can be classified as a path-level decision. A high-priority queue and a low-priority queue can be established on each link, and the data on the link is placed in the two priority queues according to the transmission priority decision. The high-priority queue is sent first. When there are no data packets to be sent in the high-priority queue, the low-priority queue is sent.

[0072] In summary, the reinforcement learning quaternary (state, action, state transfer function, reward) required by the reinforcement learning algorithm module can be constructed, wherein the state (s) is the information collected by the above-mentioned information collection and recording module, that is, the business information, path information and actual business delay information described above, etc., representing the various B values in Formula 1. Action (a) is the proportion of data packets of each business sent on each link, that is, representing the various indicator factors I in Formula 1. Here, each business can construct a high-priority sending proportion and a low-priority sending proportion on each link. For the transmission of a business on a link, the sum of the high-priority sending proportion and the low-priority sending proportion should be the total proportion I. For example, taking the real-time business m h Taking the transmission on the P2P link as an example, assuming is the proportion of high priority sending, is the low priority sending ratio, then To reduce the computational complexity, we can and The value of is set to a fixed discrete domain, for example, the value is [0, 1 / 3, 2 / 3, 1], etc. , the first electronic device can normalize the two so that For example, assuming When normalized

[0073] The state transfer function depends on the overall transmission environment of wireless communication, and this embodiment of the present application does not consider this factor for the time being.

[0074] The reward is calculated by the reward function. in It can be understood that action (a) in the above reinforcement learning quadruple can represent the executed transmission scheduling strategy. Therefore, if the transmission scheduling strategy is to be updated, it is necessary to update the various I values (including P value and Q value) in action (a).

[0075] Based on the constraints and reward function of the above formula 1, such as Figure 7 As shown, the data transmission scheduling process performed by the first electronic device may include the following steps:

[0076] S101: Acquire a current transmission scheduling strategy, and send data to a second electronic device according to the current transmission scheduling strategy.

[0077] Among them, the current transmission scheduling strategy includes the proportion of different services executed by each electronic device allocated to different data transmission links, that is, including the above as well as In the initial state, the current transmission scheduling strategy may be the initial transmission scheduling strategy, and the above-mentioned values of I may be preset initial values. The second electronic device is a device that receives data sent by the first electronic device, and may be one or more devices.

[0078] S102: When the current transmission scheduling strategy does not satisfy the constraint condition, determine a first service that does not satisfy the constraint condition.

[0079] Because, during the execution of the current transmission scheduling strategy, the first electronic device continuously collects information about each service in each electronic device, including but not limited to actual latency, bandwidth usage, and other information, it can then determine whether the aforementioned constraint condition (Formula 1) is satisfied based on the collected information. If the constraint condition is not satisfied, the first service that does not satisfy the constraint is determined. The first electronic device can select the first service that least satisfies the constraint, such as the service with the largest difference between actual latency and latency requirement, as the first service, and adjust the transmission scheduling strategy based on the information about the first service.

[0080] S103: Adjust the transmission scheduling policy corresponding to the first service based on the value function.

[0081] If the first service does not meet the constraints, it means that the corresponding transmission scheduling strategy may not be compatible, that is, the data allocated on each data transmission link is not compatible, and the included I value needs to be adjusted. Since the I value includes the high priority transmission ratio and the low priority transmission ratio, it is necessary to adjust the high priority transmission ratio and the low priority transmission ratio. For example, assuming that the first service is a real-time service m h , then the first electronic device needs to adjust the corresponding and The value of and value.

[0082] The first electronic device can adjust each P value and Q value based on the value function. The value function can characterize the value of each action, that is, the value corresponding to the selection of a certain action (a). In an implementable manner, the value function can be expressed as Q(a=x, s), wherein s represents the state (equivalent to the state in the above-mentioned quaternion), a represents the action value of the data transmission link selected by the current service, including the high priority transmission ratio and the low priority transmission ratio corresponding to the selected link, and x represents different values of a, such as the above-mentioned discrete domain [0, 1 / 3, 2 / 3, 1], etc. For example, in the case of real-time service m h When selecting a WLAN link, the action value of a is and The value function will calculate a as When the values are [0, 1 / 3, 2 / 3, 1], the value (or score) corresponding to each value, and the calculation of a is When the values are [0, 1 / 3, 2 / 3, 1], the value (or score) corresponding to each value is calculated, that is, the value corresponding to each action (a). Then, after obtaining each value (or score), the value of a corresponding to the maximum value is selected through the π(a=xls) strategy function, which can be used as and Adjustment value. It is understandable that and The process of adjusting the value of is similar to the above process and will not be repeated here.

[0083] In some examples, Here B m represents the transmission bandwidth (or rate) required by the current service (such as the first service determined above), B p Indicates the current transmission rate of the selected data transmission link (i.e. the actual transmission rate achieved when currently transmitting data). Indicates the maximum transmission rate provided by the selected data transmission link. Indicates the bandwidth occupied by other services on the selected data transmission link. m 、B p 、 The value of can be collected by the above information collection and recording module. p Represents the priority delay. The high-priority queue and low-priority queue on the link correspond to different priority delays. If the low-priority delay is calculated, then τ p =B po / B p , B po Represents the traffic volume on the selected data transmission link; if the high priority delay is calculated, then τ p = 0. ω1, ω2, and ω3 are learning parameters (the update method can be described below), which can correspond to set initial values. Different services correspond to different ω1, ω2, and ω3. For example, real-time services correspond to a set of ω1, ω2, and ω3, delayed services correspond to a set of ω1, ω2, and ω3, and file transfer services correspond to a set of ω1, ω2, and ω3.

[0084] For ease of understanding, the following example introduces the process of adjusting each P value and Q value based on the value function. For example, assuming that the first service is a real-time service m h , where a is When the value function is used to calculate the corresponding values of a when the values are [0, 1 / 3, 2 / 3, 1], the value is [Q1, Q2, Q3, Q4]. The largest value among these four values is Q2, and the value of a corresponding to Q2 is 1 / 3. Then determine is 1 / 3.

[0085] In a When the value function is used to calculate the corresponding values of a when the values are [0, 1 / 3, 2 / 3, 1], they are [Q5, Q6, Q7, Q8]. The largest value among these four values is Q5, and the value of a corresponding to Q5 is 0. is 0.

[0086] In a When the value function is used to calculate the value of a, the corresponding values are [0, 1 / 3, 2 / 3, 1], which are [Q9, Q10, Q11, Q12]. The largest value among these four values is Q11, and the value of a corresponding to Q11 is 2 / 3. is 2 / 3.

[0087] In a When the value function is used to calculate the corresponding values of a when the values are [0, 1 / 3, 2 / 3, 1], they are [Q13, Q14, Q15, Q16]. The largest value among these four values is Q14, and the value of a corresponding to Q14 is 1 / 3. Then determine is 1 / 3.

[0088] In a When the value function is used to calculate the value of a, the corresponding values are [0, 1 / 3, 2 / 3, 1], which are [Q17, Q18, Q19, Q20]. The largest value among these four values is Q17, and the value of a corresponding to Q17 is 0. is 0.

[0089] In a When the value function is used to calculate the corresponding values of a when the values are [0, 1 / 3, 2 / 3, 1], they are [Q21, Q22, Q23, Q24]. The largest value among these four values is Q21, and the value of a corresponding to Q21 is 0. Then determine is 0.

[0090] Thus, the adjusted and The value of , that is, the adjusted transmission scheduling strategy is obtained, and the first electronic device can subsequently perform data transmission of the first service based on the adjusted transmission scheduling strategy.

[0091] S104: Send data to the second electronic device according to the adjusted transmission scheduling strategy, and execute S102-S103 in a loop.

[0092] That is to say, after the first electronic device adjusts the transmission scheduling strategy, the process of sending data can continue to execute the above S102-S103. When the currently executed transmission scheduling strategy does not meet the constraints, the transmission scheduling strategy corresponding to the first business that does not meet the constraints (it may still be the business that did not meet the constraints last time, or it may be another business that does not meet the constraints) continues to be adjusted based on the value function. The adjustment process is similar to the above and will not be repeated here.

[0093] It can be understood that if the adjusted transmission scheduling strategy continues to satisfy the above constraints, the first electronic device may freeze the S102 - S103 process and continue to monitor whether the constraints are satisfied.

[0094] It can also be understood that the first electronic device can record information such as the status, action, maximum value, and reward corresponding to each adjustment of the transmission scheduling strategy.

[0095] In some implementations, after the first electronic device sends data to the second electronic device according to the adjusted transmission scheduling strategy, it can also count for N time periods, for example, N is 1 minute, and record information such as the actual delay corresponding to each service within these N time periods. After N time periods, S102-S103 is executed in a loop to reduce the processing power consumption caused by frequent execution of S102-S103.

[0096] S105: When the number of times the constraint condition is not satisfied reaches a preset number, the value function is updated and optimized, and the process returns to S102-S103.

[0097] Since the above S102-S103 is a process of continuously adjusting each I value through the value function, if the constraint conditions are still not met after many rounds of adjustment, that is, the number of times the constraint conditions are not met has reached many times (for example, the preset number of times is 1000), it means that the value function given may no longer be suitable and needs to be updated and optimized.

[0098] From the above expression of Q(a=x, s), we can see that ω1, ω2 and ω3 are learning parameters. Then updating and optimizing the value function is the process of updating ω1, ω2 and ω3. Since ω1, ω2 and ω3 corresponding to different businesses are different, it is necessary to update ω1, ω2 and ω3 corresponding to different businesses separately.

[0099] In some implementations, ω i Can be achieved through The update is performed in the following way, where r t+1is the reward value at time t+1 calculated by the above reward function r, γ represents the attenuation factor, for example, 0.9 is usually selected, Q(a t , s t ) indicates that action a is selected before updating the optimization t The corresponding value, because the state, action, and maximum value obtained in each round of adjustment are recorded, the maximum value corresponding to time t can be directly obtained as Q(a t , s t ), Q(a, s t+1 ) represents the value of action a at time t+1 calculated based on the expression Q(a=x,s). Here, the value of action a under different values is calculated, and then the value of action a is calculated by max. a Q(a,s t+1 ) can take the maximum value. And because action a at time t t There are separate options for and Therefore, the first electronic device can be in action a t Select and When , the corresponding maximum value is obtained respectively, and multiple rounds of iterative updates ω i It is understandable that in action a t choose When Q(a,s t+1 ) in the action a is also selected accordingly In action a t choose When Q(a,s t+1 ) in the action a is also selected accordingly By analogy, it is ensured that each round of iteration is performed under the same action. It can also be understood that ω1, ω2 and ω3 corresponding to different businesses can all be obtained through the above ω i Update and optimize the relationship.

[0100] For example, to update the real-time service m h For example, the corresponding ω1 parameter before updating the corresponding multiple groups (a t , s t ) and the corresponding maximum value Q can be obtained from the storage of the electronic device. Assume that the action before the update is selected first. Calculate the next moment and Select the maximum value among them Then calculate This will update ω1 once. If you have selected an action before the update Then continue to select the action before updating Based on the last round of updated ω1, calculate the next moment and Select the maximum value among them The same method as above is used to continue the next round of update calculation for ω1 obtained in the previous round of update, and ω1 is updated in multiple rounds of iterations.

[0101] After the expression of the value function Q(a=x, s) is updated, the first electronic device can continue to return to execute S102-S103, re-determine whether the above constraints are met, and iterate in this way.

[0102] In the above-mentioned data transmission scheduling method, in a scenario with multiple devices, multiple services and multiple paths, electronic devices can collect business information on each electronic device to determine whether the preset constraints are met. In the case of a business that does not meet the constraints, the business can be adjusted and allocated a reasonable transmission scheduling strategy based on the business requirements and link quality, and the transmission data can be coordinated according to priority to achieve efficient and reliable data transmission.

[0103] The above describes in detail an example of a data transmission scheduling method provided by an embodiment of the present application. It is understandable that, in order to implement the above functions, the electronic device includes hardware and / or software modules that perform the corresponding functions. Those skilled in the art should easily appreciate that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in a hardware or computer software driven hardware manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in combination with the embodiments, but such implementation should not be considered to be beyond the scope of this application.

[0104] The embodiment of the present application can divide the functional modules of the electronic device according to the above method example. For example, each function can be divided into various functional modules, such as a detection unit, a processing unit, a display unit, etc., or two or more functions can be integrated into one module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of a software functional module. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0105] It should be noted that all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module and will not be repeated here.

[0106] The electronic device provided in this embodiment is used to execute the above-mentioned data transmission scheduling method, and thus can achieve the same effect as the above-mentioned implementation method.

[0107] When integrated, the electronic device may also include a processing module, a storage module, and a communication module. The processing module may be used to control and manage the operation of the electronic device. The storage module may be used to support the execution of program code and data stored in the electronic device. The communication module may be used to support communication between the electronic device and other devices.

[0108] The processing module may be a processor or controller. It may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and so on. The storage module may be a memory. The communication module may specifically be a device that interacts with other electronic devices, such as a radio frequency circuit, a Bluetooth chip, or a Wi-Fi chip.

[0109] In one embodiment, when the processing module is a processor and the storage module is a memory, the electronic device involved in this embodiment may be a Figure 8 Device with the structure shown.

[0110] For example, Figure 8 1 is a schematic diagram of the structure of an electronic device 100 provided in an embodiment of the present application. The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display 194, and a subscriber identity module (SIM) card interface 195. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0111] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, an audio digital signal processor (ADSP), a baseband processor, and / or a neural-network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors.

[0112] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0113] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly retrieve it from the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.

[0114] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0115] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0116] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, so that electronic device 100 can communicate with a network and other devices via wireless communication technology. Wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. GNSS may include the global positioning system (GPS), the global navigation satellite system (GLONASS), the Beidou navigation satellite system (BDS), the quasi-zenith satellite system (QZSS) and / or the satellite based augmentation system (SBAS).

[0117] The internal memory 121 can be used to store computer executable program codes, and the executable program codes include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area can store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0118] It should be understood that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0119] The software system of the electronic device 100 can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. In the embodiment of the present application, the Android system with a layered architecture is used as an example to illustrate the software structure of the electronic device 100.

[0120] Figure 9 This is a block diagram of the software structure of the electronic device 100 according to an embodiment of the present application. The layered architecture divides the software into several layers, each with a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer. The application layer may include a series of application packages.

[0121] like Figure 9 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.

[0122] The application framework layer provides an application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions.

[0123] like Figure 9 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.

[0124] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, take screenshots, etc. The content provider is used to store and obtain data and make this data accessible to applications. The data can include video, images, audio, calls made and received, browsing history and bookmarks, phone books, etc. The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. The display interface can be composed of one or more views. For example, the display interface including the SMS notification icon can include a view for displaying text and a view for displaying images. The phone manager is used to provide communication functions for the electronic device 100. For example, call status management (including call connection, hang up, etc.) The resource manager provides various resources to applications, such as localized strings, icons, images, layout files, video files, etc. The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can automatically disappear after a short period of time without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system's top status bar in the form of an icon or scrolling text bar, such as a notification from an application running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message may be displayed in the status bar, a notification sound may be emitted, an electronic device may vibrate, an indicator light may flash, etc.

[0125] The Android runtime includes the core library and the virtual machine. The Android runtime is responsible for scheduling and management of the Android system.

[0126] The core library consists of two parts: one is the function that needs to be called by the Java language, and the other is the Android core library.

[0127] The application layer and application framework layer run in a virtual machine. The virtual machine executes Java files in the application layer and application framework layer as binary files. The virtual machine manages object lifecycles, stack management, thread management, security and exception management, and garbage collection.

[0128] The system library can include multiple functional modules. For example, Figure 5 The monitoring system, broadcast and collection system, reinforcement learning scheduling algorithm module and transmission module shown in the figure cooperate with each other to execute the data transmission scheduling method of the embodiment of the present application.

[0129] The kernel layer is the layer between hardware and software. The kernel layer includes at least display driver, camera driver, audio driver, and sensor driver.

[0130] The present application also provides a computer-readable storage medium that stores a computer program. When the computer program is executed by a processor, the processor executes the data transmission scheduling method of any of the above embodiments. The storage medium may include a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, among other media capable of storing program code.

[0131] An embodiment of the present application further provides a computer program product. When the computer program product is run on a computer, the computer is caused to execute the above-mentioned related steps to implement the data transmission scheduling method in the above-mentioned embodiment.

[0132] In addition, an embodiment of the present application also provides a device, which can specifically be a chip, component or module, and the device may include a connected processor and memory; wherein the memory is used to store computer execution instructions, and when the device is running, the processor can execute the computer execution instructions stored in the memory to enable the chip to execute the data transmission scheduling method in the above-mentioned method embodiments.

[0133] Among them, the electronic device, computer-readable storage medium, computer program product or chip provided in this embodiment are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

[0134] Through the description of the above implementation methods, technical personnel in the relevant field can understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be distributed and completed by different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0135] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0136] The above content is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A data transmission scheduling method, the method being executed by a first electronic device, characterized in that: The method comprises: Obtaining a current transmission scheduling policy, and performing data transmission according to the current transmission scheduling policy, the current transmission scheduling policy including proportions of different services executed by various electronic devices allocated to different data transmission links, the various electronic devices including electronic devices located in the same cell and executing the data transmission scheduling method, the various electronic devices including the first electronic device; Performing a first operation: when the current transmission scheduling strategy does not satisfy a preset constraint condition, determining a first service that does not satisfy the constraint condition, where the first service is one of the different services executed by each electronic device; Adjusting the transmission scheduling policy corresponding to the first service to obtain an adjusted transmission scheduling policy; Data transmission is performed according to the adjusted transmission scheduling strategy, and the first operation is executed in a loop.

2. The method according to claim 1, characterized in that The adjusting the transmission scheduling policy corresponding to the first service to obtain the adjusted transmission scheduling policy includes: The transmission scheduling strategy corresponding to the first service is adjusted based on a value function to obtain the adjusted transmission scheduling strategy, wherein the value function is used to calculate the value corresponding to the different proportions of the first service allocated to the different data transmission links.

3. The method according to claim 2, characterized in that The adjusting the transmission scheduling policy corresponding to the first service based on the value function to obtain the adjusted transmission scheduling policy includes: Calculating, based on the value function, values corresponding to different proportions of the first service allocated to the different data transmission links; For each first data transmission link, if the value corresponding to the first proportion allocated to the first service is the largest, the first proportion is used as the adjusted proportion allocated to the first service on the first data transmission link, where the first data transmission link is one of the different data transmission links, and the first proportion is one of the different proportions; The adjusted proportion of the first service on the different data transmission links is used as the adjusted transmission scheduling strategy.

4. The method according to claim 3, characterized in that The first proportion includes a high priority sending proportion and a low priority sending proportion.

5. The method according to claim 4, characterized in that The value function includes A function of the relationship, where x represents the different proportions selected, B m represents the transmission bandwidth required by the first service, B p represents the current transmission rate of the first data transmission link, represents the maximum transmission rate provided by the first data transmission link, represents the bandwidth occupied by other services on the first data transmission link, τ p Represents the priority delay, and when x represents the proportion of high priority transmission, the corresponding τ p τ corresponding to when x represents the proportion of low priority transmission p Different, ω1, ω2 and ω3 are learning parameters, and different services correspond to different learning parameters.

6. The method according to any one of claims 2 to 5, characterized in that When the number of times the preset constraint condition is not satisfied reaches a preset number, the method further includes: The value function is updated and optimized to obtain an optimized value function.

7. The method according to claim 6, characterized in that The updating and optimizing of the value function to obtain an optimized value function includes: According to the maximum values corresponding to the different services before and after the update and optimization, the learning parameters included in the value function are updated and optimized to obtain the optimized value function.

8. The method according to claim 7, characterized in that The updating and optimizing of the learning parameters included in the value function according to the respective maximum values corresponding to the different services before and after the updating and optimization includes: According to the inclusion , update the learning parameter ω contained in the value function i , where r t+1 represents the reward value at time t+1 calculated by the reward function, γ represents the decay factor, Q(a t , s t ) indicates that the current business selects action a before updating and optimizing t The corresponding maximum value, max a Q(a,s t+1 ) indicates the maximum value corresponding to the current business selecting action a at time t+1.

9. The method according to any one of claims 1 to 8, characterized in that The different services include real-time services, delayed services and file transfer services.

10. The method according to any one of claims 1 to 9, characterized in that The preset constraint conditions include that the sum of the delays corresponding to the different services is minimized, and the sum of the bandwidths occupied by the different services on any data transmission link is less than the total bandwidth of the data transmission link.

11. An electronic device, characterized in that: The electronic device comprises: one or more processors, and memory; The memory is coupled to the one or more processors, and is configured to store computer program codes, where the computer program codes include computer instructions. The one or more processors call the computer instructions to enable the electronic device to execute the method according to any one of claims 1 to 10.

12. A chip system, characterized in that: The chip system is applied to an electronic device, and the chip system includes one or more processors, and the one or more processors are used to call computer instructions so that the electronic device executes the method as described in any one of claims 1 to 10.

13. A computer-readable storage medium, characterized in that The computer-readable storage medium comprises instructions, which, when executed on an electronic device, cause the electronic device to perform the method according to any one of claims 1 to 10.

14. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is run on an electronic device, the electronic device is caused to perform the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Resource scheduling method and electronic equipment

    CN116027880A

  • ATSSS strategy determination method and device for access service, equipment and medium

    CN118828959A

  • Service control method and electronic device

    WO2020118498A1

  • Multi-access session management method, apparatus and system

    WO2022143618A1