CN116346743A - Bandwidth control method, device, equipment and storage medium - Google Patents
Bandwidth control method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN116346743A CN116346743A CN202310376906.2A CN202310376906A CN116346743A CN 116346743 A CN116346743 A CN 116346743A CN 202310376906 A CN202310376906 A CN 202310376906A CN 116346743 A CN116346743 A CN 116346743A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- service
- processing module
- audio
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application discloses a bandwidth control method, a device, equipment and a storage medium, wherein the method comprises the following steps: to ensure the normal operation of a plurality of services, the bandwidth state of the current network and the running plurality of services are acquired, and the priority corresponding to each service is determined. And determining the bandwidth speed limiting strategy of any one of the plurality of services according to the bandwidth state of the current network and the priority of the service. And then sending the bandwidth speed limiting strategy of the service to a processing module corresponding to the service, so that the processing module controls the bandwidth allocated by the service based on the bandwidth speed limiting strategy. By the bandwidth control method provided by the application, reasonable bandwidths can be allocated for the services with different priorities, so that each service can be guaranteed to normally operate under the current network.
Description
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a bandwidth control method, apparatus, device, and storage medium.
Background
In order to facilitate office work, a user can realize multi-person collaborative office work through a communication client, for example, the user can start an audio-video conference to facilitate communication. In order to ensure the smoothness of the audio-video conference, the communication client can prohibit a part of log reporting flow, so that more bandwidth can be reserved for the audio-video conference.
Currently, when users work cooperatively, various services can be realized through a communication client, for example, documents can be shared at the communication client, documents can be transmitted to other people, instant messaging and the like. Under such a complex multi-service collaboration scenario, the requirement of the audio and video service cannot be met only by limiting the bandwidth of the log reporting. For example, if a user needs to download a certain large-capacity file, the smoothness of an audio-video conference is affected; if enough bandwidth is reserved only for the audio-video conference, the normal use of other services can be affected.
Disclosure of Invention
In view of this, the present application provides a bandwidth control method, apparatus, device, and storage medium, so as to ensure that a plurality of services can operate normally at the same time.
In order to achieve the above purpose, the technical scheme provided by the application is as follows:
in a first aspect of the present application, there is provided a bandwidth control method, the method including:
acquiring the bandwidth state of a current network and a plurality of running services;
determining priorities corresponding to the plurality of services respectively;
determining a bandwidth speed limit strategy of the service based on the bandwidth state and the priority of the service aiming at any service in the plurality of services;
And sending the bandwidth speed limiting strategy of the service to a processing module corresponding to the service, so that the processing module controls the bandwidth allocated by the service based on the bandwidth speed limiting strategy.
In a second aspect of the present application, there is provided a bandwidth control apparatus, the apparatus comprising:
an obtaining unit, configured to obtain a bandwidth status of a current network and a plurality of running services;
a first determining unit, configured to determine priorities corresponding to the plurality of services respectively;
a second determining unit, configured to determine, for any one of the plurality of services, a bandwidth speed limit policy of the service based on the bandwidth status and a priority of the service;
and the sending unit is used for sending the bandwidth speed limiting strategy of the service to the processing module corresponding to the service so that the processing module can control the bandwidth allocated to the service based on the bandwidth speed limiting strategy.
In a third aspect of the present application, there is provided an electronic device, the device comprising: a processor and a memory;
the memory is used for storing instructions or computer programs;
the processor is configured to execute the instructions or the computer program in the memory, so that the electronic device performs the method described in the first aspect.
In a fourth aspect of the present application, there is provided a computer readable storage medium having instructions stored therein which, when run on a device, cause the device to perform the method of the first aspect described above.
In a fifth aspect of the present application, there is provided a computer program product comprising computer programs/instructions which, when executed by a processor, implement the method of the first aspect.
From this, this application has following beneficial effect:
in the above implementation manner of the present application, in order to ensure normal operation of a plurality of services, a bandwidth state of a current network and the plurality of running services may be acquired, and a priority corresponding to each service may be determined. And determining the bandwidth speed limiting strategy of any one of the plurality of services according to the bandwidth state of the current network and the priority of the service. And then sending the bandwidth speed limiting strategy of the service to a processing module corresponding to the service, so that the processing module controls the bandwidth allocated by the service based on the bandwidth speed limiting strategy. By the bandwidth control method provided by the application, reasonable bandwidths can be allocated for the services with different priorities, so that each service can be guaranteed to normally operate under the current network.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required to be used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a flowchart of a bandwidth control method provided in an embodiment of the present application;
fig. 2 is a schematic structural diagram of a communication client according to an embodiment of the present application;
fig. 3 is a schematic diagram of a bandwidth control apparatus according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the present application solution better understood by those skilled in the art, the following description will clearly and completely describe the technical solution in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
When a user is in a collaborative office, various services can be realized through the communication client, such as document sharing, document transmission to others, instant messaging and the like, can be realized at the communication client. Under such a complex multi-service collaboration scenario, the requirement of audio and video services cannot be met only by limiting the bandwidth reported by the log, and if a user needs to download a certain large-capacity file, the smoothness of an audio and video conference can be affected; if enough bandwidth is reserved only for the audio-video conference, the normal use of other services can be affected.
Based on this, the embodiment of the application provides a bandwidth control method, so as to ensure that a plurality of services can operate normally at the same time. In specific implementation, the bandwidth state of the network where the communication client is currently located and a plurality of running services in the communication client can be obtained, and the priority corresponding to each service is determined. And determining the bandwidth speed limiting strategy of any one of the plurality of services according to the bandwidth state of the current network and the priority of the service. And then sending the bandwidth speed limiting strategy of the service to a processing module corresponding to the service, so that the processing module controls the bandwidth allocated by the service based on the bandwidth speed limiting strategy. By the bandwidth control method provided by the application, reasonable bandwidths are allocated for the services with different priorities, so that each service can be guaranteed to normally operate under the current network.
In order to facilitate understanding of the technical solutions provided by the embodiments of the present application, the following description will be made with reference to the accompanying drawings.
Referring to fig. 1, fig. 1 is a flowchart of a bandwidth control method according to an embodiment of the present application.
The method may be performed by a processing device of a communication client and may comprise the steps of:
s101: the bandwidth status of the current network and the running plurality of services are obtained.
When the user performs service cooperation through the communication client, the processing equipment of the communication client can acquire the bandwidth state of the current network of the communication client and a plurality of services which are operated simultaneously, so that the normal operation of the plurality of services is ensured by adjusting the bandwidths of different services.
In one possible implementation, the bandwidth status of the current network may be determined, and the packet loss rate and the delay of the current network may be obtained, where the packet loss rate refers to the ratio of the number of lost data packets to the transmitted data set during the data transmission process. The Time delay may be expressed as Round-Trip Time (RTT), which refers to the total Time required for receiving a receiver acknowledgement message after data is transmitted from a network transmitter to a receiver. And then determining the bandwidth value of the current network based on the congestion control algorithm, the obtained packet loss rate and the time delay. The higher the packet loss rate or the longer the delay, the smaller the bandwidth value of the current network will be. The congestion control algorithm is an open source algorithm, and will not be described herein. After obtaining the bandwidth value of the current network, the bandwidth range to which the bandwidth value belongs can be determined, so that the bandwidth class of the current network is determined according to the bandwidth range. Wherein, bandwidth range and bandwidth grade have a one-to-one correspondence. Alternatively, the correspondence between the bandwidth ranges and the bandwidth levels may be predetermined, that is, different bandwidth ranges correspond to different bandwidth levels. For example, it may be set that when the bandwidth range is greater than or equal to the first threshold, the bandwidth level is the first level, i.e. has a better network bandwidth; when the bandwidth range is greater than or equal to the second threshold value and smaller than the first threshold value, the bandwidth grade is the second grade, namely the current network bandwidth is in a general state; when the bandwidth range is smaller than the second threshold, the bandwidth level is a third level, i.e. the current network bandwidth is in a poor state, wherein the first threshold is larger than the second threshold. That is, the smaller the bandwidth value, the worse the corresponding bandwidth level.
It should be noted that, the embodiment of the present application is not limited to specific values of the first threshold and the second threshold, and may be set in combination with an actual application scenario. For example, the first threshold may be set to 800kps and the second threshold 400kps. The bandwidth values in the different ranges provided in the above embodiments are only exemplary illustrations, and are not limited to specific values for dividing the bandwidth ranges.
In one possible implementation, when the audio and video service of the communication client is running, the processing module of the audio and video service may obtain the packet loss rate and the delay of the current network, and then estimate the bandwidth value of the current network according to the packet loss rate and the delay by using the congestion control algorithm. In addition, the corresponding relation between the bandwidth range and the bandwidth grade can be stored in the processing module of the audio/video service in advance, so that the processing module of the audio/video service can determine the bandwidth grade of the current network according to the calculated bandwidth value, and then the running state of the current audio/video service and the obtained bandwidth grade are sent to the processor of the communication client.
Optionally, the processing module of the audio and video service may include an audio and video service processing module and an audio and video SDK, where the SDK refers to a software development kit, and generally includes a set of development tools when application software is built for a specific software package, a software framework, a hardware platform, an operating system, and the like. The audio/video SDK can acquire the packet loss rate and the time delay of the current network, then estimate the bandwidth value of the current network according to the packet loss rate and the time delay by using a congestion control algorithm, and determine the bandwidth grade corresponding to the bandwidth value according to the corresponding relation between the bandwidth range and the bandwidth grade. That is, the correspondence between the bandwidth range and the bandwidth level may be stored in the audio/video SDK in advance. The audio and video SDK can then send the bandwidth level to an audio and video service processing module, which can send the bandwidth level and the running state of the audio and video service to a processor of the communication client. In addition, the audio and video service processing module can also determine whether a user shares a document currently, and send the running state of the shared document to the processor.
In one possible implementation, when the audio and video service is not running, a network computing module of the communication client may collect a delay, a packet loss rate, and the like of the current network, calculate a bandwidth value of the current network, determine a bandwidth class, and send the bandwidth class to a processor of the communication client.
S102: and determining the priority corresponding to each service in the plurality of services.
In this implementation, the priorities corresponding to the services may be divided according to the importance of each service to the user. For example, the priority of audio-video traffic is greater than the priority of file transfer. And then the priority corresponding to each service is prestored in a configuration file of a processor of the communication client so that the processor can determine the priority corresponding to each service after acquiring a plurality of running services.
S103: for any one of a plurality of services, a bandwidth speed limit policy for the service is determined based on the bandwidth status and the priority of the service.
When there are multiple running services in the communication client, for any running service, the bandwidth speed limit policy of the service can be determined based on the bandwidth status of the current network and the priority of the service. For example, a bandwidth limit threshold may be determined for the traffic, the bandwidth limit threshold representing the maximum bandwidth that the traffic can allocate when running, i.e., the bandwidth allocated to the traffic cannot exceed the bandwidth limit threshold. The bandwidth state of the current network, the priority of the service and the bandwidth speed limit threshold of the service have a corresponding relationship, and the corresponding relationship can be pre-stored in a configuration file of a processor of the communication client. For example, the bandwidth limit threshold corresponding to the case where the bandwidth of the current network is the first level and the priority of the service is the first priority is different from the bandwidth limit threshold corresponding to the case where the bandwidth of the current network is the first level and the priority of the service is the second priority.
According to the above embodiment, it can be known that different bandwidth values correspond to different bandwidth levels, and in this embodiment of the present application, different bandwidth speed limit thresholds of the service may be set according to the different levels of the bandwidth. For example, when the bandwidth is in a better state, the service operation requirement can be met to a higher degree, so that the bandwidth speed limit threshold corresponding to the service is set to be higher, and the bandwidth operation speed of the service is higher; when the bandwidth is in a poor state, the service operation requirement cannot be met well, so that the bandwidth speed limit threshold can be set to be lower, namely the service is controlled to be in speed limit operation to a greater extent.
S104: and sending the bandwidth speed limiting strategy of the service to a processing module corresponding to the service, so that the processing module controls the bandwidth allocated by the service based on the bandwidth speed limiting strategy.
After determining the bandwidth speed limit policy for each service, the processor of the communication client may send the bandwidth speed limit policy of the service to the processing module corresponding to the service, so that the processing module controls bandwidth allocation of the service based on the bandwidth speed limit policy. The following description will be made in connection with different service scenarios.
In one possible implementation, when the running service includes an audio-video service, the processor of the communication client may determine a first priority corresponding to the audio-video service, and then determine a first bandwidth speed limit threshold corresponding to the audio-video service based on the bandwidth status of the current network and the first priority of the audio-video service. In addition, the processor of the communication client can also determine the image resolution and the frame rate of the audio and video service according to the bandwidth state of the current network, namely, when the bandwidth level is higher, the image resolution and the frame rate of the audio and video service can be properly improved, and the smoothness and the definition of the audio and video service are ensured; when the bandwidth level is lower, the image resolution and the frame rate of the audio and video service can be properly reduced, and the smoothness of the call is ensured by reducing the definition of the video. And then the processor of the communication client can send the first bandwidth speed limiting threshold, the image resolution and the frame rate corresponding to the audio and video service to the processing module of the audio and video service, and the processing module of the audio and video service regulates and controls the bandwidth of the audio and video service according to the first bandwidth speed limiting threshold and regulates the definition of the video according to the image resolution and the frame rate. According to the above embodiment, the processing module of the audio/video service may include an audio/video service processing module and an audio/video SDK, and then the communication client may send the first bandwidth speed limit threshold, the image resolution and the frame rate to the audio/video service processing module, and then the audio/video service processing module sends the first bandwidth speed limit threshold, the image resolution and the frame rate to the audio/video SDK again, and the audio/video SDK regulates and controls the bandwidth of the audio/video service according to the first bandwidth speed limit threshold and adjusts the definition of the video according to the image resolution and the frame rate.
In one possible implementation, when the running service includes file transfer, instant messaging, or log reporting, the corresponding service processing module is a network processing module. That is, the processor of the communication client may send the bandwidth speed limit threshold corresponding to the service to the network processing module, where the network processing module regulates and controls the bandwidth of the service according to the bandwidth speed limit threshold.
In one possible implementation, when the running service includes a shared document or a buried report, the corresponding service processing module is a web page view Webview processing module. That is, the processor of the communication client may send the bandwidth limit threshold corresponding to the service to the Webview processing module, where the Webview processing module regulates the bandwidth of the service according to the bandwidth limit threshold.
Referring to fig. 2, fig. 2 is a schematic structural diagram of a communication client according to an embodiment of the present application. The communication client may include a processor 201, an audio video service processing module 202, an audio video SDK203, a network processing module 204, and a Webview processing module 205. The audio/video SDK203 may estimate a bandwidth value of the current network according to the packet loss rate and the time delay, determine a bandwidth class corresponding to the bandwidth value, and then send the bandwidth class to the audio/video service processing module 202, where the audio/video service processing module 202 may send the bandwidth class to the processor 201. The processor 201 may send the bandwidth limitation policy for the audio and video service to the audio and video service processing module 202, and then the audio and video service processing module 202 sends the bandwidth limitation policy for the audio and video service to the audio and video SDK203, where the audio and video SDK203 adjusts the audio and video service according to the bandwidth limitation policy for the audio and video service. The processor 201 may send a bandwidth limitation policy for a service such as file transmission, instant messaging, or log reporting to the network processing module 204, where the network processing module 204 adjusts the bandwidth of the service to limit the speed. The processor 201 may send a bandwidth limitation policy for services such as shared documents or embedded point reporting to the Webview processing module 205, and the Webview processing module 205 adjusts the bandwidth limit of the services.
In one possible application scenario, the priority order of different services may be set as follows: audio service > shared document > video service > instant messaging > file transfer > log reporting. In this application scenario, the services being run in the communication client include: audio service, video service, shared document, instant communication and log reporting, wherein the bandwidth level of the current network is the second level, and the processor of the communication client can find the speed limiting strategy of each service corresponding to the low bandwidth level from the configuration file: the low priority service such as log report is allocated with little bandwidth, namely the bandwidth speed limit threshold is lower; allocating medium bandwidth to instant messaging; allocating higher bandwidth to video calls and shared documents; bandwidth is not limited for audio calls. Therefore, the blocking of the audio-video conference can be reduced, the loading time of the first screen of the shared document is shortened, the simultaneous operation of a plurality of services is ensured, and the operation effect of the service with higher priority can be improved.
By the bandwidth control method provided by the embodiment of the application, reasonable bandwidths can be allocated for the services with different priorities according to the bandwidth state of the current network, so that each service can be guaranteed to normally operate under the current network.
Based on the method embodiment, the embodiment of the application also provides a bandwidth control device. Referring to fig. 3, fig. 3 is a schematic diagram of a bandwidth control apparatus according to an embodiment of the present application.
The apparatus 300 includes:
an acquiring unit 301, configured to acquire a bandwidth status of a current network and a plurality of running services;
a first determining unit 302, configured to determine priorities corresponding to the multiple services respectively;
a second determining unit 303, configured to determine, for any one of the plurality of services, a bandwidth speed limit policy of the service based on the bandwidth status and the priority of the service;
and the sending unit 304 is configured to send the bandwidth speed limiting policy of the service to a processing module corresponding to the service, so that the processing module controls the bandwidth allocated to the service based on the bandwidth speed limiting policy.
In one possible implementation, the determining of the bandwidth status includes: acquiring the packet loss rate and the time delay of the current network; determining a bandwidth value of the current network based on a congestion control algorithm, the packet loss rate and the time delay; and determining the bandwidth grade of the current network based on the bandwidth range to which the bandwidth value belongs, wherein the bandwidth range has a corresponding relation with the bandwidth grade.
In a possible implementation manner, the second determining unit 303 is specifically configured to determine a bandwidth speed limit threshold corresponding to the service based on the bandwidth status and a priority corresponding to the service, where the bandwidth status, the priority, and the bandwidth speed limit threshold have a corresponding relationship.
In a possible implementation manner, when the service is an audio/video service, the processing module corresponding to the service is an audio/video processing module, and the second determining unit 303 is specifically configured to determine, based on the bandwidth state and a first priority corresponding to the audio/video service, a first bandwidth speed limit threshold corresponding to the audio/video service, where the bandwidth state, the first priority, and the first bandwidth speed limit threshold have a corresponding relationship; and determining the image resolution and the frame rate of the audio and video service based on the bandwidth state, wherein the bandwidth state has a corresponding relation with the image resolution and the frame rate.
In one possible implementation manner, when the service is one of file transmission, instant messaging and log reporting, the processing module corresponding to the service is a network processing module.
In one possible implementation manner, when the service is a shared document or a buried point report, the processing module corresponding to the service is a web page view Webview processing module.
In one possible implementation, when the bandwidth range is greater than or equal to a first threshold, the bandwidth level is a first level; when the bandwidth range is greater than or equal to a second threshold value and less than the first threshold value, the bandwidth grade is a second grade; when the bandwidth range is smaller than the second threshold, the bandwidth level is a third level, and the first threshold is larger than the second threshold.
The beneficial effects of the bandwidth control device provided in the embodiment of the present application can be seen in the above method embodiments, and are not described herein.
It should be noted that, for specific implementation of each unit in this embodiment, reference may be made to the related description in the above method embodiment. The division of the units in the embodiment of the application is schematic, which is merely a logic function division, and other division manners may be adopted in actual implementation. Each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. For example, in the above embodiment, the processing unit and the transmitting unit may be the same unit or may be different units. The integrated units may be implemented in hardware or in software functional units.
Referring to fig. 4, a schematic diagram of an electronic device 400 suitable for use in implementing embodiments of the present application is shown. The terminal device in the embodiments of the present application may include, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 4 is only an example and should not be construed as limiting the functionality and scope of use of the embodiments herein.
As shown in fig. 4, the electronic device 400 may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 401, which may perform various suitable actions and processes according to a program stored in a Read Only Memory (ROM) 402 or a program loaded from a storage means 408 into a Random Access Memory (RAM) 403. In the RAM403, various programs and data necessary for the operation of the electronic device 400 are also stored. The processing device 401, the ROM 402, and the RAM403 are connected to each other by a bus 404. An input/output (I/O) interface 405 is also connected to bus 404.
In general, the following devices may be connected to the I/O interface 405: input devices 406 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 407 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 408 including, for example, magnetic tape, hard disk, etc.; and a communication device 409. The communication means 409 may allow the electronic device 400 to communicate with other devices wirelessly or by wire to exchange data. While fig. 4 shows an electronic device 400 having various means, it is to be understood that not all of the illustrated means are required to be implemented or provided. More or fewer devices may be implemented or provided instead.
In particular, according to embodiments of the present application, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program embodied on a non-transitory computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via communications device 409, or from storage 408, or from ROM 402. The above-described functions defined in the methods of the embodiments of the present application are performed when the computer program is executed by the processing means 401.
The electronic device provided in the embodiment of the present application and the method provided in the foregoing embodiment belong to the same inventive concept, and technical details not described in detail in the present embodiment can be seen in the foregoing embodiment, and the present embodiment has the same beneficial effects as the foregoing embodiment.
The present embodiment provides a computer storage medium having stored thereon a computer program which, when executed by a processor, implements the method provided by the above embodiment.
It should be noted that the computer readable medium described in the present application may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present application, however, a computer-readable signal medium may include a data signal that propagates in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, fiber optic cables, RF (radio frequency), and the like, or any suitable combination of the foregoing.
In some implementations, the clients, servers may communicate using any currently known or future developed network protocol, such as HTTP (Hyper Text Transfer Protocol ), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the internet (e.g., the internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer readable medium may be contained in the electronic device; or may exist alone without being incorporated into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to perform the method described above.
Computer program code for carrying out operations of the present application may be written in one or more programming languages, including, but not limited to, an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. 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. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units involved in the embodiments of the present application may be implemented by software, or may be implemented by hardware. Where the names of the units/modules do not constitute a limitation of the units themselves in some cases.
The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a Complex Programmable Logic Device (CPLD), and the like.
In the context of this application, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
According to one or more embodiments of the present application, there is provided a bandwidth control method, the method including:
acquiring the bandwidth state of a current network and a plurality of running services;
determining priorities corresponding to the plurality of services respectively;
determining a bandwidth speed limit strategy of the service based on the bandwidth state and the priority of the service aiming at any service in the plurality of services;
and sending the bandwidth speed limiting strategy of the service to a processing module corresponding to the service, so that the processing module controls the bandwidth allocated by the service based on the bandwidth speed limiting strategy.
According to one or more embodiments of the present application, the determining of the bandwidth status includes:
acquiring the packet loss rate and the time delay of the current network;
determining a bandwidth value of the current network based on a congestion control algorithm, the packet loss rate and the time delay;
and determining the bandwidth grade of the current network based on the bandwidth range to which the bandwidth value belongs, wherein the bandwidth range has a corresponding relation with the bandwidth grade.
According to one or more embodiments of the present application, the determining a bandwidth speed limit policy of the service based on the bandwidth status and the priority of the service includes:
And determining a bandwidth speed limit threshold corresponding to the service based on the bandwidth state and the priority corresponding to the service, wherein the bandwidth state, the priority and the bandwidth speed limit threshold have a corresponding relationship.
According to one or more embodiments of the present application, when the service is an audio/video service, the processing module corresponding to the service is an audio/video processing module, and determining a bandwidth speed limit policy of the service based on the bandwidth status and the priority of the service includes:
determining a first bandwidth speed limiting threshold corresponding to the audio and video service based on the bandwidth state and a first priority corresponding to the audio and video service, wherein the bandwidth state, the first priority and the first bandwidth speed limiting threshold have a corresponding relation;
and determining the image resolution and the frame rate of the audio and video service based on the bandwidth state, wherein the bandwidth state has a corresponding relation with the image resolution and the frame rate.
According to one or more embodiments of the present application, when the service is one of file transmission, instant messaging, and log reporting, the processing module corresponding to the service is a network processing module.
According to one or more embodiments of the present application, when the service is a shared document or a buried point report, the processing module corresponding to the service is a web page view Webview processing module.
According to one or more embodiments of the present application, when the bandwidth range is greater than or equal to a first threshold, the bandwidth level is a first level; when the bandwidth range is greater than or equal to a second threshold value and less than the first threshold value, the bandwidth grade is a second grade; when the bandwidth range is smaller than the second threshold, the bandwidth level is a third level, and the first threshold is larger than the second threshold.
According to one or more embodiments of the present application, there is provided a bandwidth control apparatus, the apparatus including:
an obtaining unit, configured to obtain a bandwidth status of a current network and a plurality of running services;
a first determining unit, configured to determine priorities corresponding to the plurality of services respectively;
a second determining unit, configured to determine, for any one of the plurality of services, a bandwidth speed limit policy of the service based on the bandwidth status and a priority of the service;
and the sending unit is used for sending the bandwidth speed limiting strategy of the service to the processing module corresponding to the service so that the processing module can control the bandwidth allocated to the service based on the bandwidth speed limiting strategy.
In one or more embodiments of the present application, the determining of the bandwidth status includes: acquiring the packet loss rate and the time delay of the current network; determining a bandwidth value of the current network based on a congestion control algorithm, the packet loss rate and the time delay; and determining the bandwidth grade of the current network based on the bandwidth range to which the bandwidth value belongs, wherein the bandwidth range has a corresponding relation with the bandwidth grade.
In one or more embodiments of the present application, the second determining unit is specifically configured to determine a bandwidth speed limit threshold corresponding to the service based on the bandwidth status and a priority corresponding to the service, where the bandwidth status, the priority, and the bandwidth speed limit threshold have a corresponding relationship.
In one or more embodiments of the present application, when the service is an audio/video service, the processing module corresponding to the service is an audio/video processing module, and the second determining unit is specifically configured to determine, based on the bandwidth state and a first priority corresponding to the audio/video service, a first bandwidth speed limit threshold corresponding to the audio/video service, where the bandwidth state, the first priority, and the first bandwidth speed limit threshold have a corresponding relationship; and determining the image resolution and the frame rate of the audio and video service based on the bandwidth state, wherein the bandwidth state has a corresponding relation with the image resolution and the frame rate.
In one or more embodiments of the present application, when the service is one of file transmission, instant messaging, and log reporting, the processing module corresponding to the service is a network processing module.
In one or more embodiments of the present application, when the service is a shared document or a buried point report, the processing module corresponding to the service is a Webview processing module.
In one or more embodiments of the present application, when the bandwidth range is greater than or equal to a first threshold, the bandwidth level is a first level; when the bandwidth range is greater than or equal to a second threshold value and less than the first threshold value, the bandwidth grade is a second grade; when the bandwidth range is smaller than the second threshold, the bandwidth level is a third level, and the first threshold is larger than the second threshold.
According to one or more embodiments of the present application, there is provided an electronic device, the device comprising: a processor and a memory;
the memory is used for storing instructions or computer programs;
the processor is configured to execute the instructions or the computer program in the memory, so that the electronic device executes the bandwidth control method.
According to one or more embodiments of the present application, there is provided a computer-readable storage medium having instructions stored therein, which when executed on a device, cause the device to perform the bandwidth control method.
It should be noted that, in the present description, each embodiment is described in a progressive manner, and each embodiment is mainly described in a different manner from other embodiments, and identical and similar parts between the embodiments are all enough to refer to each other. For the system or device disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple, and the relevant points refer to the description of the method section.
It should be understood that in this application, "at least one" means one or more, and "a plurality" means two or more. "and/or" for describing the association relationship of the association object, the representation may have three relationships, for example, "a and/or B" may represent: only a, only B and both a and B are present, wherein a, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (one) of a, b or c may represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural.
It is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software modules may be disposed in Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (10)
1. A method of bandwidth control, the method comprising:
acquiring the bandwidth state of a current network and a plurality of running services;
determining priorities corresponding to the plurality of services respectively;
determining a bandwidth speed limit strategy of the service based on the bandwidth state and the priority of the service aiming at any service in the plurality of services;
and sending the bandwidth speed limiting strategy of the service to a processing module corresponding to the service, so that the processing module controls the bandwidth allocated by the service based on the bandwidth speed limiting strategy.
2. The method of claim 1, wherein the determining of the bandwidth status comprises:
Acquiring the packet loss rate and the time delay of the current network;
determining a bandwidth value of the current network based on a congestion control algorithm, the packet loss rate and the time delay;
and determining the bandwidth grade of the current network based on the bandwidth range to which the bandwidth value belongs, wherein the bandwidth range has a corresponding relation with the bandwidth grade.
3. The method according to claim 1 or 2, wherein said determining a bandwidth limiting policy for said traffic based on said bandwidth status and a priority of said traffic comprises:
and determining a bandwidth speed limit threshold corresponding to the service based on the bandwidth state and the priority corresponding to the service, wherein the bandwidth state, the priority and the bandwidth speed limit threshold have a corresponding relationship.
4. The method of claim 1, wherein when the service is an audio/video service, the processing module corresponding to the service is an audio/video processing module, and the determining the bandwidth speed limit policy of the service based on the bandwidth status and the priority of the service includes:
determining a first bandwidth speed limiting threshold corresponding to the audio and video service based on the bandwidth state and a first priority corresponding to the audio and video service, wherein the bandwidth state, the first priority and the first bandwidth speed limiting threshold have a corresponding relation;
And determining the image resolution and the frame rate of the audio and video service based on the bandwidth state, wherein the bandwidth state has a corresponding relation with the image resolution and the frame rate.
5. The method of claim 1, wherein when the service is one of file transfer, instant messaging, and log reporting, the processing module corresponding to the service is a network processing module.
6. The method of claim 1, wherein when the service is a shared document or a buried report, the processing module corresponding to the service is a web page view Webview processing module.
7. The method of claim 2, wherein the bandwidth level is a first level when the bandwidth range is greater than or equal to a first threshold; when the bandwidth range is greater than or equal to a second threshold value and less than the first threshold value, the bandwidth grade is a second grade; when the bandwidth range is smaller than the second threshold, the bandwidth level is a third level, and the first threshold is larger than the second threshold.
8. A bandwidth control apparatus, the apparatus comprising:
an obtaining unit, configured to obtain a bandwidth status of a current network and a plurality of running services;
A first determining unit, configured to determine priorities corresponding to the plurality of services respectively;
a second determining unit, configured to determine, for any one of the plurality of services, a bandwidth speed limit policy of the service based on the bandwidth status and a priority of the service;
and the sending unit is used for sending the bandwidth speed limiting strategy of the service to the processing module corresponding to the service so that the processing module can control the bandwidth allocated to the service based on the bandwidth speed limiting strategy.
9. An electronic device, the device comprising: a processor and a memory;
the memory is used for storing instructions or computer programs;
the processor for executing the instructions or computer program in the memory to cause the electronic device to perform the method of any of claims 1-7.
10. A computer readable storage medium having instructions stored therein which, when executed on a device, cause the device to perform the method of any of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310376906.2A CN116346743A (en) | 2023-04-10 | 2023-04-10 | Bandwidth control method, device, equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310376906.2A CN116346743A (en) | 2023-04-10 | 2023-04-10 | Bandwidth control method, device, equipment and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116346743A true CN116346743A (en) | 2023-06-27 |
Family
ID=86877162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310376906.2A Pending CN116346743A (en) | 2023-04-10 | 2023-04-10 | Bandwidth control method, device, equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116346743A (en) |
-
2023
- 2023-04-10 CN CN202310376906.2A patent/CN116346743A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112437122B (en) | Communication method, communication device, computer readable medium and electronic equipment | |
CN110062426B (en) | Communication method, communication device, computer readable medium and electronic equipment | |
CN108401480B (en) | HARQ feedback method and device, equipment and computer readable storage medium | |
CN114039703B (en) | Data transmission method, device, equipment and medium | |
CN110996372B (en) | Message routing method, device and system and electronic equipment | |
CN114466226B (en) | Bandwidth duration duty cycle determination method, device, equipment and computer readable medium | |
CN112312229A (en) | Video transmission method and device, electronic equipment and storage medium | |
CN110781150A (en) | Data transmission method and device and electronic equipment | |
CN112965673A (en) | Content printing method, device, equipment and storage medium | |
CN109981778B (en) | Method, device, equipment and storage medium for realizing service of content distribution network | |
CN114158104B (en) | Network selection method, device, terminal and storage medium | |
CN114745276B (en) | Switch bandwidth adjusting method and device, electronic equipment and computer readable medium | |
CN116346743A (en) | Bandwidth control method, device, equipment and storage medium | |
CN115967695A (en) | Message processing method and device and electronic equipment | |
CN115378878B (en) | CDN scheduling method, device, equipment and storage medium | |
CN112153322B (en) | Data distribution method, device, equipment and storage medium | |
CN114692898A (en) | MEC federal learning method, device and computer readable storage medium | |
CN114338401A (en) | Resource allocation method, device, electronic equipment and readable medium | |
CN114189890A (en) | Method, device, equipment and storage medium for updating network service quality model | |
CN103283185A (en) | Prioritization of data communication | |
CN113891392B (en) | Congestion control method, device, equipment and storage medium | |
CN114785794B (en) | Resource allocation method, device, equipment, medium and system | |
CN114390633B (en) | Signal relay transmission method, device, equipment and readable storage medium | |
WO2024008157A1 (en) | Information transmission method and apparatus, network device, and communication system | |
CN113300958A (en) | Message transmission method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |