Global load balancing equipment and intelligent scheduling method thereof, electronic equipment and medium

By introducing intelligent scheduling methods into global load balancing equipment, the problem of insufficient scheduling of existing equipment is solved, smoother and more refined traffic regulation and switching is achieved, and business continuity guarantee capabilities are improved.

CN120034541APending Publication Date: 2025-05-23INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510216150.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-26
Publication Date
2025-05-23

AI Technical Summary

Technical Problem

The existing global load balancing equipment lacks fineness in scheduling granularity, resulting in insufficient smooth and fine traffic regulation and switching mechanisms, which poses business risks.

Method used

It provides an intelligent scheduling method, which determines the candidate address pool and priority by responding to the resolution request of dynamic domain names, detects the health status of service members, selects the target address pool based on the number of active addresses and priority, and performs secondary scheduling according to the preset strategy.

Benefits of technology

It improves the smoothness and precision of traffic regulation and switching mechanisms, enhances the business continuity guarantee ability of the banking Internet financial business, and avoids the defects of the original scheduling logic.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120034541A_ABST
    Figure CN120034541A_ABST
Patent Text Reader

Abstract

The invention provides global load balancing equipment and an intelligent scheduling method thereof, electronic equipment and a medium, and relates to the technical field of cloud computing. The method is applied to global load balancing equipment, and comprises the following steps: in response to a received analysis request of a dynamic domain name, determining a plurality of candidate address pools associated with the dynamic domain name and the priority of each candidate address pool; health states of a plurality of service members in each candidate address pool are detected, the number of active addresses of the candidate address pool is determined according to the health states, and the number of the active addresses represents the number of available service members in the candidate address pool; selecting a target address pool mapped by the dynamic domain name from the plurality of candidate address pools according to the priority, the number of the active addresses and a preset first-level scheduling strategy; and scheduling the analysis request to a plurality of target service members in the target address pool according to a preset secondary scheduling strategy, and receiving analysis results of the plurality of target service members for the dynamic domain name.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of cloud computing, and in particular to a global load balancing device and an intelligent scheduling method thereof, an electronic device, a medium and a program product. Background Art

[0002] Global load balancing (GSLB) facilities are one of the core services supporting the banking industry's Internet financial services. Through the intelligent domain name resolution technology in GSLB, hundreds of millions of users can access financial services through the Internet, optimize the business access load of multi-center and multi-operator links under normal circumstances, and complete rapid switching and diversion of services in extreme cases to ensure the continuity of financial services.

[0003] In the current commercial GSLB market at home and abroad, the resolution of dynamic domain name mapping to address pool is called first-level scheduling, and the resolution of address pool to service member is called second-level scheduling. The scheduling logic of each manufacturer is basically similar. In the second-level scheduling, if there are multiple service members in the address pool, under normal circumstances, GSLB will return the IPs of multiple service members in turn based on the polling rule as the resolution result. When it is detected that there is only one service member left in the address pool and all the others are faulty, then as long as there is one service member surviving in the pool, the first and second-level resolution scheduling logic will be executed normally, first hitting the address pool, and then using the only remaining service member IP in the pool as the resolution result. This is the scheduling process followed by all manufacturers in the DNS industry.

[0004] It can be seen that in the relevant technologies, global load balancing devices still have some problems of large granularity and insufficient precision, and some technical improvements and optimizations are needed to make the traffic control and switching mechanisms smoother and more precise. Summary of the invention

[0005] In view of the above problems, the present disclosure provides a global load balancing device and its intelligent scheduling method, electronic device, medium and program product, which can solve the business risks caused by the insufficient scheduling granularity of the existing global load balancing device.

[0006] According to a first aspect of the present disclosure, an intelligent scheduling method is provided, which is applied to a global load balancing device, and the method includes: in response to receiving a resolution request for a dynamic domain name, determining multiple candidate address pools associated with the dynamic domain name and the priority of each candidate address pool; detecting the health status of multiple service members in each candidate address pool, and determining the number of active addresses in the candidate address pool according to the health status, wherein the number of active addresses represents the number of service members available in the candidate address pool; selecting a target address pool for dynamic domain name mapping from multiple candidate address pools according to the priority, the number of active addresses and a preset first-level scheduling strategy; scheduling the resolution request to multiple target service members in the target address pool according to the preset second-level scheduling strategy, and receiving resolution results of the dynamic domain name from the multiple target service members.

[0007] According to an embodiment of the present disclosure, detecting the health status of multiple service members in each candidate address pool includes: detecting multiple service members in each candidate address pool according to at least one predetermined communication protocol to obtain the health status of each service member, wherein the health status includes active and inactive.

[0008] According to an embodiment of the present disclosure, determining the number of active addresses in a candidate address pool according to health status includes: for each candidate address pool, determining the number of active addresses in the candidate address pool according to the number of service members in the candidate address pool whose health status is active.

[0009] According to an embodiment of the present disclosure, a target address pool for dynamic domain name mapping is selected from multiple candidate address pools based on priority, the number of active addresses and a preset first-level scheduling strategy, including: sorting the multiple candidate address pools according to priority; for any candidate address pool ranked first, when it is determined that the number of active addresses in the candidate address pool is greater than or equal to a preset active number threshold, determining the candidate address pool as the target address pool for the dynamic domain name.

[0010] According to an embodiment of the present disclosure, it also includes: when it is determined that the number of active addresses in the candidate address pool is less than a preset active number threshold, the candidate address pool is isolated; and a determination operation of the number of active addresses is performed on the next candidate address pool of any candidate address pool.

[0011] According to an embodiment of the present disclosure, the secondary scheduling strategy includes an equal-proportional polling strategy; the resolution result of the dynamic domain name is the respective IP address information returned in sequence by multiple target service members based on the equal-proportional polling strategy.

[0012] According to an embodiment of the present disclosure, a global load balancing device is communicatively connected with a local domain name server; in response to receiving a resolution request for a dynamic domain name, multiple candidate address pools associated with the dynamic domain name and a priority of each candidate address pool are determined, including: in response to receiving a resolution request for a dynamic domain name from a local domain name server, wherein the resolution request is sent by a client to a local domain name server and forwarded by the local domain name server to the global load balancing device, and the resolution request includes IP address information of the client; based on the IP address information of the client, multiple candidate address pools associated with the dynamic domain name and a priority of each candidate address pool are determined.

[0013] A second aspect of the present disclosure provides a global load balancing device, including: a candidate address pool determination module, used to determine multiple candidate address pools associated with the dynamic domain name and the priority of each candidate address pool in response to receiving a resolution request for a dynamic domain name; an active address number determination module, used to detect the health status of multiple service members in each candidate address pool, and determine the number of active addresses of the candidate address pool according to the health status, wherein the number of active addresses represents the number of available service members in the candidate address pool; a primary scheduling module, used to select a target address pool for dynamic domain name mapping from multiple candidate address pools according to the priority, the number of active addresses and a preset primary scheduling strategy; a secondary scheduling module, used to schedule the resolution request to multiple target service members in the target address pool according to the preset secondary scheduling strategy, and receive the resolution results of the dynamic domain name from the multiple target service members.

[0014] A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the above method.

[0015] The fourth aspect of the present disclosure further provides a computer-readable storage medium on which a computer program or instruction is stored, and the steps of the above method are implemented when the above computer program or instruction is executed by a processor.

[0016] The fifth aspect of the present disclosure further provides a computer program product, including a computer program or instructions, which implement the steps of the above method when the above computer program or instructions are executed by a processor.

[0017] Compared with the prior art, the global load balancing device and its intelligent scheduling method, electronic device, medium and program product provided by the present disclosure have at least the following beneficial effects:

[0018] 1. More suitable for multi-center and multi-active business scheduling scenarios

[0019] In the architecture of actual business applications, the standard for disaster recovery switching is that financial business is sustainable and service quality is guaranteed. The original GSLB one- and two-level scheduling logic can be made available but cannot be made easy to use. The scheduling logic of the GSLB disclosed in this invention is more in line with the actual needs of banking business scheduling and avoids the defects of the original scheduling logic.

[0020] 2. Effectively improve the business continuity assurance capabilities of the technology team

[0021] This disclosure allows bank technology personnel to have more fine-grained control over the direction of business traffic, and when dealing with emergencies such as "a significant drop in carrying capacity due to failure of some nodes in the cluster service", they have more means and can respond more calmly.

[0022] 3. Promoted the development of GSLB industry technology

[0023] The present disclosure optimizes the deficiencies in the current GSLB scheduling process, and this deficiency is also a common problem in the industry. The relevant technical application direction has a certain leading role in the industry. The technical implementation and ideas of the present disclosure can be quickly met and delivered by various manufacturers, which has a certain promoting effect on the positive development of the GSLB industry. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The above contents and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0025] Figure 1 A schematic diagram of an application scenario of a global load balancing device and an intelligent scheduling method thereof, an electronic device, a medium, and a program product according to an embodiment of the present disclosure is shown;

[0026] Figure 2 A flowchart of an intelligent scheduling method according to an embodiment of the present disclosure is schematically shown;

[0027] Figure 3 The schematic diagram shows a principle diagram of an intelligent scheduling method according to an embodiment of the present disclosure;

[0028] Figure 4 The schematic diagram shows a principle diagram of receiving a resolution request for a dynamic domain name according to an embodiment of the present disclosure;

[0029] Figure 5 The schematic diagram shows the principle diagram of health status detection and active address number determination according to the embodiment of the present disclosure;

[0030] Figure 6 A flowchart of the first-level scheduling according to an embodiment of the present disclosure is schematically shown;

[0031] Figure 7The structure block diagram of the global load balancing device according to the embodiment of the present disclosure is schematically shown;

[0032] Figure 8 A block diagram of an electronic device suitable for implementing an intelligent scheduling method according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0033] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0034] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0035] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0036] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0037] In the technical solution of the present disclosure, the user information (including but not limited to user personal information, user image information, user device information, such as location information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved are all information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with relevant laws, regulations and standards, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0038] In the scenario of using personal information for automated decision-making, the methods, devices, and systems provided by the embodiments of the present disclosure provide users with corresponding operation portals for users to choose to agree or reject the automated decision-making results; if the user chooses to reject, the expert decision-making process will be entered. The expression "automated decision-making" here refers to the activity of automatically analyzing and evaluating a person's behavioral habits, interests and hobbies, or economic, health, credit status, etc. through computer programs, and making decisions. The expression "expert decision-making" here refers to the activity of making decisions by people who specialize in a certain field, have specialized experience, knowledge and skills, and have reached a certain level of professionalism.

[0039] Before describing the specific embodiments of the present disclosure in detail, technical terms are first explained to facilitate a better understanding of the present disclosure.

[0040] Domain Name System: It is a distributed Internet service system that maps domain names to certain predefined types of resource records. Domain name servers in the network collaborate with each other to resolve domain names to corresponding resource records. The name space of the domain name system is a hierarchical tree structure. Resource records store a variety of information related to domain names, including IP addresses. This information is distributed on domain name servers at all levels corresponding to the name space, thereby achieving distributed retrieval of domain name attribute information.

[0041] A Domain Name Server (DNS) is a host computer equipped with a domain name system. It stores a mapping table of domain names to corresponding IP addresses and provides name resolution services.

[0042] Global Server Load Balance (GSLB): is a network technology based on intelligent DNS resolution, which is used to evenly distribute network traffic among servers or services in multiple geographical locations to achieve high availability and performance optimization.

[0043] Dynamic domain name record is an important element in global load balancing equipment. A dynamic domain name can realize the mapping of one or more address pools. The available address pool is selected according to different load balancing strategies. The application service resource IP in the address pool is the final return result of the domain name request.

[0044] Address pool: is a collection of application service resources that can reside on different physical devices (usually the application service resources here are the resources in the data center), so that the address pool can classify application services according to different dimensions.

[0045] Data center: It is a resource group, including application service resources and detection resources. Application service resources represent services deployed on users' real physical devices, such as web services, database services, etc. In general, the data center configuration corresponds to the user's real physical deployment.

[0046] Service member: It works in the data center and provides service IPs for applications such as WEB and APP. It identifies application services with IP+Port and resolves the IP addresses of healthy application services to the client during the resolution process.

[0047] Figure 1 The application scenario diagram of the global load balancing device and its intelligent scheduling method, electronic device, medium and program product according to the embodiment of the present disclosure is schematically shown.

[0048] like Figure 1 As shown, the application scenario 100 according to this embodiment includes a client 101, a local domain name server 102, a global load balancing device 103, a first address pool 104A, a second address pool 104B, and a first service member A1, a second service member A2, and a third service member A3 in the first address pool 104A.

[0049] The local domain name server (DNS) is, for example, an operator server. The Internet user initiates a resolution request for the dynamic domain name xxx.xxx.xxxxx to the local domain name server 102 at the client 101, also known as a DNS resolution request. After a DNS recursive query, the resolution request is transferred to the global load balancing device 103 facing the Internet.

[0050] The global load balancing device 103 hits the corresponding dynamic domain name view. If the dynamic domain name xxx.xxx.xxxxx is associated with two address pools, namely the first address pool 104A and the second address pool 104B, a two-level scheduling strategy is set in the dynamic domain name. The first-level scheduling strategy is to select the bearer address pool from the first address pool 104A and the second address pool 104B. The strategy is to prioritize hitting the first address pool 104A, and the first-level scheduling is completed.

[0051] The secondary scheduling strategy sets the first service member A1, the second service member A2, and the third service member A3 in the first address pool 104A to carry services in an equal-proportional polling manner. At this time, the dynamic domain name xxx.xxx.xxxxx will be returned to the Internet user of the client 101 in the form of the IP addresses of the first service member A1, the second service member A2, and the third service member A3 in turn. In this case, each of the three service members carries 33.3% of the business traffic.

[0052] However, in this scenario, if the first service member A1 and the second service member A2 in the first address pool 104A have failed, and only the third service member A3 survives, the global load balancing device 103 will only return the IP address of the third service member A3, and the third service member A3 and its access line will carry 100% of the service traffic. Therefore, in this scenario, the carrying capacity of the first address pool 104A has lost more than 60%, and the subsequent service carrying capacity cannot fully support 100% of the service request traffic. At this time, there will be risks of high load, high delay, and reduced service quality.

[0053] It can be seen that in the related technology, the global load balancing device 103 still follows the original resolution scheduling strategy and will not adjust the strategy due to a large decrease in the carrying capacity of the first address pool 104A. As long as there are available service members in the first address pool 104A, the first and second level resolution scheduling strategies will continue to be executed, and there is a large room for improvement in the scheduling granularity.

[0054] In view of this, an embodiment of the present disclosure provides an intelligent scheduling method, which relates to the field of cloud computing technology. The method can be executed by the above-mentioned global load balancing device 103, and the method includes: in response to receiving a resolution request for a dynamic domain name, determining multiple candidate address pools associated with the dynamic domain name and the priority of each candidate address pool; detecting the health status of multiple service members in each candidate address pool, and determining the number of active addresses in the candidate address pool according to the health status, wherein the number of active addresses represents the number of service members available in the candidate address pool; selecting a target address pool for dynamic domain name mapping from multiple candidate address pools according to the priority, the number of active addresses and a preset first-level scheduling strategy; scheduling the resolution request to multiple target service members in the target address pool according to the preset second-level scheduling strategy, and receiving the resolution results of the dynamic domain name from multiple target service members.

[0055] The following will be based on Figure 1 The scene described by Figure 2~Figure 6 The intelligent scheduling method of the embodiment of the present disclosure is described in detail.

[0056] Figure 2 The flowchart of the intelligent scheduling method according to the embodiment of the present disclosure is schematically shown. Figure 3 The schematic diagram shows a principle diagram of an intelligent scheduling method according to an embodiment of the present disclosure.

[0057] Please combine Figure 2 and Figure 3 The intelligent scheduling method of this embodiment includes operations S210 to S240, and the intelligent scheduling method is applied to a global load balancing device.

[0058] In operation S210, in response to receiving a resolution request for a dynamic domain name, a plurality of candidate address pools associated with the dynamic domain name and a priority of each candidate address pool are determined.

[0059] For example, the global load balancing device may determine, based on relevant information in the resolution request, multiple candidate address pools that can provide the content accessed by the resolution request, and set a priority for each candidate address pool.

[0060] In operation S220, the health status of multiple service members in each candidate address pool is detected, and the number of active addresses in the candidate address pool is determined according to the health status, wherein the number of active addresses represents the number of available service members in the candidate address pool.

[0061] The global load balancing device can perform health checks on multiple service members in each candidate address pool and determine the number of active addresses based on the detected health status.

[0062] In operation S230, a target address pool for dynamic domain name mapping is selected from a plurality of candidate address pools according to the priority, the number of active addresses, and a preset primary scheduling policy.

[0063] This operation is the first-level scheduling logic of the global load balancing device, which maps the dynamic domain name to the target address pool.

[0064] In operation S240, the resolution request is dispatched to multiple target service members in the target address pool according to a preset secondary scheduling strategy, and resolution results of the multiple target service members for the dynamic domain name are received.

[0065] This operation is the secondary scheduling logic of the global load balancing device, which maps the dynamic domain name from the target address pool to the corresponding target service member.

[0066] Through the embodiments of the present disclosure, a new concept of the number of active addresses is proposed. The number of active addresses refers to the number of surviving service members in an address pool, that is, the number of addresses that can be resolved. In the first-level scheduling logic, the global load balancing device can direct the resolution request of the dynamic domain name to a target address pool that is safe and available and associated with the number of active addresses, and then in the second-level scheduling logic, map the dynamic domain name from the target address pool to the corresponding target service member. Therefore, the traffic regulation and switching mechanism is smoother and more precise, further improving the accuracy of traffic switching of banking Internet services in certain special disaster scenarios, enhancing the ability to ensure business continuity, and solving the business risks caused by the insufficient scheduling granularity of existing global load balancing devices.

[0067] Figure 4 The schematic diagram shows a principle diagram of receiving a resolution request for a dynamic domain name according to an embodiment of the present disclosure.

[0068] like Figure 4 As shown, in this embodiment, the global load balancing device is connected to the local domain name server in communication; the above operation S210, in response to receiving the resolution request of the dynamic domain name, determines multiple candidate address pools associated with the dynamic domain name and the priority of each candidate address pool, including:

[0069] In response to receiving a resolution request for a dynamic domain name from a local domain name server, wherein the resolution request is sent by a client to the local domain name server and forwarded by the local domain name server to the global load balancing device, and the resolution request includes IP address information of the client;

[0070] According to the IP address information of the client, multiple candidate address pools associated with the dynamic domain name and the priority of each candidate address pool are determined.

[0071] For example, the client can receive the domain name of the website to be visited input by the user through the browser and send a resolution request. The resolution request includes the user's access request to the content pointed to by a URL (uniform resource locator). After receiving the resolution request for the dynamic domain name from the client, the local domain name server can write the client's IP address information into the resolution request and send the resolution request to the global load balancing device.

[0072] Then, the global load balancing device can extract the client's IP address information from the resolution request, and determine multiple candidate address pools and their priorities that can provide the content accessed by the resolution request based on the client's IP address information.

[0073] For example, the global load balancing device can query the IP address database to find the multiple candidate address pools closest to the client, and set the priorities of the multiple candidate address pools according to the distance. For another example, the global load balancing device can find the multiple candidate address pools with the best performance among all address pools, and set the priorities of the multiple candidate address pools according to the degree of performance excellence.

[0074] Figure 5 The schematic diagram shows the principle of health status detection and active address number judgment according to an embodiment of the present disclosure.

[0075] like Figure 5 As shown, in this embodiment, the above operation S220 detects the health status of multiple service members in each candidate address pool, including: according to at least one predetermined communication protocol, detecting multiple service members in each candidate address pool to obtain the health status of each service member, wherein the health status includes active and inactive.

[0076] For example, at least one communication protocol may be preset in the global load balancing device, including communication protocols such as PING, TCP, HTTP, and HTTPS. The global load balancing device may perform health checks on multiple service members in the candidate address pool based on these communication protocols, thereby determining the health status of each service member, which includes active and inactive. For example, active may be represented as UP, and inactive may be represented as DOWN.

[0077] In this embodiment, the above operation S220 determines the number of active addresses in the candidate address pool according to the health status, including: for each candidate address pool, according to the number of service members in the candidate address pool whose health status is active, determining the number of active addresses in the candidate address pool. For example, if the global load balancing device detects that the number of service members in a candidate address pool whose health status is UP is 2, it can be determined that the number of active addresses in the candidate address pool is 2.

[0078] Therefore, the present disclosure proposes a new concept of active address number. The service members in the address pool that have passed health checks and are judged to be UP are collectively referred to as active addresses. The active address number is a parameter that describes the number of available service members in the address pool.

[0079] Figure 6 The flowchart of the first-level scheduling according to the embodiment of the present disclosure is schematically shown.

[0080] like Figure 5 and Figure 6 As shown, in this embodiment, the above operation S230 selects a target address pool for dynamic domain name mapping from multiple candidate address pools according to the priority, the number of active addresses and a preset first-level scheduling strategy, including operations S631 to S634.

[0081] In operation S631, a plurality of candidate address pools are sorted according to priorities.

[0082] In operation S632, for any candidate address pool ranked first, determine whether the number of active addresses in the candidate address pool is greater than or equal to a preset active number threshold. If so, proceed to the following operation S633; otherwise, proceed to the following operation S634.

[0083] In operation S633, the candidate address pool is determined as a target address pool of the dynamic domain name.

[0084] In operation S634, the candidate address pools are isolated; and the operation of determining the number of active addresses in operation S632 is performed on the next candidate address pool of any candidate address pool.

[0085] For example, the active number threshold may be considered as a setting, wherein different candidate address pools may be set with different active number thresholds, and the present disclosure does not impose any limitation on the numerical setting of the active number threshold.

[0086] Through the embodiments of the present disclosure, a new concept of the number of active addresses is proposed. The active number threshold can be pre-set based on the number of service members in the candidate address pool. When the threshold is exceeded, the address pool with the number of active addresses that does not meet the standard will be eliminated in the first-level scheduling logic of GSLB, so that it will no longer participate in the subsequent resolution scheduling. For example, there are 3 service members in a candidate address pool, and the active number threshold is set to 2. Before the first-level scheduling, it will first be determined whether the number of active addresses in the candidate address pool is ≥ 2. If it meets the requirements, the normal first and second-level scheduling logic will be executed, and the candidate address pool will participate in traffic scheduling; if it does not meet the requirements, the candidate address pool will be isolated and automatically excluded from the traffic scheduling range, and will no longer participate in the subsequent resolution scheduling to avoid affecting the performance of the overall network service.

[0087] In some embodiments, a switch for "active address number detection" can be added to the WEB front end of the global load balancing device, and an input box for the active number threshold can be added to facilitate the operation and maintenance personnel to perform corresponding configurations.

[0088] In this embodiment, the secondary scheduling strategy in the operation S240 includes an equal-proportional polling strategy; the resolution result of the dynamic domain name is the respective IP address information returned in sequence by multiple target service members based on the equal-proportional polling strategy.

[0089] Thus, the global load balancing device sends multiple IP address information of multiple target service members to the client, so that the client obtains the content accessed by the resolution request from these target service members based on the multiple IP address information.

[0090] From the above description, it can be seen that the present disclosure provides an intelligent scheduling method. When the number of available service members in an address pool is less than a certain order of magnitude, resulting in the risk of excessive load and excessive traffic concentration among the remaining available service members, the global load balancing device will isolate the address pool and perform business diversion in advance, changing the original judgment logic that was completely based on whether there were available service members in the address pool as the basis for first-level scheduling (selection of address pool), so that the scheduling process is more in line with the actual situation of the business load, the switching process is smoother, and the business assurance capability is effectively improved.

[0091] Based on the above intelligent scheduling method, the present disclosure also provides a global load balancing device. Figure 7 The device is described in detail.

[0092] Figure 7 The structural block diagram of the global load balancing device according to the embodiment of the present disclosure is schematically shown.

[0093] like Figure 7 As shown, the global load balancing device 700 of this embodiment includes a candidate address pool determination module 710 , an active address number determination module 720 , a primary scheduling module 730 and a secondary scheduling module 740 .

[0094] The candidate address pool determination module 710 is used to determine multiple candidate address pools associated with the dynamic domain name and the priority of each candidate address pool in response to receiving a resolution request for the dynamic domain name. In one embodiment, the candidate address pool determination module 710 can be used to perform the operation S210 described above, which will not be repeated here.

[0095] The active address number determination module 720 is used to detect the health status of multiple service members in each candidate address pool, and determine the number of active addresses in the candidate address pool according to the health status, wherein the number of active addresses represents the number of service members available in the candidate address pool. In one embodiment, the active address number determination module 720 can be used to perform the operation S220 described above, which will not be repeated here.

[0096] The first-level scheduling module 730 is used to select a target address pool for dynamic domain name mapping from multiple candidate address pools according to the priority, the number of active addresses and the preset first-level scheduling policy. In one embodiment, the first-level scheduling module 730 can be used to perform the operation S230 described above, which will not be repeated here.

[0097] The secondary scheduling module 740 is used to schedule the resolution request to multiple target service members in the target address pool according to the preset secondary scheduling strategy, and receive the resolution results of the dynamic domain name from the multiple target service members. In one embodiment, the secondary scheduling module 740 can be used to perform the operation S240 described above, which will not be repeated here.

[0098] According to an embodiment of the present disclosure, detecting the health status of multiple service members in each candidate address pool includes: detecting multiple service members in each candidate address pool according to at least one predetermined communication protocol to obtain the health status of each service member, wherein the health status includes active and inactive.

[0099] According to an embodiment of the present disclosure, determining the number of active addresses in a candidate address pool according to health status includes: for each candidate address pool, determining the number of active addresses in the candidate address pool according to the number of service members in the candidate address pool whose health status is active.

[0100] According to an embodiment of the present disclosure, a target address pool for dynamic domain name mapping is selected from multiple candidate address pools based on priority, the number of active addresses and a preset first-level scheduling strategy, including: sorting the multiple candidate address pools according to priority; for any candidate address pool ranked first, when it is determined that the number of active addresses in the candidate address pool is greater than or equal to a preset active number threshold, determining the candidate address pool as the target address pool for the dynamic domain name.

[0101] According to an embodiment of the present disclosure, it also includes: when it is determined that the number of active addresses in the candidate address pool is less than a preset active number threshold, the candidate address pool is isolated; and a determination operation of the number of active addresses is performed on the next candidate address pool of any candidate address pool.

[0102] According to an embodiment of the present disclosure, the secondary scheduling strategy includes an equal-proportional polling strategy; the resolution result of the dynamic domain name is the respective IP address information returned in sequence by multiple target service members based on the equal-proportional polling strategy.

[0103] According to an embodiment of the present disclosure, a global load balancing device is communicatively connected with a local domain name server; in response to receiving a resolution request for a dynamic domain name, multiple candidate address pools associated with the dynamic domain name and a priority of each candidate address pool are determined, including: in response to receiving a resolution request for a dynamic domain name from a local domain name server, wherein the resolution request is sent by a client to a local domain name server and forwarded by the local domain name server to the global load balancing device, and the resolution request includes IP address information of the client; based on the IP address information of the client, multiple candidate address pools associated with the dynamic domain name and a priority of each candidate address pool are determined.

[0104] According to an embodiment of the present disclosure, any multiple modules of the candidate address pool determination module 710, the active address number determination module 720, the primary scheduling module 730, and the secondary scheduling module 740 can be combined in one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the candidate address pool determination module 710, the active address number determination module 720, the primary scheduling module 730, and the secondary scheduling module 740 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in an appropriate combination of any of them. Alternatively, at least one of the candidate address pool determination module 710, the active address number determination module 720, the primary scheduling module 730 and the secondary scheduling module 740 may be at least partially implemented as a computer program module, which may perform corresponding functions when executed.

[0105] Figure 8 A block diagram of an electronic device suitable for implementing an intelligent scheduling method according to an embodiment of the present disclosure is schematically shown.

[0106] like Figure 8 As shown, the electronic device 800 according to an embodiment of the present disclosure includes a processor 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage part 808 to a random access memory (RAM) 803. The processor 801 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 801 may also include an onboard memory for caching purposes. The processor 801 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0107] In RAM 803, various programs and data required for the operation of electronic device 800 are stored. Processor 801, ROM 802 and RAM 803 are connected to each other via bus 804. Processor 801 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 802 and / or RAM 803. It should be noted that the program can also be stored in one or more memories other than ROM 802 and RAM 803. Processor 801 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in the one or more memories.

[0108] According to an embodiment of the present disclosure, the electronic device 800 may further include an input / output (I / O) interface 805, which is also connected to the bus 804. The electronic device 800 may further include one or more of the following components connected to the input / output (I / O) interface 805: an input portion 806 including a keyboard, a mouse, etc.; an output portion 807 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 808 including a hard disk, etc.; and a communication portion 809 including a network interface card such as a LAN card, a modem, etc. The communication portion 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the input / output (I / O) interface 805 as needed. A removable medium 811, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 810 as needed, so that the computer program read therefrom is installed into the storage portion 808 as needed.

[0109] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.

[0110] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, it may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device. For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 802 and / or RAM 803 described above and / or one or more memories other than ROM 802 and RAM 803.

[0111] The embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program contains program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the intelligent scheduling method provided by the embodiment of the present disclosure.

[0112] The above functions defined in the system / device of the embodiment of the present disclosure are performed when the computer program is executed by the processor 801. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.

[0113] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication part 809, and / or installed from a removable medium 811. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0114] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 809, and / or installed from the removable medium 811. When the computer program is executed by the processor 801, the above functions defined in the system of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the system, device, means, module, unit, etc. described above can be implemented by a computer program module.

[0115] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).

[0116] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0117] It will be appreciated by those skilled in the art that the features described in the various embodiments of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations or combinations are not explicitly described in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features described in the various embodiments of the present disclosure may be combined and / or combined in a variety of ways. All of these combinations and / or combinations fall within the scope of the present disclosure.

[0118] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. An intelligent scheduling method, applied to a global load balancing device, characterized in that: The method comprises: In response to receiving a resolution request for a dynamic domain name, determining a plurality of candidate address pools associated with the dynamic domain name and a priority of each of the candidate address pools; Detecting the health status of multiple service members in each of the candidate address pools, and determining the number of active addresses in the candidate address pool according to the health status, wherein the number of active addresses represents the number of available service members in the candidate address pool; Selecting a target address pool for dynamic domain name mapping from the multiple candidate address pools according to the priority, the number of active addresses and a preset primary scheduling strategy; The resolution request is dispatched to multiple target service members in the target address pool according to a preset secondary dispatching strategy, and resolution results of the dynamic domain name from the multiple target service members are received.

2. The method according to claim 1, characterized in that The detecting the health status of multiple service members in each of the candidate address pools includes: According to at least one predetermined communication protocol, multiple service members in each candidate address pool are detected to obtain the health status of each service member, wherein the health status includes active and inactive.

3. The method according to claim 2, characterized in that The determining the number of active addresses in the candidate address pool according to the health status includes: For each of the candidate address pools, the number of active addresses in the candidate address pool is determined according to the number of service members in the candidate address pool whose health status is active.

4. The method according to claim 1, characterized in that: The selecting the target address pool for dynamic domain name mapping from the multiple candidate address pools according to the priority, the number of active addresses and a preset primary scheduling strategy includes: sorting the multiple candidate address pools according to the priority; For any candidate address pool ranked first, when it is determined that the number of active addresses in the candidate address pool is greater than or equal to a preset active number threshold, the candidate address pool is determined as the target address pool of the dynamic domain name.

5. The method according to claim 4, characterized in that Also includes: When it is determined that the number of active addresses in the candidate address pool is less than the preset active number threshold, isolating the candidate address pool; The operation of determining the number of active addresses is performed on a candidate address pool subsequent to any candidate address pool.

6. The method according to claim 1, characterized in that The secondary scheduling strategy includes an equal-proportional polling strategy; The resolution result of the dynamic domain name is the respective IP address information returned in sequence by the multiple target service members based on the equal-proportional polling strategy.

7. The method according to claim 1, characterized in that The global load balancing device is in communication with the local domain name server; the response to receiving the resolution request of the dynamic domain name, determining multiple candidate address pools associated with the dynamic domain name and the priority of each candidate address pool, including: In response to receiving a resolution request for the dynamic domain name from the local domain name server, wherein the resolution request is sent by a client to the local domain name server and forwarded by the local domain name server to the global load balancing device, and the resolution request includes IP address information of the client; According to the IP address information of the client, multiple candidate address pools associated with the dynamic domain name and a priority of each of the candidate address pools are determined.

8. A global load balancing device, characterized in that: The device comprises: A candidate address pool determination module, configured to determine, in response to receiving a resolution request for a dynamic domain name, a plurality of candidate address pools associated with the dynamic domain name and a priority of each of the candidate address pools; An active address number determination module, used to detect the health status of multiple service members in each of the candidate address pools, and determine the number of active addresses in the candidate address pool according to the health status, wherein the number of active addresses represents the number of available service members in the candidate address pool; A primary scheduling module, configured to select a target address pool for dynamic domain name mapping from the plurality of candidate address pools according to the priority, the number of active addresses and a preset primary scheduling strategy; The secondary scheduling module is used to schedule the resolution request to multiple target service members in the target address pool according to a preset secondary scheduling strategy, and receive resolution results of the multiple target service members for the dynamic domain name.

9. An electronic device, comprising: one or more processors; a memory for storing one or more computer programs, It is characterized in that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

11. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.