Scheduling method, apparatus, device, cluster, product, and medium

By setting a switchable unit identifier in the domain name resolution system, the monitoring system notifies the domain name resolution system to modify the instance status when a mass failure is detected. This solves the problem of low instance switching efficiency under mass failures in multiple data centers, enables rapid switching to normal instances, and improves system availability and response speed.

CN122476010APending Publication Date: 2026-07-28HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-01-26
Publication Date
2026-07-28

AI Technical Summary

Technical Problem

When multiple data centers experience a collective failure, existing technologies are unable to efficiently switch instances, resulting in inefficient request processing.

Method used

By setting a switchable unit identifier in the domain name resolution system, the monitoring system notifies the domain name resolution system to modify the instance status when a group failure is detected, so as to quickly switch to a non-faulty instance to process the request.

Benefits of technology

It improves instance failover efficiency in the event of mass failures, ensuring that processing requests can be quickly redirected to normal data center instances, thereby enhancing system availability and response speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122476010A_ABST
    Figure CN122476010A_ABST
Patent Text Reader

Abstract

The application provides a scheduling method, device, equipment, cluster, product and medium. The method comprises: a domain name resolution system receiving a first switchable unit identifier sent by a monitoring system in a case where the monitoring system detects that a group failure occurs in a first switchable unit in a first data center, wherein the first switchable unit comprises a plurality of instances of the first data center, and the switchable unit identifier is used to indicate the first switchable unit; and the domain name resolution system inhibiting sending a first processing request to the instance corresponding to the switchable unit identifier according to the switchable unit identifier. The above method can effectively improve the switching efficiency of the instance in the case of group failure.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data communication, and more particularly to a scheduling method, apparatus, device, cluster, product, and medium. Background Technology

[0002] To ensure high availability, multiple data centers are typically configured, each running the same instance. When a client has a processing request, it can be sent to instances in multiple data centers simultaneously. If an instance in one data center fails, processing can be switched to an instance in another data center. However, this switching only supports single-instance switching. In the event of a cluster failure, multiple instances in a data center will fail simultaneously. Switching to each instance individually would be extremely time-consuming and inefficient. Summary of the Invention

[0003] This application provides a scheduling method, apparatus, device, cluster, product, and medium that can effectively improve the instance switching efficiency when a mass failure occurs.

[0004] Firstly, a scheduling method is provided. The method includes the following steps:

[0005] When the domain name resolution system receives a first switchable unit identifier sent by the monitoring system in the event of a mass failure of the first switchable unit in the first data center, the first switchable unit includes multiple instances of the first data center, and the switchable unit identifier is used to indicate the first switchable unit.

[0006] The domain name resolution system modifies the status of the instance corresponding to the switchable unit identifier to a fault state based on the switchable unit identifier.

[0007] The domain name resolution system receives a first processing request sent by the client, wherein the first processing request includes a first domain name, the first domain name is associated with a first instance of a first data center and a second instance of a second data center, the first instance belongs to the instance corresponding to the switchable unit identifier, and the second instance does not belong to the instance corresponding to the switchable unit identifier.

[0008] The domain name resolution system prohibits sending the first processing request to the first instance, but sends the first processing request to the second instance instead.

[0009] In the above solution, by setting up switchable units in the data center, when a group failure occurs in the switchable units in the data center, the monitoring system sends the switchable unit identifier corresponding to the switchable unit to the domain name resolution system. The domain name resolution system will then uniformly modify the status of the instance corresponding to the switchable unit identifier, thereby achieving rapid instance switching.

[0010] In some possible designs, before the domain name resolution system receives the first switchable unit identifier sent by the monitoring system in the event of a mass failure of the first switchable unit in the first data center, the instances corresponding to the first switchable unit identifiers are all in a normal state. At this time, if the domain name resolution system receives a second processing request from a client, wherein the second processing request includes the first domain name, the domain name resolution system will send the second processing request to both the first and second instances.

[0011] In some possible designs, the first instance belongs to a first switchable unit of the first data center, and the second instance belongs to a second switchable unit of the second data center. The number of instances included in the first switchable unit and the number of instances included in the second switchable unit may be equal or unequal.

[0012] In the above scheme, both the first data center and the second data center can be configured with switchable units. Furthermore, the configuration of switchable units in different centers can be the same or different. For example, if the terrain of the area where the first data center is located is relatively wide and a large number of instances are set up in the same server room, while the terrain of the area where the second data center is located is relatively narrow and a small number of instances are set up in the same server room, then different data centers can be configured with different switchable units, thereby allowing for more flexible management of instances.

[0013] In some possible designs, the first data center may also include a third switchable unit, to which the first switchable unit is a subset, or in which at least some instances of the first switchable unit and the third switchable unit are not identical.

[0014] In the above scheme, a single data center can include multiple different switchable units, and different switchable units can include instances of different ranges. For example, the first switchable unit may belong to the third switchable unit, or at least some instances in the first and third switchable units may not be the same. This enables multi-dimensional management of the data center and adapts to different group failure requirements. For example, if a group failure occurs due to an earthquake, often all instances in the entire data center will fail. Therefore, a switchable unit can be set up to include all instances in the entire data center. If a group failure occurs due to a fire, often all instances in one of the data center's server rooms will fail. Therefore, another switchable unit can be set up to include all instances in the corresponding server room.

[0015] In some possible designs, the instances included by the first switchable unit are user-defined.

[0016] In the above scheme, users can customize the instances included in the switchable unit as needed, which can better adapt to the needs of various occasions.

[0017] Secondly, a scheduling device is provided, the device comprising:

[0018] The receiving module is used to receive a first switchable unit identifier sent by the monitoring system when a mass failure of a first switchable unit in a first data center is detected, wherein the first switchable unit includes multiple instances of the first data center, and the switchable unit identifier is used to indicate the first switchable unit.

[0019] The blocking module is used to block the sending of the first processing request to the instance corresponding to the switchable unit identifier based on the switchable unit identifier.

[0020] In some possible designs, the device further includes a modification module for modifying the state of the instance corresponding to the switchable unit identifier to a fault state based on the switchable unit identifier;

[0021] The receiving module is used to receive a first processing request sent by the client, wherein the first processing request includes a first domain name, the first domain name is associated with a first instance of a first data center and a second instance of a second data center, the first instance belongs to the instance corresponding to the switchable unit identifier, and the second instance does not belong to the instance corresponding to the switchable unit identifier.

[0022] The blocking module is used to block the sending of the first processing request to the first instance, but to send the first processing request to the second instance.

[0023] In some possible designs, the device also includes a transmitting module.

[0024] The receiving module is used to receive a second processing request sent by the client, wherein the second processing request includes the first domain name;

[0025] The sending module is used to send the second processing request to the first instance and to send the second processing request to the second instance.

[0026] In some possible designs, the first instance belongs to a first switchable unit of the first data center, and the second instance belongs to a second switchable unit of the second data center. The number of instances included in the first switchable unit and the number of instances included in the second switchable unit may be equal or unequal.

[0027] In some possible designs, the first data center may also include a third switchable unit, to which the first switchable unit is a subset, or in which at least some instances of the first switchable unit and the third switchable unit are not identical.

[0028] In some possible designs, the instances included by the first switchable unit are user-defined.

[0029] Thirdly, a computing device is provided, the computing device including a processor and a memory;

[0030] The processor is configured to execute instructions stored in the memory to cause the computing device to perform the operational steps of the method as described in any of the first aspects.

[0031] Fourthly, a computing device cluster is provided, including one or more computing devices, each computing device including a processor and memory;

[0032] A processor of at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform operational steps as described in any of the first aspects.

[0033] Fifthly, a computer program product containing instructions is provided, which, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the operational steps of the method described in any of the first aspects.

[0034] In a sixth aspect, a computer-readable storage medium is provided, including computer program instructions that, when executed by a cluster of computing devices, perform operational steps as described in any of the first aspects. Attached Figure Description

[0035] Figure 1 This is a schematic diagram of the structure of a scheduling system provided in this application;

[0036] Figure 2 This is a flowchart illustrating a scheduling method provided in this application;

[0037] Figure 3 This is a schematic diagram of the structure of a scheduling device provided in this application;

[0038] Figure 4 This is a schematic diagram of the structure of a computing device provided in this application;

[0039] Figure 5 This is a schematic diagram of the structure of a computing device cluster provided in this application;

[0040] Figure 6 This is a schematic diagram of the structure of a computing device cluster provided in this application. Detailed Implementation

[0041] See Figure 1 , Figure 1 This is a schematic diagram of the structure of a scheduling system provided in this application. Figure 1 As shown, the scheduling system of this application includes a client 110, a domain name resolution system 120, a first data center 130, a second data center 140, and a monitoring system 150. The client 110 is connected to the domain name resolution system 120, which is connected to both the first data center 130 and the second data center 140. The domain name resolution system 120 is also connected to the monitoring system 150, which is connected to both the first data center 130 and the second data center 140.

[0042] Client 110 can be deployed on terminal devices, computing devices, or edge computing devices. Terminal devices include personal computers, smartphones, wearable devices, handheld processing devices, tablets, mobile laptops, augmented reality (AR) devices, virtual reality (VR) devices, smart conferencing devices, etc., without specific limitations. Computing devices can be bare metal servers (BMS), virtual machines, or containers. BMS refers to a general-purpose physical server, such as an ARM server or an x86 server; a virtual machine refers to a complete computer system with full hardware system functionality simulated by software, running in a completely isolated environment. Any task that can be performed on a physical computer can also be performed in a virtual machine. When creating a virtual machine on a computing device, a portion of the physical machine's hard drive and memory capacity needs to be used as the virtual machine's hard drive and memory capacity. Each virtual machine has its own independent basic input / output system (BIOS), hard disk, and operating system, allowing it to be operated like a physical machine. A container is a portable software unit that combines an application and all its dependencies into a single software package. This package is not limited by the underlying host operating system, eliminating the need to build complex environments and simplifying the application development and deployment process. Edge computing devices are hardware devices located close to the data source or data user.

[0043] Optionally, the client 100 may be software or an application running on a terminal device or computing device controlled by the user, such as a personal computer (PC) client, a World Wide Web (web) client accessed through a browser, a wearable device client running on a wearable device, an application (APP) client running on a mobile terminal, or a console of a cloud platform. This application does not impose any specific limitations.

[0044] In specific implementations, client 100 can be a web browsing client, providing various information for reading; an instant messaging client, enabling text, voice, and video chat between users, as well as group creation and file transfer functions, facilitating daily communication between individuals and meeting the team communication needs in work scenarios; an email client, providing email sending and receiving, multi-account management, email organization and offline reading and writing functions, achieving convenient email communication and management; a network game client, serving as the entry point to the game server, responsible for loading game resources, providing an operation interface and social interaction functions, ensuring a good gaming experience for players; a mobile game client, helping mobile phones quickly launch games, adapting to mobile phone characteristics, providing convenient operation and diverse interactions, meeting the needs of mobile games; and an office software client, integrating multiple document processing functions such as word processing, spreadsheets, and presentations, supporting multi-person collaborative editing, and improving office efficiency. Project management clients assist teams in task allocation, progress tracking, and communication collaboration, ensuring the orderly progress and efficient completion of projects; online banking clients support various financial operations such as account inquiries, fund transfers, and investment loans, allowing users to manage funds anytime, anywhere; securities trading clients provide functions such as viewing securities market data, placing orders, and setting stop-loss and take-profit levels to assist investors in financial transactions; online learning platform clients integrate a vast amount of course resources, providing learning services such as watching instructional videos, reading materials, and submitting assignments; and online shopping platform clients aggregate various goods, providing a one-stop service for searching, browsing, ordering, payment, and logistics tracking. The platform offers a variety of services including: a shopping service; a short video platform client that allows users to browse, shoot, edit, and share short videos for rapid entertainment and information dissemination; a video playback client with a rich video resource library that provides a high-definition, smooth video playback experience and personalized recommendation services; an online conferencing client that enables remote audio and video communication, screen sharing, and file transfer to meet remote collaboration and communication needs; a navigation system client that uses positioning technology to provide route planning, real-time navigation, and traffic information queries; and a home service platform client that integrates home service resources, allowing users to post needs, book services, and rate home service personnel.

[0045] It is understandable that the various clients mentioned above are merely specific examples. In practical applications, there could be other clients, or even new types of clients that will emerge in the future.

[0046] The domain name resolution system 120 can be deployed on a computing device or a cluster of computing devices, or it can be a chip or a chip system composed of multiple chips. The description of the computing device is as described above, and this application does not impose specific limitations. The chip can be implemented using a central processing unit (CPU), an application-specific integrated circuit (ASIC), or a programmable logic device (PLD). The PLD can be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), a system-on-chip (SoC), or any combination thereof, and this application does not impose specific limitations. This may also include processors or accelerator cards that have good performance when performing machine learning tasks, improving the speed and efficiency of neural network training, such as graphics processing units (GPUs), neural network processing units (NPUs), data processing units (DPUs), tensor processing units (TPUs), etc., which are not specifically limited in this application. Optionally, the domain name resolution system 120 can also be deployed in a storage device or a storage array composed of multiple storage devices. The storage device can be a hard disk drive (HDD), a solid-state disk (SSD), a mechanical hard disk (HDD), a universal serial bus (USB), flash memory, an SD card (secure digital memory card), a memory stick, etc., which are not specifically limited in this application. The storage array can be a redundant array of independent disks (RAID), network attached storage (NAS), storage area network (SAN), etc., which are not specifically limited in this application.

[0047] The first data center 130 and the second data center 140 can be deployed in a cluster of computing devices composed of multiple computing devices. Please refer to the above specifications for details. The first data center 130 and the second data center 140 can be deployed in the same geographical area or in different geographical areas. For example, the first data center 130 and the second data center 140 can be deployed in the same country, the same province, the same city, or the same campus, etc. Alternatively, the first data center 130 and the second data center 140 can be deployed in different campuses, different cities, different provinces, or even different countries, etc. For example, the farther the data center is from the user, the higher the network latency for data transmission. Distributing the first and second data centers in different provinces or even different cities brings data closer to the user, reduces network transmission distance, and improves data access speed. Furthermore, since the probability and intensity of natural disasters (such as earthquakes, floods, hurricanes, etc.) vary across different countries, distributing the first and second data centers in different countries can prevent all data centers from being damaged simultaneously due to a severe natural disaster in a single country, ensuring the continuous availability of data and services.

[0048] The first data center 130 and the second data center 140 can adopt a dual-active data center architecture. In this architecture, the two data centers simultaneously undertake production tasks, serve as backups for each other, and jointly cope with possible disasters or failures.

[0049] The first data center may include one or more server rooms, each server room may include one or more racks, each rack may include one or more servers, and each server may include one or more virtual machines. Multiple instances can run in the first data center 130. For example, the first data center 130 may include multiple servers, and different instances can use different servers; the first data center 130 may include multiple processor cores, and different instances can use different processor cores; the first data center 130 may include multiple virtual machines, and different instances can use different virtual machines; the first data center 130 may include multiple containers, and different instances can use different containers. For example, the first data center 130 runs instances 1, 2, and 3. Instance 1 in the first data center 130 has the domain name "www.example1.com" and the network address "139.×.×.1", instance 2 has the domain name "www.example2.com" and the network address "139.×.×.2", and instance 3 has the domain name "www.example3.com" and the network address "139.×.×.3". For details, please refer to the first data center table shown in Table 1.

[0050] Table 1 First Data Center Table

[0051] Instance fields Domain field Network address field Example 1 www.example1.com 139.×.×.1 Example 2 www.example2.com 139.×.×.2 Example 3 www.example3.com 139.×.×.2

[0052] In the first data center table, the instance field is used to store each instance, the domain name field is used to store the domain name corresponding to each instance, and the network address field is used to store the network address corresponding to each instance.

[0053] The first data center 130 can have one or more switchable units. Different switchable units can be related by a subset relationship, or at least some instances in different switchable units may be different. "At least some instances in different switchable units may be different" means that some instances in different switchable units are not the same, or that the instances in different switchable units are completely different. A switchable unit can include a certain number of instances in the first data center. When the first data center has one switchable unit, the switchable unit includes multiple instances in the same virtual machine, multiple instances in the same server, multiple instances in the same rack, multiple instances in the same data center, or multiple instances in the same data center. When the first data center has multiple switchable units, the scope of the different switchable units can be the same or different. For example, the first data center can include switchable unit 1 and switchable unit 2. Switchable unit 1 includes multiple instances in server 1, and switchable unit 2 includes multiple instances in server 2. Alternatively, switchable unit 1 may include multiple instances in server 1, and switchable unit 2 may include multiple instances in rack 2, and so on. In addition, users can define custom switchable units. For example, multiple instances in server 1 and multiple instances in a virtual machine in server 2 can be defined as switchable units.

[0054] The second data center 140 may include one or more server rooms, each server room may include one or more racks, each rack may include one or more servers, and each server may include one or more virtual machines. Multiple instances can run in the second data center 140. For example, the second data center 140 may include multiple servers, and different instances can use different servers; the second data center 140 may include multiple processor cores, and different instances can use different processor cores; the second data center 140 may include multiple virtual machines, and different instances can use different virtual machines; the second data center 140 may include multiple containers, and different instances can use different containers. For example, the second data center 140 runs instances 1, 2, and 3. Instance 1 in the second data center 140 has the domain name "www.example1.com" and the network address "131.×.×.1", instance 2 has the domain name "www.example2.com" and the network address "131.×.×.2", and instance 3 has the domain name "www.example3.com" and the network address "131.×.×.3". For details, please refer to the second data center table shown in Table 2.

[0055] Table 2 Second Data Center Table

[0056] Instance fields Domain field Network address field Example 1 www.example1.com 131.×.×.1 Example 2 www.example2.com 131.×.×.2 Example 3 www.example3.com 131.×.×.2

[0057] In the second data center table, the instance field is used to store each instance, the domain name field is used to store the domain name corresponding to each instance, and the network address field is used to store the network address corresponding to each instance.

[0058] One or more switchable units can be set up in the second data center. A switchable unit can include a certain number of instances within the second data center. When the second data center has one switchable unit, it can include multiple instances within the same virtual machine, multiple instances within the same server, multiple instances within the same rack, multiple instances within the same data center, or multiple instances within the same data center. When the second data center has multiple switchable units, the scope of the different switchable units can be the same or different. For example, the second data center can include switchable unit 1 and switchable unit 2. Switchable unit 1 includes multiple instances in server 1, and switchable unit 2 includes multiple instances in server 2; or, switchable unit 1 includes multiple instances in server 1, and switchable unit 2 includes multiple instances in rack 2, and so on. Furthermore, users can define custom switchable units; for example, multiple instances in server 1 and multiple instances in a single virtual machine in server 2 can be defined as switchable units. This approach enables multi-dimensional management of the data center, adapting to different group failure requirements. For example, if a mass failure occurs due to an earthquake, often all instances in the entire data center will fail. Therefore, a switchable unit can be set up to include all instances in the entire data center. If a mass failure occurs due to a fire, often all instances in one of the data center's server rooms will fail. Therefore, another switchable unit can be set up to include all instances in the corresponding server room.

[0059] The instances running in the first data center 130 and the instances running in the second data center 140 are identical. For example, the first data center 130 runs instances 1, 2, and 3, and the second data center 140 also runs instances 1, 2, and 3. Furthermore, instances 1 in the first data center 130 and instances 1 in the second data center 140 are the same instances created for user 1, and instances 2 in the first data center 130 and instances 2 in the second data center 140 are the same instances created for user 2.

[0060] The domain names of identical instances running in the first data center 130 and the second data center 140 are the same. For example, since instance 1 in the first data center 130 and instance 1 in the second data center 140 are the same instances created for user 1, they have the same domain name "www.example1.com"; instance 2 in the first data center 130 and instance 2 in the second data center 140 are the same instances created for user 2, and therefore have the same domain name "www.example2.com"; instance 3 in the first data center 130 and instance 3 in the second data center 140 are the same instances created for user 3, and therefore have the same domain name "www.example3.com".

[0061] The network addresses of the same instances running in the first data center 130 and the second data center 140 are different. For example, although instance 1 in the first data center 130 and instance 1 in the second data center 140 are the same instances created for user 1, the IP address of instance 1 in the first data center 130 can be 139.×.×.1, and the IP address of instance 1 in the second data center 140 can be 131.×.×.1; although instance 2 in the first data center 130 and instance 2 in the second data center 140 are the same instances created for user 2, the IP address of instance 2 in the first data center 130 can be 139.×.×.2, and the IP address of instance 2 in the second data center 140 can be 131.×.×.2; although instance 3 in the first data center 130 and instance 3 in the second data center 140 are the same instances created for user 3, the IP address of instance 3 in the first data center 130 can be 139.×.×.3, and the IP address of instance 3 in the second data center 140 can be 131.×.×.3.

[0062] The switchable units in the first data center 130 and the second data center 140 can be the same or different. For example, the first data center 130 can have one switchable unit, which includes all instances in the first data center; the second data center 140 can also have one switchable unit, which includes all instances in the second data center. As another example, the first data center 130 can have one switchable unit, which includes all instances of virtual machine 1; the second data center 140 can have two switchable units, where switchable unit 1 includes all instances of virtual machine 1 in server 1, and switchable unit 1 includes all instances of server 2. Furthermore, if the first data center is located in a more spacious area and houses more instances in the same data center, while the second data center is located in a more confined area and houses fewer instances in the same data center, then different switchable units can be configured in different data centers, allowing for more flexible instance management.

[0063] When both instances in the first data center 130 and the second data center 140 are running normally, they simultaneously process the data sent by the client and obtain processing results. The domain name resolution system 120 selects either the first data center 130 or the second data center 140 to obtain the data processing result and returns it to the client 110. Taking instance 1 as an example, after the client 110 sends data to the domain name resolution system 120, the domain name resolution system 120 simultaneously sends the data to instance 1 in the first data center 130 and instance 1 in the second data center 140. After receiving the data, instance 1 in the first data center 130 and instance 1 in the second data center 140 process the data independently. The domain name resolution system 120 selects either the first data center 130 or the second data center 140 to obtain the data processing result and returns it to the client 110. Since instance 1 in the first data center 130 and instance 1 in the second data center 140 process the data independently, their states are essentially the same. In other words, not only do instance 1 of the first data center 130 and instance 1 of the second data center 140 produce the same data processing results, but the context within instance 1 of the first data center 130 and instance 1 of the second data center 140 is also identical. Here, the context can include variable values, function call information, execution location, etc., and can be stored in processor registers, memory, and control registers, etc. Therefore, when instance 1 of one data center fails, there is no need to transfer data processing results or context between instances 1 of the two data centers; a seamless switchover to instance 1 of the other data center is possible. Similarly, the same applies to instances 2 and 3.

[0064] The monitoring system 150 can be deployed on a computing device or a cluster of computing devices, or it can be a chip or a chip system. The descriptions of computing devices, computing device clusters, chips, and chip systems are as described above, and this application does not impose specific limitations. The monitoring system 150 is used to monitor the operational status of the first data center 130 and the second data center 140. If either the first data center 130 or the second data center 140 fails, the monitoring system 150 notifies the domain name resolution system 120 to stop sending data to the failed data center and to stop obtaining processing results from the failed data center.

[0065] It is understood that the above example only illustrates two data centers, including the first and second data centers. In practical applications, there could be three, four, or even more data centers. Similarly, the above example only illustrates one client, one domain name resolution system, and one monitoring system. In practical applications, there could be more clients, more domain name resolution systems, and more monitoring systems; no specific limitation is made here.

[0066] The preceding text has described in detail the possible deployment methods of client 110, domain name resolution system 120, first data center 130, and second data center 140. In actual deployment, flexible deployment can be carried out according to specific application scenarios and business needs. The following section provides an exemplary illustration of the actual deployment methods of client 110, domain name resolution system 120, first data center 130, and second data center 140 in specific application scenarios.

[0067] As an example of an application scenario where a scheduling system is deployed on a cloud platform, the scheduling system can be deployed on a cloud platform, for example... Figure 2 This is an example diagram of a scheduling system deployed on a cloud platform according to this application, such as... Figure 2 As shown, a user can initiate a database cloud service purchase request through a client. After the client sends the purchase request to the cloud platform, the cloud platform can grant the client access to the scheduling system. This allows the user to send data to the scheduling system via the client. The scheduling system then uses the domain name resolution system 120 to send the data to the first data center 130 and the second data center 140. The first data center 130 and the second data center independently process the data to obtain the processing results. The domain name resolution system then selects one of the first data center 130 or the second data center to retrieve the processing result and returns it to the client.

[0068] The cloud platform also maintains various basic resources, including computing resources, storage resources, network resources, and security resources, to meet the computing needs of the scheduling system under different scales and loads. Furthermore, these computing resources can be dynamically scaled according to the usage requirements of the scheduling system to ensure the stable operation of the scheduling system and provide users with reliable scheduling services.

[0069] Optionally, the domain name resolution system 120, the first data center 130, and the second data center 140 can be services provided by the same cloud platform. Figure 2The cloud platform shown includes a domain name resolution system 120 and a first data center 130 and a second data center 140. Alternatively, the domain name resolution system 120 and the first data center 130 and second data center 140 can be services provided by two different cloud platforms, where the first data center 130 and the second data center 140 can be services provided by the same cloud platform. Alternatively, the domain name resolution system 120 and the first data center 130 and second data center 140 can be services provided by three different cloud platforms, in which case a hybrid cloud architecture can be used to achieve data communication between the domain name resolution system 120 and the first data center 130 and second data center 140.

[0070] It is worth noting that, Figure 2 In the example shown, the scheduling system is deployed and implemented on a cloud platform. Figure 2 This is merely an exemplary description of the scheduling system involved in this application, and this application does not impose any specific limitations.

[0071] Alternatively, the scheduling system can also be implemented through multiple non-cloud platforms, for example, Figure 1 The domain name resolution system 120 shown is deployed on the internal office server of Company A, and the first data center 130 and the second data center 140 are deployed on the internal office server of Company B. Company A and Company B have a cooperative relationship. The above example is for illustration only and is not intended to be specific in this application.

[0072] Optionally, the scheduling system can also be deployed across multiple cloud platforms and non-cloud platforms. For example, Figure 1 The first data center 130 and the second data center 140 shown are deployed on the enterprise's internal office servers, and the domain name resolution system 120 is deployed on the first cloud platform. Alternatively, Figure 1 The domain name resolution system 120 shown is deployed on the enterprise's internal office server, and the first data center 130 and the second data center 140 are deployed on the first cloud platform, etc. The above examples are for illustration only and are not intended to be specific limitations in this application.

[0073] It should be understood that this application does not limit the deployment method of the domain name resolution system 120 and the first data center 130 and the second data center 140. For ease of description, the following embodiments use... Figure 2 The system structure shown is used as an example for illustration.

[0074] It should be understood that the above application scenarios are for illustrative purposes only. The client 110, the domain name resolution system 120, the first data center 130, and the second data center 140 can be flexibly deployed according to actual business needs. These will not be illustrated in detail here.

[0075] See Figure 2 , Figure 2This is a flowchart illustrating a scheduling method provided in this application. Figure 2 As shown, the scheduling method of this application includes the following steps:

[0076] S101: The monitoring system detects whether a cluster failure has occurred in the data center.

[0077] A cluster failure refers to a failure that causes multiple instances to fail simultaneously. For example, a cluster failure can include problems with the data center's power supply system, such as a power outage, uninterruptible power supply (UPS) failure, or power distribution unit (PDU) failure; failure of shared storage systems such as storage area networks (SANs) or network attached storage (NASs), where multiple instances relying on that storage may stop working due to the inability to read or write data; serious vulnerabilities in the operating system, such as malware attacks or system-level failures, leading to infection of multiple server instances running that operating system, resulting in system crashes or service interruptions; logical errors in applications handling multithreading or concurrent access, which can cause memory leaks, deadlocks, and other problems when multiple instances handle a large number of requests simultaneously, ultimately causing all related instances to crash; failures of critical network equipment such as core switches and routers, leading to simultaneous failures of multiple instances; and excessive network traffic causing congestion. Multiple instances may fail to acquire network resources in a timely manner, leading to malfunctions; administrators may incorrectly modify network configuration parameters such as subnet masks and gateways, causing network connectivity issues for multiple instances and preventing them from communicating with other devices, thus rendering them unable to provide services normally; administrators may accidentally delete important files or incorrectly modify configuration parameters during system maintenance, upgrades, or configuration changes, causing multiple instances to malfunction; natural disasters such as earthquakes, floods, and fires may damage the data center, potentially causing multiple instances to fail simultaneously; and malfunctions in the data center's air conditioning system, resulting in excessively high indoor temperatures or humidity, may affect the normal operation of servers, leading to multiple instances failing, etc.

[0078] The monitoring system can detect whether a cluster failure has occurred in the data centers (including the first and second data centers) through various sensors. These sensors can include specialized seismic monitoring equipment (e.g., seismometers, accelerometers, etc.), fire monitoring equipment (e.g., ionization smoke detectors, photoelectric smoke detectors, constant-temperature detectors, differential-temperature detectors, differential-constant-temperature detectors, infrared flame detectors, ultraviolet flame detectors, gas detectors), flood monitoring equipment (e.g., hydrostatic level sensors, float-type level sensors, video systems, etc.), and power monitoring instruments (e.g., smart meters, power analyzers, voltage sensors), etc.

[0079] If the monitoring system detects a mass failure in the data center, it proceeds to step S102; if the monitoring system does not detect a mass failure in the data center, it terminates the process.

[0080] S102: The monitoring system sends a mass failure information to the domain name resolution system. Correspondingly, the scheduling system receives the mass failure information sent by the monitoring system.

[0081] Mass failure information indicates a mass failure affecting multiple instances corresponding to switchable units in one or more data centers. This mass failure information may include data center identifiers and switchable unit identifiers. The data center identifier indicates the data center where the mass failure occurred.

[0082] Data center identifiers can be one or a combination of words, symbols, and numbers. For example, the identifier for the first data center is "Data Centre1", and the identifier for the second data center is "DataCentre2".

[0083] The switchable unit identifier is used to indicate a switchable unit that has experienced a group failure. Optionally, the switchable unit identifier can be one or more identifiers. The switchable unit identifier can be one or more of the following: text, symbols, and numbers. For example, it can be “VM1”, “VM2”, “SRV1”, “SRV2”, “RU1”, “RU2”, “CR1”, “CR2”, “DC1”, etc.

[0084] Taking a switchable unit identifier as an example, different switchable unit identifiers can indicate different switchable units experiencing failures. For instance, the identifier could be "VM1," indicating a group failure of switchable units corresponding to multiple instances in virtual machine 1; "VM2," indicating a group failure of switchable units corresponding to multiple instances in virtual machine 2; "SRV1," indicating a group failure of switchable units corresponding to multiple instances in server 1; "SRV2," indicating a group failure of switchable units corresponding to multiple instances in server 2; "RU1," indicating a group failure of switchable units corresponding to multiple instances in rack 1; "RU2," indicating a group failure of switchable units corresponding to multiple instances in rack 2; "CR1," indicating a group failure of switchable units corresponding to multiple instances in data center 1; "CR2," indicating a group failure of switchable units corresponding to multiple instances in data center 2; and "DC1," indicating a group failure of switchable units corresponding to multiple instances in the data center. Optionally, the switchable unit corresponding to the identifier can be defined by the user as needed. For example, the user can define a custom identifier "SD" to indicate that the switchable units corresponding to instance 1, instance 3, instance 5 and instance 6 have experienced a collective failure.

[0085] Taking multiple switchable unit identifiers as an example, these multiple identifiers can be "VM1" and "VM2", where "VM1" indicates a collective failure of the switchable units corresponding to multiple instances in virtual machine 1, and "VM2" indicates a collective failure of the switchable units corresponding to multiple instances in virtual machine 2; these multiple identifiers can be "VM1" and "SRV2", where "VM1" indicates a collective failure of the switchable units corresponding to multiple instances in virtual machine 1, and "SRV2" indicates a collective failure of the switchable units corresponding to multiple instances in server 2; these multiple identifiers can be "VM2" and "CR1", where "VM2" indicates a collective failure of the switchable units corresponding to multiple instances in virtual machine 2, and "CR1" indicates a collective failure of the switchable units corresponding to multiple instances in data center 1. Optionally, the scope represented by multiple identifiers can be defined by the user as needed. For example, the user can customize the identifiers "SD1" and "SD2". The identifier "SD1" is used to indicate that the switchable units corresponding to instance 1, instance 3, instance 5 and instance 6 have experienced a collective failure, and the identifier "SD2" is used to indicate that the switchable units corresponding to instance 9, instance 10, instance 13 and instance 15 have experienced a collective failure.

[0086] Alternatively, if different data centers use different switchable unit identifiers, then the mass failure information may not include the data center identifier.

[0087] It is understood that the above-mentioned identifiers are merely specific examples. In practical applications, more identifiers may be included, but no specific limitations are made here.

[0088] The monitoring system can determine the switchable unit identifier in the following ways: For example, the monitoring system may include professional earthquake monitoring equipment installed in the first data center. If the professional earthquake monitoring equipment detects an earthquake, the switchable unit identifier can be determined to be "DC1"; it may include flood monitoring equipment installed in various computer rooms in the first data center. If the flood monitoring equipment in computer room 1 of the first data center detects a flood, the switchable unit identifier can be determined to be "CR1"; it may include fire monitoring equipment installed in the first rack of the first data center. If the fire monitoring equipment in the first rack detects a fire, the switchable unit identifier can be determined to be "RU1". As another example, the monitoring system may include fire monitoring equipment installed in the first rack and the second rack of the first data center. If the fire monitoring equipment in both the first rack and the second rack detects a fire, the switchable unit identifiers can be determined to be "RU1" and "RU2" respectively.

[0089] Optionally, the mass failure information may also include the failure type. The failure type indicates the type of mass failure, such as a mass failure caused by an earthquake, a mass failure caused by a flood, a mass failure caused by a fire, a mass failure caused by a power outage, a mass failure caused by excessively high temperature or humidity, etc. The failure type can be set by the user as needed; the above example is merely a concrete illustration. The monitoring system can determine the failure type in the following ways:

[0090] (1) The monitoring system includes specialized seismic monitoring equipment (e.g., seismometers, accelerometers, etc.) installed in the computer room where the first data center is located. If the specialized seismic monitoring equipment detects vibrations in the earth's crust, it will classify the mass failure as an earthquake-induced mass failure.

[0091] (2) The monitoring system includes one or more flood monitoring devices (e.g., hydrostatic level sensors, float level sensors, video systems, etc.) installed in the computer room where the first data center is located. If the flood monitoring devices detect a rise in water level, they will set the type of mass failure to flood-induced mass failure.

[0092] (3) The monitoring system includes one or more fire monitoring devices (e.g., ionization smoke detectors, photoelectric smoke detectors, constant temperature detectors, differential temperature detectors, differential constant temperature detectors, infrared flame detectors, ultraviolet flame detectors, gas detectors) installed in the computer room where the first data center is located. If the fire monitoring device detects a fire, it will set the type of mass failure to fire-induced mass failure.

[0093] (4) The monitoring system includes power monitoring instruments (e.g., smart meters, power analyzers, voltage sensors) installed in the computer room where the first data center is located. If the power monitoring instruments detect a mains power outage, they will set the type of mass fault to a mass fault caused by a mains power outage.

[0094] It is understood that the above-mentioned method of monitoring system to determine the fault type is only a specific example. In practical applications, there may be more methods of monitoring system to determine the fault type, which are not specifically limited here.

[0095] Optionally, the group failure information may also include changes in failure time, processor utilization, memory usage, disk input / output before and after the failure, operating system version, database management system version, application version, etc.

[0096] S103: The monitoring system sets the domain name resolution table based on the information of collective failures.

[0097] The domain name resolution table stores information about multiple instances, such as domain name, network address, switchable unit, and status. Accordingly, the domain name resolution table can include domain name fields, network address fields, switchable unit fields, and status fields. The domain name field stores the domain name corresponding to the instance. The network address field stores the network address corresponding to the instance, such as the Media Control Access (MAC) address, port number, etc. The switchable unit field stores the switchable unit to which the instance belongs. The status field stores the instance's status, such as faulty or normal.

[0098] Assume that the first data center runs instances 1, 2, and 3, and the second data center also runs instances 1, 2, and 3. Furthermore, instances 1 in both the first and second data centers are the same instances created for user 1; instances 2 in both data centers are the same instances created for user 2; and instances 3 in both data centers are the same instances created for user 3. The domain name for instance 1 running in the first data center is "www.example1.com", the network address is "139.×.×.1", and its switchable unit identifier is "DC1". Instance 1 in the first data center is in a normal state. The domain name for instance 1 running in the second data center is "www.example1.com", the network address is "131.×.×.1", and its switchable unit identifier is "DC2". Instance 1 in the second data center is also in a normal state. The domain name of instance 2 running in the first data center is "www.example2.com", the network address is "139.×.×.2", and the switchable unit identifier of its switchable unit is "DC1". The status of instance 2 in the first data center is normal. The domain name of instance 2 running in the second data center is "www.example2.com", the network address is "131.×.×.2", and the switchable unit identifier of its switchable unit is "DC2". The status of instance 2 in the second data center is normal. The domain name of instance 3 running in the first data center is "www.example3.com", the network address is "139.×.×.3", and the switchable unit identifier of its switchable unit is "DC1". The status of instance 3 in the first data center is normal. The domain name of instance 3 running in the second data center is "www.example3.com", the network address is "131.×.×.3", and the switchable unit identifier of its switchable unit is "DC2". The status of instance 3 in the second data center is normal. Therefore, the domain name resolution table can be as shown in Table 3 before modification:

[0099] Table 3. Domain Name Resolution Table Before Modification

[0100] Domain field Network address field Switchable cell field status field www.example1.com 139.×.×.1 DC1 normal www.example1.com 131.×.×.1 DC2 normal www.example2.com 139.×.×.2 DC1 normal www.example2.com 131.×.×.2 DC2 normal www.example3.com 139.×.×.3 DC1 normal www.example3.com 131.×.×.3 DC2 normal

[0101] Optionally, a single instance can have one switchable unit field or multiple switchable unit fields. Different switchable unit fields are used to store different switchable unit identifiers. Continuing with the examples shown in Table 3, assume that Instance 1 of the first data center belongs to a switchable unit identified as "CR1" in addition to the switchable unit identified as "DC1"; Instance 1 of the second data center belongs to a switchable unit identified as "CR2" in addition to the switchable unit identified as "DC2"; Instance 2 of the first data center belongs to a switchable unit identified as "CR1" in addition to the switchable unit identified as "DC1"; Instance 2 of the second data center belongs to a switchable unit identified as "CR2" in addition to the switchable unit identified as "DC2"; Instance 3 of the first data center belongs to a switchable unit identified as "CR3" in addition to the switchable unit identified as "DC1"; Instance 3 of the second data center belongs to a switchable unit identified as "CR4" in addition to the switchable unit identified as "DC2". Therefore, we can obtain another domain name resolution table before modification, as shown in Table 4.

[0102] Table 4. Another domain name resolution table before modification.

[0103]

[0104]

[0105] The monitoring system can configure the domain name resolution table based on the information of mass failures. For example, if the switchable unit identifier of the received mass failure information is "DC1", then the value of the status field corresponding to "DC1" in the switchable unit field of the domain name resolution table can be modified to "failure", thus obtaining the modified domain name resolution table as shown in Table 5.

[0106] Table 5. Modified Domain Name Resolution Table

[0107] Domain field Network address field Switchable cell field status field www.example1.com 139.×.×.1 DC1 Fault www.example1.com 131.×.×.1 DC2 normal www.example2.com 139.×.×.2 DC1 Fault www.example2.com 131.×.×.2 DC2 normal www.example3.com 139.×.×.3 DC1 Fault www.example3.com 131.×.×.3 DC2 normal

[0108] As can be understood, the above example uses the domain name resolution table as a single table for illustration. In practical applications, the domain name resolution table can also be divided into multiple interrelated tables; no specific limitation is made here. For example, the modified domain name resolution table shown in Table 5 can be split into the resolution table shown in Table 6 and the fault table shown in Table 7.

[0109] Table 6 Analysis Table

[0110] Domain field Network address field Switchable cell field www.example1.com 139.×.×.1 DC1 www.example1.com 131.×.×.1 DC2 www.example2.com 139.×.×.2 DC1 www.example2.com 131.×.×.2 DC2 www.example3.com 139.×.×.3 DC1 www.example3.com 131.×.×.3 DC2

[0111] Table 7 Status Table

[0112] Switchable cell field status field DC1 Fault DC2 normal

[0113] The DNS table includes a domain name field, a network address field, and a switchable unit field. The status table includes a switchable unit field and a status field. The DNS table and the status table are linked through the switchable unit field.

[0114] Splitting the domain name resolution table allows for the separate storage of different types of data, making data organization more logical and easier for database administrators and developers to understand and manage. When performing maintenance operations on a particular type of data, the split table reduces the complexity of the operation and minimizes potential errors during data maintenance. Furthermore, when modifying the switchable unit identified as "DC1," only the status field of the row containing "DC1" in the status table needs to be modified; even if the number of instances increases, the workload remains the same. In contrast, using the domain name resolution table shown in Table 3 requires modifying all three rows of the status table containing "DC1" when modifying the switchable unit identified as "DC1," resulting in a significantly larger workload. This workload increases with the number of instances.

[0115] S104: The client sends a first processing request to the domain name resolution system. Correspondingly, the domain name resolution system receives the first processing request sent by the client.

[0116] The first processing request includes a first domain name and first data to be processed. The first domain name is the domain name entered by the user. The first domain name system is associated with a first instance in a first data center and a second instance in a second data center. The first instance and the second instance can be the same instance. "The first instance and the second instance can be the same instance" means that the processing result of the first instance on the first data to be processed and the processing process and result of the second instance on the first data to be processed are the same. In a specific embodiment, "the first instance and the second instance can be the same instance" means that the first instance and the second instance are any one of the following: running instances of the same application, running instances of the same database, or running instances of the same middleware. Optionally, the server where the first instance resides and the server where the second instance resides have the same server model, processor, memory, storage, and other hardware specifications.

[0117] The first type of data to be processed can be any one or more of the following: IoT device data (e.g., device operating status, environmental parameters (temperature, humidity, air quality), energy consumption, etc.), traffic sensor data (e.g., traffic flow and speed information monitored by cameras, vehicle passage records at toll stations, and vehicle location data transmitted by GPS devices), human resources data (e.g., basic employee information, attendance records, performance evaluations, training records), supply chain data (e.g., purchase orders, inventory levels, logistics and transportation information), e-commerce data (e.g., browsing history, customer reviews), social relationship data (e.g., social relationship data such as user follows, friend relationships, and group information), etc.

[0118] S105: The domain name resolution system looks up the status of the instance corresponding to the first domain name in the domain name resolution table based on the first domain name.

[0119] Assuming the primary domain is "www.example1.com" and the DNS table is as shown in Table 4, the DNS resolution system searches for the status of the instance corresponding to the primary domain in the DNS table as follows: It searches the domain field in the DNS table for the primary domain "www.example1.com". If a value matching the primary domain "www.example1.com" is found, it then searches for the corresponding status field value in that row. Since the domain field values ​​matching the primary domain "www.example1.com" in the DNS table shown in Table 4 are the domain fields in both the first and second rows, we can determine that the status field value in the first row is "fault" and the status field value in the second row is "normal". Therefore, we can conclude that the first instance in the first data center has failed, while the second instance in the second data center is normal.

[0120] S106: The domain name resolution system stops sending the first processing request to the instance corresponding to the first domain name that is in a faulty state (e.g., the first instance in the first data center).

[0121] Even if the first processing request is sent to an instance in a faulty state, the first data center cannot process it, resulting in a waste of network bandwidth and server resources. For example, sending a large number of processing requests to an instance in a faulty state will consume network bandwidth, preventing other normal instances from obtaining the necessary resources in a timely manner, thus affecting overall system performance. Therefore, stopping the sending of requests to instances in a faulty state can release resources, improve resource utilization, and ensure efficient system operation.

[0122] Continuing with the example above, since the first instance in the first data center has failed, the first processing request is stopped from being sent to the first instance in the first data center.

[0123] S107: The domain name resolution system sends a first processing request to the instance corresponding to the first domain name that is in a normal state (e.g., the second instance in the second data center).

[0124] Continuing with the example above, since the second instance in the second data center is normal, a first processing request is sent to the second instance in the second data center.

[0125] Optionally, if, as shown in Table 3, the states of the first instance and the second instance in the domain name resolution table before modification are both normal, then before the modification of the domain name resolution table, if the domain name resolution system receives a second processing request sent by the client, wherein the second processing request includes the first domain name, then the domain name resolution system sends the second processing request to the first instance and sends the second processing request to the second instance.

[0126] In the above solution, by setting up switchable units in the data center, when a group failure occurs in the switchable units in the data center, the monitoring system sends the switchable unit identifier corresponding to the switchable unit to the domain name resolution system. The domain name resolution system will then uniformly modify the status of the instance corresponding to the switchable unit identifier, thereby achieving rapid instance switching.

[0127] This application also provides a scheduling device, such as Figure 3 As shown, it includes:

[0128] The receiving module 210 is used to receive a first switchable unit identifier sent by the monitoring system when a mass failure of a first switchable unit in a first data center is detected, wherein the first switchable unit includes multiple instances of the first data center, and the switchable unit identifier is used to indicate the first switchable unit.

[0129] The blocking module 220 is used to block the sending of the first processing request to the instance corresponding to the switchable unit identifier based on the switchable unit identifier.

[0130] Both the receiving module 210 and the blocking module 220 can be implemented in software or in hardware. For example, the implementation of the blocking module will be described below. Similarly, the implementation of the receiving module can refer to the implementation of the blocking module.

[0131] As an example of a software functional unit, a prohibited module may include code running on a compute instance. A compute instance may include at least one of a physical host (computing device), a virtual machine, or a container. Furthermore, the aforementioned compute instance may be one or more. For example, a prohibited module may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed within the same availability zone (AZ) or in different AZs, each AZ comprising one or more geographically proximate data centers. Typically, a region may include multiple AZs.

[0132] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0133] As an example of a hardware functional unit, a disabled module may include at least one computing device, such as a server. Alternatively, a disabled module may be implemented using a central processing unit (CPU), an application-specific integrated circuit (ASIC), or a programmable logic device (PLD). The aforementioned PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), a data processing unit (DPU), a neural network processing unit (NPU), a system-on-chip (SoC), an offload card, an accelerator card, or any combination thereof.

[0134] The multiple computing devices included in the prohibition module can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the prohibition module can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the prohibition module can be distributed in the same VPC or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, GALs, DPUs, NPUs, SoCs, offloading cards, and accelerator cards.

[0135] It should be noted that, in other embodiments, the receiving module 210 can be used to execute any step of the domain name resolution system in the scheduling method, and the prohibition module can also be used to execute any step of the domain name resolution system in the scheduling method. Users can freely divide the modules as needed.

[0136] This application also provides a chip system including a processor and a power supply circuit. The power supply circuit supplies power to the processor, and the processor executes the operation steps corresponding to the scheduling method. For simplicity, further details are omitted here. The processor can be implemented using a GPU, or it can be implemented using computing devices such as a DPU, NPU, XPU, SoC, offloading card, or accelerator card.

[0137] This application also provides a computing device 300. For example... Figure 4 As shown, the computing device 300 includes a bus 302, a processor 304, a memory 306, and a communication interface 308. The processor 304, the memory 306, and the communication interface 308 communicate with each other via the bus 302. The computing device 300 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 300.

[0138] Bus 302 can be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a Unified Bus (Ubus or UB), a Compute Express Link (CXL), a Cache Coherent Interconnect for Accelerators (CCIX), etc. The Unified Bus is also known as the Lingqu Bus. Buses can be divided into address buses, data buses, control buses, etc. For ease of representation, Figure 4The bus 302 is represented by only one line, but this does not mean that there is only one bus or one type of bus. The bus 302 may include a path for transmitting information between various components of the computing device 300 (e.g., memory 306, processor 304, communication interface 308). The unified bus may also be called the Lingqu bus.

[0139] Processor 304 may include any one or more computing devices such as central processing unit (CPU), graphics processing unit (GPU), microprocessor (MP) or digital signal processor (DSP), ASIC, FPGA, CPLD, NPU, SoC, offload card, accelerator card, etc.

[0140] Memory 306 may include volatile memory, such as random access memory (RAM). Processor 304 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD). Furthermore, memory 306 may also be implemented using storage class memory (SCM), phase change memory (PCM), or other types of storage media.

[0141] It is worth noting that the same type of storage medium can be configured in the same computing device to realize the function of memory 306, or two or more types of storage media can be configured to realize the function of memory 306. This application does not limit this.

[0142] The memory 306 stores executable program code, and the processor 304 executes this executable program code to implement the functions of the aforementioned disable module and receive module, thereby implementing the scheduling method. That is, the memory 306 stores instructions for executing the scheduling method.

[0143] Alternatively, the memory 306 may store executable code, which the processor 304 executes to implement the functions of the aforementioned scheduling device, thereby implementing the scheduling method. That is, the memory 306 stores instructions for executing the scheduling method.

[0144] The communication interface 308 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 300 and other devices or communication networks.

[0145] As one possible implementation, the computing device 300 may also include a chip system, which includes a processor and a power supply circuit. The power supply circuit supplies power to the processor, and the processor executes the operation steps corresponding to the scheduling method. For simplicity, further details are omitted here. The processor can be implemented using a GPU, or it can be implemented using computing devices or AI chips such as a DPU, NPU, XPU, SoC, offloading card, or accelerator card.

[0146] As one possible implementation, the computing device 300 may include multiple types of processors 304, meaning the computing device 300 is a heterogeneous device. For example, the computing device 300 may include a CPU and a GPU, and the operation steps corresponding to the scheduling method can be executed by at least one of the processors 304. For the sake of brevity, further details will not be provided here.

[0147] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0148] like Figure 5 As shown, the computing device cluster includes at least one computing device 300. The memory 306 of one or more computing devices 300 in the computing device cluster may store the same instructions for executing the scheduling method.

[0149] In some possible implementations, the memory 306 of one or more computing devices 300 in the computing device cluster may also store a portion of the instructions for executing the scheduling method. In other words, a combination of one or more computing devices 300 can jointly execute the instructions for executing the scheduling method.

[0150] It should be noted that the memory 306 in different computing devices 300 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the scheduling device. That is, the instructions stored in the memory 306 of different computing devices 300 can implement the functions of one or more modules, such as the disable module and the receive module.

[0151] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 6 One possible implementation is shown. For example... Figure 6 As shown, two computing devices 300A and 300B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this possible implementation, the memory 306 in computing device 300A stores instructions for executing the function of the disable module. Simultaneously, the memory 306 in computing device 300B stores instructions for executing the function of the receive module.

[0152] Figure 6 The connection method between the computing device clusters shown can be such that, considering the scheduling method provided in this application requires, for example, a large amount of data storage and a large amount of computation, the functions implemented by the receiving module are delegated to the computing device 300B.

[0153] It should be understood that Figure 6 The functions of the computing device 300A shown can also be performed by multiple computing devices 300. Similarly, the functions of the computing device 300B can also be performed by multiple computing devices 300.

[0154] This application also provides another computing device cluster. The connection relationships between the computing devices in this computing device cluster can be similarly referred to... Figure 5 and Figure 6 The connection method of the computing device cluster is different in that the memory 306 of one or more computing devices 300 in the computing device cluster can store the same instructions for executing the scheduling method.

[0155] In some possible implementations, the memory 306 of one or more computing devices 300 in the computing device cluster may also store a portion of the instructions for executing the scheduling method. In other words, a combination of one or more computing devices 300 can jointly execute the instructions for executing the scheduling method.

[0156] It should be noted that the memory 306 in different computing devices 300 within the computing device cluster can store different instructions for executing some functions of the scheduling system. That is, the instructions stored in the memory 306 of different computing devices 300 can implement the functions of one or more devices in the scheduling unit.

[0157] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to execute a scheduling method, or a scheduling mechanism.

[0158] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute a scheduling method, or instruct the computing device to execute a scheduling method.

[0159] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this application.

Claims

1. A scheduling method, characterized in that, include: When the domain name resolution system receives a first switchable unit identifier sent by the monitoring system in the event of a mass failure of the first switchable unit in the first data center, the first switchable unit includes multiple instances of the first data center, and the switchable unit identifier is used to indicate the first switchable unit. The domain name resolution system prohibits sending the first processing request to the instance corresponding to the switchable unit identifier based on the switchable unit identifier.

2. The method according to claim 1, characterized in that, The domain name resolution system prohibits sending the first processing request to the instance corresponding to the switchable unit identifier based on the switchable unit identifier, including: The domain name resolution system modifies the status of the instance corresponding to the switchable unit identifier to a fault state based on the switchable unit identifier; The domain name resolution system receives a first processing request sent by the client, wherein the first processing request includes a first domain name, the first domain name is associated with a first instance of a first data center and a second instance of a second data center, the first instance belongs to the instance corresponding to the switchable unit identifier, and the second instance does not belong to the instance corresponding to the switchable unit identifier; The domain name resolution system prohibits sending the first processing request to the first instance, but sends the first processing request to the second instance instead.

3. The method according to claim 2, characterized in that, Before the domain name resolution system receives and monitors the first switchable unit identifier after detecting a mass failure in the first switchable unit in the first data center, the method further includes: The domain name resolution system receives a second processing request sent by the client, wherein the second processing request includes the first domain name; The domain name resolution system sends the second processing request to the first instance and the second instance.

4. The method according to claim 2 or 3, characterized in that, The first instance belongs to the first switchable unit of the first data center, and the second instance belongs to the second switchable unit of the second data center. The number of instances included in the first switchable unit and the number of instances included in the second switchable unit may be equal or unequal.

5. The method according to any one of claims 1 to 4, characterized in that, The first data center further includes a third switchable unit, wherein the first switchable unit is a subset of the third switchable unit, or at least some instances of the first switchable unit and the third switchable unit are not the same.

6. The method according to any one of claims 1 to 5, characterized in that, The instances included in the first switchable unit are user-defined.

7. A scheduling device, characterized in that, The device includes: The receiving module is used to receive a first switchable unit identifier sent by the monitoring system when a mass failure of a first switchable unit in a first data center is detected, wherein the first switchable unit includes multiple instances of the first data center, and the switchable unit identifier is used to indicate the first switchable unit. The blocking module is used to block the sending of the first processing request to the instance corresponding to the switchable unit identifier based on the switchable unit identifier.

8. The apparatus according to claim 1, characterized in that, The device also includes a modification module. The modification module is used to modify the state of the instance corresponding to the switchable unit identifier to a fault state according to the switchable unit identifier; The receiving module is used to receive a first processing request sent by the client, wherein the first processing request includes a first domain name, the first domain name is associated with a first instance of a first data center and a second instance of a second data center, the first instance belongs to the instance corresponding to the switchable unit identifier, and the second instance does not belong to the instance corresponding to the switchable unit identifier. The blocking module is used to block the sending of the first processing request to the first instance, but to send the first processing request to the second instance.

9. The apparatus according to claim 8, characterized in that, The device also includes a transmitting module. The receiving module is used to receive a second processing request sent by the client, wherein the second processing request includes the first domain name; The sending module is used to send the second processing request to the first instance and to send the second processing request to the second instance.

10. The apparatus according to claim 8 or 9, characterized in that, The first instance belongs to the first switchable unit of the first data center, and the second instance belongs to the second switchable unit of the second data center. The number of instances included in the first switchable unit and the number of instances included in the second switchable unit may be equal or unequal.

11. The apparatus according to any one of claims 7 to 10, characterized in that, The first data center further includes a third switchable unit, wherein the first switchable unit is a subset of the third switchable unit, or at least some instances of the first switchable unit and the third switchable unit are not the same.

12. The apparatus according to any one of claims 7 to 11, characterized in that, The instances included in the first switchable unit are user-defined.

13. A computing device, characterized in that, The computing device includes a processor and memory; The processor is configured to execute instructions stored in the memory to cause the computing device to perform the operational steps of the method as described in any one of claims 1 to 6.

14. A computing device cluster, characterized in that, It includes multiple computing devices, each of which includes a processor and memory; A processor of at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the operational steps of the method as described in any one of claims 1 to 6.

15. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster causes the computing device cluster to perform the operation steps of the method as described in any one of claims 1 to 6.

16. A computer-readable storage medium, characterized in that, It includes computer program instructions, which, when executed by a cluster of computing devices, perform the operational steps of the method as described in any one of claims 1 to 6.