WO2023151528A1 - 网络带宽预估方法、装置、电子设备及存储介质 - Google Patents
网络带宽预估方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- WO2023151528A1 WO2023151528A1 PCT/CN2023/074527 CN2023074527W WO2023151528A1 WO 2023151528 A1 WO2023151528 A1 WO 2023151528A1 CN 2023074527 W CN2023074527 W CN 2023074527W WO 2023151528 A1 WO2023151528 A1 WO 2023151528A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- network bandwidth
- network
- bandwidth
- model
- bandwidth estimation
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the present disclosure relates to the technical field of data communication, for example, to a network bandwidth estimation method, device, electronic equipment and storage medium.
- the video application platform will edit and process the video and finally upload the video to the server.
- video editing usually adopts a dynamic coding strategy, and the video coding strategy is determined according to the prediction result of the upload network bandwidth, so that the video publishing process is smooth and the user experience in the video uploading process is improved.
- the speed measurement data In order to detect the upload network bandwidth, the speed measurement data needs to be sent before the official video upload, and the data volume of the speed measurement data is small. However, the upload speed measurement of a small amount of data will be limited by the transport layer protocol, and the speed measurement results will be inaccurate, resulting in a determined video encoding strategy that is not the optimal strategy. Due to different encoding strategies of videos, there will be different encoding and uploading durations, which will affect the user experience during video uploading, and even affect the viewing experience of videos.
- the present disclosure provides a network bandwidth estimation method, device, electronic equipment, and storage medium, which can improve the accuracy of network speed measurement results, better match video coding strategies for videos to be uploaded, and improve user video uploads. sense of experience.
- An embodiment of the present disclosure provides a method for estimating network bandwidth, which is applied to a client, and the method includes:
- the latest network bandwidth estimation model is based on previous network bandwidth estimation processes
- the network status parameter, the first network bandwidth, the second network bandwidth, and the actual network bandwidth corresponding to the target network bandwidth estimation result are determined by machine learning.
- An embodiment of the present disclosure also provides a method for estimating network bandwidth, which is applied to a server, and the method includes:
- the network bandwidth estimation model obtained through training is sent to the client, so that the client can estimate and obtain a target network bandwidth estimation result based on the network bandwidth estimation model.
- An embodiment of the present disclosure also provides a device for estimating network bandwidth, which is configured on a client, and the device includes:
- the test data acquisition module is configured to send a bandwidth test file to the server, and respectively acquire network status parameters before and after sending the bandwidth test file, wherein the volume of the bandwidth test file is less than a preset file volume threshold;
- the first bandwidth estimation module is configured to determine the first network bandwidth and the second network bandwidth based on the network state parameters and the volume of the bandwidth test file;
- the second bandwidth estimation module is configured to input the network state parameters, the first network bandwidth and the second network bandwidth into the latest network bandwidth estimation model to obtain a target network bandwidth estimation result;
- the latest network bandwidth estimation model is based on the network status parameters, the first network bandwidth, the second network bandwidth and the target network bandwidth estimation results corresponding to the previous network bandwidth estimation process Models determined by machine learning for actual network bandwidth.
- An embodiment of the present disclosure also provides a device for estimating network bandwidth, which is configured on the server side, and the device includes:
- the model training sample acquisition module is set to acquire the network status parameters collected by the client during each network bandwidth estimation process, the calculated first network bandwidth and second network bandwidth, and the estimated results of the target network bandwidth The corresponding actual network bandwidth is used as the model training sample data;
- a model training module configured to train a network bandwidth estimation model based on the model training sample data
- the bandwidth estimating module is configured to send the trained network bandwidth estimating model to the client, so that the client can estimate and obtain a target network bandwidth estimating result based on the network bandwidth estimating model.
- An embodiment of the present disclosure also provides an electronic device, and the electronic device includes:
- processors one or more processors
- storage means configured to store one or more programs
- the one or more processors When the one or more programs are executed by the one or more processors, the one or more processors are made to implement the method for estimating network bandwidth according to any one of the embodiments of the present disclosure.
- An embodiment of the present disclosure also provides a storage medium containing computer-executable instructions, the computer-executable instructions are used to execute the method for estimating network bandwidth as described in any one of the embodiments of the present disclosure when executed by a computer processor.
- FIG. 1 is a schematic flowchart of a network bandwidth estimation method applied to a client provided by Embodiment 1 of the present disclosure
- FIG. 2 is a schematic flowchart of a network bandwidth estimation method applied to a client provided in Embodiment 2 of the present disclosure
- FIG. 3 is a schematic flowchart of a method for estimating network bandwidth applied to a client provided in Embodiment 3 of the present disclosure
- FIG. 4 is a schematic flowchart of a network bandwidth estimation method applied to a client provided in Embodiment 4 of the present disclosure
- FIG. 5 is a schematic flowchart of a network bandwidth estimation method applied to a server provided in Embodiment 5 of the present disclosure
- FIG. 6 is a schematic structural diagram of a device for estimating network bandwidth configured on a client provided in Embodiment 6 of the present disclosure
- FIG. 7 is a schematic structural diagram of a device for estimating network bandwidth configured on a server provided in Embodiment 7 of the present disclosure
- FIG. 8 is a schematic structural diagram of an electronic device provided by Embodiment 8 of the present disclosure.
- the term “comprise” and its variations are open-ended, ie “including but not limited to”.
- the term “based on” is “based at least in part on”.
- the term “one embodiment” means “at least one embodiment”; the term “another embodiment” means “at least one further embodiment”; the term “some embodiments” means “at least some embodiments.” Relevant definitions of other terms will be given in the description below.
- Fig. 1 is a schematic flowchart of a method for estimating network bandwidth applied to a client provided by Embodiment 1 of the present disclosure.
- This embodiment of the present disclosure is applicable to the scenario of quickly testing network bandwidth, such as bandwidth prediction before a user uploads a video. , to determine the status of the video dynamic encoding strategy.
- the method can be executed by a device for estimating network bandwidth configured on the client, the device can be implemented in the form of software and/or hardware, and the device can be configured in an electronic device, such as a mobile terminal or a server device.
- the method for estimating network bandwidth applied to a client includes the following steps.
- the video When a user publishes a video through some social media applications or short video applications, the video will be edited, processed, and finally uploaded and released.
- the application client will encode and compress the edited video to be released in order to improve the user's experience in the uploading process.
- the coding and compression strategy is a dynamic coding strategy determined according to the prediction result of the uploading network bandwidth by the client.
- the client After the user triggers video upload, in order to estimate the upload network bandwidth, the client will send speed measurement data before the video to be released is uploaded. That is, the client establishes a speed test connection with the server, and sends a bandwidth test file to the server.
- the bandwidth test file itself is a file with a very small amount of data
- the volume of the bandwidth test file is smaller than the preset file volume threshold, and the file content does not contain substantial content information, therefore, fast upload and speed measurement can be realized.
- the network status parameters of the link can be obtained once; after the speed test file is uploaded, the network status parameters of the link can be obtained again, so as to obtain the network status parameters before and after sending the bandwidth test file respectively.
- the way to obtain network state parameters can be Obtained through the socket port and related protocols.
- the network state parameters include packet loss rate, round-trip time (RTT) of data packets from the client to the server, and other parameters that can reflect the state of the network.
- RTT round-trip time
- the confidence level of the network status parameters obtained for the first time is not high, and can be used as a reference for the network status when the values fluctuate greatly.
- S120 Determine a first network bandwidth and a second network bandwidth based on the network state parameter and the volume of the bandwidth test file.
- the first network bandwidth refers to the network bandwidth value determined by the conventional network speed measurement method, that is, the first network bandwidth is determined according to the volume of the bandwidth test file and the round-trip delay of data transmission in the network status parameters.
- the bandwidth test file can be used The volume is divided by the time spent uploading the bandwidth test file to obtain the corresponding first network bandwidth value, wherein the time spent uploading the bandwidth test file is determined according to the data in the network status parameter.
- the second network bandwidth is obtained by inputting network state parameters into a preset offline bandwidth prediction model to obtain the second network bandwidth.
- the preset offline bandwidth prediction model can be a bandwidth estimation model such as a mathematical modeling formula (The Mathis et.al.Formula) or a delay-bandwidth product formula.
- the first network bandwidth result will have a certain error with the real bandwidth; Because there may be errors in the network state parameters, there will also be corresponding errors in the predicted bandwidth based on the preset offline bandwidth prediction model, and the accuracy of the second network bandwidth needs to be improved. Therefore, the first network bandwidth and the second network bandwidth are not directly used as the final network bandwidth estimation result, and the final network bandwidth estimation result is determined through step S130.
- the network bandwidth estimation model is a machine learning model, which is based on the network status parameters collected during the previous video upload process, the network bandwidth value determined by conventional calculation based on the volume of the bandwidth test file and the time spent uploading the bandwidth test file (first network bandwidth), a network bandwidth estimation result (second network bandwidth) determined based on a preset offline bandwidth prediction model, and a model generated by learning the corresponding actual network bandwidth.
- the network bandwidth estimation model can be pre-configured in the client.
- the network bandwidth estimation model can be a neural network model or a weight parameter model.
- the weight parameter model means that the network bandwidth estimation model after machine learning is an optimized function, which includes weight values of multiple input data, and can finally calculate the target network bandwidth prediction based on the corresponding weight values. Estimate the result.
- an optimized target network bandwidth estimation result can be finally obtained. Compared with the accuracy of the first network bandwidth and the second network bandwidth degree has improved.
- the technical solution of the embodiment of the present disclosure can send a smaller bandwidth test file to the server, and respectively obtain the network state parameters before and after sending the bandwidth test file; based on the network state parameters and the volume of the bandwidth test file, determine the first The first network bandwidth and the second network bandwidth; input the network state parameters, the first network bandwidth and the second network bandwidth into the current latest network bandwidth estimation model to obtain the target network bandwidth estimation result, that is, through the pre-trained network
- the bandwidth estimation model comprehensively analyzes the network status parameters and the determined network bandwidth values calculated in different ways, and finally outputs a target network bandwidth estimation result.
- the technical solution of the embodiment of the disclosure solves the problem of inaccurate network speed measurement results caused by the use of small files, realizes the improvement of the accuracy of network speed measurement results, and better matches the better video encoding strategy for the video to be uploaded, and improves the user's video frequency. upload experience.
- the embodiments of the present disclosure may be combined with multiple optional solutions in the method for estimating the network bandwidth applied to the client provided in the above embodiments.
- the network bandwidth estimation method applied to the client provided in this embodiment describes the process of selecting a more suitable network bandwidth estimation model according to network state parameters and performing network bandwidth estimation.
- FIG. 2 is a schematic flowchart of a method for estimating network bandwidth applied to a client provided in Embodiment 2 of the present disclosure. As shown in FIG. 2 , the method for estimating network bandwidth applied to a client provided by this embodiment includes the following steps.
- S220 Determine a first network bandwidth and a second network bandwidth based on the network state parameter and the volume of the bandwidth test file.
- the current latest network bandwidth estimation model includes a group of models, and each model in the model group matches the parameter value range where the value of the network state parameter is located.
- the model training samples are grouped according to the values of the network state parameters in the model training samples, so as to obtain multiple model training sample groups. For example, divide the model training samples into three groups according to the value of RTT.
- the network status parameters with RTT value less than 50 ms are a group
- the network status parameters with RTT value between 50 ms and 200 ms are a group
- the network status parameters with RTT value greater than 200 ms are a group.
- Network status parameters are a group.
- Model training is performed based on the samples of each model training sample group, and finally multiple network bandwidth estimation models are obtained.
- Each network bandwidth estimation model has a better adaptation to the network bandwidth test data of the numerical interval of the corresponding preset parameter item degree, better results can be obtained.
- the target network bandwidth estimation result After determining the target network bandwidth estimation model that matches the collected network state parameters and the calculated first network bandwidth and second network bandwidth, directly input the network state parameters, first network bandwidth and second network bandwidth Into the target network bandwidth estimation model, the target network bandwidth estimation result can be obtained.
- the target network bandwidth estimation model is a network bandwidth estimation model that is subdivided and matched according to the network state parameter values, the accuracy of the model output results can be improved to a certain extent, so that the accuracy of the network bandwidth prediction results is higher.
- the bandwidth test file is sent to the server, and the network status parameters before and after sending the bandwidth test file are obtained respectively; based on the network status parameters and the volume of the bandwidth test file, the first network bandwidth and the second network bandwidth are determined.
- Network bandwidth According to the value of the network state parameter, match the target network bandwidth estimation model matching with the group of network state parameters, and input the network state parameter, the first network bandwidth and the second network bandwidth into the current latest network bandwidth estimation In the model, the target network bandwidth estimation result is obtained, that is, through the pre-trained network bandwidth estimation model, the network status parameters and the network bandwidth values calculated and determined by different methods are comprehensively analyzed, and finally a target network bandwidth estimation result is output.
- the technical solution of the embodiment of the disclosure solves the problem of inaccurate network speed measurement results caused by the use of small files, realizes the improvement of the accuracy of network speed measurement results, and better matches the better video encoding strategy for the video to be uploaded, and improves the user's video frequency. Upload experience.
- the embodiments of the present disclosure may be combined with multiple optional solutions in the method for estimating the network bandwidth applied to the client provided in the above embodiments.
- the network bandwidth estimation method applied to the client provided in this embodiment describes the process of dynamically obtaining the latest network bandwidth estimation model from the server and performing network bandwidth estimation.
- FIG. 3 is a schematic flowchart of a method for estimating network bandwidth applied to a client provided by Embodiment 3 of the present disclosure.
- the network bandwidth estimation method applied to the client includes the following steps.
- S310 Send the bandwidth test file to the server, and respectively acquire network state parameters before and after sending the bandwidth test file.
- S320 Determine a first network bandwidth and a second network bandwidth based on the network state parameter and the volume of the bandwidth test file.
- the network bandwidth estimation model is not pre-configured on the client, but is obtained from the server during the network bandwidth estimation process.
- step S330 is not strictly limited after S320, and step S330 may be executed before or after step S310 or S320, so as to obtain a network bandwidth estimation model. That is, as long as the latest network bandwidth estimation model is obtained before the network bandwidth estimation model is used in step S340, that is all.
- the reason why the network bandwidth estimation model is obtained from the server is that the model is continuously iteratively updated on the server as new model training samples are generated. Compared with pre-configuration on the client, the update efficiency of the network bandwidth estimation model is higher, and it is more friendly to the memory configuration of the client.
- a validity period can also be set for the obtained network bandwidth estimation model. If the time interval between the next estimated network bandwidth and the current estimated network bandwidth is within the limited period, there is no need to obtain the network bandwidth from the server again. Bandwidth Estimation Model.
- the network status parameters obtained by the client, the calculated first network bandwidth and the second The network bandwidth and the actual network bandwidth corresponding to the target network bandwidth estimation result are sent to the server, so that the server can train and update the network bandwidth estimation model according to the received data.
- the technical solution of the embodiment of the disclosure solves the problem of inaccurate network speed measurement results caused by the use of small files, realizes the improvement of the accuracy of network speed measurement results, and better matches the better video encoding strategy for the video to be uploaded, and improves the user's video frequency. Upload experience.
- the embodiments of the present disclosure are optional implementations based on multiple optional solutions in the network bandwidth estimation method applied to the client provided in the above embodiments, and may be combined with multiple optional solutions.
- the method for estimating the network bandwidth applied to the client provided in this embodiment describes the time when performing the network bandwidth test. machine, and perform the process of network bandwidth estimation.
- FIG. 4 is a schematic flowchart of a network bandwidth estimation method applied to a client provided in Embodiment 4 of the present disclosure.
- the method for estimating network bandwidth applied to a client includes the following steps.
- the bandwidth test file is sent to the server in advance to start network bandwidth estimation. Instead of waiting for the user to trigger the upload operation of the video to be uploaded. Then, when the user triggers the video upload operation, the encoding strategy of the video to be uploaded can be determined according to the network bandwidth estimation result, which can reduce the time of the entire video upload process, optimize the video upload process, and improve user experience.
- a speed measurement connection can be established between the client and the server to obtain the network status parameters of the primary link.
- the network status parameters of the link can be obtained again, so as to obtain the network status parameters before and after sending the bandwidth test file respectively.
- the first network bandwidth refers to the network bandwidth value determined by the conventional network speed measurement method, that is, the first network bandwidth is determined according to the volume of the bandwidth test file and the round-trip delay of data transmission in the network status parameters.
- the bandwidth test file can be used The volume is divided by the time spent uploading the bandwidth test file to obtain the corresponding first network bandwidth value.
- the second network bandwidth is obtained by inputting network state parameters into a preset offline bandwidth prediction model to obtain the second network bandwidth.
- the preset offline bandwidth prediction model may be a bandwidth estimation model such as a mathematical modeling formula or a delay-bandwidth product formula.
- the network bandwidth estimation model is not pre-configured on the client, but is obtained from the server during the network bandwidth estimation process.
- the model is continuously iteratively updated on the server side.
- the current latest network bandwidth estimation model includes a group of models, and each model in the model group is matched with the parameter value range where the value of the network state parameter is located. That is, the network bandwidth During the estimation process, the selected target network bandwidth estimation model is a subdivided model, which can obtain more accurate network bandwidth estimation results.
- the network bandwidth estimation model is a model for machine learning determination based on the network state parameters, the first network bandwidth, the second network bandwidth and the corresponding actual network bandwidth in previous network bandwidth estimation processes, for example, it may be
- a neural network model can also be a weight parameter model.
- the target network bandwidth estimation result can be obtained by inputting the network state parameter, the first network bandwidth and the second network bandwidth into the target network bandwidth estimation model.
- the network status parameters obtained by the client, the calculated first network bandwidth and second network bandwidth, and the target network bandwidth can be compared through the preset data transmission interface.
- the actual network bandwidth corresponding to the estimated result is sent to the server, so that the server can train and update the network bandwidth estimation model based on the received data.
- the process of network bandwidth estimation is started, and a smaller bandwidth test file is sent to the server, and respectively obtained Sending the network state parameters before and after the bandwidth test file; based on the network state parameters and the volume of the bandwidth test file, determining the first network bandwidth and the second network bandwidth; and obtaining the latest network bandwidth estimation model from the server, and
- the network state parameters, the first network bandwidth and the second network bandwidth are input into the latest network bandwidth estimation model that matches the parameter interval of the network state parameter value, and the target network bandwidth estimation result is obtained, that is, the pre-trained network bandwidth
- the estimation model comprehensively analyzes the network status parameters and the determined network bandwidth values calculated in different ways, and finally outputs a target network bandwidth estimation result.
- the technical solution of the embodiment of the disclosure solves the problem of inaccurate network speed measurement results caused by the use of small files, realizes the improvement of the accuracy of network speed measurement results, and better matches the better video encoding strategy for the video to be uploaded, and improves the user's video frequency. Upload experience.
- Fig. 5 is a schematic flow chart of a network bandwidth estimation method applied to the server provided by Embodiment 5 of the present disclosure.
- Bandwidth prediction is performed before the video to determine the situation of the video dynamic encoding strategy.
- the method can be executed by a network bandwidth estimating device configured on the server side, the device can be implemented in the form of software and/or hardware, and the device can be configured in an electronic device, such as a mobile terminal or a server device.
- the network bandwidth estimation method applied to the server provided by this embodiment includes the following steps.
- the collected network status parameters, the estimated intermediate bandwidth value calculated during the bandwidth estimation process, and the actual network corresponding to the final network bandwidth estimation result are uploaded to the server as training samples for the network bandwidth estimation model on the server.
- the network status parameter is the network status parameter of the network speed measurement link obtained by the client before and after the speed measurement file is uploaded to the server.
- the network status parameters can include packet loss rate, the round-trip time (round-trip time, RTT) between the client and the server of the bandwidth test file, etc., which can reflect the parameters of the network status.
- the first network bandwidth is the network bandwidth value determined by the client according to the conventional network speed measurement method, that is, the first network bandwidth is determined according to the volume of the bandwidth test file and the round-trip delay of data transmission in the network status parameters.
- the bandwidth test file can be used Divide the volume by the RTT and multiply by two to obtain the corresponding first network bandwidth value.
- the second network bandwidth is that the client inputs the network state parameters into the preset offline bandwidth prediction model to obtain the second network bandwidth.
- the preset offline bandwidth prediction model may be a bandwidth estimation model such as a mathematical modeling formula or a delay-bandwidth product formula.
- the network bandwidth estimation model is trained by means of machine learning.
- an appropriate model can be selected based on the problem to be solved by the model training.
- the model is equivalent to a set of functions.
- the models themselves can have different structures, for example, linear fitting models, nonlinear fitting models, and neural network models.
- Set a loss function (Loss Function) to measure the quality of the model. Based on multiple rounds of model training of model training sample data, the "best" function can be found, that is, the final network bandwidth estimation model can be obtained.
- a plurality of model training sample data are grouped according to the values of preset parameter items in the network state parameters; model training is performed based on the grouped model training sample parameters respectively, Get multiple network bandwidth estimation models.
- Each network bandwidth estimation model has a better degree of adaptation to the network bandwidth test data of the numerical interval of the corresponding preset parameter item, and can obtain better results.
- the technical solutions of the embodiments of the present disclosure by using the network state parameters obtained from the client, the first network bandwidth and the second network bandwidth calculated by the client, and the actual network bandwidth corresponding to the estimated result of the target network bandwidth, as Model training sample data, training to obtain the target network bandwidth estimation model It can comprehensively analyze network status parameters and calculate and determine network bandwidth values in different ways, and finally output a target network bandwidth estimation result. And send the trained model to the client for network bandwidth estimation.
- the technical solution of the embodiment of the disclosure solves the problem of inaccurate network speed measurement results caused by the use of small files, realizes the improvement of the accuracy of network speed measurement results, and better matches the better video encoding strategy for the video to be uploaded, and improves the user's video frequency. Upload experience.
- FIG. 6 is a schematic structural diagram of a device for estimating network bandwidth configured on a client provided in Embodiment 6 of the present disclosure.
- the device for estimating network bandwidth configured on a client provided in this embodiment is suitable for quickly testing network bandwidth, especially for bandwidth prediction before a user uploads a video to determine a video dynamic encoding strategy.
- the device for estimating network bandwidth configured at the client includes: a test data acquisition module 610 , a first bandwidth estimating module 620 and a second bandwidth estimating module 630 .
- the test data acquisition module 610 is configured to send a bandwidth test file to the server, and respectively acquire network status parameters before and after sending the bandwidth test file, wherein the volume of the bandwidth test file is less than a preset file volume threshold; the first bandwidth The estimation module 620 is configured to determine the first network bandwidth and the second network bandwidth based on the network state parameters and the volume of the bandwidth test file; the second bandwidth estimation module 630 is configured to use the network state parameters, The first network bandwidth and the second network bandwidth are input into the current latest network bandwidth estimation model to obtain the target network bandwidth estimation result; wherein, the current latest network bandwidth estimation model is based on previous network bandwidth The network state parameter, the first network bandwidth, the second network bandwidth, and the actual network bandwidth corresponding to the target network bandwidth estimation result in the estimation process are determined by machine learning.
- the bandwidth test file is sent to the server, and the network status parameters before and after sending the bandwidth test file are obtained respectively; based on the network status parameters and the volume of the bandwidth test file, the first network bandwidth and the second network bandwidth are determined.
- Network bandwidth input the network state parameters, the first network bandwidth and the second network bandwidth into the current latest network bandwidth estimation model to obtain the target network bandwidth estimation result, that is, through the pre-trained network bandwidth estimation model, Comprehensively analyze the network status parameters and the determined network bandwidth values calculated in different ways, and finally output a target network bandwidth estimation result.
- the technical solution of the embodiment of the disclosure solves the problem of inaccurate network speed measurement results caused by the use of small files, realizes the improvement of the accuracy of network speed measurement results, and better matches the better video encoding strategy for the video to be uploaded, and improves the user's video frequency. upload experience.
- the second bandwidth estimation module 630 is set to:
- the target network bandwidth estimation model that matches the parameter value range where the value is located in the current latest network bandwidth estimation model
- the first bandwidth estimation module 620 includes a first bandwidth estimation submodule and a second bandwidth estimation submodule
- the first bandwidth estimation submodule is configured to determine the first network bandwidth according to the volume of the bandwidth test file and the round-trip delay of data transmission in the network state parameters;
- the second bandwidth estimation sub-module is configured to input the network state parameters into a preset offline bandwidth prediction model to obtain the second network bandwidth.
- test data acquisition module 610 is configured to: send the bandwidth test file to the server when entering the editing interface of the video data to be uploaded.
- the device for estimating network bandwidth further includes:
- the bandwidth estimation model acquisition module is configured to acquire the latest network bandwidth estimation model from the server after the bandwidth test file is sent to the server.
- the device for estimating network bandwidth further includes:
- the parameter upload interface module is configured to, in each network bandwidth estimation process, obtain the network status parameters, the calculated first network bandwidth and the second network bandwidth, and the target network bandwidth estimation results corresponding to The actual network bandwidth is sent to the server, so that the server can train and update the network bandwidth estimation model according to the received data.
- the network bandwidth estimation model includes a neural network model and a weight parameter model.
- the device for estimating network bandwidth configured on a client provided by an embodiment of the present disclosure can execute the method for estimating network bandwidth applied to a client provided by any embodiment of the present disclosure, and has corresponding functional modules and effects for executing the method.
- the multiple units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be realized; in addition, the names of multiple functional units are only for the convenience of distinguishing each other , and are not intended to limit the protection scope of the embodiments of the present disclosure.
- FIG. 7 is a schematic structural diagram of a device for estimating network bandwidth configured at a server end provided by Embodiment 7 of the present disclosure.
- the network bandwidth estimation device configured on the server side provided in this embodiment describes the process of training the network bandwidth estimation model on the server side.
- the network bandwidth estimation device configured on the server includes: a model training sample acquisition module 710 , a model training module 720 and a bandwidth estimation module 730 .
- the model training sample acquisition module 710 is configured to acquire the network status parameters collected by the client during each network bandwidth estimation process, the calculated first network bandwidth and second network bandwidth, and the target network bandwidth estimation The actual network bandwidth corresponding to the result is used as model training sample data; the model training module 720 is configured to train the network bandwidth estimation model based on the model training sample data; the bandwidth estimation module 730 is configured to estimate the network bandwidth obtained by training The model is sent to the client, so that the client estimates and obtains a target network bandwidth estimation result based on the network bandwidth estimation model.
- the technical solutions of the embodiments of the present disclosure by using the network state parameters obtained from the client, the first network bandwidth and the second network bandwidth calculated by the client, and the actual network bandwidth corresponding to the estimated result of the target network bandwidth, as Model training sample data, training to obtain the target network bandwidth estimation model, can comprehensively analyze the network status parameters and the determined network bandwidth value calculated in different ways, and finally output a target network bandwidth estimation result. And send the trained model to the client for network bandwidth estimation.
- the technical solution of the embodiment of the disclosure solves the problem of inaccurate network speed measurement results caused by the use of small files, realizes the improvement of the accuracy of network speed measurement results, and better matches the better video encoding strategy for the video to be uploaded, and improves the user's video frequency. upload experience.
- the model training module 720 is set to:
- model training is performed separately to obtain multiple network bandwidth estimation models.
- the device for estimating network bandwidth configured on the server end provided by the embodiments of the present disclosure can execute the method for estimating network bandwidth applied to the server end provided by any embodiment of the present disclosure, and has corresponding functional modules and effects for executing the method.
- the multiple units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be realized; in addition, the names of multiple functional units are only for the convenience of distinguishing each other , and are not intended to limit the protection scope of the embodiments of the present disclosure.
- FIG. 8 it shows a schematic structural diagram of an electronic device (such as the terminal device or server in FIG. 8 ) 800 suitable for implementing the embodiments of the present disclosure.
- the terminal equipment in the embodiments of the present disclosure may include mobile phones, notebook computers, digital broadcast receivers, personal digital assistants (Personal Digital Assistant, PDA), tablet computers (Portable Android Device, PAD), portable multimedia players (Portable Multimedia Player, PMP), vehicle-mounted terminals (such as vehicle-mounted navigation terminals) and other mobile terminals, and fixed terminals such as digital television (television, TV), desktop computers and so on.
- PDA Personal Digital Assistant
- PAD Portable Android Device
- PMP portable multimedia players
- vehicle-mounted terminals such as vehicle-mounted navigation terminals
- fixed terminals such as digital television (television, TV), desktop computers and so on.
- the electronic device shown in FIG. 8 is only an example, and should not be used for the functions and uses of the embodiments of the present disclosure. Use scope to bring any restrictions.
- an electronic device 800 may include a processing device (such as a central processing unit, a graphics processing unit, etc.)
- the storage device 808 loads programs in the random access memory (Random Access Memory, RAM) 803 to execute various appropriate actions and processes.
- RAM Random Access Memory
- various programs and data necessary for the operation of the electronic device 800 are also stored.
- the processing device 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804.
- An input/output (Input/Output, I/O) interface 805 is also connected to the bus 804 .
- the following devices can be connected to the I/O interface 805: an input device 806 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; including, for example, a liquid crystal display (Liquid Crystal Display, LCD), a speaker , an output device 807 such as a vibrator; a storage device 808 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 809 .
- the communication means 809 may allow the electronic device 800 to communicate with other devices wirelessly or by wire to exchange data. While FIG. 8 shows electronic device 800 having various means, it is not a requirement to implement or possess all of the means shown. More or fewer means may alternatively be implemented or provided.
- embodiments of the present disclosure include a computer program product, which includes a computer program carried on a non-transitory computer readable medium, where the computer program includes program code for executing the method shown in the flowchart.
- the computer program may be downloaded and installed from a network via communication means 809 , or from storage means 808 , or from ROM 802 .
- the processing device 801 the above-mentioned functions defined in the method for estimating network bandwidth applied to the client or server in the embodiment of the present disclosure are executed.
- the electronic device provided by the embodiment of the present disclosure belongs to the same idea as the network bandwidth estimation method applied to the client or server provided by the above embodiment, and the technical details not described in detail in this embodiment can be referred to the above embodiment, and this embodiment Example has the same effect as the above-mentioned embodiment.
- An embodiment of the present disclosure provides a computer storage medium, on which a computer program is stored.
- the computer program is executed by a processor, the method for estimating network bandwidth applied to a client or a server provided in the above embodiments is implemented.
- the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the above two.
- a computer-readable storage medium may be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any combination thereof.
- a computer readable storage medium may include: an electrical connection having one or more wires, a portable computer magnetic disk, hard disk, RAM, ROM, erasable programmable read-only memory (Erasable Programmable Read-Only Memory, EPROM), flash memory (FLASH), optical fiber, portable compact disk read-only memory (Compact Disc Read-Only Memory, CD- ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above.
- a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
- a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave carrying computer-readable program code therein. Such propagated data signals may take many forms, including electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- a computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device .
- the program code contained on the computer readable medium can be transmitted by any appropriate medium, including: electric wire, optical cable, radio frequency (Radio Frequency, RF), etc., or any appropriate combination of the above.
- the client and the server can communicate using any currently known or future network protocols such as Hypertext Transfer Protocol (HyperText Transfer Protocol, HTTP), and can communicate with digital data in any form or medium Communications (eg, communication networks) are interconnected.
- Examples of communication networks include local area networks (Local Area Network, LAN), wide area networks (Wide Area Network, WAN), internetworks (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently existing networks that are known or developed in the future.
- the above-mentioned computer-readable medium may be included in the above-mentioned electronic device, or may exist independently without being incorporated into the electronic device.
- the above-mentioned computer-readable medium carries one or more programs, and when the above-mentioned one or more programs are executed by the electronic device, the electronic device:
- the latest network bandwidth estimation model is based on the network status parameters, the first network bandwidth, the second network bandwidth and the target network bandwidth estimation results corresponding to the previous network bandwidth estimation process Models determined by machine learning for actual network bandwidth.
- the above-mentioned computer-readable medium carries one or more programs, when the above-mentioned one or more When a program is executed by the electronic device, the electronic device:
- the network bandwidth estimation model obtained through training is sent to the client, so that the client can estimate and obtain a target network bandwidth estimation result based on the network bandwidth estimation model.
- Computer program code for carrying out the operations of the present disclosure can be written in one or more programming languages, or combinations thereof, including object-oriented programming languages—such as Java, Smalltalk, C++, and conventional Procedural Programming Language - such as "C" or a similar programming language.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer can be connected to the user computer through any kind of network, including a LAN or WAN, or it can be connected to an external computer (eg via the Internet using an Internet Service Provider).
- each block in a flowchart or block diagram may represent a module, program segment, or portion of code that contains one or more logical functions for implementing specified executable instructions.
- the functions noted in the block may occur out of the order noted in the figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved.
- Each block in the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by dedicated hardware implemented in combination with computer instructions.
- the units involved in the embodiments described in the present disclosure may be implemented by software or by hardware.
- the names of the units and modules do not constitute limitations on the units and modules themselves, for example, the data generating module may also be described as a "video data generating module”.
- FPGAs Field Programmable Gate Arrays
- ASIC Application Specific Integrated Circuit
- ASSP Application Specific Standard Parts
- SOC System on Chip
- CPLD Complex Programmable Logic Device
- a machine-readable medium may 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 may be a machine-readable signal medium or a machine-readable storage medium.
- a machine-readable medium may comprise an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- Machine-readable storage media include one or more wire-based electrical connections, portable computer discs, hard drives, RAM, ROM, EPROM, flash memory, optical fiber, portable CD-ROMs, optical storage devices, magnetic storage devices, or Any suitable combination of content.
- the storage medium may be a non-transitory storage medium.
- Example 1 provides a network bandwidth estimation method applied to a client, the method including:
- the latest network bandwidth estimation model is based on the network status parameters, the first network bandwidth, the second network bandwidth and the target network bandwidth estimation results corresponding to the previous network bandwidth estimation process Models determined by machine learning for actual network bandwidth.
- Example 2 provides a network bandwidth estimation method applied to a client, which further includes:
- the inputting the network status parameter, the first network bandwidth and the second network bandwidth into the latest network bandwidth model to obtain a target network bandwidth estimation result includes: :
- the target network bandwidth estimation model that matches the parameter value range where the value is located in the current latest network bandwidth estimation model
- Example 3 provides a client-side Network bandwidth estimation methods, including:
- the determining the first network bandwidth and the second network bandwidth based on the network status parameter and the volume of the bandwidth test file includes:
- the network state parameter is input into a preset offline bandwidth prediction model to obtain the second network bandwidth.
- Example 4 provides a network bandwidth estimation method applied to a client, which further includes:
- the sending the bandwidth test file to the server includes:
- the bandwidth test file is sent to the server.
- Example 5 provides a network bandwidth estimation method applied to a client, which further includes:
- the method further includes:
- Example 6 provides a network bandwidth estimation method applied to a client, which further includes:
- the obtained network state parameters, the calculated first network bandwidth and second network bandwidth, and the target network bandwidth estimation is sent to the server, so that the server can train and update the network bandwidth estimation model according to the received data.
- Example 7 provides a network bandwidth estimation method applied to a client, which further includes:
- the network bandwidth estimation model includes a neural network model and a weight parameter model.
- Example 8 provides a network bandwidth estimation method applied to a server, the method comprising:
- the network bandwidth estimation model obtained through training is sent to the client, so that the client can estimate and obtain a target network bandwidth estimation result based on the network bandwidth estimation model.
- Example 9 provides a method for estimating network bandwidth applied to a server, which further includes:
- the training the network bandwidth estimation model based on the above data includes:
- model training is performed separately to obtain multiple network bandwidth estimation models.
- Example 10 provides a device for estimating network bandwidth configured on a client, including:
- the test data acquisition module is configured to send a bandwidth test file to the server, and respectively acquire network status parameters before and after sending the bandwidth test file, wherein the volume of the bandwidth test file is less than a preset file volume threshold;
- the first bandwidth estimation module is configured to determine the first network bandwidth and the second network bandwidth based on the network state parameters and the volume of the bandwidth test file;
- the second bandwidth estimation module is configured to input the network state parameters, the first network bandwidth and the second network bandwidth into the latest network bandwidth estimation model to obtain a target network bandwidth estimation result;
- the latest network bandwidth estimation model is based on the network status parameters, the first network bandwidth, the second network bandwidth and the target network bandwidth estimation results corresponding to the previous network bandwidth estimation process Models determined by machine learning for actual network bandwidth.
- Example 11 provides a device for estimating network bandwidth configured on a client, which further includes:
- the second bandwidth estimation module is set to:
- the target network bandwidth estimation model that matches the parameter value range where the value is located in the current latest network bandwidth estimation model
- Example 12 provides a device for estimating network bandwidth configured on a client, which further includes:
- the first bandwidth estimation module includes a first bandwidth estimation submodule and a second bandwidth estimation submodule
- the first bandwidth estimation submodule is configured to determine the first network bandwidth according to the volume of the bandwidth test file and the round-trip delay of data transmission in the network state parameters;
- the second bandwidth estimation sub-module is configured to input the network state parameters into a preset offline bandwidth prediction model to obtain the second network bandwidth.
- Example 13 provides a device for estimating network bandwidth configured on a client, which further includes:
- test data acquisition module can also be configured to: send the bandwidth test file to the server when entering the editing interface of the video data to be uploaded.
- Example Fourteen provides a device for estimating network bandwidth configured on a client, which further includes:
- the device for estimating network bandwidth further includes:
- the bandwidth estimation model acquisition module is configured to acquire the latest network bandwidth estimation model from the server after sending the bandwidth test file to the server.
- Example 15 provides a device for estimating network bandwidth configured on a client, further comprising:
- the device for estimating network bandwidth further includes:
- the parameter upload interface module is configured to, in each network bandwidth estimation process, obtain the network status parameters, the calculated first network bandwidth and the second network bandwidth, and the target network bandwidth estimation results corresponding to The actual network bandwidth is sent to the server, so that the server can train and update the network bandwidth estimation model according to the received data.
- Example 16 provides a device for estimating network bandwidth configured on a client, which further includes:
- the network bandwidth estimation model includes a neural network model and a weight parameter model.
- Example 17 provides a device for estimating network bandwidth configured on the server side, including:
- Model training sample acquisition module set to obtain the process of each network bandwidth estimation of the client , the collected network state parameters, the calculated first network bandwidth and second network bandwidth, and the actual network bandwidth corresponding to the target network bandwidth estimation result are used as model training sample data;
- a model training module configured to train a network bandwidth estimation model based on the model training sample data
- the bandwidth estimating module is configured to send the trained network bandwidth estimating model to the client, so that the client can estimate and obtain a target network bandwidth estimating result based on the network bandwidth estimating model.
- Example 18 provides a network bandwidth estimation device configured on the server side, further comprising:
- the model training module is set to:
- model training is performed separately to obtain multiple network bandwidth estimation models.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开提供了一种网络带宽预估方法、装置、电子设备及存储介质,其中,应用于客户端的方法包括:向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数,带宽测试文件的体积小于预设文件体积阈值;基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽;将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果。
Description
本申请要求在2022年02月08日提交中国专利局、申请号为202210117416.6的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
本公开涉及数据通信技术领域,例如涉及一种网络带宽预估方法、装置、电子设备及存储介质。
在用户发布视频的过程中,视频应用平台会对视频进行编辑和处理并将视频最终上传发布到服务端。其中,视频的编辑通常会采用动态编码的策略,根据上传网络带宽的预测结果确定视频的编码策略,从而使视频发布过程流畅,提升用户在视频上传过程中的体验。
为了探测上传网络带宽,需要在正式视频上传前发送测速数据,且测速数据的数据量较小。但是,小数据量的上传测速会受到传输层协议的限制,测速结果不准确,导致确定的视频编码策略并不是最优策略。由于视频不同的编码策略,会有不同编码时长和上传时长,会影响视频上传过程中的用户体验,甚至会影响视频的观看体验。
发明内容
本公开提供了一种网络带宽预估方法、装置、电子设备及存储介质,能够实现提升网络测速结果的准确性,以更好地为待上传视频匹配更佳的视频编码策略,提升用户视频上传的体验感。
本公开实施例提供了一种网络带宽预估方法,应用于客户端,该方法包括:
向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数,其中,所述带宽测试文件的体积小于预设文件体积阈值;
基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽;
将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果;
其中,所述当前最新的网络带宽预估模型是基于历次网络带宽预估过程中
的所述网络状态参数、所述第一网络带宽、所述第二网络带宽以及目标网络带宽预估结果对应的实际网络带宽进行机器学习确定的模型。
本公开实施例还提供了一种网络带宽预估方法,应用于服务端,该方法包括:
获取客户端在每一次网络带宽预估的过程中,采集到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据;
基于所述模型训练样本数据训练网络带宽预估模型;
将训练得到的网络带宽预估模型发送至客户端,以使所述客户端基于所述网络带宽预估模型,预估得到目标网络带宽预估结果。
本公开实施例还提供了一种网络带宽预估装置,配置于客户端,该装置包括:
测试数据获取模块,设置为向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数,其中,所述带宽测试文件的体积小于预设文件体积阈值;
第一带宽预估模块,设置为基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽;
第二带宽预估模块,设置为将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果;
其中,所述当前最新的网络带宽预估模型是基于历次网络带宽预估过程中的所述网络状态参数、所述第一网络带宽、所述第二网络带宽以及目标网络带宽预估结果对应的实际网络带宽进行机器学习确定的模型。
本公开实施例还提供了一种网络带宽预估装置,配置于服务端,该装置包括:
模型训练样本获取模块,设置为获取客户端在每一次网络带宽预估的过程中,采集到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据;
模型训练模块,设置为基于所述模型训练样本数据训练网络带宽预估模型;
带宽预估模块,设置为将训练得到的网络带宽预估模型发送至客户端,以使所述客户端基于所述网络带宽预估模型,预估得到目标网络带宽预估结果。
本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,设置为存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例任一所述的网络带宽预估方法。
本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例任一所述的网络带宽预估方法。
图1为本公开实施例一所提供的一种应用于客户端的网络带宽预估方法的流程示意图;
图2为本公开实施例二所提供的一种应用于客户端的网络带宽预估方法的流程示意图;
图3为本公开实施例三所提供的一种应用于客户端的网络带宽预估方法的流程示意图;
图4为本公开实施例四所提供的一种应用于客户端的网络带宽预估方法的流程示意图;
图5为本公开实施例五所提供的一种应用于服务端的网络带宽预估方法的流程示意图;
图6为本公开实施例六所提供的一种配置于客户端的网络带宽预估装置的结构示意图;
图7为本公开实施例七所提供的一种配置于服务端的网络带宽预估装置的结构示意图;
图8为本公开实施例八所提供的一种电子设备的结构示意图。
下面将参照附图描述本公开的实施例。虽然附图中显示了本公开的一些实施例,然而本公开可以通过多种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了理解本公开。本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
本公开的方法实施方式中记载的多个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。
本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,除非在上下文另有指出,否则应该理解为“一个或多个”。
实施例一
图1为本公开实施例一所提供的一种应用于客户端的网络带宽预估方法的流程示意图,本公开实施例适用于快速测试网络带宽的场景,例如适用于在用户上传视频之前进行带宽预测,以确定视频动态编码策略的情形。该方法可以由配置于客户端的网络带宽预估装置来执行,该装置可以通过软件和/或硬件的形式实现,该装置可配置于电子设备中,例如配置于移动终端或服务器设备中。
如图1所示,本实施例提供的应用于客户端的网络带宽预估方法,包括以下步骤。
S110、向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数。
当用户通过一些社交媒体应用或是短视频应用发布视频时,会对视频进行编辑、处理并最后完成上传发布。相应的,应用客户端在上传视频的过程中,为了提高用户在上传过程中的体验,会对编辑好的待发布视频进行编码压缩。其中,编码压缩的策略是根据客户端对上传网络带宽状况进行预测的结果,确定的动态的编码策略。
在用户触发视频上传之后,为了预估上传网络带宽,客户端会在待发布视频上传前发送测速数据。即客户端与服务端建立测速连接,并向服务端发送带宽测试文件。其中,带宽测试文件本身是数据量非常小的文件,带宽测试文件的体积小于预设文件体积阈值,且文件内容不包含实质内容信息,因此,可以实现快速的上传以及测速。
在客户端与服务端建立测速连接后,可以获取一次链路的网络状态参数;在测速文件上传之后,再获取一次链路的网络状态参数,从而分别获取发送带宽测试文件前后的网络状态参数。示例性的,网络状态参数的获取方式可以为
通过socket端口及相关协议获取。网络状态参数包括丢包率、数据包从客户端到服务器之间的往返时间(round-trip time,RTT)等能够反映网络状态的参数。第一次获取到的网络状态参数的置信度不高,在数值有较大波动时,可以作为网络状态的一个参考。
S120、基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽。
第一网络带宽是指通过常规的网络测速方式确定的网络带宽数值,即根据带宽测试文件的体积和网络状态参数中的数据传输往返时延确定第一网络带宽,例如,可以用带宽测试文件的体积除以上传该带宽测试文件消耗的时长,得到相应的第一网络带宽数值,其中,上传该带宽测试文件消耗的时长是根据网络状态参数中数据确定的。
第二网络带宽是将网络状态参数输入到预设离线带宽预测模型中,得到第二网络带宽。预设离线带宽预测模型可以是基于数学的建模公式(The Mathis et.al.Formula)或延迟带宽积公式等带宽估计模型。
本实施例中,考虑到上传的带宽测试文件数据量的较小,受到传输协议的限制,部分收集到的网络状态参数可能存在误差,第一网络带宽结果会与真实的带宽有一定的误差;由于网络状态参数可能存在误差,也会使得基于预设离线带宽预测模型的预测带宽也存在相应的误差,第二网络带宽的准确度也有待提升。因此,也并没有将第一网络带宽与第二网络带宽直接作为最终的网络带宽预估结果,还要经过步骤S130来确定最终的网络带宽预估结果。
S130、将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果。
网络带宽预估模型为机器学习模型,是基于在历次视频上传过程中,采集到的网络状态参数、基于带宽测试文件的体积与上传该带宽测试文件消耗的时长通过常规计算确定的网络带宽值(第一网络带宽)、基于预设的离线带宽预测模型确定的网络带宽预估结果(第二网络带宽)以及对应的实际网络带宽进行学习生成的模型。网络带宽预估模型可以预先配置于客户端中。
网络带宽预估模型可以是神经网络模型,也可以是权重参数模型。其中,权重参数模型是指经过机器学习的网络带宽预估模型是一个优化的函数,在该优化的函数中包括多个输入数据的权重值,可以基于对应的权重值最终计算出目标网络带宽预估结果。
在本实施例中,经过网络带宽预估模型的分析计算,最终可以得到一个经过优化的目标网络带宽预估结果,相较于第一网络带宽和第二网络带宽的准确
度有所提升。
本公开实施例的技术方案,可以通过向服务端发送体积较小的带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数;基于网络状态参数和带宽测试文件的体积,确定第一网络带宽和第二网络带宽;将网络状态参数、第一网络带宽和第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果,即通过预先训练好的网络带宽预估模型,综合分析网络状态参数以及不同方式计算确定的网络带宽值,最终输出一个目标网络带宽预估结果。本公开实施例的技术方案解决了采用小文件导致网络测速结果不准确的问题,实现了提升网络测速结果的准确性,以更好的为待上传视频匹配更佳的视频编码策略,提升用户视频上传的体验感。
实施例二
本公开实施例与上述实施例中所提供的应用于客户端的网络带宽预估方法中多个可选方案可以结合。本实施例所提供的应用于客户端的网络带宽预估方法,描述了根据网络状态参数选择更加适宜的网络带宽预估模型,并进行网络带宽预估的过程。
图2为本公开实施例二所提供的一种应用于客户端的网络带宽预估方法的流程示意图。如图2所示,本实施例提供的应用于客户端的网络带宽预估方法,包括以下步骤。
S210、向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数。
S220、基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽。
S230、根据所述网络状态参数中预设参数项的数值,确定当前最新的网络带宽预估模型中,与所述数值所在参数数值区间匹配的目标网络带宽预估模型。
在本实施例中,当前最新的网络带宽预估模型包括一组模型,在该模型组中的每个模型是与网络状态参数的数值所在的参数数值区间相匹配的。例如,在模型训练的过程中,为了提高模型输出结果的准确度,根据模型训练样本中网络状态参数的数值将模型训练样本进行分组操作,从而得到多个模型训练样本组。例如,根据RTT的数值将模型训练样本分成三组,RTT值小于50毫秒的网络状态参数为一组,RTT值介于50毫秒和200毫秒的网络状态参数为一组,RTT值大于200毫秒的网络状态参数为一组。分别基于每一个模型训练样本组的样本进行模型的训练,最终得到多个网络带宽预估模型。每个网络带宽预估模型都与其对应的预设参数项的数值区间的网络带宽测试数据有更佳的适配
度,能够得到更优的结果。
S240、将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到所述目标网络带宽预估模型中,得到目标网络带宽预估结果。
在确定了与采集到的网络状态参数以及计算得到的第一网络带宽、第二网络带宽相匹配的目标网络带宽预估模型之后,直接把网络状态参数、第一网络带宽和第二网络带宽输入到目标网络带宽预估模型中,即可得到目标网络带宽预估结果。
由于目标网络带宽预估模型是根据网络状态参数数值细分后匹配的网络带宽预估模型,模型输出结果的准确度能够有一定程度的提升,从而使网络带宽预测结果的准确度更高。
本公开实施例的技术方案,通过向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数;基于网络状态参数和带宽测试文件的体积,确定第一网络带宽和第二网络带宽;根据网络状态参数的数值,匹配与该组网络状态参数匹配的目标网络带宽预估模型,将网络状态参数、第一网络带宽和第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果,即通过预先训练好的网络带宽预估模型,综合分析网络状态参数以及不同方式计算确定的网络带宽值,最终输出一个目标网络带宽预估结果。本公开实施例的技术方案解决了采用小文件导致网络测速结果不准确的问题,实现了提升网络测速结果的准确性,以更好的为待上传视频匹配更佳的视频编码策略,提升用户视频上传体验感。
实施例三
本公开实施例与上述实施例中所提供的应用于客户端的网络带宽预估方法中多个可选方案可以结合。本实施例所提供的应用于客户端的网络带宽预估方法,描述了从服务端动态的获取最新的网络带宽预估模型,并进行网络带宽预估的过程。
图3为本公开实施例三所提供的一种应用于客户端的网络带宽预估方法的流程示意图。
如图3所示,本实施例提供的应用于客户端的网络带宽预估方法,包括以下步骤。
S310、向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数。
S320、基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽。
S330、从所述服务端获取所述当前最新的网络带宽预估模型。
在本实施例中,网络带宽预估模型并非是预先配置于客户端的,是在进行网络带宽预估的过程中,从服务端获取到的。
步骤S330的执行顺序并没有严格的限定于S320之后,步骤S330可以在步骤S310或S320执行的前、后执行,以获取网络带宽预估模型。即只要在步骤S340用到网络带宽预估模型之前获取到当前最新的网络带宽预估模型,即可。
之所以要从服务端获取网络带宽预估模型,是因为随着新的模型训练样本的产生,该模型是在服务端不断地进行迭代更新的。相较于预先配置在客户端,网络带宽预估模型的更新效率更高,且对于客户端的内存配置更加友好。
此外,还可以为获取到的网络带宽预估模型设定一个有效期限,若下一次预估网络带宽与当前次预估网络带宽的时间间隔在该有限期限内,可以无需再次向服务端获取网络带宽预估模型。
S340、将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果。
在一种可选的实施方式中,在每一次网络带宽预估的过程中,可以通过预先设置的数据传输接口,将客户端获取到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽发送到服务端,以使服务端根据接收到的数据进行网络带宽预估模型的训练和更新。
本公开实施例的技术方案,通过向服务端发送体积较小的带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数;基于网络状态参数和带宽测试文件的体积,确定第一网络带宽和第二网络带宽;并且,从服务端获取当前最新的网络带宽预估模型,将网络状态参数、第一网络带宽和第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果,即通过预先训练好的网络带宽预估模型,综合分析网络状态参数以及不同方式计算确定的网络带宽值,最终输出一个目标网络带宽预估结果。本公开实施例的技术方案解决了采用小文件导致网络测速结果不准确的问题,实现了提升网络测速结果的准确性,以更好的为待上传视频匹配更佳的视频编码策略,提升用户视频上传体验感。
实施例四
本公开实施例是基于上述实施例中所提供的应用于客户端的网络带宽预估方法中多个可选方案的可选实施方式,可以与多个可选方案进行结合。本实施例所提供的应用于客户端的网络带宽预估方法,描述了进行网络带宽测试的时
机,并进行网络带宽预估的过程。
图4为本公开实施例四所提供的一种应用于客户端的网络带宽预估方法的流程示意图。
如图4所示,本实施例提供的应用于客户端的网络带宽预估方法,包括以下步骤。
S410、在进入待上传视频数据的编辑界面时,向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数。
在本实施例中,当用户进行待上传视频数据的编辑时,就提前向服务端发送带宽测试文件,开始进行网络带宽预估。而不再等待用户触发待上传视频的上传操作。那么,等到用户触发视频上传的操作时,便可以根据网络带宽预估的结果确定待上传视频的编码策略,这样可以减少整个视频上传过程的时间,使视频上传过程得到优化,从而提升用户体验。
在进入待上传视频数据的编辑界面时,便可以在客户端与服务端间建立测速连接,获取一次链路的网络状态参数。在测速文件上传之后,可以再获取一次链路的网络状态参数,从而分别获取发送带宽测试文件前后的网络状态参数。
S420、基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽。
第一网络带宽是指通过常规的网络测速方式确定的网络带宽数值,即根据带宽测试文件的体积和网络状态参数中的数据传输往返时延确定第一网络带宽,例如,可以用带宽测试文件的体积除以上传该带宽测试文件消耗的时长,得到相应的第一网络带宽数值。
第二网络带宽是将网络状态参数输入到预设离线带宽预测模型中,得到第二网络带宽。预设离线带宽预测模型可以是基于数学的建模公式或延迟带宽积公式等带宽估计模型。
S430、从所述服务端获取所述当前最新的网络带宽预估模型。
网络带宽预估模型并非是预先配置于客户端的,是在进行网络带宽预估的过程中,从服务端获取到的。该模型是在服务端不断地进行迭代更新的。
S440、根据所述网络状态参数中预设参数项的数值,确定所述当前最新的网络带宽预估模型中,与所述数值所在参数数值区间匹配的目标网络带宽预估模型。
当前最新的网络带宽预估模型包括一组模型,在该模型组中的每个模型是与网络状态参数的数值所在的参数数值区间相匹配的。也就是说,在网络带宽
预估过程中,选取的目标网络带宽预估模型是经过细分的模型,更能够得到准确度更高的网络带宽预估结果。
S450、将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到所述目标网络带宽预估模型中,得到目标网络带宽预估结果。
网络带宽预估模型是基于历次网络带宽预估过程中的所述网络状态参数、所述第一网络带宽、所述第二网络带宽以及对应的实际网络带宽进行机器学习确定的模型,例如可以是神经网络模型,也可以是权重参数模型。将网络状态参数、第一网络带宽和第二网络带宽输入到目标网络带宽预估模型中,便可以得到目标网络带宽预估结果。
此外,在每一次网络带宽预估的过程中,可以通过预先设置的数据传输接口,将客户端获取到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽发送到服务端,以使服务端根据接收到的数据进行网络带宽预估模型的训练和更新。
本公开实施例的技术方案,通过将进行网络带宽预估的时机提前,在用户编辑待上传视频时,开启网络带宽预估的流程,向服务端发送体积较小的带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数;基于网络状态参数和带宽测试文件的体积,确定第一网络带宽和第二网络带宽;并且,从服务端获取当前最新的网络带宽预估模型,将网络状态参数、第一网络带宽和第二网络带宽输入到与网络状态参数数值所在参数区间匹配的最新的网络带宽预估模型中,得到目标网络带宽预估结果,即通过预先训练好的网络带宽预估模型,综合分析网络状态参数以及不同方式计算确定的网络带宽值,最终输出一个目标网络带宽预估结果。本公开实施例的技术方案解决了采用小文件导致网络测速结果不准确的问题,实现了提升网络测速结果的准确性,以更好的为待上传视频匹配更佳的视频编码策略,提升用户视频上传体验感。
实施例五
图5为本公开实施例五所提供的一种应用于服务端的网络带宽预估方法的流程示意图,本公开实施例适用于快速测试网络带宽的场景,训练网络带宽预估模型,特别是在用户上传视频之前进行带宽预测,以确定视频动态编码策略的情形。该方法可以由配置于服务端的网络带宽预估装置来执行,该装置可以通过软件和/或硬件的形式实现,该装置可配置于电子设备中,例如配置于移动终端或服务器设备中。
如图5所示,本实施例提供的应用于服务端的网络带宽预估方法,包括以下步骤。
S510、获取客户端在每一次网络带宽预估的过程中,采集到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据。
在客户端进行网络带宽预估的过程中,会将采集到的网络状态参数,以及在带宽预估的过程中计算得到的中间带宽预估数值,以及与最终网络带宽预估结果对应的实际网络带宽数值均上传到服务端,作为服务端进行网络带宽预估模型的训练样本。
网络状态参数是客户端在向服务端发送测速文件上传之前以及之后,分别获取的网络测速链路的网络状态参数。网络状态参数可以包括丢包率、带宽测试文件从客户端到服务器之间的往返时间(round-trip time,RTT)等能够反映网络状态的参数。第一网络带宽是客户端根据常规的网络测速方式确定的网络带宽数值,即根据带宽测试文件的体积和网络状态参数中的数据传输往返时延确定第一网络带宽,例如,可以用带宽测试文件的体积除以RTT再乘以二,得到相应的第一网络带宽数值。第二网络带宽是客户端将网络状态参数输入到预设离线带宽预测模型中,得到第二网络带宽。预设离线带宽预测模型可以是基于数学的建模公式或延迟带宽积公式等带宽估计模型。
S520、基于所述模型训练样本数据训练网络带宽预估模型。
在本实施例中是通过机器学习的方式训练网络带宽预估模型的。训练过程中,可以以模型训练要解决的问题选择一个合适的模型,模型相当于是一组函数的集合。模型本身可以有不同的结构,例如,线性拟合模型、非线性拟合模型、以及神经网络模型等。设定一个损失函数(Loss Function)以衡量模型的好坏。基于模型训练样本数据的多个轮次的模型训练,可以找出“最好”的函数,即得到最终的网络带宽预估模型。
在一种可选的实施方式中,在进行模型训练时,根据网络状态参数中预设参数项的数值将多个模型训练样本数据进行分组;基于分组后的模型训练样本参数分别进行模型训练,得到多个网络带宽预估模型。每个网络带宽预估模型都与其对应的预设参数项的数值区间的网络带宽测试数据有更佳的适配度,能够得到更优的结果。
S530、将训练得到的网络带宽预估模型发送至客户端,以使所述客户端基于所述网络带宽预估模型,预估得到目标网络带宽预估结果。
本公开实施例的技术方案,通过使用从客户端获取到的网络状态参数、客户端计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据,训练得到目标网络带宽预估模
型,可以综合分析网络状态参数以及不同方式计算确定的网络带宽值,最终输出一个目标网络带宽预估结果。并将训练得到的模型发送到客户端用于网络带宽预估。本公开实施例的技术方案解决了采用小文件导致网络测速结果不准确的问题,实现了提升网络测速结果的准确性,以更好的为待上传视频匹配更佳的视频编码策略,提升用户视频上传体验感。
实施例六
图6为本公开实施例六所提供的一种配置于客户端的网络带宽预估装置的结构示意图。本实施例提供的配置于客户端的网络带宽预估装置适用于快速测试网络带宽的场景,特别是在用户上传视频之前进行带宽预测,以确定视频动态编码策略的情形。
如图6所示,配置于客户端的网络带宽预估装置包括:测试数据获取模块610、第一带宽预估模块620和第二带宽预估模块630。
测试数据获取模块610,设置为向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数,其中,所述带宽测试文件的体积小于预设文件体积阈值;第一带宽预估模块620,设置为基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽;第二带宽预估模块630,设置为将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果;其中,所述当前最新的网络带宽预估模型是基于历次网络带宽预估过程中的所述网络状态参数、所述第一网络带宽、所述第二网络带宽以及目标网络带宽预估结果对应的实际网络带宽进行机器学习确定的模型。
本公开实施例的技术方案,通过向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数;基于网络状态参数和带宽测试文件的体积,确定第一网络带宽和第二网络带宽;将网络状态参数、第一网络带宽和第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果,即通过预先训练好的网络带宽预估模型,综合分析网络状态参数以及不同方式计算确定的网络带宽值,最终输出一个目标网络带宽预估结果。本公开实施例的技术方案解决了采用小文件导致网络测速结果不准确的问题,实现了提升网络测速结果的准确性,以更好的为待上传视频匹配更佳的视频编码策略,提升用户视频上传的体验感。
在一些可选的实现方式中,所述第二带宽预估模块630是设置为:
根据所述网络状态参数中预设参数项的数值,确定所述当前最新的网络带宽预估模型中,与所述数值所在参数数值区间匹配的目标网络带宽预估模型;
将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到所述目标网络带宽预估模型中,得到目标网络带宽预估结果。
在一些可选的实现方式中,所述第一带宽预估模块620包括第一带宽预估子模块和第二带宽预估子模块;
第一带宽预估子模块,设置为根据所述带宽测试文件的体积和所述网络状态参数中的数据传输往返时延确定所述第一网络带宽;
第二带宽预估子模块,设置为将所述网络状态参数输入到预设离线带宽预测模型中,得到所述第二网络带宽。
在一些可选的实现方式中,测试数据获取模块610是设置为:在进入待上传视频数据的编辑界面时,向所述服务端发送带宽测试文件。
在一些可选的实现方式中,网络带宽预估装置还包括:
带宽预估模型获取模块,设置为在所述向服务端发送带宽测试文件之后,从所述服务端获取所述当前最新的网络带宽预估模型。
在一些可选的实现方式中,网络带宽预估装置还包括:
参数上传接口模块,设置为在每一次网络带宽预估的过程中,将获取到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与所述目标网络带宽预估结果对应的实际网络带宽发送到所述服务端,以使所述服务端根据接收到的数据进行网络带宽预估模型的训练和更新。
在一些可选的实现方式中,所述网络带宽预估模型包括神经网络模型和权重参数模型。
本公开实施例所提供的配置于客户端的网络带宽预估装置,可执行本公开任意实施例所提供的应用于客户端的网络带宽预估方法,具备执行方法相应的功能模块和效果。
上述装置所包括的多个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,多个功能单元的名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
实施例七
图7为本公开实施例七所提供的一种配置于服务端的网络带宽预估装置的结构示意图。本实施例提供的配置于服务端的网络带宽预估装置,描述了在服务端进行网络带宽预估模型的训练的过程。
如图7所示,配置于服务端的网络带宽预估装置包括:模型训练样本获取模块710、模型训练模块720和带宽预估模块730。
模型训练样本获取模块710,设置为获取客户端在每一次网络带宽预估的过程中,采集到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据;模型训练模块720,设置为基于所述模型训练样本数据训练网络带宽预估模型;带宽预估模块730,设置为将训练得到的网络带宽预估模型发送至客户端,以使所述客户端基于所述网络带宽预估模型,预估得到目标网络带宽预估结果。
本公开实施例的技术方案,通过使用从客户端获取到的网络状态参数、客户端计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据,训练得到目标网络带宽预估模型,可以综合分析网络状态参数以及不同方式计算确定的网络带宽值,最终输出一个目标网络带宽预估结果。并将训练得到的模型发送到客户端用于网络带宽预估。本公开实施例的技术方案解决了采用小文件导致网络测速结果不准确的问题,实现了提升网络测速结果的准确性,以更好的为待上传视频匹配更佳的视频编码策略,提升用户视频上传的体验感。
在一些可选的实现方式中,所述模型训练模块720是设置为:
根据所述网络状态参数中预设参数项的数值将多个模型训练样本数据进行分组;
基于分组后的模型训练样本参数分别进行模型训练,得到多个网络带宽预估模型。
本公开实施例所提供的配置于服务端的网络带宽预估装置,可执行本公开任意实施例所提供的应用于服务端的网络带宽预估方法,具备执行方法相应的功能模块和效果。
上述装置所包括的多个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,多个功能单元的名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
实施例八
下面参考图8,其示出了适于用来实现本公开实施例的电子设备(例如图8中的终端设备或服务器)800的结构示意图。本公开实施例中的终端设备可以包括诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,PDA)、平板电脑(Portable Android Device,PAD)、便携式多媒体播放器(Portable Multimedia Player,PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字电视(television,TV)、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使
用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,处理装置801可以根据存储在只读存储器(Read-Only Memory,ROM)802中的程序或者从存储装置808加载到随机访问存储器(Random Access Memory,RAM)803中的程序而执行多种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的多种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(Input/Output,I/O)接口805也连接至总线804。
以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(Liquid Crystal Display,LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有多种装置的电子设备800,但是并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的应用于客户端或服务端的网络带宽预估方法中限定的上述功能。
本公开实施例提供的电子设备与上述实施例提供的应用于客户端或服务端的网络带宽预估方法属于同一构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的效果。
实施例九
本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例所提供的应用于客户端或服务端的网络带宽预估方法。
本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质可以包括:具有一个或多个导线的电连接、便携式计算机磁
盘、硬盘、RAM、ROM、可擦式可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、闪存(FLASH)、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括:电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如超文本传输协议(HyperText Transfer Protocol,HTTP)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数,其中,所述带宽测试文件的体积小于预设文件体积阈值;
基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽;
将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果;
其中,所述当前最新的网络带宽预估模型是基于历次网络带宽预估过程中的所述网络状态参数、所述第一网络带宽、所述第二网络带宽以及目标网络带宽预估结果对应的实际网络带宽进行机器学习确定的模型。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多
个程序被该电子设备执行时,使得该电子设备:
获取客户端在每一次网络带宽预估的过程中,采集到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据;
基于所述模型训练样本数据训练网络带宽预估模型;
将训练得到的网络带宽预估模型发送至客户端,以使所述客户端基于所述网络带宽预估模型,预估得到目标网络带宽预估结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括LAN或WAN—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开多种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元、模块的名称在一种情况下并不构成对该单元、模块本身的限定,例如,数据生成模块还可以被描述为“视频数据生成模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific
Integrated Circuit,ASIC)、专用标准产品(Application Specific Standard Parts,ASSP)、片上系统(System on Chip,SOC)、复杂可编程逻辑设备(Complex Programmable Logic Device,CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM、快闪存储器、光纤、便捷式CD-ROM、光学储存设备、磁储存设备、或上述内容的任何合适组合。存储介质可以是非暂态(non-transitory)存储介质。
根据本公开的一个或多个实施例,【示例一】提供了一种应用于客户端的网络带宽预估方法,该方法包括:
向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数,其中,所述带宽测试文件的体积小于预设文件体积阈值;
基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽;
将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果;
其中,所述当前最新的网络带宽预估模型是基于历次网络带宽预估过程中的所述网络状态参数、所述第一网络带宽、所述第二网络带宽以及目标网络带宽预估结果对应的实际网络带宽进行机器学习确定的模型。
根据本公开的一个或多个实施例,【示例二】提供了一种应用于客户端的网络带宽预估方法,还包括:
在一些可选的实现方式中,所述将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽模型中,得到目标网络带宽预估结果,包括:
根据所述网络状态参数中预设参数项的数值,确定所述当前最新的网络带宽预估模型中,与所述数值所在参数数值区间匹配的目标网络带宽预估模型;
将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到所述目标网络带宽预估模型中,得到目标网络带宽预估结果。
根据本公开的一个或多个实施例,【示例三】提供了一种应用于客户端的
网络带宽预估方法,包括:
在一些可选的实现方式中,所述基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽,包括:
根据所述带宽测试文件的体积和所述网络状态参数中的数据传输往返时延确定所述第一网络带宽;
将所述网络状态参数输入到预设离线带宽预测模型中,得到所述第二网络带宽。
根据本公开的一个或多个实施例,【示例四】提供了一种应用于客户端的网络带宽预估方法,还包括:
在一些可选的实现方式中,所述向服务端发送带宽测试文件,包括:
在进入待上传视频数据的编辑界面时,向所述服务端发送带宽测试文件。
根据本公开的一个或多个实施例,【示例五】提供了一种应用于客户端的网络带宽预估方法,还包括:
在一些可选的实现方式中,在向服务端发送带宽测试文件之后,所述方法还包括:
从所述服务端获取所述当前最新的网络带宽预估模型。
根据本公开的一个或多个实施例,【示例六】提供了一种应用于客户端的网络带宽预估方法,还包括:
在一些可选的实现方式中,在每一次网络带宽预估的过程中,将获取到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与所述目标网络带宽预估结果对应的实际网络带宽发送到所述服务端,以使所述服务端根据接收到的数据进行网络带宽预估模型的训练和更新。
根据本公开的一个或多个实施例,【示例七】提供了一种应用于客户端的网络带宽预估方法,还包括:
在一些可选的实现方式中,所述网络带宽预估模型包括神经网络模型和权重参数模型。
根据本公开的一个或多个实施例,【示例八】提供了一种应用于服务端的网络带宽预估方法,该方法包括:
获取客户端在每一次网络带宽预估的过程中,采集到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据;
基于所述模型训练样本数据训练网络带宽预估模型;
将训练得到的网络带宽预估模型发送至客户端,以使所述客户端基于所述网络带宽预估模型,预估得到目标网络带宽预估结果。
根据本公开的一个或多个实施例,【示例九】提供了一种应用于服务端的网络带宽预估方法,还包括:
在一些可选的实现方式中,所述基于上述数据训练网络带宽预估模型,包括:
根据所述网络状态参数中预设参数项的数值将多个模型训练样本数据进行分组;
基于分组后的模型训练样本参数分别进行模型训练,得到多个网络带宽预估模型。
根据本公开的一个或多个实施例,【示例十】提供了一种配置于客户端的网络带宽预估装置,包括:
测试数据获取模块,设置为向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数,其中,所述带宽测试文件的体积小于预设文件体积阈值;
第一带宽预估模块,设置为基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽;
第二带宽预估模块,设置为将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果;
其中,所述当前最新的网络带宽预估模型是基于历次网络带宽预估过程中的所述网络状态参数、所述第一网络带宽、所述第二网络带宽以及目标网络带宽预估结果对应的实际网络带宽进行机器学习确定的模型。
根据本公开的一个或多个实施例,【示例十一】提供了一种配置于客户端的网络带宽预估装置,还包括:
在一些可选的实现方式中,所述第二带宽预估模块是设置为:
根据所述网络状态参数中预设参数项的数值,确定所述当前最新的网络带宽预估模型中,与所述数值所在参数数值区间匹配的目标网络带宽预估模型;
将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到所述目标网络带宽预估模型中,得到目标网络带宽预估结果。
根据本公开的一个或多个实施例,【示例十二】提供了一种配置于客户端的网络带宽预估装置,还包括:
在一些可选的实现方式中,所述第一带宽预估模块包括第一带宽预估子模块和第二带宽预估子模块;
第一带宽预估子模块,设置为根据所述带宽测试文件的体积和所述网络状态参数中的数据传输往返时延确定所述第一网络带宽;
第二带宽预估子模块,设置为将所述网络状态参数输入到预设离线带宽预测模型中,得到所述第二网络带宽。
根据本公开的一个或多个实施例,【示例十三】提供了一种配置于客户端的网络带宽预估装置,还包括:
在一些可选的实现方式中,测试数据获取模块还可设置为:在进入待上传视频数据的编辑界面时,向所述服务端发送带宽测试文件。
根据本公开的一个或多个实施例,【示例十四】提供了一种配置于客户端的网络带宽预估装置,还包括:
在一些可选的实现方式中,网络带宽预估装置还包括:
带宽预估模型获取模块,设置为在向服务端发送带宽测试文件之后,从所述服务端获取所述当前最新的网络带宽预估模型。
根据本公开的一个或多个实施例,【示例十五】提供了一种配置于客户端的网络带宽预估装置,还包括:
在一些可选的实现方式中,网络带宽预估装置还包括:
参数上传接口模块,设置为在每一次网络带宽预估的过程中,将获取到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与所述目标网络带宽预估结果对应的实际网络带宽发送到所述服务端,以使所述服务端根据接收到的数据进行网络带宽预估模型的训练和更新。
根据本公开的一个或多个实施例,【示例十六】提供了一种配置于客户端的网络带宽预估装置,还包括:
在一些可选的实现方式中,所述网络带宽预估模型包括神经网络模型和权重参数模型。
根据本公开的一个或多个实施例,【示例十七】提供了一种配置于服务端的网络带宽预估装置,包括:
模型训练样本获取模块,设置为获取客户端在每一次网络带宽预估的过程
中,采集到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据;
模型训练模块,设置为基于所述模型训练样本数据训练网络带宽预估模型;
带宽预估模块,设置为将训练得到的网络带宽预估模型发送至客户端,以使所述客户端基于所述网络带宽预估模型,预估得到目标网络带宽预估结果。
根据本公开的一个或多个实施例,【示例十八】提供了一种配置于服务端的网络带宽预估装置,还包括:
在一些可选的实现方式中,所述模型训练模块是设置为:
根据所述网络状态参数中预设参数项的数值将多个模型训练样本数据进行分组;
基于分组后的模型训练样本参数分别进行模型训练,得到多个网络带宽预估模型。
本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了多个操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了多个实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的一些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的多种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (12)
- 一种网络带宽预估方法,应用于客户端,包括:向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数,其中,所述带宽测试文件的体积小于预设文件体积阈值;基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽;将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果;其中,所述当前最新的网络带宽预估模型是基于历次网络带宽预估过程中的所述网络状态参数、所述第一网络带宽、所述第二网络带宽以及所述目标网络带宽预估结果对应的实际网络带宽进行机器学习确定的模型。
- 根据权利要求1所述的方法,其中,所述将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽模型中,得到目标网络带宽预估结果,包括:根据所述网络状态参数中预设参数项的数值,确定所述当前最新的网络带宽预估模型中,与所述数值所在参数数值区间匹配的目标网络带宽预估模型;将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到所述目标网络带宽预估模型中,得到所述目标网络带宽预估结果。
- 根据权利要求1所述的方法,其中,所述基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽,包括:根据所述带宽测试文件的体积和所述网络状态参数中的数据传输往返时延确定所述第一网络带宽;将所述网络状态参数输入到预设离线带宽预测模型中,得到所述第二网络带宽。
- 根据权利要求1所述的方法,其中,所述向服务端发送带宽测试文件,包括:在进入待上传视频数据的编辑界面的情况下,向所述服务端发送所述带宽测试文件。
- 根据权利要求1所述的方法,其中,在所述向服务端发送带宽测试文件之后,所述方法还包括:从所述服务端获取所述当前最新的网络带宽预估模型。
- 根据权利要求5所述的方法,还包括:在每一次网络带宽预估的过程中,将获取到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与所述目标网络带宽预估结果对应的实际网络带宽发送到所述服务端,以使所述服务端根据接收到的数据进行网络带宽预估模型的训练和更新。
- 一种网络带宽预估方法,应用于服务端,包括:获取客户端在每一次网络带宽预估的过程中,采集到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据;基于所述模型训练样本数据训练网络带宽预估模型;将训练得到的网络带宽预估模型发送至客户端,以使所述客户端基于所述网络带宽预估模型,预估得到目标网络带宽预估结果。
- 根据权利要求7所述的方法,其中,所述基于所述模型训练样本数据训练网络带宽预估模型,包括:根据所述网络状态参数中预设参数项的数值将多个模型训练样本数据进行分组;基于分组后的模型训练样本参数分别进行模型训练,得到多个网络带宽预估模型。
- 一种网络带宽预估装置,配置于客户端,其中,所述装置包括:测试数据获取模块,设置为向服务端发送带宽测试文件,并分别获取发送所述带宽测试文件前后的网络状态参数,其中,所述带宽测试文件的体积小于预设文件体积阈值;第一带宽预估模块,设置为基于所述网络状态参数和所述带宽测试文件的体积,确定第一网络带宽和第二网络带宽;第二带宽预估模块,设置为将所述网络状态参数、所述第一网络带宽和所述第二网络带宽输入到当前最新的网络带宽预估模型中,得到目标网络带宽预估结果;其中,所述当前最新的网络带宽预估模型是基于历次网络带宽预估过程中的所述网络状态参数、所述第一网络带宽、所述第二网络带宽以及所述目标网络带宽预估结果对应的实际网络带宽进行机器学习确定的模型。
- 一种网络带宽预估装置,配置于服务端,其中,所述装置包括:模型训练样本获取模块,设置为获取客户端在每一次网络带宽预估的过程中,采集到的网络状态参数、计算得到的第一网络带宽及第二网络带宽,以及 与目标网络带宽预估结果对应的实际网络带宽,作为模型训练样本数据;模型训练模块,设置为基于所述模型训练样本数据训练网络带宽预估模型;带宽预估模块,设置为将训练得到的网络带宽预估模型发送至客户端,以使所述客户端基于所述网络带宽预估模型,预估得到目标网络带宽预估结果。
- 一种电子设备,包括:至少一个处理器;存储装置,设置为存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-8中任一项所述的网络带宽预估方法。
- 一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8中任一项所述的网络带宽预估方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210117416.6A CN114389975B (zh) | 2022-02-08 | 2022-02-08 | 网络带宽预估方法、装置、系统、电子设备及存储介质 |
CN202210117416.6 | 2022-02-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023151528A1 true WO2023151528A1 (zh) | 2023-08-17 |
Family
ID=81205479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/074527 WO2023151528A1 (zh) | 2022-02-08 | 2023-02-06 | 网络带宽预估方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114389975B (zh) |
WO (1) | WO2023151528A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389975B (zh) * | 2022-02-08 | 2024-03-08 | 北京字节跳动网络技术有限公司 | 网络带宽预估方法、装置、系统、电子设备及存储介质 |
CN115174429B (zh) * | 2022-05-25 | 2024-04-09 | 深信服科技股份有限公司 | 网络带宽检测方法、装置、系统、设备及存储介质 |
CN114979169B (zh) * | 2022-05-27 | 2024-03-29 | 山东派盟网络科技有限公司 | 一种网络资源推送方法、装置、存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281569A (zh) * | 2013-04-10 | 2013-09-04 | 深圳康佳通信科技有限公司 | 一种面向视频传输的网络带宽检测及预测方法及系统 |
US20160337223A1 (en) * | 2014-02-04 | 2016-11-17 | Distrix Networks Ltd. | Bandwidth and latency estimation in a communication network |
CN110049357A (zh) * | 2019-05-29 | 2019-07-23 | 安徽讯飞皆成软件技术有限公司 | 一种带宽预估方法、装置、设备及存储介质 |
CN111371626A (zh) * | 2020-03-20 | 2020-07-03 | 南京大学 | 一种基于神经网络的带宽预测方法 |
CN113079045A (zh) * | 2021-03-26 | 2021-07-06 | 北京达佳互联信息技术有限公司 | 带宽分配方法、装置、服务器及存储介质 |
CN113453045A (zh) * | 2021-06-28 | 2021-09-28 | 苏州科达科技股份有限公司 | 网络带宽预测方法、系统、设备及存储介质 |
CN114389975A (zh) * | 2022-02-08 | 2022-04-22 | 北京字节跳动网络技术有限公司 | 网络带宽预估方法、装置、系统、电子设备及存储介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8107524B2 (en) * | 2001-03-30 | 2012-01-31 | Vixs Systems, Inc. | Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network |
CN102045393A (zh) * | 2010-12-14 | 2011-05-04 | 华为技术有限公司 | 一种带宽控制的方法、设备和系统 |
CN102916908B (zh) * | 2011-08-02 | 2014-03-19 | 腾讯科技(深圳)有限公司 | 网络应用中的带宽优化方法及系统 |
CN102571909B (zh) * | 2011-11-14 | 2014-04-02 | 北京安天电子设备有限公司 | 基于服务器文件夹访问量动态调整带宽的方法及装置 |
CN103001835A (zh) * | 2012-12-29 | 2013-03-27 | 电信科学技术第一研究所 | 基于数据传输的网络带宽测试方法及系统 |
CN106464942B (zh) * | 2015-03-20 | 2020-03-10 | 华为技术有限公司 | 流媒体资源的下载方法、装置和终端设备 |
US20170019310A1 (en) * | 2015-07-14 | 2017-01-19 | Waterford Institute Of Technology | Method and system for effective bandwidth estimation |
CN106302016B (zh) * | 2016-08-18 | 2019-09-10 | 成都网优力软件有限公司 | 小流量快速获取网络物理带宽的方法及系统 |
US10848537B2 (en) * | 2016-11-15 | 2020-11-24 | Google Llc | Leveraging aggregated network statistics for enhancing quality and user experience for live video streaming from mobile devices |
CN108322401B (zh) * | 2017-01-17 | 2022-01-25 | 网宿科技股份有限公司 | 网络传输拥塞的控制方法及装置 |
EP3525509B1 (en) * | 2018-02-07 | 2021-03-31 | Rohde & Schwarz GmbH & Co. KG | Method and test system for mobile network testing |
CN109150665A (zh) * | 2018-09-27 | 2019-01-04 | 视联动力信息技术股份有限公司 | 一种带宽测试方法和装置 |
CN111107629B (zh) * | 2018-10-25 | 2023-06-30 | 中兴通讯股份有限公司 | 一种5g通信方法及系统 |
CN110572297B (zh) * | 2019-08-09 | 2021-07-06 | 网宿科技股份有限公司 | 网络性能的评估方法、服务器及存储介质 |
CN110474815B (zh) * | 2019-09-23 | 2021-08-13 | 北京达佳互联信息技术有限公司 | 带宽预测方法、装置、电子设备及存储介质 |
CN111405327B (zh) * | 2020-04-03 | 2022-12-09 | 广州市百果园信息技术有限公司 | 网络带宽预测模型训练方法、视频数据播放方法及装置 |
CN111541626B (zh) * | 2020-04-21 | 2023-08-25 | 广州市百果园信息技术有限公司 | 网络带宽更新方法、装置、电子设备及存储介质 |
CN113962417A (zh) * | 2020-07-03 | 2022-01-21 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、装置、电子设备和存储介质 |
US11190597B1 (en) * | 2020-07-09 | 2021-11-30 | International Business Machines Corporation | Network bandwidth sharing |
CN112118151A (zh) * | 2020-08-28 | 2020-12-22 | 北京奇艺世纪科技有限公司 | 网络测速方法、装置、系统、电子设备及存储介质 |
CN112671606B (zh) * | 2020-12-16 | 2022-11-25 | 深圳创维数字技术有限公司 | 一种网络测速方法和装置、系统、存储介质及网关设备 |
CN113660173B (zh) * | 2021-08-16 | 2024-04-26 | 抖音视界有限公司 | 一种流量控制方法、装置、计算机设备及存储介质 |
CN113992967B (zh) * | 2021-10-25 | 2022-11-01 | 北京字节跳动网络技术有限公司 | 一种投屏数据传输方法、装置、电子设备及存储介质 |
-
2022
- 2022-02-08 CN CN202210117416.6A patent/CN114389975B/zh active Active
-
2023
- 2023-02-06 WO PCT/CN2023/074527 patent/WO2023151528A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281569A (zh) * | 2013-04-10 | 2013-09-04 | 深圳康佳通信科技有限公司 | 一种面向视频传输的网络带宽检测及预测方法及系统 |
US20160337223A1 (en) * | 2014-02-04 | 2016-11-17 | Distrix Networks Ltd. | Bandwidth and latency estimation in a communication network |
CN110049357A (zh) * | 2019-05-29 | 2019-07-23 | 安徽讯飞皆成软件技术有限公司 | 一种带宽预估方法、装置、设备及存储介质 |
CN111371626A (zh) * | 2020-03-20 | 2020-07-03 | 南京大学 | 一种基于神经网络的带宽预测方法 |
CN113079045A (zh) * | 2021-03-26 | 2021-07-06 | 北京达佳互联信息技术有限公司 | 带宽分配方法、装置、服务器及存储介质 |
CN113453045A (zh) * | 2021-06-28 | 2021-09-28 | 苏州科达科技股份有限公司 | 网络带宽预测方法、系统、设备及存储介质 |
CN114389975A (zh) * | 2022-02-08 | 2022-04-22 | 北京字节跳动网络技术有限公司 | 网络带宽预估方法、装置、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114389975A (zh) | 2022-04-22 |
CN114389975B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023151528A1 (zh) | 网络带宽预估方法、装置、电子设备及存储介质 | |
CN111277870B (zh) | 带宽预测方法、装置、服务器及存储介质 | |
WO2022127620A1 (zh) | 语音唤醒方法、装置、电子设备及存储介质 | |
WO2023165372A1 (zh) | 视频流获取方法、装置、系统、设备和介质 | |
WO2020024980A1 (zh) | 处理数据的方法和装置 | |
US20220385739A1 (en) | Method and apparatus for generating prediction information, electronic device, and computer readable medium | |
WO2023116138A1 (zh) | 多任务模型的建模方法、推广内容处理方法及相关装置 | |
CN112995712A (zh) | 卡顿因素的确定方法、装置、设备及存储介质 | |
WO2023193574A1 (zh) | 投屏方法、系统、设备及存储介质 | |
CN114861790B (zh) | 联邦学习压缩通信的优化方法、系统及装置 | |
CN113726801A (zh) | 应用于服务端的ab实验方法、装置、设备及介质 | |
CN113144620A (zh) | 帧同步游戏的检测方法、装置、平台、可读介质和设备 | |
CN111949527A (zh) | 游戏视频的测试方法、装置、设备及存储介质 | |
WO2022237427A1 (zh) | 视频处理方法、装置、设备及存储介质 | |
CN113556480B (zh) | 车辆连续运动视频生成方法、装置、设备和介质 | |
CN113271474B (zh) | 一种流媒体服务器的测试方法、装置、设备和存储介质 | |
CN112929231A (zh) | 实时语音识别服务压测方法 | |
CN113850055A (zh) | 数据处理方法、设备、存储介质及产品 | |
CN111680754A (zh) | 图像分类方法、装置、电子设备及计算机可读存储介质 | |
CN111343245A (zh) | 上传线路调度方法、装置、电子设备及可读存储介质 | |
CN112311840A (zh) | 一种多终端数据同步方法、装置、设备及介质 | |
CN112036822B (zh) | 一种基于彩绳的交互方法、装置、介质和电子设备 | |
WO2022237461A1 (zh) | 视频的预加载方法、装置、设备及存储介质 | |
CN111291254A (zh) | 信息处理方法和装置 | |
CN114900503B (zh) | 一种混音方法、装置、处理服务器、媒体服务器及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23752308 Country of ref document: EP Kind code of ref document: A1 |