A bandwidth detection method, device, apparatus and storage medium
Patent Information
- Application Number
- CN202311695805.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-11
- Publication Date
- 2026-09-04
- Estimated Expiration
- 2043-12-11
AI Technical Summary
[0004]由于现有的带宽估计需要一定时间周期内的带宽探测结果,从而无法连续上探带宽
[0019] In this embodiment, in response to the current bandwidth probing phase being a bandwidth up-probing phase, the current probing result corresponding to the current probing point in the current bandwidth probing phase is obtained. Based on the current probing result and the historical probing results corresponding to historical probing points, the current network state corresponding to the current probing point is determined. In response to the current network state being a strong network state, the current probing bandwidth corresponding to the current probing point is directly up-probing, the target probing bandwidth corresponding to the next probing point is determined, and the bandwidth probing of the next probing point is performed based on the target probing bandwidth. This allows the next probing point to directly perform bandwidth up-probing without maintaining the current probing bandwidth for a period of time. Thus, continuous up-probing of the probing bandwidth is achieved within the bandwidth up-probing phase, improving the bandwidth up-probing speed and thereby enhancing the audio and video experience of real-time communication.
Smart Images

Figure CN117527648B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to Internet technology, and more particularly to a bandwidth detection method, apparatus, device, and storage medium. Background Technology
[0002] With the rapid development of internet technology, bandwidth probing is often used to control network congestion in real-time communication. Currently, after determining that the bandwidth needed for the current probe is increased (i.e., adding bandwidth based on the previous probe bandwidth), it is necessary to maintain the current probe bandwidth unchanged for a certain time period, and then perform the next bandwidth estimation and probe based on the bandwidth probe results within that time period.
[0003] However, in the process of implementing this disclosure, at least the following problems were found in the prior art:
[0004] Because current bandwidth estimation requires bandwidth probe results over a certain time period, it is impossible to continuously probe the bandwidth. However, when the current network transforms into a strong network, each bandwidth probe needs to be maintained for a period of time, which will take a long time to increase the probed bandwidth to a reasonable range within the strong network bandwidth, thus reducing the audio and video experience of real-time communication. Summary of the Invention
[0005] This disclosure provides a bandwidth probing method, apparatus, device, and storage medium to achieve continuous bandwidth probing during the bandwidth probing phase without needing to maintain it for a period of time, thereby improving the bandwidth probing speed and enhancing the audio and video experience of real-time communication.
[0006] In a first aspect, embodiments of this disclosure provide a bandwidth detection method, including:
[0007] In response to the current bandwidth detection phase being a bandwidth up-probing phase, the current detection result corresponding to the current detection point in the current bandwidth detection phase is obtained, wherein the bandwidth up-probing phase means that the detection bandwidth in the current bandwidth detection phase is greater than the detection bandwidth in the previous bandwidth detection phase;
[0008] Based on the current detection results and the historical detection results corresponding to the historical detection points, the current network state corresponding to the current detection point is determined;
[0009] In response to the current network status being a strong network, the current detection bandwidth corresponding to the current detection point is processed upwards to determine the target detection bandwidth corresponding to the next detection point, and bandwidth detection is performed on the next detection point based on the target detection bandwidth.
[0010] Secondly, embodiments of this disclosure also provide a bandwidth detection device, comprising:
[0011] The detection result acquisition module is used to acquire the current detection result corresponding to the current detection point in the current bandwidth detection phase in response to the current bandwidth detection phase being the bandwidth up-probing phase. The bandwidth up-probing phase means that the detection bandwidth in the current bandwidth detection phase is greater than the detection bandwidth in the previous bandwidth detection phase.
[0012] The network state determination module is used to determine the current network state corresponding to the current detection point based on the current detection result and the historical detection results corresponding to the historical detection points.
[0013] The bandwidth upscaling module is used to respond to the current network state being a strong network state, perform upscaling processing on the current detection bandwidth corresponding to the current detection point, determine the target detection bandwidth corresponding to the next detection point, and perform bandwidth detection on the next detection point based on the target detection bandwidth.
[0014] Thirdly, embodiments of this disclosure also provide an electronic device, the electronic device comprising:
[0015] One or more processors;
[0016] Storage device for storing one or more programs.
[0017] When the one or more programs are executed by the one or more processors, the one or more processors implement the bandwidth detection method as described in any embodiment of this disclosure.
[0018] Fourthly, embodiments of this disclosure also provide a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the bandwidth detection method as described in any of the embodiments of this disclosure.
[0019] In this embodiment, in response to the current bandwidth probing phase being a bandwidth up-probing phase, the current probing result corresponding to the current probing point in the current bandwidth probing phase is obtained. Based on the current probing result and the historical probing results corresponding to historical probing points, the current network state corresponding to the current probing point is determined. In response to the current network state being a strong network state, the current probing bandwidth corresponding to the current probing point is directly up-probing, the target probing bandwidth corresponding to the next probing point is determined, and the bandwidth probing of the next probing point is performed based on the target probing bandwidth. This allows the next probing point to directly perform bandwidth up-probing without maintaining the current probing bandwidth for a period of time. Thus, continuous up-probing of the probing bandwidth is achieved within the bandwidth up-probing phase, improving the bandwidth up-probing speed and thereby enhancing the audio and video experience of real-time communication. Attached Figure Description
[0020] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0021] Figure 1 This is a schematic flowchart of a bandwidth detection method provided in an embodiment of this disclosure;
[0022] Figure 2 This is an example diagram of a bandwidth probing process according to an embodiment of this disclosure;
[0023] Figure 3 This is a schematic flowchart of another bandwidth detection method provided in an embodiment of this disclosure;
[0024] Figure 4 This is a schematic diagram of the structure of a bandwidth detection device provided in an embodiment of this disclosure;
[0025] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0026] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0027] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0028] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0029] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0030] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0031] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0032] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.
[0033] Figure 1 This is a flowchart illustrating a bandwidth detection method provided in an embodiment of the present disclosure. This embodiment is applicable to the situation of detecting bandwidth in network congestion control. The method can be executed by a bandwidth detection device, which can be implemented in software and / or hardware, or optionally by an electronic device, such as a mobile terminal, a PC, or a server.
[0034] like Figure 1 As shown, the bandwidth detection method specifically includes the following steps:
[0035] S110. In response to the current bandwidth detection phase being a bandwidth up-probing phase, obtain the current detection result corresponding to the current detection point in the current bandwidth detection phase. The bandwidth up-probing phase refers to the detection bandwidth in the current bandwidth detection phase being greater than the detection bandwidth in the previous bandwidth detection phase.
[0036] Bandwidth probing is based on the estimated bandwidth determined by the bandwidth estimation algorithm in network congestion control. Since bandwidth estimation is performed periodically, bandwidth probing is also performed periodically, with each bandwidth probing process corresponding to a bandwidth probing phase. The current bandwidth probing phase refers to the current phase of the probe. Bandwidth probing phases can include a bandwidth up-probing phase, a bandwidth down-probing phase, and a bandwidth holding phase. A bandwidth up-probing phase occurs when the current probe bandwidth is greater than the previous probe bandwidth. A bandwidth down-probing phase occurs when the current probe bandwidth is less than the previous probe bandwidth. A bandwidth holding phase occurs when the current probe bandwidth is equal to the previous probe bandwidth. Because each probe needs to be held for a period of time, multiple probe points (i.e., sampling points) can exist within each bandwidth probing phase, and each probe point can correspond to the same probe bandwidth. For example, see... Figure 2Each bandwidth probing phase can include three probe points. For example, the first bandwidth probing phase can include probe point A and subsequent probe points A and B. The second bandwidth probing phase (comprising probe points A, B, and C) is the bandwidth up-probing phase, relative to the first phase. The third bandwidth probing phase (comprising probe points A, B, and C) is the bandwidth down-probing phase, relative to the second phase. The current probe result for the current probe point can refer to the data packet reception status based on the current probe bandwidth.
[0037] Specifically, the system checks whether the probe bandwidth used in the current bandwidth probing phase is greater than the probe bandwidth in the previous bandwidth probing phase. If so, the current bandwidth probing phase is determined to be a bandwidth up-probing phase; otherwise, it is determined to be a non-bandwidth up-probing phase, such as a bandwidth down-probing phase or a bandwidth holding phase. When the current bandwidth probing phase is a bandwidth up-probing phase, it indicates that there may be a need to continue probing within the current bandwidth probing phase. In this case, the current probe result corresponding to the current probe point within the current bandwidth probing phase can be obtained. For example, the bandwidth probing process corresponding to the current probe point is as follows: the current probe bandwidth corresponding to the current probe point is used as the current transmission rate to send data packets, and the reception status of the data packets is used as the current probe result corresponding to the current probe point.
[0038] It should be noted that if the current bandwidth probing phase is not a bandwidth up-probing phase, it means that there will be no need for up-probing during the current bandwidth probing phase. In this case, the bandwidth probing can be performed according to the original probing logic, such as maintaining the current probing bandwidth for a period of time, and then performing the next bandwidth estimation and probing based on the probing results during this period.
[0039] S120. Based on the current detection results and the historical detection results corresponding to the historical detection points, determine the current network state corresponding to the current detection point.
[0040] Here, "historical probe points" can refer to probe points preceding the current probe point. Historical probe points can also refer to probe points within the most recent preset historical time period. For example, historical probe points could be those within the last minute. Historical probe points can also refer to historical probe points within the most recent preset number of historical bandwidth detection phases, excluding those within the current bandwidth detection phase. For example, historical probe points could refer to those within the previous bandwidth detection phase. "Current network state" refers to the network state of the current probe point relative to the network conditions of historical probe points. For example, the current network state can include a strong network state or a weak network state. A strong network state means the current probe point has a better network condition than historical probe points; that is, the current probe bandwidth used by the current probe point is less than the actual network bandwidth. A weak network state means the current probe point's network condition is similar to or worse than that of historical probe points; that is, the current probe bandwidth used by the current probe point is greater than the actual network bandwidth.
[0041] Specifically, the current detection results are compared with the historical detection results corresponding to the historical detection points. Based on the comparison results, it is determined whether the current network state of the current detection point is a strong network state or a weak network state, thereby determining whether the current detection point meets the conditions for continuing to probe upwards.
[0042] S130. In response to the current network state being a strong network state, perform up-probing processing on the current probe bandwidth corresponding to the current probe point, determine the target probe bandwidth corresponding to the next probe point, and perform bandwidth probing on the next probe point based on the target probe bandwidth.
[0043] In this context, "upward detection processing" can refer to increasing bandwidth. The target detection bandwidth corresponding to the next detection point is greater than the current detection bandwidth corresponding to the current detection point.
[0044] Specifically, when the current network state corresponding to the current probe point is a strong network, it indicates that the current network of the current probe point is a strong network, meeting the conditions for continued up-probing. The current probe bandwidth can be directly up-probing to obtain a target probe bandwidth greater than the current probe bandwidth. This target probe bandwidth is then used as the sending code rate for the next probe point to send data packets, completing the bandwidth probe for the next probe point. Thus, the next probe point does not need to maintain the current probe bandwidth and can directly probe to a larger bandwidth. Alternatively, the operation of steps S110-S130 can be repeated with the next probe point as the current probe point to continue up-probing. This allows for continuous up-probing of the probe bandwidth in a strong network state, thereby shortening the time required to increase the probe bandwidth to within the reasonable range of the strong network bandwidth and improving the bandwidth up-probing speed.
[0045] For example, "performing an up-probing process on the current probe bandwidth corresponding to the current probe point and determining the target probe bandwidth corresponding to the next probe point" in S130 may include: adding the current probe bandwidth corresponding to the current probe point to a preset up-probing interval bandwidth to obtain the target probe bandwidth corresponding to the next probe point.
[0046] The preset up-probing interval bandwidth can be a pre-set bandwidth increment for each up-probing step, i.e., the bandwidth up-probing step size. Specifically, bandwidth up-probing is performed by directly adding the preset up-probing interval bandwidth to the current detection bandwidth, eliminating the need for bandwidth estimation and further improving the bandwidth up-probing speed.
[0047] For example, see Figure 2 Within the bandwidth probing phase of AB, each probe point is in a weak network state, thus not triggering continuous probing and maintaining the original bandwidth probing process. Upon detecting probe point B, the network transitions to a strong network state, allowing direct bandwidth probing (see solid line section) without needing to maintain the probing bandwidth corresponding to probe point B (see dashed line section). Each probe point after probe point B corresponds to a strong network state, thus enabling continuous probing until a reasonable range of strong network bandwidth is reached, i.e., probe point C. The actual network bandwidth after probe point C remains unchanged, not triggering bandwidth estimation, thus maintaining the probing bandwidth corresponding to probe point C for data packet transmission. Existing bandwidth probing methods, as shown by the dashed line section, only reach a reasonable range of strong network bandwidth at probe point D. Therefore, the bandwidth probing time of this disclosed method (i.e., the time corresponding to BC) is significantly less than the time of existing bandwidth probing methods (i.e., the time corresponding to BD), thus greatly shortening the bandwidth probing time and improving the bandwidth probing speed.
[0048] The technical solution of this disclosure, in response to the current bandwidth probing phase being a bandwidth up-probing phase, obtains the current probing result corresponding to the current probing point in the current bandwidth probing phase, and determines the current network state corresponding to the current probing point based on the current probing result and the historical probing results corresponding to historical probing points. In response to the current network state being a strong network state, it directly performs up-probing processing on the current probing bandwidth corresponding to the current probing point, determines the target probing bandwidth corresponding to the next probing point, and performs bandwidth probing on the next probing point based on the target probing bandwidth. This allows the next probing point to directly perform bandwidth up-probing without maintaining the current probing bandwidth for a period of time, thereby achieving continuous up-probing of the probing bandwidth within the bandwidth up-probing phase, improving the bandwidth up-probing speed, and thus enhancing the audio and video experience of real-time communication.
[0049] Based on the above technical solution, the method further includes: in response to the current network state being a weak network state, determining the duration of the weak network state in the current bandwidth detection phase; comparing the duration of the weak network state with a preset duration, and performing bandwidth detection for the next detection point based on the comparison result.
[0050] The duration of the weak network condition can refer to the duration during which the probe bandwidth remains constant in the current bandwidth probing phase. The preset duration can refer to the maximum duration for which the probe bandwidth remains constant, as pre-set.
[0051] Specifically, during the current bandwidth probing phase, i.e., the bandwidth upscaling phase, if the current network state corresponding to the current probe point is detected as weak, it indicates that the conditions for continuing upscaling are not met. In this case, the probe bandwidth can be maintained unchanged for a period of time. By comparing the duration of the weak network state in the current bandwidth probing phase with the preset duration, it can be determined whether to continue maintaining the probe bandwidth unchanged or to end the current bandwidth probing phase, so as to enter the next bandwidth probing phase based on the re-estimated bandwidth. This allows for compatibility with the original bandwidth probing logic while achieving continuous upscaling.
[0052] For example, bandwidth detection for the next detection point based on the comparison result may include: if the duration of the weak network state is less than the preset duration, then the current detection bandwidth corresponding to the current detection point is used as the target detection bandwidth, and bandwidth detection is performed on the next detection point; if the duration of the weak network state is greater than or equal to the preset duration, then the current bandwidth detection phase is determined to end.
[0053] Specifically, when the duration of the weak network condition is less than the preset duration, it indicates that the current probe bandwidth can continue to be maintained for probing. In this case, the current probe bandwidth corresponding to the current probe point is used as the target probe bandwidth, i.e., as the sending code rate for the next probe point, to send data packets, thereby maintaining the sending code rate unchanged for bandwidth probing at the next probe point. The operation of steps S110-S130 can be repeated with the next probe point as the current probe point to check whether up-probing can be performed at the next probe point. This check is repeated until the current bandwidth probing phase ends. When the duration of the weak network condition is greater than or equal to the preset duration, it indicates that it is no longer necessary to maintain the current probe bandwidth for probing. At this point, it can be determined that the current bandwidth probing phase has ended, thus ending the probing operation within the current bandwidth probing phase. This allows for entry into the next bandwidth probing phase based on the re-estimated bandwidth, thereby achieving continuous up-probing bandwidth while maintaining compatibility with the original bandwidth probing logic.
[0054] Figure 3This is a flowchart illustrating another bandwidth probing method provided in this disclosure. Based on the above-described embodiments, this disclosure provides a detailed description of the process for determining the current network state corresponding to the current probe point. Explanations of terms that are the same as or corresponding to those in the above-described embodiments are not repeated here.
[0055] like Figure 3 As shown, the bandwidth detection method specifically includes the following steps:
[0056] S310. In response to the current bandwidth probing phase being the bandwidth up-probing phase, obtain the current probing result corresponding to the current probing point in the current bandwidth probing phase.
[0057] S320. Based on the current transmit code rate and current receive code rate in the current detection results, determine the current code rate transmittance corresponding to the current detection point.
[0058] The current bitrate transmittance can be used to characterize the network strength corresponding to the current probe point. The higher the current bitrate transmittance, the stronger the network corresponding to the current probe point, meaning that the actual network bandwidth is greater than the current probe bandwidth.
[0059] Specifically, the current received bit rate corresponding to the current probe point is divided by the current transmitted bit rate to obtain the current bit rate transmit rate corresponding to the current probe point.
[0060] S330. Based on the historical transmission rate and historical reception rate in the historical detection results corresponding to the historical detection points, determine the reference code rate transmission rate corresponding to the historical detection points.
[0061] There are multiple historical probe points. The reference bit rate transmittance can be used to characterize the overall network strength of the historical probe points. The higher the reference bit rate transmittance, the stronger the overall network of the historical probe points, meaning that the actual historical network bandwidth is greater than the historical probe bandwidth.
[0062] Specifically, statistical processing is performed based on the historical transmit bitrate and historical receive bitrate corresponding to all historical probe points to determine the reference bitrate transmittance corresponding to all historical probe points.
[0063] For example, S330 may include: determining the historical code rate transmission rate corresponding to each historical detection point based on the historical transmission code rate and historical reception code rate in the historical detection results corresponding to each historical detection point; and averaging all historical code rate transmission rates to determine the reference code rate transmission rate corresponding to the historical detection point.
[0064] Specifically, the historical received bitrate for each historical probe point is divided by the corresponding historical transmitted bitrate to obtain the historical bitrate transmission rate for each historical probe point. All historical bitrate transmission rates are averaged, and the resulting average historical bitrate transmission rate is determined as the reference bitrate transmission rate for each historical probe point.
[0065] S340. Based on the current bit rate transmittance and the reference bit rate transmittance, determine the current network state corresponding to the current probe point.
[0066] Specifically, comparing the current bitrate transmittance with the reference bitrate transmittance allows for an accurate determination of the current network state corresponding to the current probe point, thereby ensuring the accuracy of continuous bandwidth expansion. For example, the ratio between the current bitrate transmittance and the reference bitrate transmittance is determined, and this ratio is compared with a preset ratio. If the ratio is greater than or equal to the preset ratio, the current network state corresponding to the current probe point is determined to be a strong network state; otherwise, the current network state is determined to be a weak network state. The preset ratio can be a pre-set threshold value that allows continued bandwidth expansion, and this threshold value is greater than 1.
[0067] For example, S340 may include: determining the ratio between the current bit rate transmittance and the reference bit rate transmittance, and comparing the ratio with a preset ratio to obtain a first comparison result; comparing the reference bit rate transmittance with the preset transmittance to obtain a second comparison result; and determining the current network state corresponding to the current probe point based on the first comparison result and the second comparison result.
[0068] The preset transmittance can be a pre-set maximum historical transmittance that allows for continued bandwidth expansion. Specifically, by combining the first and second comparison results, the current network state corresponding to the current detection point can be determined more accurately, further improving the accuracy of continuous bandwidth expansion.
[0069] For example, determining the current network state corresponding to the current probe point based on the first comparison result and the second comparison result may include: if the ratio is greater than or equal to a preset ratio and the reference bit rate transmittance is greater than or equal to a preset transmittance, then the current network state corresponding to the current probe point is determined to be a strong network state; if the ratio is less than a preset ratio or the reference bit rate transmittance is less than a preset transmittance, then the current network state corresponding to the current probe point is determined to be a weak network state.
[0070] Specifically, if the reference bit rate transmittance is greater than or equal to the preset transmittance, it indicates that the network in the most recent historical period may be a strong network and the current probe point is accurate. When the ratio corresponding to the current probe point is detected to be greater than or equal to the preset ratio, it indicates that there is enough space to continue to probe, and the current network state corresponding to the current probe point is determined to be a strong network state, so that the probe can continue to probe based on the current probe point.
[0071] If the ratio corresponding to the current probe point is less than the preset ratio, it indicates that there is not enough space to continue probing. In this case, the current network state can be directly determined to be a weak network state. Alternatively, if the reference bit rate transmittance is less than the preset transmittance, it indicates that the network in the most recent historical time period is a weak network, and the current probe point's probing is inaccurate. In this case, the current network state can be directly determined to be a weak network state, avoiding further bandwidth probing and thus ensuring the accuracy of bandwidth probing.
[0072] S350: In response to the current network status being a strong network, perform up-probing processing on the current probe bandwidth corresponding to the current probe point, determine the target probe bandwidth corresponding to the next probe point, and perform bandwidth probing on the next probe point based on the target probe bandwidth.
[0073] The technical solution of this disclosure determines the current code rate transmission rate corresponding to the current detection point based on the current transmit code rate and the current receive code rate in the current detection results, determines the reference code rate transmission rate corresponding to the historical detection point based on the historical transmit code rate and the historical receive code rate in the historical detection results corresponding to the historical detection point, and accurately determines the current network state corresponding to the current detection point based on the current code rate transmission rate and the reference code rate transmission rate, thereby ensuring the accuracy of continuous bandwidth expansion.
[0074] Figure 4 This is a schematic diagram of the structure of a bandwidth detection device provided in an embodiment of this disclosure, as shown below. Figure 4 As shown, the device specifically includes: a detection result acquisition module 410, a network status determination module 420, and a bandwidth upscaling module 430.
[0075] The detection result acquisition module 410 is used to acquire the current detection result corresponding to the current detection point in the current bandwidth detection phase when the current bandwidth detection phase is the bandwidth up-probing phase. The bandwidth up-probing phase means that the detection bandwidth in the current bandwidth detection phase is greater than the detection bandwidth in the previous bandwidth detection phase. The network state determination module 420 is used to determine the current network state corresponding to the current detection point based on the current detection result and the historical detection results corresponding to the historical detection points. The bandwidth up-probing module 430 is used to perform up-probing processing on the current detection bandwidth corresponding to the current detection point when the current network state is the strong network state, determine the target detection bandwidth corresponding to the next detection point, and perform bandwidth detection on the next detection point based on the target detection bandwidth.
[0076] The technical solution provided in this disclosure, in response to the current bandwidth probing phase being a bandwidth up-probing phase, obtains the current probing result corresponding to the current probing point in the current bandwidth probing phase, and determines the current network state corresponding to the current probing point based on the current probing result and the historical probing results corresponding to historical probing points. In response to the current network state being a strong network state, it directly performs up-probing processing on the current probing bandwidth corresponding to the current probing point, determines the target probing bandwidth corresponding to the next probing point, and performs bandwidth probing on the next probing point based on the target probing bandwidth. This allows the next probing point to directly perform bandwidth up-probing without maintaining the current probing bandwidth for a period of time, thereby achieving continuous up-probing of the probing bandwidth within the bandwidth up-probing phase, improving the bandwidth up-probing speed, and thus enhancing the audio and video experience of real-time communication.
[0077] Based on the above technical solution, the network status determination module 420 includes:
[0078] The current code rate transmission rate determination unit is used to determine the current code rate transmission rate corresponding to the current detection point based on the current transmit code rate and the current receive code rate in the current detection result;
[0079] The reference code rate transmission rate determination unit is used to determine the reference code rate transmission rate corresponding to the historical detection point based on the historical transmission code rate and historical reception code rate in the historical detection results corresponding to the historical detection point.
[0080] The network state determination unit is used to determine the current network state corresponding to the current probe point based on the current bit rate transmittance and the reference bit rate transmittance.
[0081] Based on the above technical solutions, the reference bit rate transmittance determination unit is specifically used for:
[0082] Based on the historical transmit bit rate and historical receive bit rate in the historical detection results corresponding to each historical detection point, the historical bit rate transmission rate corresponding to each historical detection point is determined; the average of all historical bit rate transmission rates is processed to determine the reference bit rate transmission rate corresponding to the historical detection point.
[0083] Based on the above technical solutions, the network state determination unit includes:
[0084] The first comparison subunit is used to determine the ratio between the current bitrate transmittance and the reference bitrate transmittance, and compare the ratio with a preset ratio to obtain a first comparison result;
[0085] The second comparison subunit is used to compare the reference code rate transmittance with a preset transmittance to obtain a second comparison result;
[0086] The network state determination subunit is used to determine the current network state corresponding to the current detection point based on the first comparison result and the second comparison result.
[0087] Based on the above technical solutions, the network state determination subunit is specifically used for:
[0088] If the ratio is greater than or equal to a preset ratio and the reference bit rate transmittance is greater than or equal to a preset transmittance, then the current network state corresponding to the current probe point is determined to be a strong network state; if the ratio is less than a preset ratio or the reference bit rate transmittance is less than a preset transmittance, then the current network state corresponding to the current probe point is determined to be a weak network state.
[0089] Based on the above technical solutions, the bandwidth upscaling module 430 is specifically used for:
[0090] The current detection bandwidth corresponding to the current detection point is added to the preset upward detection interval bandwidth to obtain the target detection bandwidth corresponding to the next detection point.
[0091] Based on the above technical solutions, the device also includes:
[0092] The weak network state duration determination module is used to determine the duration of the weak network state in the current bandwidth detection phase in response to the current network state being weak.
[0093] The bandwidth detection module is used to compare the duration of the weak network state with a preset duration, and to perform bandwidth detection for the next detection point based on the comparison result.
[0094] Based on the above technical solutions, the bandwidth detection module is specifically used for:
[0095] If the duration of the weak network state is less than the preset duration, the current detection bandwidth corresponding to the current detection point is used as the target detection bandwidth, and bandwidth detection is performed on the next detection point; if the duration of the weak network state is greater than or equal to the preset duration, the current bandwidth detection phase is determined to end.
[0096] The bandwidth detection device provided in this disclosure can execute the bandwidth detection method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects for executing the bandwidth detection method.
[0097] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of this disclosure.
[0098] Figure 5This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Reference is made below. Figure 5 It illustrates an electronic device suitable for implementing embodiments of the present disclosure (e.g., Figure 5 The diagram below shows the structure of the terminal device or server 500. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 5 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0099] like Figure 5 As shown, electronic device 500 may include a processing unit (e.g., central processing unit, graphics processor, etc.) 501, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 502 or a program loaded from storage device 508 into random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. An edit / output (I / O) interface 505 is also connected to bus 504.
[0100] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 508 including, for example, magnetic tapes, hard disks, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 5 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0101] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 509, or installed from a storage device 508, or installed from a ROM 502. When the computer program is executed by the processing device 501, it performs the functions defined in the methods of embodiments of this disclosure.
[0102] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0103] The electronic device provided in this embodiment and the bandwidth detection method provided in the above embodiments belong to the same inventive concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.
[0104] This disclosure provides a computer storage medium storing a computer program that, when executed by a processor, implements the bandwidth detection method provided in the above embodiments.
[0105] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0106] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0107] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0108] The aforementioned computer-readable medium carries one or more programs. When the electronic device executes the aforementioned one or more programs, the electronic device causes the following actions: In response to the current bandwidth detection phase being a bandwidth up-probing phase, the electronic device acquires the current detection result corresponding to the current detection point in the current bandwidth detection phase, wherein the bandwidth up-probing phase refers to the detection bandwidth in the current bandwidth detection phase being greater than the detection bandwidth in the previous bandwidth detection phase; Based on the current detection result and the historical detection results corresponding to historical detection points, the electronic device determines the current network state corresponding to the current detection point; In response to the current network state being a strong network state, the electronic device performs up-probing processing on the current detection bandwidth corresponding to the current detection point, determines the target detection bandwidth corresponding to the next detection point, and performs bandwidth detection on the next detection point based on the target detection bandwidth.
[0109] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0110] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0111] The units described in the embodiments of this disclosure can be implemented in software or in hardware. The name of a unit does not necessarily limit the unit itself; for example, the first acquisition unit can also be described as "a unit that acquires at least two Internet Protocol addresses".
[0112] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0113] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0114] According to one or more embodiments of this disclosure, [Example 1] provides a bandwidth detection method, including:
[0115] In response to the current bandwidth detection phase being a bandwidth up-probing phase, the current detection result corresponding to the current detection point in the current bandwidth detection phase is obtained, wherein the bandwidth up-probing phase means that the detection bandwidth in the current bandwidth detection phase is greater than the detection bandwidth in the previous bandwidth detection phase;
[0116] Based on the current detection results and the historical detection results corresponding to the historical detection points, the current network state corresponding to the current detection point is determined;
[0117] In response to the current network status being a strong network, the current detection bandwidth corresponding to the current detection point is processed upwards to determine the target detection bandwidth corresponding to the next detection point, and bandwidth detection is performed on the next detection point based on the target detection bandwidth.
[0118] According to one or more embodiments of this disclosure, [Example 2] provides a bandwidth detection method, further comprising:
[0119] Optionally, determining the current network state corresponding to the current detection point based on the current detection result and the historical detection results corresponding to the historical detection points includes:
[0120] Based on the current transmit code rate and current receive code rate in the current detection results, determine the current code rate transmittance corresponding to the current detection point;
[0121] Based on the historical transmission rate and historical reception rate in the historical detection results corresponding to the historical detection points, the reference rate transmission rate corresponding to the historical detection points is determined.
[0122] Based on the current bit rate transmittance and the reference bit rate transmittance, the current network state corresponding to the current probe point is determined.
[0123] According to one or more embodiments of this disclosure, [Example 3] provides a bandwidth detection method, further comprising:
[0124] Optionally, determining the reference code rate transmittance corresponding to a historical detection point based on the historical transmit code rate and historical receive code rate in the historical detection results corresponding to the historical detection point includes:
[0125] Based on the historical transmission rate and historical reception rate in the historical detection results corresponding to each historical detection point, the historical code rate transmission rate corresponding to each historical detection point is determined.
[0126] The historical bitrate transmittance is averaged to determine the reference bitrate transmittance corresponding to the historical detection point.
[0127] According to one or more embodiments of this disclosure, [Example 4] provides a bandwidth detection method, further comprising:
[0128] Optionally, determining the current network state corresponding to the current probe point based on the current bit rate transmittance and the reference bit rate transmittance includes:
[0129] Determine the ratio between the current bitrate transmittance and the reference bitrate transmittance, and compare the ratio with a preset ratio to obtain a first comparison result;
[0130] The reference bitrate transmittance is compared with the preset transmittance to obtain a second comparison result;
[0131] Based on the first comparison result and the second comparison result, the current network state corresponding to the current detection point is determined.
[0132] According to one or more embodiments of this disclosure, [Example 5] provides a bandwidth detection method, further comprising:
[0133] Optionally, determining the current network state corresponding to the current detection point based on the first comparison result and the second comparison result includes:
[0134] If the ratio is greater than or equal to a preset ratio and the reference code rate transmittance is greater than or equal to a preset transmittance, then the current network state corresponding to the current detection point is determined to be a strong network state.
[0135] If the ratio is less than a preset ratio or the reference code rate transmittance is less than a preset transmittance, then the current network state corresponding to the current detection point is determined to be a weak network state.
[0136] According to one or more embodiments of this disclosure, Example Six provides a bandwidth probing method, further comprising:
[0137] Optionally, the step of performing upward processing on the current detection bandwidth corresponding to the current detection point to determine the target detection bandwidth corresponding to the next detection point includes:
[0138] The current detection bandwidth corresponding to the current detection point is added to the preset upward detection interval bandwidth to obtain the target detection bandwidth corresponding to the next detection point.
[0139] According to one or more embodiments of this disclosure, [Example Seven] provides a bandwidth detection method, further comprising:
[0140] Optionally, the method further includes:
[0141] In response to the current network state being weak, determine the duration of the weak network state during the current bandwidth probe phase;
[0142] The duration of the weak network state is compared with a preset duration, and bandwidth detection is performed on the next detection point based on the comparison result.
[0143] According to one or more embodiments of this disclosure, [Example Eight] provides a bandwidth detection method, further comprising:
[0144] Optionally, the step of performing bandwidth detection on the next detection point based on the comparison result includes:
[0145] If the duration of the weak network state is less than the preset duration, the current detection bandwidth corresponding to the current detection point is taken as the target detection bandwidth, and bandwidth detection is performed on the next detection point.
[0146] If the duration of the weak network state is greater than or equal to the preset duration, then the current bandwidth detection phase is determined to have ended.
[0147] According to one or more embodiments of this disclosure, [Example Nine] provides a bandwidth detection device, including:
[0148] The detection result acquisition module is used to acquire the current detection result corresponding to the current detection point in the current bandwidth detection phase in response to the current bandwidth detection phase being the bandwidth up-probing phase. The bandwidth up-probing phase means that the detection bandwidth in the current bandwidth detection phase is greater than the detection bandwidth in the previous bandwidth detection phase.
[0149] The network state determination module is used to determine the current network state corresponding to the current detection point based on the current detection result and the historical detection results corresponding to the historical detection points.
[0150] The bandwidth upscaling module is used to respond to the current network state being a strong network state, perform upscaling processing on the current detection bandwidth corresponding to the current detection point, determine the target detection bandwidth corresponding to the next detection point, and perform bandwidth detection on the next detection point based on the target detection bandwidth.
[0151] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0152] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0153] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A bandwidth detection method, characterized in that, include: In response to the current bandwidth detection phase being a bandwidth up-probing phase, the current detection result corresponding to the current detection point in the current bandwidth detection phase is obtained. The bandwidth up-probing phase refers to the detection bandwidth in the current bandwidth detection phase being greater than the detection bandwidth in the previous bandwidth detection phase. The current detection result corresponding to the current detection point is the data packet reception status sent by the current detection point based on the current detection bandwidth. Based on the current detection results and the historical detection results corresponding to the historical detection points, the current network state corresponding to the current detection point is determined; wherein, the historical detection points are the detection points within the preset historical time period closest to the current time, or the historical detection points within the preset number of historical bandwidth detection stages closest to the current time; In response to the current network status being a strong network, the current detection bandwidth corresponding to the current detection point is processed upwards to determine the target detection bandwidth corresponding to the next detection point, and bandwidth detection is performed on the next detection point based on the target detection bandwidth.
2. The bandwidth detection method according to claim 1, characterized in that, The step of determining the current network state corresponding to the current detection point based on the current detection result and the historical detection results corresponding to the historical detection points includes: Based on the current transmit code rate and current receive code rate in the current detection results, determine the current code rate transmittance corresponding to the current detection point; Based on the historical transmission rate and historical reception rate in the historical detection results corresponding to the historical detection points, the reference rate transmission rate corresponding to the historical detection points is determined. Based on the current bit rate transmittance and the reference bit rate transmittance, the current network state corresponding to the current probe point is determined.
3. The bandwidth detection method according to claim 2, characterized in that, The determination of the reference code rate transmission rate corresponding to the historical detection point based on the historical transmission code rate and historical reception code rate in the historical detection results corresponding to the historical detection point includes: Based on the historical transmission rate and historical reception rate in the historical detection results corresponding to each historical detection point, the historical code rate transmission rate corresponding to each historical detection point is determined. The historical bitrate transmittance is averaged to determine the reference bitrate transmittance corresponding to the historical detection point.
4. The bandwidth detection method according to claim 2, characterized in that, Determining the current network state corresponding to the current probe point based on the current bit rate transmittance and the reference bit rate transmittance includes: Determine the ratio between the current bitrate transmittance and the reference bitrate transmittance, and compare the ratio with a preset ratio to obtain a first comparison result; The reference bitrate transmittance is compared with the preset transmittance to obtain a second comparison result; Based on the first comparison result and the second comparison result, the current network state corresponding to the current detection point is determined.
5. The bandwidth detection method according to claim 4, characterized in that, Determining the current network state corresponding to the current detection point based on the first comparison result and the second comparison result includes: If the ratio is greater than or equal to a preset ratio and the reference code rate transmittance is greater than or equal to a preset transmittance, then the current network state corresponding to the current detection point is determined to be a strong network state. If the ratio is less than a preset ratio or the reference code rate transmittance is less than a preset transmittance, then the current network state corresponding to the current detection point is determined to be a weak network state.
6. The bandwidth detection method according to claim 1, characterized in that, The step of performing upward processing on the current detection bandwidth corresponding to the current detection point to determine the target detection bandwidth corresponding to the next detection point includes: The current detection bandwidth corresponding to the current detection point is added to the preset upward detection interval bandwidth to obtain the target detection bandwidth corresponding to the next detection point.
7. The bandwidth detection method according to claim 1, characterized in that, The method further includes: In response to the current network state being weak, determine the duration of the weak network state during the current bandwidth probe phase; The duration of the weak network state is compared with a preset duration, and bandwidth detection is performed on the next detection point based on the comparison result.
8. The bandwidth detection method according to claim 7, characterized in that, The bandwidth detection of the next detection point based on the comparison result includes: If the duration of the weak network state is less than the preset duration, the current detection bandwidth corresponding to the current detection point is taken as the target detection bandwidth, and bandwidth detection is performed on the next detection point. If the duration of the weak network state is greater than or equal to the preset duration, then the current bandwidth detection phase is determined to have ended.
9. A bandwidth detection device, characterized in that, include: The detection result acquisition module is used to acquire the current detection result corresponding to the current detection point in the current bandwidth detection phase in response to the current bandwidth detection phase being the bandwidth up-probing phase. The bandwidth up-probing phase refers to the detection bandwidth in the current bandwidth detection phase being greater than the detection bandwidth in the previous bandwidth detection phase. The current detection result corresponding to the current detection point is the data packet reception status sent by the current detection point based on the current detection bandwidth. The network status determination module is used to determine the current network status corresponding to the current detection point based on the current detection result and the historical detection results corresponding to the historical detection points; wherein, the historical detection points are detection points within a preset historical time period closest to the current time, or historical detection points within a preset number of historical bandwidth detection phases closest to the current time; The bandwidth upscaling module is used to respond to the current network state being a strong network state, perform upscaling processing on the current detection bandwidth corresponding to the current detection point, determine the target detection bandwidth corresponding to the next detection point, and perform bandwidth detection on the next detection point based on the target detection bandwidth.
10. An electronic device, characterized in that, The electronic device includes: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the bandwidth probing method as described in any one of claims 1-8.
11. A storage medium containing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to perform the bandwidth probing method as described in any one of claims 1-8.
Citation Information
Patent Citations
Network bandwidth detection method and device, computer equipment and storage medium
CN115150283A