Service scheduling method and electronic equipment
By generating multipath scheduling requests in a multi-link system and determining the target transmission link based on link information and quality data, the problem of unstable transmission quality is solved, efficient and continuity of service transmission is achieved, and user experience is improved.
Patent Information
- Application Number
- CN202411999150.8
- 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
In multi-link systems, how to effectively schedule services to improve service transmission efficiency and performance, especially in the case of unstable transmission quality caused by factors such as wireless interference, distance increase and wall barrier, it is difficult for the prior art to ensure the continuity and stability of service transmission.
By generating a multipath scheduling request, the target transmission link is determined from multiple transmission links based on the link information, and the service data is sent through the target transmission link. Using the multiplexing and accuracy of the link information, combining the link quality data and service type, the optimal transmission link is determined to achieve efficient service scheduling.
It improves the service transmission efficiency and performance in multi-link systems, ensures the continuity and stability of service transmission, and improves the user experience.
Smart Images

Figure CN120434178A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a service scheduling method and electronic equipment. Background Art
[0002] In actual application scenarios, multiple transmission links can be established between multiple devices (e.g., between mobile phones, between mobile phones and tablet computers, between mobile phones and personal computers, and between mobile phones and large-screen devices (such as TVs)). For example, two transmission links can be established between a mobile phone and a tablet computer: one transmission link is a WLAN connection link, and the other transmission link is a Wi-Fi direct link. The WLAN connection link refers to a wireless transmission link established based on IEEE 802.11 standard wireless local area network communication technology; the Wi-Fi direct link refers to a point-to-point transmission link established using Wi-Fi direct technology without going through a hotspot or router.
[0003] In a multi-link system, how to schedule services to improve service transmission efficiency and performance is a current research hotspot. Summary of the Invention
[0004] The present application provides a service scheduling method and electronic device, which are conducive to improving service transmission efficiency and transmission performance in a multi-link system.
[0005] In a first aspect, an embodiment of the present application provides a service scheduling method, applied to a first electronic device, the method comprising:
[0006] generating a first multipath scheduling request upon receiving a start operation for the first service or detecting that a transmission abnormality occurs in the first service;
[0007] In response to the first multipath scheduling request, determining a target transmission link from a plurality of transmission links between the first electronic device and the second electronic device according to the link information, wherein the target transmission link is used to carry the first service; wherein the link information indicates an operating frequency band of each transmission link in the plurality of transmission links;
[0008] The service data of the first service is sent to the second electronic device through the target transmission link.
[0009] By executing the above method, when a service startup operation is received or a service transmission abnormality occurs, the target transmission link is determined from multiple transmission links between the first electronic device and the second electronic device based on the link information, and the service data is sent through the target transmission link. This can effectively improve the service transmission efficiency and transmission performance in the multi-link system, which is beneficial to improving the user experience.
[0010] In conjunction with the first aspect, in one possible implementation, the method further includes: obtaining link information from the first locally stored information; or obtaining link information during the process of establishing multiple transmission links with the second electronic device. Thus, the first electronic device can directly utilize the stored link information to implement link information reuse, conserve computing resources, and improve transmission efficiency. The first electronic device can also obtain link information during the process of establishing multiple transmission links, thereby ensuring the accuracy and effectiveness of the link information.
[0011] Optionally, the first multipath scheduling request is generated when a startup operation is received; the link information includes the operating frequency band of the first transmission link and the operating frequency band of the second transmission link. Then, in response to the first multipath scheduling request, the first electronic device determines the target transmission link from the multiple transmission links between the first electronic device and the second electronic device based on the link information. One implementation may be: in response to the operating frequency band of the first transmission link and the operating frequency band of the second transmission link being the same, determining the target transmission link from the first transmission link and the second transmission link based on link quality data; wherein the link quality data indicates the link quality of the first transmission link and the link quality of the second transmission link; in response to the operating frequency band of the first transmission link and the operating frequency band of the second transmission link being different, determining the target transmission link from the first transmission link and the second transmission link based on the service type; wherein the service type is a file type or a streaming media type. It can be seen that when the first multipath scheduling request is generated when a startup operation is received, different methods can be used to determine the target transmission link based on the different operating frequency bands of the first transmission link and the second transmission link, so that the scheduling method provided in this application can be applied to a variety of different scenarios, has good universality, and can also improve service startup efficiency.
[0012] Optionally, one implementation of the first electronic device determining the target transmission link from the first transmission link and the second transmission link based on the link quality data may include: determining the target transmission link that meets the quality requirements from the first transmission link and the second transmission link based on the link quality data; wherein the link quality of the target transmission link is higher than the link quality of the transmission link that does not meet the quality requirements. Thus, the first electronic device can determine the transmission link with higher link quality as the target transmission link, thereby improving the efficiency of transmitting service data through the target transmission link.
[0013] Optionally, one implementation of the first electronic device determining the target transmission link from the first transmission link and the second transmission link based on the service type may be: in response to the service type of the first service being the same as the service type of the second service, the target transmission link is determined from the first transmission link and the second transmission link based on link quality data; wherein the second service is a service in a transmitting state. Thus, when the service type of the second service already in a transmitting state is the same as the service type of the first service to be started, the first electronic device can directly determine the target transmission link based on the link quality data, which is conducive to the rational allocation of transmission resources to each service and improves the overall transmission efficiency of the multi-link system.
[0014] Optionally, one implementation of the first electronic device determining the target transmission link from the first transmission link and the second transmission link based on the service type may be: in response to the service type of the first service being a streaming media type and the service type of the second service being a file type, determining a candidate transmission link from the first transmission link and the second transmission link; determining whether the candidate transmission link can carry the first service; in response to the candidate transmission link being able to carry the first service, determining the candidate transmission link as the target transmission link; in response to the candidate transmission link not being able to carry the first service, determining the transmission link in the first transmission link and the second transmission link other than the candidate transmission link as the target transmission link. It can be seen that when the service type of the first service is a streaming media type and the service type of the second service is a file type, the first electronic device can determine the target transmission link based on whether the candidate transmission link can carry the first service, thereby improving the service transmission efficiency while ensuring that the service data of the first service can be transmitted normally.
[0015] Optionally, one implementation of the first electronic device determining whether the selected transmission link can carry the first service can be: determining whether the selected transmission link can carry the first service based on the transmission rate of the selected transmission link, the service description data of the first service, the service description data of the same-frequency service, and the transmission rate of the same-frequency service; wherein the same-frequency service is a service transmitted via the same-frequency link, and the same-frequency link is a link with the same frequency as the selected transmission link. It can be seen that the first electronic device can accurately determine whether the selected transmission link can carry the first service based on multiple data, which is conducive to subsequently determining the target transmission link based on the determined result, thereby improving transmission efficiency.
[0016] Optionally, one implementation of the first electronic device determining the target transmission link from the first transmission link and the second transmission link based on the service type may be: in response to the service type of the first service being a file type and the service type of the second service being a streaming media type, determining the streaming media transmission link from the first transmission link and the second transmission link based on the link quality data; wherein the streaming media transmission link is a transmission link that does not meet the quality requirements, and the streaming media transmission link is used to carry the second service; determining the transmission link other than the streaming media transmission link from the first transmission link and the second transmission link as the target transmission link; wherein the link quality of the target transmission link is higher than the link quality of the streaming media transmission link. It can be seen that when the service type of the first service is a file type and the service type of the second service is a streaming media type, the first electronic device can determine the transmission link of the first service and the second service, thereby isolating the file type service from the streaming media type service, thereby improving the transmission efficiency of the two types of services.
[0017] Optionally, the first multipath scheduling request is generated when a transmission anomaly is detected for the first service; the link information includes an operating frequency band of the first transmission link and an operating frequency band of the second transmission link; then, in response to the first multipath scheduling request, the first electronic device determines a target transmission link from multiple transmission links between the first electronic device and the second electronic device based on the link information. One implementation may be: in response to the operating frequency bands of the first transmission link and the second transmission link being the same, determining the target transmission link from the first transmission link and the second transmission link based on the link bearer information; in response to the operating frequency bands of the first transmission link and the second transmission link being different, determining the target transmission link from the first transmission link and the second transmission link based on the transmission type information; wherein the transmission type information indicates whether the transmission type of the first service is concurrent transmission or single transmission. Thus, when the first multipath scheduling request is generated when a transmission anomaly is detected for the first service, the first electronic device can determine the target transmission link using different methods based on the link information, which has good universality and can be applied to a variety of different scenarios.
[0018] Optionally, the service type of the first service is a streaming media type; one implementation of the first electronic device determining the target transmission link from the first transmission link and the second transmission link based on the link carrying information may be: in response to the absence of file-type services among multiple transmission services, the target transmission link is determined from the first transmission link and the second transmission link based on the service carrying information of the first transmission link in the link carrying information and the service carrying information of the second transmission link; wherein the multiple transmission services are services in a transmission state, and the multiple transmission services include the first service; the service carrying information of the first transmission link indicates whether the first transmission link can carry multiple transmission services, and the service carrying information of the second transmission link indicates whether the second transmission link can carry multiple transmission services. It can be seen that the first electronic device can determine the target transmission link based on the service carrying information of each transmission link, so that the transmission resources in the multi-link system can be fully utilized and the service transmission efficiency can be improved.
[0019] In conjunction with the first aspect, in one possible implementation, the method further includes: in response to the presence of a file-type service among the multiple transmission services, performing service rate limiting on the file-type service. Thus, when a transmission anomaly occurs in a streaming media service, the first electronic device can rate limit the file-type service, and a decrease in the transmission rate of the file-type service will not significantly affect the user's experience. Therefore, by rate limiting the file-type service, the transmission anomaly of the streaming media service can be alleviated, thereby improving the user's overall experience.
[0020] Optionally, the service type of the first service is a streaming media type; one implementation of the first electronic device determining the target transmission link from the first transmission link and the second transmission link based on the transmission type information may be: in response to the transmission type information indicating that the transmission type of the first service is single-shot transmission, and there is no file-type service among the multiple transmission services, the first transmission link and the second transmission link are determined as target transmission links; wherein the multiple transmission services are services in a transmission state, and the target transmission link is used to perform concurrent transmission of the first service. It can be seen that when a transmission anomaly occurs in the first service and the transmission type of the first service is single-shot transmission, the first electronic device can perform concurrent transmission of the first service to resolve the transmission anomaly of the first service, which is beneficial to reducing the transmission delay and jitter of the service data of the first service and improving service transmission performance.
[0021] In conjunction with the first aspect, in one possible implementation, the method further includes: in response to the transmission type information indicating that the transmission type of the first service is single-shot transmission, and there is a file-type service in a speed-limited state among the multiple transmission services, determining the first transmission link and the second transmission link as the target transmission link. Thus, when the service transmission type of the first service is single-shot transmission and there is a file-type service in a speed-limited state, the first electronic device can perform concurrent transmission on the first service, thereby resolving the transmission anomaly of the first service.
[0022] In conjunction with the first aspect, in one possible implementation, the method further includes: in response to the transmission type information indicating that the transmission type of the first service is single-transmission transmission, and there is a file-type service in an unspeeded state among the multiple transmission services, performing service speed limiting on the file-type service in an unspeeded state. It can be seen that when a transmission anomaly occurs in the first service and there is a file-type service in an unspeeded state, the first electronic device can prioritize speed limiting for the file-type service, thereby resolving the transmission anomaly of the first service without performing concurrent transmissions and saving transmission resources.
[0023] In conjunction with the first aspect, in one possible implementation, the method further includes: in response to a concurrent transmission instruction for the first service, transmitting service data of the first service to the second electronic device via a first transmission link in the target transmission link; and transmitting service data of the first service to the second electronic device via a second transmission link in the target transmission link. This indicates that when the first electronic device concurrently transmits the first service, it can use multiple transmission links to transmit the same service data, thereby overcoming transmission anomalies of the first service caused by instability of individual transmission links through redundant transmission, effectively improving transmission performance.
[0024] In conjunction with the first aspect, in one possible implementation, the method further includes: obtaining transmission delay data of service data of the first service; determining average delay data based on the transmission delay data, and determining a transmission jitter parameter based on the average delay data and the transmission delay data; in response to the transmission jitter parameter being greater than a first jitter threshold, determining that a transmission anomaly has been detected in the first service; and in response to the transmission jitter parameter being less than or equal to the first jitter threshold, determining that no transmission anomaly has been detected in the first service. Thus, the first electronic device can determine whether a transmission anomaly has occurred in the first service based on the transmission delay data, thereby enabling transmission monitoring of the first service, which is beneficial for ensuring the transmission efficiency of the first service.
[0025] In combination with the first aspect, in a possible implementation, the link information includes the working frequency band of the first transmission link and the working frequency band of the second transmission link, and the working frequency band of the first transmission link is different from the working frequency band of the second transmission link. The method also includes: when the transmission type of the first service is concurrent transmission and it is detected that the first service has no transmission abnormality, determining a single-shot transmission link that meets the quality requirements from the first transmission link and the second transmission link; in response to the jitter parameter of the single-shot transmission link being less than the second jitter threshold, determining a target transmission link from the first transmission link and the second transmission link, the target transmission link being used to adjust the transmission type of the first service to single-shot transmission. It can be seen that when the transmission type of the first service is concurrent transmission and it is detected that the first service has no transmission abnormality, the first electronic device can adjust the transmission type of the first service to single-shot transmission, thereby saving transmission resources while ensuring the transmission efficiency of the first service.
[0026] In conjunction with the first aspect, in one possible implementation, the multiple transmission links include a third transmission link, and the first electronic device transmits service data of a third service to the second electronic device via the third transmission link. The method further includes: upon detecting an interruption in the third transmission link, generating a second multipath scheduling request; in response to the second multipath scheduling request, determining a fourth transmission link from the multiple transmission links; and transmitting the service data of the third service to the second electronic device via the fourth transmission link. This indicates that when a transmission link is interrupted, the first electronic device can transfer the service carried by the interrupted transmission link to another transmission link, thereby ensuring normal transmission of the service and ensuring the continuity and stability of service transmission.
[0027] In conjunction with the first aspect, in one possible implementation, the method further includes: upon detecting that the third transmission link has recovered, generating a third multipath scheduling request; and in response to the third multipath scheduling request, transmitting service data of the third service to the second electronic device via the third transmission link. Thus, upon detecting that the transmission link has recovered, the first electronic device can transfer the service to the recovered transmission link, thereby ensuring service transmission efficiency.
[0028] In a second aspect, an embodiment of the present application further provides a service scheduling method, applied to a second electronic device, the method comprising:
[0029] receiving service data of a first service from a first electronic device via a target transmission link, wherein the plurality of transmission links between the first electronic device and the second electronic device include the target transmission link;
[0030] The service data of the first service is stored or displayed.
[0031] The above method can realize business data transmission between the first electronic device and the second electronic device, which is beneficial to improving business transmission efficiency.
[0032] In conjunction with the second aspect, in one possible implementation, the method further includes: obtaining link information during the process of establishing multiple transmission links with the first electronic device; and storing the link information in a second local storage. This indicates that the second electronic device can obtain link information when establishing multiple transmission links with the first electronic device, or directly utilize locally stored link information, thereby enabling link information reuse and conserving device computing resources.
[0033] In conjunction with the second aspect, in one possible implementation, the multiple transmission links include a first transmission link and a second transmission link, and the method further includes: determining a data cache area in response to a concurrent transmission instruction for the first business; receiving business data of the first business from the first electronic device through the first transmission link and the second transmission link, the business data including multiple data packets; storing the multiple data packets in the data cache area according to the numbering information of the data packets; and displaying the data stored in the data cache area in response to the completion of storage in the data cache area. It can be seen that when the first electronic device performs parallel transmission for the first business, the second electronic device can store the data packets received through the multiple transmission links in the data cache area and display the data stored in the data cache area, thereby ensuring the continuity of the displayed data, resolving the problem of discontinuous display data caused by transmission anomalies of the first business, and improving the user experience.
[0034] In a third aspect, an embodiment of the present application provides an electronic device comprising: a memory and one or more processors; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute a method executed by the first electronic device in the first aspect or any one of the embodiments of the first aspect.
[0035] In a fourth aspect, an embodiment of the present application provides an electronic device comprising: a memory and one or more processors; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute a method as executed by the second electronic device in the second aspect or any one of the embodiments of the second aspect.
[0036] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the electronic device executes the method executed by the first electronic device in the first aspect or any one of the embodiments of the first aspect.
[0037] In a sixth aspect, an embodiment of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the method executed by the first electronic device in the first aspect or any one of the embodiments of the first aspect.
[0038] In a seventh aspect, an embodiment of the present application provides a chip system, the chip system including at least one processor, for implementing the method executed by the first electronic device in the first aspect or any one embodiment of the first aspect.
[0039] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium comprising instructions, which, when executed on an electronic device, enables the electronic device to execute a method as executed by the second electronic device in the second aspect or any one of the embodiments of the second aspect.
[0040] In a ninth aspect, an embodiment of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the method executed by the second electronic device in the second aspect or any one of the embodiments of the second aspect.
[0041] In the tenth aspect, an embodiment of the present application provides a chip system, which includes at least one processor for implementing the method executed by the second electronic device in the second aspect or any one of the embodiments of the second aspect.
[0042] It is understood that the beneficial effects of the methods in the above-mentioned third to tenth aspects or any possible implementation thereof can correspond to the beneficial effects of the above-mentioned first aspect or any possible implementation of the first aspect and the beneficial effects of the above-mentioned second aspect or any possible implementation of the second aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1A A schematic diagram of the structure of a communication system provided in an embodiment of the present application;
[0044] Figure 1B A schematic diagram of the structure of another communication system provided in an embodiment of the present application;
[0045] Figure 2A-2G A schematic diagram of a method for determining a multipath scheduling strategy provided in an embodiment of the present application;
[0046] Figure 3A-Figure 3L A schematic diagram of the service scheduling process provided in an embodiment of the present application;
[0047] Figure 4 A flowchart of a service scheduling method provided in an embodiment of the present application;
[0048] Figures 5A-5D Schematic diagram of some user interfaces involved in creating screen projection services provided in embodiments of the present application;
[0049] Figure 6 A flowchart of another service scheduling method provided in an embodiment of the present application;
[0050] Figure 7 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application;
[0051] Figure 8 The present invention provides a hardware and software architecture for an electronic device. DETAILED DESCRIPTION
[0052] The following is a clear and detailed description of the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings. 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 the text is only a description of the association relationship between related objects, indicating that there can be three relationships, 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.
[0053] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood to imply or suggest relative importance or implicitly indicate the number of the technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of this application, unless otherwise specified, "plurality" means two or more.
[0054] In this application, "electronic equipment" is also referred to as "device" for short.
[0055] The method provided in the embodiment of the present application can be applied to a multi-link system, which refers to a scenario in which there are multiple transmission links between multiple devices. A transmission link is a data transmission channel between two devices. For example, there are multiple transmission links between two devices, and these transmission links can be wireless local area network (WLAN) connection links, WIFI direct connection links, Bluetooth transmission links, cellular network links, etc. The method provided in the embodiment of the present application can also be applied to scenarios including streaming media type services and file services, for example, there are multiple transmission links between two devices, and the two devices include file type services such as file sharing, and also include one or more streaming media type services such as calls, notification sharing, keyboard and mouse sharing, PC collaboration, PAD collaboration, screen projection, large screen collaboration, screen mirroring / extension, video on demand / live broadcast, etc.
[0056] Figure 1A As shown, it is a structural diagram of a communication system provided by an embodiment of the present application. The communication system may include multiple multi-link systems, and each multi-link system may include multiple electronic devices. For example, Figure 1A The first multi-link system includes a mobile phone, a tablet and a wireless router, and the mobile phone and the tablet establish a first transmission link (i.e., a WIFI direct link) through the WIFI direct connection technology, and the mobile phone and the tablet establish a second transmission link (i.e., a WLAN connection link) via the wireless router. The second multi-link system includes a mobile phone, a personal computer and a cellular communication base station, and the mobile phone and the personal computer establish a third link (i.e., a Bluetooth transmission link) through the Bluetooth technology, and the mobile phone and the personal computer establish a fourth link (i.e., a cellular network link) via the cellular communication base station. The same electronic devices may be included in different multi-link systems. For example, Figure 1A In the embodiment, the mobile phone belongs to the first multi-link system and the second multi-link system at the same time.
[0057] The frequency bands of multiple transmission links within the same multi-link system can be the same or different. The frequency band of a transmission link refers to the range between the lowest and highest frequencies occupied by a wireless signal, while the frequency is a specific numerical value of a wireless signal, that is, a specific frequency value within a specific frequency band. In the method provided in this application, link relationship information can be determined based on the frequency band of each transmission link in multiple transmission links, thereby realizing service scheduling in the multi-link system.
[0058] like Figure 1B The structure diagram of the communication system shown in FIG. 1 is a diagram of the communication system, which is described by taking a multi-link system as an example.
[0059] Exemplarily, the communication system may include a mobile phone, a wireless router and a tablet, and the mobile phone and the tablet establish a first transmission link (WIFI direct link) through WIFI direct connection technology, and establish a second transmission link (WLAN connection link) via the wireless router.
[0060] Services are carried on the first and second transmission links. Services running in the application layer can be divided into two types: streaming services and file services. The following briefly introduces these two types of services:
[0061] (1) Streaming media services: These services compress multimedia data and send it in segments over a transmission link. Streaming media services typically require a significant amount of transmission resources. These services may include video on demand, screen projection, collaboration, voice calls, video calls, and video on demand.
[0062] (2) File-based services: File-based services usually occupy a large portion of the link bandwidth during transmission. When file-based services and streaming media services are transmitted on the same transmission link, the file-based services may crowd out the streaming media services, thereby reducing the transmission efficiency of the streaming media services. File-based services can include text file services, image file services, web page transmission services, etc.
[0063] It can be understood that the application layer can identify the service type of each service based on the characteristics of each service mentioned above.
[0064] For example, Figure 1B In the example, the phone and tablet are performing screen projection, and the second transmission link carries the screen projection service V1 sent by the phone to the tablet. If the phone also sends an image file to the tablet, the first transmission link carries the file service D1 sent by the phone to the tablet. If the phone also makes a voice call with the tablet, the second transmission link carries the call service T1 sent by the phone to the tablet.
[0065] The above examples illustrate the services carried by each link. It should be understood that one link can carry one or more services.
[0066] The following embodiments of this application are described using a multi-link system comprising two devices and two links as an example, where the two devices are device A (a mobile phone) and device B (a tablet), the first transmission link of the two links being a Wi-Fi direct link, and the second transmission link being a WLAN connection link. It should be understood that in other embodiments, the links in the multi-link system may also be any combination of transmission links such as a Wi-Fi direct link, a Bluetooth link, a WLAN connection link, or a cellular network link.
[0067] It should be understood that the above Figure 1B The devices, services, links, etc. are only exemplary. In other embodiments, the multi-link system may include more or fewer electronic devices, the types of electronic devices may be replaced with other devices, and the services between electronic devices may be other services.
[0068] The electronic device may be a smart terminal device or other types, and the embodiments of the present application do not limit the specific types thereof. For example, it may be a mobile phone, and may also include a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, a smart screen, a wearable device, an augmented reality (AR) device, a virtual reality (VR) device, an artificial intelligence (AI) device, a car computer, a smart headset, a game console, and may also be an Internet of Things (IOT) device or a smart home device such as a smart TV, etc. Without being limited thereto, it may also include a laptop computer with a touch-sensitive surface or touch panel, a desktop computer with a touch-sensitive surface or touch panel, and other non-portable terminal devices, etc.
[0069] In a multi-link system, multiple transmission links can be established between multiple devices. For example, a mobile phone and tablet can establish both a WLAN link and a Wi-Fi Direct link. However, in real-world scenarios, due to factors such as wireless interference, increased distance, and wall obstructions, both WLAN and Wi-Fi Direct links can experience unstable transmission quality, resulting in lags or even interruptions during user service transmission.
[0070] Therefore, in order to implement service scheduling in a multi-link system, the present application provides a service scheduling method, which determines a scheduling strategy for the service based on the link relationship between multiple transmission links, thereby effectively improving service transmission efficiency.
[0071] In this application, considering that the operating frequency bands between multiple transmission links in a multi-link system will affect the transmission efficiency of each link (for example, when the operating frequency bands of two links are both 5 GHz bands, the two links will interfere with each other), the link relationship between multiple transmission links in the multi-link system can be determined, and different scheduling strategies can be determined based on the link relationship to ensure service transmission efficiency.
[0072] This application provides a solution for determining link relationships, which is described below.
[0073] First, this application defines two link relationships:
[0074] (1) Link relationship: two links affect each other: if two links transmit data at the same time, the performance of each link will be reduced compared to when it exists alone.
[0075] (2) The link relationship is that the two links do not affect each other: if the two links transmit data at the same time, the performance of each link will not be reduced compared to when it exists alone.
[0076] The performance of the link may include transmission rate, bandwidth, transmission distance, signal-to-noise ratio, etc.
[0077] The link relationship can be determined as follows: when device A and device B establish a connection for the first time (at this time, a first transmission link and a second transmission link have been established between device A and device B), device A can query whether device A supports dual-band dual concurrent (DBDC), whether device B supports DBDC, the frequency of the first transmission link, and the frequency of the second transmission link, and determine the link relationship based on the queried data.
[0078] Among them, dual-band dual-transmit refers to the technology in which wireless devices use both the 2.4GHz and 5GHz frequency bands for communication. This technology allows devices to send and receive data simultaneously on the two frequency bands. In order to achieve multi-link transmission between two devices, both device A and device B must support DBDC. In addition, only when the first transmission link and the second transmission link are in different frequency bands, when the two links are transmitting data at the same time, the performance of each link will not be degraded compared to when they exist alone. Therefore, when both device A and device B support DBDC, and the frequency band of the first transmission link and the frequency band of the second transmission link are different, it can be determined that the link relationship is that the two links do not affect each other; in other cases, it can be determined that the link relationship is that the two links do not affect each other.
[0079] It should be noted that device A can use the above method to determine the link relationship of the two transmission links between device A and device B only when device A and device B establish a connection for the first time. The determined link relationship can be stored in device A and device B. During the process of data transmission between device A and device B, the link relationship can be reused. In addition, when device A and device B are located in the same local area network and the connection is established again (for example: when the transmission link is re-established after being interrupted), the link relationship stored in device A and device B can be directly used. For example: device A and device B establish two transmission links, and use the method provided in this application to determine and store the link relationship. Device A and device B interrupt the transmission link. When device A needs to perform business transmission, device A can use the stored link relationship to determine the multipath scheduling strategy and re-establish the corresponding transmission link to transmit business data.
[0080] Through the above method, the link relationship between the first transmission link and the second transmission link can be determined, so that a corresponding scheduling strategy can be subsequently determined based on the link relationship, thereby improving the transmission efficiency of services in the multi-link system. It can also realize the reuse of link relationships and effectively save computing resources.
[0081] In a multi-link system, device A can further determine the optimal link and non-optimal link among multiple transmission links. Specifically, when the first transmission link is a WIFI direct link and the second transmission link is a WLAN connection link, the WIFI direct link is better than the WLAN connection link because the WIFI direct link has a fast transmission speed and does not need to pass through a traditional access point (for example, a wireless router); and the link in the 5GHz frequency band has less signal interference, a higher transmission rate, and is suitable for short-distance transmission scenarios. Therefore, the link in the 5GHz frequency band is better than the link in the 2.4GHz frequency band. For example: the first transmission link is a WIFI direct link in the 5GHz frequency band, and the second transmission link is a WLAN connection link in the 2.4GHz frequency band. Based on the above rules, it can be determined that the first transmission link is the optimal link and the second transmission link is the non-optimal link. It should be noted that this application only takes the first transmission link as a WIFI direct link and the second transmission link as a WLAN connection link as an example to illustrate the method for determining the optimal link and the non-optimal link. In actual application, the multiple transmission links in the multi-link system can also be WIFI direct links, Bluetooth links, WLAN connection links, cellular network links, etc. In these cases, the optimal link and non-optimal links can be determined based on link quality data that can indicate link quality, such as the link transmission rate and signal interference of multiple transmission links. The present application can determine the optimal link and non-optimal link among multiple links so that in subsequent service scheduling, transmission resources can be fully utilized to improve the transmission efficiency of service data.
[0082] After determining the link relationship, optimal link, and non-optimal link between two links in a multi-link system, the present application proposes that service scheduling can be performed based on the link relationship. Since there may be a long delay when establishing a connection between device A and device B (for example, when establishing a WIFI direct link), this may cause the user to experience a long waiting time when using the link to transmit data. In addition, during the service transmission process, service jams and other situations may also occur. Therefore, in the service scheduling of the multi-link system, different multipath scheduling strategies can be determined under different situations (for example, when starting a service, or when transmitting a service).
[0083] This application proposes multipath scheduling strategies under different circumstances for two different link relationships; the following is divided into four aspects: (1) multipath scheduling strategy when the two links affect each other and the service is started, (2) multipath scheduling strategy when the two links do not affect each other and the service is started, (3) multipath scheduling strategy when the two links affect each other and the service is transmitted, and (4) multipath scheduling strategy when the two links do not affect each other and the service is transmitted.
[0084] (1) Explain the multipath scheduling strategy when two links affect each other and start the service.
[0085] In a multi-link system, if the two links between device A and device B affect each other, it means that when the two links are transmitting data simultaneously, the performance of each link will be reduced compared to when they exist alone. Therefore, in order to ensure the transmission efficiency of all services transmitted between device A and device B, all services must be established on the same link. Specifically, when all services transmitted between device A and device B (such as streaming media type services and file type services) should be established on the optimal link. For example: the first transmission link is a WiFi direct link in the 5GHz frequency band, and the second transmission link is a WLAN connection link in the 5GHz frequency band. The first transmission link and the second transmission link affect each other, and the first transmission link is the optimal link. Then all services between device A and device B (for example: file type services, streaming media type services, etc. started at different time points) are established on the first transmission link. The scheduling strategy provided in this application can avoid establishing multiple services on different links when the two links affect each other, which may cause the performance of the transmission link to degrade, and can be beneficial to improving the transmission efficiency of the service.
[0086] (2) The multipath scheduling strategy when the two links do not affect each other and the service is started is described.
[0087] In a multi-link system, devices A and B can transmit both file-based and streaming services. However, file-based services typically occupy the majority of the transmission link bandwidth. Therefore, when the two links do not affect each other, it is best to consider carrying file-based and streaming services on different links to ensure efficient transmission of the latter. Therefore, device A can determine a multipath scheduling strategy based on whether file-based services exist within the multi-link system.
[0088] Specifically, when there is no file-type service within the multi-link system (i.e., there is no file-type service between device A and device B), and the service to be initiated is a streaming media service, device A can determine the multipath scheduling strategy as follows: establish the streaming media service on the optimal link between the first transmission link and the second transmission link. For example: a second transmission link (WLAN connection link) has been established between device A and device B. When device A initiates a streaming media service, in order to reduce the waiting time for the transmission service, device A can first use the established second transmission link to carry the streaming media service, and use the above method to determine the multipath scheduling strategy as follows: establish the streaming media service on the optimal link (i.e., the first transmission link: the WIFI direct connection link). At this time, device A and device B can establish the first transmission link and use the established first transmission link to carry the streaming media service.
[0089] Another example: No link is established between device A and device B. When device A starts a streaming media service, since the time it takes to establish the second transmission link is shorter than the time it takes to establish the first transmission link, device A can first determine the multipath scheduling strategy to use the second transmission link to carry the streaming media service. At this time, device A and device B establish the second transmission link and use the second transmission link to carry the streaming media service. Device A can then determine the multipath scheduling strategy to use the first transmission link to carry the streaming media service. At this time, device A and device B establish the first transmission link and use the first transmission link to carry the streaming media service, while the second transmission link no longer carries the media service. This method can effectively solve the problem of long service waiting time caused by a long time it takes to establish a certain transmission link in a multi-link system, which is beneficial to improving the user experience.
[0090] When a file-type service exists within the multi-link system and the initiated service is a streaming media service, device A can further determine whether the non-optimal link in the first and second transmission links can carry all streaming media services. If the non-optimal link can carry all streaming media services, device A can determine the multipath scheduling strategy to be: establish the file-type service on the optimal link and establish the streaming media service on the non-optimal link. If the non-optimal link cannot carry all streaming media services, device A can determine the multipath scheduling strategy to be: establish both the file-type service and the streaming media service on the optimal link.
[0091] For example, a first transmission link and a second transmission link (the first transmission link is the optimal link and the second transmission link is a non-optimal link) have been established between device A and device B. File-type services are established on the first transmission link. When device A receives a streaming media service start request, device A can determine whether the second transmission link can carry all streaming media services. If the second transmission link can carry all streaming media services, the multipath scheduling strategy is to establish the streaming media service on the second transmission link, that is, device A uses the second transmission link to carry the streaming media service. If the second transmission link cannot carry all streaming media services, the multipath scheduling strategy is to establish the streaming media service on the first transmission link, that is, device A uses the first transmission link to carry both streaming media services and file-type services.
[0092] See Figure 2A , this figure is a schematic diagram of a multipath scheduling strategy determination method provided by the present application. When starting a service, device A can obtain a link relationship, which is used to indicate whether the two links between device A and device B affect each other. If the two links affect each other (ie, yes), it can be determined that the multipath scheduling strategy is: both streaming media type services and file type services are established on the optimal link; if the two links do not affect each other (ie, no), it can be further determined whether there is a file type service between device A and device B. If there is no file type service between device A and device B (ie, no), and the service to be started is a streaming media type service, it can be determined that the multipath scheduling strategy is: establishing the streaming media type service on the optimal link; if there is a file type service between device A and device B (ie, yes), and the service to be started is a streaming media type service, it can be further determined whether the non-optimal link between device A and device B can carry all streaming media type services. If the non-optimal link can carry all streaming media type services (i.e., yes), the multipath scheduling strategy can be determined as: establishing file type services on the optimal link, and establishing streaming media type services on the non-optimal link; if the non-optimal link cannot carry all streaming media type services (i.e., no), the multipath scheduling strategy can be determined as: establishing both file type services and streaming media type services on the optimal link.
[0093] Through Figure 2AThe method shown can determine a multipath scheduling strategy based on the link relationship. When two links affect each other, all services are established on the optimal link, ensuring the transmission efficiency of all services. When the two links do not affect each other, different services can be reasonably scheduled, thereby improving the transmission efficiency of each service in the multi-link system. In addition, the existing WLAN connection link (non-optimal link) can be used to carry the service. After the Wi-Fi direct link (optimal link) is established, the service is switched to the optimal link. This effectively solves the problem of long service waiting time caused by the long time required to establish the Wi-Fi direct link, which is conducive to improving the user experience.
[0094] When determining whether a non-optimal link (i.e., a WLAN connection link) can carry all streaming services, we can consider whether, after starting a streaming service, the newly started streaming service will collide with or experience lag with already started services in the LAN. The services in the LAN can be services that use the same frequency as the WLAN connection link (because services at different frequencies generally do not collide). The link's Modulation and Coding Scheme (MCS) negotiated rate can represent the communication rate of the WLAN link. Therefore, based on the above principles, the following technical methods can be used:
[0095] Obtain the Modulation and Coding Scheme (MCS) negotiated rate (r0) of the non-optimal link;
[0096] Get the service data of the services (already started) in the local area network where device A is located, which use the same frequency as the non-optimal link. The service data includes the number of each service (1, 2, ..., M; M is an integer greater than 2), the data volume (X m , m is an integer greater than 0 and less than or equal to M) and the MCS negotiation rate corresponding to each service (X m );
[0097] Obtain the service data of the streaming media type to be started in device A, the service data of the streaming media type includes the service number (1, 2, ..., N; N is an integer greater than 2) and the data volume (R n , n is an integer greater than 0 and less than or equal to N);
[0098] Using the data obtained above, if the data obtained above satisfies the conditions shown in the following formula (1), it can be determined that the non-optimal link can carry all types of streaming services. Otherwise, it is determined that the non-optimal link cannot carry all types of streaming services. Formula (1) is:
[0099]
[0100] In the above formula (1), β is an anti-collision coefficient greater than 0 and less than 1. The above formula (1) indicates that when the sum of the transmission time of each service (already started) using the same frequency as the non-optimal link and the transmission time of each streaming type service to be started is less than or equal to the anti-collision coefficient, it means that the non-optimal link can carry all streaming types of services.
[0101] It should be noted that when the initiated service is a file-type service, if the link relationship is such that the two links affect each other, device A can determine the multipath scheduling strategy to establish the file-type service on the optimal link. If the link relationship is such that the two links do not affect each other, device A can first determine whether streaming media services and file-type services exist in the multi-link system. If both streaming media services and file-type services exist in the multi-link system (in this case, the service transmission situation may be that both the streaming media services and the file-type services are established on the optimal link, or that the file-type services are established on the optimal link and the streaming media services are established on a non-optimal link), device A can determine the multipath scheduling strategy to establish the newly initiated file-type service on the optimal link. If only file-type services exist in the multi-link system, device A can determine the multipath scheduling strategy to establish the newly initiated file-type service on the optimal link. If only streaming media services exist in the multi-link system (in this case, the service transmission situation may be that the streaming media services are established on the optimal link), device A can determine the multipath scheduling strategy to establish the file-type service on the optimal link and switch the streaming media services to a non-optimal link.
[0102] (3) Explain the multipath scheduling strategy when two links affect each other and business is transmitted.
[0103] In a multi-link system, two links are established between device A and device B (the first transmission link is a Wi-Fi direct link, and the second transmission link is a WLAN link). The link relationship allows for mutual influence between the two links. Based on the aforementioned description of "two links influencing each other and the multipath scheduling strategy when starting services," services between device A and device B (including streaming services) are established over the optimal link (i.e., the first transmission link). Device A can detect whether the streaming service experiences transmission anomalies (e.g., lag). If the streaming service does not, device A may not schedule the service. If the streaming service does experience lag, device A can determine whether there is file-based service between devices A and B. If there is file-based service, since a reduced transmission rate for file-based services will not significantly reduce the user experience, device A can determine the multipath scheduling strategy to rate limit the file-based service. Rate limiting the file-based service allows the streaming service to obtain more bandwidth, thereby alleviating any lags in the streaming service. After limiting the speed of file-type services, Device A can recheck whether streaming services experience lag. If no file-type services exist, Device A can determine whether another link (i.e., a non-optimal link) can carry all services. If the other link can carry all services, this indicates that the link currently carrying all services is experiencing lag, while a non-optimal link can carry all services and may not necessarily experience lag. Therefore, Device A can determine the multipath scheduling strategy to switch all services to the other link. After switching links, Device A can recheck whether streaming services experience lag. If the other link cannot carry all services, Device A can determine the multipath scheduling strategy to not perform scheduling. Because the two links between Device A and Device B affect each other, if streaming services experience lag, Device A can limit the speed of only the existing file-type services to improve transmission efficiency and resolve the lag. Alternatively, Device A can switch all services to the other link to resolve lag caused by link instability, thereby improving the user experience.
[0104] See Figure 2B, device A and device B can establish two links, and the two links affect each other. There is a streaming type service between device A and device B, and the streaming type service is established on the first transmission link. Device A can detect whether there is any lag in the streaming type service; if there is no lag in the streaming type service (i.e., no), device A can determine the multipath scheduling policy as: no scheduling; if there is lag in the media service (i.e., yes), device A can determine whether there is a file type service between device A and device B. If there is a file type service (i.e., yes), device A can determine the multipath scheduling policy as: rate limit the file type service. If there is no file type service (i.e., no), device A can determine whether the second transmission link can carry all services. If the second transmission link can carry all services (i.e., yes), device A can determine the multipath scheduling policy as: migrate all services to the second transmission link; if the second transmission link cannot carry all services (i.e., no), device A can determine the multipath scheduling policy as: no scheduling.
[0105] In some cases, the specific implementation method of device A to detect whether a streaming media service is stuck can be: obtaining the delay of N transmission data packets when transmitting data packets of the streaming media service (N can be the number of data packets transmitted within 200 mm or the number of data packets transmitted within 1 second), where d i represents the delay of the i-th data packet transmission; device A can determine the average transmission delay based on the delay of N data packets transmitted. The calculation method of the average transmission delay can be Based on the average transmission delay and the delay of N transmission data packets, the transmission jitter parameter (expressed as jitter) is determined. The calculation method of the transmission jitter parameter can be shown in the following formula (2):
[0106]
[0107] Device A can determine whether the transmission jitter parameter is greater than the jitter threshold. If the transmission jitter parameter is greater than the jitter threshold, device A can determine that the streaming media type service has a stuck situation; if the transmission jitter parameter is less than or equal to the jitter threshold, device A can determine that the streaming media type service has not a stuck situation. Among them, the method for determining the delay of transmitting data packets can be as follows: Figure 2C As shown, device A (sender) can record the sending time of the application layer data packet, which is recorded as t init After receiving the application layer data packet, device B (receiving end) can send an acknowledgment character (ACK) data packet to device A; device A can record the time of receiving the ACK data packet, which is recorded as t final Device A can send the initand receiving time t final , determine the round-trip time (RTT) of the data packet.
[0108] In some cases, the specific implementation method for device A to detect whether a streaming media type service has a stuck situation can also be a traffic light method. Specifically, device A can obtain the data round-trip delay RTT of each service transmitted in the transmission link. If the data round-trip delay of all services in the transmission link is less than the corresponding busy threshold (also called busy threshold), then device A can determine that the transmission link is in a green light state; if the data round-trip delay of a service in the transmission link is greater than the corresponding busy threshold, and the data round-trip delay of all services in the transmission link is less than the corresponding timeout threshold (also called timeout threshold), then device A can determine that the transmission link is in a yellow light state; if the data round-trip delay of a service in the transmission link is greater than the corresponding timeout threshold, then device A can determine that the transmission link is in a red light state. When the transmission link is in the red light state, device A can determine that a stuck situation has occurred in the streaming media type service transmitted in the transmission link.
[0109] In some cases, the specific implementation method of speed limiting for file-type services can be: determining the maximum effective rate of the transmission link according to the Modulation and Coding Scheme (MCS) rate of the transmission link, and the calculation method of the maximum effective rate can be: maximum effective rate = MCS rate multiplied by coefficient ρ, where the coefficient ρ satisfies greater than 0 and less than 1, for example: the value of coefficient ρ can be 0.7, 0.8, etc. After determining the maximum effective rate of the transmission link, the speed limit value of the file-type service can be determined based on the service description data of the streaming media type service between device A and device B. Assume that there are M streaming media type services between device A and device B, and these streaming media type services are numbered 1, 2, ..., M, and the bandwidth demand of the streaming media type service numbered m is expressed as R m , m is an integer greater than 0 and less than M, and the MCS rate corresponding to the streaming media type service is MCS m There are N file types of services between device A and device B, and the MCS rate of the transmission link for each file type of service is r n ; The speed limit value of the file type service can be determined by the method shown in the following formula (3):
[0110]
[0111] By using the method shown in formula (3), the speed limit value of each file type of service among N file types can be determined. Device A can determine the bandwidth allocated to the file type service based on the speed limit value, thereby achieving speed limit processing for the file type service. For example, a multi-link system includes a link LAB, which is a link from device A (mobile phone) to device B (tablet) (with a maximum effective rate of 200 Mbps). The multi-link system also includes a link LAC, which is a link from device A (mobile phone) to device C (PC) (with a maximum effective rate of 100 Mbps). The multi-link system also includes four services, namely, the projection service P1 (required bandwidth of 30 Mbps), which is carried on the link LAB; the voice call service V1 (required bandwidth of 20 Mbps), which is carried on the link LAB; the voice call service V2 (required bandwidth of 20 Mbps), which is carried on the link LAB; and the file service D1, which is carried on the link LAC. Using the method shown in the above formula (3), the speed limit value of the file service D1 can be calculated as (1-30 / 200-20 / 200-20 / 200)*0.8=0.52. Among them, 0.8 is the collision prevention coefficient, and the speed limit value 0.52 is used to indicate that within a unit time (such as 1 second), the business data of the file service D1 is allowed to be sent within a time not greater than 0.52 times the unit time (0.52 seconds). In another way of expressing the speed limit value of the file service D1, it is 0.52*100Mbps=52Mbps. Through the method provided in this application, the speed of file-type services can be limited, and the jamming of streaming media-type services can be solved, which is beneficial to improving the user experience while ensuring the efficiency of service transmission.
[0112] (4) Explain the multipath scheduling strategy when the two links do not affect each other and the service is transmitted.
[0113] When the two links do not affect each other, device A can use the above method to detect whether streaming services experience lag when transmitting streaming services. Depending on whether streaming services experience lag, there are two different multipath scheduling strategies, each described below.
[0114] The first type describes the multipath scheduling strategy when the two links do not affect each other and device A detects that streaming media services are experiencing lag.
[0115] When device A detects that a streaming media type of service is stuck, device A can determine whether redundant concurrency has been enabled for the streaming media type of service. Redundant concurrency is a method provided by the present application for sending the same service data using multiple transmission links. This method can avoid transmission jams caused by the instability of the quality of individual transmission links, and effectively reduce transmission delay and jitter. If device A has enabled redundant concurrency for streaming media type services, device A can determine the multipath scheduling strategy as follows: reporting quality of service (QOE) information to the service system, so that the service system reduces the transmission bit rate of streaming media type services to alleviate the jamming phenomenon. If device A has not enabled redundant concurrency for streaming media type services, device A can further determine whether there is a file type of service between device A and device B (that is, whether multiple transmission links between device A and device B transmit file type services). If no file-based services exist between device A and device B, device A can determine the multipath scheduling strategy to implement redundant concurrency for streaming services to mitigate lag. If file-based services exist between device A and device B, device A can further determine whether the file-based services are already rate-limited. If so, device A can determine the multipath scheduling strategy to implement redundant concurrency for streaming services. If file-based services are not rate-limited, device A can prioritize rate-limiting them, effectively determining the multipath scheduling strategy to implement rate-limiting for file-based services. After implementing the multipath scheduling strategy, device A can continue to monitor streaming services for lag.
[0116] like Figure 2D As shown, when the two links do not affect each other and a streaming type of service is detected to be stuck, device A can first determine whether redundant concurrency has been enabled for the streaming type of service. If redundant concurrency has been enabled for the streaming type of service (that is, yes), device A can report QOE information to reduce the bit rate of the streaming type of service and alleviate the stuck phenomenon; if redundant concurrency is not enabled for the streaming type of service (that is, no), device A can determine whether there is a file type of service between device A and device B. If there is no file type of service (that is, no), device A can enable redundant concurrency for the streaming type of service; if there is a file type of service (that is, yes), device A determines whether the file type of service has been speed-limited. If the file type of service has been speed-limited (that is, yes), device A can enable redundant concurrency for the streaming type of service; if the file type of service has not been speed-limited (that is, no), device A can speed-limit the file type of service. After device A speed-limits the file type of service, it can continue to detect whether the streaming type of service has been stuck. As Figure 2DThe multipath scheduling strategy determination method shown can use file-type service rate limiting, redundant concurrency, and QOE information reporting methods to alleviate the jamming phenomenon when streaming media services experience jamming, which is beneficial to improving the transmission efficiency of streaming media services and enhancing the user experience.
[0117] In some cases, two links (including a first transmission link and a second transmission link) exist between device A (the transmitter) and device B (the receiver). A specific implementation method for redundant concurrency can be as follows: device A can send a redundant concurrency instruction to device B. Upon receiving the redundant concurrency instruction, device B can determine a data cache area that can store one or more data packets. Device A can use the first and second transmission links to send the same service data packet to device B. Device B can store the received data packets in the data cache area according to the packet number. If a data packet with the same number is received, device B can store it repeatedly in the data cache area. After the data cache area is fully stored, device B can report the data packets stored in the data cache area to the application layer of device B. Because the first and second transmission links transmit the same service data packet, if the data packet transmission of the first and / or second transmission links is unstable (for example, when there is packet loss), sending the same data packet on both links can achieve a certain degree of data packet complementarity, thereby effectively reducing the possibility of incoherent data packets received by device B due to packet loss.
[0118] like Figure 2E As shown, device A can be a mobile phone, device B can be a tablet, and two links (i.e., a first transmission link and a second transmission link) are established between device A and device B. After redundant concurrency is enabled, device A can send the same data packet through the first transmission link and the second transmission link (e.g., Figure 2E After receiving the data packets sent by device A, device B can store the data packets in the data cache area according to the data packet numbers. Figure 2EAs shown, the first transmission link only completely transmits data packets 1 and 2 to device B, and data packet 3 is lost. The second transmission link only completely transmits data packets 1 and 3 to device B, and data packet 2 is lost. Three data packets can be stored in the data cache area of device B. Device B can store data packet 1 received through the first transmission link and the second transmission link in the first position in the data cache area, store data packet 2 received through the first transmission link in the second position in the data cache area, and store data packet 3 received through the second transmission link in the third position in the data cache area. When the data cache area is fully stored (that is, data packets are stored in each position in the data cache area), device B can report the data packets stored in the data cache area to the application layer to display the data contained in the data packets. Through Figure 2E The redundant concurrency method shown can effectively utilize the diversity of links in a multi-link system to overcome problems caused by the instability of individual links, effectively reduce transmission delay and jitter, improve overall transmission quality, and enhance the user experience of the user of device B.
[0119] The second type: describes the multipath scheduling strategy when the two links do not affect each other and device A detects that there is no lag in the streaming media service.
[0120] When device A detects that no streaming media service is experiencing lag, it can determine whether redundant concurrency has been enabled for the streaming media service. If redundant concurrency is not enabled for the streaming media service, the link carrying the streaming media service is relatively stable and no scheduling is required. In this case, device A can continue to monitor for lag in the streaming media service. If redundant concurrency is enabled for the streaming media service, some of the multiple links carrying the streaming media service are unstable. Device A can further monitor the quality of the optimal link in the multi-link system. The quality of the optimal link can be determined based on the transmission jitter parameter of the optimal link. If the quality of the optimal path is excellent (i.e., the transmission jitter parameter of the optimal path is less than a preset threshold), the optimal link can independently carry the streaming media service and redundant concurrency is no longer required for the streaming media service. Device A can then determine the multipath scheduling policy as: disabling redundant concurrency for the streaming media service. If the quality of the optimal path is poor (i.e., the transmission jitter parameter of the optimal path is greater than or equal to a preset threshold), the optimal link cannot independently carry the streaming media service and device A can continue to monitor for lag in the streaming media service. The multipath scheduling strategy provided in this application can promptly shut down the enabled redundant concurrency when no lag occurs in streaming media services, thereby saving transmission resources while ensuring service transmission efficiency.
[0121] like Figure 2FAs shown, two transmission links (the first transmission link and the second transmission link) are established between device A and device B, and the link relationship between the two transmission links is that the two links do not affect each other. There is a streaming type of service between device A and device B. Device A can detect whether the streaming type service has a stuck situation. If device A detects that the streaming type service has a stuck situation (that is, yes), device A can execute the above-mentioned multipath scheduling strategy when the link relationship is that the two links do not affect each other and device A detects that the streaming type service has a stuck situation ( Figure 2F Not shown). If device A does not detect that the streaming type of service has a stuck situation (ie, no), device A can determine whether redundant concurrency has been performed for the streaming type of service; if device A has performed redundant concurrency for the streaming type of service (ie, yes), device A can determine whether the transmission jitter parameter of the optimal link (ie, the first transmission link or the second transmission link) is less than the jitter threshold. If the transmission jitter parameter of the optimal link is less than the jitter threshold (ie, yes), it means that the optimal link is stable enough to carry the streaming type of service alone, then device A can determine the multipath scheduling strategy as: turn off redundant concurrency for the streaming type of service. In other cases, device A can continue to detect whether the streaming type of service has a stuck situation. Through Figure 2F The method shown can disable redundant concurrency for streaming media services when the transmission link is relatively stable, thereby effectively saving transmission resources and improving the transmission efficiency of streaming media services.
[0122] It should be noted that in the above embodiment, the device that determines the multipath scheduling strategy is device A. However, in actual applications, when device B initiates a service or transmits service data to device A, device B can also execute the method for determining the multipath scheduling strategy as described above. In the above embodiment, device A only performs jam detection for streaming services and determines the corresponding multipath scheduling strategy, effectively reducing jams in streaming services and improving the user experience. In actual applications, device A can also perform jam detection for file-based services and determine the corresponding multipath scheduling strategy (this determination method can be similar to the above method).
[0123] In a multi-link system, the wireless transmission link established between device A and device B has a certain degree of randomness, which makes the wireless transmission link prone to link interruption. In response to this situation, the present application also provides a service scheduling method, which can achieve continuous transmission of service data by performing multipath scheduling on the service, effectively overcoming the limitation that a single transmission link is prone to interruption. Specifically, there can be multiple transmission links (including a first transmission link and a second transmission link) between device A and device B, wherein the first transmission link carries the first service (device A sends the service data of the first service to device B via the first transmission link). When an unexpected interruption of the first transmission link is detected, device A can generate a multipath scheduling request and generate a multipath scheduling strategy in response to the multipath scheduling request. The multipath scheduling strategy can be: use the second transmission link to carry the first service. Then, device A can send the service data of the first service to device B via the second transmission link according to the multipath scheduling strategy, instead of sending the service data of the first service via the first transmission link.
[0124] When device A detects that the first transmission link has recovered, it can generate a multipath scheduling request again and, in response to the request, create a multipath scheduling policy. In this case, the multipath scheduling policy can be to use the first transmission link to carry the first service. Device A can then, based on the multipath scheduling policy, send the service data of the first service to device B via the first transmission link, rather than sending the service data of the first service via the second transmission link.
[0125] like Figure 2G As shown, multiple transmission links (including a first transmission link and a second transmission link) are established between device A and device B. Device A can send service data to device B through the first transmission link. When it is detected that the first transmission link is accidentally interrupted, device A can generate a multipath scheduling strategy. The multipath scheduling strategy can be: using the second transmission link to carry the first service; device A can send the service data of the first service to device B through the second transmission link according to the multipath scheduling strategy, and no longer send the service data of the first service through the first transmission link. When it is detected that the first transmission link is restored, device A can generate a multipath scheduling strategy. The multipath scheduling strategy can be: using the first transmission link to carry the first service; device A can send the service data of the first service to device B through the first transmission link according to the multipath scheduling strategy, and no longer send the service data of the first service through the second transmission link. Through Figure 2G The method shown can utilize multiple transmission links to achieve continuous transmission of business data, avoid business data transmission interruption caused by accidental interruption of the transmission link in a single transmission link scenario, effectively improve the transmission efficiency of business data, and enhance the user experience.
[0126] As follows Figure 1AThe multi-link system composed of two devices (device A and device B) shown in the figure includes a first transmission link (WiFi direct link) and a second transmission link (WLAN connection link). The service scheduling process of the multi-link system is illustrated in the following cases: service startup, service transmission abnormality, the same operating frequency band of the transmission links, and different operating frequency bands of the transmission links.
[0127] When device A and device B in a multi-link system establish a transmission link for the first time, device A and device B may determine link information, which may indicate whether the first transmission link and the second transmission link established between device A and device B affect each other (i.e., the link information may indicate the link relationship between the first transmission link and the second transmission link). Figure 3A As shown, the specific method for determining link information includes but is not limited to the following steps:
[0128] S101: The service module of device A initiates a service request.
[0129] For example, device A can display a user interface and interact with the user through the user interface. In response to the user's operation, the service module of device A can initiate a service request, which can request device A to establish a first transmission link with device B. It should be noted that device A and device B have already established a second transmission link (WLAN connection link) at this time.
[0130] S102 : The service module of device A sends a conference establishment request to the transmission module of device A.
[0131] Exemplarily, the service module of device A sends a conference establishment request to the transmission module in response to the service request, so as to apply for establishing a conference (Session) with device B.
[0132] S103: The transmission module of device A sends a connection establishment request to the networking module of device A.
[0133] Exemplarily, the transmission module may send a connection establishment request to the networking module in response to the conference establishment request, and the networking module is used to determine the type of the transmission link established with device B.
[0134] S104 : The networking module of device A sends a WiFi direct connection request to the short-range module of device A.
[0135] For example, the networking module of device A may determine to establish a Wi-Fi direct link with device B, and send a Wi-Fi direct connection request to the short-range module of device A.
[0136] S105 : The short-range module of device A sends a WiFi direct connection request to the short-range module of device B.
[0137] Exemplarily, the short-range module of device A sends a Wi-Fi direct connection request to device B to request to establish a Wi-Fi direct connection link.
[0138] S106 : The short-range module of device B sends a setup completion message to the short-range module of device A, and also sends a setup completion message to the transmission module of device B.
[0139] For example, device B responds to the Wi-Fi direct connection request, establishes a Wi-Fi direct link (i.e., a first transmission link) with device A, and sends a setup completion message to the short-range module of device A. At the same time, the short-range module of device B may also send a setup completion message to the transmission module of device B.
[0140] S107 : The short-distance module of device A sends a setup completion message to the transmission module of device A.
[0141] For example, after receiving the establishment completion information, the short-range module of device A may forward the establishment completion information to the transmission module of device A, so that the transmission module performs a subsequent link information determination process.
[0142] S108 : The transmission module of device A sends a first query request to the short-range module of device A.
[0143] Exemplarily, the transmission module of device A may send a first query request to the short-range module. The first query request may query whether device A supports DBDC, the frequency of the first transmission link, and the frequency of the second transmission link.
[0144] S109 : The short-range module of device A sends the first query result to the transmission module of device A.
[0145] For example, the short-range module of device A can determine whether device A supports DBDC, the frequency of the first transmission link, and the frequency of the second transmission link in response to the first query request, and generate a first query result. The short-range module can send the first query result to the transmission module.
[0146] S110 : The transmission module of device A sends the first query result and the second query request to the transmission module of device B.
[0147] For example, after receiving the first query result, the transmission module of device A needs to determine whether device B supports DBDC and, therefore, determine the link information. Therefore, the transmission module of device A can send the first query result and a second query request to the transmission module of device B, where the second query request is used to inquire whether device B supports DBDC.
[0148] S111 . The transmission module of device B sends a second query request to the short-range module of device B.
[0149] For example, after receiving the first query result and the second query request sent by device A, device B may store the first query result and send the second query request to the short-range module of device B.
[0150] S112 : The short-range module of device B sends the second query result to the transmission module of device B, and also sends the second query result to the transmission module of device A.
[0151] For example, the short-range module of device B determines whether device B supports DBDC in response to the second query request and generates a second query result. The short-range module of device B may transmit the second query result to the transmission module of device B, so that the transmission module of device B determines the link information based on the first and second query results. The short-range module of device B may also transmit the second query result to the transmission module of device A, so that the transmission module of device A determines the link information.
[0152] S113 . The transmission module of device A determines and stores link information, and the transmission module of device B determines and stores link information.
[0153] Exemplarily, the transmission module of device A can determine the link information based on the first query result and the second query result determined by the short-range module of device B, and store the link information. The transmission module of device B can also determine the link information based on the first query result and the second query result. The link information determined by device A and device B is the same. After determining the link information, the transmission module of device A can also store the link information in the networking module of device A, so that when device A and device B establish a transmission link again later, the link information can be directly used, thereby avoiding resource consumption caused by repeated queries. After determining the link information, the transmission module of device B can also store the link information in the networking module of device B.
[0154] pass Figure 3A With the method shown, devices in a multi-link system can determine and store link information when a link is first established, which is beneficial for subsequent scheduling of services in the multi-link system based on the link information, thereby improving service transmission efficiency and transmission performance.
[0155] The following is a detailed description of the service scheduling method provided by this application, that is, the method for determining the multipath scheduling strategy. The service scheduling method includes (1) a service scheduling method when two links do not affect each other and the service is started, (2) a service scheduling method when two links do not affect each other and the service is transmitted, (3) a service scheduling method when two links affect each other and the service is started, (4) a service scheduling method when two links affect each other and the service is transmitted, and (5) a service scheduling method when the transmission link is interrupted.
[0156] (1) Service scheduling method when two links do not affect each other and the service is started
[0157] Device A and device B can use the above Figure 3A The method shown in FIG. 1 determines link information indicating that the first transmission link and the second transmission link between device A and device B do not affect each other. After determining the link information, the transmission link between device A and device B can be disconnected. At this time, Figure 3B As shown, when the started service is a streaming media type service (such as a screen projection service), the service scheduling method includes but is not limited to the following steps:
[0158] S201. The screen projection application of device A receives a screen projection request.
[0159] For example, device A can display a user interface that can be used to interact with the user. The screen projection application of device A can receive a screen projection request generated based on a user operation instruction. The screen projection request is used to request a screen projection operation to device B, that is, to perform a screen projection service on device B. The service type of the screen projection service is a streaming media type.
[0160] S202. The screen projection application of device A sends a multipath scheduling request to the multipath scheduling system of device A.
[0161] For example, device A includes a multipath scheduling system that determines multipath scheduling instructions based on the multipath scheduling strategy and link information, thereby implementing service scheduling in the multilink system. When device A starts the screen projection service, it can send a multipath scheduling request to the multipath scheduling system.
[0162] S203 : The multipath scheduling system of device A sends an information query request to the transmission module of device A.
[0163] Exemplarily, link information is stored in the transmission module of device A. The multipath scheduling system of device A may send an information query request to the transmission module, where the information query request is used to request link information.
[0164] S204 : The transmission module of device A sends the link information to the multipath scheduling system of device A.
[0165] Exemplarily, the transmission module of device A sends link information to the multipath scheduling system of device A in response to the information query request. The multipath scheduling system can store the link information so that when a multipath scheduling request is received again in the future, the multipath scheduling system can directly reuse the link information, thereby reducing processing time and improving the efficiency of service scheduling.
[0166] S205 : The multipath scheduling system of device A sends first scheduling information to the link establishment system of device A.
[0167] Exemplarily, the multipath scheduling system of device A can determine the first scheduling information based on the link information and the screen projection service. Specifically, the first transmission link is a WIFI direct link, the second transmission link is a WLAN connection link, the transmission rate of the first transmission link is greater than the transmission rate of the second transmission link, and the link construction time of the first transmission link is longer than the construction time of the second transmission link. In order to quickly start the transmission process of the screen projection service, the multipath scheduling system of device A can determine the first scheduling information as: establish a second transmission link with device B, and use the second transmission link to carry the screen projection service. After determining the first scheduling information, the multipath scheduling system of device A can send the first scheduling information to the link establishment system of device A to establish the corresponding transmission link.
[0168] S206 , the link establishment system of device A sends a link establishment request to the WIFI network card 2 of device A.
[0169] For example, in response to the first scheduling information, the link establishment system of device A sends a link establishment request to the WIFI network card 2 of device A, so as to establish a WLAN connection link between device A and device B. A WIFI network card is a WIFI wireless network card, which is a terminal wireless network device that can help devices connect to a wireless network.
[0170] S207 : The WIFI network card 2 of device A establishes a second transmission link with the WIFI network card 2 of device B, and sends an establishment completion message to the multipath scheduling system of device A.
[0171] For example, the WIFI network card 2 of device A establishes a second transmission link with the WIFI network card 2 of device B, which is a WLAN connection link. After the link is established, the WIFI network card 2 of device A can send an establishment completion message to the multipath scheduling system of device A.
[0172] S208 : The multipath scheduling system of device A sends a bandwidth allocation request to the bandwidth allocation system of device A.
[0173] For example, in order to ensure the smoothness of service transmission, the multipath scheduling system of device A can send a bandwidth allocation request to the bandwidth allocation system of device A, and the bandwidth allocation system can allocate bandwidth for the screen projection service. Specifically, the bandwidth allocation system can determine the remaining bandwidth of the transmission link in the multi-link system to determine whether it meets the bandwidth requirements of the service. If the remaining bandwidth of the transmission link meets the bandwidth requirements of the service, the bandwidth allocation system can allocate bandwidth according to the service requirements; if the remaining bandwidth of the transmission link meets the bandwidth requirements of the service, the bandwidth allocation system does not allocate bandwidth. At this time, the bandwidth allocation system can send a service startup failure message to the application layer to terminate the startup process of the service.
[0174] S209. The bandwidth allocation system of device A sends bandwidth parameters to the transmission module of device A, and the screen projection application of device A sends business data of the screen projection business to the transmission module of device A.
[0175] For example, the bandwidth allocation system of device A can determine a bandwidth parameter based on the screen projection service, where the bandwidth parameter is used to indicate the bandwidth allocated to the screen projection service. The bandwidth allocation system can send bandwidth data to the transmission module of device A, and the screen projection application of device A can send service data of the screen projection service to the transmission module of device A, so that the transmission module transmits the service data of the screen projection service.
[0176] S210. The transmission module of device A sends the business data of the screen projection service to the WIFI network card 2 of device A based on the bandwidth parameters.
[0177] S211. The WIFI network card 2 of device A sends the business data of the screen projection service to the WIFI network card 2 of device B.
[0178] Among them, the WIFI network card 2 of device A and the WIFI network card 2 of device B realize the transmission of business data of the screen projection service through the second transmission link.
[0179] S212: The multipath scheduling system of device A sends second scheduling information to the link establishment system of device A.
[0180] For example, after device A uses the second transmission link to transmit the service data of the screen projection service, since the transmission efficiency of the first transmission link is higher than that of the second transmission link, in order to further improve the transmission efficiency of the screen projection service, the multipath scheduling system can generate second scheduling information. The second scheduling information can be: construct the first transmission link and use the first transmission link to carry the screen projection service. The multipath scheduling system can send the second scheduling information to the link establishment system of device A.
[0181] S213 , the link establishment system of device A sends a link establishment request to the WIFI network card 1 of device A.
[0182] Exemplarily, the link establishment system of device A sends a link establishment request to the WIFI network card 1 of device A in response to the second scheduling information, so as to establish a WIFI direct link between device A and device B.
[0183] S214 : The WIFI network card 1 of device A establishes a first transmission link with the WIFI network card 1 of device B, and sends an establishment completion message to the multipath scheduling system of device A.
[0184] For example, the WIFI network card 1 of device A establishes a first transmission link with the WIFI network card 1 of device B. The first transmission link is a WIFI direct link. After the first transmission link is established, the WIFI network card 1 of device A may send an establishment completion message to the multipath scheduling system of device A.
[0185] S215. The transmission module of device A sends the business data of the screen projection service to the WIFI network card 1 of device A based on the bandwidth parameters.
[0186] S216. The WIFI network card 1 of device A sends the business data of the screen projection service to the WIFI network card 1 of device B through the first transmission link.
[0187] S217 : The multipath scheduling system of device A sends third scheduling information to the WIFI network card 2 of device A.
[0188] For example, after device A transmits the screen projection service data via the first transmission link, it may no longer transmit the screen projection service data via the second transmission link to conserve transmission resources. Therefore, device A's multipath scheduling system may generate third scheduling information, which may include: the second transmission link does not carry the screen projection service data. Device A's multipath scheduling system may send the third scheduling information to device A's Wi-Fi network card 2.
[0189] S218. The WIFI network card 2 of device A no longer sends business data of the screen projection service.
[0190] Through the above Figure 3B The process shown can, when the service is started, first use the transmission link with shorter establishment time but lower transmission efficiency to transmit service data. After the transmission link with higher transmission efficiency is established, the transmission link with higher transmission efficiency can be used to transmit service data. This avoids the low service startup efficiency caused by the long time spent on link establishment when the service is started. It can achieve rapid service startup and is also beneficial to improving the user experience.
[0191] above Figure 3B The scheduling method for starting a streaming media type service is shown. The scheduling information in the scheduling method is determined based on the above-mentioned "two links do not affect each other, and the multipath scheduling strategy when the service is started". Specifically, Figure 3B In the case where, before the screen projection service is started, there is no other service in transmission state between device A and device B, and the first transmission link is better than the second transmission link, the streaming media type screen projection service should be established on the optimal link (i.e., the first transmission link).
[0192] In a multi-link system, there may be multiple services between device A and device B. For example, after starting the screen projection service, there is a call service to be started. Figure 3C As shown, when device A starts a call service (the service type of the communication service is a streaming media type) during the transmission of the screen projection service, the service scheduling method may include but is not limited to:
[0193] S219: The call application of device A receives the call request.
[0194] For example, the call application of device A may receive a call request generated according to a user operation instruction. The call request is used to request a call operation to device B, that is, to perform a call service on device B.
[0195] S220 : The call application of device A sends a multipath scheduling request to the multipath scheduling system of device A.
[0196] Illustratively, the call application of device A sends a multipath scheduling request to the multipath scheduling system of device A in response to the call request, requesting service scheduling for the call service.
[0197] S221 : The multipath scheduling system of device A sends fourth scheduling information to the bandwidth allocation system of device A.
[0198] For example, if a streaming media-type screen projection service is in progress between devices A and B, i.e., no file-based service exists between devices A and B, then based on the aforementioned "two links do not affect each other and the multipath scheduling strategy at service startup," the multipath scheduling system can determine the fourth scheduling information as follows: use the first transmission link to carry the call service. The multipath scheduling system can also request device A's bandwidth allocation system to allocate bandwidth for the call service and obtain bandwidth parameters for the call service.
[0199] S222 : The bandwidth allocation system of device A sends bandwidth parameters to the transmission module of device A, and the call application of device A sends service data of the call service to the transmission module of device A.
[0200] The transmission module of device A may also be referred to as a sending system of device A. The transmission module of device A may transmit service data of a call service based on a bandwidth parameter.
[0201] S223 : The transmission module of device A transmits the service data of the call service to the WIFI network card 1 of device A based on the bandwidth parameter.
[0202] S224 : The WIFI network card 1 of device A sends the service data of the call service to the WIFI network card 1 of device B through the first transmission link.
[0203] Through the above Figure 3C The method shown can realize the startup of multiple streaming media type services, ensuring the transmission efficiency of services in the multi-link system.
[0204] In a multi-link system, there may be multiple streaming media services and multiple file services between device A and device B. For example, after starting the screen projection service and call service, there is a file service to be started. Figure 3D As shown, when device A starts a file service (the service type of the file service is file type) during the transmission of the screen projection service and the call service, the service scheduling method may include but is not limited to:
[0205] S225 : The file application of device A receives the file transfer request.
[0206] For example, the file application of device A may receive a file transfer request generated according to a user operation instruction, where the file transfer request is used to request file transfer to device B, that is, to perform a file service on device B.
[0207] S226 : The file application of device A sends a multipath scheduling request to the multipath scheduling system of device A.
[0208] For example, the file application of device A may send a multipath scheduling request to the multipath scheduling system of device A in response to the file transfer request, so as to request service scheduling for the file service.
[0209] S227 : The multipath scheduling system of device A sends fifth scheduling information to the bandwidth allocation system of device A.
[0210] For example, there are screen projection services and call services in the transmission state between device A and device B (both established on the first transmission link), and the service types of the screen projection services and call services are both streaming media types, while the service type of the file service to be started is file type. Based on the above-mentioned "two links do not affect each other, and the multipath scheduling strategy when the service is started", when there are file type services and streaming media type services between device A and device B, it should be determined whether the non-optimal link (i.e., the second transmission link) can carry all streaming media type services. The multipath scheduling system of device A can determine whether the second transmission link can carry the screen projection service and the call service based on the method provided by the above formula (1). Assuming that the multipath scheduling system determines that the second transmission link can carry the screen projection service and the call service, the multipath scheduling system of device A can generate the fifth scheduling information, which can be: establish the file service on the first transmission link. The multipath scheduling system of device A can also request the bandwidth allocation system to allocate bandwidth for the file service to obtain the bandwidth parameters of the file service.
[0211] S228 : The bandwidth allocation system of device A sends bandwidth parameters to the transmission module of device A, and the file application of device A sends service data of the file service to the transmission module of device A.
[0212] The transmission module of device A may determine bandwidth parameters based on the bandwidth allocation system and transmit service data of the file service.
[0213] S229 . The transmission module of device A sends the service data of the file service to the WIFI network card 1 of device A.
[0214] S230 : The WIFI network card 1 of device A sends the service data of the file service to the WIFI network card 1 of device B through the first transmission link.
[0215] S231 . The multipath scheduling system of device A sends sixth scheduling information to the WIFI network card 2 of device A.
[0216] For example, if the file service is established on the first transmission link, and the second transmission link can carry the call service and the screen projection service, then to ensure the transmission efficiency of the file service, the call service, and the screen projection service, the multipath scheduling system of device A can generate sixth scheduling information. This sixth scheduling information can be: use the second transmission link to carry the call service and the screen projection service. The multipath scheduling system can send the sixth scheduling information to the Wi-Fi network card 2 of device A, so that the Wi-Fi network card 2 can transmit the call service and the screen projection service.
[0217] S232. The WIFI network card 2 of device A sends the service data of the call service and the screen projection service to the WIFI network card 2 of device B through the second transmission link.
[0218] S233. The WIFI network card 1 of device A no longer sends the service data of the call service and the screen projection service to the WIFI network card 1 of device B.
[0219] After the service scheduling is completed, there are file services, call services and screen projection services in the transmission state between device A and device B, and the file service is established on the first transmission link (optimal link), and the call service and screen projection service are established on the second transmission link (non-optimal link).
[0220] Through the above Figure 3D The service scheduling method shown can establish file-type services and streaming media-type services on different transmission links without affecting each other, thereby isolating different types of services and effectively ensuring the transmission efficiency of different types of services. It can then fully utilize the transmission resources in the multi-link system and improve service transmission efficiency and transmission performance.
[0221] When the first transmission link and the second transmission link between device A and device B do not affect each other in a multi-link system, and there are multiple services of different types to be started, the service scheduling process is as follows: Figure 3E As shown: receiving a screen projection service startup request; establishing a second transmission link, and using the second transmission link to carry the screen projection service; establishing a first transmission link, and using the first transmission link to carry the screen projection service; receiving a call service startup request; using the first transmission link to carry the call service; receiving a file service startup request; using the first transmission link to carry the file service; migrating the screen projection service and the call service from the first transmission link to the second transmission link. Through the method provided in this application, it is possible to achieve coordination between service startup and multiple links, improve service startup efficiency, ensure that the service is established on a suitable transmission link, make full use of the transmission resources in the multi-link system, and improve service transmission efficiency and transmission performance.
[0222] (2) The two links do not affect each other, and the service scheduling method during service transmission
[0223] When streaming media services are transmitted between device A and device B, in order to ensure smooth transmission of streaming media services, device A can detect transmission anomalies of streaming media services and perform corresponding service scheduling. Figure 3F As shown, there are file services, screen projection services, and call services in the transmission state between device A and device B, and the file services, screen projection services, and call services are all established on the first transmission link (the first transmission link and the second transmission link do not affect each other). The service scheduling method includes but is not limited to the following steps:
[0224] S301. The QOE detection system of device A detects that the screen projection service is stuck.
[0225] Exemplarily, the quality of experience (QOE) detection system of device A can detect freezes in the screen projection service that is in the transmission state. Device A can use the method shown in the above formula (2) to determine the transmission jitter parameter. When the transmission jitter parameter corresponding to the screen projection service is greater than the jitter threshold, device A can determine that the screen projection service has been detected to be freezed. Currently, there are file services, call services and screen projection services in the transmission state between device A and device B, and the screen projection service has been freezed. According to the above "two links do not affect each other, and the multipath scheduling strategy during service transmission", device A can limit the speed of file type services (i.e., file services) between device A and device B. If it is determined that the screen projection service has been detected to be freezed, the QOE detection system can generate a quality of service scheduling request.
[0226] S302: The QOE detection system of device A sends a quality of service scheduling request to the QOS scheduling system of device A.
[0227] For example, the QOE detection system of device A may generate a quality of service scheduling request in response to detecting a freeze in the screen projection service, where the quality of service scheduling request is used to request speed limiting for the file service transmitted within the first transmission link. The QOE detection system may send the quality of service scheduling request to the quality of service (QOS) scheduling system of device A. The QOS scheduling system is used to determine the speed limit parameters for file-type services to achieve speed limiting for file-type services.
[0228] S303: The QOS scheduling system of device A sends the speed limit value to the bandwidth allocation system of device A.
[0229] Exemplarily, the QOS scheduling system of device A can determine the speed limit value of the file service according to the method shown in the above formula (3), and can send the speed limit value to the bandwidth allocation system of device A, so that the bandwidth allocation system determines the new bandwidth parameters of the file service according to the speed limit value.
[0230] S304 : The bandwidth allocation system of device A sends new bandwidth parameters to the transmission unit of device A.
[0231] For example, the bandwidth allocation system of device A may determine new bandwidth parameters for the file service based on the service requirements of the file service and the speed limit of the file service. The bandwidth allocation system may also send the new bandwidth parameters to the transmission unit of device A so that the service data of the file service can be subsequently transmitted based on the new bandwidth parameters.
[0232] S305 : The transmission unit of device A sends the service data of the file service to the WIFI network card 1 of device A based on the new bandwidth parameter.
[0233] For example, since the file service is carried on the first transmission link, and the first transmission link is established based on the WIFI network card 1 of device A and the WIFI network card 1 of device B, the transmission unit of device A can send the service data of the file service to the WIFI network card 1 of device A based on the new bandwidth parameters.
[0234] S306 : The WIFI network card 1 of device A sends the service data of the file service to the WIFI network card 1 of device B.
[0235] S307. The QOE detection system of device A detects that the screen projection service is stuck.
[0236] For example, after the file service between device A and device B is speed-limited, device A can continue to detect whether the screen projection service is stuck. If the QOE detection system of device A detects that the screen projection service is still stuck, then since the file type service has been speed-limited, based on the above-mentioned "two links do not affect each other, and the multi-path scheduling strategy during service transmission", device A can enable redundant concurrency for the screen projection service. Specifically, after the QOE detection system of device A detects that the screen projection service is stuck, it can request multi-path scheduling.
[0237] S308 : The QOE detection system of device A sends a multipath scheduling request to the multipath scheduling system of device A.
[0238] For example, in response to detecting a freeze in the screen projection service, the QOE detection system of device A may generate a multipath scheduling request, which is used to request service scheduling for the screen projection service to resolve the freeze in the screen projection service. The QOE detection system of device A may send the multipath scheduling request to the multipath scheduling system of device A.
[0239] S309 : The multipath scheduling system of device A sends the sixth scheduling information to the transmission module of device A, and sends the sixth scheduling information to the multipath scheduling system of device B.
[0240] For example, the multipath scheduling system of device A may determine the sixth scheduling information, which may be: enabling redundant concurrency for the screen projection service. Figure 2E As shown, when redundant concurrency is performed, multiple transmission links between device A and device B need to cooperate. Therefore, the multipath scheduling system of device A can send the sixth scheduling information to the transmission module of device A, so that the transmission module of device A uses the WiFi network card 1 and WiFi network card 2 of device A to transmit the service data of the screen projection service. The transmission module of device A can also send the sixth scheduling information to the multipath scheduling system of device B to enable device B to determine the data cache area.
[0241] S310 : The multipath scheduling system of device B sends a buffer area acquisition request to the receiving system of device B.
[0242] Illustratively, after receiving the sixth scheduling information sent by device A, the multipath scheduling system of device B may send a cache area acquisition request to the receiving system of device B to determine a data cache area for storing data packets.
[0243] S311 : The receiving system of device B sends acquisition completion information to the multipath scheduling system of device B, and also sends acquisition completion information to the transmission module of device A.
[0244] For example, the receiving system of device B can determine the data cache area in response to the cache area acquisition request. After determining the data cache area, the receiving system of device B can send an acquisition completion message to the multipath scheduling system of device B. It can also send the acquisition completion message to the transmission module of device A, so that the transmission module of device A begins to use multiple transmission links to transmit the service data of the screen projection service.
[0245] S312. The transmission module of device A sends the business data of the screen projection service to the WIFI network card 1 of device A.
[0246] Among them, the transmission module of device A can determine the bandwidth parameters of the screen projection service based on the bandwidth allocation system, and send the business data of the screen projection service to the WIFI network card 1 of device A.
[0247] S313. The WIFI network card 1 of device A sends the business data of the screen projection service to the WIFI network card 1 of device B.
[0248] Among them, the WIFI network card 1 of device A transmits the business data of the screen projection service to device B through the first transmission link. The business data of the screen projection service includes one or more data packets.
[0249] S314. The WIFI network card 1 of device B sends the business data of the screen projection service to the receiving system of device B.
[0250] For example, the WIFI network card 1 of device B can send the received business data of the screen projection service to the receiving system of device B, and the receiving system of device B can store the business data of the screen projection service in the data cache area. When the data cache area is fully stored (that is, when the data cache area is full of business data), device B can display the business data stored in the data cache area.
[0251] S315. The transmission module of device A sends the business data of the screen projection service to the WIFI network card 2 of device A.
[0252] Among them, the transmission module of device A can determine the bandwidth parameters of the screen projection service based on the bandwidth allocation system, and send the business data of the screen projection service to the WIFI network card 1 of device A.
[0253] S316. The WIFI network card 2 of device A sends the business data of the screen projection service to the WIFI network card 2 of device B.
[0254] Among them, the WIFI network card 2 of device A sends the business data of the screen projection service to device B through the second transmission link.
[0255] S317. The WIFI network card 2 of device B sends the business data of the screen projection service to the receiving system of device B.
[0256] For example, the Wi-Fi network card 2 of device B can send the received business data of the screen projection service to the receiving system of device B, and the receiving system of device B can store the business data of the screen projection service in the data cache area. When repeated business data is received, device B can repeatedly store the business data in the corresponding position of the data cache area.
[0257] S318. The QOE detection system of device A detects that the screen projection service is stuck.
[0258] For example, after device A enables redundant concurrency for the screen projection service, device A can continue to detect whether the screen projection service is stuck. If the screen projection service is detected to be stuck again, according to the above-mentioned "two links do not affect each other, and the multipath scheduling strategy during service transmission", device A can report the quality of service (QOE) information to the business system (the business system corresponding to the screen projection service is the screen projection application), that is, the QOE detection system of device A generates an information reporting request after detecting that the screen projection service is stuck, and sends it to the QOE reporting system of device A.
[0259] S319 : The QOE detection system of device A sends an information reporting request to the QOE reporting system of device A.
[0260] For example, in response to detecting a freeze in the screen projection service, the QOE detection system of device A generates an information reporting request, which is used to request that service quality information be reported to the screen projection application corresponding to the screen projection service. The QOE detection system of device A can send the information reporting request to the QOE reporting system of device A.
[0261] S320. The QOE reporting system of device A sends service quality information to the screen projection application of device A.
[0262] For example, the QOE reporting system of device A can send service quality information to the screen projection application of device A, so that the screen projection application can alleviate the lag of the screen projection service by reducing the transmission bit rate.
[0263] Through the above Figure 3F The scheduling method shown can perform service scheduling when the two transmission links do not affect each other and streaming media type services are stuck. It can make full use of the transmission resources in the multi-link system to save service stuck situations, improve service transmission efficiency, and also improve user experience.
[0264] When the first transmission link and the second transmission link between device A and device B do not affect each other in a multi-link system, and a streaming media service freezes, the service scheduling process is as follows: Figure 3GAs shown: file services and streaming media services (including screen projection services and call services) are all established on the first transmission link; when device A detects that the screen projection service is stuck, device A can limit the speed of the file service; when device A detects that the screen projection service is stuck again, device A can enable redundant concurrency for the screen projection service; if device A still detects that the screen projection service is stuck, device A can upload service quality information (QOE information) to the screen projection application to solve the stuck situation of the screen projection service by reducing the transmission bit rate. The method provided in this application can alleviate the stuck situation of the service during service transmission, improve the transmission efficiency of the service, make full use of the transmission resources in the multi-link system, and improve the user experience.
[0265] (3) Service Scheduling Method When Two Links Affect Each Other and Services Are Started
[0266] Device A and device B can use the above Figure 3A The method shown determines link information, which indicates that the first transmission link and the second transmission link between device A and device B affect each other. After determining the link information, the transmission link between device A and device B can be disconnected. At this time, when the service started is a streaming type service (such as a screen projection service), according to the above "the two links do not affect each other, and the multipath scheduling strategy when the service is started", all services between device A and device B should be established on the optimal link, then the service scheduling method can be as described above. Figure 3B As shown, a first transmission link and a second transmission link are established between device A and device B (wherein the first transmission link is the optimal link and the second transmission link is a non-optimal link), and the screen projection service is established on the first transmission link.
[0267] When there is a screen projection service in the transmission state between device A and device B, device A can also start the call service. At this time, according to the above "two links do not affect each other, and the multipath scheduling strategy when the service is started", the call service should also be established on the optimal link. When device A starts the call service (the service type of the communication service is streaming media type), the service scheduling method can be as above Figure 3C As shown, the call service is established on the first transmission link.
[0268] When there is a screen projection service and a call service in the transmission state between device A and device B, device A can also start a file type service (such as a file service). At this time, according to the above "the two links do not affect each other, and the multipath scheduling strategy when the service is started", the file service should also be established on the optimal link, so Figure 3H As shown, when device A starts a file service, the service scheduling method includes but is not limited to the following steps:
[0269] S401: The file application of device A receives a file transfer request.
[0270] For example, the file application of device A may receive a file transfer request generated according to a user operation instruction, where the file transfer request is used to request file transfer to device B, that is, to perform a file service on device B.
[0271] S402 : The file application of device A sends a multipath scheduling request to the multipath scheduling system of device A.
[0272] For example, the file application of device A may send a multipath scheduling request to the multipath scheduling system of device A in response to the file transfer request, so as to request service scheduling for the file service.
[0273] S403 : The multipath scheduling system of device A sends seventh scheduling information to the bandwidth allocation system of device A.
[0274] For example, there are screen projection services and call services in the transmission state between device A and device B (both established on the first transmission link), and the service types of the screen projection service and the call service are both streaming media type, while the service type of the file service to be started is file type, then based on the above-mentioned "two links affect each other, and the multipath scheduling strategy when the service is started", the file type service and the streaming media type service are both established on the optimal link (i.e. the first transmission link). Then the multipath scheduling system of device A can generate the seventh scheduling information, and the seventh scheduling information can be: establish the file service on the first transmission link. The multipath scheduling system of device A can also request the bandwidth allocation system to allocate bandwidth for the file service and obtain the bandwidth parameters of the file service.
[0275] S404 : The bandwidth allocation system of device A sends bandwidth parameters to the transmission module of device A, and the file application of device A sends service data of the file service to the transmission module of device A.
[0276] The transmission module of device A may determine bandwidth parameters based on the bandwidth allocation system and transmit service data of the file service.
[0277] S405: The transmission module of device A transmits the service data of the file service to the WIFI network card 1 of device A based on the bandwidth allocation parameter.
[0278] S406 : The WIFI network card 1 of device A transmits the service data of the file service to the WIFI network card 1 of device A through the first transmission link.
[0279] Through the method provided in this application, when two transmission links affect each other, both file-type services and streaming media-type services can be established on the optimal link, avoiding the decrease in service transmission efficiency caused by the mutual influence of the two transmission links. The service can be established on a suitable transmission link, which is conducive to ensuring service transmission efficiency.
[0280] When the first transmission link and the second transmission link between device A and device B affect each other in a multi-link system, and there are multiple services of different types to be started, the service scheduling process is as follows: Figure 3I As shown: receiving a screen projection service startup request; establishing a second transmission link, and using the second transmission link to carry the screen projection service; establishing a first transmission link, and using the first transmission link to carry the screen projection service; receiving a call service startup request; using the first transmission link to carry the call service; receiving a file service startup request; using the first transmission link to carry the file service. Through the method provided in this application, it is possible to achieve coordination between service startup and multiple links, improve service startup efficiency, ensure that the service is established on a suitable transmission link, avoid multiple transmission links affecting each other, resulting in low service transmission efficiency, and make full use of the transmission resources in the multi-link system to improve service transmission efficiency and transmission performance.
[0281] (4) Service scheduling method when two links affect each other and service transmission occurs
[0282] When streaming media services are transmitted between device A and device B, in order to ensure smooth transmission of streaming media services, device A can detect transmission anomalies of streaming media services and perform corresponding service scheduling. Figure 3J As shown, there are file services, screen projection services, and call services in the transmission state between device A and device B, and the file services, screen projection services, and call services are all established on the first transmission link (the first transmission link and the second transmission link affect each other). The service scheduling method includes but is not limited to the following steps:
[0283] S501. The QOE detection system of device A detects that the screen projection service is stuck.
[0284] Exemplarily, the QOE detection system of device A can detect the jamming of the screen projection service in the transmission state. Device A can use the method shown in the above formula (2) to determine the transmission jitter parameter. Assuming that the QOE detection system of device A detects that the screen projection service is jammed, according to the above "two links affect each other, and the multipath scheduling strategy during service transmission", device A can limit the speed of the file type service (i.e., file service) between device A and device B. Specifically, the QOE detection system of device A can generate a quality of service scheduling request.
[0285] S502: The QOE detection system of device A sends a quality of service scheduling request to the QOS scheduling system of device A.
[0286] For example, the QOE detection system of device A may generate a quality of service scheduling request in response to detecting a freeze in the screen projection service, where the quality of service scheduling request is used to request speed limiting for the file service transmitted within the first transmission link. The QOE detection system may send the quality of service scheduling request to the QOS scheduling system of device A.
[0287] S503: The QOS scheduling system of device A sends the speed limit value to the bandwidth allocation system of device A.
[0288] For example, the QOS scheduling system of device A may determine the speed limit value of the file service according to the method shown in the above formula (3), and send the speed limit value to the bandwidth allocation system of device A.
[0289] S504 : The bandwidth allocation system of device A sends new bandwidth parameters to the transmission module of device A.
[0290] For example, the bandwidth allocation system of device A may determine new bandwidth parameters for the file service based on the service requirements of the file service and the speed limit of the file service. The bandwidth allocation system may also send the new bandwidth parameters to the transmission unit of device A so that the service data of the file service can be subsequently transmitted based on the new bandwidth parameters.
[0291] S505 : The transmission module of device A sends the service data of the file service to the WIFI network card 1 of device A.
[0292] For example, since the file service is carried on the first transmission link, and the first transmission link is established based on the WIFI network card 1 of device A and the WIFI network card 1 of device B, the transmission unit of device A can send the service data of the file service to the WIFI network card 1 of device A based on the new bandwidth parameters.
[0293] S506 : The WIFI network card 1 of device A sends the service data of the file service to the WIFI network card 1 of device B.
[0294] S507 : The QOE detection system of device A detects that the screen projection service is stuck.
[0295] For example, after limiting the speed of the file service between device A and device B, the QOE detection system of device A can continue to detect whether the screen projection service is stuck. If the QOE detection system of device A detects that the screen projection service is still stuck, then according to the above-mentioned "two links affect each other, and the multipath scheduling strategy during service transmission", device A can determine whether the non-optimal link between device A and device B can carry all services, that is, device A determines whether the second transmission link can carry file services, screen projection services and call services. If the second transmission link can carry all services, all services can be migrated to the second transmission link. If the second transmission link cannot carry all services, device A can report service quality information. Specifically, when the QOE detection system of device A detects that the screen projection service is stuck and determines that the second transmission link cannot carry all services, the QOE detection system of device A can generate an information reporting request.
[0296] S508: The QOE detection system of device A sends an information reporting request to the QOE reporting system of device A.
[0297] For example, in response to detecting a freeze in the screen projection service, the QOE detection system of device A generates an information reporting request, which is used to request that service quality information be reported to the screen projection application corresponding to the screen projection service. The QOE detection system of device A can send the information reporting request to the QOE reporting system of device A.
[0298] S509. The QOE reporting system of device A sends service quality information to the screen projection application of device A.
[0299] For example, the QOE reporting system of device A can send service quality information to the screen projection application of device A, so that the screen projection application can alleviate the lag of the screen projection service by reducing the transmission bit rate.
[0300] Through the above Figure 3J The scheduling method shown can perform service scheduling when two transmission links affect each other and streaming media type services are stuck, avoiding the decline in service transmission efficiency caused by the mutual influence of multiple transmission links. It can effectively solve the stuck situation of streaming media type services, improve service transmission efficiency, and also help improve the user experience.
[0301] When the first transmission link and the second transmission link between device A and device B affect each other in a multi-link system, and a streaming service freezes, the service scheduling process is as follows: Figure 3KAs shown: file services and streaming media services (including screen projection services and call services) are all established on the first transmission link; when device A detects that the screen projection service is stuck, device A can limit the speed of the file service; when device A detects that the screen projection service is stuck again, device A can upload service quality information (QOE information) to the screen projection application to solve the stuck situation of the screen projection service by reducing the transmission bit rate. The method provided by this application can alleviate the stuck situation of the service during service transmission, improve the transmission efficiency of the service, make full use of the transmission resources in the multi-link system, and improve the user experience.
[0302] (V) Service Scheduling Method When Transmission Link Is Interrupted
[0303] Multiple transmission links (including the first transmission link and the second transmission link) can be established between device A and device B, and different transmission links can carry different services. In actual application, the transmission link is random and may be interrupted unexpectedly due to various factors. For example: a first transmission link and a second transmission link are established between device A and device B, and the first transmission link carries the screen projection service. At this time, if Figure 3L As shown, when the transmission link is interrupted, the service scheduling method includes but is not limited to the following steps:
[0304] S601: The link detection system of device A detects that a first transmission link is interrupted.
[0305] For example, the link detection system of device A can detect the transmission link between device A and device B. If device A detects that the first transmission link between device A and device B is interrupted, subsequent operation steps can be performed to ensure that the service carried by the first transmission link (i.e., the screen projection service) can be transmitted normally.
[0306] S602: The link detection system of device A sends a multipath scheduling request to the multipath scheduling system of device A.
[0307] For example, after detecting that the first transmission link is interrupted, the link detection system of device A may generate a multipath scheduling request, which may be used to request scheduling of services carried by the first transmission link. The link detection system of device A may send the multipath scheduling request to the multipath scheduling system of device A.
[0308] S603 : The multipath scheduling system of device A sends eighth scheduling information to the transmission module of device A.
[0309] For example, in response to the multipath scheduling request, the multipath scheduling system of device A may generate eighth scheduling information. This eighth scheduling information may indicate that the service carried by the first transmission link should be migrated to the second transmission link, that is, the screen projection service should be migrated from the first transmission link to the second transmission link. Device A may send the eighth scheduling information to the transmission module of device A.
[0310] S604. The transmission module of device A sends the business data of the screen projection service to the WIFI network card 2 of device A.
[0311] Exemplarily, in response to the eighth scheduling information, the transmission module of device A can obtain the bandwidth parameters of the screen projection service. After device A sends the business data (i.e., data packet) of the screen projection service to device B, device B will return the reply information corresponding to the data packet to device A. When the first transmission link is interrupted, device A can determine the data packets for which the corresponding reply information has not been received (i.e., the data packets that failed to be transmitted through the first transmission link), and based on the bandwidth parameters, use the second transmission link to transmit these data packets to ensure the continuity of the business data received by device B.
[0312] S605. The WIFI network card 2 of device A sends the service data of the screen projection service to the WIFI network card 2 of device B through the second transmission link.
[0313] S606: The link detection system of device A detects that the first transmission link is restored.
[0314] For example, after device A transmits the service data of the screen projection service through the second transmission link, the link detection system of device A can continue to detect the status of the transmission link between device A and device B. When it is detected that the first transmission link has been restored, device A can perform subsequent service scheduling operations to ensure that the screen projection service is established on the optimal link, thereby ensuring service transmission efficiency.
[0315] S607 : The link detection system of device A sends a multipath scheduling request to the multipath scheduling system of device A.
[0316] For example, after detecting that the first transmission link has been restored, the link detection system of device A may generate a multipath scheduling request, which may be used to request scheduling of traffic between device A and device B. The link detection system of device A may send the multipath scheduling request to the multipath scheduling system of device A.
[0317] S608 : The multipath scheduling system of device A sends ninth scheduling information to the transmission module of device A.
[0318] For example, in response to the multipath scheduling request, the multipath scheduling system of device A may generate ninth scheduling information, which may indicate that the service carried by the second transmission link is to be migrated to the first transmission link, i.e., the screen projection service is to be migrated from the second transmission link to the first transmission link. Device A may send the ninth scheduling information to the transmission module of device A.
[0319] S609. The transmission module of device A sends the business data of the screen projection service to the WIFI network card 1 of device A.
[0320] For example, in response to the ninth scheduling information, the transmission module of device A can obtain the bandwidth parameters of the screen projection service. When the first transmission link is restored, device A can transmit the business data of the screen projection service to device B through the first transmission link based on the bandwidth parameters to ensure the transmission efficiency of the business data of the screen projection service.
[0321] S610. The WIFI network card 1 of device A sends the service data of the screen projection service to the WIFI network card 1 of device B.
[0322] For example, when device A sends business data of the screen projection service to device B through the first transmission link.
[0323] S611. The WIFI network card 2 of device A no longer sends the business data of the screen projection service to the WIFI network card 2 of device B.
[0324] For example, after device A transmits the service data of the screen projection service using the first transmission link, device A no longer sends the service data of the screen projection service through the second transmission link to save transmission resources between device A and device B.
[0325] Through the method provided in the embodiment of the present application, the limitation of a single transmission link being easily interrupted can be overcome through service scheduling in a multi-link system. In the event of a link interruption, service scheduling can be performed to ensure the transmission continuity of the service transmission. In the event of link recovery, service scheduling can be performed to ensure the service transmission rate.
[0326] above Figure 3A-Figure 3L The service scheduling method shown is only one possible implementation method. In actual application, Figure 2A-2G The multipath scheduling strategy shown determines corresponding service scheduling information, thereby realizing service scheduling in a multi-link system.
[0327] Based on the multipath scheduling strategy and service scheduling process described in the above embodiments, the service scheduling method provided by this application is described below. Figure 4This figure is a flow chart of a service scheduling method provided in an embodiment of the present application. The service scheduling method is applied to a first electronic device in a multi-link system, which may correspond to device A in the above embodiment. The multi-link system may include a first electronic device and a second electronic device, and multiple transmission links may be established between the first electronic device and the second electronic device. The service scheduling method includes but is not limited to:
[0328] S701: Establish multiple transmission links with a second electronic device.
[0329] In an embodiment of the present application, both the first and second electronic devices support DBDC. Multiple transmission links can be established between the first and second electronic devices. These transmission links can be wireless transmission links such as Wi-Fi direct links, WLAN connection links, Bluetooth links, cellular network links, or wireless transmission links constructed using other wireless transmission protocols. The method provided in this application can establish a multi-link system, facilitate subsequent service scheduling, and improve service transmission efficiency and performance.
[0330] In some cases, the first electronic device may display Figure 5A The user interface 51 shown in FIG. 5 may include a smart interconnection control 511 and a more connection control 512. Device A may detect a user operation on the more connection control 512. In response to the user operation, the first electronic device may display a Figure 5B The user interface 52 shown in FIG. 5 may include a file sharing control 521, a screen projection control 522, etc. The first electronic device may detect a user operation on the screen projection control 522, and device A may display the following information: Figure 5C The user interface 53 shown in FIG. 5 may include a wireless screen projection control 531. Device A detects a user operation on the wireless screen projection control 531, turns on Bluetooth, searches for available devices, and displays the following information: Figure 5D The user interface 54 shown includes a list of available devices. For example, the list of available devices includes a device identifier 541 of the second electronic device. The operation of casting the screen to the second electronic device can be a user operation acting on the device identifier 541. The first electronic device detects the user operation acting on the device identifier 541. In response to the user operation, the first electronic device establishes multiple transmission links with the second electronic device and initiates the screen casting transmission to the second electronic device. It should be understood that the first electronic device can also initiate the screen casting transmission to the second electronic device in other ways. For example, the first electronic device performs a pull-down operation on the top of the display screen to display the interface of the control center. The interface of the control center includes a screen casting icon. In response to the detected user operation acting on the screen casting icon, the first electronic device searches for available devices under the same network and initiates the screen casting transmission to the default second electronic device.
[0331] S702: Acquire link information, where the link information indicates an operating frequency band of each transmission link in the multiple transmission links.
[0332] In an embodiment of the present application, a first electronic device can obtain the operating frequency of each transmission link among multiple transmission links, and further determine the operating frequency band of each transmission link. Based on the operating frequency band of each transmission link, the link relationship between different transmission links can be determined. For example, if the operating frequency bands of the first transmission link and the second transmission link are different, the link relationship between the two links is that the two links do not affect each other. For another example, if the operating frequency bands of the first transmission link and the third transmission link are the same, the link relationship between the first transmission link and the third transmission link can be further determined as that the two links affect each other. The definition of the link relationship can be as described above. Specifically, the first electronic device can determine the operating frequency band of each transmission link and determine the link information. The first electronic device can store the link information in a first local storage information so that it can be retrieved from the local storage information when performing subsequent service scheduling. The first local storage information can be storage information in the transmission module of the first electronic device, storage information in the networking module of the first electronic device, or storage information in other modules of the first electronic device related to service scheduling. The first electronic device can also send the link information to the second electronic device so that the second electronic device stores the link information. Normally, the first electronic device and the second electronic device determine the link information only when the connection is first established, and store the link information in the first local storage information. After a period of time, when the first electronic device performs business transmission, the link information can be used to determine the target transmission link. Through the method provided in the embodiment of the present application, the link information can be reasonably determined, which is conducive to determining a reasonable target transmission link. In addition, the method provided in the present application can also realize the multiplexing of link information, without the electronic device frequently determining the working frequency band of the transmission link when performing business transmission, which can save the processing resources of the electronic device and is also conducive to improving the transmission efficiency of the business.
[0333] S703: When a start operation for the first service is received or a transmission abnormality of the first service is detected, generate a first multipath scheduling request.
[0334] In an embodiment of the present application, a first electronic device may generate a first multipath scheduling request upon receiving a startup operation for a first service or detecting a transmission anomaly in the first service, wherein the first service may be any type of service initiated by the first electronic device, for example, the first service may be a streaming media type service or a file type service. The first electronic device initiating the first service means that the first electronic device sends service data of the first service to a second electronic device, and the second electronic device is an electronic device different from the first electronic device. Multiple transmission links may be established between the first electronic device and the second electronic device, that is, both the first electronic device and the second electronic device support DBDC.
[0335] The startup operation for the first service may be generated by a user triggering a service application configured in the first electronic device, or may be automatically generated by the first electronic device. The transmission abnormality of the first service may refer to an abnormality such as transmission freeze when transmitting service data of the first service.
[0336] The first electronic device may generate a first multipath scheduling request, where the first multipath scheduling request may be used to request corresponding service scheduling for the first service to ensure transmission efficiency of the first service.
[0337] In one embodiment, the service scheduling method provided in the present application may further include the following steps: obtaining transmission delay data of service data of a first service; determining average delay data based on the transmission delay data, and determining a transmission jitter parameter based on the average delay data and the transmission delay data; in response to the transmission jitter parameter being greater than a first jitter threshold, determining that a transmission abnormality has been detected in the first service; in response to the transmission jitter parameter being less than or equal to the first jitter threshold, determining that no transmission abnormality has been detected in the first service.
[0338] Specifically, when the first electronic device is transmitting the business data of the first business, it can determine whether the business has a transmission abnormality through the transmission delay data. The first electronic device can obtain the transmission delay data of the business data of the first business, for example: the first electronic device can obtain the transmission delay data of each data packet of the first business. The first electronic device can also determine the average delay data within a period of time based on the transmission delay data. For example: after obtaining the transmission delay data of each data packet, the first electronic device can calculate the average delay data within every 200 milliseconds. Based on the average delay data and the transmission delay data, the transmission jitter parameter can be determined (the method for determining the transmission jitter parameter can be as shown in the above formula (2)). The transmission jitter parameter can reflect the transmission fluctuation of the business data of the first business over a period of time. When the transmission jitter parameter is greater than the first jitter threshold, it means that the transmission fluctuation of the business data of the first business is large over a period of time, and it can be determined that a transmission abnormality has been detected in the first business (for example: the first business has a stuck situation). When the transmission jitter parameter is less than or equal to the first jitter threshold, the first electronic device can determine that no transmission abnormality has been detected in the first business. Through the method provided in the embodiment of the present application, it is possible to determine whether service transmission is abnormal through transmission jitter parameters, and to accurately determine the service transmission status, which is conducive to subsequent service scheduling based on the service transmission status, thereby ensuring service transmission efficiency.
[0339] S704: In response to the first multipath scheduling request, determine a target transmission link from multiple transmission links between the first electronic device and the second electronic device according to link information, where the target transmission link is used to carry the first service.
[0340] In an embodiment of the present application, there may be multiple transmission links between the first electronic device and the second electronic device. In response to the first multipath scheduling request, the first electronic device may obtain link information, and the link information may indicate the operating frequency band of each transmission link between the first electronic device and the second electronic device. Based on the link information, the link relationship between different transmission links may be further determined. In response to the first multipath scheduling request, the first electronic device may determine a target transmission link from the multiple transmission links between the first electronic device and the second electronic device based on the link information, and the target transmission link is used to carry the first service. Through the method provided in the present application, based on the link information, an appropriate transmission link can be determined from the multiple transmission links to carry the service, and the transmission resources in the multi-link system can be reasonably utilized to improve the service transmission efficiency.
[0341] In one embodiment, a first multipath scheduling request is generated when a start operation is received; the link information includes an operating frequency band of the first transmission link and an operating frequency band of the second transmission link; then, in response to the first multipath scheduling request, a specific implementation method of determining a target transmission link from multiple transmission links between the first electronic device and the second electronic device according to the link information may be: in response to the operating frequency band of the first transmission link and the operating frequency band of the second transmission link being the same, determining the target transmission link from the first transmission link and the second transmission link according to link quality data; wherein the link quality data indicates the link quality of the first transmission link and the link quality of the second transmission link; in response to the operating frequency band of the first transmission link and the operating frequency band of the second transmission link being different, determining the target transmission link from the first transmission link and the second transmission link according to a service type; wherein the service type is a file type or a streaming media type.
[0342] Specifically, when the first multipath scheduling request is generated by the first electronic device when receiving a startup operation for the first service, and the link information includes the operating frequency band of the first transmission link and the operating frequency band of the second transmission link, different methods can be used to schedule the service based on the relationship between the operating frequency bands of the two transmission links. Since the operating frequency band of the first transmission link and the operating frequency band of the second transmission link are the same, the link relationship between the first transmission link and the second transmission link is that the two links affect each other. Therefore, the first electronic device can directly determine the target transmission link from the first transmission link and the second transmission link based on the link quality data. The link quality data is used to indicate the link quality of the first transmission link and the link quality of the second transmission link, and the link quality may include the transmission rate, bandwidth, transmission distance, signal-to-noise ratio, etc. of the transmission link. The link quality can indicate the performance of the transmission link.
[0343] Since the working frequency band of the first transmission link and the working frequency band of the second transmission link are different, the relationship between the first transmission link and the second transmission link is that the two links do not affect each other. Therefore, the first electronic device can determine the target transmission link from the first transmission link and the second transmission link according to the service type, and the service type can be a file type or a streaming media type. Through the method provided in the embodiment of the present application, the link relationship between the transmission links can be determined according to the working frequency band of the transmission link, and then different scheduling methods can be adopted for different link relationships, so that the method provided in the present application can be applied to a variety of different application scenarios, has good universality, and can also effectively improve the transmission efficiency of the service.
[0344] In one embodiment, a specific implementation method for determining the target transmission link from the first transmission link and the second transmission link based on the link quality data may be: determining the target transmission link that meets the quality requirements from the first transmission link and the second transmission link based on the link quality data; wherein the link quality of the target transmission link is higher than the link quality of the transmission link that does not meet the quality requirements.
[0345] Specifically, the first electronic device can determine the target transmission link that meets the quality requirements from the first transmission link and the second transmission link based on the link quality data, and the link quality of the target transmission link is higher than the link quality of the transmission link that does not meet the quality requirements. The method provided in the embodiment of the present application is equivalent to the above-mentioned "multipath scheduling strategy when the service is started when the two links affect each other". The target transmission link that meets the quality requirements is the optimal link between the first transmission link and the second transmission link, and the link quality of the optimal link is higher than the link quality of the non-optimal link that does not meet the quality requirements. Through the method provided in the embodiment of the present application, when the two transmission links affect each other, the transmission link that meets the quality requirements can be determined as the target transmission link for carrying the first service, thereby avoiding the decrease in transmission efficiency caused by the simultaneous transmission of the two links, and effectively ensuring the service transmission efficiency.
[0346] In one embodiment, a specific implementation method for determining a target transmission link from a first transmission link and a second transmission link based on a service type may be: in response to the service type of the first service being the same as the service type of the second service, determining a target transmission link from the first transmission link and the second transmission link based on link quality data; wherein the second service is a service in a transmission state.
[0347] Specifically, when determining the target transmission link based on the service type, it is necessary to consider the service types of the first service to be started and the service in the transmission state. The second service is the service in the transmission state between the first electronic device and the second electronic device. When the service type of the first service and the service type of the second service are the same, the first electronic device can directly determine the target transmission link from the first transmission link and the second transmission link based on the link quality data. For example: if the service type of the first service and the service type of the second service are both streaming media types (equivalent to the fact that there is no file type service between the first electronic device and the second electronic device), the first electronic device can determine the target transmission link that meets the quality requirements from the first transmission link and the second transmission link based on the link quality data (equivalent to using the optimal link to carry the first service). This service scheduling method can correspond to the "when there is no file type service between device A and device B, the streaming media type service is established on the optimal link" in the above-mentioned "two links do not affect each other, and the multipath scheduling strategy when the service is started".
[0348] For another example: if the service type of the first service and the service type of the second service are both file types (equivalent to the absence of a streaming media type service between the first electronic device and the second electronic device), the first electronic device can determine the target transmission link that meets the quality requirements from the first transmission link and the second transmission link based on the link quality data (equivalent to using the optimal link to carry the first service). Through the method provided in the embodiment of the present application, different service scheduling methods can be performed according to the service type, achieving coordination between different types of services, and effectively improving the overall service transmission efficiency of the multi-link system.
[0349] In one embodiment, a specific implementation method of determining a target transmission link from a first transmission link and a second transmission link according to a service type may be: in response to the service type of the first service being a streaming media type and the service type of the second service being a file type, determining a candidate transmission link from the first transmission link and the second transmission link; determining whether the candidate transmission link can carry the first service; in response to the candidate transmission link being able to carry the first service, determining the candidate transmission link as the target transmission link; in response to the candidate transmission link not being able to carry the first service, determining a transmission link other than the candidate transmission link from the first transmission link and the second transmission link as the target transmission link.
[0350] Specifically, when the service type of the first service is a streaming media type, and the service type of the second service is a file type, the first electronic device can determine a to-be-selected transmission link from the first transmission link and the second transmission link. The to-be-selected transmission link can be a non-optimal link among the first transmission link and the second transmission link, that is, the to-be-selected transmission link is a transmission link that does not meet the quality requirements. The first electronic device can determine whether the to-be-selected transmission link can carry the first service, and the method for determining whether the transmission link can carry the service can be the method shown in the above formula (1). In response to the to-be-selected transmission link being able to carry the first service, the first electronic device can determine the to-be-selected transmission link as the target transmission link; in response to the to-be-selected transmission link being unable to carry the first service, the first electronic device can determine the transmission link other than the to-be-selected transmission link among the first transmission link and the second transmission link as the target transmission link. According to the method provided in the above embodiment, when the service types of different services between the first electronic device and the second electronic device are the same, the services are established in the optimal link determined according to the link quality data (for example, the second service of the file type is established in the optimal link), and according to the method provided in the embodiment of the present application, when the service types of different services between the first electronic device and the second electronic device are different, the streaming type service can be established on a non-optimal link that can carry the service. Then, through the method provided in the embodiment of the present application, when there are file type services and streaming type services between the devices, the file type services and streaming type services can be established on different transmission links, thereby realizing coordination of different types of services in the multi-link system, and at the same time, fully utilizing the transmission resources in the multi-link system to improve the overall transmission efficiency of the services.
[0351] In one embodiment, the specific implementation method of determining whether the selected transmission link can carry the first service can be: determining whether the selected transmission link can carry the first service based on the transmission rate of the selected transmission link, the service description data of the first service, the service description data of the same-frequency service, and the transmission rate of the same-frequency service; wherein the same-frequency service is a service transmitted through the same-frequency link, and the same-frequency link is a link with the same frequency as the selected transmission link.
[0352] Specifically, when the first electronic device determines whether the selected transmission link can carry the first service, it can obtain the transmission rate of the selected transmission link, which can be the MCS negotiated rate of the transmission link. The service description data of the first service may include the service number and data volume of the first service. The same-frequency service refers to the service transmitted through the same-frequency link, and the same-frequency link refers to the transmission link with the same frequency as the selected transmission link. For example: if the selected transmission link is a WLAN connection link, the same-frequency link refers to the transmission link with the same frequency as the WLAN connection link in the wireless local area network. All the same-frequency services are services in the transmission state. The service description data of the same-frequency service includes the service number of one or more same-frequency services and the data volume of each same-frequency service. The transmission rate of the same-frequency service refers to the MCS negotiated rate corresponding to each same-frequency service. The first electronic device can determine whether the selected transmission link can carry the first service based on the transmission rate of the selected transmission link, the service description data of the first service, the service description data of the same-frequency service, and the transmission rate of the same-frequency service. The calculation method can be as shown in the above formula (1). After the transmission rate of the selected transmission link, the service description data of the first service, the service description data of the same-frequency service, and the transmission rate of the same-frequency service are substituted into formula (1), if the inequality of formula (1) holds, the first electronic device determines that the selected transmission link can carry the first service. If the inequality of formula (1) does not hold after the transmission rate of the selected transmission link is substituted into formula (1), the first electronic device can determine that the selected transmission link cannot carry the first service. The method provided in the embodiment of the present application can determine whether the transmission link can carry the service based on the transmission rate of the link, the same-frequency service, and the same-frequency link, which can effectively ensure the normal startup of the service and effectively avoid collisions of services during transmission, thereby helping to improve service transmission efficiency.
[0353] In one embodiment, a specific implementation method for determining a target transmission link from a first transmission link and a second transmission link according to a service type may be as follows: in response to the service type of the first service being a file type and the service type of the second service being a streaming media type, a streaming media transmission link is determined from the first transmission link and the second transmission link according to link quality data; wherein the streaming media transmission link is a transmission link that does not meet the quality requirements, and the streaming media transmission link is used to carry the second service; and a transmission link other than the streaming media transmission link from the first transmission link and the second transmission link is determined as a target transmission link; wherein the link quality of the target transmission link is higher than the link quality of the streaming media transmission link.
[0354] Specifically, when the service type of the first service is a file type and the service type of the second service is a streaming type, according to the above-mentioned "two links do not affect each other, and the multipath scheduling strategy when the service is started", if there is a streaming type service between the first electronic device and the second electronic device (the streaming type service is established on the optimal link), the first electronic device can establish the file type service on the optimal link and migrate the streaming type service to a non-optimal link. Based on this, the first electronic device can determine the streaming transmission link from the first transmission link and the second transmission link based on the link quality data. The streaming transmission link is a transmission link that does not meet the quality requirements, that is, the streaming transmission link is a non-optimal link. The streaming transmission link is used to carry the second service, that is, the second service is migrated from the optimal link to the non-optimal link. The first electronic device can also determine the transmission link other than the streaming transmission link in the first transmission link and the second transmission link as the target transmission link. The link quality of the target transmission link is higher than the link quality of the streaming transmission link, that is, the target transmission link is the optimal link. Through the method provided in the embodiment of the present application, services in the transmission state can be migrated according to the service type, the transmission resources in the multi-link system can be fully utilized, and the overall transmission efficiency of multiple services can be guaranteed.
[0355] In one embodiment, a first multipath scheduling request is generated when a transmission abnormality is detected in the first service; the link information includes an operating frequency band of the first transmission link and an operating frequency band of the second transmission link; then, in response to the first multipath scheduling request, a specific implementation method of determining a target transmission link from multiple transmission links between the first electronic device and the second electronic device according to the link information may be: in response to the operating frequency band of the first transmission link and the operating frequency band of the second transmission link being the same, determining the target transmission link from the first transmission link and the second transmission link according to the link bearer information; in response to the operating frequency band of the first transmission link and the operating frequency band of the second transmission link being different, determining the target transmission link from the first transmission link and the second transmission link according to the transmission type information; wherein the transmission type information indicates whether the transmission type of the first service is concurrent transmission or single transmission.
[0356] Specifically, when the first multipath scheduling request is generated by the first electronic device upon detecting a transmission anomaly in the first service (i.e., a transmission anomaly occurs while the first service is in a transmission state), the process by which the first electronic device determines the target transmission link from multiple transmission links may be based on the operating frequency bands of the first transmission link and the second transmission link. When the operating frequency bands of the first transmission link and the second transmission link are the same, the first electronic device may determine the target transmission link from the first transmission link and the second transmission link based on link bearer information. When the operating frequency bands of the first transmission link and the second transmission link are different, the first electronic device may determine the target transmission link from the first transmission link and the second transmission link based on transmission type information. The transmission type information may indicate the transmission type of the first service, which may be single-transmission transmission or concurrent transmission. Single-transmission transmission refers to the first electronic device transmitting service data of the first service to the second electronic device via a single transmission link. Concurrent transmission refers to the first electronic device transmitting service data of the first service to the second electronic device via multiple transmission links. When the transmission type of the first service is concurrent transmission, it can be said that the first electronic device has enabled redundant concurrency for the first service. Through the method provided in the embodiment of the present application, service scheduling can be performed according to link information during service transmission, thereby resolving abnormal service transmission situations, ensuring the smoothness of service transmission, and ensuring the transmission efficiency of the service.
[0357] In one embodiment, the service type of the first service is a streaming media type; a specific implementation method of determining the target transmission link from the first transmission link and the second transmission link based on the link carrying information may be: in response to the absence of file-type services among the multiple transmission services, determining the target transmission link from the first transmission link and the second transmission link based on the service carrying information of the first transmission link and the service carrying information of the second transmission link in the link carrying information; wherein the multiple transmission services are services in a transmission state, and the multiple transmission services include the first service; the service carrying information of the first transmission link indicates whether the first transmission link can carry multiple transmission services, and the service carrying information of the second transmission link indicates whether the second transmission link can carry multiple transmission services.
[0358] Specifically, there may be multiple transmission services between the first electronic device and the second electronic device, and the transmission service is a service in a transmission state, and the multiple transmission services include the first service. When the service type of the first service is a streaming media type, and the first service has a transmission anomaly, the first electronic device can determine whether there is a file type service among the multiple transmission services. If there is no file type service among the multiple transmission services, the first electronic device can determine the target transmission link from the first transmission link and the second transmission link based on the service carrying information of the first transmission link in the link carrying information and the service carrying information of the second transmission link. Among them, the service carrying information of the first transmission link can be used to indicate whether the first transmission link can carry multiple transmission services, that is, whether the first transmission link can carry all services between the first electronic device and the second electronic device. The service carrying information of the first transmission link and the service carrying information of the second transmission link can both be determined using the method shown in the above formula (1). The service carrying information of the second transmission link can be used to indicate whether the second transmission link can carry multiple transmission services.
[0359] If the first transmission link can carry multiple transmission services, and the second transmission link cannot carry multiple transmission services, the first electronic device can determine the first transmission link as the target transmission link; if the first transmission link cannot carry multiple transmission services, and the second transmission link can carry multiple transmission services, the first electronic device can determine the second transmission link as the target transmission link; if both the first transmission link and the second transmission link cannot carry multiple transmission services, the first electronic device does not perform link migration scheduling for the first service, but sends service quality reporting information to the application layer, so that the application layer reduces the transmission code rate of the first service, thereby solving the transmission anomaly of the first service (such as the case of transmission jam). If the first transmission link and the second transmission link can both carry multiple transmission services, the first electronic device can determine the target transmission link from the first transmission link and the second transmission link based on the link quality data. Through the method provided in the embodiment of the present application, when the service is jammed and the transmission links affect each other, the target transmission link can be determined based on the service carrying information of the transmission link, thereby realizing service scheduling, solving the service jam, and improving service transmission efficiency.
[0360] In one embodiment, the service scheduling method provided by the present application may further include the following steps: in response to the presence of file-type services in multiple transmission services, performing service speed limiting on the file-type services. Specifically, when the service type of the first service is a streaming media type and a transmission anomaly occurs in the first service, the first electronic device may determine whether there is a file-type service in the multiple transmission services. If there is a file-type service in the multiple transmission services, since the decrease in the transmission rate of the file-type service will not significantly affect the user's experience, the first electronic device may prioritize the service speed limiting on the file-type service. The first electronic device may adopt the method described in the above formula (3) to determine the speed limit value of the file-type service. Through the method provided in the embodiment of the present application, the file-type service may be prioritized for speed limiting. While ensuring the user experience, the jamming of the streaming media type service may be resolved through service scheduling, and the transmission rate of the streaming media type service may be improved.
[0361] In one embodiment, the service type of the first service is a streaming media type; a specific implementation method of determining the target transmission link from the first transmission link and the second transmission link based on the transmission type information may be: in response to the transmission type information indicating that the transmission type of the first service is single-transmission transmission, and there is no file-type service among the multiple transmission services, the first transmission link and the second transmission link are determined as target transmission links; wherein the multiple transmission services are services in a transmission state, and the target transmission link is used for concurrent transmission of the first service.
[0362] Specifically, there are multiple transmission services in a transmission state between the first electronic device and the second electronic device. When the service type of the first service is a streaming media type, and the operating frequency bands of the first transmission link and the second transmission link are different, the first electronic device can determine the target transmission link based on the transmission type information. When the transmission type information of the first service indicates that the transmission type of the first service is a single transmission, and there is no file type service among the multiple transmission services, the first electronic device can determine the first transmission link and the second transmission link as the target transmission link, which is used to perform concurrent transmission of the first service. That is, when there is no file type service among the multiple transmission services, it is not possible to increase the bandwidth for the first service by limiting the speed of the file type service. Therefore, in order to ensure the continuity of the service data of the first service received by the second electronic device, the first electronic device can start redundant concurrency for the first service, that is, use multiple transmission links to transmit the same service data of the first service, thereby avoiding the incomplete data received by the second electronic device due to the abnormality of a single transmission link. Through the method provided in the embodiment of the present application, a concurrent transmission method can be used to solve the problem of incoherent service data caused by the abnormality of a single transmission link, and then solve the problem of the first service obtained by the second electronic device being stuck, effectively improving the user experience.
[0363] In one embodiment, the service scheduling method provided in the present application may further include the following steps: in response to the transmission type information indicating that the transmission type of the first service is single-transmission, and there is a file type service in a speed-limited state among the multiple transmission services, the first transmission link and the second transmission link are determined as target transmission links.
[0364] Specifically, when the transmission type information of the first service indicates that the transmission type of the first service is single-transmission transmission, and there is a file-type service in a speed-limited state among the multiple transmission services, that is, when the file-type services in the multiple transmission services are all in a speed-limited state, and it is impossible to allocate more bandwidth to the first service by displaying the file-type services, the first electronic device can start redundant concurrency for the first service, that is, determine the first transmission link and the second transmission link as target transmission links, so as to perform concurrent transmission of the first service. Through the method provided in the embodiment of the present application, anomalies such as service jams can be effectively resolved through service scheduling, and the transmission efficiency of the service can be improved.
[0365] In one embodiment, the service scheduling method provided in the present application may further include the following steps: in response to the transmission type information indicating that the transmission type of the first service is single-shot transmission, and there is a file type service in an unspeeded state among multiple transmission services, performing service speed limiting processing on the file type service in an unspeeded state.
[0366] Specifically, when the transmission type information of the first service indicates that the transmission type of the first service is single-shot transmission, and there is a file type service in an unspeeded state among the multiple transmission services, that is, when there is a file type service that is not speed-limited among the multiple transmission services, the first electronic device can prioritize the file type service in an unspeeded state for service speed limiting, thereby providing more bandwidth to the first service to alleviate the transmission anomaly of the first service. Through the method provided in the embodiment of the present application, file type services can be speed-limited, which can improve service transmission efficiency while ensuring the user experience.
[0367] In one embodiment, the service scheduling method provided in the present application may also include: in response to a concurrent transmission instruction for the first service, sending service data of the first service to the second electronic device through the first transmission link in the target transmission link; and sending service data of the first service to the second electronic device through the second transmission link in the target transmission link.
[0368] Specifically, after the first electronic device determines that the first transmission link and the second transmission link are the target transmission links, in response to the concurrent transmission instruction for the first business, the first electronic device can send the business data of the first business to the second electronic device through the first transmission link. At the same time, the first electronic device can also send the business data of the first business to the second electronic device through the second transmission link in the target transmission link. By transmitting the same business data through multiple transmission links, the packet loss caused by the abnormality of a single transmission link can be overcome, and the jamming caused by the discontinuity of business data can be solved. The method provided in the embodiment of the present application can effectively solve the jamming problem, reduce transmission delay and jitter, and improve business transmission efficiency and user experience.
[0369] In one embodiment, the link information includes an operating frequency band of a first transmission link and an operating frequency band of a second transmission link, and the operating frequency band of the first transmission link and the operating frequency band of the second transmission link are different; when the first electronic device detects that no transmission abnormality occurs in the first service, the service scheduling method provided in the present application may also include the following steps: when the transmission type of the first service is concurrent transmission and it is detected that no transmission abnormality occurs in the first service, a single-transmission link that meets the quality requirements is determined from the first transmission link and the second transmission link; in response to the jitter parameter of the single-transmission link being less than the second jitter threshold, a target transmission link is determined from the first transmission link and the second transmission link, and the target transmission link is used to adjust the transmission type of the first service to single-transmission.
[0370] Specifically, the first electronic device can continuously detect the business in the transmission state. When the transmission type of the first business is concurrent transmission and it is detected that the first business has no transmission abnormality, it means that the link quality of the transmission link is high, and the first electronic device does not need to perform concurrent transmission on the first business. Then, the first electronic device can determine a single-transmission link that meets the quality requirements from the first transmission link and the second transmission link (that is, the single-transmission link is the optimal link among the first transmission link and the second transmission link). The first electronic device can determine the jitter parameter of the single-transmission link. The method for determining the jitter parameter can be as shown in the above formula (2). If the jitter parameter of the single-transmission link is less than the second jitter threshold, it means that the link quality of the single-transmission link is good and can be used to carry the first business alone. Then, the first electronic device can determine the target transmission link from the first transmission link and the second transmission link, that is, determine the single-transmission link in the first transmission link and the second transmission link as the target transmission link. The target transmission link can be used to adjust the transmission type of the first business to single-transmission transmission, that is, the first electronic device can transmit the business data of the first business alone through the target transmission link, and other transmission links no longer transmit the business data of the first business. Through the method provided in the embodiment of the present application, concurrent transmission can be stopped in time when no transmission abnormality occurs in the business, which can effectively save transmission resources.
[0371] It should be noted that the above embodiment only shows the implementation method of determining the target transmission link and performing service scheduling when the service type of the first service is a streaming media type. In actual application, when the service type of the first service is a file type, the first electronic device can also use a similar method to determine the target transmission link and perform service scheduling. In addition, the above embodiment only describes the method of determining the target transmission link when the link information contains the working frequency band of the first transmission link and the working frequency band of the second transmission link. When the link information contains the working frequency bands of multiple transmission links, the first electronic device can also use a similar method to determine the target transmission link. For example: the link information contains the working frequency band of the first transmission link, the working frequency band of the second transmission link, and the working frequency band of the third transmission link, and the working frequency bands of these three transmission links are the same (that is, the link relationship of the three transmission links is that the three links affect each other), then in response to the first multipath scheduling request, the first electronic device can establish the first service on the optimal link among the three transmission links.
[0372] S705: Send the service data of the first service to the second electronic device through the target transmission link.
[0373] In an embodiment of the present application, after determining the target transmission link, the first electronic device can directly send the service data of the first service to the second electronic device via the target transmission link. The method provided by this application can realize service scheduling in a multi-link system, improve service transmission efficiency, and enhance the user experience.
[0374] In one embodiment, the multiple transmission links include a third transmission link, and the first electronic device sends service data of a third service to the second electronic device through the third transmission link. The service scheduling method provided in the present application may also include the following steps: when an interruption of the third transmission link is detected, generating a second multipath scheduling request; in response to the second multipath scheduling request, determining a fourth transmission link from the multiple transmission links; and sending the service data of the third service to the second electronic device through the fourth transmission link.
[0375] Specifically, a third transmission link can be established between the first and second electronic devices. This third transmission link can be a different transmission link than the first and second transmission links, or it can be the same transmission link as the first or second transmission link. The third service can be the first service, the second service, or a service different from the first and second services. The first electronic device can send service data of the third service to the second electronic device via the third transmission link. The first electronic device can also detect multiple transmission links. Upon detecting an interruption in the third transmission link, the first electronic device can generate a second multipath scheduling request. In response to the second multipath scheduling request, the first electronic device can determine a fourth transmission link from the multiple transmission links, where the fourth transmission link is in a connected state. The first electronic device can send service data of the third service to the second electronic device via the fourth transmission link, thereby ensuring that the service data of the third service can be transmitted normally to the second electronic device even after the third transmission link is interrupted. The method provided in this application can utilize multiple links in a multi-link system for service scheduling when a transmission link is interrupted, ensuring normal transmission of service data. This overcomes the limitation of a single transmission link being prone to interruption, which can lead to interruption of service data transmission, and is beneficial for improving service transmission performance.
[0376] In one embodiment, the service scheduling method provided in the present application may further include: generating a third multipath scheduling request when it is detected that the third transmission link has been restored; and sending service data of the third service to the second electronic device via the third transmission link in response to the third multipath scheduling request.
[0377] Specifically, the first electronic device can detect the status of multiple transmission links. When the recovery of the third transmission link is detected, the first electronic device can generate a third multipath scheduling request. In response to the third multipath scheduling request, the first electronic device can send the service data of the third service to the second electronic device via the third transmission link, and no longer send the service data of the third service to the second electronic device via the fourth transmission link. Through the method provided in the embodiment of the present application, service scheduling can be performed according to the status of the transmission link, and the transmission resources in the multi-link system can be fully utilized to improve service transmission efficiency.
[0378] See Figure 6 This figure is a flow chart of another service scheduling method provided in an embodiment of the present application. This service scheduling method is applied to a second electronic device in a multi-link system, which may correspond to device B in the above embodiment. The multi-link system may include a first electronic device and a second electronic device, and multiple transmission links may be established between the first electronic device and the second electronic device. This service scheduling method includes but is not limited to:
[0379] S801. Establish multiple transmission links with a first electronic device.
[0380] In an embodiment of the present application, the second electronic device can establish multiple transmission links with the first electronic device. These transmission links can be any combination of wireless transmission links such as WIFI direct connection links, WLAN connection links, Bluetooth links, cellular network links, etc.
[0381] S802: Acquire link information, where the link information indicates an operating frequency band of each transmission link in the multiple transmission links.
[0382] In an embodiment of the present application, when the second electronic device and the first electronic device establish a link, the second electronic device can obtain the operating frequency point of each transmission link in the multiple transmission links, and then determine the operating frequency band of each transmission link to obtain link information. The second electronic device can also receive the link information sent by the first electronic device. The second electronic device can store the obtained link information in the second local storage information. The second local storage information can be the storage information in the transmission module of the second electronic device, or the storage information in the networking module of the second electronic device, or the storage information of other modules associated with service scheduling in the second electronic device. When the second electronic device initiates a transmission service, the second electronic device can use the link information stored in the second local storage information to determine the target transmission link for the transmission service. At this time, the second electronic device can execute the steps performed by the first electronic device as shown in S701-S705 above. Through the method provided in the embodiment of the present application, the link information of multiple transmission links can be determined, which is conducive to using link information for service scheduling and improving service transmission efficiency.
[0383] S803: Receive service data of a first service from a first electronic device through a target transmission link; the multiple transmission links between the first electronic device and the second electronic device include the target transmission link.
[0384] In this embodiment of the present application, a second electronic device may receive service data of a first service from a first electronic device via a target transmission link. The multiple transmission links between the first electronic device and the second electronic device include the target transmission link. The first electronic device may execute the method shown in steps S701-S705 above to determine the target transmission link and send the service data of the first service to the second electronic device.
[0385] S804: Store or display the service data of the first service.
[0386] In an embodiment of the present application, the second electronic device can store or display the business data of the first business. For example, if the first business is a screen projection business, the second electronic device can display the business data after receiving the business data of the first business. For another example, if the first business is a file-type business, the second electronic device can store the business data after receiving the business data of the first business.
[0387] In one embodiment, the multiple transmission links include a first transmission link and a second transmission link. The service scheduling method provided in the present application may also include the following steps: determining a data cache area in response to a concurrent transmission instruction for a first service; receiving service data of the first service from a first electronic device through the first transmission link and the second transmission link, the service data including multiple data packets; storing the multiple data packets in the data cache area according to the numbering information of the data packets; and displaying the data stored in the data cache area in response to completion of storage in the data cache area.
[0388] Specifically, when a streaming media service transmission anomaly occurs, packet loss often occurs when transmitting service data through a transmission link. Due to this packet loss, the second electronic device receives incomplete data packets, which in turn causes the second electronic device to experience lag when displaying the streaming media service. The method provided in the embodiments of the present application can address this issue.
[0389] When a first electronic device initiates redundant concurrency for a first service (or the transmission type of the first service is concurrent transmission), the first electronic device may send a concurrent transmission instruction to a second electronic device. In response to the concurrent transmission instruction, the second electronic device may determine a data cache area, which is used to store one or more data packets. The first electronic device may transmit service data of the first service via a first transmission link and a second transmission link, and the second electronic device may receive the service data of the first service. The service data includes multiple data packets. Each data packet includes numbering information. The second electronic device may store the multiple data packets in the data cache area in sequence based on the numbering information of the received data packets. For example, the data cache area may store three data packets, and the service data received by the second electronic device includes data packet 1 and data packet 2 received via the first transmission link, and data packet 1, data packet 2, and data packet 3 received via the second transmission link. The second electronic device may store data packet 1 and data packet 2 received via the two transmission links in corresponding locations in the data cache area, and store data packet 3 received via the second transmission link in corresponding locations in the data cache area.
[0390] When the data cache area is fully stored (i.e., all corresponding locations in the data cache area are filled with data packets), the second electronic device can display the data stored in the data cache area. The method provided in the embodiment of the present application can use multiple transmission links to transmit service data of the same service, significantly reducing the latency and lag of streaming media services, and effectively improving the user experience.
[0391] The following combination Figure 7 The hardware structure diagram shown summarizes the service scheduling method provided by this application. Figure 7 The hardware structure diagram of an electronic device 100 provided in an embodiment of the present application is shown in FIG. The electronic device 100 may be the above-mentioned Figure 1A 、 Figure 1B or Figures 5A-5D The mobile phone, tablet and other devices in the embodiment may also be a notebook, a large-screen device, a central control device, a controlled device, etc., or may be device A, device B, a first electronic device, a second electronic device, etc. in the method embodiment, used to execute the method executed by each device in the service scheduling method embodiment.
[0392] The electronic device 100 may include a processor 101, a memory 102, a wireless communication module 103, a mobile communication module 104, an antenna 103A, an antenna 104A, etc. The wireless communication module 103 may include a WLAN communication module, a Bluetooth communication module, etc. The above-mentioned multiple components may transmit data via a bus.
[0393] The processor 101 may include one or more processing units. For example, the processor 101 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.
[0394] The memory 102 can be used to store computer executable program codes, which may include instructions. The processor 101 executes the instructions stored in the memory 102 to execute various functional applications and data processing of the electronic device 100, such as executing various methods provided in the embodiments of the present application.
[0395] The wireless communication function of the electronic device 100 can be implemented through the antenna 103A, the antenna 104A, the mobile communication module 104, the wireless communication module 103, the modem processor and the baseband processor.
[0396] Antenna 103A and antenna 104A can be used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 103A can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.
[0397] The mobile communication module 104 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the electronic device 100. The mobile communication module 104 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 104 can receive electromagnetic waves through the antenna 104A, and perform processing such as filtering and amplifying the received electromagnetic waves, and then transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 104 can also amplify the signal modulated by the modulation and demodulation processor, and the amplified signal is converted into electromagnetic waves and radiated out through the antenna 104A. In some embodiments, at least some of the functional modules of the mobile communication module 104 can be set in the processor 101. In some embodiments, at least some of the functional modules of the mobile communication module 104 can be set in the same device as at least some of the modules of the processor 101.
[0398] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium- or high-frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 101 and be provided in the same device as the mobile communication module 104 or other functional modules.
[0399] The wireless communication module 103 can provide wireless communication solutions including wireless local area networks (WLAN), Bluetooth (BT), cellular network, Wi-Fi Direct, global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc. applied to the electronic device 100. The wireless communication module 103 can be one or more devices integrating at least one communication processing module. The wireless communication module 103 receives electromagnetic waves via the antenna 103A, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 101. The wireless communication module 103 can also receive the signal to be sent from the processor 101, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 103A.
[0400] In some embodiments, the antenna 104A of the electronic device 100 is coupled to the mobile communication module 104, and the antenna 103A of the electronic device 100 is coupled to the wireless communication module 103, so that the electronic device 100 can communicate with the network and other devices through wireless communication technology.
[0401] It should be understood that the structure illustrated in the embodiments of the present invention does 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.
[0402] In the embodiment of the present application, the wireless communication module 103 can be used for WIFI connection between electronic devices, and transmission of data such as data or instructions.
[0403] The operations performed by the various components in the electronic device 100 may be specifically referred to the relevant description of the above method embodiment, which will not be elaborated here.
[0404] For example, Figure 8 The software and hardware architecture of the electronic device 100 provided in an embodiment of the present application is shown.
[0405] like Figure 8 As shown, the software architecture of the electronic device can adopt a layered architecture, which divides the system into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the system is divided into five layers, from top to bottom, namely, the application layer, the framework layer (framework), the system library and the Android runtime (android runtime), the hardware abstraction layer (HAL), and the driver layer. Among them: the application framework layer, the system library and the Android runtime, the hardware abstraction layer, not shown in Figure 8 Shown in.
[0406] The application layer (application) can include a series of applications. For example, the application package can include WLAN applications, Bluetooth applications, call sharing, notification sharing, keyboard and mouse sharing, file sharing, screen projection, video and gallery applications, as well as other applications not shown, such as music, camera, browser and other applications.
[0407] Among them, the WLAN application is mainly used to realize the opening, connection and setting of WLAN, and the Bluetooth application is used to realize the opening, connection and setting of Bluetooth. The call sharing application is used to realize the answering of calls by nearby devices. Notification sharing is used to realize the reception of notifications of this electronic device by nearby devices, and support processing on these devices. Keyboard and mouse sharing is used to share input devices with this electronic device and a nearby computer, or the mouse, keyboard and touchpad of a computer or tablet are shared with this electronic device, and can also realize the cross-device transfer of files and the display and use of windows across devices. The file sharing application is used to realize wireless sharing of files with other electronic devices in the same network, and realize extremely fast sharing or printing of files. The screen projection application is used to realize the linking of this electronic device with a large-screen device, so that the video and other content displayed on this electronic device can be displayed through the large-screen device, or to realize the linking of this electronic device with a small-screen device, so that the video and other content displayed on the small-screen device can be displayed through the large screen of this electronic device. Here, "large screen" and "small screen" refer to the relative sizes of the display screens of electronic devices.
[0408] The application layer also includes a video transmission service interface, a message transmission service interface, an audio transmission service interface, a file transfer service interface, and a keyboard and mouse transmission service interface, as well as the services corresponding to these interfaces, including video transmission service, message transmission service, audio transmission service, file transfer service, and keyboard and mouse transmission service. Among them, the video transmission service, message transmission service, audio transmission service, file transfer service, and keyboard and mouse transmission service are used to implement video transmission, message transmission, audio transmission, file transfer, and keyboard and mouse transmission, respectively. The upper-layer application realizes the transmission of the business data of the business it creates by calling these interfaces. For example, after the upper-layer application "screen projection" creates the screen projection business, it calls the video transmission service interface, and the video transmission service responds to the call to realize the transmission of the business data of the screen projection business.
[0409] The application layer may also include a service scheduling control engine, which may be an application invisible to the user and may include some or all of the following functional modules: multipath scheduling system, bandwidth allocation system, transmission system (also known as transmission module), link establishment system, service detection system, etc.
[0410] When an application creates a service, it sends a service scheduling request to the multipath scheduling system.
[0411] The multipath scheduling system is used to determine and obtain link information in response to service scheduling requests. Based on the link information and service type, the multipath scheduling system determines the target transmission link for carrying the service. After determining the target transmission link, the multipath scheduling system generates multipath scheduling information and sends it to the bandwidth allocation system.
[0412] The bandwidth allocation system is used to respond to the received multipath scheduling information, allocate bandwidth to the service according to the service requirements, and when it is necessary to limit the speed of file-type services, allocate bandwidth to the file-type services based on the speed limit value of the file-type services, and send the allocated bandwidth (i.e., bandwidth parameters) of each service to the sending system.
[0413] The sending system is used to send the service data of the service at the respective allocated bandwidth or at a bandwidth value not greater than the respective allocated bandwidth.
[0414] The link establishment system is used to establish transmission links with other devices.
[0415] The service detection system is used to detect whether the service has any jamming, average delay, etc. For example, the service detection system can obtain the transmission delay of each data packet in the service data, and determine the transmission jitter parameter based on the transmission delay, and then determine whether the service has any jamming.
[0416] The application framework layer provides an application programming interface (API) and programming framework for applications in the application layer. The framework layer includes some predefined functions. For example, it may include an activity manager, a window manager, a view system, a resource manager, a notification manager, an audio service, a camera service, etc., which are not limited in this embodiment of the application.
[0417] The system library can include multiple functional modules, such as surface manager, media libraries, OpenGL ES, SGL, etc.
[0418] The Hardware Abstraction Layer (HAL) is an interface layer between the operating system kernel and the hardware circuitry. Its purpose is to abstract the hardware. It hides the details of the platform-specific hardware interfaces and provides the operating system with a virtual hardware platform, making it hardware-independent and portable across multiple platforms. From the perspective of software and hardware testing, both hardware and software testing can be performed independently within the HAL, enabling parallel testing of both software and hardware.
[0419] The driver layer includes drivers for various hardware. This layer can include Bluetooth drivers, Wi-Fi drivers, and more. The Bluetooth driver is used to drive the Bluetooth module in the hardware layer. The Wi-Fi driver is used to drive the Wi-Fi module in the hardware layer.
[0420] The hardware layer includes various hardware modules, such as Bluetooth modules and Wi-Fi modules.
[0421] The specific implementation of each module / unit in the hardware architecture and software architecture of the above electronic device can also be found in the relevant descriptions in the above method embodiments, which will not be repeated here.
[0422] It should be understood that each step in the above method embodiment can be completed by hardware integrated logic circuits in a processor or by software instructions. The method steps disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware processor, or by a combination of hardware and software modules in a processor.
[0423] This application also provides an electronic device, which may include a memory and a processor. The memory may be used to store a computer program, and the processor may be used to call the computer program in the memory to enable the electronic device to execute the method executed by the first electronic device or the second electronic device in any of the above embodiments.
[0424] This application also provides an electronic device, which may include a memory and a processor. The memory may be used to store a computer program, and the processor may be used to call the computer program in the memory to enable the electronic device to execute the method executed by the first electronic device or the second electronic device in any of the above embodiments.
[0425] The present application also provides a chip system, which includes at least one processor for implementing the functions involved in the first electronic device or the second electronic device in any of the above embodiments.
[0426] In one possible design, the chip system further includes a memory, which is used to store program instructions and data, and the memory is located inside or outside the processor.
[0427] The chip system can be composed of chips, or can include chips and other discrete devices.
[0428] Optionally, there may be one or more processors in the chip system. The processor may be implemented in hardware or software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented in software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.
[0429] Optionally, the memory in the chip system may be one or more. The memory may be integrated with the processor or may be provided separately from the processor, which is not limited in the embodiments of the present application. For example, the memory may be a non-transient processor, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or provided on different chips. The embodiments of the present application do not specifically limit the type of memory or the configuration of the memory and the processor.
[0430] Exemplarily, the chip system can be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD) or other integrated chips.
[0431] The present application also provides a computer program product, which includes: a computer program (also referred to as code, or instructions), which, when executed, enables a computer to execute the method executed by the first electronic device or the second electronic device in any of the above embodiments.
[0432] The present application also provides a computer-readable storage medium storing a computer program (also referred to as code or instruction). When the computer program is executed, the computer executes the method executed by the first electronic device or the second electronic device in any of the above embodiments.
[0433] The various implementation modes of this application can be combined arbitrarily to achieve different technical effects.
[0434] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described herein are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated therein. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).
[0435] Those skilled in the art will appreciate that all or part of the process steps in the above-described method embodiments can be implemented by a computer program instructing the relevant hardware. The program can be stored in a computer-readable storage medium, and when executed, the program can include the process steps in the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.
[0436] In short, the above description is only an embodiment of the technical solution of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent replacements, improvements, etc. made based on the disclosure of this application should be included in the scope of protection of this application.
Claims
1. A service scheduling method, characterized in that: Applied to a first electronic device, the method includes: generating a first multipath scheduling request upon receiving a start operation for the first service or detecting that a transmission abnormality occurs in the first service; In response to the first multipath scheduling request, determining a target transmission link from a plurality of transmission links between the first electronic device and the second electronic device according to link information, the target transmission link being used to carry the first service; wherein the link information indicates an operating frequency band of each transmission link in the plurality of transmission links; The service data of the first service is sent to the second electronic device through the target transmission link.
2. The method according to claim 1, wherein The method further comprises: Acquire the link information from the first local storage information; or, In the process of establishing the multiple transmission links with the second electronic device, the link information is acquired.
3. The method according to claim 1 or 2, wherein: The first multipath scheduling request is generated when the start operation is received; the link information includes the working frequency band of the first transmission link and the working frequency band of the second transmission link; The step of determining, in response to the first multipath scheduling request, a target transmission link from a plurality of transmission links between the first electronic device and the second electronic device according to link information includes: In response to the operating frequency band of the first transmission link and the operating frequency band of the second transmission link being the same, determining a target transmission link from the first transmission link and the second transmission link based on link quality data; wherein the link quality data indicates the link quality of the first transmission link and the link quality of the second transmission link; In response to the fact that the working frequency band of the first transmission link is different from the working frequency band of the second transmission link, a target transmission link is determined from the first transmission link and the second transmission link according to a service type; wherein the service type is a file type or a streaming media type.
4. The method according to claim 3, wherein The determining a target transmission link from the first transmission link and the second transmission link according to the link quality data includes: A target transmission link that meets the quality requirement is determined from the first transmission link and the second transmission link according to the link quality data; wherein the link quality of the target transmission link is higher than the link quality of the transmission link that does not meet the quality requirement.
5. The method according to claim 3, wherein The determining a target transmission link from the first transmission link and the second transmission link according to the service type includes: In response to a service type of the first service being the same as a service type of the second service, determining a target transmission link from the first transmission link and the second transmission link according to the link quality data; The second service is a service in a transmission state.
6. The method according to claim 3, wherein The determining a target transmission link from the first transmission link and the second transmission link according to the service type includes: In response to the service type of the first service being a streaming media type and the service type of the second service being a file type, determining a transmission link to be selected from the first transmission link and the second transmission link; Determining whether the selected transmission link can carry the first service; In response to the candidate transmission link being able to carry the first service, determining the candidate transmission link as a target transmission link; In response to the candidate transmission link being unable to carry the first service, a transmission link other than the candidate transmission link among the first transmission link and the second transmission link is determined as a target transmission link.
7. The method according to claim 6, wherein The determining whether the selected transmission link can carry the first service includes: Determining whether the selected transmission link can carry the first service according to the transmission rate of the selected transmission link, the service description data of the first service, the service description data of the intra-frequency service, and the transmission rate of the intra-frequency service; The intra-frequency service is a service transmitted through an intra-frequency link, and the intra-frequency link is a link with the same frequency as the selected transmission link.
8. The method according to claim 3, wherein The determining a target transmission link from the first transmission link and the second transmission link according to the service type includes: In response to the service type of the first service being a file type and the service type of the second service being a streaming media type, determining a streaming media transmission link from the first transmission link and the second transmission link according to the link quality data; wherein the streaming media transmission link is a transmission link that does not meet the quality requirement, and the streaming media transmission link is used to carry the second service; A transmission link other than the streaming media transmission link from the first transmission link and the second transmission link is determined as a target transmission link; wherein the link quality of the target transmission link is higher than the link quality of the streaming media transmission link.
9. The method according to claim 1 or 2, wherein: The first multipath scheduling request is generated when a transmission abnormality of the first service is detected; the link information includes an operating frequency band of the first transmission link and an operating frequency band of the second transmission link; The step of determining, in response to the first multipath scheduling request, a target transmission link from a plurality of transmission links between the first electronic device and the second electronic device according to link information includes: In response to the operating frequency band of the first transmission link and the operating frequency band of the second transmission link being the same, determining a target transmission link from the first transmission link and the second transmission link according to link bearer information; In response to the fact that the working frequency band of the first transmission link and the working frequency band of the second transmission link are different, a target transmission link is determined from the first transmission link and the second transmission link according to the transmission type information; wherein the transmission type information indicates that the transmission type of the first service is concurrent transmission or single transmission.
10. The method according to claim 9, wherein The service type of the first service is a streaming media type; The determining a target transmission link from the first transmission link and the second transmission link according to the link bearer information includes: In response to the absence of a file-type service among the multiple transmission services, determining a target transmission link from the first transmission link and the second transmission link according to the service carrying information of the first transmission link and the service carrying information of the second transmission link in the link carrying information; Among them, multiple transmission services are services in the transmission state, and the multiple transmission services include the first service; the service carrying information of the first transmission link indicates whether the first transmission link can carry the multiple transmission services, and the service carrying information of the second transmission link indicates whether the second transmission link can carry the multiple transmission services.
11. The method according to claim 10, wherein The method further comprises: In response to the presence of file-type services among the multiple transmission services, rate limiting processing is performed on the file-type services.
12. The method according to claim 9, wherein The service type of the first service is a streaming media type; The determining, according to the transmission type information, a target transmission link from the first transmission link and the second transmission link includes: In response to the transmission type information indicating that the transmission type of the first service is single-transmission transmission, and there is no file-type service among the multiple transmission services, determining the first transmission link and the second transmission link as target transmission links; The multiple transmission services are services in a transmission state, and the target transmission link is used to concurrently transmit the first services.
13. The method according to claim 12, wherein: The method further comprises: In response to the transmission type information indicating that the transmission type of the first service is single-transmission transmission, and there is a file-type service in a rate-limited state among multiple transmission services, the first transmission link and the second transmission link are determined as target transmission links.
14. The method according to claim 12, wherein: The method further comprises: In response to the transmission type information indicating that the transmission type of the first service is single-transmission transmission, and there is a file type service in an unspeeded state among multiple transmission services, service speed limiting processing is performed on the file type service in the unspeeded state.
15. The method according to claim 12, wherein The method further comprises: In response to the concurrent transmission instruction for the first service, sending the service data of the first service to the second electronic device through a first transmission link in the target transmission links; The service data of the first service is sent to the second electronic device through a second transmission link in the target transmission link.
16. The method according to claim 1 or 2, wherein: The method further comprises: Obtaining transmission delay data of service data of the first service; Determining average delay data according to the transmission delay data, and determining a transmission jitter parameter according to the average delay data and the transmission delay data; In response to the transmission jitter parameter being greater than a first jitter threshold, determining that a transmission abnormality of the first service is detected; In response to the transmission jitter parameter being less than or equal to the first jitter threshold, it is determined that no transmission abnormality occurs in the first service.
17. The method according to claim 16, wherein The link information includes an operating frequency band of a first transmission link and an operating frequency band of a second transmission link, wherein the operating frequency band of the first transmission link and the operating frequency band of the second transmission link are different; The method further comprises: When the transmission type of the first service is concurrent transmission and it is detected that no transmission abnormality occurs in the first service, determining a single-transmission transmission link that meets the quality requirement from the first transmission link and the second transmission link; In response to a jitter parameter of the single-transmission link being less than a second jitter threshold, a target transmission link is determined from the first transmission link and the second transmission link, where the target transmission link is used to adjust the transmission type of the first service to single-transmission transmission.
18. The method according to claim 1 or 2, wherein: The plurality of transmission links include a third transmission link, and the first electronic device sends service data of a third service to the second electronic device via the third transmission link; the method further includes: generating a second multipath scheduling request when detecting that the third transmission link is interrupted; In response to the second multipath scheduling request, determining a fourth transmission link from the plurality of transmission links; The service data of the third service is sent to the second electronic device through the fourth transmission link.
19. The method according to claim 18, wherein The method further comprises: generating a third multipath scheduling request when detecting that the third transmission link is restored; In response to the third multipath scheduling request, the service data of the third service is sent to the second electronic device through the third transmission link.
20. A service scheduling method, characterized in that: Applied to a second electronic device, the method includes: receiving service data of a first service from a first electronic device via a target transmission link, wherein the plurality of transmission links between the first electronic device and the second electronic device include the target transmission link; The service data of the first service is stored or displayed.
21. The method according to claim 20, wherein The method further comprises: In the process of establishing the plurality of transmission links with the first electronic device, acquiring the link information; The link information is stored in the second local storage information.
22. The method according to claim 20 or 21, wherein: The plurality of transmission links include a first transmission link and a second transmission link, and the method further includes: determining a data cache area in response to a concurrent transmission instruction for the first service; receiving service data of a first service from a first electronic device through the first transmission link and the second transmission link, the service data including a plurality of data packets; storing the plurality of data packets in the data cache area according to the numbering information of the data packets; In response to the data cache area storage being completed, the data stored in the data cache area is displayed.
23. An electronic device, characterized in that: It includes a memory and one or more processors; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute the service scheduling method as described in any one of claims 1-19 or 20-22.
24. A computer-readable storage medium comprising instructions, characterized in that: The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the service scheduling method according to any one of claims 1 to 19, or implements the service scheduling method according to any one of claims 20 to 22.
25. A chip system, characterized in that: The chip system is coupled to the memory, and the chip system is used to read and execute the computer program stored in the memory to implement the service scheduling method as described in any one of claims 1-19, or to implement the service scheduling method as described in any one of claims 20-22.
Citation Information
Patent Citations
Link selection method and device and computer readable storage medium
CN113766560A
Terminal equipment, multi-link communication method and chip
CN114640972A
Service scheduling method and device and storage medium
CN116156643A
Service indication method and device
CN116684315A
WIFI data transmission method, device and terminal device
WO2018130080A1