CN115174588B - Bandwidth control method, device, apparatus, storage medium and program product - Google Patents

Bandwidth control method, device, apparatus, storage medium and program product Download PDF

Info

Publication number
CN115174588B
CN115174588B CN202210902065.XA CN202210902065A CN115174588B CN 115174588 B CN115174588 B CN 115174588B CN 202210902065 A CN202210902065 A CN 202210902065A CN 115174588 B CN115174588 B CN 115174588B
Authority
CN
China
Prior art keywords
node
current limiting
data blocks
bandwidth control
path
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
Application number
CN202210902065.XA
Other languages
Chinese (zh)
Other versions
CN115174588A (en
Inventor
王隆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC, ICBC Technology Co Ltd filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210902065.XA priority Critical patent/CN115174588B/en
Publication of CN115174588A publication Critical patent/CN115174588A/en
Application granted granted Critical
Publication of CN115174588B publication Critical patent/CN115174588B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/21Flow control; Congestion control using leaky-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds

Abstract

The disclosure provides a bandwidth control method, which can be applied to the technical field of cloud computing. The method is applied to a point-to-point data transmission system and comprises the following steps: responding to a data transmission request of a first node, and determining node path information according to the data transmission request information, wherein the data transmission request information comprises node information through which the first node transmits data to a second node; traversing the node path information to determine a current limiting path; and performing bandwidth control on the first node according to the number of the current limiting paths and the number of available data blocks of the current limiting paths, wherein the number of the available data blocks is determined based on a bucket algorithm. The present disclosure also provides a processing apparatus, device, storage medium and program product for bandwidth control.

Description

Bandwidth control method, device, apparatus, storage medium and program product
Technical Field
The present disclosure relates to the field of cloud computing technology, and in particular, to the field of distributed data transmission technology, and more particularly, to a bandwidth control method, apparatus, device, storage medium, and program product.
Background
In the current general file transmission system, a reliable and stable transmission function is realized based on a TCP protocol by a client side deployment mode, and the transmission process can be encrypted and can be triggered manually and by timing tasks. The configuration center can issue transmission tasks to support functions such as file-to-directory, directory-to-directory, breakpoint continuous transmission, integrity check and the like. The method comprises the steps of realizing the centralized backup of the database files at fixed time, installing clients in a database server A and a centralized backup server B, and adding transmission tasks from A to B in a configuration center, wherein the transmission tasks comprise a source node, a source file, a target node, a target file, execution time and the like, so that the function of the centralized backup of the database files at fixed time is completed.
The point-to-point transmission mechanism only limits the transmission rate between the two points, when the data link between the two points is the same, the occupation can be multiplied, if the bandwidth resource is limited, normal service control can be extruded, the unpredictable influence can be caused, the hardware equipment is used for limiting the current, and the current cannot be limited for a certain application.
It should be noted that the information disclosed in the above background section is only for enhancing understanding of the background of the present disclosure and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
In view of the foregoing, the present disclosure provides bandwidth control methods, apparatus, devices, media, and program products for globally dynamically restricting point-to-point data transmission.
According to a first aspect of the present disclosure, there is provided a bandwidth control method applied to a point-to-point data transmission system, the point-to-point data transmission system including a first node and a second node, the processing method including:
responding to a data transmission request of a first node, and determining node path information according to the data transmission request information, wherein the data transmission request information comprises node information through which the first node transmits data to a second node;
traversing the node path information to determine a current limiting path;
bandwidth control of the first node is performed based on the number of the limited paths and the number of available data blocks of the limited paths,
wherein the number of available data blocks is determined based on a bucket algorithm.
According to an embodiment of the present disclosure, the bandwidth control of the first node according to the number of the current limiting paths and the number of available data blocks of the current limiting paths includes:
and when the number of the current limiting paths is larger than or equal to a first preset threshold value and the number of the available data blocks of the current limiting paths is larger than or equal to a second preset threshold value, taking out target data blocks from a data bucket of the current limiting paths, and sending the target data blocks to a first node.
According to an embodiment of the present disclosure, the bandwidth control of the first node according to the number of the current limiting paths and the number of available data blocks of the current limiting paths further includes:
and when the number of the available data blocks of any current limiting path is determined to be smaller than a second preset threshold value, sending a waiting instruction to the first node, wherein the waiting instruction is configured to wait for a preset duration until the data bucket supplements the data blocks by the first node.
According to an embodiment of the present disclosure, the bandwidth control of the first node according to the number of the current limiting paths and the number of available data blocks of the current limiting paths further includes:
when the number of the current limiting paths is determined to be smaller than a first preset threshold value, a data transmission instruction is sent to the first node, and the data transmission instruction is configured to enable the first node to transmit data according to a preset default value.
According to an embodiment of the present disclosure, the traversing the node path information to determine a current limiting path includes:
identifying a current limiting path identifier in the node path information;
and determining the current limiting path in the node path information according to the current limiting path identifier.
According to an embodiment of the present disclosure, determining the number of available data blocks according to a bucket algorithm includes:
determining a bucket capacity according to the bandwidth and the refreshing time; and
and determining the number of available data blocks according to the bucket capacity and the available data block size.
A second aspect of the present disclosure provides a bandwidth control apparatus applied to a point-to-point data transmission system including a first node and a second node, including:
the first determining module is used for responding to a data transmission request of the first node and determining node path information according to the data transmission request information, wherein the data transmission request information comprises node information through which the first node transmits data to the second node;
the second determining module is used for traversing the node path information to determine a current limiting path;
a bandwidth control module, configured to perform bandwidth control on the first node according to the number of the current-limiting paths and the number of available data blocks of the current-limiting paths,
wherein the number of available data blocks is determined based on a bucket algorithm.
According to an embodiment of the present disclosure, a bandwidth control module includes:
and the first judging sub-module is used for taking out a target data block from a data barrel of the current limiting path and sending the target data block to a first node when the number of the current limiting paths is larger than or equal to a first preset threshold value and the number of available data blocks of the current limiting paths is larger than or equal to a second preset threshold value.
And the second judging sub-module is used for sending a waiting instruction to the first node when the number of the available data blocks of any current limiting path is smaller than a second preset threshold value, wherein the waiting instruction is configured to wait for a preset duration until the data blocks are complemented by the data barrel by the first node.
And the third judging sub-module is used for sending a data transmission instruction to the first node when the number of the current limiting paths is smaller than a first preset threshold value, wherein the data transmission instruction is configured to enable the first node to transmit data according to a preset default value.
According to an embodiment of the present disclosure, the second determining module includes:
the identifying sub-module is used for identifying the current limiting path identification in the node path information;
and the first determining submodule is used for determining the current limiting path in the node path information according to the current limiting path identification.
According to an embodiment of the present disclosure, further comprising: and a third determination module.
And a third determining module for determining the number of available data blocks according to a bucket algorithm.
According to an embodiment of the present disclosure, the third determining module includes:
a second determining sub-module for determining a bucket capacity according to the bandwidth and the refresh time; and
and a third determining sub-module for determining the number of available data blocks according to the bucket capacity and the available data block size.
A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the bandwidth control method described above.
A fourth aspect of the present disclosure also provides a computer-readable storage medium having stored thereon executable instructions that, when executed by a processor, cause the processor to perform the above-described bandwidth control method.
A fifth aspect of the present disclosure also provides a computer program product comprising a computer program which, when executed by a processor, implements the above-described bandwidth control method.
According to the bandwidth control method provided by the embodiment of the disclosure, the data transmission request of the first node is responded, the node path information is determined according to the data transmission request information, the current limiting path in the node path is determined by traversing the node path information, and the bandwidth control is performed on the first node according to the number of the current limiting paths and the number of available data blocks of the corresponding data barrel.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be more apparent from the following description of embodiments of the disclosure with reference to the accompanying drawings, in which:
fig. 1 schematically illustrates an application scenario diagram of a bandwidth control method, apparatus, device, medium and program product according to an embodiment of the present disclosure;
fig. 2 schematically illustrates a flow chart of a data transmission process according to an embodiment of the present disclosure;
fig. 3 schematically illustrates a flow chart of a bandwidth control method provided in accordance with an embodiment of the present disclosure;
FIG. 4 schematically illustrates a schematic diagram of a node path between a first node and a second node provided in accordance with an embodiment of the present disclosure;
FIG. 5 schematically illustrates a flow chart of a method of determining a current limiting path provided in accordance with an embodiment of the present disclosure;
fig. 6 schematically illustrates a flowchart of a method for performing bandwidth control judgment on the first node according to an embodiment of the present disclosure;
FIG. 7a schematically illustrates a flow chart for determining the number of available data blocks according to a bucket algorithm provided in accordance with an embodiment of the present disclosure;
FIG. 7b schematically illustrates a schematic view of a drum arrangement provided according to an embodiment of the present disclosure;
fig. 8 schematically illustrates a block diagram of a bandwidth control apparatus according to an embodiment of the present disclosure;
fig. 9 schematically illustrates a block diagram of an electronic device adapted to implement a bandwidth control method according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is only exemplary and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques are omitted so as not to unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and/or the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It should be noted that the terms used herein should be construed to have meanings consistent with the context of the present specification and should not be construed in an idealized or overly formal manner.
Where expressions like at least one of "A, B and C, etc. are used, the expressions should generally be interpreted in accordance with the meaning as commonly understood by those skilled in the art (e.g.," a system having at least one of A, B and C "shall include, but not be limited to, a system having a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
Based on the above technical problems, an embodiment of the present disclosure provides a bandwidth control method, which is applied to a point-to-point data transmission system, where the point-to-point data transmission system includes a first node and a second node, and the bandwidth control method includes: responding to a data transmission request of a first node, and determining node path information according to the data transmission request information, wherein the data transmission request information comprises node information through which the first node transmits data to a second node; traversing the node path information to determine a current limiting path; and performing bandwidth control on the first node according to the number of the current limiting paths and the number of available data blocks of the current limiting paths, wherein the number of the available data blocks is determined based on a bucket algorithm.
Fig. 1 schematically illustrates an application scenario diagram of a bandwidth control method, apparatus, device, medium and program product according to an embodiment of the present disclosure. Fig. 2 schematically illustrates a flow chart of a data transmission process according to an embodiment of the present disclosure.
As shown in fig. 1, the application scenario 100 according to this embodiment may include a point-to-point data transmission scenario. The network 104 is used as a medium to provide communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The user may interact with the server 105 via the network 104 using the terminal devices 101, 102, 103 to receive or send messages or the like. Various communication client applications, such as shopping class applications, web browser applications, search class applications, instant messaging tools, mailbox clients, social platform software, etc. (by way of example only) may be installed on the terminal devices 101, 102, 103.
The terminal devices 101, 102, 103 may be a variety of electronic devices having a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop and desktop computers, and the like.
The server 105 may be a file transfer server, and for a data transfer request initiated by a user through an application server, for example, in response to a data transfer request sent by the user using the terminal devices 101, 102, 103, the file transfer server determines node path information according to the data sending request, further determines a current limiting path, and limits the bandwidth of the node according to a preset rule.
It should be noted that, the bandwidth control method provided by the embodiments of the present disclosure may be generally performed by the server 105. Accordingly, the bandwidth control apparatus provided by the embodiments of the present disclosure may be generally provided in the server 105. The bandwidth control method provided by the embodiments of the present disclosure may also be performed by a server or a server cluster that is different from the server 105 and is capable of communicating with the terminal devices 101, 102, 103 and/or the server 105. Accordingly, the bandwidth control apparatus provided by the embodiments of the present disclosure may also be provided in a server or a server cluster that is different from the server 105 and is capable of communicating with the terminal devices 101, 102, 103 and/or the server 105.
It should be understood that the number of terminal devices, networks and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
It should be noted that, the bandwidth control method and the device determined by the embodiments of the present disclosure may be used in the field of cloud computing technology, or may be used in the field of financial technology, or may be used in any field other than the financial field, and the application field of the bandwidth control method and the device determined by the embodiments of the present disclosure is not limited.
As shown in fig. 2, the data transmission flow provided by the embodiment of the present disclosure includes a line 1 and a line 2, where the line 1 includes a node a, a node 1, a node 2, and a node B, and includes a path 1 and a path 2, and the line 2 includes a node C, a node 3, and a node D, and includes only the path 2. Taking the example that the node A sends data to the node B, the node A initiates a data sending request to a control scheduling system, the control scheduling system calculates all node path information to be passed from the node A to the node B according to the request information of the node A, judges whether a current limiting path exists or not, further determines whether available data blocks exist in a data barrel corresponding to the current limiting path, and if the available data blocks exist in the data barrels corresponding to the path 1 and the path 2, for example, the data blocks are taken out from the data barrel and sent to the node A, and the node A uses the data blocks to send the data to the node B.
The bandwidth control method of the embodiment of the present disclosure will be described in detail below by fig. 3 to 7b based on the scenario described in fig. 1 and the data transmission process described in fig. 2.
Fig. 3 schematically illustrates a flowchart of a bandwidth control method provided according to an embodiment of the present disclosure. Fig. 4 schematically illustrates a schematic diagram of a node path between a first node and a second node provided according to an embodiment of the present disclosure.
As shown in fig. 3, the bandwidth control method of this embodiment includes operations S210 to S230, which may be performed by a server or other computing device. The bandwidth control method of this embodiment is applied to a point-to-point data transmission system. The point-to-point data transmission system includes a first node and a second node.
In operation S210, node path information is determined according to data transmission request information in response to a data transmission request of a first node.
In operation S220, the node path information is traversed to determine a current limiting path.
According to an embodiment of the present disclosure, the data transmission request information includes node information through which the first node transmits data to the second node.
In one example, when performing point-to-point data transmission, for example, data is transmitted from a first node to a second node, the node path in the embodiment of the disclosure generally passes through a plurality of other nodes, and the path between any two connected nodes is represented by the node path. As shown in fig. 4, the first node a sends to the second node B, the process node is h, i, j, k, and the line node data received by the scheduling control system is [ a, h, i, j, k, B ]. Traversing the node path information determines a current limiting path in the node path information, see operation S221 and operation S222 shown in fig. 5 for a specific procedure.
In operation S230, bandwidth control is performed on the first node according to the number of the current limiting paths and the number of available data blocks of the current limiting paths.
According to an embodiment of the present disclosure, the number of available data blocks is determined based on a bucket algorithm.
In one example, the current limiting paths represent that the paths have the maximum bandwidth limitation, in this embodiment, each current limiting path corresponds to a capacity bucket, bandwidth resources are converted into a plurality of data blocks according to the refresh frequency and put into the bucket, and the bandwidth of the current limiting paths is limited based on the number of available data blocks in the bucket algorithm. If the node path information in the first node and the second node does not have the current limiting path, the current node path can be represented to directly perform point-to-point transmission without bandwidth control. If the node path information in the first node and the second node has the current limiting path, the current node path is characterized as having bandwidth limitation, and then the bandwidth control is carried out on the first node according to the number of the current limiting paths and the number of available data blocks in the corresponding data channels. The specific reference may be made to operations S231 to S233 shown in fig. 6, and the details are not repeated here.
According to the bandwidth control method provided by the embodiment of the disclosure, the data transmission request of the first node is responded, the node path information is determined according to the data transmission request information, the current limiting path in the node path is determined by traversing the node path information, and the bandwidth control is performed on the first node according to the number of the current limiting paths and the number of available data blocks of the corresponding data barrel.
Fig. 5 schematically illustrates a flowchart of a method of determining a current limiting path provided in accordance with an embodiment of the present disclosure. As shown in fig. 5, operation S220 includes operation S221 and operation S222.
In operation S221, a restriction path identification in the node path information is identified.
In operation S222, a current limiting path in the node path information is determined according to the current limiting path identification.
In one example, the current limiting path in the node path information is preset according to a specific service, for example, a process node between the first node and the second node is h, i, j, k, h-j and j-k can be preset as current limiting paths, current limiting path identifiers are added, and the current limiting path in the node path information can be determined according to the current limiting path identifiers only by identifying the current limiting path identifiers in the node path information.
Fig. 6 schematically illustrates a flowchart of a method for performing bandwidth control judgment on the first node according to an embodiment of the present disclosure. As shown in fig. 6, operation S230 includes operations S231 to S233. The execution order of operations S231 to S233 is not limited.
In operation S231, when it is determined that the number of the current-limiting paths is greater than or equal to a first preset threshold and the number of available data blocks of the current-limiting paths is greater than or equal to a second preset threshold, a target data block is taken out of a data bucket of the current-limiting paths, and the target data block is sent to a first node.
When it is determined that the number of available data blocks of any one of the current limiting paths is less than the second preset threshold, a wait instruction is transmitted to the first node, the wait instruction being configured to wait for a preset period of time until the data bucket supplements the data blocks.
When it is determined that the number of the current limiting paths is less than the first preset threshold, a data transmission instruction is transmitted to the first node, the data transmission instruction being configured to transmit data according to a preset default value by the first node in operation S233.
In one example, according to operation S220, it is determined whether a current limiting path exists between the first node and the second node, and if so, the following operations are performed: traversing all current limiting paths from a first node to a second node, and if and only if all current limiting paths in a line have available data blocks, transmitting data by the first node, namely, when the number of the current limiting paths is larger than or equal to a first preset threshold value and the number of the available data blocks of all the current limiting paths is larger than or equal to a second preset threshold value, transmitting the data by the node, specifically, selecting the line with the minimum capacity to acquire the data blocks b transmitted each time, wherein b is a shaping variable, and describing the size of the transmittable data. And determining the number of the data blocks required according to the size of the data quantity required to be transmitted, taking out the data blocks of the number from the data barrel corresponding to the current limiting path, and transmitting the data blocks to the first node, wherein the first node transmits the data blocks to the second node, so that the point-to-point data transmission is completed. Otherwise, the data cannot be transmitted, and the party waiting to meet the transmission condition can transmit the data. For example, if there are two current limiting paths, path 1 and path 2, in the line, and if there is no available data block in path 1 or path 2, then data cannot be sent, and if there is an available data block in either path 1 or path 2, then data can be sent. In the embodiment of the present disclosure, the first preset threshold value and the second preset threshold value are both 1.
And if the fact that the first node and the second node do not have the current limiting paths is determined, namely the number of the current limiting paths is smaller than a first preset threshold value, the point-to-point transmission is characterized in that bandwidth limitation is not needed, and data are normally sent according to the preset default size.
When only one current limiting path is determined to exist, if the current limiting path is determined to have no available data block, returning 0 to the first node, and representing that data cannot be sent currently; and if the available data blocks exist, the corresponding number of the data blocks are taken out of the data bucket and sent to the first node.
The current limiting principle of the bucket algorithm in the embodiments of the present disclosure is described in connection with fig. 7a and 7 b.
Fig. 7a schematically illustrates a flow chart for determining the number of available data blocks according to a bucket algorithm provided in accordance with an embodiment of the present disclosure. Fig. 7b schematically shows a schematic view of a drum arrangement provided according to an embodiment of the present disclosure. As shown in fig. 7b, operations S310 to S320 are included.
In operation S310, a bucket capacity is determined according to the bandwidth and the refresh time.
In operation S320, the number of available data blocks is determined according to the bucket capacity and the available data block size.
In one example, as shown in fig. 7b, bandwidth is converted into a plurality of data blocks according to the refresh frequency by a bucket algorithm, the data blocks are put into a bucket, and the scheduler takes the data blocks out, because the sum of the data blocks in the bucket in unit time is limited, so that the purpose of controlling the transmission frequency is achieved.
The bucket capacity (L) is calculated from the bandwidth (W) and the refresh time (T, unit S):
L=W*T
the variable bandwidth and the refreshing time are adjusted to control the capacity of the barrel, so that the total sum of available data blocks in unit time is limited, the relation between the data blocks and L is as follows, and the size of the data blocks can be adjusted.
L=b*n(L>b)
The scheduler, upon receiving the request, fetches one data block at a time from the bucket for the node to send data. If there are no available data blocks in the bucket, a return of 0 indicates to the node that no data is currently being sent, and a wait for the next cycle (T) is required, each of which completes n data in the bucket. If the W, T, b parameter is adjusted, then the data in the bucket is purged and the L/b data blocks are reloaded in the next cycle. When the data block is full, no addition is needed.
Based on the bandwidth control method, the present disclosure also provides a bandwidth control device. The device will be described in detail below in connection with fig. 8.
Fig. 8 schematically illustrates a block diagram of a bandwidth control apparatus according to an embodiment of the present disclosure.
As shown in fig. 8, the bandwidth control apparatus 800 of this embodiment includes a first determining module 810, a second determining module 820, and a bandwidth control module 830.
The first determining module 810 is configured to determine node path information according to data transmission request information in response to a data transmission request of a first node, where the data transmission request information includes node information through which the first node transmits data to a second node. In an embodiment, the first determining module 810 may be configured to perform the operation S210 described above, which is not described herein.
The second determining module 820 is configured to traverse the node path information to determine a current limiting path. In an embodiment, the second determining module 820 may be used to perform the operation S220 described above, which is not described herein.
The bandwidth control module 830 is configured to perform bandwidth control on the first node according to the number of the current limiting paths and the number of available data blocks of the current limiting paths, where the number of available data blocks is determined based on a bucket algorithm. In an embodiment, the bandwidth control module 830 may be configured to perform the operation S230 described above, which is not described herein.
According to an embodiment of the present disclosure, the bandwidth control module 830 includes: the device comprises a first judging sub-module, a second judging sub-module and a third judging sub-module.
And the first judging sub-module is used for taking out a target data block from a data barrel of the current limiting path and sending the target data block to a first node when the number of the current limiting paths is larger than or equal to a first preset threshold value and the number of available data blocks of the current limiting paths is larger than or equal to a second preset threshold value. In an embodiment, the first determining sub-module may be used to perform the operation S231 described above, which is not described herein.
And the second judging submodule is used for sending a waiting instruction to the first node when the number of the available data blocks of any current limiting path is determined to be smaller than a second preset threshold value, wherein the waiting instruction is configured to wait for a preset duration until the first node supplements the data blocks for the data barrel. In an embodiment, the second determining sub-module may be used to perform the operation S232 described above, which is not described herein.
And the third judging submodule is used for sending a data transmission instruction to the first node when the number of the current limiting paths is determined to be smaller than a first preset threshold value, and the data transmission instruction is configured to enable the first node to transmit data according to a preset default value. In an embodiment, the third determining sub-module may be configured to perform the operation S233 described above, which is not described herein.
According to an embodiment of the present disclosure, the second determining module includes: the sub-modules are identified and the sub-modules are determined.
The identification submodule is used for identifying the current limiting path identification in the node path information. In an embodiment, the identification sub-module may be used to perform the operation S221 described above, which is not described herein.
The first determining submodule is used for determining the current limiting path in the node path information according to the current limiting path identification. In an embodiment, the first determining sub-module may be used to perform the operation S222 described above, which is not described herein.
According to an embodiment of the present disclosure, further comprising: and a third determination module.
According to an embodiment of the present disclosure, the third determining module includes: the second determination sub-module and the third determination sub-module.
A second determination submodule for determining the barrel capacity according to the bandwidth and the refresh time. In an embodiment, the second determining sub-module may be used to perform the operation S310 described above, which is not described herein. And
And a third determining sub-module for determining the number of available data blocks according to the bucket capacity and the available data block size. In an embodiment, the third determining sub-module may be used to perform the operation S320 described above, which is not described herein.
Any of the first determining module 810, the second determining module 820, and the bandwidth control module 830 may be combined in one module to be implemented, or any of the modules may be split into a plurality of modules according to an embodiment of the present disclosure. Alternatively, at least some of the functionality of one or more of the modules may be combined with at least some of the functionality of other modules and implemented in one module. According to embodiments of the present disclosure, at least one of the first determination module 810, the second determination module 820, and the bandwidth control module 830 may be implemented at least in part as hardware circuitry, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable way of integrating or packaging circuitry, or in any one of or a suitable combination of three of software, hardware, and firmware. Alternatively, at least one of the first determining module 810, the second determining module 820 and the bandwidth control module 830 may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
Fig. 9 schematically illustrates a block diagram of an electronic device adapted to implement a bandwidth control method according to an embodiment of the disclosure.
As shown in fig. 9, an electronic device 900 according to an embodiment of the present disclosure includes a processor 901 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 902 or a program loaded from a storage portion 908 into a Random Access Memory (RAM) 903. The processor 901 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or an associated chipset and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. Processor 901 may also include on-board memory for caching purposes. Processor 901 may include a single processing unit or multiple processing units for performing the different actions of the method flows according to embodiments of the present disclosure.
In the RAM 903, various programs and data necessary for the operation of the electronic device 900 are stored. The processor 901, the ROM 902, and the RAM 903 are connected to each other by a bus 904. The processor 901 performs various operations of the method flow according to the embodiments of the present disclosure by executing programs in the ROM 902 and/or the RAM 903. Note that the program may be stored in one or more memories other than the ROM 902 and the RAM 903. The processor 901 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in the one or more memories.
According to an embodiment of the disclosure, the electronic device 900 may also include an input/output (I/O) interface 905, the input/output (I/O) interface 905 also being connected to the bus 904. The electronic device 900 may also include one or more of the following components connected to the I/O interface 905: an input section 906 including a keyboard, a mouse, and the like; an output portion 907 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and a speaker; a storage portion 908 including a hard disk or the like; and a communication section 909 including a network interface card such as a LAN card, a modem, or the like. The communication section 909 performs communication processing via a network such as the internet. The drive 910 is also connected to the I/O interface 905 as needed. A removable medium 911 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is installed as needed on the drive 910 so that a computer program read out therefrom is installed into the storage section 908 as needed.
The present disclosure also provides a computer-readable storage medium that may be embodied in the apparatus/device/system described in the above embodiments; or may exist alone without being assembled into the apparatus/device/system. The computer-readable storage medium described above carries one or more programs, which when executed, implement a bandwidth control method according to an embodiment of the present disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example, but is not limited to: 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), 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 disclosure, 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. For example, according to embodiments of the present disclosure, the computer-readable storage medium may include ROM 902 and/or RAM 903 and/or one or more memories other than ROM 902 and RAM 903 described above.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowcharts. The program code, when executed in a computer system, causes the computer system to implement the bandwidth control methods provided by embodiments of the present disclosure.
The above-described functions defined in the system/apparatus of the embodiments of the present disclosure are performed when the computer program is executed by the processor 901. The systems, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted, distributed, and downloaded and installed in the form of a signal on a network medium, via communication portion 909, and/or installed from removable medium 911. The computer program may include program code that may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In such an embodiment, the computer program may be downloaded and installed from the network via the communication portion 909 and/or installed from the removable medium 911. The above-described functions defined in the system of the embodiments of the present disclosure are performed when the computer program is executed by the processor 901. The systems, devices, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
According to embodiments of the present disclosure, program code for performing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, such computer programs may be implemented in high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. Programming languages include, but are not limited to, such as Java, c++, python, "C" or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via 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 disclosure. 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 or flowchart illustration, and combinations of blocks in the block diagrams 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.
Those skilled in the art will appreciate that the features recited in the various embodiments of the disclosure and/or in the claims may be provided in a variety of combinations and/or combinations, even if such combinations or combinations are not explicitly recited in the disclosure. In particular, the features recited in the various embodiments of the present disclosure and/or the claims may be variously combined and/or combined without departing from the spirit and teachings of the present disclosure. All such combinations and/or combinations fall within the scope of the present disclosure.
The embodiments of the present disclosure are described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the embodiments cannot be used advantageously in combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be made by those skilled in the art without departing from the scope of the disclosure, and such alternatives and modifications are intended to fall within the scope of the disclosure.

Claims (7)

1. A bandwidth control method applied to a point-to-point data transmission system, the point-to-point data transmission system including a first node and a second node, the bandwidth control method comprising:
responding to a data transmission request of a first node, and determining node path information according to the data transmission request information, wherein the data transmission request information comprises node information through which the first node transmits data to a second node;
traversing the node path information to determine a current limiting path;
bandwidth control of the first node is performed based on the number of the limited paths and the number of available data blocks of the limited paths,
wherein the number of available data blocks is determined based on a bucket algorithm,
the bandwidth control of the first node according to the number of the current limiting paths and the number of available data blocks of the current limiting paths includes:
when the number of the current limiting paths is determined to be greater than or equal to a first preset threshold value and the number of available data blocks of the current limiting paths is determined to be greater than or equal to a second preset threshold value, taking out target data blocks from a data bucket of the current limiting paths, and sending the target data blocks to a first node;
when it is determined that the number of available data blocks for any one of the current limiting paths is less than a second preset threshold, then a wait instruction is sent to the first node, the wait instruction configured to wait for a preset period of time until the data bucket supplements data blocks,
wherein said traversing the node path information to determine a current limiting path comprises:
identifying a current limiting path identifier in the node path information;
and determining the current limiting path in the node path information according to the current limiting path identifier.
2. The bandwidth control method according to claim 1, wherein the bandwidth controlling the first node according to the number of the current limiting paths and the number of available data blocks of the current limiting paths further comprises:
when the number of the current limiting paths is determined to be smaller than a first preset threshold value, a data transmission instruction is sent to the first node, and the data transmission instruction is configured to enable the first node to transmit data according to a preset default value.
3. The bandwidth control method according to any one of claims 1 to 2, characterized in that determining the number of available data blocks according to a bucket algorithm comprises:
determining a bucket capacity according to the bandwidth and the refreshing time; and
and determining the number of available data blocks according to the bucket capacity and the available data block size.
4. A bandwidth control apparatus for use in a point-to-point data transmission system, the point-to-point data transmission system comprising a first node and a second node, the apparatus comprising:
the first determining module is used for responding to a data transmission request of the first node and determining node path information according to the data transmission request information, wherein the data transmission request information comprises node information through which the first node transmits data to the second node;
the second determining module is used for traversing the node path information to determine a current limiting path;
a bandwidth control module for performing bandwidth control on the first node according to the number of the current limiting paths and the number of available data blocks of the current limiting paths, the number of the available data blocks being determined based on a bucket algorithm,
wherein, bandwidth control module includes:
the first judging sub-module is used for taking out target data blocks from a data barrel of the current limiting path and sending the target data blocks to a first node when the number of the current limiting paths is larger than or equal to a first preset threshold value and the number of available data blocks of the current limiting paths is larger than or equal to a second preset threshold value;
a second judging sub-module, configured to send a waiting instruction to the first node when it is determined that the number of available data blocks in any one of the current limiting paths is smaller than a second preset threshold, where the waiting instruction is configured to wait for a preset period of time until the first node supplements the data blocks in the data bucket;
wherein the second determination module comprises: the identifying sub-module is used for identifying the current limiting path identification in the node path information;
and the first determining submodule is used for determining the current limiting path in the node path information according to the current limiting path identification.
5. An electronic device, comprising:
one or more processors;
storage means for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the bandwidth control method of any of claims 1-3.
6. A computer readable storage medium having stored thereon executable instructions which when executed by a processor cause the processor to perform the bandwidth control method according to any of claims 1 to 3.
7. A computer program product comprising a computer program which, when executed by a processor, implements the bandwidth control method according to any of claims 1-3.
CN202210902065.XA 2022-07-28 2022-07-28 Bandwidth control method, device, apparatus, storage medium and program product Active CN115174588B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210902065.XA CN115174588B (en) 2022-07-28 2022-07-28 Bandwidth control method, device, apparatus, storage medium and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210902065.XA CN115174588B (en) 2022-07-28 2022-07-28 Bandwidth control method, device, apparatus, storage medium and program product

Publications (2)

Publication Number Publication Date
CN115174588A CN115174588A (en) 2022-10-11
CN115174588B true CN115174588B (en) 2024-03-01

Family

ID=83476986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210902065.XA Active CN115174588B (en) 2022-07-28 2022-07-28 Bandwidth control method, device, apparatus, storage medium and program product

Country Status (1)

Country Link
CN (1) CN115174588B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804043A (en) * 2018-06-26 2018-11-13 郑州云海信息技术有限公司 Distributed block storage system bandwidth traffic control method, device, equipment and medium
CN109963316A (en) * 2019-01-29 2019-07-02 北京航空航天大学 Multi-path route method and equipment for mobile satellite network
CN111641563A (en) * 2020-05-28 2020-09-08 深圳壹账通智能科技有限公司 Flow self-adaption method and system based on distributed scene
CN111786887A (en) * 2020-06-30 2020-10-16 中国工商银行股份有限公司 Data forwarding method, apparatus, computing device, and medium executed by control device
CN114422439A (en) * 2022-01-21 2022-04-29 平安国际智慧城市科技股份有限公司 Interface current limiting method and device, computer equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804043A (en) * 2018-06-26 2018-11-13 郑州云海信息技术有限公司 Distributed block storage system bandwidth traffic control method, device, equipment and medium
CN109963316A (en) * 2019-01-29 2019-07-02 北京航空航天大学 Multi-path route method and equipment for mobile satellite network
CN111641563A (en) * 2020-05-28 2020-09-08 深圳壹账通智能科技有限公司 Flow self-adaption method and system based on distributed scene
CN111786887A (en) * 2020-06-30 2020-10-16 中国工商银行股份有限公司 Data forwarding method, apparatus, computing device, and medium executed by control device
CN114422439A (en) * 2022-01-21 2022-04-29 平安国际智慧城市科技股份有限公司 Interface current limiting method and device, computer equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
移动网络数据传输路径负载均衡性配置仿真;韩雷;;计算机仿真;20180515(第05期);第164-167页 *

Also Published As

Publication number Publication date
CN115174588A (en) 2022-10-11

Similar Documents

Publication Publication Date Title
CN105071976B (en) Data transmission method and device
CN109145023B (en) Method and apparatus for processing data
WO2019056640A1 (en) Order processing method and device
CN113132489A (en) Method, device, computing equipment and medium for downloading file
CN113381944B (en) System current limiting method, apparatus, electronic device, medium, and program product
US11330047B2 (en) Work-load management in a client-server infrastructure
CN110516984B (en) Method and apparatus for generating delivery path information
CN110430142B (en) Method and device for controlling flow
CN110650209B (en) Method and device for realizing load balancing
CN111913738A (en) Access request processing method, device, computing equipment and medium
CN110673959A (en) System, method and apparatus for processing tasks
US20190370293A1 (en) Method and apparatus for processing information
CN112799824A (en) Current limiting method, device, equipment and storage medium
CN112686528B (en) Method, device, server and medium for distributing customer service resources
CN115174588B (en) Bandwidth control method, device, apparatus, storage medium and program product
CN111010453A (en) Service request processing method, system, electronic device and computer readable medium
CN111580882B (en) Application program starting method, device, computer system and medium
CN115250276A (en) Distributed system and data processing method and device
CN116861397A (en) Request processing method, device, electronic equipment and computer readable medium
CN109088929B (en) Method and device for sending information
CN112882895A (en) Health examination method, device, computer system and readable storage medium
CN114721882B (en) Data backup method and device, electronic equipment and storage medium
CN116112640A (en) Information transmission method, device and system
CN113778504B (en) Publishing method, publishing system and routing device
CN110011767B (en) Method and apparatus for TCP connection backup

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