CN109257402B - Request quantity control method and equipment - Google Patents

Request quantity control method and equipment Download PDF

Info

Publication number
CN109257402B
CN109257402B CN201710575315.2A CN201710575315A CN109257402B CN 109257402 B CN109257402 B CN 109257402B CN 201710575315 A CN201710575315 A CN 201710575315A CN 109257402 B CN109257402 B CN 109257402B
Authority
CN
China
Prior art keywords
server
time period
unit time
data request
increment 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
Application number
CN201710575315.2A
Other languages
Chinese (zh)
Other versions
CN109257402A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710575315.2A priority Critical patent/CN109257402B/en
Publication of CN109257402A publication Critical patent/CN109257402A/en
Application granted granted Critical
Publication of CN109257402B publication Critical patent/CN109257402B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention aims to provide a method and equipment for controlling request quantity, wherein a first server is used for receiving a data request of a client; when the accumulated increment number in the unit time period of the data request does not exceed a first threshold value, locally recording the accumulated increment number in the unit time period of the data request at a first server, and forwarding the data request to a corresponding third server; and in the stage that the accumulated increment number in the unit time period of the data request exceeds a first threshold value and does not exceed a second threshold value, updating the accumulated increment number in the unit time period based on the accumulated increment number in the unit time period and the current summarized increment number in the unit time period of the data request in the second server, and forwarding the data request to a corresponding third server, wherein the second threshold value exceeds the first threshold value.

Description

Request quantity control method and equipment
Technical Field
The invention relates to the field of computers, in particular to a request quantity control method and device.
Background
An important feature of the first server as an access stratum is the provision of flow control functions for the interfaces of the back-end services, whereas the first server typically uses a cluster, i.e. a plurality of first servers simultaneously support traffic and use a distributed system, due to high availability and traffic size. Because of the distributed system, the accumulated increment number of the data requests of the same service received from each first server is generally placed in the global second server, and each first server will go to the global cache to obtain the traffic data each time receiving the data request and update the traffic data of the second server at the same time. Since each first server accesses the second server each time a data request is received, there is a network input/output (IO), which results in a relatively large performance loss for each first server.
Drawings
Other features, objects and advantages of the invention will become more apparent upon reading of the detailed description of non-limiting embodiments made with reference to the following drawings:
FIG. 1 is a schematic diagram schematically illustrating a demand control system, in accordance with various embodiments;
FIG. 2 is a flow diagram of request quantity control, in accordance with various embodiments;
FIG. 3 is an application architecture diagram according to one embodiment;
FIG. 4 is another request amount control flow diagram in accordance with various embodiments;
FIG. 5 schematically illustrates an exemplary system that can be used to implement the various embodiments described in this application.
The same or similar reference numbers in the drawings identify the same or similar elements.
Detailed Description
The present invention is described in further detail below with reference to the attached drawing figures.
In a typical configuration of the present application, the terminal, the device serving the network, and the trusted party each include one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include non-transitory computer readable media (transient media), such as modulated data signals and carrier waves.
Although certain embodiments have been illustrated and described herein for purposes of description, this application is intended to cover any adaptations or variations of the embodiments discussed herein and of the claims.
References in the specification to "one embodiment," "an example embodiment," etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not intended to refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Further, it is understood that the description "at least one A, B and C" in this application may mean (a); (B) (ii) a (C) (ii) a (A and B); (A and C); (B and C); or (A, B, and C). Similarly, by "at least one A, B or C" can be meant (a); (B) (ii) a (C) (ii) a (A and B); (A and C); (B and C); or (A, B, and C).
Described herein are apparatus, methods, and storage media for performing requested amount control among a plurality of service devices. Fig. 1 schematically illustrates a request quantity control system including a first server 10, a second server 11, a client 14 and a third server 12, according to some embodiments. The request volume control is mainly to protect the third server 12 from overload requests. The client 14 refers to a user terminal that initiates a data request, and may be, for example, a device terminal that runs an android or IOS system.
In an embodiment, as shown in fig. 1, the first server 10 includes a first transceiver module 101 and a first controller 102, the second server 11 includes a second transceiver module 111 and a second controller 112, the third server 12 includes a third transceiver module 121 and a third controller 122, the third transceiver module 121 is configured to receive a data request from the first transceiver module 101, and the third controller 122 is configured to process the data request and return a processing result to the client 14 through the third transceiver module 121, where the first transceiver module 101 and the first controller 102 operate as an access layer, and may specifically be an API (Application Programming Interface) gateway.
The first server is used for accumulating the increment number of the data request received from the client and directly forwarding the data request to the third server for processing when the accumulated increment number in the unit time period does not exceed the first threshold. And in the stage that the accumulated increment number in the unit time period of the data request recorded in the first server exceeds a first threshold value and does not exceed a second threshold value, interactively updating the accumulated increment number in the unit time period local to the first server with the second server, and forwarding the data request to a third server for processing. And if the accumulated increment number in the unit time period of the data request exceeds a second threshold value, the data request is not forwarded to the third server for processing.
The first transceiver module 101 in the first server is configured to receive a data request from the client 14 and receive data transceiving control of the first controller 102; the first controller 102 is configured to locally record the cumulative increment number per unit time period of the data request when the cumulative increment number per unit time period of the data request does not exceed the first threshold, and control the first transceiver module 101 to forward the data request to the third transceiver module 121 of the corresponding third server 12 (data transceiver control). The first controller 102 is further configured to, in a stage where the cumulative increment number per unit time period of the data request exceeds the first threshold and does not exceed the second threshold, control the first transceiver module 101 to transmit the cumulative increment number per unit time period to the second transceiver module 111 of the second server 11, and control the first transceiver module 101 to receive the current summarized increment number per unit time period recorded by the second controller 112 from the second transceiver module 111 of the second server 11, update the cumulative increment number per unit time period based on the current summarized increment number per unit time period, and control the first transceiver module 101 to forward the data request to the corresponding third transceiver module 12 of the third server 12, where the second threshold exceeds the first threshold (data transceiver control).
And the second server is used for interactively updating the accumulated increment number in the unit time period local to the first server with the first service in the stage that the accumulated increment number in the unit time period of the data request recorded in the first server exceeds the first threshold and does not exceed the second threshold.
The second transceiver module 111 in the second server is used for receiving and transmitting control of the second controller 112;
the second controller 112 in the second server is configured to, in a stage where the cumulative increment number per unit time period of the data request recorded in the first controller 102 of the first server 10 exceeds the first threshold and does not exceed the second threshold, control the second transceiver module 11 to obtain, from the first transceiver module 101 of the first server 10, the cumulative increment number per unit time period of the data request recorded by the first controller 102, and control the second transceiver module 111 to transmit, to the first transceiver module 101 of the first server 10, the updated current summarized increment number per unit time period (data transceiving control) based on the received cumulative increment number per unit time period and the current summarized increment number per unit time period of the data request recorded in the second controller 112.
Here, the number of the first servers 10 may be multiple, for example, multiple access tiers 30 in fig. 3, where each access tier corresponds to one first server 10, and the cumulative number of increments in a unit time period of the data request refers to the number of data requests that are recorded in each first server and are accumulated continuously after receiving the data request from its corresponding client, and each first server has its own cumulative number of increments in a unit time period of the data request.
As shown in fig. 3, the second server 11 may be the cache server 31 respectively associated with a plurality of first servers 10, the current summarized increment amount in the unit time period is obtained from the accumulated increment amount in the unit time period when the second server 11 summarizes the data requests of each first server 10, specifically, the current summarized increment amount in the unit time period of the data request of the second controller 112 of the second server 11 is obtained from the accumulated increment amount in the unit time period of the multiple data requests and/or the increment amount of the single data request continuously received by the second transceiver module 111 from the first transceiver module 101 of each first server 10, for example, 10 first servers are provided, the accumulated increment amount in the unit time period of the multiple data requests sent by the first transceiver module 101 of each first server 10 to the second controller 112 of the second server 11 through the second transceiver module 111 is 7, then the current summary delta for the data request in the second controller 112 of the second server 11 is 70; on this basis, the increment number of the single data request continuously sent by the first transceiver module 101 of each first server 10 to the second controller 112 of the second server 11 through the second transceiver module 111 is 1, and then the current summary increment of the data request in the second controller 112 of the second server is 80.
In addition, one of the first servers may be selected to serve as a second server, and when the cumulative increment number per unit time period of the received data request exceeds the first threshold and does not exceed the second threshold, the cumulative increment numbers per unit time period of the data requests received from the other first servers are received, the current summarized increment number per unit time period is obtained based on the cumulative increment number per unit time period received from each first server at the current time period, and the current summarized increment number per unit time period is sent to the other first servers.
The first threshold value and the second threshold value may be specifically determined according to the degree of control accuracy of the data request amount. In an application scenario with a higher control accuracy, the first threshold and the second threshold may be set to be smaller, and in an application scenario with a lower control accuracy, the first threshold and the second threshold may be set to be larger. In an embodiment, because of the diversity of the traffic patterns, a traffic threshold, such as a first threshold, may be set at the first server side for each traffic, and at the same time, a traffic threshold, such as a second threshold, is corresponding to the first server side, where the second threshold exceeds the first threshold, all the requested quantity control may be discussed for a single traffic, so as to achieve precise control of the requested quantity of data for each traffic.
Here, by maintaining the accumulated increment amount per unit time period of the data request in the first controller 102 of the first server 10 when the accumulated increment amount per unit time period of the data request does not exceed the first threshold, and updating the accumulated increment amount per unit time period of the data request to the second server through the first transceiving module 101 at a stage when the accumulated increment amount per unit time period of the data request exceeds the first threshold and does not exceed the second threshold, on the premise of ensuring the request amount control accuracy, the accumulated increment amount per unit time period of the data request from the second server can be avoided from being accessed each time when there is a data request, and when the accumulated increment amount per unit time period of the data request does not exceed the first threshold, the accumulated increment amount per unit time period of the data request is stored and compared at the local first controller of the first server, and interaction with a second server is not needed, so that network IO is reduced, and the working efficiency of flow control is improved.
Here, when the cumulative increment per unit time period of the data request does not exceed the first threshold, since the cumulative increment per unit time period of the data request is not yet close to the second threshold, the cumulative increment of the data request does not need to be confirmed to the second controller of the global second server as long as the control of the data request amount is performed roughly.
As shown in fig. 1, in an embodiment, the first controller 102 is further configured to refuse to forward the data request to the third transceiver module 121 of the third server 12 when the accumulated increment number per unit time period of the recorded data request exceeds a second threshold, and control the first transceiver module 101 to return a response that the flow control is over-limited to the client 14.
Here, when the cumulative increment number in the unit time period of the data request does not exceed the first threshold, or when the cumulative increment number in the unit time period of the data request exceeds the first threshold and does not exceed the second threshold, because none of the cumulative increment numbers in the unit time period of the data request exceeds the second threshold, which is the maximum flow control threshold, at this time, the cumulative increment number in the unit time period of the data request is updated, and the data request may be forwarded to the third transceiver module 121 of the corresponding third server 12. However, when the accumulated increment number in the unit time period of the recorded data request exceeds the second threshold, that is, since the accumulated increment number in the unit time period of the recorded data request is equal to the second threshold, the first server 1 will not forward the corresponding data request to the third transceiver module 121 of the corresponding third server 12, will refuse to forward the data request to the third transceiver module 121 of the third server, and the first controller 102 controls the first transceiver module 101 to return a response that the flow control is over-limited to the client 14, for example, control information of the data request amount may be returned to the client 14, and the request will not be forwarded to the third server.
In the embodiment, when the cumulative increment per unit time of the data request reaches the first threshold value, the accumulated number of increments per unit time period of the recorded data request is sent 112 to the second controller of the second server 11, after the second controller 112 of the second server 11 obtains the accumulated increment amount per unit time period of the data request from the first controller 102 of the first server 10, an updated aggregate increment number is derived based on the received aggregate increment number per unit time period and the current aggregate increment number per unit time period of the data request in the second controller 112, and sends the updated summarized increment number to the first controller 102 of the first server 10, the first controller 102 of the first server 10 takes the received updated aggregate increment number as an updated accumulated increment number per unit time period. For example, there are 10 first servers 1, the cumulative increment per unit time period of sending a data request to the second controller 112 of the second server 11 through the first transceiver module 101 and the second transceiver module 111 in sequence by the first controller 102 of the first 9 first servers 10 is 7, and then the current summary increment of the data request in the second server 2 is 63; on this basis, the cumulative increment number per unit time period of the data request sent once by the first controller 102 of the 10 th first server 10 to the second controller 112 of the second server 11 sequentially through the first transceiver module 101 and the second transceiver module 111 is 7, at this time, the first controller 102 of the 10 th first server 10 receives the updated cumulative increment number of 70 from the second controller 112 of the second server 11, and takes 70 as the cumulative increment number per unit time period updated by the 10 th first server.
Here, when the cumulative increment amount per unit time period of the data request reaches the first threshold, since the cumulative increment amount per unit time period of the data request is close to the second threshold, at this time, the control of the accurate data request amount is started, and the cumulative increment amount of each data request received by the first controller 102 of the first server 10 is started to be confirmed by the second controller 112 of the global second server 11.
In an embodiment, when the cumulative increment number in the unit time period of the data request exceeds the first threshold and does not exceed the second threshold, the first controller 102 of the first server 10 sequentially sends the increment number of each data request to the second controller 112 of the second server 11 through the first transceiver module 101 and the second transceiver module 111, after the second controller 112 of the second server 11 obtains the increment number of each data request from the first controller 101 of the first server 10, an updated summarized increment number is sent to the first controller 102 of the first server 10 based on the current summarized increment number in the unit time period of the data request and the increment number of each data request in the second controller 112 of the second server 11, the first controller 102 of the first server 10 takes the received updated summarized increment number as the cumulative increment number in the updated unit time period, the data request is forwarded to the third controller 122 of the corresponding third server 12 for processing through the first transceiver module 101 and the third transceiver module 121.
Here, when the cumulative increment number in the unit time period of the data request exceeds the first threshold and does not exceed the second threshold, since the cumulative increment number in the unit time period of the data request in this stage is close to the second threshold, the precise control of the data request amount is required, and the first controller 102 of the first server 10 is required to increment the cumulative increment of the data request to the second controller 112 of the global second server 11 to confirm each time the first controller 102 of the first server 10 receives the data request each time.
As shown in fig. 1, in the embodiment, the first server 10 is configured to receive a data request of the client 14 from a fourth transceiver module 131 of a fourth server 13, wherein the fourth controller 132 of the fourth server 13 controls the fourth transceiver module 131 to uniformly send the data request to the first transceiver module 101 of each first server 10, so as to keep the amount of the data request received by each first server as uniform as possible.
In some embodiments, the fourth controller 132 of the fourth server 13 uses Round Robin (Round Robin) to send the data requests to the first transceiver modules 101 of the first servers 10 in a balanced manner. For example, the fourth transceiver module 131 of the fourth server 13 is connected to the first transceiver modules 101 of 10 first servers 10, and each time a data request is received from the client 14, the fourth controller 132 controls the fourth transceiver module 131 to sequentially send the data request to the first transceiver modules 101 of the first servers 10, specifically, in the first round, the first transceiver modules 101 of the 1 st to 10 th first servers 10 respectively sequentially receive 1 data request, in the second round, the first transceiver modules 101 of the 1 st to 10 th first servers 10 respectively sequentially receive 1 data request, and in the subsequent rounds, the same is done.
In an embodiment, the first transceiver module 101 of the first server 10 may respectively perform data transceiving with the third transceiver module 121 of the third server 12 and the second transceiver module 111 of the second server 11 through a network, the third transceiver module 121 may perform data transceiving with the client 14 through the network, and the client 14 may perform data transceiving with the fourth transceiver module 131 or the first transceiver module 101 through the network, where the network may be a wired or wireless network, and the network may be a public network or a private network, such as the internet or a private LAN.
Fig. 2 depicts an embodiment of a demand control method implemented by the demand control system of fig. 1.
In block 201, the first server 10 receives a data request of the client 14;
in block 202, the first server 10 then counts the cumulative number of increments per unit time period of the data request;
in block 203, when the cumulative increment per unit time period of the data request does not exceed the first threshold, locally recording the cumulative increment per unit time period of the data request at the first controller, forwarding the data request to the corresponding third server 12 by the first server 10, and processing the data request by the third server 12;
in block 204, in a stage that the cumulative increment number per unit time period of the data request exceeds the first threshold and does not exceed the second threshold, the first server 10 sends the cumulative increment number per unit time period to the second server 11, the second server 11 sends the updated summarized increment number to the first server 10 after obtaining the updated summarized increment number based on the received cumulative increment number per unit time period and the current summarized increment number per unit time period of the data request in the second server 11, and the first server 10 uses the received updated summarized increment number as the cumulative increment number per unit time period updated by the first server 10 and forwards the data request to the corresponding third server 12, where the second threshold exceeds the first threshold.
As shown in fig. 2, in an embodiment, the method further includes step 205, when the recorded accumulated increment per unit time of the data request exceeds a second threshold, the first server 10 refuses to forward the data request to the third server 12, and returns a response that the flow control is over-limit to the client 14.
In an embodiment, a total of N first servers are preset, a traffic control threshold is M, X is a redundancy control parameter, X >0, and generally, the stricter the request quantity control requirement of a certain service is, the larger the value of X needs to be, for example, 10 first servers exist, a traffic control threshold of a service request is 100 times/sec, X is 2, (100/10-2) is 8, then the first threshold is 8 times/sec, and the second threshold is 100 times/sec, in a first round, 1 to 10 first servers respectively receive 1 time data requests in turn, in a second round, 1 to 10 first servers respectively receive 1 time data requests in turn, each subsequent round, and so on,
if the first second request amount is 34 times, the second server does not need to be accessed because the accumulated increment amount of the data request on each first server in the unit time period does not reach 8 times of the first threshold value;
if the request amount in the second is 6 times, the accumulated increment amount in the unit time period of the data request on each first server does not reach the first threshold value 8 times, and the cache does not need to be accessed;
the third second has a request amount of 130 times, and since the first 70 times of 130 times, the cumulative number of increments per unit time period of data requests on each first server reaches 7 times, but does not reach 8 times of the first threshold, then there is no need to access the second server, wherein,
from 71 to 100 times in the third second, each first server reaches 8 times of the first threshold from 8 times to 10 times, all first servers need to access the second server 30 times, for example, the sequence number of 10 first servers is 1 to 10 times, the 1 st first server sends 8 to the second server as the cumulative increment number in the unit time period of the data request on the 1 st first server when receiving the 8 th data request, at this time, the current summarized increment number in the unit time period on the second server is 8 because the cumulative increment number in the unit time period of the data request which is not received by the second server from other first servers, based on the current summarized increment number in the unit time period being 8, the cumulative increment number in the unit time period of the updated data request on the 1 st first server is also 8,
then, when receiving the 8 th data request, the 2 nd first server sends 8 to the second server as the accumulated increment number in the unit time period of the data request on the 2 nd first server, at this time, the current summarized increment number in the unit time period on the second server is updated to 8+ 8-16, and based on the current summarized increment number in the unit time period being 16, the accumulated increment number in the unit time period of the updated data request on the 2 nd first server is also 16;
and so on, after the 1 st to 10 th first servers transmit 8 to the second server through the first round, wherein the cumulative increment number in the unit time period of the data request on the 2 nd first server is 8 × 10 — 80, the cumulative increment number in the unit time period of the data request updated by the 10 th first server is 80,
in the second round, the data requests received by the 1 st to 10 th first servers respectively reach 9 times, when the 1 st first server receives the 9 th data request, 1 is sent to the second server as the single increment number of the data request on the 1 st first server, at this time, the current summarized increment number in the unit time period on the second server is updated to 80+1 to 81, and based on the current summarized increment number in the unit time period being 81, the accumulated increment number in the unit time period of the updated data request on the 1 st first server is also 81,
then, when receiving the 9 th data request, the 2 nd first server sends 1 to the second server as the single increment number of the data request on the 2 nd first server, at this time, the current summarized increment number in the unit time period on the second server is updated to 81+1 ═ 82, and based on the current summarized increment number in the unit time period being 82, the accumulated increment number in the unit time period of the updated data request on the 2 nd first server is also 82,
and so on, after the 1 st to 10 th first servers pass through the second round and send 1 to the second server as the single increment number of the data request on the 2 nd first server, the current summary increment number in the unit time period on the second server is updated to 9 × 10 to 90, the cumulative increment number in the unit time period of the data request updated by the 10 th first server is also 90,
in the third round, the data requests received by the 1 st to 10 th first servers reach 9 times, when the 1 st first server receives the 10 th data request, 1 is sent to the second server as the single increment number of the data request on the 1 st first server, at this time, the current summarized increment number in the unit time period on the second server is updated to 90+1 to 91, and based on the current summarized increment number in the unit time period being 91, the accumulated increment number in the unit time period of the updated data request on the 1 st first server is also 91,
then, when receiving the 10 th data request, the 2 nd first server sends 1 to the second server as the single increment number of the data request on the 2 nd first server, at this time, the current summarized increment number in the unit time period on the second server is updated to 91+1 ═ 92, and based on the current summarized increment number in the unit time period being 92, the accumulated increment number in the unit time period of the updated data request on the 2 nd first server is also 92,
and so on, after the 1 st to 10 th first servers pass through the third round of sending 1 to the second server as the single increment number of the data request on the 2 nd first server, the current summary increment number in the unit time period on the second server is updated to 10 × 10 to 100, the cumulative increment number in the unit time period of the data request updated by the 10 th first server is also 100,
from 101 to 130 times in the third second, since the cumulative number of increments per unit time period of data requests per first service exceeds 100 times/second of the second threshold, no access to the second server is required. For these three seconds, only 30 caches are accessed.
Fig. 3 shows a specific application architecture of the request quantity control system of fig. 1.
As shown in fig. 3, in the embodiment, the first server 10 in fig. 1 corresponds to an access server 30, the second server 11 corresponds to a cache server 31, the third server 12 corresponds to a backend server 32, the client 14 corresponds to a mobile device terminal 33, and the fourth server 14 corresponds to a load balancing server 34. Specifically, a load balancing server 34 is connected in front of the cluster of access servers 30, and the load balancing server 34 is responsible for forwarding requests to each access server 30 in the cluster. In some embodiments, the load balancing server 34 may forward the data requests to the first servers in a Round Robin (Round Robin) manner, specifically:
step one, the mobile device terminal 33 sends a data request to the load balancing server 34;
step two, the load balancing server 34 uniformly sends the requests to each access server 30 according to a polling scheduling algorithm;
step three, each access server 30 checks the data request quantity of each service, and sees whether the threshold value of the flow control, i.e. the second threshold value, is touched, if the threshold value of the flow control is not reached, each access server 30 forwards the distributed data request to the back-end server 32 for processing, and if the threshold value of the flow control is reached, the first server can directly return the data request to the mobile equipment terminal 33, and does not forward the data request to the back-end server 32 for processing.
In the embodiment, as shown in fig. 4, the implementation of the third step is described in detail:
in block 401: recording the accumulated increment quantity in the unit time period of the data request received by each access server in the local memory of each access server;
in block 402: when the cumulative increment number in the unit time period of the data request in the local memory of each access server reaches (M/N) -X, sending the cumulative increment number in the unit time period of the data request in the local memory of each access server to a cache server, after the cache server receives the cumulative increment number in the unit time period of the data request in the local memory of each access server, adding the received cumulative increment number in the unit time period of the data request in the local memory of each access server to the current summarized increment number in the unit time period and storing the cumulative increment number, then returning the latest summarized increment number to each access server, and taking the latest summarized increment number received by each access server as the locally updated cumulative increment number in the unit time period,
in block 403: each access server judges whether the accumulated increment amount in the updated unit time period of the flow judgment of a certain service reaches a second threshold value,
if so, in block 404: immediately returning control information of the data request amount to the client side, and not forwarding the data request to a back-end server;
if not, in block 405: after each access server interacts once with the global cache server for data in block 402, a single increment is sent to the cache server and the latest number of summarized increments is obtained from the cache server each time a data request is received, and block 403 is repeated.
In some embodiments, as shown in fig. 5, the system 500 can be implemented as the first server 10, the second server 11, the client 14, the third server 12, and the fourth server 13 as described in any of the embodiments shown in fig. 1 or fig. 3 or other described embodiments. In some embodiments, system 300 may include one or more computer-readable media (e.g., system memory or NVM/storage 520) having instructions and one or more processors (e.g., processor(s) 505) coupled with the one or more computer-readable media and configured to execute the instructions to implement modules to perform the actions described herein.
For one embodiment, system control module 510 may include any suitable interface controllers to provide any suitable interface to at least one of the processor(s) 505 and/or any suitable device or component in communication with system control module 510.
The system control module 510 may include a memory controller module 530 to provide an interface to the system memory 515. The memory controller module 530 may be a hardware module, a software module, and/or a firmware module.
System memory 515 may be used, for example, to load and store data and/or instructions for system 500. For one embodiment, system memory 515 may include any suitable volatile memory, such as suitable DRAM. In some embodiments, the system memory 515 may include a double data rate type four synchronous dynamic random access memory (DDR4 SDRAM).
For one embodiment, system control module 510 may include one or more input/output (I/O) controllers to provide an interface to NVM/storage 520 and communication interface(s) 525. For example, NVM/storage 520 may be used to store data and/or instructions. NVM/storage 520 may include any suitable non-volatile memory (e.g., flash memory) and/or may include any suitable non-volatile storage device(s) (e.g., one or more hard disk drive(s) (HDD (s)), one or more Compact Disc (CD) drive(s), and/or one or more Digital Versatile Disc (DVD) drive (s)).
NVM/storage 520 may include storage resources that are physically part of a device on which system 500 is installed or may be accessed by the device and not necessarily part of the device. For example, NVM/storage 520 may be accessible over a network via communication interface(s) 325.
Communication interface(s) 525 may provide an interface for system 500 to communicate over one or more networks and/or with any other suitable device. System 500 may wirelessly communicate with one or more components of a wireless network according to any of one or more wireless network standards and/or protocols.
For one embodiment, at least one of the processor(s) 505 may be packaged together with logic for one or more controller(s) of the system control module 510. For one embodiment, at least one of the processor(s) 305 may be packaged together with logic for one or more controller(s) of the system control module 510 to form a System In Package (SiP). For one embodiment, at least one of the processor(s) 505 may be integrated on the same die with logic for one or more controller(s) of the system control module 510. For one embodiment, at least one of the processor(s) 305 may be integrated on the same die with logic for one or more controller(s) of the system control module 310 to form a system on a chip (SoC).
In various embodiments, system 500 may be, but is not limited to being: a server, a workstation, a desktop computing device, or a mobile computing device (e.g., a laptop computing device, a handheld computing device, a tablet, a netbook, etc.). In various embodiments, system 500 may have more or fewer components and/or different architectures. For example, in some embodiments, system 500 includes one or more cameras, a keyboard, a Liquid Crystal Display (LCD) screen (including a touch screen display), a non-volatile memory port, multiple antennas, a graphics chip, an Application Specific Integrated Circuit (ASIC), and speakers.
Methods and apparatus are provided, example 1 may include a first server,
a first transceiver module for receiving a data request from a client,
the first controller is used for recording the accumulated increment amount in the unit time period of the received data request, and controlling the first transceiver module to forward the data request to a third server under the condition that the accumulated increment amount in the unit time period of the data request does not exceed a first threshold value; and the controller is configured to, when the cumulative increment number in the unit time period of the data request exceeds a first threshold and does not exceed a second threshold, control the first transceiver module to transmit the cumulative increment number in the unit time period to the second server, and control the first transceiver module to receive the current summarized increment number in the unit time period from the second server, update the cumulative increment number in the unit time period based on the current summarized increment number in the unit time period, and control the first transceiver module to forward the data request to the third server, where the second threshold exceeds the first threshold, and the current summarized increment number in the unit time period is obtained from the cumulative increment number in the unit time period received by the second server from each first controller.
Example 2 may include the first server of example 1, wherein the first controller is further configured to, if a number of accumulated increments per unit time period of the recorded data request exceeds a second threshold, refuse to forward the data request to a third server, and control the first transceiver module to return a response that the flow control is over-limit to the client.
Example 3 may include the first server of one or more of examples 1-2, wherein the first controller is to control the first transceiver module to transmit the recorded cumulative incremental quantity per unit time period of the data request to the second server and to control the first transceiver module to receive an updated aggregated incremental quantity from the second server as the updated cumulative incremental quantity per unit time period if the cumulative incremental quantity per unit time period of the data request reaches a first threshold, and wherein a current aggregated incremental quantity per unit time period is determined based on the cumulative incremental quantity per unit time period of the data request received by the second server.
Example 4 may include the first server of one or more of examples 1-3, wherein the first controller is to control the first transceiver module to transmit the incremental number per data request to the second server and to receive a current summarized incremental number per unit time period from the second server as an updated accumulated incremental number per unit time period when the accumulated incremental number per unit time period of the data request exceeds a first threshold and without exceeding a second threshold, and to control the first transceiver module to forward the data request to a corresponding third server, wherein the current summarized incremental number per unit time period is determined based on the incremental number per data request received by the second controller.
Example 5 may include the first servers of one or more of examples 1-4, wherein the first controller is to receive a data request of a client from a fourth server, wherein the fourth server is to send the data request to the first controller of each first server in a balanced manner.
Example 6 may include the first servers of one or more of examples 1-5, wherein the fourth server is to send the data requests to the first controllers of the first servers in a round-robin manner.
Example 7 may include a second server, wherein the second server comprises:
the second transceiver module is used for receiving data transceiving control of the second controller;
and a second controller, configured to control, when the cumulative increment number per unit time period of the data request received by the first server exceeds a first threshold and does not exceed a second threshold, the second transceiver module to receive the cumulative increment number per unit time period of the data request from the first server, obtain a current summarized increment number per unit time period based on the cumulative increment numbers per unit time period received by the current time period from the respective first servers, and control the second transceiver module to transmit the current summarized increment number per unit time period to the first server.
Example 8 may include the second server of example 7, wherein the second controller is configured to, in a case where an accumulated number of increments per unit time period of the data request received by the first server reaches a first threshold, control the second transceiver module to acquire the accumulated number of increments per unit time period of the data request from the first server, and control the second transceiver module to transmit the current number of summarized increments per unit time period to the first server, based on a current number of summarized increments per unit time period obtained from the accumulated number of increments per unit time period received by each of the first servers at the current time period.
Example 9 may include the second server of one or more of examples 7 to 8, wherein the second controller is configured to, when the cumulative number of increments per unit time period of the data request received by the first server exceeds a first threshold and does not exceed a second threshold, control the second transceiver module to obtain the number of increments per data request from the first server, update the current number of summarized increments per unit time period based on the number of increments per data request, and control the second transceiver module to transmit the updated current number of summarized increments per unit time period to the first server.
Example 10 may include a request amount control method of a first server side, wherein the method comprises:
receiving a data request of a client;
recording an accumulated increment number per unit time period of the received data request;
under the condition that the accumulated increment number in the unit time period of the data request does not exceed the first threshold value, forwarding the data request to a corresponding third server;
and under the condition that the cumulative increment number in the unit time period of the data request exceeds a first threshold value and does not exceed a second threshold value, transmitting the cumulative increment number in the unit time period to a second server, receiving a current summarized increment number in the unit time period from the second server, updating the cumulative increment number in the unit time period based on the current summarized increment number in the unit time period, and controlling to forward the data request to a third server, wherein the second threshold value exceeds the first threshold value, and the current summarized increment number in the unit time period is obtained by the cumulative increment number in the unit time period received by the second server from each first controller.
Example 11 may include the method of 10, wherein, after receiving the data request of the client, further comprising:
and under the condition that the recorded accumulated increment number in the unit time period of the data request exceeds a second threshold value, refusing to forward the data request to a third server, and returning a response that the flow control is over-limit to the client.
Example 12 may include the method of one or more of examples 10-11,
transmitting the cumulative increment number in the unit time period to a second server, receiving a current summarized increment number in the unit time period from the second server, and updating the cumulative increment number in the unit time period based on the current summarized increment number in the unit time period under the condition that the cumulative increment number in the unit time period of the data request exceeds a first threshold and does not exceed a second threshold, comprising:
and in the case that the cumulative increment number in the unit time period of the data request reaches a first threshold value, transmitting the cumulative increment number in the unit time period of the data request to a second server, receiving a current summarized increment number in the unit time period from the second server, and taking the received current summarized increment number in the unit time period as an updated cumulative increment number in the unit time period, wherein the current summarized increment number in the unit time period is determined based on the cumulative increment number in the unit time period of the data request received by the second server.
Example 13 may include the method of one or more of examples 10-12, wherein,
the method comprises the steps of transmitting the accumulated increment number in a unit time period of a data request to a second server under the condition that the accumulated increment number in the unit time period exceeds a first threshold and does not exceed a second threshold, receiving a current summarized increment number in the unit time period from the second server, updating the accumulated increment number in the unit time period based on the current summarized increment number in the unit time period, and controlling to forward the data request to a third server, and comprises the following steps:
when the accumulated increment number in the unit time period of the data request exceeds a first threshold value and does not exceed a second threshold value, the following steps are repeated:
and transmitting the increment number of each data request to a second server, receiving the current summarized increment number in the unit time period from the second server as an updated accumulated increment number in the unit time period, and forwarding the data requests to a corresponding third server, wherein the current summarized increment number in the unit time period is determined based on the increment number of each data request received by the second server.
Example 14 may include the method of one or more of examples 10-13, wherein receiving a data request of a client comprises:
and receiving a data request of the client from a fourth server, wherein the fourth server uniformly sends the data request to each first server.
Example 15 may include the method of one or more of examples 10-14, wherein the fourth server to send the data requests to the first servers in a balanced manner includes:
and the fourth server uniformly sends the data request to each first server in a polling scheduling mode.
Example 16 may include a request amount control method on a second server side, wherein the method comprises:
and under the condition that the accumulated increment number in the unit time period of the data request received by the first server exceeds a first threshold and does not exceed a second threshold, receiving the accumulated increment number in the unit time period of the data request from the first server, obtaining the current summarized increment number in the unit time period from the accumulated increment number in the unit time period received by each first server based on the current time period, and sending the current summarized increment number in the unit time period to the first server.
Example 17 may include the method of 16, wherein, at
In a case where the cumulative number of increments per unit time period of the data request received by the first server exceeds the first threshold and does not exceed the second threshold, the cumulative number of increments per unit time period of the data request received from the first server, a current number of summarized increments per unit time period being obtained from the cumulative number of increments per unit time period received by each first server based on the current time period, comprising:
in a case where the cumulative number of increments per unit time period of the data request of the first server reaches a first threshold, the current summarized number of increments per unit time period is obtained based on the cumulative number of increments per unit time period received from each first server for the current time period.
Example 18 may include the method of one or more of examples 16-17,
in a case where the cumulative increment number per unit time period of the data request received by the first server exceeds the first threshold and does not exceed the second threshold, receiving the cumulative increment number per unit time period of the data request from the first server, and obtaining a current summarized increment number per unit time period from the cumulative increment numbers per unit time period received by the respective first servers based on the current time period, the method includes:
and under the condition that the accumulated increment number in the unit time period of the data request of the first server exceeds a first threshold value and does not exceed a second threshold value, acquiring the increment number of each data request from the first server, and obtaining the updated current summarized increment number in the unit time period based on the increment number of each data request of the second server.
Example 19 may include an apparatus, comprising:
one or more processors; and
one or more machine-readable media having instructions stored thereon that, when executed by the one or more processors, cause the apparatus to perform a method as examples 10-15.
Example 20 may include one or more machine-readable media having instructions stored thereon that, when executed by one or more processors, cause a terminal device to perform a method as in examples 10-15.
Example 21 may include an apparatus, comprising:
one or more processors; and
one or more machine-readable media having instructions stored thereon that, when executed by the one or more processors, cause the apparatus to perform the methods of examples 16-18.
Example 22 may include one or more machine-readable media having instructions stored thereon, which when executed by one or more processors, cause a terminal device to perform a method as in examples 16-18.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.
It should be noted that the present invention may be implemented in software and/or in a combination of software and hardware, for example, as an Application Specific Integrated Circuit (ASIC), a general purpose computer or any other similar hardware device. In one embodiment, the software program of the present invention may be executed by a processor to implement the steps or functions described above. Also, the software programs (including associated data structures) of the present invention can be stored in a computer readable recording medium, such as RAM memory, magnetic or optical drive or diskette and the like. Further, some of the steps or functions of the present invention may be implemented in hardware, for example, as circuitry that cooperates with the processor to perform various steps or functions.
In addition, some of the present invention can be applied as a computer program product, such as computer program instructions, which when executed by a computer, can invoke or provide the method and/or technical solution according to the present invention through the operation of the computer. Program instructions which invoke the methods of the present invention may be stored on a fixed or removable recording medium and/or transmitted via a data stream on a broadcast or other signal-bearing medium and/or stored within a working memory of a computer device operating in accordance with the program instructions. An embodiment according to the invention herein comprises an apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, trigger the apparatus to perform a method and/or solution according to embodiments of the invention as described above.
It will be evident to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned. Furthermore, it is obvious that the word "comprising" does not exclude other elements or steps, and the singular does not exclude the plural. A plurality of units or means recited in the apparatus claims may also be implemented by one unit or means in software or hardware. The terms first, second, etc. are used to denote names, but not any particular order.

Claims (22)

1. A first server, comprising:
a first transceiver module for receiving a data request from a client,
the first controller is used for recording the accumulated increment amount in the unit time period of the received data request, and controlling the first transceiver module to forward the data request to a third server under the condition that the accumulated increment amount in the unit time period of the data request does not exceed a first threshold value; and the controller is configured to, when the cumulative increment number in the unit time period of the data request exceeds a first threshold and does not exceed a second threshold, control the first transceiver module to transmit the cumulative increment number in the unit time period to the second server, and control the first transceiver module to receive the current summarized increment number in the unit time period from the second server, update the cumulative increment number in the unit time period based on the current summarized increment number in the unit time period, and control the first transceiver module to forward the data request to the third server, where the second threshold exceeds the first threshold, and the current summarized increment number in the unit time period is obtained from the cumulative increment number in the unit time period received by the second server from each first controller.
2. The first server according to claim 1, wherein the first controller is further configured to, in a case that a cumulative increment count per unit time period of the recorded data request exceeds a second threshold, refuse to forward the data request to a third server, and control the first transceiver module to return a response that the flow control is over-limited to the client.
3. The first server according to claim 1, wherein the first controller is configured to control the first transceiver module to transmit the recorded cumulative increment number per unit time period of the data request to the second server and to receive an updated summarized increment number from the second server as the updated cumulative increment number per unit time period, if the cumulative increment number per unit time period of the data request reaches a first threshold, wherein the current summarized increment number per unit time period is determined based on the cumulative increment number per unit time period of the data request received by the second server.
4. The first server of claim 3, wherein the first controller is configured to control the first transceiver module to transmit the incremental number per data request to the second server when the cumulative incremental number per unit time period of the data request exceeds a first threshold and does not exceed a second threshold, and to receive a current summarized incremental number per unit time period from the second server as an updated cumulative incremental number per unit time period, and to control the first transceiver module to forward the data request to the corresponding third server, wherein the current summarized incremental number per unit time period is determined based on the incremental number per data request received by the second controller.
5. The first server according to any one of claims 1 to 4, wherein the first controller is configured to receive a data request from a fourth server, and wherein the fourth server is configured to send the data request to the first controller of each first server in a balanced manner.
6. The first server of claim 5, wherein the fourth server sends the data requests to the controllers of the first servers in a round-robin manner.
7. A second server, wherein the second server comprises:
the second transceiver module is used for receiving data transceiving control of the second controller;
a second controller, configured to control, when the cumulative increment number in the unit time period of the data request received by the first server exceeds a first threshold and does not exceed a second threshold, the second transceiver module to receive the cumulative increment number in the unit time period of the data request from the first server, obtain a current summarized increment number in the unit time period based on the cumulative increment number in the unit time period received by the current time period from each first server, and control the second transceiver module to send the current summarized increment number in the unit time period to the first server;
the first server records the accumulated increment number in the unit time period of the received data request, and forwards the data request to a third server under the condition that the accumulated increment number in the unit time period of the data request does not exceed a first threshold value.
8. The second server according to claim 7, wherein the second controller is configured to, in a case where an accumulated number of increments per unit time period of the data request received by the first server reaches a first threshold, control the second transceiver module to acquire the accumulated number of increments per unit time period of the data request from the first server, and control the second transceiver module to transmit the current number of summarized increments per unit time period to the first server based on a current number of summarized increments per unit time period obtained from the accumulated number of increments per unit time period received by each of the first servers in the current time period.
9. The second server according to claim 8, wherein the second controller is configured to, when the cumulative increment number per unit time period of the data request received by the first server exceeds the first threshold and does not exceed the second threshold, control the second transceiver module to obtain the increment number per data request from the first server, update the current summarized increment number per unit time period based on the increment number per data request, and control the second transceiver module to send the updated current summarized increment number per unit time period to the first server.
10. A method for a first server, comprising:
receiving a data request of a client;
recording an accumulated increment number per unit time period of the received data request;
under the condition that the accumulated increment number in the unit time period of the data request does not exceed the first threshold value, forwarding the data request to a corresponding third server;
and under the condition that the cumulative increment number in the unit time period of the data request exceeds a first threshold value and does not exceed a second threshold value, transmitting the cumulative increment number in the unit time period to a second server, receiving a current summarized increment number in the unit time period from the second server, updating the cumulative increment number in the unit time period based on the current summarized increment number in the unit time period, and controlling to forward the data request to a third server, wherein the second threshold value exceeds the first threshold value, and the current summarized increment number in the unit time period is obtained by the cumulative increment number in the unit time period received by the second server from each first controller.
11. The method of claim 10, wherein after receiving the data request from the client, further comprising:
and under the condition that the recorded accumulated increment number in the unit time period of the data request exceeds a second threshold value, refusing to forward the data request to a third server, and returning a response that the flow control is over-limit to the client.
12. The method of claim 10, wherein in the event that the cumulative number of increments per unit time period of the data request exceeds a first threshold and does not exceed a second threshold, transmitting the cumulative number of increments per unit time period to a second server, receiving a current aggregate number of increments per unit time period from the second server, updating the cumulative number of increments per unit time period based on the current aggregate number of increments per unit time period, comprises:
and in the case that the cumulative increment number in the unit time period of the data request reaches a first threshold value, transmitting the cumulative increment number in the unit time period of the data request to a second server, receiving a current summarized increment number in the unit time period from the second server, and taking the received current summarized increment number in the unit time period as an updated cumulative increment number in the unit time period, wherein the current summarized increment number in the unit time period is determined based on the cumulative increment number in the unit time period of the data request received by the second server.
13. The method of claim 12, wherein in the event that the cumulative number of increments per unit time period of the data request exceeds a first threshold and does not exceed a second threshold, transmitting the cumulative number of increments per unit time period to a second server, receiving a current aggregate number of increments per unit time period from the second server, updating the cumulative number of increments per unit time period based on the current aggregate number of increments per unit time period, and controlling forwarding of the data request to a third server, comprises:
when the accumulated increment number in the unit time period of the data request exceeds a first threshold value and does not exceed a second threshold value, the following steps are repeated:
and transmitting the increment number of each data request to a second server, receiving the current summarized increment number in the unit time period from the second server as an updated accumulated increment number in the unit time period, and forwarding the data requests to a corresponding third server, wherein the current summarized increment number in the unit time period is determined based on the increment number of each data request received by the second server.
14. The method of any of claims 10 to 13, wherein receiving a data request from a client comprises:
and receiving a data request of the client from a fourth server, wherein the fourth server uniformly sends the data request to each first server.
15. The method of claim 14, the fourth server sending the data requests to the first servers in a balanced manner, comprising:
and the fourth server uniformly sends the data request to each first server in a polling scheduling mode.
16. A method for a second server, comprising:
under the condition that the accumulated increment number in the unit time period of the data request received by the first server exceeds a first threshold and does not exceed a second threshold, receiving the accumulated increment number in the unit time period of the data request from the first server, obtaining the current summarized increment number in the unit time period from the accumulated increment number in the unit time period received by each first server based on the current time period, and sending the current summarized increment number in the unit time period to the first server;
the first server records the accumulated increment number in the unit time period of the received data request, and forwards the data request to a third server under the condition that the accumulated increment number in the unit time period of the data request does not exceed a first threshold value.
17. The method of claim 16, wherein in the event that the cumulative number of increments per unit time period of the data request received by the first server exceeds the first threshold and does not exceed the second threshold, receiving the cumulative number of increments per unit time period of the data request from the first server, deriving a current number of aggregated increments per unit time period from the cumulative number of increments per unit time period received by each first server based on the current time period, comprises:
in a case where the cumulative number of increments per unit time period of the data request of the first server reaches a first threshold, the current summarized number of increments per unit time period is obtained based on the cumulative number of increments per unit time period received from each first server for the current time period.
18. The method of claim 17, wherein in the event that the cumulative number of increments per unit time period of the data request received by the first server exceeds the first threshold and does not exceed the second threshold, receiving the cumulative number of increments per unit time period of the data request from the first server, deriving a current number of aggregated increments per unit time period from the cumulative number of increments per unit time period received by each first server based on the current time period, comprises:
and under the condition that the accumulated increment number in the unit time period of the data request of the first server exceeds a first threshold value and does not exceed a second threshold value, acquiring the increment number of each data request from the first server, and obtaining the updated current summarized increment number in the unit time period based on the increment number of each data request of the second server.
19. A server apparatus, comprising:
one or more processors; and
one or more machine-readable media having instructions stored thereon that, when executed by the one or more processors, cause the apparatus to perform the methods of claims 10-15.
20. One or more machine-readable media having instructions stored thereon, which when executed by one or more processors, cause an apparatus to perform the methods of claims 10-15.
21. A server apparatus, comprising:
one or more processors; and
one or more machine-readable media having instructions stored thereon that, when executed by the one or more processors, cause the apparatus to perform the methods of claims 16-18.
22. One or more machine-readable media having instructions stored thereon, which when executed by one or more processors, cause an apparatus to perform the methods of claims 16-18.
CN201710575315.2A 2017-07-14 2017-07-14 Request quantity control method and equipment Active CN109257402B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710575315.2A CN109257402B (en) 2017-07-14 2017-07-14 Request quantity control method and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710575315.2A CN109257402B (en) 2017-07-14 2017-07-14 Request quantity control method and equipment

Publications (2)

Publication Number Publication Date
CN109257402A CN109257402A (en) 2019-01-22
CN109257402B true CN109257402B (en) 2021-08-17

Family

ID=65051799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710575315.2A Active CN109257402B (en) 2017-07-14 2017-07-14 Request quantity control method and equipment

Country Status (1)

Country Link
CN (1) CN109257402B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572299B (en) * 2019-08-30 2021-10-22 北京奇艺世纪科技有限公司 Equipment testing method, system, device, network node, terminal and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881494A (en) * 2015-06-12 2015-09-02 北京奇虎科技有限公司 Method, device and system for performing data synchronization with Redis server
CN106034083A (en) * 2015-03-12 2016-10-19 阿里巴巴集团控股有限公司 CDN system and rate-limiting control method thereof, CND node, and server
CN106059835A (en) * 2016-07-28 2016-10-26 北京神狐时代通信技术有限公司 High-reliability control method for low-energy-consumption computer cluster nodes
CN106375420A (en) * 2016-08-31 2017-02-01 武汉钢信软件有限公司 System and method for intelligently monitoring server cluster based on load balancing
CN106686081A (en) * 2016-12-29 2017-05-17 北京奇虎科技有限公司 Resource allocation method and device of database service system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285818B2 (en) * 2007-06-08 2012-10-09 At&T Intellectual Property I, L.P. System and method of recording and accessing multimedia data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034083A (en) * 2015-03-12 2016-10-19 阿里巴巴集团控股有限公司 CDN system and rate-limiting control method thereof, CND node, and server
CN104881494A (en) * 2015-06-12 2015-09-02 北京奇虎科技有限公司 Method, device and system for performing data synchronization with Redis server
CN106059835A (en) * 2016-07-28 2016-10-26 北京神狐时代通信技术有限公司 High-reliability control method for low-energy-consumption computer cluster nodes
CN106375420A (en) * 2016-08-31 2017-02-01 武汉钢信软件有限公司 System and method for intelligently monitoring server cluster based on load balancing
CN106686081A (en) * 2016-12-29 2017-05-17 北京奇虎科技有限公司 Resource allocation method and device of database service system

Also Published As

Publication number Publication date
CN109257402A (en) 2019-01-22

Similar Documents

Publication Publication Date Title
US11394625B2 (en) Service level agreement based storage access
US10178165B2 (en) Distributing application traffic to servers based on dynamic service response time
US10291538B2 (en) Flow control in connection with an access request
US11379836B2 (en) Methods and systems for recording data based on plurality of blockchain networks
EP2588977B1 (en) Systems and methods for storing digital content
US11165816B2 (en) Customized service request permission control system
US11050550B2 (en) Methods and systems for reading data based on plurality of blockchain networks
US20150332191A1 (en) Reducing costs related to use of networks based on pricing heterogeneity
KR20190028217A (en) Method and system for maximizing PCI-express bandwidth of peer-to-peer(P2P) connections
US11500861B2 (en) Methods and systems for recording data based on plurality of blockchain networks
KR20160051600A (en) Apparatus and method for rdma with commit acks
WO2015149644A1 (en) Intelligent file pre-fetch based on access patterns
US10986172B2 (en) Configurable connection reset for customized load balancing
US11316916B2 (en) Packet processing method, related device, and computer storage medium
EP3369238B1 (en) Method, apparatus, computer-readable medium and computer program product for cloud file processing
CN109257402B (en) Request quantity control method and equipment
CN109660589B (en) Request processing method and device and electronic equipment
US11086849B2 (en) Methods and systems for reading data based on plurality of blockchain networks
CN111030966B (en) Data processing method, device and machine readable medium
CN113055350B (en) Data transmission method, device, equipment and readable storage medium
US9307440B1 (en) Prioritized delivery for a collection of content
CN110719306B (en) Network request limiting method, computer equipment and storage medium
US20240146657A1 (en) Reducing Network Congestion Using a Load Balancer
CN114201113B (en) Multi-object storage bucket selection method, device and processor
CN114785764B (en) Request transmission system and method based on big data

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