CN114615339B - Request routing method, device, equipment and readable storage medium - Google Patents
Request routing method, device, equipment and readable storage medium Download PDFInfo
- Publication number
- CN114615339B CN114615339B CN202210204906.XA CN202210204906A CN114615339B CN 114615339 B CN114615339 B CN 114615339B CN 202210204906 A CN202210204906 A CN 202210204906A CN 114615339 B CN114615339 B CN 114615339B
- Authority
- CN
- China
- Prior art keywords
- server
- request
- routing
- time
- average
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present application relates to the field of resource scheduling technologies, and in particular, to a method, an apparatus, a device, and a readable storage medium for routing a request. The method comprises the following steps: and accurately determining the request processing capacity of each server according to the average consumed time length of each server for processing each request, further determining a server list and routing weight values of each server in the list, establishing a routing rule array according to the server numbers of each server in the server list and the routing weight values of each server in the list, randomly selecting a server number corresponding to one position from the routing rule array as a target server number after receiving a request sent by a client, and routing the request to the target server corresponding to the target server number. The method of the application can have more opportunities to route the request to the server with stronger request processing capability, thereby effectively improving the efficiency of request processing and improving the resource utilization rate of the server.
Description
Technical Field
The present application relates to the field of resource scheduling technologies, and in particular, to a method, an apparatus, a device, and a readable storage medium for routing a request.
Background
As traffic progresses, more and more network requests are sent by clients, and in order to process a large number of requests, the requests need to be routed to multiple servers.
Currently, common request routing methods are distributed routing and fixed rule routing. The distributed routing is to route requests of the same service type to a group of servers based on service rules, and the number of the requests routed to each server in the group of servers is the same. The fixed rule routing may be a sequential polling, i.e. routing the request to each server in sequence, and restarting the next round of routing after all is completed.
However, since the request processing capability of each server may be different, the use of the above method to route the request to each server may result in inefficient request processing and insufficient utilization of server resources.
Disclosure of Invention
The application provides a request routing method, a request routing device and a readable storage medium, which are used for improving the request processing efficiency and improving the utilization rate of server resources.
In a first aspect, an embodiment of the present application provides a method for routing a request, including:
Receiving a request sent by a client;
for each server, acquiring a prestored average consumption time length of each request currently processed by the server;
Sequencing the servers according to a first order according to the average consumption time length corresponding to each server to obtain a server list, sequencing the obtained average consumption time lengths according to a second order, and respectively taking the obtained average consumption time lengths as routing weight values corresponding to the servers in the server list; wherein the second order is opposite to the first order;
sequentially and repeatedly storing server numbers corresponding to servers in the server list in an array to obtain a routing rule array; the number of times of storing each server number in the routing rule array is consistent with a routing weight value corresponding to a server corresponding to the server number;
Selecting a random number, and acquiring a target server number of a corresponding position from the routing rule array according to the random number; the random number is smaller than or equal to the number of all server numbers stored in the routing rule array;
And routing the request to a target server corresponding to the target server number.
Further, according to the method described above, the sorting the servers according to the first order according to the average consumption time length corresponding to each server, to obtain a server list, includes:
and sequencing the servers according to the order of the average time consumption of each current processing request from big to small to obtain a server list.
Further, in the method as described above, the sorting the obtained average consumption time lengths according to the second order, and using the average consumption time lengths as the routing weight values corresponding to the servers in the server list respectively includes:
sequencing the obtained average consumption time according to the order from small to large;
taking the minimum average consumed time length as a routing weight value corresponding to a server positioned at the first position of the server list;
And taking the maximum average consumed time length as a routing weight value corresponding to the server positioned at the tail end of the server list.
Further, in the method as described above, the storing server numbers corresponding to the servers in the server list in an array repeatedly in turn, to obtain a routing rule array, includes:
sequentially storing server numbers corresponding to the servers in the server list in the array, and subtracting one operation from a routing weight value corresponding to the server corresponding to each server number;
Judging whether a current routing weight value corresponding to a server corresponding to each server number is zero or not according to each server number;
If yes, stopping storing the server numbers in the array;
if not, storing the server numbers in the array again, subtracting one operation from the routing weight value corresponding to the server numbers, and returning to execute the step of judging whether the current routing weight value corresponding to the server corresponding to each server number is zero or not;
When the current routing weight value corresponding to the server corresponding to each server number is zero, the obtained array is a routing rule array.
Further, the method as described above, the method further comprising:
aiming at each server, collecting the consumption time length of the server for processing the received request at the target time point;
According to the acquired consumed time length, the prestored average consumed time length of each request currently processed by the server and the number of times of the requests currently received by the server, a preset average consumed time length calculation formula is adopted to calculate the first average consumed time length of each request processed by the server after the received requests are processed;
And updating the prestored average consumed time length of each request currently processed by the server by adopting the first average consumed time length.
Further, as described above, before the collecting, for each server, the time duration consumed by the server to process the received request at the time point, the method further includes:
Acquiring the current time and the time for initially acquiring the consumed time length of the server for processing the received request;
judging whether the difference between the current time and the time of the first acquisition of the consumed time length of the server for processing the received request is equal to the integral multiple of a preset acquisition interval or not;
if yes, determining the current time as a target time point;
If not, determining the current time as a non-target time point.
In a second aspect, an embodiment of the present application provides a request routing device, including:
The receiving module is used for receiving a request sent by the client;
the acquisition module is used for acquiring the prestored average consumption time length of each request currently processed by the server for each server;
The sequencing module is used for sequencing the servers according to the average consumed time length corresponding to each server, obtaining a server list, sequencing the obtained average consumed time lengths according to a second sequence, and respectively taking the obtained average consumed time lengths as routing weight values corresponding to the servers in the server list; wherein the second order is opposite to the first order;
the storage module is used for sequentially and repeatedly storing the server numbers corresponding to the servers in the server list in an array to obtain a routing rule array; the number of times of storing each server number in the routing rule array is consistent with a routing weight value corresponding to a server corresponding to the server number;
The selecting module is used for selecting a random number and acquiring a target server number of a corresponding position from the routing rule array according to the random number; the random number is smaller than or equal to the number of all server numbers stored in the routing rule array;
and the routing module is used for routing the request to the target server corresponding to the target server number.
Further, the apparatus as described above, further comprising:
the acquisition module is used for acquiring the consumption time length of the server for processing the received request at the target time point for each server;
The calculation module is used for calculating a first average consumption duration of each request after the server processes the received request by adopting a preset average consumption duration calculation formula according to the acquired consumption duration, the prestored average consumption duration of each request currently processed by the server and the number of times of the requests currently received by the server;
And the updating module is used for updating the prestored average consumed time length of each request currently processed by the server by adopting the first average consumed time length.
Further, in the device described above, the obtaining module is further configured to obtain a current time and a time for first collecting a time spent by the server for processing the received request;
the apparatus further comprises:
The judging module is used for judging whether the difference between the current time and the time of the first acquisition of the time consumption of the server for processing the received request is equal to the integral multiple of the preset acquisition interval or not;
The determining module is used for determining the current time as a target time point if the difference between the current time and the time of the first acquisition of the consumed time length of the server for processing the received request is equal to the integral multiple of a preset acquisition interval;
the determining module is further configured to determine that the current time is a non-target time point if a difference between the current time and a time of the first acquisition of the consumed time duration of the server for processing the received request is not equal to an integer multiple of a preset acquisition interval.
In a third aspect, embodiments of the present application provide a processor, and a memory and transceiver communicatively coupled to the processor;
the memory stores computer-executable instructions; the transceiver is used for receiving and forwarding a request sent by the client;
the processor executes computer-executable instructions stored in the memory to implement the request routing method as described in the first aspect.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium having stored therein computer-executable instructions, which when executed by a processor, are configured to implement the request routing method according to the first aspect.
In a fifth aspect, an embodiment of the present application provides a computer program product comprising a computer program which, when executed by a processor, implements the request routing method according to the first aspect.
The application provides a request routing method, a device, equipment and a readable storage medium, which are used for determining a server list and routing weight values of all servers in the list according to the average consumption time length of each server for processing each request currently, establishing a routing rule array according to the server numbers of all servers in the server list and the routing weight values of all servers in the list, randomly selecting a server number corresponding to one position from the routing rule array as a target server number after receiving a request sent by a client, and routing the request to a target server corresponding to the target server number. That is, the application can accurately determine the request processing capability of each server through the average time length of each server currently processing each request, and thus determine the routing weight value of each server, and the routing rule array established based on the routing weight value is adopted to route the request, so that more opportunities can be provided for routing the request to the server with stronger request processing capability, thereby effectively improving the request processing efficiency and the server resource utilization rate.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and together with the description, serve to explain the principles of the application.
FIG. 1 is a schematic diagram of a system architecture according to an embodiment of the present application;
FIG. 2 is a flowchart of a request routing method according to an embodiment of the present application;
FIG. 3 is a flowchart of another request routing method according to an embodiment of the present application;
FIG. 4 is a flowchart of another request routing method according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a request routing device according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Specific embodiments of the present application have been shown by way of the above drawings and will be described in more detail below. The drawings and the written description are not intended to limit the scope of the inventive concepts in any way, but rather to illustrate the inventive concepts to those skilled in the art by reference to the specific embodiments.
Detailed Description
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples do not represent all implementations consistent with the application. Rather, they are merely examples of apparatus and methods consistent with aspects of the application.
In daily traffic, clients typically send a large number of network requests, which need to be routed to multiple servers in order to be handled in time. Currently, common request routing methods are distributed routing and fixed rule routing. The distributed routing is to route requests of the same service type to a group of servers based on service rules, and the number of the requests routed to each server in the group of servers is the same. The fixed rule routing may be a sequential polling, i.e. routing the request to each server in sequence, and restarting the next round of routing after all is completed.
However, since the request processing capability of each server may be different, the use of the above method to route the request to each server may result in inefficient request processing and insufficient utilization of server resources.
The application provides a request routing method, a request routing device, a request routing equipment and a readable storage medium, and aims to solve the technical problems in the prior art.
The following describes the technical scheme of the present application and how the technical scheme of the present application solves the above technical problems in detail with specific embodiments. The following embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of a system architecture provided in an embodiment of the present application, as shown in fig. 1, where the system architecture shown in fig. 1 may specifically include a client 1, a routing device 2, a plurality of servers 3, and a remote dictionary server 4, where a request routing device is disposed in the routing device 2.
The client 1 may be installed on any electronic device with a communication function, for example, a desktop computer, a notebook computer, a mobile phone, or an intelligent home device, etc., and is configured to send a network request to the routing device 2, so that the routing device 2 forwards the received network request to the plurality of servers 3 to implement a request routing. The request routing device may be mounted on the routing device 2, and configured to receive a request sent by the client 1, obtain, for each server, an average consumption time length of processing each request currently by the server stored in advance in the remote dictionary server 4, determine a server list and routing weight values of each server in the list according to the average consumption time length, establish a routing rule array according to the server numbers of each server in the server list and the routing weight values of each server in the list, randomly select a server number corresponding to a location from the routing rule array as a target server number, and route the request to the target server 3 corresponding to the target server number.
Example 1
Fig. 2 is a flowchart of a request routing method provided by an embodiment of the present application, and as shown in fig. 2, the request routing method provided by the embodiment includes the following steps:
step 201, a request sent by a client is received.
Step 202, for each server, obtaining a prestored average consumed time length for the server to currently process each request.
Step 203, sorting the servers according to a first order according to the average time consumption corresponding to each server, obtaining a server list, sorting the obtained average time consumption according to a second order, and respectively using the obtained average time consumption as a routing weight value corresponding to each server in the server list; wherein the second order is opposite to the first order.
Step 204, sequentially and repeatedly storing server numbers corresponding to servers in the server list in an array to obtain a routing rule array; and the number of times of storing each server number in the routing rule array is consistent with the routing weight value corresponding to the server number.
Step 205, selecting a random number, and acquiring a target server number of a corresponding position from the routing rule array according to the random number; and the random number is smaller than or equal to the number of all server numbers stored in the routing rule array.
Step 206, the request is routed to the target server corresponding to the target server number.
It should be noted that, the execution body of the request routing method provided in this embodiment may be a request routing device. In practical applications, the request routing device may be implemented by a computer program, for example, application software, etc., may be implemented by a medium storing the relevant computer program, for example, a usb disk, an optical disk, etc., or may be implemented by a physical device integrated with or installed with the relevant computer program, for example, a chip, etc.
In this embodiment, since the existing request routing method may cause the problem that the efficiency of request processing is low and the server resources cannot be fully utilized, in order to improve the efficiency of request processing and improve the utilization rate of server resources, the request processing capability of each server may be determined by the average time length consumed for each server to currently process each request, and thus the routing weight value of each server is determined, and the request routing is performed by adopting the routing rule array established based on the routing weight value.
Specifically, the request routing device may first receive a request sent by a client, in order to be able to route the request to an appropriate server, so that the request is processed as soon as possible. The request routing means may acquire, for each server, a prestored average consumed time period for the server to currently process each request.
In practical applications, the average time duration of each request currently processed by each server may be stored in a remote dictionary server (Remote Dictionary Server, abbreviated as Redis) in advance, that is, the request routing device may obtain, from the remote dictionary server, the average time duration of each request currently processed by each server based on the identifier of the server.
For example, there are currently 5 servers for processing the request, respectively, where the srv_1, srv_2, srv_3, srv_4, and srv_5, when the request routing device receives the request sent by the client, the request routing device may obtain, based on the respective identifiers of the 5 servers, a pre-stored average consumption duration of each server currently processing each request from the remote dictionary server, where the obtained average consumption duration corresponding to each server may be: the average consumption time length corresponding to the srv_1 is 4ms, the average consumption time length corresponding to the srv_2 is 3ms, the average consumption time length corresponding to the srv_3 is 8ms, the average consumption time length corresponding to the srv_4 is 6ms, and the average consumption time length corresponding to the srv_5 is 2ms.
After obtaining the average time consumption of each server for processing each request currently, the request routing device may sort the servers according to the first order according to the average time consumption corresponding to each server, so as to obtain a server list.
Based on the first embodiment, in an optional implementation manner, in step 203, the sorting the servers according to the first order according to the average consumption duration corresponding to each server to obtain a server list includes: and sequencing the servers according to the order of the average time consumption of each current processing request from big to small to obtain a server list.
In this embodiment, for the foregoing example, the request routing device may sort the 5 servers in order from the largest average consumption duration to the smallest average consumption duration of each request currently processed, where the average consumption duration corresponding to srv_3 is 8ms, the average consumption duration corresponding to srv_5 is smallest, 2ms, the average consumption duration corresponding to srv_4 in the middle, 6ms, the average consumption duration corresponding to srv_1, 4ms, and the average consumption duration corresponding to srv_2 are 3ms. Accordingly, the obtained server list is [ srv_3, srv_4, srv_1, srv_2, srv_5].
After obtaining the server list, the request routing device may further sort the obtained average consumed time periods according to a second order, and use the average consumed time periods as routing weight values corresponding to the servers in the server list. Wherein the second order is the reverse order of the first order.
In another optional implementation manner, in step 203, the sorting the obtained average time consumption periods according to the second order and using the average time consumption periods as the routing weight values corresponding to the servers in the server list respectively includes: sequencing the obtained average consumption time according to the order from small to large; taking the minimum average consumed time length as a routing weight value corresponding to a server positioned at the first position of the server list; and taking the maximum average consumed time length as a routing weight value corresponding to the server positioned at the tail end of the server list.
In this embodiment, for the foregoing example, the request routing device may sort the obtained 5 average consumption durations in order from small to large, where the minimum average consumption duration is 2ms, the maximum average consumption duration is 8ms, and the middle is 3ms, 4ms, and 6ms in order. The request routing device may use the request routing device as a routing weight value corresponding to each server in the server list [ srv_3, srv_4, srv_1, srv_2, srv_5], that is, the smallest average consumed time length 2ms is used as the routing weight value corresponding to the server located at the first position of the server list, that is, the srv_3, the largest average consumed time length 8ms is used as the routing weight value corresponding to the server located at the last position of the server list, that is, the srv_5, and the middle average consumed time lengths 3ms, 4ms and 6ms are respectively used as the routing weight values corresponding to the servers located in the middle of the server list, that is, srv_4, srv_1, srv_2.
Correspondingly, a routing weight value 2 corresponding to the srv_3, a routing weight value 3 corresponding to the srv_4, a routing weight value 4 corresponding to the srv_1, a routing weight value 6 corresponding to the srv_2 and a routing weight value 8 corresponding to the srv_5 can be obtained.
After obtaining the server list and the routing weight values corresponding to the servers in the server list, the request routing device can repeatedly store the server numbers corresponding to the servers in the server list in an array in sequence to obtain the routing rule array. The number of times of storing each server number in the routing rule array is consistent with the routing weight value corresponding to the server number.
Fig. 3 is a flowchart of another request routing method according to an embodiment of the present application, as shown in fig. 3, where, based on the first embodiment, step 204 specifically includes the following steps:
step 301, sequentially storing server numbers corresponding to the servers in the server list in the array, and subtracting one operation from a routing weight value corresponding to the server corresponding to each server number.
Step 302, for each server number, it is determined whether the current routing weight value corresponding to the server number is zero.
And 303, if yes, stopping storing the server number in the array.
And 304, if not, storing the server numbers in the array again, subtracting one operation from the routing weight value corresponding to the server numbers, and returning to execute the step of judging whether the current routing weight value corresponding to the server corresponding to each server number is zero or not according to each server number.
Step 305, when the current routing weight value corresponding to the server corresponding to each server number is zero, the obtained array is a routing rule array.
In this embodiment, the request routing device may first store server numbers corresponding to servers in the server list in the array in sequence, and perform a subtracting operation on the routing weight value corresponding to each server number.
For example, the request routing device may store the server numbers corresponding to the servers in the server lists [ srv_3, srv_4, srv_1, srv_2, srv_5], that is, 3,4,1,2,5, in the array in sequence, obtain the array [3,4,1,2,5], and perform the subtracting operation on the routing weight value 2 corresponding to the srv_3, the routing weight value 3 corresponding to the srv_4, the routing weight value 4 corresponding to the srv_4, the routing weight value 6 corresponding to the srv_1, and the routing weight value 8 corresponding to the srv_5 in the server list [ srv_3, srv_4, srv_1, srv_2, srv_5] corresponding to the server list. That is, the routing weight value corresponding to srv_3 of server number 3 is reduced to 1, the routing weight value corresponding to srv_4 of server number 4 is reduced to 2, the routing weight value corresponding to srv_1 of server number 1 is reduced to 3, the routing weight value corresponding to srv_2 of server number 2 is reduced to 5, and the routing weight value corresponding to srv_5 of server number 5 is reduced to 7.
After subtracting one operation from the routing weight value corresponding to the server corresponding to each server number, the request routing device can judge whether the current routing weight value corresponding to the server corresponding to each server number is zero or not according to each server number. In one possible case, if the current routing weight value corresponding to the server number is zero, the server number is stopped from being stored in the array.
In another possible case, if the current routing weight value corresponding to the server number is not zero, the server number is stored in the array again, the routing weight value corresponding to the server number is subtracted, and the step of judging whether the current routing weight value corresponding to the server number is zero for each server number is executed.
When the request routing device judges that the current routing weight value corresponding to the server corresponding to each server number is zero, the currently obtained array is the routing rule array.
In the above example, after the routing weight value corresponding to srv_3 of the server number 3 is reduced to 1, the routing weight value corresponding to srv_4 of the server number 4 is reduced to 2, the routing weight value corresponding to srv_1 of the server number 1 is reduced to 3, the routing weight value corresponding to srv_2 of the server number 2 is reduced to 5, and the routing weight value corresponding to srv_5 of the server number 5 is reduced to 7, the routing device may determine whether the current routing weight values corresponding to srv_3, srv_4, srv_1, srv_2, srv_5 of the servers 3,4, 1, 2,5 are zero, respectively.
As a result, it can be seen that, when the current routing weight values of the servers srv_3, srv_4, srv_1, srv_2, and srv_5 corresponding to the server numbers 3,4,1,2, and 5 are not zero, the request routing device may store the server numbers 3,4,1,2, and 5 in the array in turn, obtain the array [3,4,1,2,5,3,4,1,2,5], and perform the subtracting operation on the routing weight values of the servers srv_3, srv_4, srv_1, srv_2, and srv_5 corresponding to the server numbers 3,4,1,2, and 5, that is, the routing weight value of the srv_3 corresponding to the server number 3 is reduced to 0, the routing weight value of the srv_4 corresponding to the server number 4 is reduced to 1, the routing weight value of the srv_1 corresponding to the server number 1 is reduced to 2, and the routing weight value of the srv_2 corresponding to the server number 2 is reduced to 6, and the routing weight value of the srv_5 corresponding to the server number 2 is reduced to 6.
At this time, the request routing device may return to executing the step of determining, for each server number, whether or not the current routing weight value corresponding to the server number is zero. As a result, when the current routing weight value corresponding to srv_3 corresponding to server number 3 is zero, the storage of the server number, that is, server number 3, in the array is stopped. Meanwhile, if the current routing weight value of the server srv_4, srv_1, srv_2, srv_5 corresponding to the server numbers 4,1,2, and 5 is not zero, the request routing device may store the server numbers 4,1,2, and 5 in the array in turn, obtain the array [3,4,1,2,5,3,4,1,2,5,4,1,2,5], and perform a subtracting operation on the routing weight value of the server srv_4, srv_1, srv_2, and srv_5 corresponding to the server numbers 4,1,2, and 5, that is, reduce the routing weight value of the srv_4 corresponding to the server number 4 to 0, reduce the routing weight value of the srv_1 corresponding to the server number 1 to 1, reduce the routing weight value of the srv_2 corresponding to the server number 2 to 3, and reduce the routing weight value of the srv_5 corresponding to the server number 5 to 5.
The request routing device returns to execute the step of judging whether the current routing weight value corresponding to the server number is zero for each server number again, and repeatedly executes the processing until the request routing device judges that the current routing weight value corresponding to the server corresponding to each server number is zero, namely, when the routing weight value corresponding to srv_5 corresponding to the last server number 5 is subtracted to be 0, the currently obtained array is [3,4,1,2,5,3,4,1,2,5,4,1,2,5,1,2,5,2,5,2,5,5,5], and the array is the routing rule array.
After the routing rule array is obtained, the request routing device can select a random number, obtain the target server number of the corresponding position from the routing rule array according to the random number, and route the request to the target server corresponding to the target server number. The random number is smaller than or equal to the number of all server numbers stored in the routing rule array.
For example, after the routing rule array is obtained, since the number of all server numbers stored in the routing rule array is 23, the request routing device may select a random number smaller than or equal to 23, for example, 11, and obtain the target server number of the corresponding position from the routing rule array according to the random number 11, that is, the 11 th server number in the routing rule array, that is, the server number 4, and the request routing device may route the request to the target server srv_4 corresponding to the server number 4, so that the srv_4 processes the request.
According to the request routing method provided by the embodiment, a server list and routing weight values of all servers in the list are determined according to the average time consumption of each server for processing each request, a routing rule array is established according to the server numbers of all servers in the server list and the routing weight values of all servers in the list, after a request sent by a client is received, a server number corresponding to one position is randomly selected from the routing rule array to serve as a target server number, and the request is routed to a target server corresponding to the target server number. That is, in the embodiment of the present application, the average time duration of each request currently processed by each server may accurately determine the request processing capability of each server, and thus determine the routing weight value of each server, and use the routing rule array established based on the routing weight value to route the request, so that there may be more opportunities to route the request to the server with stronger request processing capability, thereby effectively improving the efficiency of request processing and improving the resource utilization rate of the server.
Example two
Fig. 4 is a flowchart of another request routing method provided in the embodiment of the present application, as shown in fig. 4, where on the basis of any one of the foregoing embodiments, the request routing method provided in the embodiment further includes the following steps:
step 401, for each server, collecting the consumed time length of the server for processing the received request at the target time point.
Step 402, according to the collected consumed time length, the prestored average consumed time length of each request currently processed by the server and the number of times of the requests currently received by the server, a preset average consumed time length calculation formula is adopted to calculate the first average consumed time length of each request processed by the server after the server processes the received requests.
And step 403, updating the prestored average consumed time length of each request currently processed by the server by adopting the first average consumed time length.
In this embodiment, because factors such as a network may affect the request processing speed of the server, the speed of processing requests by different servers in different time periods may change, so in order to accurately determine the current request processing capability of the server, the average consumption time length of processing each request by the server at present may be calculated periodically, and the prestored average consumption time length may be updated.
Specifically, the request routing device may collect, for each server, the time consumption duration of the server for processing the received request at the target time point, which is not limited in this embodiment of the specific collection method.
After the time consumption is collected, the request routing device can calculate the first average time consumption of the server for processing each request after the server processes the received request by adopting a preset average time consumption calculation formula according to the collected time consumption, the prestored average time consumption of the server for processing each request and the number of times of the requests currently received by the server. The preset average time consumption calculation formula is as follows:
S_Avgs1[sno]=(S_Avgs[sno]*(N-1)+C_Time)/N
Wherein sno is the server number, s_ Avgs1 is the first average Time duration for processing each request after the server processes the request received this Time, s_ Avgs is the prestored average Time duration for processing each request currently by the server, N is the number of times the server receives the request currently, and c_time is the Time duration for processing the request received this Time by the server.
In one example, if the current time consuming duration of processing the received request by the server with server number 1 is 105ms, the average time consuming duration of processing each request currently by the pre-stored server with server number 1 is 5ms, and the number of times of processing the received request currently by the server is 100 th, the first average time consuming duration of processing each request after processing the received request by the server with server number 1 is (5×99+105)/100, that is, 6ms.
After the calculation to obtain the first average time consumption of the server to process the received request, the request routing device may update the prestored average time consumption of the server to process each request, that is, replace the prestored average time consumption with the first average time consumption.
By the method, the average consumption time length of each request currently processed by the server can be calculated regularly, so that the current request processing capacity of the server can be timely and accurately determined, the prestored average consumption time length is updated, and the problem that factors such as network instability influence the request processing speed of the server and therefore the request processing efficiency is influenced is effectively avoided.
Based on the second embodiment, in an alternative implementation, before step 401, the method further includes: acquiring the current time and the time for initially acquiring the consumed time length of the server for processing the received request; judging whether the difference between the current time and the time of the first acquisition of the consumed time length of the server for processing the received request is equal to the integral multiple of a preset acquisition interval or not; if yes, determining the current time as a target time point; if not, determining the current time as a non-target time point.
In this embodiment, before collecting, for each server, the time period consumed by the server to process the request received this time, the request routing device first needs to determine a target point in time for collection.
Specifically, in one example, the request routing device may obtain the current time from the clock unit, obtain the time of the consumed time length of the processing of the received request by the first acquisition server from the remote dictionary server, and determine whether the difference between the current time and the time of the consumed time length of the processing of the received request by the first acquisition server is equal to an integer multiple of a preset acquisition interval.
In one possible case, the difference between the current time and the time of the consumed time of processing the received request by the first acquisition server is equal to an integer multiple of the preset acquisition interval, and the request routing device may determine the current time as the target time point. Accordingly, in still another possible case, the difference between the current time and the time of the elapsed time of processing the received request by the primary acquisition server is not equal to an integer multiple of the preset acquisition interval, and the request routing device may determine that the current time is a non-target time point.
For example, if the preset acquisition interval is 2 minutes, the time spent by the primary acquisition server processing the received request is 12 hours 0 minutes, and in one example, the current time acquired by the request routing device is 13 hours 0 minutes, the request routing device may determine that the difference between the current time and the time spent by the primary acquisition server processing the received request is equal to an integer multiple of the preset acquisition interval, and the request routing device may determine that the current time 13 hours 0 is the target time point. In yet another example, when the current time acquired by the request routing device is 13 hours and 1 minute, the request routing device may determine that the difference between the current time and the time of the consumed time for the first acquisition server to process the received request is not equal to an integer multiple of the preset acquisition interval, and then the request routing device may determine that the current time 13 hours and 1 minute is not the target time point.
According to the request routing method provided by the embodiment, whether the current time is the target time point or not is determined by judging whether the difference between the current time and the time of the time consumption of the first acquisition server for processing the received request is equal to the integral multiple of the preset acquisition interval, the time of the time consumption of the current received request is processed by the acquisition server at the target time point, and the average time consumption of each request currently processed by the server is calculated, so that the current request processing capacity of the server can be timely and accurately determined, the prestored average time consumption is updated, and a foundation is laid for determining a proper routing rule array and further improving the request processing efficiency.
Example III
Fig. 5 is a schematic structural diagram of a request routing device according to an embodiment of the present application, as shown in fig. 5, where the request routing device provided in this embodiment includes: the device comprises a receiving module 51, an obtaining module 52, a sorting module 53, a storing module 54, a selecting module 55 and a routing module 56. The receiving module 51 is configured to receive a request sent by a client. An obtaining module 52, configured to obtain, for each server, a prestored average consumed time duration for the server to currently process each request. The sorting module 53 is configured to sort the servers according to a first order according to an average time consumption corresponding to each server, obtain a server list, sort the obtained average time consumption according to a second order, and respectively use the obtained average time consumption as a routing weight value corresponding to each server in the server list; wherein the second order is opposite to the first order. The storage module 54 is configured to sequentially and repeatedly store server numbers corresponding to servers in the server list in an array, so as to obtain a routing rule array; and the number of times of storing each server number in the routing rule array is consistent with the routing weight value corresponding to the server number. A selecting module 55, configured to select a random number, and obtain a target server number of a corresponding location from the routing rule array according to the random number; and the random number is smaller than or equal to the number of all server numbers stored in the routing rule array. And a routing module 56, configured to route the request to a target server corresponding to the target server number.
According to the request routing device provided by the embodiment, a server list and routing weight values of all servers in the list are determined according to the average consumption time length of each server for processing each request, a routing rule array is established according to the server numbers of all servers in the server list and the routing weight values of all servers in the list, after a request sent by a client is received, a server number corresponding to one position is randomly selected from the routing rule array to serve as a target server number, and the request is routed to a target server corresponding to the target server number. That is, in the embodiment of the present application, the average time duration of each request currently processed by each server may accurately determine the request processing capability of each server, and thus determine the routing weight value of each server, and use the routing rule array established based on the routing weight value to route the request, so that there may be more opportunities to route the request to the server with stronger request processing capability, thereby effectively improving the efficiency of request processing and improving the resource utilization rate of the server.
In an alternative embodiment, the ranking module 53 is specifically configured to rank the servers in order from the big to the small in the average duration of the current processing of each request, so as to obtain a server list.
In an optional embodiment, the sorting module 53 is further specifically configured to sort the obtained average consumption durations in order from small to large; taking the minimum average consumed time length as a routing weight value corresponding to a server positioned at the first position of the server list; and taking the maximum average consumed time length as a routing weight value corresponding to the server positioned at the tail end of the server list.
In an alternative embodiment, the storing module 54 is specifically configured to store server numbers corresponding to servers in the server list in the array sequentially, and perform a subtracting operation on a routing weight value corresponding to a server corresponding to each server number; judging whether a current routing weight value corresponding to a server corresponding to each server number is zero or not according to each server number; if yes, stopping storing the server numbers in the array; if not, storing the server numbers in the array again, subtracting one operation from the routing weight value corresponding to the server numbers, and returning to execute the step of judging whether the current routing weight value corresponding to the server corresponding to each server number is zero or not; when the current routing weight value corresponding to the server corresponding to each server number is zero, the obtained array is a routing rule array.
In an alternative embodiment, the request routing device further includes: the device comprises an acquisition module, a calculation module and an updating module. The acquisition module is used for acquiring the consumption time length of the server for processing the received request at the target time point for each server. The calculation module is configured to calculate, according to the collected time consumption, a prestored average time consumption of each request currently processed by the server, and the number of times of the requests currently received by the server, by using a preset average time consumption calculation formula, a first average time consumption of each request after the server processes the received requests. And the updating module is used for updating the prestored average consumed time length of each request currently processed by the server by adopting the first average consumed time length.
In an alternative embodiment, the obtaining module 52 is further configured to obtain the current time and a time for first collecting the elapsed time of the server to process the received request. The apparatus further comprises: the judging module and the determining module. The judging module is used for judging whether the difference between the current time and the time of the first acquisition of the time consuming time of the server for processing the received request is equal to the integral multiple of the preset acquisition interval or not. The determining module is configured to determine that the current time is a target time point if a difference between the current time and a time of the first acquisition of the consumed time length of the server for processing the received request is equal to an integer multiple of a preset acquisition interval. The determining module is further configured to determine that the current time is a non-target time point if a difference between the current time and a time of the first acquisition of the consumed time duration of the server for processing the received request is not equal to an integer multiple of a preset acquisition interval.
It should be noted that, the technical solutions and effects executed by the request routing device provided in this embodiment may refer to the relevant content of the foregoing method embodiment, which is not described herein again.
Example IV
Fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present application, and as shown in fig. 6, the present application further provides an electronic device 600, including: a memory 601, a processor 602, and a transceiver 603.
A memory 601 for storing programs. In particular, the program may include program code comprising computer-executable instructions. The memory 601 may comprise a high-speed RAM memory or may further comprise a non-volatile memory (non-volatile memory), such as at least one disk memory.
A processor 602 for executing programs stored in the memory 601.
A transceiver 603 for receiving and forwarding requests sent by clients.
Wherein a computer program is stored in the memory 601 and configured to be executed by the processor 602 to implement the request routing method provided by any one of the embodiments of the present application. The related descriptions and effects corresponding to the steps in the drawings can be understood correspondingly, and are not repeated here.
In this embodiment, the memory 601, the processor 602, and the transceiver 603 are connected through a bus. The bus may be an industry standard architecture (Industry Standard Architecture, abbreviated ISA) bus, an external device interconnect (PERIPHERAL COMPONENT INTERCONNECT, abbreviated PCI) bus, or an extended industry standard architecture (Extended Industry Standard Architecture, abbreviated EISA) bus, among others. The buses may be classified as address buses, data buses, control buses, etc. For ease of illustration, only one thick line is shown in fig. 6, but not only one bus or one type of bus.
Example five
The embodiment of the application also provides a computer readable storage medium, on which a computer program is stored, the computer program being executed by a processor to implement the request routing method provided by any one of the embodiments of the application.
Example six
Embodiments of the present application also provide a computer program product comprising a computer program which, when executed by a processor, implements any of the embodiments of the present application to provide a request routing method.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of modules is merely a logical function division, and there may be additional divisions of actual implementation, e.g., multiple modules or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or modules, which may be in electrical, mechanical, or other forms.
The modules illustrated as separate components may or may not be physically separate, and components shown as modules may or may not be physical modules, i.e., may be located in one place, or may be distributed over a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist alone physically, or two or more modules may be integrated into one module. The integrated modules may be implemented in hardware or in hardware plus software functional modules.
Program code for carrying out methods of the present application may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable request routing device such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of the present application, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
Moreover, although operations are depicted in a particular order, this should be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the application. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination.
Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. This application is intended to cover any variations, uses, or adaptations of the application following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the application pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
It is to be understood that the application is not limited to the precise arrangements and instrumentalities shown in the drawings, which have been described above, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the application is limited only by the appended claims.
Claims (11)
1. A method of routing a request, comprising:
Receiving a request sent by a client;
for each server, acquiring a prestored average consumption time length of each request currently processed by the server;
Sequencing the servers according to a first order according to the average consumption time length corresponding to each server to obtain a server list, sequencing the obtained average consumption time lengths according to a second order, and respectively taking the obtained average consumption time lengths as routing weight values corresponding to the servers in the server list; wherein the second order is opposite to the first order;
Sequentially storing server numbers corresponding to the servers in the server list in an array, and subtracting one operation from a routing weight value corresponding to the server corresponding to each server number;
Judging whether a current routing weight value corresponding to a server corresponding to each server number is zero or not according to each server number;
If yes, stopping storing the server numbers in the array;
if not, storing the server numbers in the array again, subtracting one operation from the routing weight value corresponding to the server numbers, and returning to execute the step of judging whether the current routing weight value corresponding to the server corresponding to each server number is zero or not;
when the current routing weight value corresponding to the server corresponding to each server number is zero, the obtained array is a routing rule array;
Selecting a random number, and acquiring a target server number of a corresponding position from the routing rule array according to the random number; the random number is smaller than or equal to the number of all server numbers stored in the routing rule array;
And routing the request to a target server corresponding to the target server number.
2. The method according to claim 1, wherein the sorting the servers according to the average time consumption corresponding to each server in the first order to obtain the server list includes:
and sequencing the servers according to the order of the average time consumption of each current processing request from big to small to obtain a server list.
3. The method according to claim 2, wherein the sorting the obtained average time consumption according to the second order and using the average time consumption as the routing weight value corresponding to each server in the server list includes:
sequencing the obtained average consumption time according to the order from small to large;
taking the minimum average consumed time length as a routing weight value corresponding to a server positioned at the first position of the server list;
And taking the maximum average consumed time length as a routing weight value corresponding to the server positioned at the tail end of the server list.
4. A method according to any one of claims 1-3, wherein the method further comprises:
aiming at each server, collecting the consumption time length of the server for processing the received request at the target time point;
According to the acquired consumed time length, the prestored average consumed time length of each request currently processed by the server and the number of times of the requests currently received by the server, a preset average consumed time length calculation formula is adopted to calculate the first average consumed time length of each request processed by the server after the received requests are processed;
And updating the prestored average consumed time length of each request currently processed by the server by adopting the first average consumed time length.
5. The method of claim 4, wherein for each server, before the target time point is acquired for the duration of time that the server processes the received request, further comprising:
Acquiring the current time and the time for initially acquiring the consumed time length of the server for processing the received request;
judging whether the difference between the current time and the time of the first acquisition of the consumed time length of the server for processing the received request is equal to the integral multiple of a preset acquisition interval or not;
if yes, determining the current time as a target time point;
If not, determining the current time as a non-target time point.
6. A request routing device, comprising:
The receiving module is used for receiving a request sent by the client;
the acquisition module is used for acquiring the prestored average consumption time length of each request currently processed by the server for each server;
The sequencing module is used for sequencing the servers according to the average consumed time length corresponding to each server, obtaining a server list, sequencing the obtained average consumed time lengths according to a second sequence, and respectively taking the obtained average consumed time lengths as routing weight values corresponding to the servers in the server list; wherein the second order is opposite to the first order;
The storage module is used for sequentially storing the server numbers corresponding to the servers in the server list in an array, and subtracting one operation from the routing weight value corresponding to the server corresponding to each server number; judging whether a current routing weight value corresponding to a server corresponding to each server number is zero or not according to each server number; if yes, stopping storing the server numbers in the array; if not, storing the server numbers in the array again, subtracting one operation from the routing weight value corresponding to the server numbers, and returning to execute the step of judging whether the current routing weight value corresponding to the server corresponding to each server number is zero or not; when the current routing weight value corresponding to the server corresponding to each server number is zero, the obtained array is a routing rule array;
The selecting module is used for selecting a random number and acquiring a target server number of a corresponding position from the routing rule array according to the random number; the random number is smaller than or equal to the number of all server numbers stored in the routing rule array;
and the routing module is used for routing the request to the target server corresponding to the target server number.
7. The apparatus of claim 6, wherein the apparatus further comprises:
the acquisition module is used for acquiring the consumption time length of the server for processing the received request at the target time point for each server;
The calculation module is used for calculating a first average consumption duration of each request after the server processes the received request by adopting a preset average consumption duration calculation formula according to the acquired consumption duration, the prestored average consumption duration of each request currently processed by the server and the number of times of the requests currently received by the server;
And the updating module is used for updating the prestored average consumed time length of each request currently processed by the server by adopting the first average consumed time length.
8. The apparatus of claim 7, wherein the device comprises a plurality of sensors,
The acquisition module is also used for acquiring the current time and the time for initially acquiring the consumed time length of the server for processing the received request;
the apparatus further comprises:
The judging module is used for judging whether the difference between the current time and the time of the first acquisition of the time consumption of the server for processing the received request is equal to the integral multiple of the preset acquisition interval or not;
The determining module is used for determining the current time as a target time point if the difference between the current time and the time of the first acquisition of the consumed time length of the server for processing the received request is equal to the integral multiple of a preset acquisition interval;
the determining module is further configured to determine that the current time is a non-target time point if a difference between the current time and a time of the first acquisition of the consumed time duration of the server for processing the received request is not equal to an integer multiple of a preset acquisition interval.
9. An electronic device, comprising: a processor, and a memory and transceiver communicatively coupled to the processor;
the memory stores computer-executable instructions; the transceiver is used for receiving and forwarding a request sent by the client;
The processor executes computer-executable instructions stored in the memory to implement the request routing method of any of claims 1-5.
10. A computer readable storage medium having stored therein computer executable instructions which when executed by a processor are adapted to implement the request routing method of any of claims 1-5.
11. A computer program product comprising a computer program which, when executed by a processor, implements the request routing method according to any of claims 1-5.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210204906.XA CN114615339B (en) | 2022-03-02 | 2022-03-02 | Request routing method, device, equipment and readable storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210204906.XA CN114615339B (en) | 2022-03-02 | 2022-03-02 | Request routing method, device, equipment and readable storage medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN114615339A CN114615339A (en) | 2022-06-10 |
| CN114615339B true CN114615339B (en) | 2024-10-22 |
Family
ID=81860523
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210204906.XA Active CN114615339B (en) | 2022-03-02 | 2022-03-02 | Request routing method, device, equipment and readable storage medium |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114615339B (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112995265A (en) * | 2019-12-18 | 2021-06-18 | 中国移动通信集团四川有限公司 | Request distribution method and device and electronic equipment |
| CN113900731A (en) * | 2021-09-30 | 2022-01-07 | 百度在线网络技术(北京)有限公司 | Request processing method, device, equipment and storage medium |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8539080B1 (en) * | 2012-12-18 | 2013-09-17 | Microsoft Corporation | Application intelligent request management based on server health and client information |
-
2022
- 2022-03-02 CN CN202210204906.XA patent/CN114615339B/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112995265A (en) * | 2019-12-18 | 2021-06-18 | 中国移动通信集团四川有限公司 | Request distribution method and device and electronic equipment |
| CN113900731A (en) * | 2021-09-30 | 2022-01-07 | 百度在线网络技术(北京)有限公司 | Request processing method, device, equipment and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114615339A (en) | 2022-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105677469B (en) | Timed task execution method and device | |
| CN109981744B (en) | Data distribution method and device, storage medium and electronic equipment | |
| CN108241539B (en) | Interactive big data query method and device based on distributed system, storage medium and terminal equipment | |
| CN105516347A (en) | Method and device for load balance allocation of streaming media server | |
| CN109033814B (en) | Intelligent contract triggering method, device, equipment and storage medium | |
| CN110609758A (en) | Queue-based device operating method, computer device and readable storage medium | |
| CN111222972A (en) | Account checking and clearing method and device | |
| CN113760950B (en) | Index data query method, device, electronic equipment and storage medium | |
| CN110213213B (en) | Timing task processing method and system for application | |
| CN114615339B (en) | Request routing method, device, equipment and readable storage medium | |
| CN106775975B (en) | Process scheduling method and device | |
| CN112416539B (en) | Multi-task parallel scheduling method for heterogeneous many-core processor | |
| CN115860300A (en) | Battery replacement scheduling method and device for vehicle, electronic equipment and storage medium | |
| CN111556123A (en) | Self-adaptive network rapid configuration and load balancing system based on edge calculation | |
| CN109375146B (en) | Supplementary collection method and system for electricity consumption data and terminal equipment | |
| CN113676790B (en) | Acquisition scheduling method and device for low-voltage centralized meter reading equipment, concentrator and medium | |
| CN113094305B (en) | Asynchronous communication processing method, device and storage medium | |
| CN112181498B (en) | Concurrency control method, device and equipment | |
| CN112579257B (en) | Scheduling method and device for virtual central processing unit core and related equipment | |
| CN109308219B (en) | Task processing method and device and distributed computer system | |
| CN115952202A (en) | Query method | |
| CN107220748B (en) | Equipment acquisition scheduling method and system based on greedy algorithm | |
| CN112486654A (en) | Asynchronous slow task scheduling method, device, equipment and medium | |
| CN119149347B (en) | Method and system for monitoring the operating status of data center equipment | |
| CN111192165A (en) | Intelligent ammeter management platform based on preprocessing method |
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 |