QoS value determination method, device, terminal equipment and computer storage medium
The target service type and indicator parameters are obtained through the terminal device, and the QoS value is calculated in combination with the weight, which solves the problem of inaccurate network quality judgment in the prior art, and realizes accurate QoS value determination for different service types and real-time network experience evaluation.
Patent Information
- Application Number
- CN202211007273.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-22
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2042-08-22
AI Technical Summary
In the prior art, the network quality can be judged only by detecting the delay and packet loss rate of the packet, and the QoS value cannot be accurately determined in real time.
The terminal device determines the corresponding indicator parameters and weights by obtaining the target service type of the current running service, and calculates the QoS value within each statistical time based on these parameters and weights, including indicators such as transmission delay, retransmission rate, bandwidth and DNS delay, and quickly determines the QoS value during link switching or reconstruction in combination with the detection data packet.
It realizes accurate QoS value determination for different service types, can reflect network service quality in real time, improves the speed and accuracy of QoS value determination, and is suitable for network experience evaluation of various service types.
Smart Images

Figure CN115426691B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to, but are not limited to, the field of communication technology, and in particular to a method, apparatus, terminal device, and computer storage medium for determining a quality of service (QoS) value. Background Art
[0002] In the related art, a terminal device receives a detection packet sent by a server. The detection packet may include a timestamp and / or a serial number, etc. The terminal device judges the quality of network transmission through the received detection packet. For example, the quality of the network is determined based on the delay and packet loss rate of the detection packet. However, determining the quality of the network based only on the delay and packet loss rate of the detection packet cannot truly reflect the service quality of the current network. Summary of the Invention
[0003] The embodiments of the present application provide a method, apparatus, terminal device, and computer storage medium for determining a quality of service (QoS) value.
[0004] In a first aspect, an embodiment of the present application provides a method for determining a quality of service (QoS) value, applied to a terminal device, the method comprising:
[0005] Get the target business type of the currently running business;
[0006] Determining at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; wherein the at least one indicator parameter corresponds to the at least one weight in a one-to-one manner;
[0007] Determine, based on the at least one indicator parameter, at least one first indicator value of the currently running service within each statistical duration; the at least one indicator parameter corresponds one-to-one to the at least one first indicator value;
[0008] The QoS value corresponding to each statistical duration is determined based on the at least one weight and the at least one first indicator value.
[0009] In a second aspect, an embodiment of the present application provides a device for determining a quality of service (QoS) value, including:
[0010] An acquisition unit, used to acquire the target service type of the currently running service;
[0011] a determining unit, configured to determine at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; the at least one indicator parameter and the at least one weight having a one-to-one correspondence;
[0012] The determining unit is further configured to determine, based on the at least one indicator parameter, at least one first indicator value of the currently running service within each statistical duration; the at least one indicator parameter corresponds one-to-one to the at least one first indicator value;
[0013] The determining unit is further configured to determine the QoS value corresponding to each statistical duration based on the at least one weight and the at least one first indicator value.
[0014] In a third aspect, an embodiment of the present application provides a terminal device, comprising: a memory and a processor,
[0015] The memory stores a computer program executable on the processor.
[0016] When the processor executes the computer program, the method of the first aspect is implemented.
[0017] In a fourth aspect, an embodiment of the present application provides a computer storage medium, which stores one or more programs, and the one or more programs can be executed by one or more processors to implement the method described in the first aspect.
[0018] In an embodiment of the present application, the target service type of the currently running service is obtained; at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type are determined; at least one indicator parameter corresponds to at least one weight; based on at least one indicator parameter, at least one first indicator value of the currently running service in each statistical duration is determined; at least one indicator parameter corresponds to at least one first indicator value; based on at least one weight and at least one first indicator value, the QoS value corresponding to each statistical duration is determined. In this way, the terminal device can determine the QoS value corresponding to each statistical duration according to the target service type of the currently running service, so that the determined QoS value can not only truly reflect the service quality of the currently running service, but also can determine the corresponding QoS value for each first duration of multiple first durations, thereby being able to reflect the service quality of the currently running service in real time; and, since the QoS value corresponding to each statistical duration is determined based on at least one weight and at least one first indicator value, different indicator values can correspond to different weights, thereby improving the accuracy of determining the QoS value. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The drawings described herein are used to provide further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute improper limitations on the present application.
[0020] Figure 1A flowchart of a method for determining a QoS value provided in an embodiment of the present application;
[0021] Figure 2 A schematic diagram of a process for determining at least one weight corresponding to a target service type provided in an embodiment of the present application;
[0022] Figure 3 A flowchart of another method for determining a QoS value provided in an embodiment of the present application;
[0023] Figure 4 A flowchart of another method for determining a QoS value provided in an embodiment of the present application;
[0024] Figure 5 A flowchart of another method for determining a QoS value provided in an embodiment of the present application;
[0025] Figure 6 A flowchart of a method for determining a QoS value provided in another embodiment of the present application;
[0026] Figure 7 A flowchart of a method for determining a QoS value provided in another embodiment of the present application;
[0027] Figure 8 A flow chart of a calculation formula for determining a QoS value provided in an embodiment of the present application;
[0028] Figure 9 A flowchart of a method for determining a QoS value provided in another embodiment of the present application;
[0029] Figure 10 A flowchart of another method for determining a QoS value provided in another embodiment of the present application;
[0030] Figure 11 A flowchart of a method for determining a QoS value provided in another embodiment of the present application;
[0031] Figure 12 A schematic diagram of the structure of a device for determining a QoS value provided in an embodiment of the present application;
[0032] Figure 13 A schematic structural diagram of a terminal device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0033] The following embodiments and accompanying drawings will be used to describe the technical solution of the present application in detail. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0034] It should be noted that in the examples of this application, "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0035] In addition, the technical solutions described in the embodiments of the present application can be combined arbitrarily without conflict. In the description of the present application, "multiple" means two or more, unless otherwise clearly defined.
[0036] In related technologies, when packet delays and packet loss rates are high, terminal devices can use forward error correction (FEC) to quickly correct errors and automatically retransmit lost packets. In cases of severe bandwidth shortages, video frames can be discarded to ensure that audio and data frames can arrive, thereby resolving unstable network transmission issues and improving network transmission quality.
[0037] However, the related art, which measures network quality by measuring data packet delay and packet loss, fails to truly reflect the current network's service quality, nor can it truly reflect the user experience when using that service. Furthermore, the related art can only determine the network quality for one service, failing to cover other services. For example, it can only determine the network quality for audio and video services, failing to cover services such as web browsing, chatting, or gaming.
[0038] The terminal device in this application can be called user equipment (UE), mobile station (MS), mobile terminal (MT), user unit, user station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent or user device. The electronic devices here may include one of the following or a combination of at least two: Internet of Things (IoT) devices, satellite terminals, Wireless Local Loop (WLL) stations, Personal Digital Assistants (PDAs), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to wireless modems, servers, mobile phones, tablet computers, computers with wireless transceiver capabilities, handheld computers, desktop computers, personal digital assistants, portable media players, smart speakers, navigation devices, smart watches, smart glasses, smart necklaces and other wearable devices, pedometers, digital TVs, Virtual Reality (VR) terminal devices, Augmented Reality (AR) terminal devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, and wireless terminals in smart homes. The wireless terminals in the home and the vehicles, vehicle-mounted devices, vehicle-mounted modules, wireless modems, handheld devices, customer premises equipment (CPE), smart home appliances, etc. in the Internet of Vehicles system.
[0039] Figure 1 A flow chart of a method for determining a QoS value provided in an embodiment of the present application is shown as follows: Figure 1 As shown, the method is applied to a terminal device, and the method includes:
[0040] S101. The terminal device obtains the target service type of the currently running service.
[0041] In some embodiments, the terminal device can determine the target service type of the currently running service based on at least one of the following corresponding to the currently running service: application, service type, service link, whether the service is an uplink service and / or a downlink service, whether the service is a foreground running service or a background running service, etc.
[0042] For example, the target business types of the currently running services corresponding to different applications can be different or the same. For example, the target business type of the currently running service corresponding to Alipay can be different or the same as the target business type of the currently running service corresponding to WeChat. For another example, the target business type of the currently running service corresponding to Taobao can be different or the same as the target business type of the currently running service corresponding to Alipay.
[0043] For another example, the target service types of the currently running services corresponding to different service types can be different or the same. For example, the target service types of the currently running services corresponding to the video call service and the voice call service can be different or the same. For another example, the target service types of the currently running services corresponding to the video call service and the gaming service can be different or the same.
[0044] For another example, the target service types of the currently running services corresponding to different service links can be different or the same. For example, the target service types of the currently running services corresponding to a 4G service link and a 5G service link can be different or the same. For another example, the target service types of the currently running services corresponding to a Wireless-Fidelity (WiFi) service link and a 5G service link can be different or the same.
[0045] For another example, the target service types of the currently running services corresponding to the uplink service link and the downlink service link can be different or the same. The target service types of the currently running services corresponding to the uplink service link and the sidelink service link can be different or the same.
[0046] In some embodiments, the currently running service may include a background running service and / or a foreground running service. In some embodiments, the target service types of the currently running services corresponding to the background running service and the foreground running service respectively may be different or the same.
[0047] In some embodiments, a terminal device may be pre-configured with multiple service types. The terminal device may determine a target service type for the currently running service based on at least one of an application program of the currently running service, a service type, a service link, whether the service is an uplink service and / or a downlink service, and whether the service is a foreground service or a background service. The target service type is one of the pre-configured multiple service types.
[0048] In some embodiments, the currently running service may include one running service, or the currently running service may include multiple running services. In the case where the currently running service may include multiple running services, the target service types corresponding to different running services may be the same or different. In some embodiments, different running services may correspond to at least one of the following: an application program, a service type, a service link, whether the service is an uplink service and / or a downlink service, and whether the service is a foreground running service or a background running service.
[0049] S102. The terminal device determines at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; the at least one indicator parameter corresponds to the at least one weight in a one-to-one manner.
[0050] In some embodiments, the at least one indicator parameter corresponding to the same target service type may be the same. For example, if the target service type is an online video call, the at least one indicator parameter may include parameters A, B, and C. In some embodiments, the at least one indicator parameter corresponding to different target service types may be the same or different. For example, if the target service type is an online video call, the at least one indicator parameter may include parameters A, B, and C; if the target service type is a text communication, the at least one indicator parameter may include parameters A and B.
[0051] In some embodiments, at least one weight corresponding to the same target service type may be the same. For example, when the target service type is an online video call, the weight corresponding to parameter A is 0.3, the weight corresponding to parameter B is 0.3, and the weight corresponding to parameter C is 0.4. In other embodiments, at least one weight corresponding to different target service types may be the same or different. For example, when the target service type is an online video call, the weight corresponding to parameter A is 0.3, the weight corresponding to parameter B is 0.3, and the weight corresponding to parameter C is 0.4. When the target service type is a text communication, the weight corresponding to parameter A is 0.4, and the weight corresponding to parameter B is 0.6.
[0052] In some embodiments, the terminal device may pre-store at least one indicator parameter corresponding to each of multiple service types, so that the terminal device can determine at least one indicator parameter corresponding to the target service type from the at least one indicator parameter corresponding to each service type. The indicator parameters corresponding to different service types may be the same or different.
[0053] In some embodiments, the terminal device may pre-store at least one weight corresponding to each of multiple business types, so that the terminal device may determine at least one weight corresponding to the target business type from the at least one weight corresponding to each business type.
[0054] S103. The terminal device determines at least one first indicator value of the currently running service in each statistical duration based on the at least one indicator parameter; the at least one indicator parameter corresponds one-to-one to the at least one first indicator value.
[0055] In some embodiments, each statistical duration may be replaced by the current statistical duration or individual statistical durations.
[0056] In some embodiments, each statistical duration can be generated in real time. The terminal device can determine at least one first indicator value for each statistical duration. In some embodiments, the terminal device can determine at least one first indicator value for the currently running service within each of multiple statistical durations. In some embodiments, the multiple statistical durations can be continuous, and adjacent statistical durations do not overlap.
[0057] In some embodiments, the durations corresponding to two statistical durations in the plurality of statistical durations may be the same or different. In some embodiments, one statistical duration corresponds to at least one first indicator value. For example, the number of first indicator values corresponding to one statistical duration is M, and the number of first indicator values corresponding to P statistical durations is P×M.
[0058] Exemplarily, when at least one indicator parameter is D, E, F, and G, the terminal device will determine the values of D, E, F, and G of the currently running service in each statistical duration.
[0059] S104. The terminal device determines the QoS value corresponding to each statistical duration based on the at least one weight and the at least one first indicator value.
[0060] In other embodiments, the QoS value may also be referred to as a QoS score, a QoS score, or a QoS rating.
[0061] In this way, the terminal device will determine the QoS value corresponding to the currently running service in each first time period. For example, when the currently running services include service A, service B, and service C, the terminal device will determine the QoS value corresponding to service A, the QoS value corresponding to service B, and the QoS value corresponding to service C in each statistical time period.
[0062] In some embodiments, the terminal device may add the product of the corresponding multiplication of the at least one weight and the at least one first indicator value to obtain the QoS value corresponding to each statistical duration.
[0063] In some embodiments, the terminal device may be pre-configured with at least one benchmark indicator value corresponding to at least one first indicator value, and the QoS value corresponding to each statistical duration may be determined based on the at least one weight, the at least one first indicator value, and the at least one benchmark indicator value. In some embodiments, the benchmark indicator value may be the maximum value or minimum value that the first indicator value can reach. For example, when the first indicator value is at least one of the round-trip delay value, the retransmission rate value, and the DNS delay value, the benchmark indicator value is the minimum value that can be reached; when the first indicator value is the bandwidth value, the benchmark indicator value is the maximum value that can be reached.
[0064] In some embodiments, the terminal device can first determine at least one result obtained by dividing the at least one first indicator value by at least one benchmark indicator value, add the products of the at least one weight and the at least one result, and obtain the QoS value corresponding to each statistical duration.
[0065] In an embodiment of the present application, the target service type of the currently running service is obtained; at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type are determined; at least one indicator parameter corresponds to at least one weight; based on at least one indicator parameter, at least one first indicator value of the currently running service in each statistical duration is determined; at least one indicator parameter corresponds to at least one first indicator value; based on at least one weight and at least one first indicator value, the QoS value corresponding to each statistical duration is determined. In this way, the terminal device can determine the QoS value corresponding to each statistical duration according to the target service type of the currently running service, so that the determined QoS value can not only truly reflect the service quality of the currently running service, but also can determine the corresponding QoS value for each first duration of multiple first durations, thereby being able to reflect the service quality of the currently running service in real time; and, since the QoS value corresponding to each statistical duration is determined based on at least one weight and at least one first indicator value, different indicator values can correspond to different weights, thereby improving the accuracy of determining the QoS value.
[0066] In some embodiments, the QoS value may range from 0 to 100. In other embodiments, the QoS value may range from 0 to 1. In still other embodiments, the QoS value may range from 0 to 10. The embodiments of the present application do not limit the value range of the QoS value, as long as the QoS value can represent the quality of service.
[0067] In some embodiments, the at least one indicator parameter includes at least one of the following:
[0068] At least one of the following parameters during interaction between the terminal device and the server corresponding to the currently running service: a sending delay parameter, a receiving delay parameter, and a round-trip time (RTT) parameter;
[0069] a retransmission rate parameter of a data packet sent by the terminal device to the server;
[0070] A retransmission rate parameter of a data packet sent by the server to the terminal device;
[0071] The bandwidth parameter corresponding to the currently running service;
[0072] The Domain Name System (DNS) latency parameter corresponding to the currently running service.
[0073] In some embodiments, the round-trip delay may also be referred to as the server round-trip delay. In some embodiments, the time when the terminal device sends a data packet to the server is a first time, and the time when the terminal device receives a feedback data packet sent by the server for the data packet is a second time. The round-trip delay parameter represents the difference between the second time and the first time.
[0074] In some embodiments, the retransmission rate may also be referred to as the Transmission Control Protocol (TCP) retransmission rate. In some embodiments, if there are Q data packets within a statistical time interval and R data packets are retransmitted, the retransmission rate value corresponding to the retransmission rate parameter may be represented by R / Q. In other embodiments, the retransmission rate parameter may be replaced by the number of retransmissions.
[0075] In some embodiments, the bandwidth value corresponding to the bandwidth parameter may represent the bandwidth occupied by the currently running service, wherein different services may occupy the same or different bandwidths.
[0076] In any embodiment of the present application, the DNS latency may be referred to as the DNS resolution latency, wherein the DNS resolution latency refers to the time interval from when a terminal device sends a domain name resolution request to a DNS server to when the DNS server feeds back the resolution result to the terminal device.
[0077] It should be noted that the round-trip delay parameters, retransmission rate parameters, bandwidth parameters and DNS delay parameters listed in the embodiments of the present application, in other embodiments, at least one indicator parameter may also include others, and the embodiments of the present application do not limit this.
[0078] In some embodiments, the terminal device may determine at least one indicator parameter based on the QoS value requirement of the currently running service. For example, if the QoS value requirement of the currently running service is high, the terminal device may determine a larger number of indicator parameters; if the QoS value requirement of the currently running service is low, the terminal device may determine a smaller number of indicator parameters.
[0079] In some embodiments, the method for determining a QoS value further includes the step of determining at least one weight corresponding to the target service type.
[0080] Figure 2 This is a flow chart of determining at least one weight corresponding to a target service type provided in an embodiment of the present application, such as Figure 2 As shown, the method is applied to a terminal device, and the method includes:
[0081] S201. The terminal device obtains multiple QoE values corresponding to the target service type and at least one second indicator value corresponding to each of the QoE values; the at least one second indicator value and the at least one indicator parameter have a one-to-one correspondence.
[0082] In some embodiments, the multiple QoE values corresponding to the target service type and the at least one second indicator value corresponding to each of the QoE values may be pre-configured by the terminal device, or may be sent by the server to the terminal device.
[0083] In some embodiments, the terminal device may obtain multiple QoE values corresponding to the target service type and at least one second indicator value corresponding to each QoE value at a preset period. For example, the preset period may be 10 days, half a month, a month, half a year, or a year.
[0084] In other embodiments, the terminal device may obtain multiple QoE values corresponding to the target service type and at least one second indicator value corresponding to each of the QoE values when an application corresponding to the currently running service is updated.
[0085] In some embodiments, the number of QoE values obtained by the terminal device should be greater than or equal to the number of indicator parameters.
[0086] S202: The terminal device fits the multiple QoE values and the at least one indicator value corresponding to each of the QoE values to determine the at least one weight.
[0087] During implementation, the greater the number of QoE values, the more accurately the at least one weight is determined. In some embodiments, the value range of the QoE value may be the same as the value range of the QoS value. For example, in some embodiments, the value range of the QoE value may be 0 to 100. In other embodiments, the value range of the QoE value may be 0 to 1. In still other embodiments, the value range of the QoE value may be 0 to 10.
[0088] The following is another way to illustrate the implementation of the method for determining the QoS value in the embodiment of the present application:
[0089] In some embodiments, a general QoS algorithm can be specified to reflect the end user's Internet experience while adapting to various user scenarios. First, there are four main data packet dimensions (i.e., at least one indicator parameter) of the application user's network experience: RTT, retransmission rate, bandwidth, and DNS. In different scenarios, the four dimensions occupy different weights to reflect the current application's Internet experience. At the same time, the weight calculation method is adjusted according to the application's experience quality QoE feedback results to achieve the most appropriate parameters.
[0090] The following describes a method for determining a QoS value provided by an embodiment of the present application: Score = K rtt ×rtt+K tcpre ×retrains+K bw ×bandwidth+K dns ×dns_delay.
[0091] Among them, Score represents the QoS value; K rtt , K tcpre , K bw , K dns Respectively represent the weight corresponding to the round trip time, the weight corresponding to the retransmission rate, the weight corresponding to the bandwidth, and the weight corresponding to the DNS delay; rtt, retrains, bandwidth, and dns_delay represent the round trip delay, retransmission rate, bandwidth, and DNS delay, respectively. In some embodiments, the weight K of each dimension (i.e., the above K rtt , K tcpre , K bw , K dns ) can be obtained by fitting the QoE value fed back by the application.
[0092] Figure 3 A flow chart of another method for determining a QoS value provided in an embodiment of the present application is shown as follows: Figure 3 As shown, the method is applied to a terminal device, and the method includes:
[0093] S301. The terminal device obtains the target service type of the currently running service.
[0094] S302. The terminal device determines at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; the at least one indicator parameter corresponds to the at least one weight in a one-to-one manner.
[0095] S303. The terminal device determines, based on the at least one indicator parameter, at least one third indicator value corresponding to each data packet of the currently running service within each statistical time period; each statistical time period includes N statistical periods.
[0096] Wherein, N is greater than or equal to a predetermined number of cycles, or the number of data packets in N statistical cycles is greater than or equal to a first threshold, and the number of data packets in N-1 statistical cycles is less than or equal to the first threshold.
[0097] Among them, the at least one indicator parameter corresponds one-to-one to the at least one first indicator value; and N is an integer greater than or equal to 1.
[0098] In some embodiments, the predetermined number of cycles may be pre-configured in the terminal device. Different running services may have the same or different predetermined number of cycles. In this way, by N being greater than or equal to the predetermined number of cycles, the QoS value can be determined within the predetermined number of cycles, thereby avoiding the situation where the QoS value cannot be determined for a long time; or, by the number of data packets in N statistical cycles being greater than or equal to the first threshold, and the number of data packets in N-1 statistical cycles being less than or equal to the first threshold, at least one first indicator value can be determined by the number of data packets greater than or equal to the first threshold, thereby improving the accuracy of the determined at least one indicator value.
[0099] In some embodiments, the at least one third indicator value may correspond to at least one indicator parameter. For example, if the at least one indicator parameter includes a round-trip delay parameter, the at least one third indicator value may include a round-trip delay value. For another example, if the at least one indicator parameter includes a retransmission rate parameter, the at least one third indicator value may include a value corresponding to whether or not to retransmit. For another example, if the at least one indicator parameter includes a bandwidth parameter, the at least one third indicator value may include a bandwidth value. For another example, if the at least one indicator parameter includes a DNS delay parameter, the at least one third indicator value may include a DNS delay value.
[0100] S304. The terminal device determines at least one first indicator value of the currently running service in each statistical time period based on at least one third indicator value corresponding to each data packet of the currently running service in each statistical time period.
[0101] In some embodiments, at least one first indicator value within each statistical duration can be represented by at least one third indicator value corresponding to each data packet among all data packets within each statistical duration. Exemplarily, the round-trip delay value within each statistical duration can be determined based on the sending time of the sent data packet and the receiving time of the received data packet fed back for the sent data packet among all data packets within each statistical duration. For example, among all data packets within each statistical duration, a target number of sent data packets have corresponding received data packets. Based on the sending time of the target number of sent data packets and the receiving time of the corresponding received data packets, the target number of round-trip delay values is determined. The round-trip delay value within each statistical duration can be: the maximum value, minimum value, average value, median value, or mode value of the target number of round-trip delay values. Exemplarily, the retransmission rate value within each statistical duration can be determined based on whether each data packet among all data packets within each statistical duration is retransmitted. Exemplarily, the bandwidth value within each statistical duration can be the maximum value, minimum value, average value, median value, or mode value of the bandwidth values of all data packets within each statistical duration. For another example, the DNS delay value within each statistical period may be the maximum value, minimum value, average value, median value, or mode value of the DNS delay values of all data packets within each statistical period.
[0102] S305. The terminal device determines the QoS value corresponding to each statistical duration based on the at least one weight and the at least one first indicator value.
[0103] Figure 4 A flow chart of another method for determining a QoS value provided in an embodiment of the present application is shown as follows: Figure 4 As shown, the method is applied to a terminal device, and the method includes:
[0104] S401: When a link between the terminal device and the server corresponding to the currently running service is switched or reestablished, the terminal device sends at least one detection data packet to the server.
[0105] In some embodiments, link switching may include cell switching or router switching. In some embodiments, link reestablishment may include cell reselection or router link reselection. In some embodiments, link switching or reestablishment occurs when the terminal device receives one of the following operations performed by the user on the terminal device: turning off and on airplane mode, turning off and on the device, turning off and on data services, turning off and on WiFi, entering and exiting a no-service scenario, etc.
[0106] In this case, since the terminal device link has just started to switch to a new link or rebuild to a new link, the service data will not be sent and / or received immediately, or only a small amount of service data can be sent and / or received. Therefore, if the QoS value is determined only based on the service data packet, it will take a long time to determine the QoS value. Based on this, an embodiment of the present application proposes a solution in which the terminal device sends at least one probe data packet to the server when the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, so that the QoS value can be determined more quickly by combining the service data packet, the probe data packet and the feedback data packet corresponding to each of the probe data packets, thereby improving the speed of determining the QoS value, which is conducive to optimizing the network corresponding to the service in advance.
[0107] In some embodiments, the protocol used by the probe data packet can be the same as the protocol used by the service data packet. For example, both the probe data packet and the service data packet are TCP data packets. In some embodiments, the payload in the probe data packet can be empty. In some embodiments, the packet header of the probe data packet can carry probe signal indication information, so that the server can send a feedback data packet to the terminal device based on the probe signal indication information.
[0108] In some embodiments, when the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, at least one probe data packet is sent to the server, including: when the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, and the number of data packets received and / or sent through the switched link within a preset time period is less than or equal to a second threshold, at least one probe data packet is sent to the server.
[0109] In some embodiments, the preset duration may be a duration preconfigured by the terminal device. The preset duration may be a statistical duration, or may be greater than a statistical duration, or less than a statistical duration. In some embodiments, the preset duration may include S statistical periods, where S is an integer greater than or equal to 1, and S may be equal to N, or S may be greater than N, or S may be less than N.
[0110] In the case where the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, the terminal device determines the moment when the switching or reconstruction is completed as the starting moment. During the period of a preset time interval from the starting moment, the number of received data packets determined by the terminal device is less than or equal to the second threshold, and / or the number of sent data packets determined by the terminal device is less than or equal to the second threshold, and / or the total number of received and sent data packets determined by the terminal device is less than or equal to the second threshold. At this time, the terminal device can send at least one detection data packet to the server. The second threshold corresponding to the number of received data packets may be the same as or different from the second threshold corresponding to the number of sent data packets. The second threshold corresponding to the number of received data packets may be the same as or different from the second threshold corresponding to the total number of received and sent data packets.
[0111] In this way, when the terminal device cannot obtain enough data packets within the preset time, the terminal device can actively send a detection data packet to the server and receive a feedback data packet sent by the server for the detection data packet, so that the terminal device can quickly obtain the data packet interacting between the terminal device and the server, and then quickly determine the QoS value.
[0112] In some embodiments, when the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, and the number of data packets received and / or the number of data packets sent through the switched link within a preset time period is less than or equal to a second threshold, at least one probe data packet is sent to the server, including: when the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, and the number of data packets received and / or sent through the switched link within a preset time period is less than or equal to a second threshold, determining a first difference between the second threshold and the number of received data packets, and / or a second difference between the second threshold and the number of sent data packets; sending the first difference number of probe data packets to the server, and / or sending the second difference number of probe data packets to the server.
[0113] In this way, based on the first difference between the second threshold and the number of received data packets, and / or the second difference between the second threshold and the number of sent data packets, the terminal device can obtain the number of probe data packets used to determine the QoS value, thereby sending the first difference number of probe data packets to the server, and / or sending the second difference number of probe data packets to the server.
[0114] S402: The terminal device receives a feedback data packet corresponding to each of the detection data packets sent by the server.
[0115] In some embodiments, upon receiving a probe signal, the server may send a feedback packet to the terminal device in response to the probe signal. In some embodiments, the protocol used by the probe packet may be the same as the protocol used by the feedback packet. In some embodiments, the payload in the feedback packet may be empty. In some embodiments, the header of the feedback packet may carry feedback signal indication information.
[0116] S403: The terminal device obtains the target service type of the currently running service.
[0117] S404. The terminal device determines at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; the at least one indicator parameter corresponds to the at least one weight in a one-to-one manner.
[0118] S405. The terminal device determines, based on the at least one indicator parameter, at least one third indicator value corresponding to each of the probe data packets and / or each of the feedback data packets and / or each of the service data packets of the currently running service within each statistical time period.
[0119] Among them, each statistical duration includes N statistical periods; N is greater than or equal to a predetermined number of periods, or the number of data packets in N statistical periods is greater than or equal to a first threshold, and the number of data packets in N-1 statistical periods is less than or equal to the first threshold.
[0120] It should be noted that, for the description of determining at least one third indicator value corresponding to each of the detection data packets and / or each of the feedback data packets and / or each of the service data packets, reference may be made to the relevant description of S305 and will not be repeated here.
[0121] S406. The terminal device determines at least one first indicator value of the currently running service in each statistical time period based on at least one third indicator value corresponding to each data packet of the currently running service in each statistical time period.
[0122] S407. The terminal device determines the QoS value corresponding to each statistical duration based on the at least one weight and the at least one first indicator value.
[0123] In an embodiment of the present application, when a link between the terminal device and the server corresponding to the currently running service is switched or reestablished, the terminal device calculates a first QoS value within a statistical duration starting from the start time of the switching or reestablishment. Further, within a next statistical duration, a second QoS value is calculated, so that the terminal device can determine the QoS value in real time.
[0124] In an embodiment of the present application, when the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, the terminal device recalculates the QoS by sending a probe data packet, so that the QoS value can converge as quickly as possible and accurately represent the current user network experience.
[0125] Figure 5 A flow chart of another method for determining a QoS value provided in an embodiment of the present application is shown as follows: Figure 5 As shown, the method is applied to a terminal device, and the method includes:
[0126] S501: The terminal device obtains a target service type corresponding to each service in at least one currently running service.
[0127] For example, the services currently running on the terminal device may include: video calling services and web browsing services. For another example, the services currently running on the terminal device may include: text communication services and download services. For another example, the services currently running on the terminal device may include: services running on a WiFi network and services running on a cellular network. The cellular network may include 4G, 5G, or 6G networks.
[0128] In some embodiments, the at least one currently running business can be different businesses of the same application, or can be businesses of different applications. In some embodiments, the at least one currently running business can be all foreground businesses, or all background businesses, or partly foreground businesses or partly background businesses.
[0129] In some embodiments, a target service type may correspond to one or more services. Different target service types correspond to different services. For example, if target service type 1 corresponds to services 1 and 2, then target service type 2 corresponds to service 3, but not to services 1 and 2. In some embodiments, different services within at least one service may correspond to the same or different target service types.
[0130] S502. The terminal device determines at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; the at least one indicator parameter corresponds to the at least one weight in a one-to-one manner.
[0131] When at least one service corresponds to one target service type, the terminal device determines at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type. When at least one service corresponds to multiple target service types, the terminal device determines at least one indicator parameter corresponding to each of the multiple target service types and at least one weight corresponding to each target service type.
[0132] S503: The terminal device determines at least one first indicator value for each service within each statistical duration based on the at least one indicator parameter.
[0133] S504. The terminal device determines the QoS value of each service corresponding to each statistical duration based on the at least one weight and the at least one first indicator value.
[0134] For example, the services currently running on a terminal device include service 1, service 2, and service 3. Service 1 and service 2 correspond to target service type 1, and service 3 corresponds to target service type 2. The terminal device determines indicator parameters A, B, and C corresponding to target service type 1, and their corresponding weights are 0.3, 0.3, and 0.4, respectively. The terminal device determines indicator parameters A and B corresponding to target service type 2, and their corresponding weights are 0.4 and 0.6, respectively. The terminal device can determine the values of parameters A, B, and C corresponding to each service in service 1 and service 2 during each statistical duration based on indicator parameters A, B, and C; and determine the values of parameters A and B corresponding to each statistical duration for service 3 based on indicator parameters A and B. The terminal device can then determine the QoS value for each statistical duration corresponding to service 1 and service 2 based on the values of parameters A, B, and C, and their corresponding weights of 0.3, 0.3, and 0.4, respectively; and determine the QoS value for each statistical duration corresponding to service 3 based on the values of parameters A and B, and their corresponding weights of 0.4 and 0.6, respectively.
[0135] Figure 6 A flow chart of a method for determining a QoS value provided in another embodiment of the present application is shown as follows: Figure 6 As shown, the method is applied to a terminal device, and the method includes:
[0136] S601. The terminal device obtains a target service type for an uplink service and / or a target service type for a downlink service.
[0137] In some embodiments, the target service type of the uplink service may be the same as or different from the target service type of the downlink service.
[0138] S602. The terminal device determines at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; the at least one indicator parameter corresponds to the at least one weight in a one-to-one manner.
[0139] S603. The terminal device determines, based on the at least one indicator parameter, at least one first indicator value of the uplink service within each statistical time period, and / or at least one first indicator value of the downlink service within each statistical time period.
[0140] S604. The terminal device determines the QoS value of the uplink service corresponding to each statistical duration based on the at least one weight and the at least one first indicator value of the uplink service within each statistical duration, and / or determines the QoS value of the downlink service corresponding to each statistical duration based on the at least one weight and the at least one first indicator value of the downlink service within each statistical duration.
[0141] In this way, in the embodiment of the present application, the terminal device can separately determine the QoS value corresponding to the uplink service and the QoS value corresponding to the downlink service, which is conducive to the terminal device optimizing the QoS of the uplink service and the downlink service respectively, thereby improving the effectiveness of the optimization.
[0142] In some embodiments, the terminal device may display the QoS value after determining the QoS value. For example, the terminal device may receive a user operation on an application program to cause the application program to display the QoS value.
[0143] Figure 7 A flow chart of a method for determining a QoS value provided in another embodiment of the present application is shown as follows: Figure 7 As shown, the method is applied to a terminal device, and the method includes:
[0144] S701. The terminal device obtains the target service type of the currently running service.
[0145] S702. The terminal device determines at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; the at least one indicator parameter corresponds to the at least one weight in a one-to-one manner.
[0146] S703. The terminal device determines at least one first indicator value of the currently running service in each statistical duration based on the at least one indicator parameter; the at least one indicator parameter corresponds one-to-one to the at least one first indicator value.
[0147] S704. The terminal device determines the QoS value corresponding to each statistical duration based on the at least one weight and the at least one first indicator value.
[0148] S705. When the QoS value is less than or equal to the third threshold corresponding to the target service type, the terminal device determines a target indicator value that is less than or equal to the corresponding reference value from the at least one indicator value based on the at least one first indicator value and the reference value corresponding one-to-one to the at least one first indicator value.
[0149] In some embodiments, the terminal device may be pre-configured with a third threshold corresponding to the target service type. The greater the difference between the third threshold corresponding to the target service type and the QoS value corresponding to the target service type, the lower the quality of service corresponding to the target service type, and the more necessary it is to optimize the quality of service corresponding to the target service type.
[0150] In some embodiments, at least one reference value corresponding to different target service types may be the same. In other embodiments, at least one reference value corresponding to different target service types may be different. The terminal device may be pre-configured with at least one reference value corresponding to the target service type.
[0151] S706. The terminal device sends indication information to the device associated with the target indicator value; the indication information is used to indicate that the target indicator value is less than or equal to the corresponding reference value.
[0152] Exemplarily, the target indicator value may include at least one of the following: a round-trip delay value, a retransmission rate value, a bandwidth value, and a DNS delay value.
[0153] In some embodiments, the device associated with the round-trip delay and / or retransmission rate value may include at least one of the following: a server or a switch. In some embodiments, the device associated with the bandwidth value may include a base station and / or a router. In some embodiments, the device associated with the DNS latency value may include a DNS device.
[0154] In this way, the terminal device sends indication information to the device associated with the target indicator value, so that the device associated with the target indicator value can optimize the target indicator value of the terminal device to improve the QoS value of the terminal device.
[0155] Figure 8 A flow chart of a calculation formula for determining a QoS value provided in an embodiment of the present application is shown as follows: Figure 8 As shown, the method is applied to a terminal device, and the method includes:
[0156] S801. An application of a terminal device uses a network service.
[0157] S802. The terminal device collects statistics of second indicator values in four dimensions and corresponding application QoE data.
[0158] In some embodiments, the second indicator values of the four dimensions may include: round-trip delay value, retransmission rate value, bandwidth value, and DNS delay value.
[0159] S803: The terminal device calculates weights through multi-parameter linear regression.
[0160] In some embodiments, the terminal device calculates the weights through multi-parameter linear regression based on the second indicator values of the four dimensions and the corresponding application QoE data.
[0161] S804: The terminal device determines a calculation formula for the QoS value of the application.
[0162] In some embodiments, the terminal device may determine a calculation formula for the QoS value based on the weight.
[0163] Figure 9 A flow chart of a method for determining a QoS value provided in another embodiment of the present application is shown as follows: Figure 9 As shown, the method is applied to a terminal device, and the method includes:
[0164] S901. An application of a terminal device uses a network service.
[0165] S902: The terminal device determines whether the service data packet meets the statistical condition.
[0166] If yes, execute S903 , and if no, execute S905 .
[0167] S903. The terminal device counts the first indicator values of the four dimensions.
[0168] S904. The terminal device calculates the QoS value according to the first indicator values of the four dimensions.
[0169] S905: The terminal device obtains data packets of the next period, and determines whether the total obtained data packets meet the statistical conditions.
[0170] If the answer to S905 is yes, the process may jump to S904 ; if the answer to S905 is no, the process may jump to S905 .
[0171] In some embodiments, a data packet of one period may be a data packet of one statistical period in the above embodiment.
[0172] In some embodiments, in some special scenarios, some special processing is required to ensure the accuracy and timeliness of the QoS score.
[0173] For example, in a network terminal reconnection scenario, the user's network will be interrupted and then reconnected. At the time of reconnection, the application's service data has not yet been initiated. Therefore, in this case, some proactive operations can be performed to timely calculate the network's QoS value, such as the terminal device sending a probe data packet to the server. User operations in this scenario include but are not limited to: turning airplane mode on and off, turning the device off and on, turning data services off and on, turning WiFi off and on, entering and exiting a no-service scenario, etc.
[0174] Figure 10 A flow chart of another method for determining a QoS value provided in another embodiment of the present application is shown as follows: Figure 10 As shown, the method is applied to a terminal device, and the method includes:
[0175] S1001. An application of a terminal device uses a network service.
[0176] S1002: The terminal device determines whether the service data packet meets the statistical conditions.
[0177] If yes, execute S1003 , and if no, execute S1004 .
[0178] S1003. The terminal device counts the first indicator values of the four dimensions and calculates the QoS value according to the first indicator values of the four dimensions.
[0179] S1004: The terminal device sends a detection data packet to the server.
[0180] S1005. The terminal device re-counts the first indicator values of the four dimensions starting from the start time of the switching completion or the reconstruction completion.
[0181] S1006. The terminal device determines the QoS value according to the weight corresponding to the service type.
[0182] In some embodiments, the terminal device determines the QoS value based on the re-statistical first indicator values of the four dimensions and the weights corresponding to the service types.
[0183] In some embodiments, for a multi-link scenario, the QoS score (ie, the QoS value) essentially reflects the user network quality experience under the current network, so for a multi-link scenario, it is necessary to score the services separately.
[0184] Figure 11 A flow chart of another method for determining a QoS value provided in another embodiment of the present application is shown as follows: Figure 11 As shown, the method is applied to a terminal device, and the method includes:
[0185] S1101. An application of a terminal device uses a network service.
[0186] S1102: The terminal device determines whether the current data link is an application service link.
[0187] In some embodiments, the application service link indicates that there is interaction between the terminal device and the server, and the non-application service link indicates that there is no interaction between the terminal device and the server.
[0188] If the answer is yes, execute S1103 , and if the answer is no, execute S1105 .
[0189] S1103. The terminal device counts the first indicator values of the four dimensions on the current data link.
[0190] S1004. The terminal device determines the corresponding QoS value according to the current service type.
[0191] Exemplarily, the terminal device determines the QoS value based on the first indicator values of the four dimensions on the current data link and the weight corresponding to the service type.
[0192] S1005. The terminal device does not determine the QoS value.
[0193] The QoS value determination method proposed in the embodiments of this application can accurately evaluate the network experience results under the current service. At the same time, when the QoS is poor, it provides a score of the poor dimension to facilitate the user's subsequent network optimization. For example, in a video scenario, a low QoS score indicates that the current network cannot meet the needs of the current video service and requires further optimization, such as increasing the current network bandwidth, reducing network latency, and / or improving DNS query efficiency.
[0194] For some abnormal scenarios, when the network starts or switches, the terminal device sends a detection data packet to the server, so that the terminal device can obtain the current network quality more quickly. In this way, the system can perform some network optimization in advance, avoiding users from evaluating and optimizing when doing business, thereby improving the network experience.
[0195] In this embodiment, the user's network experience is accurately assessed by using application data characteristics, service types, and various terminal scenarios. This solution is more versatile, covers more service scenarios, has more dimensions, and provides more accurate assessments. Furthermore, more detailed information can be provided to associated devices during subsequent network optimization processes.
[0196] In the embodiments of the present application, bandwidth can be divided into uplink and downlink bandwidth, or other dimensions that affect the service network experience, and the QoS value determination method provided in the embodiments of the present application is also applicable. In the embodiments of the present application, the QoS value determination method provided in the embodiments of the present application can also be applied in other scenarios that trigger network switching or network reconnection.
[0197] Based on the foregoing embodiments, an embodiment of the present application provides a device for determining a quality of service (QoS) value, which includes the various units included and the various modules included in each unit, and can be implemented by a processor in a terminal device; of course, it can also be implemented by a specific logic circuit; in the implementation process, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP) or a field programmable gate array (FPGA), etc.
[0198] Figure 12 A schematic diagram of the structure of a device for determining a QoS value provided in an embodiment of the present application is shown in FIG. Figure 12 As shown, the QoS value determination device 1200 includes:
[0199] An acquiring unit 1201 is configured to acquire a target service type of a currently running service;
[0200] A determining unit 1202 is configured to determine at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; the at least one indicator parameter and the at least one weight have a one-to-one correspondence;
[0201] The determining unit 1202 is further configured to determine, based on the at least one indicator parameter, at least one first indicator value of the currently running service within each statistical duration; the at least one indicator parameter corresponds one-to-one to the at least one first indicator value;
[0202] The determining unit 1202 is further configured to determine the QoS value corresponding to each statistical duration based on the at least one weight and the at least one first indicator value.
[0203] In some embodiments, the at least one indicator parameter includes at least one of the following:
[0204] At least one of the following when the terminal device interacts with the server corresponding to the currently running service: a sending delay parameter, a receiving delay parameter, and a round-trip delay parameter;
[0205] a retransmission rate parameter of a data packet sent by the terminal device to the server;
[0206] A retransmission rate parameter of a data packet sent by the server to the terminal device;
[0207] The bandwidth parameter corresponding to the currently running service;
[0208] The Domain Name System (DNS) latency parameter corresponding to the currently running service.
[0209] In some embodiments, the acquiring unit 1201 is further configured to: acquire multiple QoE values corresponding to the target service type and at least one second indicator value corresponding to each of the QoE values; the at least one second indicator value and the at least one indicator parameter have a one-to-one correspondence;
[0210] The determining unit 1202 is further configured to: perform fitting on the multiple QoE values and the at least one indicator value corresponding to each of the QoE values to determine the at least one weight.
[0211] In some embodiments, each statistical duration includes N statistical periods; N is an integer greater than or equal to 1; N is greater than or equal to a predetermined number of periods, or the number of data packets in N statistical periods is greater than or equal to a first threshold, and the number of data packets in N-1 statistical periods is less than or equal to the first threshold;
[0212] The determination unit 1202 is also used to: determine at least one third indicator value corresponding to each data packet of the currently running service in each statistical time period based on the at least one indicator parameter; determine at least one first indicator value of the currently running service in each statistical time period based on the at least one third indicator value corresponding to each data packet of the currently running service in each statistical time period.
[0213] In some embodiments, the device 1200 for determining a quality of service (QoS) value further includes a communication unit 1203 configured to: send at least one probe data packet to the server when a link between the terminal device and the server corresponding to the currently running service is switched or reestablished; and receive a feedback data packet corresponding to each probe data packet sent by the server;
[0214] The determination unit 1202 is further used to: determine, based on the at least one indicator parameter, at least one third indicator value corresponding to each of the probe data packets and / or each of the feedback data packets and / or each of the service data packets of the currently running service within each statistical time period.
[0215] In some embodiments, the communication unit 1203 is also used to: send at least one detection data packet to the server when the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, and the number of data packets received and / or sent through the switched link within a preset time period is less than or equal to a second threshold.
[0216] In some embodiments, the determining unit 1202 is further configured to: when a link between the terminal device and the server corresponding to the currently running service is switched or reestablished, and the number of data packets received and / or sent through the switched link within a preset time period is less than or equal to a second threshold, determine a first difference between the second threshold and the number of received data packets, and / or a second difference between the second threshold and the number of sent data packets;
[0217] The communication unit 1203 is further configured to: send the first difference number of detection data packets to the server, and / or send the second difference number of detection data packets to the server.
[0218] In some embodiments, the acquiring unit 1201 is further configured to: acquire a target service type corresponding to each service in at least one currently running service;
[0219] The determining unit 1202 is further configured to: determine, based on the at least one indicator parameter, at least one first indicator value for each service within each statistical duration;
[0220] The determining unit 1202 is further configured to determine the QoS value of each service corresponding to each statistical duration based on the at least one weight and the at least one first indicator value.
[0221] In some embodiments, the acquiring unit 1201 is further configured to: acquire a target service type for an uplink service and / or a target service type for a downlink service;
[0222] The determining unit 1202 is further configured to determine, based on the at least one indicator parameter, at least one first indicator value of the uplink service within each statistical duration, and / or at least one first indicator value of the downlink service within each statistical duration;
[0223] The determination unit 1202 is further used to: determine the QoS value of the uplink service corresponding to each statistical time period based on the at least one weight and at least one first indicator value of the uplink service within each statistical time period, and / or determine the QoS value of the downlink service corresponding to each statistical time period based on the at least one weight and at least one first indicator value of the downlink service within each statistical time period.
[0224] In some embodiments, the determining unit 1202 is further configured to: determine, if the QoS value is less than or equal to a third threshold corresponding to the target service type, based on the at least one first indicator value and a reference value corresponding one-to-one to the at least one first indicator value, a target indicator value that is less than or equal to the corresponding reference value from the at least one indicator value;
[0225] The communication unit 1203 is further used to: send indication information to a device associated with the target indicator value; the indication information is used to indicate that the target indicator value is less than or equal to the corresponding reference value.
[0226] The description of the above device embodiment is similar to the description of the above method embodiment and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of this application, please refer to the description of the method embodiment of this application for understanding.
[0227] It should be noted that in the embodiments of the present application, if the above-mentioned method for determining the quality of service (QoS) value is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer storage medium. Based on this understanding, the technical solution of the embodiments of the present application, or the part that contributes to the relevant technology, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a terminal device to execute all or part of the methods described in each embodiment of the present application.
[0228] Figure 13 A schematic structural diagram of a terminal device provided in an embodiment of the present application is shown. Figure 13 The terminal device 1300 shown may include a processor 1310 and a memory 1320, wherein the memory 1320 stores a computer program that can be run on the processor 1310, and when the processor 1310 executes the program, the method for determining the QoS value in any of the above embodiments is implemented.
[0229] Optionally, the memory 1320 may be a separate device independent of the processor 1310 , or may be integrated into the processor 1310 .
[0230] In some embodiments, as Figure 13 As shown, the terminal device 1300 may further include a transceiver 1330 , and the processor 1310 may control the transceiver 1330 to communicate with other devices. Specifically, it may send information or data to other devices, or receive information or data sent by other devices.
[0231] The transceiver 1330 may include a transmitter and a receiver. The transceiver 1330 may further include an antenna, and the number of antennas may be one or more.
[0232] An embodiment of the present application also provides a computer storage medium, which stores one or more programs. The one or more programs can be executed by one or more processors to implement the method for determining the QoS value in any embodiment of the present application.
[0233] In some embodiments, the computer-readable storage medium can be applied to the terminal device in the embodiments of the present application, and the computer program enables the computer to execute the corresponding processes implemented by the terminal device in the various methods of the embodiments of the present application. For the sake of brevity, they will not be repeated here.
[0234] It should be noted that the description of the above storage medium and terminal device embodiments is similar to the description of the above method embodiments and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium and terminal device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.
[0235] The above-mentioned QoS value determination device or processor may include any one or more of the following integrations: Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), Central Processing Unit (CPU), Graphics Processing Unit (GPU), Embedded Neural Network Processing Units (NPU), controller, microcontroller, microprocessor, programmable logic device, discrete gate or transistor logic device, discrete hardware component. It can be understood that the electronic device that implements the above-mentioned processor function can also be other, and the embodiments of the present application are not specifically limited.
[0236] The above-mentioned computer storage medium / memory may include one of the following or an integration of multiple of the following: Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Ferromagnetic Random Access Memory (FRAM), Flash Memory, magnetic surface storage, optical disc, Compact Disc Read-Only Memory (CD-ROM) and other memories; it may also be various terminals including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0237] It should be understood that the “one embodiment” or “an embodiment” or “an embodiment of the present application” or “the aforementioned embodiment” or “some implementation methods” or “some embodiments” mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, “in one embodiment” or “in an embodiment” or “an embodiment of the present application” or “the aforementioned embodiment” or “some implementation methods” or “some embodiments” appearing throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. The serial numbers of the embodiments of the present application mentioned above are for description only and do not represent the advantages and disadvantages of the embodiments.
[0238] Unless otherwise specified, when a terminal device executes any step in the embodiments of the present application, the terminal device's processor may execute the step. Unless otherwise specified, the embodiments of the present application do not limit the order in which the terminal device executes the following steps. In addition, the methods used to process data in different embodiments may be the same method or different methods. It should also be noted that any step in the embodiments of the present application can be independently executed by the terminal device, that is, when the terminal device executes any step in the above embodiments, it can be independent of the execution of other steps.
[0239] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0240] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed across multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the scheme of this embodiment.
[0241] In addition, all functional units in the embodiments of the present application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the above-mentioned integrated units can be implemented in the form of hardware or in the form of hardware plus software functional units.
[0242] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0243] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0244] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
[0245] Those skilled in the art will understand that all or part of the steps of the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM), magnetic disks or optical disks, and other media that can store program codes.
[0246] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer storage medium. Based on this understanding, the technical solution of the embodiment of the present application can be essentially or in other words, the part that contributes to the relevant technology can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0247] In the embodiments of the present application, the descriptions of the same steps and the same content in different embodiments can refer to each other. In the embodiments of the present application, the term "and" does not affect the order of the steps. For example, when a terminal device executes A and then executes B, it can be that the terminal device executes A first and then executes B, or the terminal device executes B first and then executes A, or the terminal device executes A and B at the same time.
[0248] As used in the embodiments of the present application and the appended claims, the singular forms "a," "an," "said," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0249] It should be understood that the term "and / or" as used herein is merely a description of the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.
[0250] It should be noted that in each embodiment involved in this application, all steps can be executed or part of the steps can be executed as long as a complete technical solution can be formed.
[0251] The above is merely an embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A method for determining a quality of service (QoS) value, characterized in that: Applied to a terminal device, the method includes: Determine whether the service data packet meets the statistical conditions; In the case where the service data packet does not meet the statistical condition, the QoS value is determined by sending a probe data packet and / or receiving a feedback data packet corresponding to the probe data packet and / or the service data packet; wherein the service data packet does not meet the statistical condition, including: the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, and the number of data packets received and / or sent through the switched link within a preset time period is less than or equal to a second threshold; When the service data packet satisfies the statistical condition, obtaining a target service type of the currently running service; wherein the currently running service is different services of the same application, or services of different applications; the currently running service includes: a video call service and a web browsing service, or a text communication service and a download service, or a service running on a WiFi network and a service running on a cellular network; Determining at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; wherein the weight is determined by fitting multiple QoE values corresponding to the target service type and at least one second indicator value corresponding to each of the QoE values; and the at least one indicator parameter and the at least one weight are in one-to-one correspondence; Determine, based on the at least one indicator parameter, at least one first indicator value of the currently running service within each statistical duration; wherein the multiple statistical durations are continuous, and two adjacent statistical durations do not overlap, and each statistical duration includes N statistical periods, where N is greater than or equal to a predetermined number of periods or the number of data packets in the N statistical periods is greater than or equal to a first threshold; and the at least one indicator parameter corresponds one-to-one to the at least one first indicator value; The QoS value corresponding to each statistical duration is determined based on the at least one weight and the at least one first indicator value.
2. The method according to claim 1, characterized in that The at least one indicator parameter includes at least one of the following: At least one of the following when the terminal device interacts with the server corresponding to the currently running service: a sending delay parameter, a receiving delay parameter, and a round-trip delay parameter; a retransmission rate parameter of a data packet sent by the terminal device to the server; A retransmission rate parameter of a data packet sent by the server to the terminal device; The bandwidth parameter corresponding to the currently running service; The Domain Name System (DNS) latency parameter corresponding to the currently running service.
3. The method according to claim 1, characterized in that The method further comprises: Acquire the multiple QoE values corresponding to the target service type and the at least one second indicator value corresponding to each of the QoE values; the at least one second indicator value and the at least one indicator parameter have a one-to-one correspondence; Fitting the multiple QoE values and the at least one second indicator value corresponding to each of the QoE values is performed to determine the at least one weight.
4. The method according to any one of claims 1 to 3, characterized in that The determining, based on the at least one indicator parameter, at least one first indicator value of the currently running service in each statistical duration includes: Determine, based on the at least one indicator parameter, at least one third indicator value corresponding to each data packet of the currently running service within each statistical duration; At least one first indicator value of the currently running service in each statistical time length is determined based on at least one third indicator value corresponding to each data packet of the currently running service in each statistical time length.
5. The method according to claim 4, characterized in that The method further comprises: When a link between the terminal device and the server corresponding to the currently running service is switched or reestablished, sending at least one of the detection data packets to the server; receiving the feedback data packet corresponding to each of the probe data packets sent by the server; The determining, based on the at least one indicator parameter, at least one third indicator value corresponding to each data packet of the currently running service within each statistical duration includes: Based on the at least one indicator parameter, at least one third indicator value corresponding to each of the probe data packets and / or each of the feedback data packets and / or each of the service data packets of the currently running service within each statistical duration is determined.
6. The method according to claim 5, characterized in that When a link between the terminal device and the server corresponding to the currently running service is switched or reestablished, sending at least one detection data packet to the server includes: When the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, and the number of data packets received and / or sent through the switched link within the preset time period is less than or equal to the second threshold, at least one detection data packet is sent to the server.
7. The method according to claim 6, characterized in that The step of sending the at least one probe data packet to the server when the link between the terminal device and the server corresponding to the currently running service is switched or reestablished and the number of data packets received and / or the number of data packets sent through the switched link within the preset time period is less than or equal to the second threshold includes: When a link between the terminal device and the server corresponding to the currently running service is switched or reestablished, and the number of data packets received and / or sent through the switched link within the preset time period is less than or equal to the second threshold, determining a first difference between the second threshold and the number of received data packets, and / or a second difference between the second threshold and the number of sent data packets; Sending the first difference number of probe data packets to the server, and / or sending the second difference number of probe data packets to the server.
8. The method according to any one of claims 1 to 3, characterized in that The obtaining of the target service type of the currently running service includes: obtaining the target service type corresponding to each service in at least one currently running service; The determining, based on the at least one indicator parameter, at least one first indicator value of the currently running service in each statistical duration includes: determining, based on the at least one indicator parameter, at least one first indicator value of each service in each statistical duration; Determining the QoS value corresponding to each statistical duration based on the at least one weight and the at least one first indicator value includes: determining the QoS value of each service corresponding to each statistical duration based on the at least one weight and the at least one first indicator value.
9. The method according to any one of claims 1 to 3, characterized in that The obtaining of the target service type of the currently running service includes: obtaining the target service type of the uplink running service and / or the target service type of the downlink running service; The determining, based on the at least one indicator parameter, at least one first indicator value of the currently running service in each statistical duration includes: determining, based on the at least one indicator parameter, at least one first indicator value of the uplink running service in each statistical duration, and / or at least one first indicator value of the downlink running service in each statistical duration; The determining of the QoS value corresponding to each statistical duration based on the at least one weight and the at least one first indicator value includes: determining the QoS value of the uplink service corresponding to each statistical duration based on the at least one weight and the at least one first indicator value of the uplink service within each statistical duration, and / or determining the QoS value of the downlink service corresponding to each statistical duration based on the at least one weight and the at least one first indicator value of the downlink service within each statistical duration.
10. The method according to any one of claims 1 to 3, characterized in that The method further comprises: When the QoS value is less than or equal to a third threshold corresponding to the target service type, determining, based on the at least one first indicator value and a reference value corresponding one-to-one to the at least one first indicator value, a target indicator value that is less than or equal to the corresponding reference value from the at least one indicator value; Sending indication information to a device associated with the target indicator value; the indication information is used to indicate that the target indicator value is less than or equal to a corresponding reference value.
11. A device for determining a quality of service (QoS) value, characterized in that: include: A determination unit, configured to determine whether a service data packet meets a statistical condition; The determining unit is further configured to determine the QoS value by using the sent probe data packet and / or the received feedback data packet corresponding to the received probe data packet and / or the service data packet when the service data packet does not meet the statistical condition; wherein the service data packet does not meet the statistical condition, including: the link between the terminal device and the server corresponding to the currently running service is switched or rebuilt, and the number of data packets received and / or sent through the switched link within a preset time period is less than or equal to a second threshold; an acquiring unit, configured to acquire a target service type of a currently running service if the service data packet satisfies the statistical condition; wherein the currently running service is a different service of the same application or services of different applications; and the currently running service includes: a video call service and a web browsing service, or a text communication service and a download service, or a service running over a WiFi network and a service running over a cellular network; The determining unit is further configured to determine at least one indicator parameter corresponding to the target service type and at least one weight corresponding to the target service type; wherein the weight is determined by fitting multiple QoE values corresponding to the target service type and at least one second indicator value corresponding to each QoE value; and the at least one indicator parameter corresponds to the at least one weight in a one-to-one manner; The determining unit is further configured to determine, based on the at least one indicator parameter, at least one first indicator value of the currently running service within each statistical duration; wherein the multiple statistical durations are continuous, and two adjacent statistical durations do not overlap, and each statistical duration includes N statistical periods, where N is greater than or equal to a predetermined number of periods or the number of data packets in the N statistical periods is greater than or equal to a first threshold; and the at least one indicator parameter corresponds one-to-one to the at least one first indicator value; The determining unit is further configured to determine the QoS value corresponding to each statistical duration based on the at least one weight and the at least one first indicator value.
12. A terminal device, characterized in that: include: memory and processor, The memory stores a computer program executable on the processor. When the processor executes the computer program, the method according to any one of claims 1 to 10 is implemented.
13. A computer storage medium, characterized in that The computer storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Network switching method and server
CN112996063A