Data transmission scheduling method and electronic device
By adjusting and optimizing the transmission scheduling strategy, and utilizing value functions and reinforcement learning methods, the data transmission problem in multi-device, multi-path, and multi-service scenarios was solved, achieving efficient and reliable data transmission and ensuring the transmission rate of high-priority services and the smoothness of low-priority services.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HONOR DEVICE CO LTD
- Filing Date
- 2024-12-31
- Publication Date
- 2026-05-29
AI Technical Summary
In data transmission scenarios involving multiple devices, multiple paths, and multiple services, existing technologies struggle to achieve efficient and reliable data transmission scheduling. This is especially true when the number of electronic devices and the amount of data transmission increase, leading to a shortage of spectrum resources and making it impossible to guarantee the transmission rate of high-priority services.
By acquiring the current transmission scheduling strategy, determining whether it meets the preset constraints, adjusting the service allocation strategy that does not meet the constraints, optimizing transmission scheduling using the value function, establishing high-priority and low-priority queues, optimizing the value function by combining reinforcement learning methods, updating the learning parameters, and achieving reasonable transmission bandwidth allocation.
It achieves efficient and reliable data transmission in multi-device, multi-path scenarios, ensuring the transmission rate of high-priority services while optimizing the smoothness of low-priority services, thereby improving the overall efficiency and reliability of data transmission.
Smart Images

Figure CN120434814B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of electronic technology, specifically to a data transmission scheduling method and an electronic device. Background Technology
[0002] With the continuous development of electronic and communication technologies, various electronic devices can interconnect and communicate with each other. In the process of data transmission during the interconnection of electronic devices, the support of different data transmission links is required.
[0003] However, with the increasing number of electronic devices and the increase in data transmission volume, multiple electronic devices can send data in parallel across multiple services and paths. This requires electronic devices to perform reasonable data transmission scheduling to ensure the smooth operation of data transmission services. Summary of the Invention
[0004] This application provides a data transmission scheduling method and an electronic device, which can adjust and allocate reasonable transmission scheduling strategies to achieve efficient and reliable data transmission.
[0005] Firstly, this application provides a data transmission scheduling method, executed by a first electronic device, comprising: obtaining a current transmission scheduling policy; transmitting data according to the current transmission scheduling policy, wherein the current transmission scheduling policy includes the proportion of different services executed by each electronic device allocated to different data transmission links, wherein each electronic device includes electronic devices located in the same cell and executing the data transmission scheduling method, and each electronic device includes the first electronic device; performing a first operation: if the current transmission scheduling policy does not meet preset constraints, determining a first service that does not meet the constraints, wherein 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; transmitting data according to the adjusted transmission scheduling policy, and repeatedly executing the first operation.
[0006] In this implementation, electronic devices located in the same cell and capable of executing the aforementioned data transmission scheduling method can be called controllable devices. Each controllable device receives information broadcast by other electronic devices and determines a transmission scheduling strategy, thus enabling information unification among all controllable devices in the cell and obtaining 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 meets preset constraints. If not, it indicates that the allocation ratio of different services of each electronic device on different data transmission links is mismatched and needs to be adjusted. Then, the first electronic device can identify the first service that least meets the constraints, adjust the transmission scheduling strategy corresponding to the first service (i.e., the proportion of different services allocated on different data transmission links), and then perform data transmission based on the adjusted transmission scheduling strategy. Afterward, the process of determining whether the current transmission scheduling strategy meets the preset constraints can be continuously executed. If the currently executed transmission scheduling strategy does not meet the constraints, the transmission scheduling strategy corresponding to the first service that does not meet the constraints (which may still be the service that did not meet the constraints in the previous iteration, or it may be another service that does not meet the constraints) can be adjusted, thus iterating.
[0007] In this way, in scenarios with multiple devices, multiple services, and multiple paths, electronic devices can collect service information from each electronic device, determine whether preset constraints are met, and, in the case of services that do not meet the constraints, adjust and allocate reasonable transmission scheduling strategies for the service based on service requirements and link quality to achieve efficient and reliable data transmission.
[0008] In conjunction with the first aspect, in some implementations of the first aspect, the above-mentioned adjustment of the transmission scheduling strategy corresponding to the first service to obtain the adjusted transmission scheduling strategy includes: adjusting the transmission scheduling strategy corresponding to the first service 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 on different data transmission links.
[0009] The first electronic device can adjust the transmission scheduling strategy corresponding to the first service based on the value function. The value function can be expressed as Q(a=x,s), where a represents the action value of the first service in 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 value corresponding to these different values. Therefore, we can understand that we can select the value corresponding to the maximum value as the adjusted proportion, that is, the adjusted transmission scheduling strategy.
[0010] In conjunction with the first aspect, in some implementations of the first aspect, the above-mentioned adjustment of the transmission scheduling strategy corresponding to the first service based on the value function to obtain the adjusted transmission scheduling strategy includes: calculating the value corresponding to the different proportions of the first service allocated on different data transmission links based on the value function; for each first data transmission link, if the value corresponding to the first proportion allocated to the first service is the largest, then the first proportion is used as the adjusted proportion of the first service allocated 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; and using the adjusted proportion of the first service on different data transmission links as the adjusted transmission scheduling strategy.
[0011] The first electronic device can calculate the value corresponding to different proportions of the first service allocated on different data transmission links. For example, when the first service is allocated to a WLAN link, the values corresponding to different proportions (e.g., [0, 1 / 3, 2 / 3, 1]) are calculated; when allocated to a P2P link, the values corresponding to different proportions (e.g., [0, 1 / 3, 2 / 3, 1]) are calculated; and when allocated to a Bluetooth link, the values corresponding to different proportions (e.g., [0, 1 / 3, 2 / 3, 1]) are calculated. Then, for each link, the first proportion corresponding to the highest value is selected, and this first proportion can be used as the adjusted proportion of the first service on that link. Therefore, the first electronic device can adjust the allocated transmission scheduling strategy in a timely manner to achieve efficient transmission.
[0012] In conjunction with the first aspect, in some implementations of the first aspect, the first proportion includes the proportion of high-priority transmission and the proportion of low-priority transmission.
[0013] Since data transmission typically involves high-priority and low-priority transmissions, to ensure that high-priority data is sent as early as possible and to avoid significant delays, the first electronic device can establish high-priority and low-priority queues on each link. Data on that link is placed into the two priority queues based on its transmission priority. Therefore, when formulating a transmission scheduling strategy, it is necessary to determine the transmission priority, that is, to determine the proportion of high-priority transmission and the proportion of low-priority transmission. The sum of the proportions of high-priority and low-priority transmission is the first proportion. This allows the high-priority and low-priority queues to transmit data in an orderly manner.
[0014] In conjunction with the first aspect, in some implementations of the first aspect, the aforementioned value function includes... A relational function, where x represents the different proportions chosen, and B m B represents the transmission bandwidth required for the first service. p This indicates the current transmission rate of the first data transmission link. This 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 This represents the priority delay, where τ corresponds to the proportion of high-priority transmissions as x represents the total transmission rate. p Let x represent the percentage of low-priority transmissions corresponding to τ. p Different services have different learning parameters, ω1, ω2 and ω3.
[0015] Based on the aforementioned value function, the first electronic device can better determine the allocation ratio of each service on different data transmission links, and implement corresponding adaptive transmission scheduling strategies to achieve efficient and reliable data transmission.
[0016] In conjunction with the first aspect, in some implementations of the first aspect, when the number of times the preset constraints are not met reaches a preset number, the above method also includes: updating and optimizing the value function to obtain an optimized value function.
[0017] Since the above process is based on adjusting the proportion of each service in the data transmission link according to 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 a lot (for example, the preset number is 1000), it means that the given value function may no longer be suitable and needs to be updated and optimized to reduce the number of cases where the constraints are not met and further improve the reliability of the data transmission process.
[0018] In conjunction with the first aspect, in some implementations of the first aspect, the above-mentioned updating and optimizing of the value function to obtain an optimized value function includes: updating and optimizing the learning parameters contained in the value function according to the maximum value corresponding to different businesses before and after the update and optimization, to obtain an optimized value function.
[0019] Since the value function usually includes learning parameters (e.g., ω1, ω2, and ω3), updating and optimizing the value function is the process of updating ω1, ω2, and ω3. Since different services correspond to different ω1, ω2, and ω3, it is necessary to update ω1, ω2, and ω3 for each service separately.
[0020] In conjunction with the first aspect, in some implementations of the first aspect, the learning parameters included in the value function are updated and optimized based on the maximum value corresponding to different businesses before and after the update and optimization, including:
[0021] According to the inclusion The relational expression is used to update the learning parameter ω contained in the value function. i , where r t+1Q(a) represents the reward value at time t+1 calculated using the reward function, γ represents the decay factor, and Q(a) represents the reward value at time t+1. t s t This indicates that the current business should select action a before updating and optimizing. t The corresponding maximum value, max a Q(a, s) t+1 ) represents the maximum value corresponding to the current business choosing action a at time t+1.
[0022] In each round of adjusting the transmission scheduling strategy, the first electronic device can record the current service status, the selected proportion (action), and the maximum value. Therefore, it can directly obtain the maximum value at time t as Q(a). t s t ), Q(a, s t+1 The value of choosing action a at time t+1 can be calculated using the expression for Q(a=x,s) before optimization, and then maxed out. a Q(a, s) t+1 The maximum value can be selected. γ represents the attenuation factor, typically chosen as 0.9. Based on the above update and optimization method, the first electronic device can optimize the value function in a timely manner, enabling better formulation of adaptive transmission scheduling strategies and achieving efficient and reliable data transmission.
[0023] In conjunction with the first aspect, in some implementations of the first aspect, different services include real-time services, time-delay services, and file transfer services.
[0024] Since the types of services provided by electronic devices vary, they can be categorized according to their bandwidth and latency requirements into real-time services, time-delay services, and file transfer services. Real-time services typically have constraints on both bandwidth and latency. Time-delay services usually have requirements on the average data transmission latency but low bandwidth requirements. File transfer services have bandwidth requirements but low latency requirements. Therefore, the first electronic device can allocate and schedule data packets for service transmission based on its own device attributes and the transmission requirements of its services.
[0025] In conjunction with the first aspect, in some implementations of the first aspect, the aforementioned preset constraints include minimizing the sum of delays corresponding to different services, and ensuring that the total bandwidth occupied by different services on any data transmission link is less than the total bandwidth of the data transmission link.
[0026] Since different services have different bandwidth and latency requirements, the first electronic device can determine corresponding constraints based on these different requirements. These constraints must ensure that the sum of the latencies corresponding to different services is minimized, and that the total bandwidth occupied by 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 accordingly.
[0027] Secondly, this application provides an apparatus included in an electronic device, which has the function of implementing the behaviors of the electronic device in the first aspect and possible implementations thereof. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above-described functions. For example, a receiving module or unit, a processing module or unit, etc.
[0028] Thirdly, this application provides an electronic device, which includes: 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, the computer program code including computer instructions, which the one or more processors call to cause the electronic device to perform any one of the methods of the first aspect of the technical solution.
[0030] Fourthly, this application provides a chip system applied to an electronic device, the chip system including one or more processors, the one or more processors being configured to invoke computer instructions to cause the electronic device to perform the methods in the first aspect and any possible implementation thereof.
[0031] Optionally, the chip system also includes a memory, which is connected to the processor via circuitry or wires.
[0032] Alternatively, the chip system may also include a communication interface.
[0033] Fifthly, this application provides a computer-readable storage medium including instructions that, when executed on an electronic device, cause the electronic device to perform any one of the methods in the first aspect of the technical solution.
[0034] Sixthly, this application provides a computer program product, which includes computer program code that, when executed on an electronic device, causes the electronic device to perform any one of the methods in the first aspect of the technical solution. Attached Figure Description
[0035] Figure 1 This is a schematic diagram illustrating an application scenario of an interconnection service provided in an embodiment of this application;
[0036] Figure 2 This is a schematic diagram illustrating an application scenario of multi-service parallel data transmission provided in an embodiment of this application;
[0037] Figure 3 This is a schematic diagram of an example OSI reference model provided in an embodiment of this application;
[0038] Figure 4 This is a schematic diagram illustrating an application scenario of a data transmission scheduling method provided in an embodiment of this application;
[0039] Figure 5 This is a schematic diagram of a processing module implementing a data transmission scheduling method in an electronic device according to an embodiment of this application;
[0040] Figure 6 This is a schematic diagram illustrating data interaction between a first electronic device and a second electronic device, provided in an embodiment of this application.
[0041] Figure 7 This is a flowchart illustrating an example of a data transmission scheduling method provided in an embodiment of this application;
[0042] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;
[0043] Figure 9 This is a software structure block diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0044] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in this text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.
[0045] Hereinafter, 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 number of technical features indicated. Thus, a feature defined as "first," "second," or "third" may explicitly or implicitly include one or more of that feature.
[0046] With the continuous advancement of electronic and communication technologies, interconnectivity between various electronic devices has become a development trend. Internet of Things (IoT) devices such as mobile phones, tablets, laptops, large-screen devices, and watches serve as connections between users and information, supporting complex and diverse services and applications. Interconnectivity relies on various wireless communication technologies, such as peer-to-peer (P2P), Wi-Fi, and Bluetooth. However, with the increasing number of electronic devices, the growing amount of data transmitted between them, and the increasing complexity of various service applications, interconnectivity demands large data volumes, high bandwidth requirements, low latency, and high stability. Multiple electronic devices have implemented parallel data transmission schemes with multiple services and paths, necessitating reasonable transmission control mechanisms and the efficient use of data transmission link resources to ensure smooth data transmission.
[0047] Interoperability services can be applied to mobile phones, tablets, personal computers (PCs), large-screen devices, and other smart electronic devices. For example, such as... Figure 1 The diagram illustrates an application scenario for interconnectivity services, where multiple devices requiring wireless data transmission and reception exist simultaneously, including mobile phones, large-screen devices, tablets, laptops, and wireless routers. Here, it's assumed that the mobile phone can establish a 5G P2P link and a 5G wireless local area network (WLAN) link to project its screen onto the large-screen device. During the projection process, other electronic devices can also transmit data with the wireless router. Figure 1 In this context, the process of a mobile phone sending projection data to a large-screen device via a 5G P2P link and a 5G WLAN link constitutes a multi-path parallel data transmission scenario. For scenarios involving multiple services sending data in parallel, please refer to... Figure 2 As can be seen, the laptop can communicate and connect with both the mobile phone and the mouse simultaneously. The mouse can perform super keyboard and mouse services with the laptop, and the mobile phone can perform device collaboration services with the laptop. In other words, the laptop can send data in parallel for multiple services.
[0048] exist Figure 1In this context, we can divide the existing electronic devices into two categories: one is controllable devices within the community, which are electronic devices capable of executing the data transmission scheduling method described in this application, such as... Figure 1 The mobile phone in the middle, that is to say Figure 1 The mobile phone in the application can control the transmission scheduling strategy during data transmission based on the data transmission scheduling method in the embodiments of this application. Another type is local interference devices (including uncontrollable devices in the local cell), i.e., electronic devices that do not execute (or are not authorized to execute) the data transmission scheduling method in the embodiments of this application, such as... Figure 1 Electronic devices such as tablets, laptops, and wireless routers cannot control the transmission scheduling strategy during data transmission. Corresponding to the category of electronic device, we can... Figure 1 The data links existing in the system are divided into three categories. One category is controllable links, which are data links where the data sending end is a controllable device in this cell, such as... Figure 1 In 5G P2P links where mobile phones send data to large screens and 5G WLAN links where mobile phones send data to wireless routers, the mobile phone can control the transmission scheduling strategy corresponding to the data to be sent. Another type is the sensed link, which is a data link corresponding to controllable devices within the cell, such as... Figure 1 In a 5G WLAN link where a wireless router sends data to a mobile phone, 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, where the data transceiver is located on a data link corresponding to interfering devices within the same cell, such as... Figure 1 This includes data links between tablets and wireless routers, and data links between laptops and wireless routers. Here, the set of controllable links can be denoted as L. C The set of perceptible links is denoted as L. S Then the total set of controllable and perceptible links is
[0049] against Figure 1The application scenarios shown illustrate several key aspects. Firstly, short-range wireless communication technologies primarily operate in the 2.4GHz and 5GHz bands. Data transmission services on each channel adhere to the IEEE 802.11 standard's carrier sense multiple access with collision avoidance (CSMA / DA) mechanism. Some distributed spectrum access technologies (such as Wi-Fi and Bluetooth) allow each electronic device to independently perceive its surroundings and make access decisions. This approach works well when the number of devices is small and the application scenario is relatively simple. However, in scenarios with a large number of electronic devices and high data transmission volumes, spectrum resources become increasingly scarce due to limited resources. Since technologies like Wi-Fi and Bluetooth share spectrum, these resources become even more strained. If multiple data transmission links do not implement reasonable interference avoidance, data transmission services will collide at the air interface, causing high-priority services to be deferred to low-priority services, ultimately resulting in a failure to guarantee the transmission rate of high-priority services. On the other hand, in interconnection scenarios, to improve transmission rates, some data transmission services may require simultaneous transmission via multiple data transmission links. This can be achieved by establishing multiple TCP substreams for multipath transmission using a multipath transmission protocol (MPTCP), and employing congestion mitigation schemes such as cubic, bbr (bottleneck bandwidth and RTT), and bic (binary increase congestion) to retroactively probe transmission bandwidth. When packet loss or increased round-trip time delay occurs, the transmission rate is adjusted. However, this technology has poor real-time performance and is unsuitable for interconnection scenarios with high real-time requirements. Therefore, 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 multi-service multipath transmission scheduling schemes.
[0050] In view of this, embodiments of this application provide a data transmission scheduling method. In concurrent scenarios involving multiple devices, multiple paths, and multiple services, electronic devices can collect service information from multiple electronic devices, measure the transmission rate on the data transmission link, and allocate reasonable transmission scheduling strategies and transmission bandwidth to the services of each controllable device based on service requirements and link quality. This enables coordinated transmission of high-priority and low-priority services, ensuring a smooth experience for high-priority services while also guaranteeing the smooth operation of low-priority services, thus achieving efficient and reliable data transmission. It is understood that the data transmission scheduling method provided in this application can be applied to electronic devices such as mobile phones, tablets, in-vehicle devices, augmented reality (AR) / virtual reality (VR) devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, and personal digital assistants (PDAs) that can achieve interconnection services or require other high-throughput, short-range wireless transmission services. This application does not impose any limitations on the specific type of electronic device.
[0051] The data transmission scheduling method provided in this application can be applied to the transport layer of the Open Systems Interconnection (OSI) reference model. For example, as shown... 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 mainly responsible for data representation, security, and compression; the Session Layer is mainly 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 provides for establishing, maintaining, and terminating network connections, is responsible for logical address addressing, and implements path selection between different networks, with main protocols including IP (IPv4 and IPv6); the Data Link Layer is mainly responsible for establishing logical connections, performing hardware address addressing, and error checking; and the Physical Layer is mainly responsible for establishing, maintaining, and disconnecting physical connections, providing data paths for data terminal devices and transmitting data. At the Transport Layer, data transmission scheduling methods can be used to provide transmission scheduling strategies for electronic devices to transmit data.
[0052] In concurrent scenarios with multiple paths and services, the services running in the application layer of a Wi-Fi network can be categorized into three types based on their bandwidth and latency requirements: First, real-time services. These services generate data to be transmitted at fixed intervals, imposing constraints on both bandwidth and latency. For example, screen mirroring typically generates a video frame every 16 milliseconds. To ensure real-time transmission, this service usually has latency requirements. Therefore, when scheduling Quality of Service (QoS) transmission, sufficient bandwidth should be provided, and this type of data should be prioritized. Second, latency-sensitive services. These services generate data to be transmitted randomly, requiring a certain average transmission latency but not high bandwidth. For example, in reverse control services, the transmission of reverse control message frames. Therefore, this type of data should be prioritized during QoS transmission scheduling. Third, file transfer services. These services specify the content and size of the data to be transmitted when initiated, thus requiring bandwidth but not high latency. Therefore, the embodiments of this application can utilize reinforcement learning methods to collect information about each service during the data transmission process through continuous data transmission, and allocate and schedule service data packets according to their own device attributes and the transmission requirements of their own services.
[0053] Based on the above classification of service types, in scenarios where multiple electronic devices transmit data across multiple paths and services, each electronic device needs to determine how to allocate and transmit multiple services across multiple paths. For example, Figure 4 This is a schematic diagram illustrating an application scenario of a data transmission scheduling method provided in this application. Assume two electronic devices (a tablet and a mobile phone) are simultaneously transmitting data. There are two data transmission links (P2P and WLAN links). The tablet is running a video transmission service, while the mobile phone is running a screen mirroring service and a file transfer service. Since screen mirroring has requirements for both bandwidth and latency, it must be executed first. File transfer, which has lower latency requirements, can be executed later. Therefore, after multiple electronic devices adopt the data transmission scheduling method provided in this application, it is possible to achieve the desired data transmission schedule. Figure 4 The example shown illustrates the transmission of data for different services. For instance, screen mirroring requires sending four data packets: three packets are sent first on the P2P link, and one packet is sent on the WLAN link. Video transmission requires sending three data packets: two packets are sent on the WLAN link, and one packet is sent on the P2P link. File transfer requires sending one data packet last on the WLAN link.
[0054] To implement the data transmission scheduling method of the embodiments of this application, such as Figure 5As shown, multiple processing modules (or systems) can be set up on the electronic device at the data sending end, including but not limited to monitoring systems, broadcasting and acquisition systems, reinforcement learning scheduling algorithm modules, and transmission modules.
[0055] The monitoring system can collect information on changes in various services within electronic devices, including: information on the activation of new services (e.g., when an electronic device activates a new service, the required latency, bandwidth, and initial link selection (e.g., 2.4G WLAN, 5G WLAN, P2P, Bluetooth link)); information on the closure of old services (e.g., when an electronic device closes an old service, the bandwidth released after closure); information on changes in service transmission requirements (e.g., changes in the required latency and bandwidth of a service); and information on changes in service quality (SQS) (e.g., when the transmission latency of a service exceeds constraints, possibly due to data transmission link congestion). The broadcasting and acquisition system can broadcast the information collected by the monitoring system to surrounding controllable devices. When these controllable devices receive information broadcast by other electronic devices, information unification can be achieved among all controllable devices in the community. This allows all controllable devices to execute the aforementioned data transmission scheduling method, resulting in a unified transmission scheduling strategy and reducing transmission scheduling between electronic devices. The reinforcement learning scheduling algorithm module can perform reinforcement learning and analysis based on information broadcast by other electronic devices received by the broadcasting and acquisition system, as well as information collected by the monitoring system, to provide transmission scheduling strategies for the transmission module. The transmission module can execute the transmission scheduling strategy output by the reinforcement learning scheduling algorithm module to send data packets. Simultaneously, the transmission module can also receive latency information and other relevant information from the data receiving electronic devices, and pass this information to the reinforcement learning scheduling algorithm module for the next round of learning and 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 collects the information data required for the reinforcement learning process from the broadcast and acquisition system and the monitoring system. The learning and training module contains the learning algorithm, which can learn and train based on the collected information data to formulate a transmission scheduling strategy suitable for the current environment. With learning and training modules deployed in all controllable devices within the cell, a unified transmission scheduling strategy can be obtained, thereby achieving coordinated and unified scheduling. The execution module interprets the transmission scheduling strategy and guides the transmission modules to send data.
[0057] based on Figure 5 The multiple processing modules shown are briefly described below, along with the overall transmission process in interconnection services. Figure 6As shown, 1. The transmission module in the data sending electronic device (referred to as the first electronic device) sends data (or data packets) to the data receiving electronic device (referred to as the second electronic device). 2. After receiving the data, the second electronic device can report the received data size, latency information, etc., 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 the changes in various services in the electronic devices, 5. the collected information is broadcast by the broadcasting and acquisition system, 6. the broadcasting and acquisition system can also receive information broadcast 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 broadcasting and acquisition 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 the following embodiment), and a transmission scheduling strategy that conforms to the current environment is formulated. 10. the execution module obtains the current transmission scheduling strategy, 11. and guides the transmission module 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 in this application embodiment will be described in detail below. First, we will introduce the information set collected by the information collection and recording module. Since the first electronic device needs to schedule and allocate multiple services on multiple paths, it needs 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 latency information.
[0059] The service information can include details such as the service type, bandwidth constraints, and latency constraints for each service. Bandwidth and latency constraints can be defined as the specific conditions for each service. For example, suppose the set of controllable devices in this cell is N. C The set of uncontrollable devices is denoted as N. U At time t, there are N controllable devices, and these N controllable devices initiate a total of M services. These M services are as follows:
[0060] 1. N h An electronic device initiated M h For a real-time service, the latency requirement can be expressed as: Bandwidth requirements can be expressed as For example, a 24-frame 1080P screen mirroring service with a latency requirement of less than 22ms and a bandwidth requirement of greater than 6Mbit / s can be described as [real-time service, 22ms, 6M].
[0061] 2. Nt An electronic device initiated M t For a time-delayed service, the latency requirement can be expressed as: Bandwidth requirements can be expressed as For example, for keyboard and mouse services, each service packet is less than 1500B (bytes), its latency requirement is less than 12ms, and the bandwidth requirement is not high. The corresponding service information can be [latency-sensitive service, 12ms, 0.5M], where 0.5M is the preset minimum reserved bandwidth.
[0062] 3. N f An electronic device initiated M f For a file transfer service, the latency requirement can be expressed as: Bandwidth requirements can be expressed as For example, if an 80MB file should be sent within 50 seconds, then its bandwidth requirement is 12.8Mbit / s. If the latency requirement is not high, 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] Path information can include estimations of the current data transmission link's capacity provided by a Quality of Experience (QoE) detection module (not shown in the diagram). This includes the data transmission link between one electronic device and another, as well as the maximum bandwidth, service latency, service priority, and actual latency currently available for that link. For example, electronic device A and electronic device B may have a P2P link, a WLAN link, and a Bluetooth link simultaneously. The P2P link offers a maximum bandwidth of 80 Mbps and a service latency of 100 ms, while the WLAN link offers a maximum bandwidth of 100 Mbps and a service latency of 70 ms. The environmental jitter latencies for the P2P link, WLAN link, and Bluetooth link are [15 ms, 15 ms, 15 ms], respectively. As another example, service 1 between electronic device A and electronic device B is currently set to high priority and is transmitted first via the P2P link, with an actual latency of τ = 134 ms.
[0065] After the information collection and recording module has collected the above information data, the learning and training module can execute the following reinforcement learning process:
[0066] We categorize the aforementioned data transmission scheduling problem into the following constraint problem: since the real-time and time-delay services have latency requirements, we can minimize the sum of the latencies of these two services; the latency of the file transfer service only needs to be less than the timeout limit. Furthermore, since the real-time, time-delay, and file transfer services need to transmit data on P2P links, WLAN links, and Bluetooth links (assuming these are the three links), the total bandwidth occupied by the data transmitted on the P2P link should be less than the total bandwidth of the P2P link; the total bandwidth occupied by the data transmitted on the WLAN link should be less than the total bandwidth of the WLAN link; and the total bandwidth occupied by the data transmitted on the Bluetooth link should be less than the total bandwidth of the Bluetooth link.
[0067] Therefore, the constraint can be expressed as:
[0068]
[0069] in, This represents the actual latency of real-time services. This represents the actual latency of time-delayed services. This represents the actual latency of the file transfer service. When data packets are sent redundantly, the latency of the first arriving data packet is selected as the actual latency. This indicates the actual bandwidth usage of real-time services. This indicates the actual bandwidth usage of latency-sensitive services. This indicates the actual bandwidth usage of the file transfer service. (Indicator factor) represents real-time service m h The proportion allocated to P2P links, Indicates real-time service m h The percentage allocated to WLAN links, Indicates real-time service m h The percentage allocated to Bluetooth links, Indicates time-delayed services m t The proportion allocated to P2P links, Indicates time-delayed services m t The percentage allocated to WLAN links, Indicates time-delayed services m t The percentage allocated to Bluetooth links, Indicates file transfer service m f The proportion allocated to P2P links, Indicates file transfer service m f The percentage allocated to WLAN links, Indicates file transfer service m f The percentage allocated to Bluetooth links. B P2PB represents the total bandwidth of the P2P link. WLAN B represents the total bandwidth of the WLAN link. BT This represents the total bandwidth of the Bluetooth link. It can be understood that each of the above I values must meet the following conditions: If it exists or or A value less than 1 indicates that not all data packets corresponding to the service have been sent, and the latency in this case can be infinite (inf). It can also be understood that the various B values in Equation 1 can be obtained using the information collected above.
[0070] by For example, its value should be a discrete fraction between [0, 1], such as [1, 1 / 2, 1 / 3, 1 / 4, 1 / 5]. For instance, if... This indicates that the real-time service m h All data packets are sent on the P2P link, if This indicates that the real-time service m h One in every five data packets is sent on the P2P link. This indicates a real-time service m h No data packets are being sent on the P2P link. This is understandable, if there were... In this case, it means that a data packet is redundantly transmitted on multiple data links, such as a data packet being transmitted on both a P2P link and a WLAN link.
[0071] Under the constraints of Equation 1, the data transmission scheduling problem can be further transformed into a decision problem, which can be decomposed into two decision steps: Decision Step 1: Decision on the data transmission path; Decision Step 2: Decision on the data transmission priority. Specifically, the first electronic device needs to determine the proportion of data packets for each service transmitted on each link, and the transmission priority of data packets for each service. Based on the analysis of the parameters included in Equation 1, Decision Step 1 can be determined by solving for each indicator factor I. 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 that link can be 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 send in the high-priority queue, the low-priority queue is then sent.
[0072] In summary, the reinforcement learning quadruple (state, action, state transition function, reward) required by the reinforcement learning algorithm module can be constructed. Here, state(s) represents the information collected by the aforementioned information collection and recording module, namely the business information, path information, and actual business latency information described above, and is represented by the various B values in Equation 1. Action(a) represents the proportion of data packets sent for each business on each link, i.e., representing the various indicator factors I in Equation 1. Here, each business can construct a high-priority transmission proportion and a low-priority transmission proportion on each link. For the transmission situation of a business on one link, the sum of the high-priority transmission proportion and the low-priority transmission proportion should be the total proportion I. For example, taking real-time business m... h Taking transmission on a P2P link as an example, let's assume... For high-priority sending ratio, If the proportion of low-priority transmissions is [not specified], then To reduce computational complexity, one can... and The value is set to a fixed discrete domain, for example, the value can be [0, 1 / 3, 2 / 3, 1], etc., when... In this case, the first electronic device can normalize both, making For example, suppose At that time, after normalization
[0073] The state transition function depends on the overall transmission environment of wireless communication, and this factor is not considered in the embodiments of this application.
[0074] The reward is calculated using a reward function. in It can be understood that the action (a) in the above reinforcement learning quadruple can represent the transmission scheduling policy being executed. Therefore, to update the transmission scheduling policy, it is necessary to update the I values (including P values and Q values) in action (a).
[0075] Based on the constraints and reward function in Equation 1 above, as follows: Figure 7 As shown, the data transmission scheduling process performed by the first electronic device may include the following steps:
[0076] S101, Obtain the current transmission scheduling policy and send data to the second electronic device according to the current transmission scheduling policy.
[0077] The current transmission scheduling strategy includes the proportion of different services performed by various electronic devices allocated to different data transmission links, namely, the above-mentioned... as well as The values of I, in the initial state, can be the current transmission scheduling policy, and each of the above I values can be a preset initial value. 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, if the current transmission scheduling strategy does not meet the constraints, determine the first service that does not meet the constraints.
[0079] During the execution of the current transmission scheduling strategy, the first electronic device continuously collects information on each service from various electronic devices, including but not limited to actual latency and bandwidth usage. Based on this collected information, it can determine whether the aforementioned constraint condition (Equation 1) is satisfied. If the constraint condition is not satisfied, the first service that does not meet the constraint is identified. Here, the first electronic device can select the 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 of this first service.
[0080] S103, adjust the transmission scheduling strategy corresponding to the first service based on the value function.
[0081] If the first service does not meet the constraints, it indicates that its corresponding transmission scheduling strategy may be incompatible, meaning the data allocated on each data transmission link is incompatible, requiring adjustment of the included I values. Since the I values include the proportion of high-priority transmissions and the proportion of low-priority transmissions, this means adjusting each proportion of high-priority and low-priority transmissions. For example, assume the first service is a real-time service m. h Then the first electronic device needs to be adjusted accordingly. and The value, that is, adjusting the corresponding and The value of .
[0082] The first electronic device can adjust various P and Q values based on a value function, which represents the value of each action, i.e., the value corresponding to selecting a certain action (a). In one implementable manner, the value function can be expressed as Q(a = x, s), where s represents the state (equivalent to the state in the above four-tuple), a represents the action value of selecting the data transmission link for the current service, including the proportion of high-priority transmission and low-priority transmission corresponding to the selected link, and x represents different values of a, such as the discrete domain [0, 1 / 3, 2 / 3, 1] mentioned above. For example, in real-time service m h When selecting a WLAN link, the action value of 'a' is... and The value function will calculate a as Given the values [0, 1 / 3, 2 / 3, 1], what is the value (or score) corresponding to each value, and how is 'a' calculated? Given the values [0, 1 / 3, 2 / 3, 1], the value (or score) corresponding to each value is calculated, i.e., the value corresponding to each action (a). After obtaining the values (or scores), the value of 'a' corresponding to the maximum value is selected using the π(a = xls) policy function, which can then be used as... and The adjustment value. This is understandable. and The adjustment process for the value is similar to the process described above, and will not be repeated here.
[0083] In some examples, Here B m B represents the transmission bandwidth (or rate) required for the current service (such as the first service identified above). p This indicates the current transmission rate of the selected data transmission link (i.e., the actual transmission rate achieved during current data transmission). This indicates the maximum transmission rate provided by the selected data transmission link. This indicates the bandwidth used by other services on the selected data transmission link. (B) m B p , The value can be collected through the information collection and recording module mentioned above. τ p The delay represents the priority, with high-priority queues and low-priority queues on the link corresponding to different priority delays. Specifically, when calculating the low-priority delay, τ... p =B po / B p B po This represents the traffic volume on the selected data transmission link; if calculating high-priority delay, then τ p =0. ω1, ω2 and ω3 are learning parameters (the update method can be found in the description below). They can correspond to initial values. The values of ω1, ω2 and ω3 are different for different services. For example, real-time services correspond to a set of ω1, ω2 and ω3, time-delay services correspond to a set of ω1, ω2 and ω3, and file transfer services correspond to a set of ω1, ω2 and ω3.
[0084] To facilitate understanding, the following example illustrates the process of adjusting various P and Q values based on the value function. For instance, suppose the first service is a real-time service m. h , where a is When the value function is used to calculate the values of 'a' taking the values [0, 1 / 3, 2 / 3, 1], the corresponding values are [Q1, Q2, Q3, Q4]. Among these four values, the highest value is Q2, and the value of 'a' corresponding to Q2 is 1 / 3. Therefore, the value of 'a' is determined. It is 1 / 3.
[0085] In a When the value function is used to calculate the values of 'a' taking the values [0, 1 / 3, 2 / 3, 1], the corresponding values are [Q5, Q6, Q7, Q8]. Among these four values, the highest value is Q5, and the value of 'a' corresponding to Q5 is 0. Therefore, the value of 'a' is determined. It is 0.
[0086] In a When the value function is used to calculate the values of 'a' taking the values [0, 1 / 3, 2 / 3, 1], the corresponding values are [Q9, Q10, Q11, Q12]. Among these four values, the highest value is Q11, and the value of 'a' corresponding to Q11 is 2 / 3. Therefore, the value of 'a' is determined. It is 2 / 3.
[0087] In a When the value function is used to calculate the values of 'a' taking the values [0, 1 / 3, 2 / 3, 1], the corresponding values are [Q13, Q14, Q15, Q16]. Among these four values, the highest value is Q14, and the value of 'a' corresponding to Q14 is 1 / 3. Therefore, the value of 'a' is determined. It is 1 / 3.
[0088] In a When the value function is used to calculate the values of 'a' taking the values [0, 1 / 3, 2 / 3, 1], the corresponding values are [Q17, Q18, Q19, Q20]. Among these four values, the highest value is Q17, and the value of 'a' corresponding to Q17 is 0. Therefore, the value of 'a' is determined. It is 0.
[0089] In a When the value function is used to calculate the values of 'a' taking the values [0, 1 / 3, 2 / 3, 1], the corresponding values are [Q21, Q22, Q23, Q24]. Among these four values, the highest value is Q21, and the value of 'a' corresponding to Q21 is 0. Therefore, the value of 'a' is determined. It is 0.
[0090] Therefore, the adjusted and The value of is obtained, which is the adjusted transmission scheduling strategy. When the first electronic device subsequently performs data transmission of the first service, it can execute the data transmission based on the adjusted transmission scheduling strategy.
[0091] S104, send data to the second electronic device according to the adjusted transmission scheduling strategy, and repeat S102-S103.
[0092] In other words, after the first electronic device adjusts the transmission scheduling strategy, the data transmission process can continue to execute the above S102-S103. If the currently executed transmission scheduling strategy does not meet the constraints, the transmission scheduling strategy corresponding to the first service that does not meet the constraints (which may still be the service that did not meet the constraints in the previous instance, or it may be another service that does not meet the constraints) will continue to be adjusted based on the value function. This adjustment process is similar to the above and will not be described in detail here.
[0093] It is understandable that if the adjusted transmission scheduling strategy continues to meet the above constraints, the first electronic device can freeze the S102-S103 process and continuously monitor whether the constraints are met.
[0094] It is also understandable that the first electronic device can record information such as the status, actions, maximum value, and rewards 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 time for a duration of N, for example, N is 1 minute, and record information such as the actual latency of each service within this duration of N. After the duration of N, S102-S103 is executed again in a loop to reduce the processing power consumption caused by frequently executing S102-S103.
[0096] S105: When the number of times the constraint is not met reaches the preset number, the value function is updated and optimized, and the process returns to execute 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 a lot (for example, the preset number of times is 1000), it means that the given value function may no longer be suitable and needs to be updated and optimized.
[0098] As can be seen from the above expression for Q(a=x,s), ω1, ω2 and ω3 are learning parameters. Therefore, updating and optimizing the value function is the process of updating ω1, ω2 and ω3. Since ω1, ω2 and ω3 are different for different businesses, it is necessary to update ω1, ω2 and ω3 for different businesses separately.
[0099] In some implementations, ω i It can be done The update is performed in the following manner, where r t+1Let γ be the reward value at time t+1 calculated using the reward function r, and let γ represent the decay factor, typically chosen as 0.9. t s t () indicates selecting action a before the update and optimization. t The corresponding value, since the state, action, and maximum value obtained in each round of adjustment are recorded, can be directly obtained as the maximum value at time t as Q(a). t s t ), Q(a, s t+1 This represents the value of choosing 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 max... a Q(a, s) t+1 The maximum value can be taken. Also, since action a occurs at time t... t There are separate options for each. and Therefore, the first electronic device can perform action a t Select in sequence and At each time, the corresponding maximum value is obtained, and ω is updated in multiple rounds of iteration. i It is understandable that in action a... t choose At that time, Q(a, s) t+1 The action 'a' in the sequence is also selected accordingly. In action a t choose At that time, Q(a, s) t+1 The action 'a' in the sequence is also selected accordingly. This process continues, ensuring that each iteration involves selecting the same action. It can also be understood that ω1, ω2, and ω3 for different business functions can all be achieved through the aforementioned ω... i The relational expressions are updated and optimized.
[0100] For example, to update real-time service m h Taking the corresponding ω1 parameter as an example, before the update, there were multiple sets of (a) t s t The maximum value Q can be obtained from the electronic device's storage, assuming the action prior to the update is selected first. Calculate the next time step respectively and Choose the maximum value among them. Then calculate This updates ω1 once. If any actions were selected before the update... Then continue to select the action before updating. Calculate the next time step based on the ω1 updated in the previous round. and Choose the maximum value among them. The same method described above is used to continue the update calculation for ω1 obtained in the previous round, and so on for multiple rounds of iterative updates to ω1.
[0101] After updating the expression of the value function Q(a=x,s), the first electronic device can continue to return to execute S102-S103 to re-determine whether the above constraints are satisfied, and so on iteratively.
[0102] In scenarios involving multiple devices, multiple services, and multiple paths, the aforementioned data transmission scheduling method allows electronic devices to collect service information from each other, determine whether preset constraints are met, and adjust and allocate reasonable transmission scheduling strategies for services that do not meet the constraints, based on service requirements and link quality, and coordinate data transmission according to priority to achieve efficient and reliable data transmission.
[0103] The foregoing has detailed examples of the data transmission scheduling method provided in the embodiments of this application. It is understood that, in order to achieve the above functions, the electronic device includes hardware and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware 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 conjunction with the embodiments, but such implementation should not be considered beyond the scope of this application.
[0104] This application embodiment can divide the electronic device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, such as a detection unit, a processing unit, a display unit, etc., or two or more functions can be integrated into one module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0105] It should be noted that all relevant content of each step involved in the above method embodiments can be referenced from 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-described data transmission scheduling method, and therefore can achieve the same effect as the above-described implementation method.
[0107] When using integrated units, the electronic device may further include a processing module, a storage module, and a communication module. The processing module is used to control and manage the operation of the electronic device. The storage module supports the execution of stored program code and data. The communication module supports communication between the electronic device and other devices.
[0108] The processing module can be a processor or a controller. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can 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, etc. The storage module can be a memory. The communication module can specifically be a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip, or other devices that interact with other electronic devices.
[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 can be a device having... Figure 8 The device with the structure shown.
[0110] For example, Figure 8 This is a schematic diagram of the structure of an electronic device 100 provided in an embodiment of this 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, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identity module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity 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] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, audio digital signal processor (ADSP), baseband processor, and / or neural network processing unit (NPU), etc. The different processing units may be independent devices or integrated into one or more processors.
[0112] The controller can be the nerve center and command center of the electronic device 100. The controller can generate operation control signals according to the instruction opcode and timing signals to complete the control of fetching and executing instructions.
[0113] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0114] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0115] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. 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 antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via 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, enabling electronic device 100 to communicate with networks 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 technologies, etc. GNSS can 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 satellite-based augmentation systems (SBAS).
[0117] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of electronic device 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phonebook, etc.). Furthermore, internal memory 121 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0118] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0119] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment uses the layered architecture Android system as an example to exemplify the software structure of electronic device 100.
[0120] Figure 9 This is a software structure block diagram of an electronic device 100 according to an embodiment of this application. The layered architecture divides the software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: 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, and SMS.
[0122] The application framework layer provides application programming interfaces (APIs) and a programming framework for 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, content provider, view system, phone manager, resource manager, notification manager, etc.
[0124] The window manager manages window programs. It can obtain screen size, determine the presence of a status bar, lock the screen, and capture screenshots. The content provider stores and retrieves data, making it accessible to applications. Data can include video, images, audio, made and received calls, browsing history and bookmarks, phone books, etc. The view system includes visual controls, such as controls for displaying text and controls for displaying images. The view system can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text notification icon can include views for displaying text and views for displaying images. The phone manager provides communication functionality for the electronic device 100. For example, it manages call status (including connection, hang-up, etc.). The resource manager provides applications with various resources, such as localized strings, icons, images, layout files, video files, etc. The notification manager allows applications to display notification information in the status bar. It can be used to convey informational messages and can disappear automatically after a short pause without user interaction. For example, the notification manager is used to notify of download completion, message alerts, etc. The notification manager can also display notifications as icons or scrolling text in the system's top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting alert sounds, causing electronic devices to vibrate, and flashing indicator lights.
[0125] The Android runtime consists of core libraries and a virtual machine. The Android runtime is responsible for scheduling and managing the Android system.
[0126] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.
[0127] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.
[0128] A system library can include multiple functional modules. For example, it can include the ones mentioned above. Figure 5 The monitoring system, broadcasting and acquisition system, reinforcement learning scheduling algorithm module, and transmission module shown in the figure work together to execute the data transmission scheduling method of the embodiments of this application.
[0129] The kernel layer is the layer between hardware and software. The kernel layer contains at least the display driver, camera driver, audio driver, and sensor driver.
[0130] This application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor performs the data transmission scheduling method of any of the above embodiments. The storage medium may include various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0131] This application also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned steps to implement the data transmission scheduling method described in the above embodiments.
[0132] In addition, embodiments of this application also provide an apparatus, which may specifically be a chip, component or module. The apparatus may include a connected processor and a memory; wherein the memory is used to store computer execution instructions, and when the apparatus is running, the processor may execute the computer execution instructions stored in the memory to cause the chip to execute the data transmission scheduling method in the above method embodiments.
[0133] In this embodiment, the electronic device, computer-readable storage medium, computer program product or chip are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects of the corresponding methods provided above, and will not be repeated here.
[0134] Through the above description of the embodiments, those skilled in the art will understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to 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] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0136] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A data transmission scheduling method, wherein the method is executed by a first electronic device, characterized in that, The method includes: Obtain the current transmission scheduling policy and perform data transmission according to the current transmission scheduling policy. The current transmission scheduling policy includes the proportion of different services executed by each electronic device allocated to different data transmission links. The various electronic devices include electronic devices located in the same cell that execute the data transmission scheduling method. The various electronic devices include the first electronic device. Perform the first operation: if the current transmission scheduling strategy does not meet the preset constraints, determine the first service that does not meet the constraints, where the first service is one of the different services executed by each electronic device; The transmission scheduling strategy corresponding to the first service is adjusted based on the value function to obtain the adjusted transmission scheduling strategy. The value function is used to calculate the value corresponding to the different proportions of the first service allocated on the different data transmission links. Data transmission is performed according to the adjusted transmission scheduling strategy, and the first operation is executed repeatedly.
2. The method according to claim 1, characterized in that, The adjustment of the transmission scheduling strategy corresponding to the first service based on the value function to obtain the adjusted transmission scheduling strategy includes: Based on the value function, calculate the value corresponding to the different proportions of the first service allocated on 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, then the first proportion is used as the adjustment proportion of the first service allocated to 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.
3. The method according to claim 2, characterized in that, The first proportion includes the proportion of high-priority transmissions and the proportion of low-priority transmissions.
4. The method according to claim 3, characterized in that, The value function includes A function of relational expression, where, This indicates the different percentages selected. This indicates the transmission bandwidth required by the first service. This indicates the current transmission rate of the first data transmission link. This indicates the maximum transmission rate provided by the first data transmission link. This indicates the bandwidth occupied by other services on the first data transmission link. Indicates priority delay, in This indicates the percentage of high-priority transmissions. and This indicates the percentage of low-priority transmissions. different, , and These are the learning parameters, and the learning parameters differ for different business operations.
5. The method according to any one of claims 1 to 4, characterized in that, If the number of times the preset constraints are not met reaches a preset number, the method further includes: The value function is updated and optimized to obtain the optimized value function.
6. The method according to claim 5, characterized in that, The step of updating and optimizing the value function to obtain the optimized value function includes: Based on the maximum value corresponding to the different services before and after the update and optimization, the learning parameters contained in the value function are updated and optimized to obtain the optimized value function.
7. The method according to claim 6, characterized in that, The step of updating and optimizing the learning parameters included in the value function based on the maximum value corresponding to the different services before and after the update and optimization includes: According to the inclusion The relation is used to update the learning parameters contained in the value function. ,in, This represents the reward value at time t+1 calculated using the reward function. Indicates the attenuation factor. This indicates the action to be selected before the current business is updated and optimized. The corresponding maximum value, This represents the maximum value corresponding to action a selected by the current business at time t+1.
8. The method according to any one of claims 1 to 4, characterized in that, The different services include real-time services, time-delay services, and file transfer services.
9. The method according to any one of claims 1 to 4, characterized in that, The preset constraints include minimizing the sum of the delays corresponding to the different services, and ensuring 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.
10. An electronic device, characterized in that, The electronic device includes: One or more processors, and memory; The memory is coupled to the one or more processors, the memory being used to store computer program code, the computer program code including computer instructions, the one or more processors invoking the computer instructions to cause the electronic device to perform the method as described in any one of claims 1 to 9.
11. A chip system, characterized in that, The chip system is applied to an electronic device, the chip system including one or more processors, the one or more processors being used to invoke computer instructions to cause the electronic device to perform the method as described in any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1 to 9.
13. A computer program product, characterized in that, The computer program product includes a computer program that, when run on an electronic device, causes the electronic device to perform the method as described in any one of claims 1 to 9.