CN112054923B - Service request detection method, equipment and medium - Google Patents

Service request detection method, equipment and medium Download PDF

Info

Publication number
CN112054923B
CN112054923B CN202010858849.8A CN202010858849A CN112054923B CN 112054923 B CN112054923 B CN 112054923B CN 202010858849 A CN202010858849 A CN 202010858849A CN 112054923 B CN112054923 B CN 112054923B
Authority
CN
China
Prior art keywords
scheduling
service request
server
target server
indication information
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
CN202010858849.8A
Other languages
Chinese (zh)
Other versions
CN112054923A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010858849.8A priority Critical patent/CN112054923B/en
Publication of CN112054923A publication Critical patent/CN112054923A/en
Application granted granted Critical
Publication of CN112054923B publication Critical patent/CN112054923B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Abstract

The application relates to the technical field of clouds, in particular to a service request detection method, equipment and medium, wherein the method can be applied to a content distribution network and comprises the following steps: the method comprises the steps of respectively obtaining scheduling sequence indication information of each first service request from scheduling parameters carried in each first service request; the scheduling parameter of each first service request is obtained from a scheduling response of a scheduling server by a client, and scheduling order indication information is used for indicating the order of a target server corresponding to the scheduling service request of the scheduling server; acquiring scheduling order indication information of a second service request according to the acquired scheduling order indication information; the method includes the steps that scheduling order indication information of a second service request is sent to a decision server, and relevant information of the service request which is not achieved is detected and reported through a target server, so that storage occupation, search expenditure and the like in the service request detection process are reduced.

Description

Service request detection method, equipment and medium
Technical Field
The application relates to the technical field of cloud, in particular to the technical field of network scheduling, and provides a service request detection method, equipment and medium.
Background
In the content delivery network (Content Delivery Network, CDN), the decision server may adjust or determine a corresponding scheduling decision, for example, prohibit scheduling of a certain target server, according to the case where the scheduling server schedules each target server and the case where each target server processes a service request.
At present, the decision server usually determines the processing condition of each target server on the service request according to the logs of each target server and the logs of each scheduling server, but in this way, the decision server needs to store a large amount of logs and needs to spend a large amount of time to search the stored logs. It can be seen that this way of detecting service requests at present has high memory occupation and high search overhead.
Disclosure of Invention
The embodiment of the application provides a service request detection method, equipment and medium, which are used for reducing the memory occupation cost and the search cost.
In one aspect, a service request detection method is provided and applied to a target server, and the method includes:
the method comprises the steps of respectively obtaining scheduling sequence indication information of each first service request from scheduling parameters carried in each first service request; the scheduling order indication information is used for indicating the order of a target server corresponding to the scheduling service request of the scheduling server;
Acquiring scheduling order indication information of a second service request according to the acquired scheduling order indication information; wherein the second service request refers to an unreachable service request;
and sending the scheduling order indication information of the second service request to a decision server, so that the decision server determines the second service request which does not reach the target server according to the scheduling order indication information of the second service request.
In one aspect, a service request detection method is provided and applied to a scheduling server, and the method includes:
respectively receiving scheduling requests of all clients and determining a target server scheduled for each client;
obtaining scheduling parameters corresponding to each target server; each scheduling parameter comprises scheduling order indication information, wherein the scheduling order indication information is used for indicating the order of a scheduling server to schedule a target server;
respectively sending scheduling responses carrying scheduling parameters of corresponding target servers to each client so that each client respectively sends service requests carrying the scheduling parameters to the corresponding target servers, each target server respectively obtains scheduling order indication information of second service requests according to first service requests carrying the scheduling parameters, and respectively sends the scheduling order indication information of the obtained second service requests to a decision server; the first service request refers to a service request received by the target server, and the second service request refers to a service request which does not reach the target server.
In one aspect, a service request detection method is provided and applied to a decision server, and the method includes:
receiving scheduling order indication information of a second service request sent by each target server; the scheduling order indication information of the second service request of each target server is obtained according to the received scheduling parameters carried by the first service request of the client, the scheduling parameters carried by each first service request are obtained after the client receives the scheduling response sent by the corresponding scheduling server, each scheduling parameter comprises the scheduling order indication information corresponding to the service request, the scheduling order indication information is used for indicating the order of the scheduling server to schedule the target server, and the second service request refers to the service request which does not reach the target server;
and determining that the service requests of all the target servers are not reached according to the scheduling sequence indication information of all the second service requests.
In one aspect, a service request detection method is provided and applied to a client, and the method includes:
sending a scheduling request to a scheduling server, and receiving a scheduling response sent by the scheduling server; the scheduling response carries address information of a target server scheduled for the client and scheduling parameters corresponding to the target server, wherein the scheduling parameters comprise scheduling order indication information, and the scheduling order indication information is used for indicating the order of the scheduling server for scheduling the target server at the time;
According to the address information, sending a service request carrying the scheduling parameters to the target server, so that the target server generates scheduling order indication information of a second service request according to the scheduling parameters carried in the first service request, and sending the scheduling order indication information of the second service request to a decision server; the first service request refers to a service request received by the target server, and the second service request refers to a service request which does not reach the target server.
The embodiment of the application provides a service request detection device, which comprises:
the acquisition module is used for acquiring the scheduling sequence indication information of each first service request from the scheduling parameters carried in each first service request; the scheduling order indication information is used for indicating the order of a target server corresponding to the scheduling service request of the scheduling server;
the obtaining module is used for obtaining the scheduling order indication information of the second service request according to the obtained scheduling order indication information; wherein the second service request refers to an unreachable service request;
And the sending module is used for sending the scheduling order indication information of the second service request to the decision server so that the decision server can determine the second service request which does not reach the target server according to the scheduling order indication information of the second service request.
In a possible embodiment, the obtaining module is specifically configured to:
caching each first service request in a preset time before the current time;
and determining scheduling sequence indication information corresponding to a second service request which is not reached yet and exceeds the preset time length according to the scheduling sequence indication information in each first service request of the preset time length.
In a possible embodiment, the target server is cached with an array and a first queue, the array includes a plurality of scheduling orders, and a flag bit corresponding to each scheduling order, the flag bit is used for indicating whether a service request corresponding to the scheduling order reaches the target server, the first queue is used for caching the maximum scheduling order in which the array is set in each unit time, and a time period required for writing the first queue is the preset time period; and, the obtaining module is specifically configured to:
Setting a flag bit of a scheduling sequence indicated by the first service request in the array according to scheduling sequence indication information in each first service request;
writing the first queue according to the set maximum scheduling order in the array in unit time;
and if the first queue is determined to be full, moving the pointer to a queue head element of the first queue, detecting whether each scheduling order is set in the pointer moving process, and determining the scheduling order which is not set.
In a possible embodiment, the scheduling parameters of each first service request further carry identification information of a scheduling server, and the target server caches an array of each scheduling server; the obtaining module is specifically configured to: determining a scheduling server corresponding to each first service request according to the identification information of the corresponding scheduling server in each first service request;
and setting the scheduling orders in the corresponding arrays of the first service requests according to the scheduling orders indicated by the first service requests.
The embodiment of the application provides a service request detection device, which comprises:
the receiving module is used for respectively receiving the scheduling requests of the clients;
The determining module is used for determining target servers scheduled for all clients;
the obtaining module is used for obtaining the scheduling parameters corresponding to each target server; each scheduling parameter comprises scheduling order indication information, wherein the scheduling order indication information is used for indicating the order of a scheduling server to schedule a target server;
the sending module is used for respectively sending scheduling responses carrying scheduling parameters of the corresponding target servers to each client so that each client respectively sends service requests carrying the scheduling parameters to the corresponding target server, each target server respectively obtains scheduling order indication information of the second service requests according to the first service requests carrying the scheduling parameters, and respectively sends the scheduling order indication information of the second service requests to the decision server; the first service request refers to a service request received by the target server, and the second service request refers to a service request which does not reach the target server.
In a possible embodiment, the obtaining module obtains the scheduling parameters of any target server specifically by:
if the scheduling parameters of any target server are stored, updating the scheduling order indication information in the stored scheduling parameters;
If the scheduling parameters of any target server are not stored, generating a scheduling identifier for scheduling the any target server, and generating the scheduling parameters of any target server according to the scheduling identifier and the initial scheduling order indication information.
In a possible embodiment, the sending module is further configured to:
and sending the scheduling information carrying the corresponding scheduling parameters of each target server to a decision server, so that the decision server determines the service request achievement rate of each target server according to the scheduling information of each target server and the scheduling sequence indication information of the second service request of the corresponding target server.
The embodiment of the application provides a service request detection device, which comprises:
the receiving module is used for receiving scheduling sequence indication information of the second service request sent by each target server; the scheduling order indication information of the second service request of each target server is obtained according to the received scheduling parameters carried by the first service request of the client, the scheduling parameters carried by each first service request are obtained after the client receives the scheduling response sent by the corresponding scheduling server, each scheduling parameter comprises the scheduling order indication information corresponding to the service request, the scheduling order indication information is used for indicating the order of the scheduling server to schedule the target server, and the second service request refers to the service request which does not reach the target server;
And the determining module is used for determining the service requests which do not reach each target server according to the scheduling sequence indication information of each second service request.
In a possible embodiment, the receiving module is further configured to receive scheduling information sent by each scheduling server; each piece of scheduling information comprises scheduling parameters of a corresponding target server;
the determining module is further configured to determine a service request achievement rate of each target server according to the scheduling parameters sent by each scheduling server and the second service requests of each target server;
and the determining module is also used for determining the scheduling decision corresponding to each target server according to the reaching rate of each service request.
In a possible embodiment, each scheduling information further includes identification information of a client corresponding to the scheduling parameter; the determining module is further configured to:
detecting a second service request associated with each client according to the identification information of each client;
determining the service request achievement rate of each client according to the second service request associated with each client and the scheduling parameters sent by each scheduling server;
And determining the scheduling decision corresponding to each client according to the service request reaching rate of each client.
In a possible embodiment, the decision server caches a second queue corresponding to each scheduling server, each second queue caches a maximum scheduling order indicated by a scheduling parameter obtained from the corresponding scheduling server in each unit time, and a duration of writing the second queue is a preset duration; and the device further comprises a deleting module and a writing module, wherein:
the writing module is used for writing the second queue corresponding to the scheduling server according to the maximum scheduling order corresponding to each scheduling server obtained in unit time;
and the deleting module is used for deleting the identification information of the client corresponding to the queue head element of the second queue, wherein the scheduling order of the client is smaller than that of the client corresponding to the queue head element of the second queue if the second queue is determined to be full.
The embodiment of the application provides a service request detection device, which comprises:
the sending module is used for sending a scheduling request to the scheduling server;
the receiving module is used for receiving the scheduling response sent by the scheduling server; the scheduling response carries address information of a target server scheduled for the client and scheduling parameters corresponding to the target server, wherein the scheduling parameters comprise scheduling order indication information, and the scheduling order indication information is used for indicating the order of the scheduling server for scheduling the target server at the time;
The sending module is further configured to send a service request carrying the scheduling parameter to the target server according to the address information, so that the target server generates scheduling order indication information of a second service request according to the scheduling parameter carried in the first service request, and sends the scheduling order indication information of the second service request to a decision server; the first service request refers to a service request received by the target server, and the second service request refers to a service request which does not reach the target server.
An embodiment of the present application provides a computer apparatus including:
at least one processor, and
a memory communicatively coupled to the at least one processor;
wherein the memory stores instructions executable by the at least one processor, the at least one processor implementing any of the service request detection methods as previously discussed by executing the memory stored instructions.
Embodiments of the present application provide a storage medium storing computer instructions that, when run on a computer, cause the computer to perform any of the service request detection methods as previously discussed.
Due to the adoption of the technical scheme, the embodiment of the application has at least the following technical effects:
in the embodiment of the application, the scheduling order indication information of the target server distributed for the client is carried in the scheduling response fed back by the client by the scheduling server, and the scheduling order indication information is carried in the service request sent by the client to the target server, so that the target server can determine the scheduling order of the service request which does not reach the target server according to the received service request and report the scheduling order to the decision server, the decision server can directly determine the service request which does not reach the target server, a large number of logs of the target server are not required to determine the service request which does not reach the target server, the storage cost of the decision server is reduced, the search cost of the search log of the decision server is reduced, and the like, and the process of detecting the service request is simpler and more efficient. And, because the processing time of the decision server is shorter, the time delay of detecting the service request is reduced.
Drawings
FIG. 1A is a system diagram of a through-dispatch system applicable to an embodiment of the present application;
FIG. 1B is a schematic deployment diagram of each device shown in FIG. 1 according to an embodiment of the present application;
FIG. 2A is a system diagram of a 302 dispatch system suitable for use in embodiments of the present application;
FIG. 2B is a schematic deployment diagram of each device shown in FIG. 3 according to an embodiment of the present application;
FIG. 3 is a diagram illustrating an interaction process between the devices in FIG. 1B according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a process for generating scheduling parameters according to an embodiment of the present application;
FIG. 5 is a diagram illustrating an exemplary structure for generating scheduling parameters according to an embodiment of the present application;
FIG. 6 is a schematic diagram of a process for detecting a scheduling order of a service request that is not reached according to an embodiment of the present application;
FIG. 7 is a schematic diagram of setting a flag bit in an array according to an embodiment of the present application;
FIG. 8 is an exemplary diagram of a write first queue provided by an embodiment of the present application;
FIG. 9 is a schematic diagram of a process for detecting whether each degree number is set according to an embodiment of the present application;
FIG. 10 is a diagram illustrating an interaction process between the devices in FIG. 2B according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a service request detection device according to an embodiment of the present application;
fig. 12 is a schematic structural diagram II of a service request detection device according to an embodiment of the present application;
fig. 13 is a schematic structural diagram III of a service request detection device according to an embodiment of the present application;
Fig. 14 is a schematic structural diagram of a service request detection device according to an embodiment of the present application;
fig. 15 is a schematic structural diagram of a computer device according to an embodiment of the present application.
Detailed Description
In order to better understand the technical solutions provided by the embodiments of the present application, the following detailed description will be given with reference to the accompanying drawings and specific embodiments.
In order to facilitate a better understanding of the technical solutions of the present application, the following description of the terms related to the present application will be presented to those skilled in the art.
Cloud technology (Cloud technology): the hosting technology is used for integrating hardware, software, network and other series resources in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. The cloud computing business model application-based network technology, information technology, integration technology, management platform technology, application technology and the like can be collectively called to form a resource pool, and the resource pool is flexible and convenient as required. Cloud computing technology will become an important support. Background services of technical networking systems require a large amount of computing, storage resources, such as video websites, picture-like websites, and more portals. Along with the high development and application of the internet industry, each article possibly has an own identification mark in the future, the identification mark needs to be transmitted to a background system for logic processing, data of different levels can be processed separately, and various industry data all need strong system rear shield support and can be realized through cloud computing.
Cloud storage (cloud storage) is a new concept that extends and develops in the concept of cloud computing, and a distributed cloud storage system (hereinafter referred to as a storage system for short) refers to a storage system that integrates a large number of storage devices (storage devices are also referred to as storage nodes) of various types in a network to work cooperatively through application software or application interfaces through functions such as cluster application, grid technology, and a distributed storage file system, so as to provide data storage and service access functions for the outside.
At present, the storage method of the storage system is as follows: when creating logical volumes, each logical volume is allocated a physical storage space, which may be a disk composition of a certain storage device or of several storage devices. The client stores data on a certain logical volume, that is, the data is stored on a file system, the file system divides the data into a plurality of parts, each part is an object, the object not only contains the data but also contains additional information such as a data Identification (ID) and the like, the file system writes each object into a physical storage space of the logical volume, and the file system records storage position information of each object, so that when the client requests to access the data, the file system can enable the client to access the data according to the storage position information of each object.
The process of allocating physical storage space for the logical volume by the storage system specifically includes: physical storage space is divided into stripes in advance according to the set of capacity measures for objects stored on a logical volume (which measures tend to have a large margin with respect to the capacity of the object actually to be stored) and redundant array of independent disks (RAID, redundant Array of Independent Disk), and a logical volume can be understood as a stripe, whereby physical storage space is allocated for the logical volume. The embodiment of the application can apply the resource scheduling in the content distribution network realized by Yu Jiyu cloud storage, for example, the target server stores the resources required by the client based on the cloud storage technology, and the client can request the corresponding target server to provide the content service for the target server through the scheduling server.
Content delivery network (Content Delivery Network, CDN): the computer network system is connected with each other through the Internet, and uses the service of the server closest to the user to send music, pictures, films, application programs and other files to the user more quickly and reliably so as to provide high-performance, expandability and low-cost network content for the user.
Service request: refers to a request sent by a client to a target server for requesting provision of a business service. For convenience of description, the service request received by the target server is referred to as a first service request, and the first service request may be referred to as a reach service request. The service request that the theoretical client should send to the target server, but for other reasons the target server does not reach the target server, this type of service request may be referred to as a second service request, which may also be referred to as a non-reach service request, or a non-reach service request.
Scheduling parameters: the scheduling parameters corresponding to the scheduling target server are scheduled by the scheduling server. The scheduling parameters include scheduling order indication information. The scheduling order indication information is used to indicate an order in which the scheduling server schedules the target server, for example, first scheduling, second scheduling, and the like. The scheduling order indication information may be the scheduling order itself or information for indirectly indicating the scheduling order. When the scheduling order changes, the scheduling order indicated by the scheduling order indication information is also different. The scheduling parameters also include one or both of identification information (Dispatcher Identification, dispatcher ID) or a scheduling identification (seq ID) of the scheduling server. The Dispatcher ID may, for example, use an IP address of the dispatch server, and the seq ID is a unique identifier that indicates the dispatch procedure, and may specifically be generated according to a timestamp and a preset algorithm. When there are a plurality of target servers, each target server corresponds to a respective scheduling parameter. When the scheduling server includes a plurality of scheduling servers, each scheduling server may maintain a scheduling parameter corresponding to each target server.
The following describes the design concept of the embodiment of the present application.
The scheduling server is used for scheduling the target server for the client, and the client accesses the target server to provide services for the client by using the target server. In the service process, the decision server needs to adjust the scheduling decision corresponding to the target server according to the condition that the target server processes the service request, so that the target server can provide better service for the client.
For this reason, in the related art, the decision server collects all access logs corresponding to the service request of each target server, and collects the scheduling record of the scheduling server. And positioning the target server corresponding to each scheduling record according to each scheduling record, and further determining the reaching condition of the service request corresponding to the target server. This way of detecting service requests has the following drawbacks:
the decision server needs to record the access log of each target server, so that the memory occupation of the decision server is high. In addition, the decision server searches for each scheduling request, so that the scheduling record reported by the scheduling server is matched with the corresponding access log. And each access log may be repeatedly searched a plurality of times during the search. Furthermore, the amount of access logs and the number of scheduling requests are difficult to control, which results in a considerable amount of time being spent on processing by the decision server, resulting in a delay of detecting service requests at least above the order of minutes. However, the lack of real-time performance of detecting the scheduling request results in that a correct scheduling decision cannot be timely performed on the target server, and thus the use of the user may be affected.
In view of this, an embodiment of the present application provides a service request detection method, in which a scheduling server feeds back to a client a scheduling parameter corresponding to an allocated target server, where the scheduling parameter carries scheduling order indication information of the scheduling target server, and when the client sends a service request to the target server, the service request carries the scheduling parameter, so that the target server can identify, in real time, an unreachable service request according to the scheduling parameter in the received service request, and further report the unreachable service request to a decision server, and the decision server can quickly and directly obtain the service request that does not reach the target server. Further, the scheduling server can synchronize the scheduling parameters corresponding to each target server to the decision server in real time, so that the decision server can acquire the scheduling situation in real time and determine the service request achievement rate of each target server. In addition, the scheduling server can report the identification information of the clients corresponding to the scheduling parameters to the decision server, so that the decision server can determine that the service requests corresponding to the clients reach the conditions, and further determine the scheduling decisions corresponding to the clients.
According to the method, firstly, the target server identifies the related information of the unreachable service request according to the scheduling sequence indication information in the reached service request, only the related information of the unreachable service request is reported, all access logs are not required to be reported to the decision server, the ratio of the unreachable service request to the total service request is generally less than 1%, and the method also does not need to detect or report the non-service request, so that the data volume reported to the decision service by the target server is reduced by more than 99% compared with the related technology. Secondly, the decision server does not need to search a great deal of scheduling requests or access logs, so that the searching cost is reduced. Third, the detection time delay in the method depends on the detection time delay of the target server and the interaction time among the devices, and when the target server detects the service request which does not arrive, only the scheduling sequence indication information in the service request which arrives is processed sequentially, the detection time delay is in the second level, and the detection time delay is configurable, and the interaction time among the devices is in the second level, so the method realizes the real-time performance of the second level. Fourthly, the decision server stores the scheduling parameters in association with the corresponding identification information of the client, so that only the identification information corresponding to the retrieved client is needed, further, the service reaching condition of the client can be determined, the detection mode of the decision server is changed from the mode of intensively processing each equipment log by the decision server in the related technology into distributed processing, and the efficiency of detecting the service request is improved.
Based on the above design concept, the application scenario of the service request detection method according to the embodiment of the present application is described below.
The service request detection method related to the embodiment of the application can be suitable for various scheduling scenes, including but not limited to server scheduling scenes in CDNs. However, due to the downtime of some target servers or the failure of the client to access the scheduled resources of the CDN, the client may not normally access the target servers, for example, the type of the scheduled resources of the CDN includes a service port, the scheduled resources of the CDN use a non-standard service port, but the client is located in an intranet environment with limited access to the non-standard port, and for such client, the client cannot be scheduled to the non-standard service port. The service request detection method in the embodiment of the application can be suitable for detecting the arrival condition of the service request so as to determine the corresponding scheduling decision scene.
The service request detection method in the embodiment of the application can be applied to straight-through scheduling or 302 scheduling in CDN. Fig. 1A is a system architecture diagram corresponding to the through scheduling, or may be understood as an application scenario schematic diagram applicable to the service request detection method in the embodiment of the present application, where the application scenario includes a client 110, a scheduling server 120, a target server 130 and a decision server 140. To more clearly show the deployment diagrams of the respective devices, the roles of the respective devices are exemplarily described below in connection with the device deployment diagrams shown in fig. 1B.
The client 110 is provided in the terminal 100, and in fig. 1B, the terminal 100, such as a mobile phone, a personal computer, etc., is exemplified by the client 110 including a first client 111 and a second client 112. The client 110 may be a web page version client, a client preloaded in the terminal 100, a client embedded in a third party application, or the like. Clients 110 include clients that generally refer to various types of functionality, such as video playback clients, social clients, and the like.
The dispatch server 120, the target server 130, and the decision server 140 may be independent physical servers, or may be a server cluster or a distributed system formed by a plurality of physical servers, or may be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, and basic cloud computing services such as big data and artificial intelligence platforms. In fig. 1B, an example in which the schedule server 120 includes the first schedule server 121 and the second schedule server 122, an example in which the target server 130 includes the first target server 131 and the second target server 132, and an example in which the decision server 140 includes one are illustrated, the number of respective devices is not limited in practice.
With continued reference to fig. 1A, a brief description of the interaction process between the devices in the through-scheduling follows.
1. The client 110 sends a scheduling request to the scheduling server 120.
The scheduling request is used to request that the target server 130 be allocated to the client 110 in order for the target server 130 to provide the corresponding service to the client 110.
2. The scheduling server 120 feeds back a scheduling response to the client 110.
After receiving the scheduling request, the scheduling server 120 determines a corresponding target server 130 for the client 110 according to the scheduling rule, and feeds back address information of the target server 130 and scheduling parameters corresponding to the target server 130 to the client 110 in a scheduling response. The address information of the target server 130 in the through schedule is specifically an internet protocol address (Internet Protocol Address, IP) of the target server 130. The contents of the scheduling parameters obtained by the scheduling server 120 will be described below.
3. The client 110 sends a service request to the target server 130.
After the client 110 obtains the scheduling response, a connection is established with the target server 130 through the IP address of the target server 130, and a service request carrying the scheduling parameters is sent to the target server 130. The service request is used to request the target server 130 to provide the corresponding service for the client 110.
4. The target server 130 feeds back to the decision server 140 the relevant information that the service request has not been reached.
The target server 130 determines the scheduling order indication information of the service requests which are not reached according to the scheduling parameters in the received service requests, and reports the scheduling order indication information to the decision server 140, and the decision server 140 determines the service requests which are not reached to each target server according to the information reported by the target server 130. Wherein the target server 130 determines that the service request of each target server is not reached, as will be described below.
5. The scheduling server 120 reports the scheduling information to the decision server 140.
After the scheduling server 120 feeds back the scheduling response, the scheduling parameters of the target server may be fed back to the decision server 140, in addition, the scheduling server 120 may feed back the identification information of the client side to the decision server 140, and the decision server 140 may further determine the arrival condition of the service request of the target server, the arrival request condition of the service of the client side 110, and the like according to the received scheduling information and related information, so as to generate a corresponding scheduling decision, and the like.
6. The decision server 140 sends the scheduling decision to the scheduling server 120.
The decision server 140 sends the scheduling decisions to the scheduling server 120 in order for the scheduling server 120 to execute the scheduling decisions.
After the introduction of the pass-through schedule, the relevant content related to the schedule is introduced 302 below.
Referring to fig. 2A, a corresponding system architecture diagram is scheduled 302, or may be understood as an application scenario schematic diagram applicable to the service request detection method in the embodiment of the present application, where the application scenario includes a client 110, a scheduling server 120, a target server 130, an access server 200, and a decision server 140. To more clearly show the deployment diagrams of the respective devices, the roles of the respective devices are exemplarily described below in connection with the device deployment diagram shown in fig. 2B.
The contents of the client 110, the dispatch server 120, the target server 130, and the decision server 140 may refer to those discussed in fig. 1B, and are not described herein. In fig. 2B, an example is given in which the client 110 includes the first client 111 and the second client 112, an example is given in fig. 2B in which the schedule server 120 includes the first schedule server 121 and the second schedule server 122, an example is given in which the target server 130 includes the first target server 131 and the second target server 132, an example is given in which the decision server 140 includes one, and an example is given in which the access server 200 includes the first access server 211 and the second access server 212. The implementation of the access server 200 may refer to the implementation of the server discussed above, and will not be described here again.
With continued reference to fig. 2A, a brief description of the interaction process of the various devices in the scheduling scenario is provided below 302.
1. The client 110 sends a scheduling request to the access server 200.
2. The access server 200 transmits the scheduling request to the scheduling server 120.
3. The scheduling server 120 transmits a scheduling response to the access server 200.
The dispatch server 120 determines the target server allocated to the client 110, and carries the dispatch parameters of the target server and the address information of the target server in the dispatch response, where the address information is the domain name system (Domain Name System, DNS) address of the target server, back to the access server 200.
4. The access server 200 sends a scheduling response to the client 110.
5. The client 110 sends a service request to the target server 130.
The service request carries the scheduling parameters of the target server 130.
6. The target server 130 feeds back to the decision server 140 the relevant information that the service request has not been reached.
The related information that is not reported to the service request, and the content of the related information may refer to the content discussed above, which is not described herein.
7. The scheduling server 120 reports the scheduling information to the decision server 140.
The scheduling information may refer to the content discussed above, and will not be described here again.
8. The decision server 140 sends the scheduling decision to the scheduling server 120.
The decision server 140 sends the scheduling decisions to the scheduling server 120 in order for the scheduling server 120 to execute the scheduling decisions.
Fig. 1A to fig. 2B are examples of application scenarios related to the embodiments of the present application, and are not limited to the application scenarios of the service request detection method in the present application.
The interactions between devices involved in embodiments of the present application are exemplified below based on the devices discussed in fig. 1B. Referring to fig. 3, an interaction diagram between the devices in fig. 1B is shown.
S301, the first client 111 sends a first scheduling request to the first scheduling server 121.
The first client 111 transmits a first scheduling request to the first scheduling server 121 to request the target server 130 to provide a server thereto. The first scheduling request may include identification information of the first client 111, for example, an IP address of the first client 111, so that the first scheduling server 121 can determine the client 110 corresponding to the scheduling request according to the first scheduling request.
S302, the first scheduling server 121 feeds back the first scheduling response to the first client 111.
After the first scheduling server receives the scheduling request, the first target server 131 allocated to the first client 111 may be determined according to the scheduling rule according to the scheduling request. The first scheduling server 121 caches the scheduling orders corresponding to the target servers 130, and when the first scheduling server 121 is restarted under the conditions of upgrading or downtime, the scheduling orders of the target servers 130 may be lost, and the scheduling orders corresponding to the target servers 130 may be scheduled again in an accumulated manner. The first scheduling server 121 obtains the scheduling order (Seq) of the first target server 131 from the cache, which may be an increment from 0, identifying the number of times the scheduling server schedules the target server. And generating a scheduling parameter according to the scheduling order, carrying the address information of the first target server 131 and the corresponding scheduling parameter in a scheduling response, and sending the scheduling response to the first client 111.
Wherein the scheduling parameter includes at least scheduling order indication information for indicating a scheduling order in which the first scheduling server 121 schedules the first target server 131, the scheduling order indication information may be the scheduling order itself or information for indirectly indicating the scheduling order. The scheduling order may be sequentially incremented for the first target server 131 or incremented according to a preset function. The scheduling parameters may further include identification information of the first scheduling server 121 or a scheduling identification corresponding to the scheduling procedure. The scheduling identifier does not change in the continuous scheduling process, and once the first scheduling server 121 is down, the scheduling identifier for each target server 130 can be regenerated, so that the scheduling order of each scheduling server is recounting.
An example description will be given below of a procedure in which the first scheduling server 121 obtains the scheduling parameters of the first target server 131. Referring to fig. 4, an exemplary process diagram for generating the scheduling parameters of the first target server 131 specifically includes:
s401, the first scheduling server 121 caches the scheduling order corresponding to each target server.
Each of the scheduling servers 120 has authority to schedule the respective target servers 130, and thus the first scheduling server 121 buffers the scheduling order of the respective target servers, respectively. In addition, a schedule identifier (Seq ID) for each target server 130 may be cached, where the schedule identifier (Seq ID) identifies a schedule process of one schedule server to one target server, and is fixed after the first generation. For example, the first dispatch server 121 caches for each target server 130 the following doublet:
identification information of target server= > < schedule identification, schedule order > (1)
The identification information (Target ID) of the Target server refers to the identification information of the Target server 130 corresponding to the tuple.
S402, the first scheduling server 121 determines the first target server 131 of the present scheduling.
After the first scheduling server 121 determines to allocate the first Target server 131 to the first client 111, the first scheduling order corresponding to the first Target server 131 may be obtained by indexing the Target ID of the first Target server 131 into the tuple of the first Target server 131. S403, the first scheduling server 121 determines whether the scheduling order of the first target server 131 is stored. If the first scheduling server 121 determines that the scheduling order of the first target server 131 is stored, S404 is performed, i.e., scheduling parameters of the first target server 131 are generated according to the stored scheduling order. If the first scheduling server 121 determines that the scheduling order of the first target server 131 is not stored, S405 is performed, a scheduling identification is generated, and scheduling parameters are generated according to the scheduling identification and the initial scheduling order.
If the first scheduling server 121 stores the tuple of the first target server 131, the scheduling order corresponding to the first target server 131 is obtained from the tuple, and the scheduling order is added, so that scheduling order indication information is generated according to the scheduling order, and scheduling parameters are generated according to the scheduling order indication information.
If the first schedule server 121 does not store the binary set of the first target server 131, for example, the binary set shown in the above formula (1) may be lost due to the restart of the first schedule server 121 caused by the upgrade, downtime, or the like, at this time, the first schedule server 121 may set the initial value of the Seq to a fixed value, and restart the fixed value to start increasing. Meanwhile, the first scheduling server 121 generates a Seq ID using the available time stamp. And if the Seq ID exists, the destination server 130 can obtain the counted scheduling order again, thereby ensuring that the service request detection process does not go wrong due to the failure of the first scheduling server 121.
As an embodiment, since there are multiple scheduling servers 120 that cannot necessarily synchronize data in real time, and multiple scheduling servers 120 may schedule the same target server 130 at the same time, one scheduling server 120 stores the sequence of increasing the Seq corresponding to multiple target servers 130. In this case, in order to distinguish between the scheduling of the different scheduling servers 120, identification information (Dispatcher ID) of the scheduling server 120 may be further included in the scheduling parameters.
In generating the scheduling parameters, the scheduling order information, the identification information (Dispatcher ID) of the scheduling server 120, the scheduling identification, and the like may be directly arbitrarily combined to obtain the scheduling parameters.
Further, to facilitate the subsequent parsing of the scheduling parameters, bits occupied by each information in the scheduling parameters may be relatively fixed, and the scheduling server 120 constructs the scheduling parameters according to the bits occupied by each information when generating the scheduling parameters.
For example, the first scheduling server 121 occupies a bit for the scheduling identifier in the scheduling process of the first target server 131, and records that the identification information of the first scheduling server 121 occupies b bit, and the first scheduling server 121 constructs the scheduling parameter array Key according to the following formula:
Arrive Key=(Seq<<(a+b))|(Seq ID<<b)|Dispatcher ID (2)
wherein "<" in the formula (2) indicates how many bits are shifted left by bit, and "|" indicates concatenation.
For example, the scheduling parameters spliced by the above formula (2) may be expressed as shown in fig. 5, and include a Seq, a Seq ID, and a Dispatcher ID in this order. Fig. 5 illustrates only the scheduling parameters, and does not limit the arrangement order of the three of the Seq, the Seq ID, and the Dispatcher ID.
As previously discussed, the scheduling request further includes identification information of the client 110, so that, in order to facilitate the subsequent mapping of the scheduling parameters to the client 110, the first scheduling server 121 may store, in addition to the binary set in the above equation (1), a list of identification information of the client corresponding to each target server 130, where the list of identification information of the client is used to represent a category formed by identification information of all clients that are scheduled to each target server 130. The identification information of the client 110 may be specifically represented by an IP address of the client 110.
S303, the first client 111 sends a first service request to the first target server 131.
After receiving the scheduling response, the first client 111 may send, to the first target server 131, a first service request carrying a scheduling parameter according to address information of the first target server 131 in the scheduling response.
Since the first target server 131 may receive other requests than the service request, the first target server 131 in the embodiment of the present application may determine whether the request includes a scheduling parameter after receiving each request, and if the request includes the scheduling parameter, determine that the request belongs to the service request. If the request does not include a scheduling parameter, it is determined that the request is not a service request, thereby avoiding extensive analysis of requests that are not service requests.
S304, the second client 112 sends a second scheduling request to the first scheduling server 121.
The second client 112 sends a second scheduling request to the first scheduling server 121 to request the target server 130 to provide a server thereto. The second scheduling request includes identification information of the second client 112.
It should be noted that the order in which the respective clients 110 send the scheduling requests and the service requests may be arbitrary.
S305, the first scheduling server 121 feeds back a scheduling response to the second client 112.
The first scheduling server 121 receives the scheduling request of the second client 112, determines to allocate the first target server 131 to the scheduling request, obtains the scheduling parameters of the first target server 131, and feeds back the scheduling parameters to the second client 112 in a scheduling response. The manner in which the first scheduling server 121 obtains the scheduling parameters of the first target server 131 may refer to the manner in which the scheduling parameters are obtained as previously discussed, which is not described herein.
Under normal circumstances, the second client 112 should send the service request to the first target server 131, but may be due to a downtime of the first target server 131, a problem of a communication link between the first target server 131 and the second client 112, or a problem of limited access of the second client 112, etc., the second client 112 does not successfully send the service request to the first target server 131.
S306, the first target server 131 determines scheduling order indication information of the second service request.
After receiving the first service request sent by the first client 111, the first target server 131 may obtain the scheduling order indication information according to the scheduling parameters carried in each first service request that has been reached, and may also obtain the scheduling order corresponding to the first service request, so as to determine the scheduling order corresponding to the second service request that has not reached the first target server 131. The second service request may understand a service request that has not been received by the first target server 131 beyond the preset time period. For example, the first target server 131 may sort the scheduling orders indicated by the scheduling order indication information according to the already obtained scheduling order indication information and the preset order, determine the scheduling order that is not obtained in the sorting, and determine the service request corresponding to the non-obtained scheduling order as the second service request. The scheduling order indication information of the second service request may be understood as missing in the obtained scheduling order indication information according to the ordering.
After determining that the reached request is a service request, or directly receiving the first service request, the first target server 131 may parse the corresponding first scheduling parameter from the first service request.
For example: the first service request received by the first target server 131 comprises the following code segments:
>GET/example.txtexample_args&arrive_key=1205406105
the first target server 131 may obtain the scheduling parameter 1205406105 from the code segment, and the first target server 131 may parse the scheduling parameter according to the above formula (2), so as to obtain the scheduling order, the identification information of the first scheduling server 121, the scheduling identifier, and the like, where field values corresponding to the specific three parameters are as follows:
Seq=Arrive Key>>(a+b) (3)
Seq ID=(Arrive Key>>b)&(1<<a-1) (4)
Dispatcher ID=Arrive Key&(1<<b–1) (5)
wherein "> >" in the above represents a shift of a few bits to the left, and "<" represents a shift of a few bits to the right.
The scheduling parameter is 1205406105, and the first target server 131 converts the scheduling parameter into a binary number specifically: 0100 0111 1101 1001 0000 1001 1001 1001, for example, a is 8, b is 8, the first 16 bits "0100 0111 1101 1001" corresponding to the scheduling order corresponding to the first service request is respectively resolved according to the above formulas (3) - (5), the first 16 bits are converted into decimal system and denoted as 18393, and the like, the scheduling identifier and the identifier information corresponding to the scheduling server 120 are respectively resolved.
By analogy, after the first target server 131 may obtain the scheduling order of each first service request that has been achieved, since the scheduling order is incremental, the first target server 131 determines the scheduling order corresponding to the second service request that has not been achieved within the preset duration, thereby obtaining the scheduling order indication information of the second service request. The value of the preset duration may be predefined by the first target server 131, and may be set according to a required communication duration between the first target server 131 and the client 110, for example, the preset duration may be set to be greater than the communication duration.
Specifically, the first target server 131 maintains a sliding time window corresponding to the preset duration t, the sliding time window records the service requests received in the preset duration, and the first target server 131 may record the time of each first service request and the scheduling order corresponding to each first service request, and determine that when the service request corresponding to the second scheduling order adjacent to and smaller than the first scheduling order indicated by the first service request is not reached in the preset duration, it is determined that the service request corresponding to the second scheduling order is not reachable.
For example, the arrival time of the first service request is 10:00, the first scheduling order indicated by the scheduling order indication information in the first service request is 26, the preset duration is 2min, and the first target server 131 determines that the service request with the scheduling order of 25 is not reached if it is determined that the service request with the scheduling order of 25 is not received yet at 10:02.
In another embodiment, the first target server 131 caches an array for each scheduling server 120, where the array is used to record a scheduling order, and a flag bit corresponding to each scheduling order, where the flag bit is used to indicate whether a service request indicating the scheduling order has arrived at the first target server 131. The first target server 131 caches a first queue, where the first queue includes a maximum scheduling order that has been set in the array in each unit time, and a time period required for the first queue to be full is a preset time period as previously discussed. The first queue may be a first-in first-out queue.
When the first target server 131 determines that the first queue is full, it indicates that the first target server 131 still does not receive the service request corresponding to the scheduling order before the queue head element of the first queue in the array within the preset duration, so that the first target server 131 obtains the scheduling order of the service request which is not reached.
In a specific implementation, since the first target server 131 caches the first queue and the array for each scheduling server 120, after the first target server 131 obtains the scheduling parameters in the first service request, the first target server 131 can identify the scheduling of the first service request from the first scheduling server 121 according to the identification information of the first scheduling server 121 in the scheduling parameters, index the scheduling identification of the first scheduling server 121 to the array and the first queue corresponding to the first scheduling server 121, and after indexing to the array and the first queue corresponding to the first scheduling server 121, the first target server 131 can determine the scheduling order of the unreachable second service request according to the array and the first queue, and the following description is made in connection with a method flowchart for detecting the second service request shown in fig. 6:
s601, setting a flag bit of a scheduling sequence in an array.
After obtaining the first scheduling order indicated by the first service request, the first target server 131 sets a flag bit corresponding to the first scheduling order in the array. The flag bit of the scheduling order being set indicates that the service request corresponding to the scheduling order reaches the first target server 131, and the flag bit of the scheduling order not being set indicates that the service request corresponding to the scheduling order does not reach the first target server 131.
For example, referring to fig. 7, a process diagram of setting a flag bit of a scheduling order in an array for the first target server 131 is shown in fig. 7, where a represents an array before setting, the array includes scheduling orders of 47 to 55, and a flag bit of whether a service request corresponding to each scheduling order has been reached, a flag bit of "0" indicates that a flag bit corresponding to the scheduling order has not been reached, and a flag bit of "1" indicates that a flag bit corresponding to the scheduling order has been reached. After obtaining a certain first service request, the first target server 131 determines that the first scheduling order of the first service request is 50, and sets the flag bit of the first scheduling order in the array shown in a from "0" to "1".
As an example, the first destination server 131 may maintain a Pmax pointer in the array that points to the maximum scheduling order that has been set in the array, i.e., the maximum scheduling order indicated in the currently reached service request. When the array is set, it is determined whether to move the Pmax pointer.
If the currently set scheduling order is greater than the maximum scheduling order corresponding to the Pmax pointer, pmax is moved to the currently set scheduling order. If the currently set scheduling order is less than the maximum scheduling order corresponding to the Pmax pointer, the Pmax pointer is not moved.
S602, writing operation is performed on the first queue.
The first destination server 131 writes the scheduling order corresponding to the Pmax pointer every unit time, so that the elements in the first queue are not decremented. For example, the scheduling order corresponding to the Pmax pointer is unchanged in the continuous time period, and the first queue will be repeatedly written into the same scheduling order.
For example, with continued reference to the example shown in fig. 7, when the first destination server 131 sets the first scheduling order 50, it determines that 50 is smaller than 52 corresponding to the Pmax pointer, determines not to move the Pmax pointer in the array, and repeatedly writes 52 corresponding to the Pmax pointer into the first queue, specifically, the first queue shown in fig. 8.
S603, determining whether the first queue is full.
When writing the first queue, the first target server 131 determines whether the first queue is full, if it is determined that the first queue is full, S604 is executed, i.e. kick out the queue head element in the first queue, and moves the Pmin pointer in the array from the current position to the queue head element, and detects whether each scheduling order from the current position to the queue head element has been set during the process of moving the Pmin pointer, and determines that the service request corresponding to the scheduling order that has not been set is not reached. If it is determined that the first queue is not full, the processing is not performed, and the processing is continued for the next service request received by the first target server 131, and the steps S601 to S604 are repeated.
Specifically, before writing elements into the first queue every unit time, if the first queue is full, the time required for writing the first queue is a first preset time t. For example, the first queue write is full of 3 elements, then when the first queue includes 3 elements, then it is determined that the first queue is full, then the dequeue head element is kicked, and it is determined that the head element has arrived by t seconds. And (3) moving the Pmin pointer in the array from left to right to the position corresponding to the queue head element, detecting whether each scheduling order of the array is set in the moving process, if not, indicating that the service request corresponding to the scheduling order still does not access the first target server 131 for at least t seconds after scheduling, recording the corresponding scheduling order, and determining that the service request corresponding to the scheduling order is not reached.
For example, with continued reference to the examples shown in fig. 7 and 8, and with reference to the example diagram of the array shown in fig. 9, before the write is repeated to write 52 to the first queue, it is determined that the first queue is full, then the head element in the first queue is kicked off, the Pmin pointer in the array is moved from the current 41 to the position corresponding to the head element 47, flag bits corresponding to each of the scheduling orders in 41 to 47 are detected, and it is determined that the service request corresponding to the unset 43 does not reach the first target server 131.
In the embodiment of the present application, firstly, the PMin pointer is smaller than or equal to the PMax pointer, and the PMin pointer to PMax pointer are time windows of the last t seconds, so that the array only needs to save each scheduling order in the interval from PMin pointer to PMax pointer, and the corresponding flag bit, and the size of the interval corresponds to the service request corresponding to the first scheduling server 121 scheduled to the first target server 131 in the last t seconds, and the size is limited and controllable, so that the array can adopt a ring array with a fixed length, unnecessary memory occupation is avoided, and occupied memory size is limited. Similarly, the length of the first queue Q does not increase infinitely, and a plurality of corresponding elements within a preset time period are saved at most. The first target server 131 maintains the array and the first queue for each scheduling server 120 at most, so that the memory overhead of the first target server 131 is reduced and controllable.
Secondly, if the report delay is ignored, an unreachable service request is detected by the target server 130 within a preset time period t after the scheduling, the target server 130 can report to the decision server 140 in time to make a decision, the t parameter is configurable, the detected delay can be controlled, and the real-time performance of the detection process is improved.
Further, when the first target server 131 detects that the scheduling identifier of the first scheduling server 121 changes, it indicates that the scheduling order of the first scheduling server is reset, and the relationship between the front and back increment is broken, at this time, the first target server 131 may reinitialize the scheduling order corresponding to the first scheduling server 121 according to the new scheduling identifier generated by the first scheduling server 121, and continue to detect the reachable condition of the service request of the first scheduling server 121 to schedule the first target server 131.
The time complexity of detecting the service request reachable situation by the target server 130 in the above embodiment is analyzed as follows:
assuming that the number of service requests received by the target server is n, the first target server 131 parses each service request, indexes the service requests to the corresponding array, sets the array, and moves Pmax to have a time complexity of O (1), and then the time complexity corresponding to the n service requests is O (n). Assuming that there are a total of m scheduling servers, the time complexity for the update, dequeue and enqueue of the first queue Q is O (1), then the time complexity corresponding to n scheduling servers is overall O (m), the movement of the PMin pointer is overall O (n), and since m is typically much smaller than n, the time complexity of the overall process is O (n).
In addition to the capability of obtaining the scheduling order indication information of the service request that is not reached, since each scheduling server 120 corresponds to one first queue and array, the first target server 131 can obtain the scheduling server 120 corresponding to the scheduling order while detecting the scheduling order of the service request that is not reached.
S307, the first target server 131 sends the scheduling order indication information of the second service request to the decision server 140.
The first target server 131 may detect the scheduling order of the second service request in any manner of S306, and generate corresponding scheduling order indication information according to the scheduling order of the second service request, and report the scheduling order indication information to the decision server 140, so that the decision server 140 may directly obtain the service request that is not reached and corresponds to each target server 130.
Further, in order to reduce the amount of data reported by the first target server 131, the first target server may report the scheduling order of the second service request, and the maximum scheduling order of the first service request that has been received at present may be reported in increments. The incremental reporting means that the first target server 131 only reports data different from the data reported last time, but does not report all data together each time. And after the first target server 131 reports the corresponding data, the reported data may be deleted, so as to reduce the occupation of the storage space in the first target server 131.
For example, the first target server 131 reports the data shown in the following table 1 to the decision server 140:
TABLE 1
Further, the first target server 131 may further determine the scheduling server 120 corresponding to the second service request and the corresponding scheduling identifier according to the scheduling server corresponding to the array, so that the first target server 131 may send the identification information of the scheduling server 120 corresponding to the second service request and the identification information of the first target server 131 to the decision server 140.
For example, referring to fig. 3, the first target server 131 detects that the service request with the scheduling order of 43 is not reached, and determines that the scheduling order corresponds to the first scheduling server 121, so the scheduling order, the identification information of the first scheduling server 121, and the identification information of the first target server 131 may be sent to the decision server 140.
S308, the first scheduling server 121 transmits scheduling information to the transmission decision server.
The first scheduling server 121 may generate the scheduling information according to the scheduling parameters and the identification information of the client 110 associated with the scheduling parameters, where the scheduling parameters and the identification information of the associated client 110 may refer to the content discussed above, and will not be described herein. In order to reduce the amount of reported data, the first scheduling server 121 may report the scheduling information in the form of incremental reporting.
For example, the scheduling information stored by the first scheduling server 121 is shown in table 2 below:
TABLE 2
S309, the second client 112 sends a third scheduling request to the second scheduling server 122.
The second client 112 sends a third scheduling request to the second scheduling server 122 requesting the target server 130 to serve it.
S310, the second scheduling server 122 feeds back the third scheduling response to the second client 112.
S311, the second client 112 sends the first service request to the second target server 132.
S312, the second target server 132 determines scheduling order indication information of the second service request.
The manner in which the second target server 132 determines the scheduling order indication information of the second service request may refer to the manner in which the first target server 131 determines the second service request as described above, which is not described herein.
S313, the second target server 132 sends scheduling order indication information of the second service request to the decision server 140.
S314, the second scheduling server 120 transmits scheduling information to the decision server 140.
S315, the decision server 140 determines a corresponding scheduling decision.
The decision server 140 may also determine that the second service request of each target server 130 is not reached according to the scheduling order indication information of the second service request reported by each target server 130. In addition, the decision server 140 may count the total number of schedules of each target server 130 and the total number of schedules corresponding to each client 110 according to the scheduling information of the scheduling server 120, and the decision server 140 may detect the service request achievement rate of each target server 130 according to the number of non-second service requests of each target server 130 and the total number of schedules corresponding to the target server 130, so that the decision server 140 may detect the service request achievement rate of each target server. Similarly, the decision server 140 may obtain the service request achievement rate corresponding to each client 110, so as to determine whether to execute the corresponding scheduling decision on the target server 130 or the client 110.
Specifically, after the decision server 140 receives the scheduling order indication information of the service request that is not reached and the scheduling information of each scheduling server, which are reported by each target server 130, the following data are cached for each scheduling server 120:
<Dispatcher ID,Target ID>=><Seq ID,Last Seq,client IP list> (6)
the Seq ID and Last Seq may be directly assigned as the latest values synchronized from each scheduling server, and the Client IP List refers to an identification information List of the Client, and may append an increment List synchronized from the scheduling server.
As an embodiment, the scheduling order may be selected as part of the identification information of the client. For example, the tail of the identification information of the client, so that the identification information of the corresponding client can be indexed by the scheduling order within a constant time complexity.
Since the target server 130 detects the scheduling order of the second service request, it needs to rely on the scheduling order corresponding to the first service request that arrives later, so the target server 130 cannot report the scheduling order information corresponding to the second service request in time, and at this time, the maximum scheduling order of the first service request that has arrived and reported by the target server 130 is shown to be not updated for a long time. To solve this problem, in the embodiment of the present application, the decision server 140 stores a second queue for different dispatch servers 120, and the second queue records the maximum dispatch order obtained from the dispatch server 120. The second queue may be a first-in first-out queue.
Specifically, after receiving the scheduling order indication information of the second service request, the decision server 140 may index to the second queue according to the Target ID of the Target server 130, detect whether the second queue is full, if so, indicate that the second queue is full, and if so, reach a preset duration, confirm that the scheduling order before the queue head element is smaller than the queue head element has been detected, so that the queue head element may be kicked out, and delete the identification information of the client associated with the queue head element in the scheduling order.
Further, for each item in the report information of each Target server 130, the Target ID and the Dispatcher ID corresponding to the service request that is not reached may be indexed to the corresponding record in the above (6), and if the Seq ID is different from the Seq ID of the corresponding record, the report item is ignored. If the Seq ID is the same as the corresponding recorded Seq ID, the unreachable service requests of the target server 130 are counted, and the count of the unreachable service requests of the Client IP is increased from the Client IP List index to the corresponding Client IP according to the scheduling order of the unreachable requests.
As an embodiment, in order to reduce the amount of stored data of the decision server 140, the decision server 140 may delete the identification information of the clients of the detected service request. But how the decision server 140 determines which service requests have been detected as arriving is illustrated below:
For the scheduling server 120, record the maximum scheduling order Last Seq that the service request has been detected to reach the request, and record the maximum scheduling order Last Seq as the initialized detected scheduling order Detect Seq, record the reached scheduling order before T seconds as T Last Seq, where the value of T Last Seq is the queue head element of the second queue in the foregoing, which is not described herein again, and the decision server 140 executes the following code every unit time:
Detect Seq=Max(Detect Seq,Max seq)
IF Detect Seq < T Last Seq: if the detected scheduling order of the current record is less than the head element of the second queue;
For seq in(Detect Seq,T last seq):
regarding the service requests which are smaller than the queue head element of the second queue in the scheduling order and correspond to the unachieved scheduling order as unachieved service requests, and accumulating the quantity of the unachieved service requests for the target servers and the clients which correspond to the unachieved service requests;
Detect Seq=T Last Seq。
the service request with the scheduling order smaller than T Last Seq is determined to be completed in arrival detection, and the decision server 140 can delete the corresponding Client IP from the Client IP List, so that the Client IP List of the decision server 140 can store the Client IP within the preset time at most, and the storage data volume of the decision server 140 is reduced.
S316, the decision server 140 sends the scheduling decisions to the respective scheduling servers 120.
When the service request achievement rate of a certain target server is less than or equal to the first threshold, it indicates that the service request achievement rate of the target server 130 is low, so it may be determined that a target server scheduling disabling decision, specifically that the scheduling server 120 no longer schedules the target server 130, is performed on the target server.
Alternatively, when the total number of schedules of the target servers 130 is not great, the decision server 140 may directly determine that the total number of second service requests exceeds a certain number of target servers 140 by performing the target server schedule disabling decision according to the total number of second service requests of the target servers 140.
Similarly, the decision server 140 may determine the service request achievement rate of each client, or accumulate the total number of the client's unattained service requests, and determine to perform a client scheduling disable decision for the target server when the service request achievement rate of the client is less than or equal to the second threshold, or the total number of the client's unattained service requests exceeds a certain number. In a pass-through scheduling scenario, the client scheduling disable decision may be that the scheduling server 120 no longer responds to the scheduling request of the client 110.
As one example, S308, S314, S316, and S317 discussed in fig. 3 are optional steps.
In the embodiment discussed in fig. 3, in the through scheduling scenario, the target server 130 may determine scheduling order indication information corresponding to the second service request according to the scheduling order indication information in the received service request, so as to directly report the condition of the unreachable service request to the decision server 140, thereby avoiding the situation that the decision server 140 stores and searches a large number of logs, and improving the storage overhead and the search overhead for detecting the service request.
The interactions between the various devices are illustratively described below in connection with the various devices discussed in connection with FIG. 2B:
fig. 10 is a schematic diagram illustrating interaction between the devices in fig. 2B.
S1001, the first client 111 transmits a first scheduling request to the first scheduling server 121 through the access server 200.
Unlike the pass-through scheduling scenario, in the 302 scheduling scenario, the client 110 does not interact directly with the scheduling server 10, but rather interacts with the scheduling server 120 through the access server 200. The first scheduling request may specifically be in a format and content requested by a uniform resource locator (Uniform Resource Locator, URL). Similarly, the first scheduling request is for requesting the access server 200 to provide services thereto. The first scheduling request carries identification information of the first client.
After receiving the first scheduling request, the access server 200 does not directly provide services for the first client 111, but passes the first scheduling request to the first scheduling server 121.
S1002, the first scheduling server 121 transmits the first scheduling response to the first client 111 through the access server 200.
After receiving the first scheduling request, the first scheduling server 121 may allocate, to the first client 111, the first target server 131 allocated to the first client 111 according to a scheduling rule. After the first scheduling server 121 determines the corresponding target server 130, the scheduling parameters corresponding to the first target server 131 may be generated, and the manner of generating the scheduling parameters and the content of the scheduling parameters may be referred to the content discussed above, which is not described herein again. After generating the scheduling parameter corresponding to the first target server 131, the first scheduling server 121 generates a first scheduling response, where the first scheduling response carries the scheduling parameter and may further include a domain name address of the first target server 131. The first scheduling response may in particular be a 302 response carrying scheduling parameters, and may in particular be a redirect URL response. The first scheduling server 121 sends the first scheduling response to the access server 200, and the access server 200 resends the first scheduling response to the first client 111.
S1003, the first client 111 sends a first service request to the first target server 131.
After the first client 111 receives the first scheduling response, the first client 111 redirects to the first target server 131 according to the first scheduling response, that is, the first client 111 can redirect to the first target server 131 directly without analyzing the first scheduling response, that is, without improving the client 110, so that the application cost of the service request detection method according to the embodiment of the application is reduced.
For example, the first service request is exemplified as follows:
>GET/example.txtexample_args&arrive_key=1205406105
HTTP/1.1
>User-Agent:curl/7.29.0
>Accept:*/*
>Host:example.com。
the first service request in the above example includes a scheduling parameter, a URL request transmitted by the first client 111, and the like.
After receiving the service request, the first target server 131 may obtain the corresponding scheduling parameter according to the service request.
S1004, the second client 112 sends the second scheduling request to the first scheduling server 121 through the access server 200.
The content of the second scheduling request may refer to the first scheduling request, which is not described herein.
S1005, the first scheduling server 121 transmits the second scheduling response to the second client 112 through the access server 200.
The second client 112 should normally send a service request to the first target server 131, but the second client 112 does not successfully send the service request to the first target server 131, possibly due to communication problems between the second client 112 and the first target server 131.
S1006, the first target server 131 determines scheduling order indication information of the second service request.
The content of the scheduling order indication information of the first target server 131 for determining the second service request may refer to the content discussed above, and will not be described here again.
S1007, the first target server 131 transmits scheduling order indication information of the second service request to the decision server 140.
The scheduling order indication information of the service request that is not reached may be sent, and the scheduling server 120 corresponding to the service request that is not reached and the identification information of the first target server 131 may be sent to the decision server 140 in a correlated manner.
S1008, the first scheduling server 121 transmits the scheduling information to the decision server 140.
The scheduling information and the manner of generating the scheduling information may refer to the foregoing discussion, and will not be repeated here.
S1009, the third client 113 transmits the third scheduling request to the second scheduling server 122 through the access server 200.
The relevant content of the third scheduling request may refer to the first scheduling request, which is not described herein.
S1010, the second scheduling server 122 transmits the third scheduling response to the third client 113 through the access server 200.
S1011, the third client 113 transmits the first service request to the second target server 132.
S1012, the second target server 132 determines scheduling order indication information of the second service request.
The content of the scheduling order indication information for the second service request determined by the second target server 132 may refer to the content discussed above, and will not be described here again.
The second target server 132 transmits scheduling order indication information of the second service request to the decision server 140S 1013.
The scheduling order indication information of the second service request may be sent, and the scheduling server 120 corresponding to the second service request and the identification information of the second target server 132 may be sent to the decision server 140 in a correlated manner.
S1014, the second scheduling server 122 transmits the scheduling information to the decision server 140.
The scheduling information and the manner of generating the scheduling information may refer to the foregoing discussion, and will not be repeated here.
S1015, the decision server 140 determines a corresponding scheduling decision.
The content of determining the scheduling decision may be referred to the content discussed above and will not be described in detail here. The scheduling decision includes one or a combination of a disable schedule for the client 110, a disable schedule for the target server 130. The disabling schedule for a client 110 may be to reject the corresponding client 110 or may instruct the scheduling server 120 to be served by the access server 200 to the client 110.
S1016, the decision server 140 sends the scheduling decisions to the respective scheduling servers 120.
As an example, S1008, S1014, S1016, and S1017 discussed in fig. 3 are optional steps.
Based on the same inventive concept, an embodiment of the present application provides a service request detection apparatus, which is equivalent to being disposed in the target server 130 discussed above, referring to fig. 11, the service request detection apparatus 1100 includes:
an obtaining module 1101, configured to obtain scheduling order indication information of each first service request from scheduling parameters carried in each first service request; the scheduling order indication information is used for indicating the order of a target server corresponding to the scheduling service request of the scheduling server;
an obtaining module 1102, configured to obtain scheduling order indication information of the second service request according to the obtained scheduling order indication information; wherein the second service request refers to an unreachable service request;
the sending module 1103 is configured to send the scheduling order indication information of the second service request to the decision server, so that the decision server determines, according to the scheduling order indication information of the second service request, the second service request that does not reach the target server.
In one possible embodiment, the obtaining module 1102 is specifically configured to:
caching each first service request in a preset time before the current time;
and determining scheduling sequence indication information corresponding to the second service request which is not reached yet after the preset time length is exceeded according to the scheduling sequence indication information in each first service request of the preset time length.
In a possible embodiment, the target server is cached with an array and a first queue, the array includes a plurality of scheduling orders, and a flag bit corresponding to each scheduling order, the flag bit is used for indicating whether a service request corresponding to the scheduling order reaches the target server, the first queue is used for caching the maximum scheduling order that the array is set in each unit time, and the time required for writing the first queue is a preset time; and, the obtaining module 1102 is specifically configured to:
setting a flag bit of a scheduling sequence indicated by the first service request in the array according to scheduling sequence indication information in each first service request;
writing operation to the first queue according to the set maximum scheduling order in the array in unit time;
if the first queue is determined to be full, the pointer is moved to a queue head element of the first queue, whether each scheduling order is set or not is detected in the pointer movement process, and the scheduling order which is not set is determined.
In a possible embodiment, the scheduling parameters of each first service request further carry identification information of a scheduling server, and the target server caches an array of each scheduling server; the obtaining module 1102 is specifically configured to:
according to the scheduling order indication information in each service request, setting the flag bit of the scheduling order indicated by the corresponding service request in the array, specifically including:
determining a scheduling server corresponding to each first service request according to the identification information of the corresponding scheduling server in each first service request;
and setting the scheduling orders in the corresponding arrays of the first service requests according to the scheduling orders indicated by the first service requests.
Based on the same inventive concept, an embodiment of the present application provides a service request detection apparatus, which is equivalent to being disposed in the scheduling server discussed above, referring to fig. 12, the service request detection apparatus 1200 includes:
a receiving module 1201, configured to receive a scheduling request of each client;
a determining module 1202, configured to determine a target server scheduled for each client;
an obtaining module 1203, configured to obtain scheduling parameters corresponding to each target server; each scheduling parameter comprises scheduling order indication information, wherein the scheduling order indication information is used for indicating the order of a scheduling server to schedule a target server;
The sending module 1204 is configured to send scheduling responses carrying scheduling parameters of corresponding target servers to each client, so that each client sends service requests carrying scheduling parameters to the corresponding target server, so that each target server obtains scheduling order indication information of the second service requests according to the first service requests carrying the scheduling parameters, and sends the scheduling order indication information of the obtained second service requests to the decision server; the first service request refers to a service request received by the target server, and the second service request refers to a service request which does not reach the target server.
In one possible embodiment, the obtaining module 1203 obtains the scheduling parameters of any target server specifically by:
if the scheduling parameters of any target server are stored, updating the scheduling order indication information in the stored scheduling parameters;
if the scheduling parameters of any target server are not stored, generating a scheduling identifier for scheduling any target server, and generating the scheduling parameters of any target server according to the scheduling identifier and the initial scheduling order indication information.
In one possible embodiment, the sending module 1204 is further configured to:
and sending the scheduling information carrying the corresponding scheduling parameters of each target server to the decision server, so that the decision server determines the service request achievement rate of each target server according to the scheduling information of each target server and the scheduling sequence indication information of the second service request of the corresponding target server.
Based on the same inventive concept, an embodiment of the present application provides a service request detection apparatus, which is equivalent to being disposed in the decision server discussed above, referring to fig. 13, the service request detection apparatus 1300 includes:
a receiving module 1301, configured to receive scheduling order indication information of a second service request sent by each target server; the scheduling order indication information of the second service request of each target server is obtained according to the received scheduling parameters carried by the first service request of the client, the scheduling parameters carried by each first service request are obtained after the client receives the scheduling response sent by the corresponding scheduling server, each scheduling parameter comprises the scheduling order indication information corresponding to the service request, the scheduling order indication information is used for indicating the order of the scheduling server to schedule the target server, and the second service request refers to the service request which does not reach the target server;
The determining module 1302 is configured to determine, according to the scheduling order indication information of each second service request, that the service request of each target server is not reached.
In a possible embodiment, the receiving module 1301 is further configured to receive scheduling information sent by each scheduling server; each piece of scheduling information comprises scheduling parameters of a corresponding target server;
the determining module 1302 is further configured to determine a service request achievement rate of each target server according to the scheduling parameters sent by each scheduling server and the second service requests of each target server;
the determining module 1302 is further configured to determine a scheduling decision corresponding to each target server according to the arrival rate of each service request.
In a possible embodiment, each scheduling information further includes identification information of a client corresponding to the scheduling parameter; the determination module 1302 is further configured to:
detecting a second service request associated with each client according to the identification information of each client;
determining the service request achievement rate of each client according to the second service request associated with each client and the scheduling parameters sent by each scheduling server;
And determining the scheduling decision corresponding to each client according to the service request reaching rate of each client.
In a possible embodiment, the decision server caches a second queue corresponding to each scheduling server, each second queue caches a maximum scheduling order indicated by a scheduling parameter obtained from the corresponding scheduling server in each unit time, and the duration of writing the second queue is a preset duration; and, the apparatus 1300 further comprises a writing module 1303 and a deleting module 1304, wherein:
the writing module 1303 is configured to perform a writing operation on the corresponding second queue according to a maximum scheduling order corresponding to the corresponding scheduling server obtained in the unit time;
and a deleting module 1304, configured to delete the identification information of the client corresponding to the queue head element of the second queue in the scheduling order smaller than the scheduling order if it is determined that the second queue is full.
Based on the same inventive concept, an embodiment of the present application provides a service request detection apparatus, which is equivalent to being disposed in the client discussed above, referring to fig. 14, the service request detection apparatus 1400 includes:
a sending module 1401, configured to send a scheduling request to a scheduling server;
A receiving module 1402, configured to receive a scheduling response sent by a scheduling server; the scheduling response carries address information of a target server scheduled for the client and scheduling parameters corresponding to the target server, wherein the scheduling parameters comprise scheduling order indication information, and the scheduling order indication information is used for indicating the order of the scheduling server for scheduling the target server at the time;
the sending module 1401 is further configured to send a service request carrying a scheduling parameter to the target server according to the address information, so that the target server generates scheduling order indication information of the second service request according to the scheduling parameter carried in the first service request, and sends the scheduling order indication information of the second service request to the decision server; the first service request refers to a service request received by the target server, and the second service request refers to a service request which does not reach the target server.
Based on the same inventive concept, an embodiment of the present application provides a service request detection system, which includes the respective devices in the foregoing fig. 11 to 13, and the system corresponds to the system including the scheduling server 120, the target server 130, and the decision server 140, which are discussed previously.
Based on the same inventive concept, the embodiment of the application also provides a computer device. Referring to FIG. 15, the computer device 1500 is embodied in the form of a general purpose computer device. Components of computer device 1500 may include, but are not limited to: at least one processor 1510, at least one memory 1520, a bus 1530 connecting the different system components (including the processor 1510 and the memory 1520).
Bus 1530 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.
Memory 1520 may include readable media in the form of volatile memory such as Random Access Memory (RAM) 1521 and/or cache memory 1522 and may further include Read Only Memory (ROM) 1523. Memory 1520 may also include a program/utility 1526 having a set (at least one) of program modules 1525, such program modules 1525 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment. The processor 1510 is configured to execute program instructions stored in the memory 1520, etc. to implement any of the service request detection methods discussed above, or to implement the functions of any of the devices of fig. 11-14.
The computer device 1500 may also communicate with one or more external devices 1540 (e.g., keyboard, pointing device, etc.), one or more devices that enable the terminal to interact with the computer device 1500, and/or any devices (e.g., routers, modems, etc.) that enable the computer device 1500 to communicate with one or more other devices. Such communication may occur through an input/output (I/O) interface 1550. Moreover, computer device 1500 can also communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, such as the Internet, through network adapter 1560. As shown, the network adapter 1560 communicates with other modules for the computer device 1500 over the bus 1530. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with computer device 1500, including, but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
Based on the same inventive concept, embodiments of the present application provide a storage medium storing computer instructions that, when executed on a computer, cause the computer to perform the service request detection method discussed above.
Based on the same inventive concept, embodiments of the present application provide a computer program product comprising computer instructions stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the service request detection method described above.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Thus, it is intended that the present application also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (14)

1. A service request detection method, which is applied to a target server, the method comprising:
the method comprises the steps of respectively obtaining scheduling sequence indication information of each first service request from scheduling parameters carried in each first service request; the scheduling order indication information is used for indicating the order of a target server corresponding to the scheduling service request of the scheduling server;
acquiring scheduling order indication information of a second service request according to the acquired scheduling order indication information; wherein the second service request refers to an unreachable service request;
and sending the scheduling order indication information of the second service request to a decision server, so that the decision server determines the second service request which does not reach the target server according to the scheduling order indication information of the second service request.
2. The method of claim 1, wherein the obtaining the scheduling order indication information of the second service request according to the already obtained scheduling order indication information comprises:
Caching each first service request in a preset time before the current time;
and determining scheduling sequence indication information corresponding to a second service request which is not reached yet and exceeds the preset time length according to the scheduling sequence indication information in each first service request of the preset time length.
3. The method of claim 2, wherein the target server is cached with an array and a first queue, the array includes a plurality of scheduling orders, and a flag bit corresponding to each scheduling order, the flag bit is used to indicate whether a service request corresponding to the scheduling order reaches the target server, the first queue is used to cache that the array writes the set maximum scheduling order in each unit time, and a time length required for writing the first queue is the preset time length; the method comprises the steps of,
the determining, according to the scheduling order indication information in each first service request of the preset duration, scheduling order indication information corresponding to a second service request which is not reached yet beyond the preset duration includes:
setting a flag bit of a scheduling sequence indicated by the first service request in the array according to scheduling sequence indication information in each first service request;
Writing the first queue according to the set maximum scheduling order in the array in unit time;
and if the first queue is determined to be full, moving the pointer to a queue head element of the first queue, detecting whether each scheduling order is set in the pointer moving process, and determining the scheduling order which is not set.
4. The method of claim 3, wherein the scheduling parameters of each first service request further carry identification information of a scheduling server, and the target server caches an array of each scheduling server;
setting a flag bit of a scheduling order indicated by the first service request in the array according to scheduling order indication information in each first service request, including:
determining a scheduling server corresponding to each first service request according to the identification information of the corresponding scheduling server in each first service request;
and setting the scheduling orders in the corresponding arrays of the first service requests according to the scheduling orders indicated by the first service requests.
5. A method for detecting a service request, which is applied to a scheduling server, the method comprising:
Respectively receiving scheduling requests of all clients and determining a target server scheduled for each client;
obtaining scheduling parameters corresponding to each target server; each scheduling parameter comprises scheduling order indication information, wherein the scheduling order indication information is used for indicating the order of a scheduling server to schedule a target server;
respectively sending scheduling responses carrying scheduling parameters of corresponding target servers to each client so that each client respectively sends service requests carrying the scheduling parameters to the corresponding target servers, each target server respectively obtains scheduling order indication information of second service requests according to first service requests carrying the scheduling parameters, and respectively sends the scheduling order indication information of the obtained second service requests to a decision server; the first service request refers to a service request received by the target server, and the second service request refers to a service request which does not reach the target server.
6. The method of claim 5, wherein the obtaining the scheduling parameters corresponding to each target server specifically includes obtaining the scheduling parameters of any target server by:
If the scheduling parameters of any target server are stored, updating the scheduling order indication information in the stored scheduling parameters;
if the scheduling parameters of any target server are not stored, generating a scheduling identifier for scheduling the any target server, and generating the scheduling parameters of any target server according to the scheduling identifier and the initial scheduling order indication information.
7. The method of claim 5 or 6, wherein the method further comprises:
and sending the scheduling information carrying the corresponding scheduling parameters of each target server to a decision server, so that the decision server determines the service request achievement rate of each target server according to the scheduling information of each target server and the scheduling sequence indication information of the second service request of the corresponding target server.
8. A method for detecting a service request, which is applied to a decision server, the method comprising:
receiving scheduling order indication information of a second service request sent by each target server; the scheduling order indication information of the second service request of each target server is obtained according to the received scheduling parameters carried by the first service request of the client, the scheduling parameters carried by each first service request are obtained after the client receives the scheduling response sent by the corresponding scheduling server, each scheduling parameter comprises the scheduling order indication information corresponding to the service request, the scheduling order indication information is used for indicating the order of the scheduling server to schedule the target server, and the second service request refers to the service request which does not reach the target server;
And determining that the service requests of all the target servers are not reached according to the scheduling sequence indication information of all the second service requests.
9. The method of claim 8, wherein the method further comprises:
receiving scheduling information sent by each scheduling server; each piece of scheduling information comprises scheduling parameters of a corresponding target server;
determining the service request achievement rate of each target server according to the scheduling parameters sent by each scheduling server and the second service requests of each target server;
and determining the scheduling decision corresponding to each target server according to the reaching rate of each service request.
10. The method of claim 9, wherein each scheduling information further comprises identification information of a client to which the scheduling parameter corresponds; and, the method further comprises:
detecting a second service request associated with each client according to the identification information of each client;
determining the service request achievement rate of each client according to the second service request associated with each client and the scheduling parameters sent by each scheduling server;
and determining the scheduling decision corresponding to each client according to the service request reaching rate of each client.
11. The method of claim 10, wherein the decision server caches a second queue corresponding to each scheduling server, each second queue caches a maximum scheduling order indicated by a scheduling parameter obtained from the corresponding scheduling server in each unit time, and a duration of writing the second queue is a preset duration; and, the method further comprises:
writing the second queue corresponding to the scheduling server according to the maximum scheduling order corresponding to each scheduling server obtained in unit time;
and if the second queue is determined to be full, deleting the identification information of the client corresponding to the queue head element of the scheduling order smaller than the second queue.
12. A method for detecting a service request, which is applied to a client, the method comprising:
sending a scheduling request to a scheduling server, and receiving a scheduling response sent by the scheduling server; the scheduling response carries address information of a target server scheduled for the client and scheduling parameters corresponding to the target server, wherein the scheduling parameters comprise scheduling order indication information, and the scheduling order indication information is used for indicating the order of the scheduling server for scheduling the target server at the time;
According to the address information, sending a service request carrying the scheduling parameters to the target server, so that the target server generates scheduling order indication information of a second service request according to the scheduling parameters carried in the first service request, and sending the scheduling order indication information of the second service request to a decision server; the first service request refers to a service request received by the target server, and the second service request refers to a service request which does not reach the target server.
13. A computer device, comprising:
at least one processor, and
a memory communicatively coupled to the at least one processor;
wherein the memory stores instructions executable by the at least one processor, the at least one processor implementing the method of any one of claims 1-4, 5-7, 8-11, or 12 by executing the instructions stored by the memory.
14. A storage medium storing computer instructions which, when run on a computer, cause the computer to perform the method of any one of claims 1 to 4, 5 to 7, 8 to 11 or 12.
CN202010858849.8A 2020-08-24 2020-08-24 Service request detection method, equipment and medium Active CN112054923B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010858849.8A CN112054923B (en) 2020-08-24 2020-08-24 Service request detection method, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010858849.8A CN112054923B (en) 2020-08-24 2020-08-24 Service request detection method, equipment and medium

Publications (2)

Publication Number Publication Date
CN112054923A CN112054923A (en) 2020-12-08
CN112054923B true CN112054923B (en) 2023-08-18

Family

ID=73599355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010858849.8A Active CN112054923B (en) 2020-08-24 2020-08-24 Service request detection method, equipment and medium

Country Status (1)

Country Link
CN (1) CN112054923B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112615912B (en) * 2020-12-11 2022-07-12 中国建设银行股份有限公司 Node scheduling processing method and device and storage medium
CN115107042B (en) * 2022-08-31 2022-11-11 上海擎朗智能科技有限公司 Robot scheduling identifier resetting method, device, equipment and storage medium
CN117149836B (en) * 2023-10-27 2024-02-27 联通在线信息科技有限公司 Cache processing method and device

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613155A (en) * 1995-06-07 1997-03-18 International Business Machines Corporation Bundling client write requests in a server
CN101494579A (en) * 2008-01-22 2009-07-29 中兴通讯股份有限公司 Bus scheduling device and method
CN102546267A (en) * 2012-03-26 2012-07-04 杭州华三通信技术有限公司 Automatic configuration method of network device and management server
JP2013003598A (en) * 2011-06-10 2013-01-07 Fujitsu Ltd Request processing program, request processing method and information processing device
CN104301140A (en) * 2014-10-08 2015-01-21 广州华多网络科技有限公司 Service request responding method, device and system
CN105490841A (en) * 2015-11-26 2016-04-13 广州华多网络科技有限公司 Terminal log grasping method, device and system
CN105550051A (en) * 2015-12-25 2016-05-04 北京奇虎科技有限公司 Asynchronous processing method and device of business request
CN106603723A (en) * 2017-01-20 2017-04-26 腾讯科技(深圳)有限公司 Request message processing method and device
CN107317763A (en) * 2017-06-30 2017-11-03 郑州云海信息技术有限公司 Flow control method and device between a kind of client and meta data server
CN107426302A (en) * 2017-06-26 2017-12-01 腾讯科技(深圳)有限公司 Access scheduling method, apparatus, system, terminal, server and storage medium
CN107885594A (en) * 2016-09-30 2018-04-06 腾讯科技(深圳)有限公司 Distributed resource scheduling method, scheduling node and access node
CN110362275A (en) * 2019-07-10 2019-10-22 深圳大普微电子科技有限公司 Promote the method and solid state hard disk of solid state hard disk service quality
CN110365796A (en) * 2019-08-01 2019-10-22 腾讯科技(深圳)有限公司 Service request processing method, device
CN110381162A (en) * 2019-07-29 2019-10-25 腾讯科技(深圳)有限公司 A kind of method and relevant apparatus of business processing
KR20190128368A (en) * 2018-05-08 2019-11-18 주식회사 애포샤 Method for handling request in an asynchronous server

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588715B2 (en) * 2009-06-03 2017-03-07 Hewlett-Packard Development Company, L.P. Scheduling realtime information storage system access requests
US9706564B2 (en) * 2013-03-14 2017-07-11 Cavium, Inc. Apparatus and method for media access control scheduling with a priority calculation hardware coprocessor
WO2018126405A1 (en) * 2017-01-05 2018-07-12 Motorola Mobility Llc Scheduling request indication
US10761748B2 (en) * 2018-08-06 2020-09-01 Datera, Incorporated Future write in distributed system maintaining data storage integrity

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613155A (en) * 1995-06-07 1997-03-18 International Business Machines Corporation Bundling client write requests in a server
CN101494579A (en) * 2008-01-22 2009-07-29 中兴通讯股份有限公司 Bus scheduling device and method
JP2013003598A (en) * 2011-06-10 2013-01-07 Fujitsu Ltd Request processing program, request processing method and information processing device
CN102546267A (en) * 2012-03-26 2012-07-04 杭州华三通信技术有限公司 Automatic configuration method of network device and management server
CN104301140A (en) * 2014-10-08 2015-01-21 广州华多网络科技有限公司 Service request responding method, device and system
CN105490841A (en) * 2015-11-26 2016-04-13 广州华多网络科技有限公司 Terminal log grasping method, device and system
CN105550051A (en) * 2015-12-25 2016-05-04 北京奇虎科技有限公司 Asynchronous processing method and device of business request
CN107885594A (en) * 2016-09-30 2018-04-06 腾讯科技(深圳)有限公司 Distributed resource scheduling method, scheduling node and access node
CN106603723A (en) * 2017-01-20 2017-04-26 腾讯科技(深圳)有限公司 Request message processing method and device
CN107426302A (en) * 2017-06-26 2017-12-01 腾讯科技(深圳)有限公司 Access scheduling method, apparatus, system, terminal, server and storage medium
CN107317763A (en) * 2017-06-30 2017-11-03 郑州云海信息技术有限公司 Flow control method and device between a kind of client and meta data server
KR20190128368A (en) * 2018-05-08 2019-11-18 주식회사 애포샤 Method for handling request in an asynchronous server
CN110362275A (en) * 2019-07-10 2019-10-22 深圳大普微电子科技有限公司 Promote the method and solid state hard disk of solid state hard disk service quality
CN110381162A (en) * 2019-07-29 2019-10-25 腾讯科技(深圳)有限公司 A kind of method and relevant apparatus of business processing
CN110365796A (en) * 2019-08-01 2019-10-22 腾讯科技(深圳)有限公司 Service request processing method, device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TMS地域调度系统设计与实现;庄一嵘;梁丹华;陈戈;周晓燕;;广东通信技术(第05期);全文 *

Also Published As

Publication number Publication date
CN112054923A (en) 2020-12-08

Similar Documents

Publication Publication Date Title
CN112054923B (en) Service request detection method, equipment and medium
US11558270B2 (en) Monitoring a stale data queue for deletion events
EP2721504B1 (en) File processing method, system and server-clustered system for cloud storage
US7272613B2 (en) Method and system for managing distributed content and related metadata
US20150237113A1 (en) Method and system for file transmission
EP3624398B1 (en) Storage capacity evaluation method and apparatus based on cdn application
EP1892921A2 (en) Method and sytem for managing distributed content and related metadata
US10419528B2 (en) Dynamically instantiating and terminating data queues
CN105162878A (en) Distributed storage based file distribution system and method
US10599529B2 (en) Instantiating data queues for management of remote data stores
US11076181B2 (en) Systems and methods for resolving manifest file discontinuities
US11743333B2 (en) Tiered queuing system
US11429566B2 (en) Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo
US20200401562A1 (en) Parallel processing of filtered transaction logs
US20180248977A1 (en) Selective distribution of messages in a publish-subscribe system
CN111225003B (en) NFS node configuration method and device
CN107659626B (en) Temporary metadata oriented separation storage method
US11334623B2 (en) Key value store using change values for data properties
CN115941454A (en) Log transmission and storage method and device
CN114691727A (en) Data processing method, device and system, electronic equipment and storage medium
CN115858503A (en) Heterogeneous database migration management method and system based on migration linked list
CN112395296A (en) Big data archiving method, device, equipment and storage medium
CN116582559A (en) Data storage and sharing method and related device
CN112199392A (en) Cache management method and device and electronic equipment

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