CN117914822A - Scheduling method, electronic device, computer readable medium - Google Patents

Scheduling method, electronic device, computer readable medium Download PDF

Info

Publication number
CN117914822A
CN117914822A CN202311651016.4A CN202311651016A CN117914822A CN 117914822 A CN117914822 A CN 117914822A CN 202311651016 A CN202311651016 A CN 202311651016A CN 117914822 A CN117914822 A CN 117914822A
Authority
CN
China
Prior art keywords
value
client
rtt
domain name
current
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.)
Pending
Application number
CN202311651016.4A
Other languages
Chinese (zh)
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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202311651016.4A priority Critical patent/CN117914822A/en
Publication of CN117914822A publication Critical patent/CN117914822A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present disclosure provides a scheduling method, including: receiving and resolving a domain name resolution request initiated by a client in HTTPDNS mode; determining a record value corresponding to the domain name as a current record value according to a configured scheduling algorithm; locally caching the current recorded value and returning the current recorded value to the client; and performing real-time network delay monitoring on the client based on the current recorded value, and updating the current recorded value according to a monitoring result. The present disclosure also provides an electronic device, a computer-readable medium. The method and the device can effectively prevent domain name hijacking; the real IP of the client is used for carrying out the dispatching of the geographic position, so that a dispatching algorithm is more accurate; the network delay detection function is added, so that the client request is prevented from being scheduled to a data center with busy network, and smoother experience is brought to service access of a user.

Description

Scheduling method, electronic device, computer readable medium
Technical Field
The disclosure relates to the technical field of intelligent global scheduling, and in particular relates to a scheduling method, electronic equipment and a computer readable medium.
Background
Domain name is a set of address translation systems specially built for memory, and to access a server on the internet, it must be realized through IP (Internet Protocol ) address, and DNS (Domain name resolution ) is a process of converting domain name into IP address again. One domain name corresponds to one IP address, and one IP address may correspond to a plurality of domain names; multiple domain names can be resolved to one IP address at the same time. Domain name resolution needs to be done by a specialized domain name resolution server.
Domain name resolution is often used as a precursor to a one-time network connection, and resolves computer names that are easy to remember into network addresses suitable for computer processing, and almost all applications requiring network connections need to resolve domain names.
However, because of relying on Local DNS completely, DNS hijacking is easy to cause, the analysis result is slow and inaccurate, and a high record value of network delay between a client and a server is easy to return in the internet with large network fluctuation.
Disclosure of Invention
Embodiments of the present disclosure provide a scheduling method, an electronic device, and a computer-readable medium.
In a first aspect, an embodiment of the present disclosure provides a scheduling method, including:
Receiving and resolving a domain name resolution request initiated by a client in HTTPDNS mode;
determining a record value corresponding to the domain name as a current record value according to a configured scheduling algorithm;
Locally caching the current recorded value and returning the current recorded value to the client;
And performing real-time network delay monitoring on the client based on the current recorded value, and updating the current recorded value according to a monitoring result.
In some embodiments, determining, according to a configured scheduling algorithm, a record value corresponding to the domain name as a current record value includes:
determining a target data center among the plurality of data centers according to a first scheduling algorithm;
And according to a second scheduling algorithm, inquiring whether a record value corresponding to the domain name exists in the target data center.
In some embodiments, querying, at the target data center, whether there is a record value corresponding to the domain name includes:
If the record value corresponding to the domain name does not exist in the target data center, returning a response message with the empty message to the client;
And if the record value corresponding to the domain name exists in the target data center, selecting one of a plurality of record values corresponding to the domain name as the current record value.
In some embodiments, performing real-time network latency monitoring of the client based on the current recorded value includes:
Performing RTT (Round-Trip Time) detection of the client based on the current recorded value to obtain a current RTT value;
and comparing the current RTT value with a threshold value on a local configuration item to determine a network delay condition between the client and a server corresponding to the current recorded value.
In some embodiments, comparing the current RTT value to a threshold on a local profile to determine a network latency condition between the client and a server corresponding to the current recorded value includes:
when the current RTT value is smaller than or equal to the threshold value, determining that network delay between the client and a server corresponding to the current record value belongs to a normal range;
And when the current RTT value is larger than the threshold value, determining that the network delay between the client and the server corresponding to the current recorded value belongs to an abnormal range.
In some embodiments, when it is determined that the network delay between the client and the server corresponding to the current record value falls within an abnormal range, updating the current record value according to the monitoring result includes:
Performing RTT probing for the client based on other record values not selected among a plurality of record values corresponding to the domain name in the target data center to obtain a plurality of other RTT values;
Comparing each of the plurality of other RTT values to the threshold value;
Taking a recorded value corresponding to a target RTT value as the current recorded value and performing the update, wherein the target RTT value is an RTT value less than or equal to the threshold value among the plurality of other RTT values;
Notifying other data centers to execute RTT detection for the client based on the record value corresponding to the domain name determined at the other data centers to obtain a plurality of RTT values of the other data centers when the plurality of other RTT values are all greater than the threshold value;
comparing the RTT values of the other data centers with the RTT values of the target data center to select a record value having the smallest RTT value as the current record value and performing the update.
In some embodiments, the scheduling method provided by the embodiments of the present disclosure further includes: and when the client initiates a domain name resolution request in a HTTPDNS mode next time, directly returning the record value in the cache to the client.
In the disclosed embodiments, the first scheduling algorithm may be a topology algorithm and the second scheduling algorithm may be a polling algorithm.
In a second aspect, embodiments of the present disclosure provide an electronic device, including:
one or more processors;
And a memory having one or more programs stored thereon, which when executed by the one or more processors, cause the one or more processors to implement the scheduling method according to the first aspect of the embodiments of the present disclosure.
In a third aspect, embodiments of the present disclosure provide a computer readable medium having stored thereon a computer program which, when executed by a processor, implements the scheduling method of the first aspect of the embodiments of the present disclosure.
The method and the device can effectively prevent domain name hijacking; the real IP of the client is used for carrying out the dispatching of the geographic position, so that a dispatching algorithm is more accurate; the network delay detection function is added, so that the client request is prevented from being scheduled to a data center with busy network, and smoother experience is brought to service access of a user.
Drawings
FIG. 1 is a flow chart of a scheduling method of an embodiment of the present disclosure;
FIG. 2 is a schematic diagram of the composition of an electronic device in an embodiment of the present disclosure;
fig. 3 is a detailed topology of a network environment of a scheduling method according to an embodiment of the present disclosure.
Detailed Description
In order to better understand the technical solutions of the present disclosure, the following detailed description of the technical solutions of the present disclosure is provided with reference to the accompanying drawings.
Example embodiments will be described more fully hereinafter with reference to the accompanying drawings, but may be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Embodiments of the disclosure and features of embodiments may be combined with each other without conflict.
As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Currently, the domain name resolution process is issued LocalDNS in a UDP (User Datagram Protocol ) message. After the local domain name server detects the domain name, the corresponding IP address is put in a response message and returned. While domain name servers must also have information to connect to other servers to support forwarding when resolution is not possible. If the domain name server cannot answer the request, the domain name server becomes another client in the DNS temporarily, and sends a request for resolution to the root domain name server, which must find the domain name servers of all the following secondary domains, and so on, and resolves all the way down until the requested domain name is queried.
The general DNS intelligent resolution refers to that the DNS server returns different resolution responses to the same domain name according to a certain policy. Through DNS intelligent analysis, the service traffic can be globally scheduled. In the most common case, to improve the quality of service access, service providers should deploy data centers in multiple-place, multiple-AS domains and direct service access to the data centers closest to the user. Since ednsclient-subnet protocol is not supported to a high degree, authoritative DNS generally determines the current geographic location and operator information of the user through the egress IP of LocalDNS, and then finds specific domain name record information according to a specified policy and returns the record information.
The HTTP (Hypertext Transfer Protocol ) DNS uses the HTTP protocol for domain name resolution, which allows clients to query a remote server for domain name resolution information via HTTP requests, and obtain IP addresses corresponding to domain names.
Instead of the traditional DNS interaction based on UDP protocol, the domain name resolution request is directly sent to HTTPDNS server side, and LocalDNS of the operator is bypassed, so that the problems such as domain name hijacking and the like caused by LocalDNS are avoided. In addition, since HttpDNS service ends acquire the IP of the real client ends instead of LocalDNS, the geographic position and the operator information of the client ends can be accurately positioned, the nodes for preferentially serving the client ends are determined according to the region where the client ends are located, and the dispatching accuracy is effectively improved. HTTPDNS allow for adjusting the parsing results according to real-time network conditions so that the system can more flexibly cope with different network environments and service loads.
Fig. 1 is a flow chart of a scheduling method of an embodiment of the present disclosure.
In a first aspect, referring to fig. 1, an embodiment of the present disclosure provides a scheduling method, including:
S11, receiving and analyzing a domain name analysis request initiated by a client in HTTPDNS mode;
s12, determining a record value corresponding to the domain name as a current record value according to a configured scheduling algorithm;
S13, caching the current recorded value locally, and returning the current recorded value to the client;
And S14, performing real-time network delay monitoring on the client based on the current recorded value, and updating the current recorded value according to a monitoring result.
In the embodiments of the present disclosure, the client includes, but is not limited to, a mobile terminal, a mobile phone, a portable device, and the like, for example, the client may be a device having a network communication function, including, but not limited to: computers, tablet computers, mobile phones, smart home devices, vehicle-mounted devices, wearable devices and the like. The client may be a portable, pocket, hand-held, computer-built-in or vehicle-mounted device or apparatus. The embodiments of the present disclosure are not particularly limited thereto.
In some embodiments, the actual IP address of the client can be obtained through HTTPDNS, and the LocalDNS server address is not used as the address of the client to perform algorithm scheduling, so that the scheduling result is more accurate when scheduling is performed based on the geographic location to which the actual user IP belongs.
In some embodiments, determining, according to a configured scheduling algorithm, a record value corresponding to the domain name as a current record value includes:
determining a target data center among the plurality of data centers according to a first scheduling algorithm;
And according to a second scheduling algorithm, inquiring whether a record value corresponding to the domain name exists in the target data center.
In the disclosed embodiments, the first scheduling algorithm may be a topology algorithm and the second scheduling algorithm may be a polling algorithm. It should be understood by those skilled in the art that, according to the actual requirements of the client, the first scheduling algorithm and the second scheduling algorithm in this example may also use other algorithms, for example, a ratio algorithm, a global load balancing algorithm, a minimum connection number algorithm, a priority algorithm, and the embodiment of the present disclosure is not limited in particular.
In some embodiments, querying, at the target data center, whether there is a record value corresponding to the domain name includes:
If the record value corresponding to the domain name does not exist in the target data center, returning a response message with the empty message to the client;
And if the record value corresponding to the domain name exists in the target data center, selecting one of a plurality of record values corresponding to the domain name as the current record value.
In some embodiments, performing real-time network latency monitoring based on the current recorded value includes:
continuously performing RTT (Round-Trip Time) probing of the client based on the current recorded value to obtain a current RTT value;
And continuously comparing the current RTT value with a threshold value on a local configuration item to determine a network delay condition between the client and a server corresponding to the current recorded value.
In some embodiments, comparing the current RTT value to a threshold on a local profile to determine a network latency condition between the client and a server corresponding to the current recorded value includes:
when the current RTT value is smaller than or equal to the threshold value, determining that network delay between the client and a server corresponding to the current record value belongs to a normal range;
And when the current RTT value is larger than the threshold value, determining that the network delay between the client and the server corresponding to the current recorded value belongs to an abnormal range.
In some embodiments, when it is determined that the network delay between the client and the server corresponding to the current record value falls within an abnormal range, updating the current record value according to the monitoring result includes:
Performing RTT probing for the client based on other record values not selected among a plurality of record values corresponding to the domain name in the target data center to obtain a plurality of other RTT values;
Comparing each of the plurality of other RTT values to the threshold value;
Taking a recorded value corresponding to a target RTT value as the current recorded value, and performing the updating, wherein the target RTT value is an RTT value less than or equal to the threshold value among the plurality of other RTT values;
Notifying other data centers to execute RTT detection for the client based on the record value corresponding to the domain name determined at the other data centers to obtain a plurality of RTT values of the other data centers when the plurality of other RTT values are all greater than the threshold value;
comparing the RTT values of the other data centers with the RTT values of the target data center to select a record value having the smallest RTT value as the current record value and performing the update.
In some embodiments, the scheduling method provided by the embodiments of the present disclosure further includes: and when the client initiates a domain name resolution request in a HTTPDNS mode next time, directly returning the record value in the cache to the client.
Fig. 2 is a schematic diagram of the composition of an electronic device in an embodiment of the disclosure.
In a second aspect, referring to fig. 2, an embodiment of the present disclosure provides an electronic device, including:
one or more processors 201;
A memory 202 having one or more programs stored thereon, which when executed by one or more processors, cause the one or more processors to implement the scheduling method described in the first aspect of the embodiments of the present disclosure;
one or more I/O interfaces 203, coupled between the processor and the memory, are configured to enable information interaction of the processor with the memory.
Wherein the processor 201 is a device having data processing capabilities, including but not limited to a Central Processing Unit (CPU) or the like; memory 202 is a device with data storage capability including, but not limited to, random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically charged erasable programmable read-only memory (EEPROM), FLASH memory (FLASH); an I/O interface (read/write interface) 203 is connected between the processor 201 and the memory 202 to enable information interaction between the processor 201 and the memory 202, including but not limited to a data Bus (Bus) or the like.
In some embodiments, processor 201, memory 202, and I/O interface 203 are connected to each other and, in turn, to other components of the computing device via bus 204.
In a third aspect, embodiments of the present disclosure provide a computer readable medium having stored thereon a computer program which, when executed by a processor, implements the scheduling method of the first aspect of the embodiments of the present disclosure.
The embodiment provides a dispatching method based on HTTPDNS, which is used for solving the problem that a domain name request of a client side has DNS hijacking and a record value returned by a domain name server is inaccurate. The method supports more intelligent domain name resolution, can intelligently return an optimal record value according to a real-time network environment, and ensures that the domain name record value acquired by a client is an optimal service address in the current network environment.
Based on HTTPDNS mode, the Local DNS server of the operator can be not relied on, so that the direct communication between the client and the DNS server (global load) is realized, and the domain name hijacking of the DNS is effectively avoided. Meanwhile, the DNS server can also see the real address of the client, so that the dispatching algorithm based on the geographic position is more accurate.
The DNS server (global load) also provides a function of actively detecting the RTT value of the service address to the client, so that the situation that the service address with high delay and network congestion is directly returned to the client by a single scheduling algorithm, and the subsequent client accesses the service slowly is avoided.
In order to enable those skilled in the art to more clearly understand the technical solutions provided by the embodiments of the present disclosure, the following details of the technical solutions provided by the embodiments of the present disclosure are described by specific embodiments:
example 1
The dispatching method based on HTTPDNS in the embodiment includes the following procedures:
the client initiates an analysis request for a specific domain name in HTTPDNS mode;
HTTPDNS the server side analyzes the request, and if the domain name requested by the client side is locally queried, the recorded value of the domain name is selected from a plurality of data centers according to a configured scheduling algorithm and returned to the client side;
HTTPDNS the server side simultaneously locally caches the current recorded value of the corresponding domain name, and continuously executes RTT detection on the client side based on the current recorded value;
when the detected RTT value exceeds the network delay threshold configured by the local domain name, actively notifying other data centers to perform RTT detection on the client, comparing the detection result of the same client with the detection result in the data center by the other data centers, and selecting a record value notification HTTPDNS, HTTPDNS with the minimum network delay to update the record value corresponding to the domain name of the local cache to be a new record value.
Example two
The dispatching method based on HTTPDNS in this embodiment includes the following detailed implementation procedures:
(1) The client initiates a domain name resolution request for the specified domain name www.xxx.com in HTTPDNS mode;
(2) Receiving and resolving a domain name resolution request;
(3) Inquiring whether record values corresponding to the domain name exist in different data centers according to a configured scheduling algorithm;
a) If a record value corresponding to the domain name is queried in one of the plurality of data centers, determining the data center as a target data center and continuing the step 4;
b) And if the record value corresponding to the domain name is not queried, returning a response message that the query message of the client is empty.
(4) And (3) locally caching the current recorded value corresponding to the domain name, and returning the current recorded value to the client through HTTPDNS response messages.
(5) Based on the current recorded value, continuously RTT probing the requesting client and comparing the obtained RTT value with a threshold value on the local configuration item, determining whether the obtained RTT value is smaller than the configured threshold value?
A) If the network delay is smaller than or equal to the configured threshold value, determining that the network delay to the client belongs to a normal range, and not performing any processing;
b) If the RTT value is greater than the configured threshold value, then RTT detection is performed on the requesting client based on other record values corresponding to the domain name of the target data center, and whether the obtained other RTT value is less than the configured threshold value?
B1 If the record value is smaller than or equal to the configured threshold value, determining the record value as the current record value and returning to the step 4;
b2 If the RTT value is larger than the configured threshold value, notifying other data centers to execute RTT detection on the client based on the recorded value corresponding to the domain name determined by the other data centers so as to obtain a plurality of RTT values of the other data centers, and continuing the step 6;
(6) Comparing the RTT values of the other data centers with the RTT values of the target data center, and determining whether the RTT values detected by the other data centers are smaller than the RTT values detected by the target data center?
A) If the RTT value detected by other data centers is smaller than the RTT value of the target data center, considering that the network delay of the other data centers is relatively low, selecting the record value with the smallest RTT value as the current record value and returning to the step 4;
b) If the RTT value of the other data centers is not smaller than the RTT value of the target data center, the network delay of the other data centers is considered to be higher, and no processing is performed.
(7) When the client initiates www.xxx.com domain name resolution request in HTTPDNS mode, the data in the cache information is directly returned to the client.
Example III
The present embodiment describes HTTPDNS-based scheduling methods in connection with the following network environment.
Fig. 3 is a detailed topology of a network environment of a scheduling method according to an embodiment of the present disclosure.
Referring to fig. 3, a network environment of the scheduling method of the embodiment of the present disclosure is as follows: one Shanghai user, one HTTPDNS server, three data centers (Shanghai, beijing, guangzhou). The Shanghai data center is configured with global load balancing, the global resource mapping domain name is configured to www.test.com, the RTT threshold value is configured to 1us, a first scheduling algorithm in the global resource mapping can use a topology algorithm, a user with the topology configured as Shanghai is scheduled to the Shanghai data center, a second scheduling algorithm in the virtual service pool can be polling, and polling returns between two recorded values 3.3.3.1 and 3.3.3.2; the Beijing data center is configured with global load balancing, the global resource mapping domain name is configured as www.test.com, a first scheduling algorithm in the global resource mapping can use a topology algorithm, users with the topology configured as Beijing are scheduled to the Beijing data center, and a second scheduling algorithm in the virtual service pool can be configured as polling, and polling returns between two recorded values of 2.2.2.1 and 2.2.2.2; the Guangzhou data center is configured with global load balancing, the global resource mapping domain name is configured to www.test.com, a first scheduling algorithm in the global resource mapping can use a topology algorithm, the topology is configured to schedule Guangzhou users to the Guangzhou data center, a second scheduling algorithm in the virtual service pool can poll, and the polling returns between the two recorded values of 1.1.1.1.1 and 1.1.2.
Although two recorded values are illustrated in this example, it should be understood by those skilled in the art that the number of recorded values is not limited to 2, but may be other positive integers. Also, it should be understood by those skilled in the art that the above-described network environments are merely examples, and the present invention is equally applicable to other network environments.
Stage 1:
A Shanghai user (6.6.6.6) initiates a domain name resolution request to www.test.com to a specified HTTPDNS server in HTTPDNS mode;
After HTTPDNS server receives the domain name resolution request, using the global load balancing configuration scheduling algorithm to query www.test.com record value, using the global load balancing configuration scheduling algorithm to query www.test.com record value as 3.3.3.1 in the Shanghai data center, and returning the queried record value 3.3.3.1 to HTTPDNS server;
And receiving the returned 3.3.3.1 by the HTTPDNS server, assembling HTTPDNS response message, returning 3.3.3.1 record value to the Shanghai user through HTTPDNS response message, and simultaneously caching the A record value of the www.test.com domain name as 3.3.3.1 in the local cache.
The Shanghai user initiates a real service request through the acquired 3.3.3.1 address.
Stage 2:
And continuously performing RTT detection on the Shanghai user, comparing the acquired RTT value with an RTT threshold value configured by the resource mapping, and determining whether to notify other data centers to perform RTT detection or whether to notify HTTPDNS to update the cache data according to the comparison result. All comparison results and subsequent processing can be referred to in the following table:
stage 3:
The user in Shanghai subsequently uses HTTPDNS to obtain www.test.com domain name record value, and the HTTPDNS server returns the record value with the minimum network delay in all data centers to the client.
Those of ordinary skill in the art will appreciate that all or some of the steps, systems, functional modules/units in the apparatus, and methods disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between the functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed cooperatively by several physical components. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
Example embodiments have been disclosed herein, and although specific terms are employed, they are used and should be interpreted in a generic and descriptive sense only and not for purpose of limitation. In some instances, it will be apparent to one skilled in the art that features, characteristics, and/or elements described in connection with a particular embodiment may be used alone or in combination with other embodiments unless explicitly stated otherwise. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the disclosure as set forth in the appended claims.

Claims (10)

1. A scheduling method, comprising:
Receiving and resolving a domain name resolution request initiated by a client in HTTPDNS mode;
determining a record value corresponding to the domain name as a current record value according to a configured scheduling algorithm;
Locally caching the current recorded value and returning the current recorded value to the client;
And performing real-time network delay monitoring on the client based on the current recorded value, and updating the current recorded value according to a monitoring result.
2. The scheduling method of claim 1, wherein determining, according to a configured scheduling algorithm, a record value corresponding to the domain name as a current record value includes:
determining a target data center among the plurality of data centers according to a first scheduling algorithm;
And according to a second scheduling algorithm, inquiring whether a record value corresponding to the domain name exists in the target data center.
3. The scheduling method of claim 2, wherein querying, at the target data center, whether there is a record value corresponding to the domain name, comprises:
If the record value corresponding to the domain name does not exist in the target data center, returning a response message with the empty message to the client;
And if the record value corresponding to the domain name exists in the target data center, selecting one of a plurality of record values corresponding to the domain name as the current record value.
4. A scheduling method according to any one of claims 1 to 3 wherein performing real-time network latency monitoring of the client based on the current recorded value comprises:
Performing round trip time, RTT, detection for the client based on the current recorded value to obtain a current RTT value;
and comparing the current RTT value with a threshold value on a local configuration item to determine a network delay condition between the client and a server corresponding to the current recorded value.
5. The scheduling method of claim 4, wherein comparing the current RTT value to a threshold on a local configuration item to determine a network delay condition between the client and a server corresponding to the current recorded value comprises:
when the current RTT value is smaller than or equal to the threshold value, determining that network delay between the client and a server corresponding to the current record value belongs to a normal range;
And when the current RTT value is larger than the threshold value, determining that the network delay between the client and the server corresponding to the current recorded value belongs to an abnormal range.
6. The scheduling method of claim 5, wherein when it is determined that the network delay between the client and the server corresponding to the current recorded value falls within an abnormal range, updating the current recorded value according to the monitoring result comprises:
Performing RTT probing for the client based on other record values not selected among a plurality of record values corresponding to the domain name in the target data center to obtain a plurality of other RTT values;
Comparing each of the plurality of other RTT values to the threshold value;
Taking a recorded value corresponding to a target RTT value as the current recorded value and performing the update, wherein the target RTT value is an RTT value less than or equal to the threshold value among the plurality of other RTT values;
Notifying other data centers to execute RTT detection for the client based on the record value corresponding to the domain name determined at the other data centers to obtain a plurality of RTT values of the other data centers when the plurality of other RTT values are all greater than the threshold value;
comparing the RTT values of the other data centers with the RTT values of the target data center to select a record value having the smallest RTT value as the current record value and performing the update.
7. The scheduling method of claim 6, further comprising: and when the client initiates a domain name resolution request in a HTTPDNS mode next time, directly returning the record value in the cache to the client.
8. The scheduling method of claim 2, wherein the first scheduling algorithm is a topology algorithm and the second scheduling algorithm is a polling algorithm.
9. An electronic device, comprising:
one or more processors;
Memory having one or more programs stored thereon, which when executed by the one or more processors, cause the one or more processors to implement the scheduling method of any of claims 1 to 8.
10. A computer readable medium having stored thereon a computer program which, when executed by a processor, implements the scheduling method according to any one of claims 1 to 8.
CN202311651016.4A 2023-12-04 2023-12-04 Scheduling method, electronic device, computer readable medium Pending CN117914822A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311651016.4A CN117914822A (en) 2023-12-04 2023-12-04 Scheduling method, electronic device, computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311651016.4A CN117914822A (en) 2023-12-04 2023-12-04 Scheduling method, electronic device, computer readable medium

Publications (1)

Publication Number Publication Date
CN117914822A true CN117914822A (en) 2024-04-19

Family

ID=90680635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311651016.4A Pending CN117914822A (en) 2023-12-04 2023-12-04 Scheduling method, electronic device, computer readable medium

Country Status (1)

Country Link
CN (1) CN117914822A (en)

Similar Documents

Publication Publication Date Title
US11811657B2 (en) Updating routing information based on client location
CN111800458B (en) Dynamic load balancing method and system for Kubernetes container cloud platform
US20200195753A1 (en) Request routing utilizing client location information
CN107426302B (en) Access scheduling method, device, system, terminal, server and storage medium
US8521851B1 (en) DNS query processing using resource identifiers specifying an application broker
EP3567881B1 (en) Request routing and updating routing information utilizing client location information
US9525659B1 (en) Request routing utilizing point of presence load information
JP5404766B2 (en) Method and system for requesting routing
CN110830565B (en) Resource downloading method, device, system, electronic equipment and storage medium
WO2013104172A1 (en) Method for realizing load balancing, dns server, and client
US11323414B2 (en) Managing domain name system (DNS) record cache across multiple DNS servers using multicast communication
US11089128B2 (en) Content node selection using network performance profiles
CN107395783B (en) IP address processing method, system, device and electronic equipment
US20070100958A1 (en) Method for selecting a functional domain name server
WO2021042673A1 (en) Dns resolution method, authoritative dns server and dns resolution system
CN113206785B (en) Network request method and device, terminal equipment and storage medium
CN111885216B (en) DNS query method, device, equipment and storage medium
CN110708385A (en) CDN scheduling algorithm and system based on network delay
CN111556135A (en) Request scheduling method, system and device and electronic equipment
US9882868B1 (en) Domain name system network traffic management
WO2012092765A1 (en) Domain name system and method thereof for providing load balancing
CN108494870B (en) CDN-based dynamic data loading method and device
US20210176301A1 (en) Method and apparatus for multi-vendor gtm fabric
CN117914822A (en) Scheduling method, electronic device, computer readable medium
US10812390B2 (en) Intelligent load shedding of traffic based on current load state of target capacity

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