Network quality evaluation method and device, electronic equipment and storage medium
By creating a Runtime process and SDK interface in the device, multiple connection channels are established for network quality assessment, solving the accuracy and stability problems of traditional methods and achieving more accurate network quality assessment and stable communication.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING XIAOMI MOBILE SOFTWARE CO LTD
- Filing Date
- 2024-10-29
- Publication Date
- 2026-05-01
AI Technical Summary
Traditional network quality assessment methods suffer from problems such as requiring manual operation, consuming high bandwidth, inaccurate assessment results, and failing to fully reflect the network characteristics of multiple concurrent connections, leading to inaccurate network quality assessments.
A Runtime process is created in the device to provide an SDK interface, and a Runtime connection channel and an SDK connection channel are established to perform network quality detection. The SDK detection data and Runtime detection data are comprehensively evaluated to obtain comprehensive network quality data.
It improves the accuracy of network quality assessment, ensures the stability and smoothness of network communication, and provides a better user experience.
Smart Images

Figure CN121967270A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of network communication technology, and in particular to a network quality assessment method, apparatus, electronic device, and storage medium. Background Technology
[0002] With the rapid development of communication technology, interconnected networking between devices has become increasingly common. In this context, real-time network quality measurement to ensure the quality and stability of network communication is crucial for providing high-quality user services. However, traditional network quality assessment methods such as ping testing, NQA, and RCMP all have shortcomings. For example, ping testing requires high-privilege manual operation; NQA requires sending a large number of data packets, consuming significant network bandwidth and affecting normal network operation; and RCMP only operates on a single service program or a specific connection channel of a service program, making it susceptible to interference from other connection channels, leading to inaccurate assessment results. Furthermore, some assessment methods determine the network quality of all network connections between two devices based solely on the quality of a single network connection, ignoring the potential for multiple concurrent connections and the different network characteristics of each connection, resulting in assessment results that cannot comprehensively and accurately reflect the true network quality. Summary of the Invention
[0003] To overcome the problems existing in related technologies, this disclosure provides a network quality assessment method, apparatus, electronic device, and storage medium.
[0004] According to a first aspect of the present disclosure, a network quality assessment method is provided, comprising:
[0005] A Runtime process is created in the first device, the Runtime process providing at least one SDK, the SDK being used to provide an interface for service access;
[0006] Establish a Runtime connection channel and an SDK connection channel; the Runtime connection channel is the connection channel between the Runtime process and the Runtime process in the second device, and the SDK connection channel is the connection channel between the SDK and the SDK in the second device;
[0007] Network quality detection is performed using the Runtime connection channel and the SDK connection channel respectively to obtain Runtime detection data and SDK detection data; the SDK detection data is the data detected by the SDK connection channel, which characterizes the network quality when the first device and the second device are transmitting service data; the Runtime detection data is the data detected by the Runtime connection channel, which characterizes the network quality when the first device and the second device are connected but not transmitting service data.
[0008] The Runtime process obtains comprehensive network quality data based on the SDK probe data and the Runtime probe data.
[0009] According to a second aspect of the present disclosure, a network quality assessment apparatus is provided, comprising:
[0010] The Runtime process creation module is used to create a Runtime process in the first device. The Runtime process provides at least one SDK, which is used to provide an interface for service access.
[0011] A connection channel establishment module is used to establish a Runtime connection channel and an SDK connection channel; the Runtime connection channel is a connection channel between the Runtime process and the Runtime process in the second device, and the SDK connection channel is a connection channel between the SDK and the SDK in the second device.
[0012] The network quality detection module is used to perform network quality detection using the Runtime connection channel and the SDK connection channel respectively, to obtain Runtime detection data and SDK detection data; the SDK detection data is the data detected by the SDK connection channel, which characterizes the network quality when the first device and the second device are transmitting service data; the Runtime detection data is the data detected by the Runtime connection channel, which characterizes the network quality when the first device and the second device are connected but not transmitting service data.
[0013] The integrated network quality data acquisition module is used by the Runtime process to obtain integrated network quality data based on the SDK probe data and the Runtime probe data.
[0014] According to a third aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing a computer program executable by the processor; wherein, when the processor executes the program, it implements the steps of the method described in the first aspect.
[0015] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in the first aspect.
[0016] According to a fifth aspect of the present disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the method described in the first aspect.
[0017] The technical solutions provided in this disclosure may have the following beneficial effects:
[0018] This embodiment of the disclosure creates a Runtime process in the device and provides an SDK for service access. Then, it establishes a Runtime connection channel and an SDK connection channel to perform network quality detection. This obtains SDK detection data when service data is transmitted between devices and Runtime detection data when no service data is transmitted. Finally, based on the SDK detection data and Runtime detection data, it obtains comprehensive network quality data. This effectively integrates the detection data of multiple network connections to comprehensively evaluate the network quality of the network environment, reduces errors in network quality evaluation, improves the accuracy of network quality evaluation, ensures the quality of network communication, and provides users with a smoother and more stable service experience.
[0019] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0020] Figure 1 This disclosure is a schematic diagram illustrating a networking scenario according to an exemplary embodiment;
[0021] Figure 2 This disclosure is a flowchart illustrating a network quality assessment method according to an exemplary embodiment;
[0022] Figure 3 This is a schematic diagram illustrating an application scenario of a network quality assessment method according to an exemplary embodiment of the present disclosure;
[0023] Figure 4 This is a structural block diagram of a network quality assessment apparatus according to an exemplary embodiment of the present disclosure;
[0024] Figure 5 This disclosure is a structural block diagram of an electronic device according to an exemplary embodiment. Detailed Implementation
[0025] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.
[0026] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0027] It should be understood that although the terms first, second, third, etc., may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another. For example, without departing from the scope of this disclosure, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0028] In modern communication technologies, interconnected network environments (such as local area network and P2P network) have become the norm, especially in the field of mobile devices. Figure 1 A schematic diagram of a networking application scenario is shown, such as Figure 1 As shown, networking refers to connecting and configuring multiple electronic devices, such as smartphones, tablets, or laptops (the following embodiments use the first and second devices as examples), into a network to achieve communication and resource sharing between devices. Each device can run multiple applications, such as keyboard and mouse sharing, file sharing, video conferencing, telephony, or online games. These applications are collectively referred to as services, and they transmit service data over the network to provide corresponding operational services to users. During the transmission of service data, the accuracy of network quality assessment directly affects the efficiency of data transmission and user experience. For example, if the network quality is poor, video streaming may stutter, file transfer speed may slow down, and the online gaming experience may be affected. Therefore, real-time detection of network quality and ensuring the quality and stability of network communication are crucial for providing high-quality user services.
[0029] Currently, traditional network quality assessment methods include Ping testing, NQA (Network Quality Analyzer), and RCMP (Remote Control Message Protocol). Ping testing is a basic network probing method that uses ICMP (Internet Control Message Protocol) to send echo request messages to the target host and wait for an echo response to detect network connectivity, calculate round-trip time (RTT), and packet loss rate. NQA is a comprehensive network quality analysis tool that can send probe packets to analyze link status, network performance, and service quality, supporting various test types. RCMP, on the other hand, is a lightweight, fast-response network quality detection mechanism based on the BFD (Bidirectional Forwarding Detection) protocol.
[0030] However, these network quality assessment methods all have some shortcomings that limit their effectiveness in practical applications. Ping tests typically require manual operation and high-level privileges to send ICMP protocol packets during code development, which imposes many limitations in terms of automation and permission requirements, hindering their application in modern automated network management. NQA analysis tools are highly specialized and not suitable for lightweight business data transmission detection. Furthermore, they require sending a large number of additional data packets during network quality probing, consuming significant network bandwidth and impacting normal network operation. RCMP, limited to operating on a single business program or a single connection channel of a business program, is susceptible to interference from other connection channels, leading to inaccurate assessment results. In addition, some assessment methods determine the network quality of all network connections between two devices based solely on the quality assessment of a single network connection between the two devices, ignoring the potential for multiple concurrent connections and the different network characteristics of each connection, thus preventing the assessment results from comprehensively and accurately reflecting the true state of the network.
[0031] To address the shortcomings of the aforementioned related technologies, this disclosure proposes a network quality assessment method. This method involves creating a Runtime process in a device and providing an SDK for service access. Then, a Runtime connection channel and an SDK connection channel are established, and network quality probes are performed separately. This yields SDK probe data representing the transmission of service data between devices, and Runtime probe data representing the transmission of no service data. Finally, based on the SDK probe data and Runtime probe data, comprehensive network quality data is obtained. This method can comprehensively assess the network quality of the network environment by integrating probe data from multiple network connections, effectively improving the accuracy of network quality assessment, ensuring the quality of network communication, and providing users with a smoother and more stable service experience.
[0032] Figure 2 This is a flowchart illustrating a network quality assessment method according to an exemplary embodiment of this disclosure. Figure 2 As shown, the network quality assessment method includes:
[0033] S201. Create a Runtime process in the first device. The Runtime process provides at least one SDK, which is used to provide interfaces for service access.
[0034] S202. Establish the Runtime connection channel and the SDK connection channel; the Runtime connection channel is the connection channel between the Runtime process and the Runtime process in the second device, and the SDK connection channel is the connection channel between the SDK and the SDK in the second device.
[0035] S203. Network quality is probed using the Runtime connection channel and the SDK connection channel respectively, to obtain Runtime probe data and SDK probe data. The SDK probe data is the data obtained by the SDK connection channel, which represents the network quality when the first device and the second device are transmitting service data. The Runtime probe data is the data obtained by the Runtime connection channel, which represents the network quality when the first device and the second device are connected but not transmitting service data.
[0036] S204: The Runtime process obtains comprehensive network quality data based on SDK probe data and Runtime probe data.
[0037] In step S201, before performing network quality assessment, a Runtime process can be created in each device in the network. A Runtime process is a collection of environments and conditions required for a program or application to execute, providing support for device connectivity and networking. Through the Runtime process, devices can establish stable network connections and effectively manage data transmission between devices, ensuring the continuity and reliability of network communication. Simultaneously, the Runtime process in this embodiment can also provide at least one Software Development Kit (SDK). An SDK is a collection of tools that can encapsulate various complex low-level network communication protocols, providing a simple and efficient access interface for services. This allows each service in the device to easily access the Runtime process through a single SDK, utilizing its network functions for data transmission without needing to delve into the underlying network details, effectively simplifying the network communication implementation process and improving network communication efficiency and stability.
[0038] In step S202, after creating the Runtime process, the Runtime connection channel between device Runtime processes and the SDK connection channel between various SDKs can be established by configuring appropriate network protocol parameters.
[0039] The establishment of the Runtime connection channel allows Runtime processes between devices to exchange data for network quality probing. While probing the network, the Runtime connection channel can also acquire and exchange basic network information between devices, such as network type (wired, wireless, or local area network), wireless network frequency band information, whether TDLS (Direct Link Establishment) is supported, the maximum bandwidth of the wired network, and the network's concurrent connection capabilities, such as MCC (Multiple Concurrent Connections) or SCC (Multiple Concurrent Connections), to assist in a comprehensive assessment of the network environment.
[0040] The establishment of SDK connection channels provides a direct data transmission path for various services. After services access their respective SDKs, they can directly transmit data through the SDK connection channels without needing to go through the Runtime process between devices for data relay, thereby reducing data transmission latency and improving data transmission efficiency. Furthermore, since the SDK connection channels and Runtime connection channels are independent of each other, and the Runtime connection channels cannot detect the network quality when using the SDK connection channels, each SDK connection channel can perform its own network quality detection when transmitting service data. This avoids the data packets sent by the Runtime connection channels during network detection affecting the network quality of service data transmission, contributing to more accurate network quality assessment results.
[0041] In step S203, after establishing the Runtime connection channel and the SDK connection channel, different detection strategies can be adopted to conduct network quality detection using the Runtime connection channel and the SDK connection channel respectively.
[0042] For the Runtime connection channel, heartbeat data can be sent and received to perform network quality probing. Heartbeat data is a lightweight probe packet that monitors network connectivity with minimal network load. The network quality probing results of the Runtime connection channel can be calculated by monitoring the sending and receiving of heartbeat data. Furthermore, since the heartbeat packets in this embodiment are unicast packets, unlike the ARP broadcast packets in traditional network probing methods, they do not require the participation of other devices in the network and can be directly sent to the connected target device. Therefore, they have higher transmission efficiency and lower network interference, helping to improve the accuracy of network quality probing results. To further ensure the accuracy of the probing results and avoid the impact of heartbeat packets sent by the Runtime connection channel on network quality during business data transmission, the sending of heartbeat packets can be paused when the SDK is transmitting business data. This ensures that the Runtime connection channel only uses heartbeat data for network quality probing when no business data is being transmitted between devices, thereby improving the accuracy of network quality probing and ensuring continuous network quality probing even when the network is idle, without interfering with the normal transmission of business data.
[0043] For the SDK connection channel, service data between the first device and the second device can be transmitted through the SDK connection channel, and the transmitted service data can be directly used for network quality detection. This can reduce additional probe data packets, avoid additional burden on network bandwidth, and enable network quality detection without affecting normal service data transmission.
[0044] For example, the Runtime probe data and SDK probe data obtained from network quality probing via the Runtime connection channel and SDK connection channel can each include at least one of the following: Round-Trip Time (RTT), Smoothed Round-Trip Time (SRTT), Maximum RTT, Minimum RTT, Retransmission Rate, Sliding Window Size, Longest Network Congestion Time, or Estimated Network Bandwidth. Here, RTT represents the time from when the sender sends data to when it receives a response acknowledgment, a key indicator for evaluating network latency; SRTT represents the RTT after smoothing, used to more stably estimate network latency; Maximum / Minimum RTT represents the maximum and minimum RTT observed over a period of time, helping to understand the range of network latency variations; Retransmission Rate represents the proportion of data packets that need to be retransmitted, reflecting network reliability; Sliding Window Size represents the window size used in the TCP protocol to control data flow, affecting data transmission efficiency; Longest Network Congestion Time represents the duration of the most severe congestion in the network, helping to identify network bottlenecks; Estimated Network Bandwidth represents the network's available bandwidth estimated based on historical data, crucial for traffic management and resource allocation. This data helps provide users with a comprehensive view of network performance and accurately assess network quality.
[0045] Specifically, network quality can be probed using service data or heartbeat data with PSH (Push Flag) and ACK (Acknowledgment Flag) flags through a specific transmission protocol. By analyzing the transmission of data packets with these flags, the aforementioned Runtime probe data and SDK probe data can be calculated. The PSH flag is used by the sender to send data to the receiver and instruct the receiver to "push" the received data to the application as soon as possible; the ACK flag is used by the sender to confirm that the receiver has successfully received the data packet from the sender.
[0046] In step S204, after obtaining the Runtime probe data and SDK probe data from the Runtime connection channel and each SDK connection channel, the SDK probe data can be sent to the Runtime process. This allows the Runtime process to combine all the SDK probe data with the Runtime probe data to perform a comprehensive evaluation of network quality, resulting in final comprehensive network quality data. This comprehensive evaluation method integrates the network quality detection results of various network connections, effectively reducing errors in network quality evaluation, improving the accuracy of network quality evaluation, ensuring the quality of network communication, and providing users with a smoother and more stable service experience.
[0047] For example, when the Runtime probe data and SDK probe data are RTT or sliding window sizes, the comprehensive network quality data can be the average of each RTT or each sliding window size.
[0048] For example, when both the Runtime probe data and the SDK probe data are SRTT, the steps to obtain comprehensive network quality data may include:
[0049] The weighted value of each SRTT is determined based on the time difference between the network quality detection time of the Runtime connection channel and each SDK connection channel and the current time, as well as the detection duration of the network quality detection of the Runtime connection channel and each SDK connection channel.
[0050] Based on the weighted value of each SRTT and each SRTT, comprehensive network quality data is obtained.
[0051] Specifically, the comprehensive SRTT can be calculated using the following formula:
[0052] Weighted values i =(1-d) i ) / D i *x+t i / T i *y+d i / D i *z
[0053] Total SRTT = ∑ weighted value i *SRT T i
[0054] Where i represents the index of Runtime probe data and SDK probe data, d represents the time difference between the time of network quality probe performed by the Runtime connection channel and each SDK connection channel and the current time, D represents the total time difference between the time of network quality probe performed by the Runtime connection channel and each SDK connection channel and the current time, t represents the probe duration of network quality probe performed by the Runtime connection channel and each SDK connection channel, T represents the total probe duration of network quality probe performed by the Runtime connection channel and each SDK connection channel, and x, y, and z are weighting coefficients, and x + y + z = 1. The values of x, y, and z can be adjusted through experiments to make the calculation results more consistent with the comprehensive SRTT.
[0055] For example, when the Runtime probe data and SDK probe data are the maximum RTT or the longest network congestion time, the comprehensive network quality data can be the maximum value among the maximum RTT or the longest network congestion time.
[0056] For example, when the Runtime probe data and SDK probe data are the minimum RTT, the integrated network quality data can be the minimum value among the minimum RTTs.
[0057] For example, when the Runtime probe data and SDK probe data represent the retransmission rate, the steps to obtain comprehensive network quality data may include:
[0058] Based on the Runtime connection channel and each SDK connection channel, the amount of network quality detection data and the retransmission rate are used to obtain comprehensive network quality data.
[0059] Specifically, the overall retransmission rate can be calculated using the following formula:
[0060] Overall retransmission rate = (∑(retransmission rate)) i *Detection data volume i )) / (∑ Detection Data Volume i )
[0061] For example, when the runtime probe data and SDK probe data represent the estimated network bandwidth, the steps to obtain comprehensive network quality data may include:
[0062] Comprehensive network quality data is obtained based on the sliding window size of each Runtime connection channel and each SDK connection channel for network quality detection, the amount of detection data for each Runtime connection channel and each SDK connection channel for network quality detection, and the SRTT of each Runtime connection channel and each SDK connection channel for network quality detection.
[0063] Specifically, the estimated bandwidth of the integrated network can be calculated using the following formula:
[0064] Estimated network bandwidth = (∑(sliding window)) i *Detection data volume i )) / (∑SRTT i )
[0065] After obtaining comprehensive network quality data based on the above method, in order to further optimize the user experience, in some embodiments, the comprehensive network quality data can also be sent to various services in the first device so that the services can adjust their data transmission strategies based on the comprehensive network quality data.
[0066] Specifically, services can optimize their data transmission process based on comprehensive network quality data. For example, if comprehensive network quality data shows high network latency or low bandwidth, services can reduce the amount of data transmitted or lower the quality of data transmission to adapt to high latency and ensure smooth data transmission. Furthermore, services can select the optimal transmission path based on comprehensive network quality data. For instance, if network quality data indicates an unstable network connection, services can instruct devices to proactively switch to a more stable network, such as switching from Wi-Fi to a mobile data network, or selecting between multiple Wi-Fi networks. In environments supporting point-to-point connections, services can also attempt to establish a direct network connection, bypassing potentially congested central nodes to communicate directly with the target device, thereby improving transmission speed and reducing latency. If the network quality of the Bluetooth connection is better than the currently used network, the device can also use Bluetooth for assisted transmission. It is understood that the way services adjust their transmission strategies based on comprehensive network quality data can be chosen according to actual needs, and this embodiment does not limit this approach.
[0067] In this embodiment, by feeding back comprehensive network quality data to each service and dynamically adjusting service transmission strategies, services can more intelligently adapt to changes in the network environment, thereby providing the best user experience under various network conditions and achieving optimized allocation and scheduling of network resources. Simultaneously, services that do not transmit data can continuously obtain comprehensive network quality assessment results between devices, providing ongoing support for network management and optimization. Furthermore, services that transmit data can obtain more accurate network quality information due to the aggregation of data from multiple services.
[0068] In summary, the above embodiments, Figure 3 This is a schematic diagram illustrating an application scenario of a network quality assessment method according to an exemplary embodiment of the present disclosure.
[0069] The various technical features in the above embodiments can be combined arbitrarily, as long as there is no conflict or contradiction between the combinations of features. However, due to space limitations, they are not described one by one. Therefore, the arbitrary combination of various technical features in the above embodiments is also within the scope of this specification.
[0070] Corresponding to the embodiments of the aforementioned network quality assessment method, this disclosure also provides a network quality assessment apparatus. Figure 4 This is a structural block diagram of a jump rope data processing device according to an exemplary embodiment of the present disclosure. Figure 4 As shown, the device 400 includes:
[0071] Runtime process creation module 401 is used to create a Runtime process in the first device. The Runtime process provides at least one SDK, which is used to provide an interface for service access.
[0072] The connection channel establishment module 402 is used to establish a Runtime connection channel and an SDK connection channel; the Runtime connection channel is the connection channel between the Runtime process and the Runtime process in the second device, and the SDK connection channel is the connection channel between the SDK and the SDK in the second device.
[0073] The network quality detection module 403 is used to perform network quality detection using the Runtime connection channel and the SDK connection channel respectively, and obtain Runtime detection data and SDK detection data. The SDK detection data is the data detected by the SDK connection channel, which characterizes the network quality when the first device and the second device are transmitting service data. The Runtime detection data is the data detected by the Runtime connection channel, which characterizes the network quality when the first device and the second device are connected but not transmitting service data.
[0074] The integrated network quality data acquisition module 404 is used by the Runtime process to obtain integrated network quality data based on SDK probe data and Runtime probe data.
[0075] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0076] For the apparatus embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The apparatus embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units.
[0077] Corresponding to the embodiments of the aforementioned network quality assessment method, this disclosure also provides an electronic device, which includes:
[0078] processor;
[0079] A memory for storing computer programs that can be executed by the processor;
[0080] When the processor executes the program, it implements the steps of the network quality assessment method described in any of the above embodiments.
[0081] like Figure 5 As shown, Figure 5This disclosure is a structural block diagram of an electronic device for a jump rope data processing apparatus according to an exemplary embodiment. The electronic device 500 may include one or more of the following components: a processing component 501, a memory 502, a power supply component 503, a multimedia component 504, an audio component 505, an input / output (I / O) interface 506, a sensor component 507, and a communication component 508.
[0082] Processing component 501 typically controls the overall operation of electronic device 500, such as operations associated with display, telephone calls, data communication, camera operation, and recording. Processing component 501 may include one or more processors 509 to execute instructions to complete all or part of the steps of the methods described above. Furthermore, processing component 501 may include one or more modules to facilitate interaction between processing component 501 and other components. For example, processing component 501 may include a multimedia module to facilitate interaction between multimedia component 504 and processing component 501.
[0083] Memory 502 is configured to store various types of data to support the operation of electronic device 500. Examples of such data include instructions for any application or method operating on electronic device 500, contact data, phonebook data, messages, pictures, videos, etc. Memory 502 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0084] Power supply component 503 provides power to various components of electronic device 500. Power supply component 503 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 500.
[0085] Multimedia component 504 includes a screen that provides an output interface between the electronic device 500 and the user. The screen may include a touch panel (TP), implemented as a touchscreen, to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 504 includes a front-facing camera and / or a rear-facing camera. When the electronic device 500 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0086] Audio component 505 is configured to output and / or input audio signals. For example, audio component 505 includes a microphone (MIC) configured to receive external audio signals when electronic device 500 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 502 or transmitted via communication component 508. In some embodiments, audio component 505 also includes a speaker for outputting audio signals.
[0087] I / O interface 506 provides an interface between processing component 501 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.
[0088] Sensor assembly 507 includes one or more sensors for providing state assessments of various aspects of electronic device 500. For example, sensor assembly 507 can detect the on / off state of electronic device 500, the relative positioning of components such as the display and keypad of electronic device 500, changes in position of electronic device 500 or a component of electronic device 500, the presence or absence of user contact with electronic device 500, orientation or acceleration / deceleration of electronic device 500, and temperature changes of electronic device 500. Sensor assembly 507 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 507 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 507 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, temperature sensor, photoelectric sensor, or GPS sensor.
[0089] Communication component 508 is configured to facilitate wired or wireless communication between electronic device 500 and other devices. Electronic device 500 can access wireless networks based on communication standards, such as WiFi, 2G, 3G, 4G LTE, 5G NR (5G NewRadio), or combinations thereof. In one exemplary embodiment, communication component 508 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 508 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0090] In an exemplary embodiment, the electronic device 500 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods described above.
[0091] The specific implementation process of the functions and roles of each component in the above-mentioned equipment can be found in the implementation process of the corresponding steps in the above-mentioned method, and will not be repeated here.
[0092] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The components described as separate parts may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this disclosure according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0093] Corresponding to the embodiments of the aforementioned network quality assessment method, this disclosure also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by the processor 509 of the aforementioned electronic device, implements the steps of the network quality assessment method described in any of the above embodiments.
[0094] Corresponding to the embodiments of the aforementioned network quality assessment method, this disclosure also provides a computer program product, including a computer program that, when executed by the processor 509 of the aforementioned electronic device, implements the steps of the network quality assessment method described in any of the above embodiments.
[0095] This disclosure can take the form of a computer program product implemented on one or more storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing program code. Computer-usable storage media include permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to: phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0096] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0097] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
[0098] The above description is merely a preferred embodiment of this disclosure and is not intended to limit this disclosure. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A network quality assessment method, characterized in that, include: A Runtime process is created in the first device, the Runtime process providing at least one SDK, the SDK being used to provide an interface for service access; Establish a Runtime connection channel and an SDK connection channel; the Runtime connection channel is the connection channel between the Runtime process and the Runtime process in the second device, and the SDK connection channel is the connection channel between the SDK and the SDK in the second device; Network quality detection is performed using the Runtime connection channel and the SDK connection channel respectively, to obtain Runtime detection data and SDK detection data; The SDK probe data is the data obtained by the SDK connection channel detection, which characterizes the network quality when the first device and the second device transmit service data. The Runtime probe data is the data obtained by the Runtime connection channel, which characterizes the network quality when no service data is transmitted in the connection state between the first device and the second device. The Runtime process obtains comprehensive network quality data based on the SDK probe data and the Runtime probe data.
2. The method according to claim 1, characterized in that, Also includes: The comprehensive network quality data is sent to each service in the first device so that the service can adjust its data transmission strategy based on the comprehensive network quality data.
3. The method according to claim 1, characterized in that, Network quality detection is performed using the Runtime connection channel, including: The Runtime connection channel is used to send and receive heartbeat data, and the network quality is detected through the heartbeat data.
4. The method according to claim 3, characterized in that, Network quality detection is performed using the SDK connection channel, including: The SDK is used to connect the channel to transmit service data between the first device and the second device, and network quality is detected through the service data.
5. The method according to claim 4, characterized in that, When the Runtime connection channel transmits the service data through the SDK connection channel, it pauses sending the heartbeat data.
6. The method according to claim 1, characterized in that, Both the Runtime probe data and the SDK probe data include at least one of the following: data round-trip time, data smooth round-trip time, maximum data round-trip time, minimum data round-trip time, retransmission rate, sliding window size, longest network congestion time, or estimated network bandwidth.
7. The method according to claim 6, characterized in that, When the Runtime probe data and the SDK probe data are data round-trip times or sliding window sizes, the comprehensive network quality data is the average of each of the data round-trip times or sliding window sizes.
8. The method according to claim 6, characterized in that, The steps for obtaining the comprehensive network quality data, assuming that the Runtime probe data and the SDK probe data have smoothed round-trip times, include: Based on the time difference between the network quality detection time of each Runtime connection channel and each SDK connection channel and the current time, and the detection duration of each Runtime connection channel and each SDK connection channel, a weighted value for the smooth round-trip time of each data is determined. The comprehensive network quality data is obtained based on the weighted value of each data smoothing round-trip time and each data smoothing round-trip time.
9. The method according to claim 6, characterized in that, When the Runtime probe data and the SDK probe data are the maximum data round-trip time or the longest network congestion time, the comprehensive network quality data is the maximum value among the maximum data round-trip time or the longest network congestion time.
10. The method according to claim 6, characterized in that, When the Runtime probe data and the SDK probe data are the minimum data round-trip times, the integrated network quality data is the minimum value among the minimum data round-trip times.
11. The method according to claim 6, characterized in that, When the Runtime probe data and the SDK probe data are retransmission rates, the steps to obtain the comprehensive network quality data include: The comprehensive network quality data is obtained based on the amount of network quality detection data and the retransmission rate of each Runtime connection channel and each SDK connection channel.
12. The method according to claim 6, characterized in that, When the Runtime probe data and the SDK probe data represent estimated network bandwidth, the steps for obtaining the comprehensive network quality data include: The comprehensive network quality data is obtained based on the sliding window size of each Runtime connection channel and each SDK connection channel for network quality detection, the amount of detection data of each Runtime connection channel and each SDK connection channel for network quality detection, and the smoothing round-trip time of the data for network quality detection of each Runtime connection channel and each SDK connection channel.
13. A network quality assessment device, characterized in that, include: The Runtime process creation module is used to create a Runtime process in the first device. The Runtime process provides at least one SDK, which is used to provide an interface for service access. A connection channel establishment module is used to establish a Runtime connection channel and an SDK connection channel; the Runtime connection channel is a connection channel between the Runtime process and the Runtime process in the second device, and the SDK connection channel is a connection channel between the SDK and the SDK in the second device. The network quality detection module is used to perform network quality detection using the Runtime connection channel and the SDK connection channel respectively, and obtain Runtime detection data and SDK detection data. The SDK probe data is the data obtained by the SDK connection channel detection, which characterizes the network quality when the first device and the second device transmit service data. The Runtime probe data is the data obtained by the Runtime connection channel, which characterizes the network quality when no service data is transmitted in the connection state between the first device and the second device. The integrated network quality data acquisition module is used by the Runtime process to obtain integrated network quality data based on the SDK probe data and the Runtime probe data.
14. An electronic device, characterized in that, include: processor; A memory for storing computer programs that can be executed by the processor; When the processor executes the program, it implements the steps of the method according to any one of claims 1 to 12.
15. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 12.
16. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1 to 12.