CN113163236B - Data transmission method, device, equipment and storage medium based on frequency control - Google Patents
Data transmission method, device, equipment and storage medium based on frequency control Download PDFInfo
- Publication number
- CN113163236B CN113163236B CN202010075098.2A CN202010075098A CN113163236B CN 113163236 B CN113163236 B CN 113163236B CN 202010075098 A CN202010075098 A CN 202010075098A CN 113163236 B CN113163236 B CN 113163236B
- Authority
- CN
- China
- Prior art keywords
- token
- current
- liability
- tokens
- token number
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Telephonic Communication Services (AREA)
- Communication Control (AREA)
Abstract
The embodiment of the invention discloses a data transmission method, a device, equipment and a storage medium based on frequency control. The method comprises the following steps: determining the number of token issuing cycles and the number of tokens issued in a single cycle according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket; determining the number of first repandable tokens according to the number of tokens issued in a single cycle and the preset number of repandable cycles, wherein the preset number of repandable cycles is less than the number of token issuing cycles; updating the current liability token number according to the first liability token number and the current liability token number; updating the current available token number based on a preset token liability mechanism according to the first liability token number, the current liability token number and the token issuing cycle number; and transmitting the current data according to the current available token number, the current liability token number and a preset liability threshold value. By the technical scheme, the frequency of data transmission is more finely controlled, and the uniformity of data transmission is improved.
Description
Technical Field
The embodiment of the invention relates to the internet technology, in particular to a data transmission method, a device, equipment and a storage medium based on frequency control.
Background
In the internet, there are a large amount of interactive data such as barrage data, scroll comment data, and notification messages, etc., which are published by users to a common platform. The distribution of such data is generally presented sequentially according to the distribution time of the user, i.e. the frequency of data transmission is consistent with the distribution frequency of the user. However, the platform presenting the data typically has additional control over the frequency of data transmission. Taking the barrage data in the network live broadcast platform as an example, if the transmission frequency of the barrage data is too high, a full barrage can be caused, and the watching experience of a user is influenced; if the transmission frequency of the barrage data is too low, the number of barrages in the live broadcasting room is too small, and the popularity and the interaction between the barrage data and the user of the anchor broadcast are influenced.
The current common frequency control method for data transmission is as follows: a maximum value of transmission data within a predetermined time (frequency control period) is set as a frequency control threshold value so as to periodically perform frequency control of data transmission. For example, if the maximum value of the number of bullet screens in 1 minute is set, the number of bullet screens in a single live broadcast room is counted every 1 minute, and all bullet screen data exceeding the maximum value of the number of bullet screens are discarded.
Although the frequency control mode of data transmission can effectively limit the data transmission amount in the platform and prevent the situation that the data is full of screen or the data rolls too fast, the number of the transmitted data is periodically counted again, which causes the uneven data transmission. For example, the number of barrage transmitted in the first 30 seconds reaches the frequency control threshold, and then the barrage does not exist in the last 30 seconds, and meanwhile, the number of the barrage in the first 30 seconds is too much, which seriously influences the user experience.
Disclosure of Invention
Embodiments of the present invention provide a data transmission method, apparatus, device and storage medium based on frequency control, so as to achieve finer control of data transmission frequency and improve uniformity of data transmission.
In a first aspect, an embodiment of the present invention provides a data transmission method based on frequency control, including:
determining the number of token issuing cycles and the number of tokens issued in a single cycle according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket;
updating the current available token number and the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issued token number, the current available token number and the current liability token number;
transmitting the current data according to the current available token number, the current liability token number and a preset liability threshold value;
wherein, according to the number of token issuing cycles, the number of tokens issued in a single cycle, the current available token number and the current liability token number, updating the current liability token number based on a preset token liability mechanism comprises:
determining a first number of repayment tokens according to the single-cycle issued token number and a preset number of debt cycles, wherein the preset number of debt cycles is smaller than the token issued cycle number;
and updating the current liability token number according to the first liability token number and the current liability token number.
In a second aspect, an embodiment of the present invention further provides a data transmission apparatus based on frequency control, where the apparatus includes:
the token issuing cycle number determining module is used for determining the token issuing cycle number and the number of issued tokens in a single cycle according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket;
the token number updating module is used for updating the current available token number and the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issued token number, the current available token number and the current liability token number;
the data transmission module is used for transmitting the current data according to the current available token number, the current liability token number and a preset liability threshold value;
wherein the token number update module comprises:
the first repayment token number determining module is used for determining the number of the first repayment tokens according to the number of the tokens issued in a single cycle and a preset repayment cycle number, wherein the preset repayment cycle number is smaller than the number of the token issuing cycles;
and the current liability token number updating module is used for updating the current liability token number according to the first refundable token number and the current liability token number.
In a third aspect, an embodiment of the present invention further provides an electronic device, where the electronic device includes:
one or more processors;
a storage device to store one or more programs,
when the one or more programs are executed by the one or more processors, the one or more processors implement the data transmission method based on frequency control provided by any embodiment of the invention.
In a fourth aspect, the embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the frequency control-based data transmission method provided in any embodiment of the present invention.
The embodiment of the invention controls the data transmission frequency by introducing the token bucket algorithm in the data transmission process and the issuing rate of the tokens, improves the uniformity of data transmission to a certain extent, and thus more finely controls the data transmission frequency. Determining the number of token issuing cycles and the number of tokens issued in a single cycle according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket; updating the current available token number and the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issued token number, the current available token number and the current liability token number; transmitting current data according to the current available token number, the current liability token number and a preset liability threshold value; updating the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issuing token number, the current available token number and the current liability token number, wherein the updating of the current liability token number comprises: determining a first number of repayment tokens according to the single-cycle issued token number and a preset number of debt cycles, wherein the preset number of debt cycles is smaller than the token issued cycle number; and updating the current liability token number according to the first liability token number and the current liability token number. The method and the device realize that a preset token liability mechanism is introduced into a token bucket algorithm so as to continuously transmit data in a token borrowing and lending manner when the tokens in the token bucket are consumed up, ensure that data transmission is not interrupted, effectively prevent a jitter phenomenon in the data transmission process and further improve the uniformity of data transmission.
Drawings
Fig. 1 is a flowchart of a data transmission method based on frequency control according to a first embodiment of the present invention;
fig. 2 is a flowchart of a data transmission method based on frequency control according to a second embodiment of the present invention;
fig. 3 is a schematic structural diagram of a data transmission apparatus based on frequency control according to a third embodiment of the present invention;
fig. 4 is a schematic structural diagram of an electronic device in a fourth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not to be construed as limiting the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
Example one
The data transmission method based on frequency control provided by the embodiment can be applied to the transmission frequency control of network data related to users, for example, the transmission frequency control of data such as barrage data, scroll comment data and notification messages can be realized. In the embodiment of the present invention, transmission frequency control of bullet screen data is taken as an example for explanation. The method may be performed by a data transmission device based on frequency control, which may be implemented by software and/or hardware, and which may be integrated in an electronic device, such as a mobile phone, a tablet computer, or a desktop computer. Referring to fig. 1, the method of the present embodiment includes:
s110, determining the number of token issuing cycles and the number of tokens issued in a single cycle according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket.
The current data refers to data that needs to be transmitted in the current operation. In contrast, the previous piece of data refers to data transmitted in a previous data transmission operation adjacent to the current operation. The current time refers to the system time when the current data needs to be transmitted. The historical time refers to the system time when the last piece of data was transmitted. A token bucket is an algorithm for controlling the amount of data sent onto a network and allowing the transmission of bursty data. The bucket speed is the speed of generating tokens in the token bucket, and the period of token issuance can be inferred from the bucket speed, for example, the bucket speed is 2/20 ms, so that the token issuance period can be determined to be 20ms, and the number of tokens issued in each token issuance period (i.e., the number of tokens issued in a single cycle) is 2. The number of tokens issued in a single cycle may be predetermined and should be a value greater than or equal to 1.
In the embodiment of the invention, the token bucket algorithm is applied to the bullet screen data release process so as to control the transmission frequency of the bullet screen data. Based on the original token bucket algorithm, the simple barrage token bucket logic is as follows: the token bucket may continue to generate tokens at a constant rate, and if tokens are not consumed, or are consumed less than the rate of generation, tokens may continue to increase until the bucket is filled. And when the barrage is sent each time, taking a token from the token bucket, and if no token can be taken, not sending the barrage. On the basis, the embodiment of the invention further introduces a preset token liability mechanism, namely, after the tokens in the token bucket are consumed, the token loan and repayment are carried out according to a certain strategy so as to continuously issue the tokens and further continuously transmit barrage data. Because a preset token liability mechanism is introduced, parameters related to token borrowing, such as the current available token number, the current liability token number, a preset liability threshold value and the like, are correspondingly added in the embodiment of the invention so as to control token borrowing and repaying in the data transmission process. The newly introduced parameters are explained in detail in the following examples.
Specifically, the token is generated continuously at the rate of the bucket, and the data to be transmitted is randomly generated according to the user's issuance request, so that the rate of data transmission may not coincide with the rate of token generation. In addition, due to the existence of the liability mechanism, the number of tokens available in the current operation (i.e. the current available number of tokens) may not be consistent with the number of tokens that can be issued. Therefore, in this embodiment, the number of tokens that can be generated in the time period is determined according to the time difference between two pieces of transmitted data, and then the number of currently available tokens is determined subsequently.
In particular embodiments, the token issuance period (e.g., 20 ms) and the number of tokens issued in a single period (e.g., 2) may be determined based on the bucket speed. And then, calculating the time difference time _ delta according to the current time and the historical time, and then calculating the quotient of the time difference and the token issuing cycle to determine the total number of cycles (namely the token issuing cycle number) needing to issue the tokens in the time difference. For example, the time difference time delta is 60ms, it can be determined that the number of token issuing cycles is 3. Of course, the total number of tokens that should be issued in the time difference, i.e. give _ permit = speed time delta/1000000, may also be calculated according to the time difference and the bucket speed, and then the token issuing period may be calculated according to the number of tokens issued in a single period and the total number of tokens. The dividend 1000000 is a time conversion factor that controls the granularity of token issuance.
And S120, updating the current available token number and the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issued token number, the current available token number and the current liability token number.
The current liability token count refers to the number of tokens that have been liability before the current operation is executed.
After determining the total number of tokens that can be issued within the time difference, the number of tokens in the token bucket needs to be updated in order to repay the loan tokens in the previous data transmission process, i.e., to update the current number of available tokens and the current number of liability tokens. In one embodiment, the total number of tokens, which is the product of the number of token issuing cycles and the number of single-cycle issued tokens, may be used for repayment. If the total number of tokens is greater than the current liability token number, the current liability token number is updated to 0, and the remaining number of tokens after repayment is used to update the current available token number. If the total number of tokens is smaller than or equal to the current liability token number, the liability token number obtained after the token debt is the updated current liability token number, and the current available token number is 0.
Illustratively, updating the current liability token count based on the preset token liability mechanism in terms of the number of token issuance cycles, the number of single-cycle issued tokens, the current available token count and the current liability token count comprises: determining the number of first repandable tokens according to the number of tokens issued in a single cycle and the preset number of repandable cycles, wherein the preset number of repandable cycles is less than the number of token issuing cycles; and updating the current liability token number according to the first liability token number and the current liability token number.
Further, updating the current available token number based on a preset token liability mechanism according to the token issuing cycle number, the single cycle issuing token number, the current available token number and the current liability token number comprises: determining the number of remaining debt tokens after updating the current number of debt tokens according to the first number of payable tokens and the current number of debt tokens; and continuously updating the current liability token number and updating the current available token number according to the current liability token number, the remaining number of the tokens of the debt, the remaining number of the token issuing cycles except the preset liability number of the cycles and the number of the tokens issued in a single cycle.
The first repayment token number is the number of tokens for paying off liability tokens, and is the number of tokens corresponding to the preset number of repayment cycles. The number of repayment remaining tokens refers to the number of tokens remaining after the first number of repayment tokens is paid.
In order to avoid the situation that the number of currently available tokens after the token repayment is 0 and the current number of the liability tokens is too large, which causes that the loan tokens cannot be continuously debited (avoiding a large batch of unlimited loan tokens), and further causes interruption of data transmission, the preset token liability mechanism in this embodiment may set a number of repayment cycles (i.e., a preset number of repayment cycles), use all the tokens corresponding to the preset number of repayment cycles for the repayment, and use all or part of the remaining tokens for data transmission, so as to avoid the situation that data cannot be transmitted because no token is available in the current operation. The number of the preset debt cycles may be a fixed value set manually or may be determined proportionally from the number of token issuing cycles. For example, the number of token issuance cycles is 3, and the number of credit cycles is 2.
In specific implementation, the first repayment token number is calculated according to the preset repayment cycle number and the single-cycle issued token number. Then, a difference between the first number of refundable tokens and the current number of liability tokens is calculated. And if the difference is greater than or equal to 0, the token corresponding to the first debt-payable token number is indicated to be enough to pay the debt token, updating the current debt token number to be 0, and taking the difference as the debt residual token number. And if the difference is less than 0, the debt tokens are not completely paid, the current number of the debt tokens is updated by using the absolute value of the difference, and the number of the remaining debt tokens is updated to be 0. And then, calculating the number of the remaining issuable tokens by using the number of the remaining cycles in the token issuing cycles and the number of the tokens issued in a single cycle. The remaining number of issuable tokens may be used entirely to update the current number of available tokens, or may be further extracted for continued repayment of liability tokens. Regardless of how the remaining issuable tokens are processed, only a portion of the tokens need be guaranteed to be used to transfer data. The advantage of setting up like this is, through the setting of presetting repayment cycle number, split into two parts with the total number of the token that need issue in the time difference, partly be used for repayment, partly is used for transmitting data, prevents that the condition that does not have the token available in the current operation from taking place, effectively avoids the shake phenomenon in the data transmission process.
And S130, transmitting current data according to the current available token number, the current liability token number and a preset liability threshold value.
The preset liability threshold is preset and used for controlling the quantity of the loan tokens in one data transmission operation. Which may be a fixed value or a plurality of fixed values to more finely control the token lending process.
When current data is transmitted, available tokens must be available, and the available tokens can be tokens corresponding to the current available token number and can also be tokens for borrowing. When the token is borrowed, the current liability token number is required to be ensured to be smaller than the preset liability threshold, otherwise, the token cannot be borrowed continuously. If the current data is transmitted by using the token corresponding to the current available token number, subtracting 1 from the current available token number; if the borrowed token is used to transmit the current data, the current liability token number is added by 1. Therefore, token maintenance of the next data transmission can be accurately carried out.
Exemplarily, S130 includes: if the number of the current available tokens is larger than zero, obtaining tokens from a token bucket to transmit current data, and decrementing the number of the current available tokens by 1; and if the current available token number is equal to zero and the current liability token number is smaller than a preset liability threshold value, lending the token from the token bucket to transmit current data, and accumulating the current liability token number by 1.
In specific implementation, it is necessary to first determine whether the number of currently available tokens is greater than 0. If so, the available tokens can be directly taken from the token bucket for data transmission without lending the tokens, and then the current available token number is reduced by 1. If not, the token bucket is described as having no available tokens, and the token needs to be borrowed and credited. At this time, whether the current liability token number is smaller than a preset liability threshold value is judged. If so, the debit token may be continued for transmission of the current data, after which the current liability token count is incremented by 1. If not, the number of the loan tokens exceeds the limit, the loan tokens cannot be borrowed, the current data is discarded, and the data transmission process is ended.
According to the technical scheme of the embodiment, the token bucket algorithm is introduced in the data transmission process, the frequency of data transmission is controlled according to the issuing rate of the tokens, the uniformity of data transmission is improved to a certain extent, and the frequency of data transmission is controlled more finely. Determining the number of token issuing cycles and the number of tokens issued in a single cycle according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket; updating the current available token number and the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issued token number, the current available token number and the current liability token number; transmitting current data according to the current available token number, the current liability token number and a preset liability threshold value; updating the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issuing token number, the current available token number and the current liability token number, wherein the updating of the current liability token number comprises: determining a first repayment token number according to the single-cycle issued token number and a preset repayment cycle number, wherein the preset repayment cycle number is smaller than the token issuing cycle number; and updating the current liability token number according to the first liability token number and the current liability token number. The method and the device have the advantages that a preset token liability mechanism is introduced into the token bucket algorithm, so that when the tokens in the token bucket are consumed, data can be continuously transmitted in a token borrowing mode, data transmission is not interrupted, the phenomenon of jitter in the data transmission process is effectively prevented, and the uniformity of data transmission is further improved.
Example two
In this embodiment, based on the first embodiment, further optimization is performed on "continuously updating the current liability token number and updating the current available token number according to the current liability token number, the liability remaining token number, the remaining number of cycles of the token issuing cycle except for the preset liability cycle number, and the single-cycle token issuing number". On the basis, the current data can be further optimized according to the current available token number, the current liability token number and the preset liability threshold value. Wherein explanations of the same or corresponding terms as those of the above embodiments are omitted. Referring to fig. 2, the data transmission method based on frequency control according to this embodiment includes:
s201, determining the number of token issuing cycles and the number of tokens issued in a single cycle according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket.
The number of tokens issued in a single cycle in this embodiment must be even in order to be used for subsequent token splitting.
S202, determining the number of first payable tokens according to the number of tokens issued in a single cycle and the preset number of debt cycles, wherein the preset number of debt cycles is smaller than the number of token issuing cycles.
And S203, updating the current liability token number according to the first refundable token number and the current liability token number, and determining the number of the remaining refundable tokens.
And S204, determining the number of the remaining issuable tokens according to the number of the remaining cycles and the number of the tokens issued in the single cycle.
In order to further improve the data transmission anti-jitter effect of the token bucket algorithm, in this embodiment, a part of the remaining issuable token number corresponding to the remaining number of cycles may be used for repaying the token, and another part may be used for transmitting data. Specifically, corresponding processing may be performed according to the value of the current liability token number, that is, S205 to S207 or S208 is executed.
And S205, if the number of the current liability tokens is larger than zero, splitting the number of the remaining issuable tokens into a second liability token number and a supplementary token number based on a preset frequency smoothing algorithm.
The preset frequency smoothing algorithm is a preset algorithm for controlling the uniformity of data transmission frequency.
If the updated current liability token number of S203 is larger than 0, it indicates that the token needs to be credited. At this time, the remaining number of issuable tokens is split into two parts, i.e., a second number of payable tokens and a number of supplementary tokens for supplementing the currently available tokens.
And S206, continuously updating the current liability token number and updating the residual liability token number according to the second refundable token number and the current liability token number.
And if the current liability token number is larger than 0, the liability remaining token number is 0. At this time, the difference between the second liability token count and the current liability token count is calculated. And if the difference is larger than 0, taking the difference as the number of the remaining tokens of the debt, and updating the number of the current liability tokens to be 0. Otherwise, the absolute value of the difference is updated to the current liability token number, and the liability remaining token number is continuously kept at 0.
And S207, updating the current available token number according to the supplementary token number, the updated debt remaining token number and the current available token number, and continuously updating the current available token number by using the maximum token number of the token bucket when the current available token number is larger than the maximum token number of the token bucket.
And on the basis of the current available token number, superposing the supplementary token number and the updated debt remaining token number, wherein the obtained result is the updated current available token number. If the updated current available token number is larger than the maximum token number that can be accommodated by the token bucket (i.e. the maximum token number of the token bucket), the current available token number is further updated to the maximum token number of the token bucket.
And S208, if the current liability token number is equal to zero, updating the current available token number according to the remaining issuable token number, the debt remaining token number and the current available token number, and when the current available token number is larger than the maximum token number of the token bucket, continuously updating the current available token number by using the maximum token number of the token bucket.
If the updated current liability token number of S203 is equal to 0, which indicates that the liability tokens are completely paid out, the remaining issuable token number, the remaining liability token number and the current available token number are directly added, and the obtained result is used for updating the current available token number. Similarly, if the updated current available token count is greater than the maximum token count of the token bucket, the current available token count still needs to be further updated to the maximum token count of the token bucket.
S209, if the number of the current available tokens is larger than zero, obtaining the tokens from the token bucket to transmit the current data, and decrementing the number of the current available tokens by 1.
Taking the bullet screen data as an example, in the related art, after the number of issued bullet screen data in the frequency control period reaches the frequency control threshold, the subsequent bullet screen data can be directly discarded, thereby resulting in discarding some high-value bullet screen data. Based on this, the present embodiment considers that the transmitted data is data related to the user, and the rank of the user determines the importance of the data transmitted by the user. Therefore, in the embodiment, data is prioritized according to the user level, and two liability thresholds are set, so that when the tokens in the token bucket are insufficient, it can be ensured that data with higher importance is transmitted first. Namely, a liability mechanism is introduced into the token bucket algorithm, and a double-threshold data grading mechanism is further introduced. In this embodiment, the data is divided into 4 priority levels, and the importance of the data is the first priority level, the second priority level, the third priority level and the fourth priority level in sequence.
Through the operation, the current liability token number and the current available token number can be finally determined, and the token acquisition and the current data transmission can be carried out. In specific implementation, it is first determined whether the number of currently available tokens is greater than 0. If the token is a token (no liability for short), the number of available tokens is enough, at this time, the priority of the current data does not need to be judged, but the available tokens are directly taken from the token bucket, the current data is transmitted, and the number of the current available tokens is reduced by 1.
And S210, if the number of the current available tokens is equal to zero and the number of the current liability tokens is smaller than a first preset liability subthreshold in the preset liability thresholds, lending the tokens from the token bucket to transmit the current data and accumulating the number of the current liability tokens by 1 when judging that the priority of the current data is not a fourth priority.
The first preset liability sub-threshold α is a threshold with a smaller value in the preset liability thresholds, and is used for preliminarily controlling the token loan amount.
If the current available token number is judged to be equal to zero in S209, whether the current liability token number is smaller than a first preset liability subthreshold value in the preset liability threshold value is further judged. If yes (called liability is less than alpha for short), the data with the first three priorities can be transmitted, so that whether the priority of the current data belongs to the first three priorities is judged first. If yes, borrowing a token for transmitting the current data, and adding 1 to the current liability token number; if not, the current data is discarded.
And S211, if the number of the current available tokens is equal to zero and the number of the current liability tokens is equal to or greater than a first preset liability subthreshold and less than a second preset liability subthreshold in the preset liability subthreshold, lending the tokens from the token bucket to transmit the current data and accumulating the number of the current liability tokens by 1 when the priority of the current data is judged to be the first priority or the second priority.
The second preset liability sub-threshold β is a threshold with a larger value in the preset liability thresholds, and is used for further controlling the token borrowing amount.
If the current liability token number is judged to be equal to or larger than the first preset liability subthreshold in the step S210, whether the current liability token number is smaller than a second preset liability subthreshold in the preset liability threshold is further judged. If yes (the liability is less than beta for short), the data of the first two priorities can be transmitted, so that whether the priority of the current data belongs to the first two priorities is judged first. If yes, borrowing a token for transmitting the current data, and adding 1 to the current liability token number; if not, the current data is discarded.
And S212, if the number of the current available tokens is equal to zero and the number of the current liability tokens is equal to or greater than a second preset liability subthreshold, lending the tokens from the token bucket to transmit the current data when the priority of the current data is judged to be the first priority, and accumulating the number of the current liability tokens by 1.
If it is determined in S211 that the number of the current liability tokens is equal to or greater than the second preset liability subthreshold value (for short, liability is greater than or equal to β), it indicates that the number of the loanable tokens is very small, and the present liability tokens can only be used for transmitting data with the highest priority. It is determined whether the priority of the current data is the first priority. If yes, lending a token for transmitting the current data, and adding 1 to the current liability token number; if not, the current data is discarded. It follows that data of the first priority must be guaranteed to be transmitted, which can credit the token indefinitely.
Illustratively, when the application scenario is a barrage publishing scenario, the data corresponding to the first priority, the second priority, the third priority and the fourth priority are barrages published by an administrator of the anchor or live platform, barrages published by users of the first consumption level, barrages published by users of the second consumption level and barrages published by users of other consumption levels except the first consumption level and the second consumption level, respectively.
Referring to the following table, the relationship between the processing mode of the barrage data with different priorities and the current available token number, the current liability token number, the first preset liability subthreshold and the second preset liability subthreshold can be obtained.
According to the technical scheme of the embodiment, the number of the remaining issuable tokens is determined according to the number of the remaining cycles and the number of the tokens issued in a single cycle; if the number of the current liability tokens is larger than zero, splitting the number of the remaining issuable tokens into a second liability token number and a supplementary token number based on a preset frequency smoothing algorithm; continuously updating the current liability token number and updating the remaining liability token number according to the second liability token number and the current liability token number; and updating the current available token number according to the supplementary token number, the updated debt remaining token number and the current available token number, and continuously updating the current available token number by using the maximum token number of the token bucket when the current available token number is larger than the maximum token number of the token bucket. The method and the device realize the accurate division of the tokens corresponding to the total number of the issuable tokens, further ensure the repayment capacity of the liability tokens, ensure the availability of the available tokens, and further improve the anti-jitter effect of data transmission. The preset liability threshold value is divided into the first preset liability subthreshold and the second preset liability subthreshold, so that the basis of introducing a liability mechanism into the token bucket algorithm is realized, and a data classification mechanism with double thresholds is further introduced, so that high-value data can be further ensured to be preferentially transmitted on the basis of ensuring the uniformity of data transmission.
EXAMPLE III
The present embodiment provides a data transmission device based on frequency control, and referring to fig. 3, the device specifically includes:
a token issuing cycle number determining module 310, configured to determine a token issuing cycle number and a single cycle token issuing number according to a current time of current data transmission, a historical time of previous data transmission, and a bucket speed of a token bucket;
the token number updating module 320 is configured to update the current available token number and the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single cycle issued token number, the current available token number and the current liability token number;
the data transmission module 330 is configured to transmit current data according to the current available token number, the current liability token number and a preset liability threshold;
the token number update module 320 includes:
the first repayment token number determining module is used for determining the number of the first repayment tokens according to the number of the tokens issued in a single cycle and a preset repayment cycle number, wherein the preset repayment cycle number is smaller than the number of the token issuing cycles;
and the current liability token number updating module is used for updating the current liability token number according to the first refundable token number and the current liability token number.
Optionally, the token number updating module 320 further includes a currently available token number updating module for:
determining the number of remaining repayment tokens after updating the current liability token number according to the first number of payable tokens and the current liability token number;
and continuously updating the current liability token number and updating the current available token number according to the current liability token number, the liability remaining token number, the remaining cycles of the token issuing cycles except the preset liability cycle number and the single-cycle issuing token number.
Further, the current available token number updating module is specifically configured to:
determining the number of the remaining issuable tokens according to the number of the remaining cycles and the number of the issued tokens in a single cycle;
if the number of the current liability tokens is larger than zero, splitting the number of the remaining issuable tokens into a second liability token number and a supplementary token number based on a preset frequency smoothing algorithm;
continuously updating the current liability token number and updating the remaining liability token number according to the second liability token number and the current liability token number;
and updating the current available token number according to the supplementary token number, the updated debt remaining token number and the current available token number, and continuously updating the current available token number by using the maximum token number of the token bucket when the current available token number is larger than the maximum token number of the token bucket.
Further, the current available token number updating module is further specifically configured to:
after the remaining issuable token number is determined according to the remaining cycle number and the single cycle token number, if the current liability token number is less than or equal to zero, the current available token number is updated according to the remaining issuable token number, the liability balance token number and the current available token number, and when the current available token number is greater than the maximum token number of the token bucket, the current available token number is continuously updated by using the maximum token number of the token bucket.
Optionally, the data transmission module 330 is specifically configured to:
if the number of the current available tokens is larger than zero, obtaining tokens from a token bucket to transmit current data, and decrementing the number of the current available tokens by 1;
and if the current available token number is equal to zero and the current liability token number is smaller than a preset liability threshold value, lending the token from the token bucket to transmit current data, and accumulating the current liability token number by 1.
Alternatively, the data transmission module 330 is specifically configured to:
if the number of the current available tokens is larger than zero, obtaining tokens from a token bucket to transmit current data, and decreasing the number of the current available tokens by 1;
if the number of the current available tokens is equal to zero and the number of the current liability tokens is smaller than a first preset liability subthreshold in the preset liability thresholds, borrowing tokens from the token bucket to transmit the current data and accumulating the number of the current liability tokens by 1 when judging that the priority of the current data is not a fourth priority;
if the number of the current available tokens is equal to zero and the number of the current liability tokens is equal to or greater than a first preset liability subthreshold and less than a second preset liability subthreshold in the preset liability thresholds, borrowing tokens from a token bucket to transmit the current data and accumulating the number of the current liability tokens by 1 when judging that the priority of the current data is a first priority or a second priority;
and if the number of the current available tokens is equal to zero and the number of the current liability tokens is equal to or greater than a second preset liability subthreshold, borrowing tokens from the token bucket to transmit the current data and accumulating the number of the current liability tokens by 1 when the priority of the current data is judged to be the first priority.
When the application scene is a barrage publishing scene, the data corresponding to the first priority, the second priority, the third priority and the fourth priority are barrages published by an administrator of the anchor or the live broadcast platform, barrages published by users of the first consumption level, barrages published by users of the second consumption level and barrages published by users of other consumption levels except the first consumption level and the second consumption level.
Through the data transmission device based on frequency control in the third embodiment of the invention, the token bucket algorithm is introduced in the data transmission process, the frequency of data transmission is controlled by the issuing rate of the tokens, the uniformity of data transmission is improved to a certain extent, and the frequency of data transmission is controlled more finely. The method further realizes that a preset token liability mechanism is introduced into the token bucket algorithm so as to continuously transmit data in a token borrowing and lending manner when the tokens in the token bucket are consumed, thereby ensuring that data transmission is not interrupted, effectively preventing the jitter phenomenon in the data transmission process and further improving the uniformity of data transmission.
The data transmission device based on frequency control provided by the embodiment of the invention can execute the data transmission method based on frequency control provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
It should be noted that, in the embodiment of the data transmission apparatus based on frequency control, the included units and modules are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be implemented; in addition, the specific names of the functional units are only for the convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.
Example four
Referring to fig. 4, the present embodiment provides an electronic device, which includes: one or more processors 420; the storage device 410 is configured to store one or more programs, and when the one or more programs are executed by the one or more processors 420, the one or more processors 420 implement the method for data transmission based on frequency control according to the embodiment of the present invention, including:
determining the number of token issuing cycles and the number of tokens issued in a single cycle according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket;
updating the current available token number and the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issued token number, the current available token number and the current liability token number;
transmitting current data according to the current available token number, the current liability token number and a preset liability threshold value;
wherein, according to the number of token issuing cycles, the number of tokens issued in a single cycle, the current available token number and the current liability token number, updating the current liability token number based on a preset token liability mechanism comprises:
determining a first repayment token number according to the single-cycle issued token number and a preset repayment cycle number, wherein the preset repayment cycle number is smaller than the token issuing cycle number;
and updating the current liability token number according to the first liability token number and the current liability token number.
Of course, those skilled in the art will understand that the processor 420 may also implement the technical solution of the data transmission method based on frequency control provided in any embodiment of the present invention.
The electronic device shown in fig. 4 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention. As shown in fig. 4, the electronic device includes a processor 420, a storage device 410, an input device 430, and an output device 440; the number of the processors 420 in the electronic device may be one or more, and one processor 420 is taken as an example in fig. 4; the processor 420, the storage device 410, the input device 430, and the output device 440 in the electronic apparatus may be connected by a bus or other means, and are exemplified by a bus 450 in fig. 4.
The storage device 410 is a computer-readable storage medium, and can be used to store software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the data transmission method based on frequency control in the embodiment of the present invention (for example, a token issuing cycle number determination module, a token number update module, and a data transmission module in the data transmission device based on frequency control).
The storage device 410 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the terminal, and the like. Further, the storage 410 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, the storage 410 may further include memory located remotely from the processor 420, which may be connected to the electronic device over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The input device 430 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function controls of the electronic apparatus. The output device 440 may include a display device such as a display screen.
EXAMPLE five
The present embodiments provide a storage medium containing computer-executable instructions which, when executed by a computer processor, are operable to perform a method of data transmission based on frequency control, the method comprising:
determining the number of token issuing cycles and the number of tokens issued in a single cycle according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket;
updating the current available token number and the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issued token number, the current available token number and the current liability token number;
transmitting current data according to the current available token number, the current liability token number and a preset liability threshold value;
wherein, according to the number of token issuing cycles, the number of tokens issued in a single cycle, the current available token number and the current liability token number, updating the current liability token number based on a preset token liability mechanism comprises:
determining a first number of repayment tokens according to the single-cycle issued token number and a preset number of debt cycles, wherein the preset number of debt cycles is smaller than the token issued cycle number;
and updating the current liability token number according to the first liability token number and the current liability token number.
Of course, the storage medium provided by the embodiment of the present invention includes computer-executable instructions, where the computer-executable instructions are not limited to the above method operations, and may also perform related operations in the data transmission method based on frequency control provided by any embodiment of the present invention.
From the above description of the embodiments, it is obvious for those skilled in the art that the present invention can be implemented by software and necessary general hardware, and certainly, can also be implemented by hardware, but the former is a better embodiment in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which may be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes several instructions to enable an electronic device (which may be a personal computer, a server, or a network device) to execute the data transmission method based on frequency control provided by the embodiments of the present invention.
It is to be noted that the foregoing description is only exemplary of the invention and that the principles of the technology may be employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
Claims (8)
1. A method for data transmission based on frequency control, comprising:
determining the number of token issuing cycles and the number of tokens issued in a single cycle according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket;
updating the current available token number and the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issued token number, the current available token number and the current liability token number;
transmitting the current data according to the current available token number, the current liability token number and a preset liability threshold value;
wherein, according to the number of token issuing cycles, the number of tokens issued in a single cycle, the current available token number and the current liability token number, updating the current liability token number based on a preset token liability mechanism comprises:
determining a first number of repayment tokens according to the single-cycle issued token number and a preset number of debt cycles, wherein the preset number of debt cycles is smaller than the token issued cycle number;
updating the current liability token number according to the first liability token number and the current liability token number;
the updating the current available token number based on a preset token liability mechanism according to the token issuing cycle number, the single cycle issued token number, the current available token number and the current liability token number comprises:
determining the number of remaining debt tokens after updating the current number of debt tokens according to the first number of payable tokens and the current number of debt tokens;
continuously updating the current liability token number and updating the current available token number according to the current liability token number, the remaining number of cycles of the liability, the remaining number of cycles of the token issuing cycles except the preset liability cycle number and the number of tokens issued in a single cycle;
the continuously updating the current liability token number according to the current liability token number, the remaining cycle number of the token issuing cycle number except the preset liability cycle number and the single-cycle issuing token number, and the updating the current available token number includes:
determining the number of remaining issuable tokens according to the number of the remaining cycles and the number of tokens issued in the single cycle;
if the current liability token number is larger than zero, splitting the residual issuable token number into a second liability token number and a supplementary token number based on a preset frequency smoothing algorithm;
continuously updating the current liability token number according to the second liability token number and the current liability token number, and updating the residual liability token number;
and updating the current available token number according to the supplementary token number, the updated debt remaining token number and the current available token number, and continuously updating the current available token number by using the maximum token number of the token bucket when the current available token number is larger than the maximum token number of the token bucket.
2. The method of claim 1, wherein after determining a remaining number of issuable tokens based on the remaining number of cycles and the number of tokens issued in a single cycle, further comprising:
and if the current liability token number is equal to zero, updating the current available token number according to the remaining issuable token number, the debt remaining token number and the current available token number, and when the current available token number is larger than the maximum token number of the token bucket, continuously updating the current available token number by using the maximum token number of the token bucket.
3. The method of claim 1, wherein transmitting the current data in dependence on the current number of available tokens, the current number of liability tokens and a preset liability threshold comprises:
if the number of the current available tokens is larger than zero, obtaining tokens from a token bucket to transmit the current data, and decrementing the number of the current available tokens by 1;
and if the current available token number is equal to zero and the current liability token number is smaller than the preset liability threshold value, borrowing tokens from a token bucket to transmit the current data, and accumulating the current liability token number by 1.
4. The method of claim 1, wherein transmitting the current data in dependence on the current number of available tokens, the current number of liability tokens and a preset liability threshold comprises:
if the number of the current available tokens is larger than zero, obtaining tokens from a token bucket to transmit the current data, and decrementing the number of the current available tokens by 1;
if the number of the current available tokens is equal to zero and the number of the current liability tokens is smaller than a first preset liability subthreshold in the preset liability thresholds, borrowing tokens from a token bucket to transmit the current data and accumulating the number of the current liability tokens by 1 when judging that the priority of the current data is not a fourth priority;
if the number of the current available tokens is equal to zero and the number of the current liability tokens is equal to or greater than the first preset liability subthreshold and is less than a second preset liability subthreshold in the preset liability subthreshold, lending tokens from a token bucket to transmit the current data and accumulating the number of the current liability tokens by 1 when the priority of the current data is judged to be the first priority or the second priority;
and if the current available token number is equal to zero and the current liability token number is equal to or greater than the second preset liability subthreshold, borrowing tokens from a token bucket to transmit the current data and accumulating the current liability token number by 1 when the priority of the current data is judged to be the first priority.
5. The method according to claim 4, wherein when the application scene is a barrage publishing scene, the data corresponding to the first priority, the second priority, the third priority and the fourth priority are barrage published by an administrator of a main broadcast or a live broadcast platform, barrage published by a user of a first consumption level, barrage published by a user of a second consumption level and barrage published by users of other consumption levels except the first consumption level and the second consumption level, respectively.
6. A data transmission apparatus based on frequency control, comprising:
the token issuing cycle number determining module is used for determining the token issuing cycle number and the single cycle token issuing number according to the current time of current data transmission, the historical time of previous data transmission and the bucket speed of a token bucket;
the token number updating module is used for updating the current available token number and the current liability token number based on a preset token liability mechanism according to the token issuing cycle number, the single-cycle issued token number, the current available token number and the current liability token number;
the data transmission module is used for transmitting the current data according to the current available token number, the current liability token number and a preset liability threshold value;
wherein the token number update module comprises:
the first repayment token number determining module is used for determining the number of the first repayment tokens according to the number of the tokens issued in a single cycle and a preset repayment cycle number, wherein the preset repayment cycle number is smaller than the number of the token issuing cycles;
the current liability token number updating module is used for updating the current liability token number according to the first liability token number and the current liability token number;
the token number updating module further comprises a current available token number updating module for:
determining the number of remaining debt tokens after updating the current number of debt tokens according to the first number of payable tokens and the current number of debt tokens; continuously updating the current liability token number and updating the current available token number according to the current liability token number, the remaining number of cycles of the liability, the remaining number of cycles of the token issuing cycles except the preset liability cycle number and the number of tokens issued in a single cycle;
the current available token number update module is configured to:
determining the number of remaining issuable tokens according to the number of the remaining cycles and the number of tokens issued in the single cycle;
if the current liability token number is larger than zero, splitting the residual issuable token number into a second liability token number and a supplementary token number based on a preset frequency smoothing algorithm;
continuously updating the current liability token number according to the second liability token number and the current liability token number, and updating the residual liability token number;
and updating the current available token number according to the supplementary token number, the updated debt remaining token number and the current available token number, and continuously updating the current available token number by using the maximum token number of the token bucket when the current available token number is larger than the maximum token number of the token bucket.
7. An electronic device, characterized in that the electronic device comprises:
one or more processors;
a storage device for storing one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method for data transmission based on frequency control of any of claims 1-5.
8. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out a method for frequency control based data transmission according to any one of claims 1 to 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010075098.2A CN113163236B (en) | 2020-01-22 | 2020-01-22 | Data transmission method, device, equipment and storage medium based on frequency control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010075098.2A CN113163236B (en) | 2020-01-22 | 2020-01-22 | Data transmission method, device, equipment and storage medium based on frequency control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113163236A CN113163236A (en) | 2021-07-23 |
CN113163236B true CN113163236B (en) | 2022-10-14 |
Family
ID=76881865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010075098.2A Active CN113163236B (en) | 2020-01-22 | 2020-01-22 | Data transmission method, device, equipment and storage medium based on frequency control |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113163236B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116016356B (en) * | 2021-09-30 | 2024-10-11 | 迈普通信技术股份有限公司 | Message processing method and device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2015252037A1 (en) * | 2009-08-07 | 2015-11-19 | Access Innovation Ip Pty Limited | System and method for real time text streaming |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599287B2 (en) * | 2002-11-15 | 2009-10-06 | Cisco Technology, Inc. | Tokens in token buckets maintained among primary and secondary storages |
CN1319326C (en) * | 2003-04-01 | 2007-05-30 | 华为技术有限公司 | Band width statistical multiplex method based on acknowledged cut in speed |
US7660250B2 (en) * | 2005-11-08 | 2010-02-09 | Arris Group, Inc. | Method and system for regulating traffic in a network device |
CN101098527B (en) * | 2006-06-27 | 2012-06-13 | 雅斯拓(北京)智能卡科技有限公司 | Thread controller for processing simultaneously data transmission conversation of individual token |
CN101267382A (en) * | 2007-03-13 | 2008-09-17 | 大唐移动通信设备有限公司 | Method and device for identifying congestion status of data transmission channel |
CA2770361C (en) * | 2009-08-07 | 2018-01-30 | Access Innovation Media Pty Ltd | System and method for real time text streaming |
CN102238068B (en) * | 2010-05-04 | 2015-01-28 | 中兴通讯股份有限公司 | Message transmitting method and system |
US20140112147A1 (en) * | 2012-10-19 | 2014-04-24 | Broadcom Corporation | Refresh mechanism for a token bucket |
US9178827B2 (en) * | 2013-08-05 | 2015-11-03 | Globalfoundries U.S. 2 Llc | Rate control by token buckets |
US20170208120A1 (en) * | 2016-01-15 | 2017-07-20 | Google Inc. | Probabilistic throttling |
CN107465629A (en) * | 2016-06-06 | 2017-12-12 | 中兴通讯股份有限公司 | Method for limiting speed and device |
CN108471557B (en) * | 2018-03-28 | 2020-06-16 | 武汉斗鱼网络科技有限公司 | Barrage broadcasting method, device, server and medium |
CN108449606B (en) * | 2018-03-28 | 2020-08-04 | 武汉斗鱼网络科技有限公司 | Barrage limiting method, device, server and medium |
CN109861920A (en) * | 2019-01-16 | 2019-06-07 | 深圳市融汇通金科技有限公司 | A kind of method and device of elasticity current limliting |
-
2020
- 2020-01-22 CN CN202010075098.2A patent/CN113163236B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2015252037A1 (en) * | 2009-08-07 | 2015-11-19 | Access Innovation Ip Pty Limited | System and method for real time text streaming |
Also Published As
Publication number | Publication date |
---|---|
CN113163236A (en) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10210342B2 (en) | Centralized throttling service | |
CN110545246A (en) | Token bucket-based current limiting method and device | |
CN113645150B (en) | Transmission rate control method, apparatus, electronic device, and readable storage medium | |
CN111245732B (en) | Flow control method, device and equipment | |
CN111970132B (en) | Control method, device and server for OTA data packet issuing flow | |
CN114095443B (en) | Method, device, electronic equipment and readable storage medium for controlling flow | |
CN112132674A (en) | Transaction processing method and device | |
CN115277577A (en) | Data processing method, data processing device, computer equipment and computer readable storage medium | |
JP2010514034A (en) | System and method for adaptive data distribution | |
CN113163236B (en) | Data transmission method, device, equipment and storage medium based on frequency control | |
CN113691859A (en) | Video caching method, device, equipment and medium | |
CN114584826B (en) | Video dynamic downloading method and device, electronic equipment and storage medium | |
CN111988817A (en) | Control method and device for OTA data packet issuing flow | |
CN106407636B (en) | Integration result statistical method and device | |
CN112468885B (en) | Task processing method, electronic device and storage medium | |
CN113992586A (en) | Flow control method and device, computer equipment and storage medium | |
CN114827281B (en) | Method, system and device for sending and receiving network request | |
CN110992011A (en) | Data splitting method and device, electronic equipment and storage medium | |
CN115665054A (en) | Method and module for bandwidth allocation and data transmission management system | |
CN112156453B (en) | Example adaptive adjustment method, apparatus, computer readable storage medium and device | |
CN115442432B (en) | Control method, device, equipment and storage medium | |
CN116233010A (en) | Flow control method, device, equipment and storage medium | |
CN110955644A (en) | IO control method, device, equipment and storage medium of storage system | |
CN109741055A (en) | Blacklist call method, device, server and storage medium | |
CN115392803B (en) | Method, device, electronic device, and medium for adjusting power supply amount in area |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |