A request response, node determination method, system and device

By configuring auxiliary nodes in the DNS scheduling unit and using unoccupied bandwidth to determine whether to respond to service requests, the quality degradation problem caused by bandwidth limitations of service nodes is solved, the service quality is improved, and the quality differences of nodes in different locations are reduced.

CN115883570BActive Publication Date: 2025-10-03BEIJING KINGSOFT CLOUD NETWORK TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111146213.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-28
Publication Date
2025-10-03
Estimated Expiration
2041-09-28

AI Technical Summary

Technical Problem

In the DNS scheduling unit, the available bandwidth of the service node is limited, resulting in a decrease in the quality of responding to service requests under high load conditions. Especially in special areas, the service quality of remote nodes is affected by the network environment and transmission lines.

Method used

By determining that the auxiliary nodes of the service node are not occupying bandwidth, the auxiliary nodes are configured to share the load of the service node, and the auxiliary nodes are used to respond to service requests, avoiding the need to replace all nodes with remote nodes.

Benefits of technology

It improves the service quality and reduces the bandwidth usage of service nodes, especially in special areas, avoids the problem of poor quality of remote nodes, and improves the responsiveness of service nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115883570B_ABST
    Figure CN115883570B_ABST
Patent Text Reader

Abstract

Embodiments of the present invention provide a request response and node determination method, system, and device, relating to the field of data processing technology. The request response method is applied to a service node in a DNS scheduling unit. The method includes: receiving a service request; determining whether the service request should be responded to by the auxiliary node based on the unoccupied bandwidth of the service node's auxiliary node, wherein the auxiliary node is a node pre-determined based on a target number set to assist the service node in responding to the request, the target number set including the number of IP addresses configured for each service node in the DNS scheduling unit; if the response is yes, forwarding the service request to the auxiliary node so that the auxiliary node responds to the service request; if the response is no, responding to the service request. When the solution provided in this embodiment is applied to respond to requests, the quality of service provided by the service node can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing technology, and in particular to a request response, node determination method, system and device. Background Art

[0002] Service providers provide services to users based on DNS (Domain Name System) scheduling units. A DNS scheduling unit generally includes multiple service nodes. Considering bandwidth costs, service providers often limit the available bandwidth of each service node in the DNS scheduling unit.

[0003] In actual use, after receiving a service request, the service node in the DNS scheduling unit responds to the request to provide services to the user. However, when there are many service requests, the bandwidth required to respond to the service requests is also high. If the actual available bandwidth of the service node exceeds the limited available bandwidth of the service node, the quality of the service node's response to the service request will be affected. Summary of the Invention

[0004] The purpose of the embodiments of the present invention is to provide a request response and node determination method, system, and device to improve the quality of service provided by service nodes to users. The specific technical solution is as follows:

[0005] In a first aspect, an embodiment of the present invention provides a request response method, which is applied to a service node in a DNS scheduling unit, and the method includes:

[0006] Receive service requests;

[0007] determining, based on unoccupied bandwidth of an auxiliary node of the service node, whether the auxiliary node should respond to the service request, wherein the auxiliary node is a node pre-determined based on a target number set for assisting the service node in responding to the request, the target number set including the number of IP addresses configured for each service node in the DNS scheduling unit;

[0008] If yes, forwarding the service request to the auxiliary node so that the auxiliary node responds to the service request;

[0009] If not, respond to the service request.

[0010] In one embodiment of the present invention, the determining, based on the unoccupied bandwidth of the auxiliary node of the service node, whether the auxiliary node responds to the service request includes:

[0011] Calculating a ratio between the unoccupied bandwidth of the auxiliary node of the service node and the current unoccupied bandwidth of the DNS scheduling unit;

[0012] According to the calculated ratio, it is determined whether the auxiliary node responds to the service request.

[0013] In one embodiment of the present invention, the determining, based on the calculated ratio, whether the auxiliary node responds to the service request includes:

[0014] generating an indication value within a preset indication value range;

[0015] Determine, based on the calculated ratio, a sub-range corresponding to the auxiliary node within the preset indicator value range;

[0016] If the indication value is within the sub-range corresponding to the auxiliary node, it is determined that the auxiliary node responds to the service request; if the indication value is not within the sub-range corresponding to the auxiliary node, it is determined that the service node responds to the service request.

[0017] In a second aspect, an embodiment of the present invention provides a node determination method, applied to a control node, the method comprising:

[0018] Determine a target quantity set, wherein the target quantity set includes: the number of IP addresses that have been configured or to be configured for each service node in the DNS scheduling unit;

[0019] Obtaining a target bandwidth set corresponding to the target number set, wherein the target bandwidth set includes: an available bandwidth of each service node estimated based on a first bandwidth currently unoccupied by the DNS scheduling unit, a second bandwidth occupied by each service node, and the number of IP addresses included in the target number set;

[0020] If the target bandwidth set includes a target bandwidth exceeding a preset available bandwidth threshold, an auxiliary node for assisting each service node in responding to a request is determined from each preset candidate node according to the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit.

[0021] In one embodiment of the present invention, the above-mentioned determination of the target quantity set includes:

[0022] determining, based on the first bandwidth, each second bandwidth, and a quality weight of each service node, a candidate number set including a candidate number of IP addresses to be configured for each service node, wherein the quality weight of each service node represents a quality of service provided by each service node to the user;

[0023] estimating, based on the first bandwidth and each second bandwidth, a candidate bandwidth set corresponding to each candidate number set, wherein each candidate bandwidth set includes: an available bandwidth of each service node when the number of IP addresses configured for each service node is the candidate number included in each candidate number set;

[0024] Determining a target number set for configuring an IP address for each service node from each candidate number set based on the available bandwidth included in each candidate bandwidth set and the number of candidates included in each candidate number set;

[0025] The obtaining of the target bandwidth set corresponding to the target quantity set includes:

[0026] The candidate bandwidth set corresponding to the target number set is determined as the target bandwidth set.

[0027] In one embodiment of the present invention, determining a target number set for configuring an IP address for each service node from each candidate number set based on the available bandwidth included in each candidate bandwidth set and the number of candidates included in each candidate number set includes:

[0028] Determining whether there is a first bandwidth set in each candidate bandwidth set, wherein the first bandwidth set contains a third bandwidth greater than the preset available bandwidth threshold;

[0029] If the answer is yes, determining, based on the third bandwidth included in the first bandwidth set, a secondary bandwidth corresponding to the first bandwidth set; and determining, from each candidate number set, a target number set for configuring IP addresses for each service node based on the number of candidates included in each candidate number set, the available bandwidth included in each candidate bandwidth set, and the secondary bandwidth, wherein the secondary bandwidth corresponding to the first bandwidth set is: the available bandwidth to be allocated to the secondary node when the number of IP addresses configured for each service node is the number of candidates included in the candidate number set corresponding to the first bandwidth set;

[0030] If not, a target number set for configuring an IP address for each service node is determined from each candidate number set according to the candidate numbers included in each candidate number set and the available bandwidth included in each candidate bandwidth set.

[0031] In one embodiment of the present invention, determining a target number set for configuring an IP address for each service node from each candidate number set based on the number of candidates included in each candidate number set, the available bandwidth included in each candidate bandwidth set, and the auxiliary bandwidth includes:

[0032] The first fluctuation value and the second fluctuation value of each candidate quantity set are calculated in the following manner, and a target quantity set is selected from each candidate quantity set based on the calculated first fluctuation value, second fluctuation value and the auxiliary bandwidth:

[0033] Calculating a first ratio between each candidate quantity in the candidate quantity set and the total candidate quantity;

[0034] Calculating a second ratio between each available bandwidth in the candidate bandwidth set and the total available bandwidth;

[0035] Calculate the third ratio between the number of configured IP addresses of each service node and the total number of addresses;

[0036] Calculating, based on the first ratio and the second ratio, a first fluctuation value reflecting the occupiable bandwidth of each candidate quantity included in the candidate quantity set relative to each service node;

[0037] A second fluctuation value reflecting the number of each candidate included in the candidate number set relative to the number of IP addresses configured for each service node is calculated according to the first ratio and the third ratio.

[0038] In one embodiment of the present invention, before calculating the first fluctuation value and the second fluctuation value of each candidate quantity set, the method further includes:

[0039] Determining, based on each available bandwidth included in each candidate bandwidth set, a type of a candidate quantity set corresponding to each candidate bandwidth set;

[0040] The step of selecting a target number set from each candidate number set according to the calculated first fluctuation value, the second fluctuation value, and the auxiliary bandwidth corresponding to each target candidate bandwidth set includes:

[0041] For each type, determining, from each candidate number set of the type, a target candidate number set having the smallest first fluctuation value, the smallest second fluctuation value, and the smallest auxiliary bandwidth of the target candidate bandwidth set;

[0042] From the target candidate quantity sets corresponding to each type, a target quantity set is determined.

[0043] In one embodiment of the present invention, determining the auxiliary bandwidth corresponding to the first bandwidth set based on the third bandwidth included in the first bandwidth set includes:

[0044] Calculating a first candidate bandwidth according to the first bandwidth and a preset auxiliary bandwidth ratio;

[0045] Calculating the sum of unoccupied bandwidths of each preset candidate node of the DNS scheduling unit to obtain a second candidate bandwidth;

[0046] Calculating the difference between each third bandwidth and the preset bandwidth threshold, and taking the sum of the calculated differences as the third candidate bandwidth;

[0047] A candidate bandwidth is selected from the first candidate bandwidth, the second candidate bandwidth, and the third candidate bandwidth as an auxiliary bandwidth.

[0048] In one embodiment of the present invention, the determining, from each preset candidate node based on the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit, an auxiliary node for assisting each service node in responding to a request includes:

[0049] According to the target bandwidth, an auxiliary node for assisting each service node in responding to the request is determined from each preset candidate node in the DNS scheduling unit in an order from high to low of the unoccupied bandwidth, wherein the sum of the unoccupied bandwidths of the auxiliary nodes is less than or equal to the target bandwidth.

[0050] In a third aspect, an embodiment of the present invention provides a request response system, the system comprising a control node and a DNS scheduling unit, the DNS scheduling unit comprising a service node, wherein:

[0051] The control node is configured to determine a target quantity set and obtain a target bandwidth set corresponding to the target quantity set, wherein the target quantity set includes: the number of IP addresses configured or to be configured for each service node in the DNS scheduling unit; the target bandwidth set includes: the available bandwidth of each service node estimated based on a first bandwidth currently unoccupied by the DNS scheduling unit, a second bandwidth occupied by each service node, and the number of IP addresses included in the target quantity set;

[0052] The control node is further configured to, if the target bandwidth set includes a target bandwidth exceeding a preset available bandwidth threshold, determine, from the preset candidate nodes, an auxiliary node for assisting each service node in responding to a request based on the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit;

[0053] The control node is further configured to, if the target number set includes the number of IP addresses already configured for each service node, configure the auxiliary node for each service node; if the target number set includes the number of IP addresses to be configured for each service node, configure an IP address for each service node according to the number of IP addresses included in the target number set, and configure the auxiliary node for each service node;

[0054] The service node is configured to receive a service request; determine, based on the unoccupied bandwidth of the auxiliary node of the service node, whether the auxiliary node responds to the service request; if so, forward the service request to the auxiliary node so that the auxiliary node responds to the service request; if not, respond to the service request.

[0055] In a fourth aspect, an embodiment of the present invention provides a request response device, which is applied to a service node in a DNS scheduling unit, and the device includes:

[0056] A request receiving module, used for receiving service requests;

[0057] an information determination module, configured to determine, based on unoccupied bandwidth of an auxiliary node of the service node, whether the auxiliary node should respond to the service request, wherein the auxiliary node is a node pre-determined based on a target number set for assisting the service node in responding to the request, the target number set including the number of IP addresses configured for each service node in the DNS scheduling unit; if the determination is yes, triggering a first request response module; if not, triggering a second request response module;

[0058] The first request response module forwards the service request to the auxiliary node, so that the auxiliary node responds to the service request;

[0059] The second request response module responds to the service request.

[0060] In one embodiment of the present invention, the information determination module includes:

[0061] a ratio calculation submodule, configured to calculate a ratio between the unoccupied bandwidth of the auxiliary node of the service node and the current unoccupied bandwidth of the DNS scheduling unit;

[0062] The information judgment submodule is used to judge whether the auxiliary node responds to the service request according to the calculated ratio.

[0063] In one embodiment of the present invention, the above-mentioned information judgment submodule is specifically used to generate an indication value within a preset indication value range; based on the calculated ratio, determine the sub-range corresponding to the auxiliary node within the preset indication value range; if the indication value is within the sub-range corresponding to the auxiliary node, determine that the auxiliary node responds to the service request; if the indication value is not within the sub-range corresponding to the auxiliary node, determine that the service node responds to the service request.

[0064] In a fifth aspect, an embodiment of the present invention provides a node determination device, applied to a control node, the device comprising:

[0065] A quantity set determination module is used to determine a target quantity set, wherein the target quantity set includes: the number of IP addresses that have been configured or to be configured for each service node in the DNS scheduling unit;

[0066] a bandwidth set obtaining module, configured to obtain a target bandwidth set corresponding to the target number set, wherein the target bandwidth set includes: an available bandwidth of each service node estimated based on a first bandwidth currently unoccupied by the DNS scheduling unit, a second bandwidth occupied by each service node, and the number of IP addresses included in the target number set;

[0067] a node determination module configured to determine, if the target bandwidth set includes a target bandwidth exceeding a preset available bandwidth threshold, an auxiliary node for assisting each service node in responding to a request from each preset candidate node based on the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit.

[0068] In one embodiment of the present invention, the quantity set determination module includes:

[0069] a candidate quantity set determination submodule, configured to determine a candidate quantity set including a candidate quantity of IP addresses to be configured for each service node based on the first bandwidth, each second bandwidth, and a quality weight of each service node, wherein the quality weight of each service node represents a quality of service provided by each service node to a user;

[0070] a candidate bandwidth set estimating submodule, configured to estimate, based on the first bandwidth and each second bandwidth, a candidate bandwidth set corresponding to each candidate number set, wherein each candidate bandwidth set includes: an available bandwidth of each service node when the number of IP addresses configured for each service node is the candidate number included in each candidate number set;

[0071] a quantity set determination submodule, configured to determine a target quantity set for configuring an IP address for each service node from each candidate quantity set based on the available bandwidth included in each candidate bandwidth set and the number of candidates included in each candidate quantity set;

[0072] The bandwidth set obtaining submodule is specifically configured to determine the candidate bandwidth set corresponding to the target number set as the target bandwidth set.

[0073] In one embodiment of the present invention, the quantity set determination submodule includes:

[0074] an information determination unit, configured to determine whether a first bandwidth set exists in each candidate bandwidth set, wherein the first bandwidth set contains a third bandwidth greater than the preset available bandwidth threshold; if so, triggering a first number set determination unit; and if not, triggering a second number set determination unit;

[0075] The first number set determining unit is configured to determine, based on the third bandwidth included in the first bandwidth set, a secondary bandwidth corresponding to the first bandwidth set, and determine, from each candidate number set, a target number set for configuring an IP address for each service node based on the number of candidates included in each candidate number set, the available bandwidth included in each candidate bandwidth set, and the secondary bandwidth, wherein the secondary bandwidth corresponding to the first bandwidth set is: the available bandwidth to be allocated to the secondary node when the number of IP addresses configured for each service node is the number of candidates included in the candidate number set corresponding to the first bandwidth set;

[0076] The second quantity set determining unit is configured to determine a target quantity set for configuring IP addresses for each service node from each candidate quantity set according to the candidate quantities included in each candidate quantity set and the available bandwidth included in each candidate bandwidth set.

[0077] In one embodiment of the present invention, the first quantity set determining unit includes:

[0078] a fluctuation value calculation subunit, configured to calculate a first fluctuation value and a second fluctuation value of each candidate quantity set;

[0079] The quantity set selection subunit is configured to select a target quantity set from each candidate quantity set according to the calculated first fluctuation value, second fluctuation value, and the auxiliary bandwidth:

[0080] The fluctuation value calculation subunit is specifically used to calculate a first ratio between each candidate number in the candidate number set and the total candidate number; calculate a second ratio between each available bandwidth in the candidate bandwidth set and the total available bandwidth; calculate a third ratio between the number of IP addresses configured for each service node and the total number of addresses; calculate a first fluctuation value reflecting the occupiable bandwidth of each candidate number included in the candidate number set relative to each service node based on the first ratio and the second ratio; and calculate a second fluctuation value reflecting the number of each candidate number included in the candidate number set relative to the number of IP addresses configured for each service node based on the first ratio and the third ratio.

[0081] In one embodiment of the present invention, the first quantity set determining unit further includes:

[0082] a type determination subunit, configured to determine, before the fluctuation value calculation subunit, based on each available bandwidth included in each candidate bandwidth set, the type of the candidate quantity set corresponding to each candidate bandwidth set;

[0083] The quantity set selection subunit is specifically used to determine, for each type, from each candidate quantity set of that type, a target candidate quantity set with the smallest first fluctuation value, the smallest second fluctuation value, and the smallest auxiliary bandwidth of the target candidate bandwidth set; and determine the target quantity set from the target candidate quantity sets corresponding to each type.

[0084] In one embodiment of the present invention, the above-mentioned first quantity set determination unit is specifically used to calculate a first candidate bandwidth based on the first bandwidth and a preset auxiliary bandwidth ratio; calculate the sum of the unoccupied bandwidths of each preset candidate node of the DNS scheduling unit to obtain a second candidate bandwidth; calculate the difference between each third bandwidth and the preset bandwidth threshold, and use the sum of the calculated differences as the third candidate bandwidth; and select a candidate bandwidth from the first candidate bandwidth, the second candidate bandwidth, and the third candidate bandwidth as the auxiliary bandwidth.

[0085] In one embodiment of the present invention, the node determination module is specifically configured to determine, from among the preset candidate nodes, an auxiliary node for assisting each service node in responding to a request, according to the target bandwidth, in the order of the unoccupied bandwidths of the preset candidate nodes of the DNS scheduling unit from high to low, wherein the sum of the unoccupied bandwidths of the auxiliary nodes is less than or equal to the target bandwidth.

[0086] In a sixth aspect, an embodiment of the present invention provides a service node, comprising a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;

[0087] Memory for storing computer programs;

[0088] The processor is configured to implement the method steps described in the first aspect when executing the program stored in the memory.

[0089] In a seventh aspect, an embodiment of the present invention provides a control node, comprising a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;

[0090] Memory for storing computer programs;

[0091] The processor is used to implement the method steps described in the second aspect when executing the program stored in the memory.

[0092] In an eighth aspect, an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method steps described in the first or second aspect are implemented.

[0093] As can be seen from the above, when the solution provided in the embodiment of the present invention is applied to respond to a request, since an auxiliary node is configured to assist the service node in responding to the request, when it is determined that the auxiliary node responds to the service request, the service node forwards the service request to the auxiliary node, thereby sharing the bandwidth required by the service node to respond to the service request and improving the service quality.

[0094] In addition, since the judgment of whether the auxiliary node responds to the service request is based on the unoccupied bandwidth of the auxiliary node, the unoccupied bandwidth of the auxiliary node reflects the current bandwidth occupied by the auxiliary node. Based on the above unoccupied bandwidth, it is possible to actually and more accurately judge whether the auxiliary node responds to the service request, thereby further improving the service quality.

[0095] Of course, it is not necessary to achieve all of the advantages described above simultaneously in order to implement any product or method of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0096] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other embodiments can also be obtained based on these drawings.

[0097] Figure 1a A schematic diagram of a node relationship provided by an embodiment of the present invention;

[0098] Figure 1b A schematic diagram of another node relationship provided by an embodiment of the present invention;

[0099] Figure 2 A schematic diagram of a first request response method according to an embodiment of the present invention;

[0100] Figure 3 A schematic diagram of a second request response method provided in an embodiment of the present invention;

[0101] Figure 4 A schematic diagram of a flow chart of a first node determination method provided in an embodiment of the present invention;

[0102] Figure 5 A schematic diagram of a flow chart of a second node determination method provided in an embodiment of the present invention;

[0103] Figure 6 A schematic flow chart of a third node determination method provided in an embodiment of the present invention;

[0104] Figure 7 A schematic diagram of a flow chart of a fourth node determination method provided in an embodiment of the present invention;

[0105] Figure 8 A schematic diagram of the structure of a request response system provided by an embodiment of the present invention;

[0106] Figure 9 A schematic structural diagram of a first request response device provided by an embodiment of the present invention;

[0107] Figure 10 A schematic diagram of the structure of a second request response device provided by an embodiment of the present invention;

[0108] Figure 11 A schematic structural diagram of a first node determination device provided by an embodiment of the present invention;

[0109] Figure 12 A schematic structural diagram of a second node determination device provided by an embodiment of the present invention;

[0110] Figure 13 A schematic structural diagram of a third node determination device provided by an embodiment of the present invention;

[0111] Figure 14 A schematic diagram of the structure of a service node provided by an embodiment of the present invention;

[0112] Figure 15 A schematic diagram of the structure of a control node provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0113] The following will be combined with the accompanying drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field based on this application are within the scope of protection of the present invention.

[0114] First, the execution subjects involved in the present invention and the relationship between the execution subjects are explained.

[0115] by Figure 1a For example, Figure 1a A schematic diagram of a node relationship provided by an embodiment of the present invention. Figure 1a It includes a DNS scheduling unit, a service node in the DNS scheduling unit, and a control node.

[0116] The execution subject of the request response method provided by the embodiment of the present invention is the service node in the DNS scheduling unit, and the execution subject of the node determination method provided by the embodiment of the present invention is the control node.

[0117] The control node is used to configure the information of each DNS scheduling unit and the information of the service nodes in each DNS scheduling unit. For example, the control node can configure the domain name, location identifier, available bandwidth, number of service nodes and other information corresponding to the DNS scheduling unit. The control node can also configure the number of IP addresses, IP addresses, available bandwidth and other information of each service node in the DNS scheduling unit.

[0118] The DNS scheduling unit consists of a scheduling group and a line. The scheduling group includes one or more domain names, and the line includes the location and the operator's line.

[0119] Each service node in the DNS scheduling unit is used to provide services to users. Specifically, the service node can receive service requests and respond to service requests to provide services to users.

[0120] The request response method provided by the embodiment of the present invention is described in detail below.

[0121] See also Figure 2 , Figure 2 This is a flow chart of a first request response method provided by an embodiment of the present invention, which is applied to a service node in a DNS scheduling unit. The method includes the following steps S201-S204.

[0122] Step S201: Receive a service request.

[0123] The service request is used to request a service, such as a cloud storage service, a cloud game service, etc. The service request is a service request sent by a user through an electronic device used by the user.

[0124] Specifically, before sending a service request, the user can first send a DNS request to the DNS server. The above DNS request carries the requested domain name. The DNS server determines the DNS scheduling unit corresponding to the above DNS request based on the domain name carried in the above request and the location identifier of the user's location from the preset correspondence between the domain name, location identifier and DNS scheduling unit, determines an IP address from the IP addresses configured by the DNS scheduling unit, and sends the determined IP address to the user. The user sends a service request with the destination IP address being the above IP address. The service node with the IP address being the above IP address can receive the service request and provide service to the user.

[0125] Step S202: judging whether the auxiliary node responds to the service request based on the unoccupied bandwidth of the auxiliary node of the service node.

[0126] If yes, go to step S203; if no, go to step S204.

[0127] The auxiliary node is a node that is determined in advance based on a target number set and is used to assist the service node in responding to requests. The target number set includes the number of IP addresses configured for each service node in the DNS scheduling unit.

[0128] The number of the auxiliary nodes may be one or more, and the auxiliary nodes of each service node may be the same or different.

[0129] When there are a large number of service requests, the service node consumes a large amount of bandwidth when responding to them. When the bandwidth occupied by the service node exceeds a preset bandwidth threshold, the service node is currently overloaded. Since auxiliary nodes assist the service node in responding to requests, they can help share the service node's current load, reducing the bandwidth currently occupied by the service node and improving service quality.

[0130] In addition, for the DNS scheduling unit of a special area, the service nodes it contains are either all local nodes or all remote nodes. A local node refers to a service node whose line is the same as the line of the DNS scheduling unit, and a remote node refers to a service node whose line is different from the line of the DNS scheduling unit. When the bandwidth occupied by the service node exceeds the preset bandwidth threshold, for the DNS scheduling unit of the special area, all existing service nodes need to be replaced with remote nodes in order to provide services to users normally. However, when the remote node provides services to local users, the quality of the service provided by the remote node is poor due to the influence of the network environment and the transmission line. Based on this, since an auxiliary node that assists the service node in responding to requests is configured in this embodiment, when the bandwidth occupied by the service node is too high, the auxiliary node shares the bandwidth currently occupied by the service node without the need to replace all of them with remote nodes, thereby further improving the service quality.

[0131] The unoccupied bandwidth of the auxiliary node refers to the bandwidth that is not occupied by the auxiliary node.

[0132] In one embodiment, the bandwidth occupied by responding to the service request can be estimated. If the estimated bandwidth is less than or equal to the unoccupied bandwidth of the auxiliary node, it can be determined that the auxiliary node will respond to the service request. If the estimated bandwidth is greater than the unoccupied bandwidth of the auxiliary node, it can be determined that the auxiliary node will not respond to the service request, that is, the service node will respond to the service request.

[0133] For other implementations, see Figure 3 The corresponding embodiments are not described in detail here.

[0134] Step S203: forwarding the service request to the auxiliary node, so that the auxiliary node responds to the service request.

[0135] When the number of auxiliary nodes is 1, the service request can be forwarded directly to the auxiliary node of the service node.

[0136] When there are multiple auxiliary nodes, an auxiliary node for responding to the service request may be determined first, and the service request may be forwarded to the determined auxiliary node, and the auxiliary node may respond to the service request.

[0137] Specifically, the auxiliary node with the largest unoccupied bandwidth may be determined as the auxiliary node for responding to the service request.

[0138] When forwarding service requests, the service request can be forwarded to the auxiliary node based on the IP address of the auxiliary node. After receiving the service request, the auxiliary node responds to the service request and provides services to the user.

[0139] Step S204: respond to the service request.

[0140] When it is determined that the auxiliary node does not respond to the service request, the service node responds to the service request.

[0141] As can be seen from the above, when the solution provided by this embodiment is applied to respond to a request, since an auxiliary node is configured to assist the service node in responding to the request, when it is determined that the auxiliary node responds to the service request, the service node forwards the service request to the auxiliary node, thereby sharing the bandwidth required by the service node to respond to the service request and improving the service quality.

[0142] In addition, since the judgment of whether the auxiliary node responds to the service request is based on the unoccupied bandwidth of the auxiliary node, the unoccupied bandwidth of the auxiliary node reflects the current bandwidth occupied by the auxiliary node. Based on the above unoccupied bandwidth, it is possible to actually and more accurately judge whether the auxiliary node responds to the service request, thereby further improving the service quality.

[0143] Moreover, for the DNS scheduling unit of a special area, the service nodes it contains are either all local nodes or all remote nodes. A local node refers to a service node whose line is the same as that of the DNS scheduling unit, and a remote node refers to a service node whose line is different from that of the DNS scheduling unit. When the bandwidth occupied by the service node exceeds the preset bandwidth threshold, for the DNS scheduling unit of the special area, all existing service nodes need to be replaced with remote nodes in order to provide services to users normally. However, when remote nodes provide services to local users, the quality of services provided by remote nodes is poor due to the influence of the network environment and transmission lines. Based on this, since an auxiliary node that assists the service node in responding to requests is configured in this embodiment, when the bandwidth occupied by the service node is too high, the auxiliary node shares the bandwidth currently occupied by the service node without the need to replace all of them with remote nodes, thereby further improving the service quality.

[0144] The following combination Figure 1b , the relationship between the above service nodes and auxiliary nodes is specifically explained.

[0145] Figure 1b The DNS scheduling unit includes a service node P1 and a service node P2, and the auxiliary nodes of the service nodes P1 and P2 are both auxiliary nodes Hp.

[0146] When the destination IP address carried in the service request is the IP address of the service node P1, the service node P1 receives the service request, and the service node P1 determines whether the auxiliary node Hp responds to the service request. If the auxiliary node Hp responds to the service request, the service request is forwarded to the auxiliary node Hp, and the auxiliary node Hp responds to the service request; if the auxiliary node Hp does not respond to the service request, the service node P1 responds to the service request.

[0147] From the above process, we can see that the service request sent by the user first reaches the requested service node, and then the service node makes further judgments to determine which node responds to the service request.

[0148] To more accurately determine whether a secondary node responds to a service request, see Figure 3 , Figure 3 This is a flow chart of a second request response method provided in an embodiment of the present invention. Based on the above embodiment, the above step S202 can be implemented according to the following steps S2021-S2022.

[0149] Step S2021: Calculate the ratio between the unoccupied bandwidth of the auxiliary node of the service node and the current unoccupied bandwidth of the DNS scheduling unit.

[0150] The currently unoccupied bandwidth of the DNS scheduling unit includes the available bandwidth of each service node and the auxiliary bandwidth of the auxiliary node.

[0151] Take an example to illustrate the ratio calculation process. The auxiliary nodes serving node A are: node A1 and node A2. The unoccupied bandwidth of node A1 is 4G, the unoccupied bandwidth of node A2 is 6G, and the current unoccupied bandwidth of the DNS scheduling unit is 20G. It can be calculated that the ratio between the unoccupied bandwidth of node A1 and the current unoccupied bandwidth of the DNS scheduling unit is: 4 / 20=20%, and the ratio between the unoccupied bandwidth of node A2 and the current unoccupied bandwidth of the DNS scheduling unit is: 6 / 20=30%.

[0152] Step S2022: Based on the calculated ratio, determine whether the auxiliary node responds to the service request.

[0153] In one implementation, in an embodiment of the present invention, an indication value within a preset indication value range can be generated; based on the calculated ratio, a sub-range corresponding to the auxiliary node within the preset indication value range is determined; if the indication value is within the sub-range corresponding to the auxiliary node, it is determined that the auxiliary node responds to the service request; if the indication value is not within the sub-range corresponding to the auxiliary node, it is determined that the service node responds to the service request.

[0154] The above-mentioned preset indication value range can be pre-set by the staff based on experience, for example, the above-mentioned preset indication value range can be [0, 10], [0, 100], etc.

[0155] The above-mentioned indication value may be a randomly generated indication value within a preset indication value range. For example, if the preset indication value range is [0, 100], the randomly generated indication value within [0, 100] may be 20, 40, etc.

[0156] When determining the sub-range, the range formed by the product of the calculated ratio and each value in the preset indicator value range can be used as the sub-range corresponding to the auxiliary node.

[0157] For example, if the calculated ratio is 20%, the preset indicator value range is [0,100], the product of the ratio and the values ​​in the preset indicator value range is [0,20], and [0,20] is determined as the sub-range corresponding to the auxiliary node.

[0158] When the indication value is within the sub-range corresponding to the auxiliary node, it can be considered that the currently generated indication value points to the auxiliary node, and it is determined that the auxiliary node responds to the service request; when the indication value is not within the sub-range corresponding to the auxiliary node, it can be considered that the currently generated indication value does not point to the auxiliary node, and the service request is not responded to by the auxiliary node, then it is determined that the service node responds to the service request.

[0159] For example: the generated indication value is 10, the sub-range corresponding to the auxiliary node is [0,20], and the indication value is within the above sub-range, indicating that the service request is responded to by the auxiliary node; the generated indication value is 40, the sub-range corresponding to the auxiliary node is [0,20], and the indication value is not within the above sub-range, and the service request is not responded to by the auxiliary node, then it is determined that the service request is responded to by the service node.

[0160] In the above embodiment, if it is determined that the auxiliary node responds to the service request, the auxiliary node corresponding to the sub-range where the indicator value is located may also be determined as the auxiliary node that responds to the service request.

[0161] For example, if the generated indication value is 10, the sub-range corresponding to auxiliary node A1 is [0, 20], and the sub-range corresponding to auxiliary node A2 is (20, 50], the indication value is within the sub-range [0, 20], and the auxiliary node corresponding to [0, 20] is auxiliary node A1. Therefore, auxiliary node A1 can be determined as the auxiliary node that responds to the service request.

[0162] In another embodiment, the product between the above-mentioned indication value and the calculated ratio can also be calculated. When the calculated product is greater than the preset threshold, it is determined that the auxiliary node responds to the service request; when the calculated product is not greater than the preset threshold, it is determined that the service node responds to the service request.

[0163] In this way, since whether the auxiliary node responds to the service request is determined based on the calculated ratio, the calculated ratio reflects the share of the auxiliary node's unoccupied bandwidth in the DNS scheduling unit's current unoccupied bandwidth. When the ratio is larger, it means that the share of the auxiliary node's unoccupied bandwidth is larger, and the auxiliary node can respond to a larger number of service requests; when the ratio is smaller, it means that the share of the auxiliary node's unoccupied bandwidth is smaller, and the auxiliary node can respond to a smaller number of service requests. Therefore, based on the above ratio, it can be more accurately determined whether the auxiliary node responds to the service request.

[0164] The node determination method provided by an embodiment of the present invention is described below.

[0165] See also Figure 4 , Figure 4 A flowchart of a first node determination method provided in an embodiment of the present invention is applied to a control node. The method includes the following steps S401-S403.

[0166] Step S401: Determine a target quantity set.

[0167] The target quantity set includes: the number of IP addresses that have been configured or are to be configured for each service node in the DNS scheduling unit.

[0168] The number of IP addresses configured by each service node in the DNS scheduling unit is the number of IP addresses currently configured by each service node. In this case, the set including the number of configured IP addresses can be determined as the target number set.

[0169] For example, the number of IP addresses currently configured for each service node is 5, 3, and 1, respectively. This means that the number of IP addresses configured for the service node is 5, 3, and 1, respectively. The set including the above numbers is [5, 3, 1], that is, the target number set is [5, 3, 1].

[0170] Since network traffic changes in real time, and the number of IP addresses configured for a service node affects the size of the available bandwidth of the service node, in order to adapt to changes in network traffic, the number of IP addresses of the service node can be adjusted in real time to achieve the purpose of adjusting the available bandwidth of the service node in real time. Therefore, the number of IP addresses to be configured for the service node refers to the number of IP addresses currently to be configured for each service node. In this case, you can follow Figure 5 The target data set is determined in the manner shown and will not be described in detail here.

[0171] Since the target number set includes the number of IP addresses configured for each service node in the DNS scheduling unit or the number of IP addresses to be configured, the solution provided in this embodiment can determine the auxiliary node in both cases.

[0172] Step S402: Obtain a target bandwidth set corresponding to a target quantity set.

[0173] The target bandwidth set includes: the available bandwidth of each service node estimated based on the first bandwidth currently unoccupied by the DNS scheduling unit, the second bandwidth occupied by each service node, and the number of IP addresses included in the target number set.

[0174] The available bandwidth of each service node includes the unoccupied bandwidth and the occupied second bandwidth of each service node.

[0175] If the above-mentioned target quantity set includes: the number of IP addresses configured for each service node in the DNS scheduling unit, the unoccupied bandwidth of each service node can be estimated based on the first bandwidth currently not occupied by the DNS scheduling unit and the number of IP addresses included in the target quantity set, and the sum of the second bandwidth occupied by each service node and the estimated bandwidth is determined as the available bandwidth of each service node.

[0176] Specifically, the ratio between the number of IP addresses included in the target number set and the total number can be calculated, the product between each ratio and the above-mentioned first bandwidth can be calculated, and the calculated product can be determined as the unoccupied bandwidth of each service node. Then, the sum of the second bandwidth occupied by each service node and the estimated bandwidth can be determined as the available bandwidth of each service node.

[0177] For example: the number of IP addresses included in the target quantity set is: 5, 3, 2, which means that the number of IP addresses configured for service node P1 is 5, the number of IP addresses configured for service node P2 is 3, and the number of IP addresses configured for service node P3 is 2. The first bandwidth currently not occupied by the DNS scheduling unit is 100G, and the second bandwidths occupied by service nodes P1, P2, and P3 are: 10G, 10G, and 20G, respectively.

[0178] The ratios between the number of IP addresses included in the target number set and the total number are calculated as follows: 5 / (5+3+2)=5 / 10, 3 / (5+3+2)=3 / 10, and 2 / (5+3+2)=2 / 10. The products of each ratio and the first bandwidth are calculated as follows: 100*5 / 10=50, 100*3 / 10=30, and 100*2 / 10=20. That is, the unoccupied bandwidths of the service nodes P1, P2, and P3 are 50G, 30G, and 20G, respectively. The available bandwidths of the service nodes P1, P2, and P3 are 50G+10G=60G, 30G+10G=40G, and 20G+20G=40G, respectively.

[0179] Step S403: If the target bandwidth set includes a target bandwidth exceeding the preset available bandwidth threshold, an auxiliary node for assisting each service node in responding to requests is determined from each preset candidate node according to the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit.

[0180] The preset available bandwidth threshold may be an available bandwidth threshold for a service node pre-set by a staff member. The available bandwidth thresholds of each service node may be the same or different.

[0181] If a target bandwidth exceeding the preset available bandwidth threshold exists in the target bandwidth set, it indicates that the service node's available bandwidth exceeds its tolerable available bandwidth threshold, significantly impacting the quality of service provided by the service node. If a target bandwidth exceeding the preset available bandwidth threshold does not exist in the target bandwidth set, it indicates that the service node's available bandwidth does not exceed its tolerable available bandwidth threshold, minimally impacting the quality of service provided by the service node.

[0182] The preset candidate nodes of the above-mentioned DNS scheduling unit refer to: candidate nodes predetermined by the DNS scheduling unit. The above-mentioned preset candidate nodes may be service nodes in other DNS scheduling units or service nodes not used in DNS scheduling.

[0183] The unoccupied bandwidth of the preset candidate node refers to the bandwidth that is not occupied by the preset candidate node, that is, the bandwidth that can still be used by the preset candidate node.

[0184] The auxiliary nodes are nodes used to assist service nodes in responding to requests. When a target bandwidth exceeds a preset available bandwidth threshold within the target bandwidth set, auxiliary nodes are identified to assist service nodes in responding to requests. These auxiliary nodes share some of the task of responding to requests from service nodes, improving the quality of service provided by the service nodes.

[0185] In one embodiment, the bandwidth of the auxiliary node can be determined based on the target bandwidth and the unoccupied bandwidth of each preset candidate node. Based on the determined bandwidth of the auxiliary node and the unoccupied bandwidth of each preset candidate node, an auxiliary node is selected from each preset candidate node to assist each service node in responding to the request.

[0186] Specifically, the ratio of the first bandwidth to the preset auxiliary bandwidth can be calculated to obtain a fourth candidate bandwidth. The sum of the unoccupied bandwidths of each preset candidate node can be calculated to obtain a fifth candidate bandwidth. The difference between each target bandwidth and a preset bandwidth threshold can be calculated, and the sum of the calculated differences can be used as the sixth candidate bandwidth. A candidate bandwidth can then be selected from the fourth, fifth, and sixth candidate bandwidths as the bandwidth of the auxiliary node. More specifically, the minimum bandwidth of the three candidate bandwidths can be selected as the bandwidth of the auxiliary node, or the average of the three bandwidths can be selected as the bandwidth of the auxiliary node.

[0187] For example: the first bandwidth is 30G, the preset auxiliary bandwidth ratio is 1 / 3, and the fourth candidate bandwidth is 30G*1 / 3=10G; the unoccupied bandwidths of each preset candidate node are: 3G, 5G, 8G, and the sum of the unoccupied bandwidths of each preset candidate node is: 3G+5G+8G=16G, that is, the fifth candidate bandwidth is 16G; the target bandwidths are: 10G and 20G, and the preset bandwidth threshold is 5G. The sum of the calculated differences is: (10-5)+(20-5)=20G, that is, the sixth candidate bandwidth is 20G. The minimum bandwidth is selected from the above (10, 16, 20) as the bandwidth of the auxiliary node, that is, 10G is the bandwidth of the auxiliary node.

[0188] After determining the bandwidth of the auxiliary node, in one embodiment, a node set including preset candidate nodes can be obtained, the sum of the unoccupied bandwidths of the preset candidate nodes included in each node set is calculated, the sum value that is less than or equal to the bandwidth of the auxiliary node is determined, and each preset candidate node corresponding to the sum value of the bandwidth closest to the auxiliary node among the determined sum values ​​is determined as the auxiliary node.

[0189] For example: Continuing with the above example, the unoccupied bandwidths of the preset candidate nodes (node ​​1, node 2, node 3) are 3G, 6G, and 8G respectively. The node sets can be [node 1], [node 2], [node 3], [node 1, node 2], [node 1, node 3], [node 2, node 3], and [node 1, node 2, node 3]. The sum of the unoccupied bandwidths of the preset candidate nodes included in each node set is 3, 6, 8, (3+6)=9, (3+8)=11, (6+8)=14, and (3+6+8)=17 respectively. The sum values ​​that are less than or equal to the bandwidth of the auxiliary node, 10G, are 3, 5, 8, and 9 respectively. The sum value closest to 10G is 9. The preset candidate nodes corresponding to 9 include node 1 and node 2.

[0190] As can be seen from the above, when the solution provided by this embodiment is applied to determine nodes, if there is a target bandwidth in the target bandwidth set that exceeds the preset available bandwidth threshold, the auxiliary node used to assist each service node in responding to the request is determined based on the above target bandwidth and the unoccupied bandwidth of each preset candidate node. Since the target bandwidth can reflect the bandwidth situation in the target bandwidth set that exceeds the preset available bandwidth threshold, the unoccupied bandwidth situation of the auxiliary node selected based on the above target bandwidth and the unoccupied bandwidth of each preset candidate node can meet the bandwidth situation in the target bandwidth set that exceeds the preset available bandwidth threshold. Therefore, when each auxiliary node assists the service node in responding to the request, it can share the bandwidth occupied by the service node in responding to the request, thereby improving the service quality.

[0191] In the above step S401, if the target quantity set determined is: a target quantity set including the number of IP addresses to be configured for each service node in the DNS scheduling unit, the specific implementation process can be found in Figure 5 , Figure 5 This is a flow chart of the second node determination method provided by an embodiment of the present invention. The above step S401 can be implemented according to the following steps S4011-S4013.

[0192] Step S4011: determining a candidate quantity set including a candidate quantity of IP addresses to be configured for each service node according to the first bandwidth, each second bandwidth, and the quality weight of each service node.

[0193] The first bandwidth is the first bandwidth currently occupied by the DNS scheduling unit, and the second bandwidth is the second bandwidth occupied by each service node.

[0194] The quality weight of each service node represents the service quality of the service provided by each service node to the user. The service quality of the service provided by the service node to the user can be measured by the download speed of the service node, the speed of responding to user requests, etc.

[0195] When a service node has a faster download speed and responds to user requests more quickly, it indicates that the service quality it provides to users is higher, and thus the quality weight is higher. Conversely, when a service node has a slower download speed and responds to user requests more slowly, it indicates that the service quality it provides to users is lower, and thus the quality weight is lower.

[0196] The specific method of determining the candidate quantity set can be found in the subsequent embodiments and will not be described in detail here.

[0197] Step S4012: Estimate candidate bandwidth sets corresponding to each candidate number set based on the first bandwidth and each second bandwidth.

[0198] Each candidate bandwidth set includes: the available bandwidth of each service node when the number of IP addresses configured for each service node is the candidate number included in each candidate number set.

[0199] The available bandwidth of the service node includes the occupied bandwidth and unoccupied bandwidth of the service node.

[0200] Since the number of IP addresses configured for the service nodes is different, the available bandwidths of the service nodes are different, and the candidate bandwidth sets including the available bandwidths of the service nodes are different and correspond to the candidate number sets.

[0201] In one embodiment, for each candidate set, the ratio between the number of candidates included in the candidate set and the total number of candidates can be calculated, the product between each ratio and the first bandwidth can be calculated, and the calculated product can be determined as the unoccupied bandwidth of each service node. Then, the sum of the second bandwidth occupied by each service node and the estimated bandwidth can be determined as the available bandwidth of each service node.

[0202] Step S4013: According to the available bandwidth included in each candidate bandwidth set and the candidate quantity included in each candidate quantity set, a target quantity set for configuring the IP address of each service node is determined from each candidate quantity set.

[0203] In one embodiment, a target candidate bandwidth set can be determined in which the available bandwidth included in each candidate bandwidth set is greater than a preset available bandwidth threshold, and then a target candidate quantity set can be determined in which the number of candidates included in the candidate quantity set corresponding to the above target candidate bandwidth set is greater than the preset candidate number, and the above target candidate quantity set is determined as the target quantity set.

[0204] For other implementations, see Figure 6 The embodiment shown.

[0205] After determining the target quantity set, an IP address can be configured for each service node according to the number of candidates included in the above target quantity set. For example, assuming that the number of candidates included in the target quantity set is 5 for node 1, 3 for node 2, and 2 for node 3, according to the number of candidates included in the target quantity set, 5 IP addresses can be configured for node 1, 3 IP addresses can be configured for node 2, and 2 IP addresses can be configured for node 3.

[0206] The above step S402 can be implemented according to the following step S4021.

[0207] Step S4021: Determine the candidate bandwidth set corresponding to the target number set as the target bandwidth set.

[0208] In step S4012, candidate bandwidth sets corresponding to the candidate number sets are determined, and after determining the target number set for configuring IP addresses for each service node, the candidate bandwidth sets corresponding to the target number set are determined as the target bandwidth set.

[0209] Since the above-mentioned target quantity set is selected based on the available bandwidth included in each candidate bandwidth set and the number of candidates included in each candidate quantity set, the number of candidates included in each candidate quantity set refers to the candidate number of service nodes, and the available bandwidth included in the above-mentioned candidate bandwidth set refers to the available bandwidth of the service node when the number of IP addresses of the service node is the number of candidates included in the corresponding candidate quantity set, by combining the above-mentioned two pieces of information, the obtained target quantity set can be accurately determined, and thus an accurate target bandwidth set can be determined based on the target quantity set.

[0210] In one embodiment of the present invention, the above step S4011 can be implemented by following the steps A1 to A4:

[0211] Step A1: Count the historical quality weights of the service nodes, and use the statistical results as the quality weight of each service node.

[0212] Specifically, the historical quality weights of the service nodes may be averaged or maximized.

[0213] Step A2: Determine the unoccupied bandwidth of each node according to the first bandwidth and the second bandwidth.

[0214] Specifically, the service nodes can be divided into two categories of service nodes according to whether the second bandwidth of the service nodes exceeds the preset available bandwidth threshold. One category of service nodes is the service nodes whose second bandwidth exceeds the preset available bandwidth threshold, and serves as the first service nodes; the other category of service nodes is the service nodes whose second bandwidth does not exceed the preset available bandwidth threshold, and serves as the second service nodes.

[0215] Specifically, when the preset available bandwidth threshold is a guaranteed threshold, the first service node is: a second service node exceeding the guaranteed threshold, which may also be called a super guaranteed threshold node.

[0216] In one embodiment of the present invention, when the expected bandwidth threshold is the guaranteed threshold, the unoccupied bandwidth Y of the first service node can be calculated according to the following expression: i3 .

[0217] Y i3 =C i3 -needBW1*min(max(low i3 -B3 i3 ),0),C i3 ) / sumRemain low

[0218] Among them, C i3 Indicates the occupied bandwidth of the service provided by the i-th first service node for the current DNS scheduling unit, needBW1 is the bandwidth required by the first service node in the current DNS scheduling unit, low i3 is the guaranteed threshold of the i-th first service node, B3 i3 represents the sum of the occupied bandwidth of the services provided by the i-th first service node for each DNS scheduling unit, sumRemain low It represents the sum of the remaining available bandwidth of each service node in each DNS scheduling unit when the preset bandwidth threshold is the minimum threshold. The above needBW1 can be calculated according to the following expression:

[0219] needBW1=min(sum(low i3 -B3 i3 ), sumRemain low )

[0220] When the preset bandwidth threshold is a guaranteed minimum threshold, the second service node is a service node whose second bandwidth does not exceed the guaranteed minimum threshold, which may also be referred to as a node that does not reach the guaranteed minimum threshold.

[0221] In one embodiment of the present invention, when the expected bandwidth threshold is the guaranteed threshold, the expected bandwidth P of the second service node can be calculated according to the following expression: i4 .

[0222] P i4 =C i4 +sumRemain low *(low i4 -B3 i4 ) / sumneedBW2

[0223] Among them, C i4 Indicates the occupied bandwidth of the service provided by the i-th second service node for the current DNS scheduling unit, sumRemain low Indicates the sum of the remaining available bandwidth of each service node in each DNS scheduling unit when the preset bandwidth threshold is the minimum threshold, low i4 Indicates the minimum threshold of the i-th second service node, B3 i4 represents the sum of the occupied bandwidths provided by the i-th second service node for each DNS scheduling unit, and sumneedBW2 is the sum of the bandwidths required by each second service node in the current DNS scheduling unit. The above sumneedBW2 can be calculated according to the following expression:

[0224] sumneedBW2=sum(min(sum(lowi4 -B3 i4 ), sumRemain low ))

[0225] Step A3: For each service node, calculate the unit expected bandwidth of the service node according to the unoccupied bandwidth of the service node and the quality weight of the service node.

[0226] Specifically, when calculating the expected unit bandwidth of the service node, the ratio between the expected bandwidth of the service node and the quality weight of the service node may be used as the expected unit bandwidth of the service node.

[0227] For example, assuming that the expected bandwidth of a service node is 4M / s and the quality weight of the service node is 2, then the unit expected bandwidth of the service node is 4 / 2=2M / s.

[0228] The ratio between the expected bandwidth of the service node and the quality weight of the service node may also be calculated, and the unit expected bandwidth of the service node may be determined based on the calculated ratio and a preset ratio weight.

[0229] Step A4: Determine a candidate number set including candidate numbers of IP addresses of each service node according to the ratio between the expected unit bandwidths corresponding to each service node and the preset maximum number of total IP addresses.

[0230] Since the DNS scheduling unit may include multiple service nodes, and the candidate number of IP addresses that can be configured for each service node may correspond to a range, that is, each service node can have multiple candidate numbers of IP addresses that can be configured. Therefore, multiple candidate number sets can be determined during the process of determining the candidate number set. In view of this, in order to facilitate the storage of the candidate number set including the candidate number of IP addresses, and to facilitate the subsequent selection of the IP address number set from the determined candidate number set, in one embodiment of the present invention, each number in the range of the number of IP addresses of each service node can be stored based on a tree structure.

[0231] See also Figure 6 , Figure 6 This is a flow chart of the third node determination method provided by an embodiment of the present invention. The above step S4013 can be implemented according to the following steps S40131 to S40133.

[0232] Step S40131: Determine whether the first bandwidth set exists in each candidate bandwidth set. If yes, execute step S40132; if no, execute step S40133.

[0233] The first bandwidth set includes a third bandwidth that is greater than a preset available bandwidth threshold.

[0234] If a third bandwidth greater than the preset available bandwidth threshold exists in the first bandwidth set, it indicates that the service node's available bandwidth exceeds its tolerable available bandwidth threshold, significantly impacting the quality of service provided by the service node. If the first bandwidth set does not exist in the candidate bandwidth set, that is, if a third bandwidth greater than the preset available bandwidth does not exist, it indicates that the service node's available bandwidth does not exceed its tolerable available bandwidth threshold, and minimally impacting the quality of service provided by the service node.

[0235] The above process is illustrated by an example. The candidate bandwidth sets are [10, 5, 5], [20, 10, 5], and [5, 5, 5], and the preset available bandwidth threshold is 8 GHz. For the candidate bandwidth set [10, 5, 5], since 10> 8, it indicates that the third bandwidth 10 GHz exists in the candidate bandwidth set, and this candidate bandwidth set is the first bandwidth set. For the candidate bandwidth set [20, 10, 5], since 20 and 10> 8, it indicates that the third bandwidths 20 and 10 GHz exist in the candidate bandwidth set, and this candidate bandwidth set is the first bandwidth set. For the candidate bandwidth set [5, 5, 5], since all the available bandwidths included in it are less than the preset available bandwidth threshold 8, it indicates that the third bandwidth does not exist in the candidate bandwidth set, and this candidate bandwidth set is not the first bandwidth set.

[0236] Step S40132: Determine the auxiliary bandwidth corresponding to the first bandwidth set based on the third bandwidth included in the first bandwidth set, and determine the target quantity set for configuring the IP address of each service node from each candidate quantity set based on the number of candidates included in each candidate quantity set, the available bandwidth included in each candidate bandwidth set, and the auxiliary bandwidth.

[0237] The auxiliary bandwidth corresponding to the first bandwidth set is: the available bandwidth to be allocated to the auxiliary node when the number of IP addresses configured for each service node is the candidate number included in the candidate number set corresponding to the first bandwidth set.

[0238] In one implementation, the difference between the third bandwidth included in the first bandwidth set and a preset available bandwidth threshold may be calculated, and the sum of the calculated differences may be determined as the auxiliary bandwidth corresponding to the first bandwidth set.

[0239] In one embodiment of the present invention, a first candidate bandwidth can be calculated based on the first bandwidth and the preset auxiliary bandwidth ratio; the sum of the unoccupied bandwidths of each preset candidate node of the DNS scheduling unit is calculated to obtain a second candidate bandwidth; the difference between each third bandwidth and the preset bandwidth threshold is calculated, and the sum of the calculated differences is used as the third candidate bandwidth; and a candidate bandwidth is selected from the first candidate bandwidth, the second candidate bandwidth, and the third candidate bandwidth as the auxiliary bandwidth.

[0240] Specifically, the minimum bandwidth among the three candidate bandwidths may be selected as the auxiliary bandwidth, or the average of the three bandwidths may be selected as the auxiliary bandwidth.

[0241] When determining the target number set, in one embodiment of the present invention, the first fluctuation value and the second fluctuation value of each candidate number set may be calculated, and the target number set may be selected from each candidate number set based on the calculated first fluctuation value, second fluctuation value and the auxiliary bandwidth.

[0242] The first fluctuation value and the second fluctuation value can be calculated as follows:

[0243] Calculate a first ratio between each candidate number in the candidate number set and the total number of candidates; calculate a second ratio between each available bandwidth in the candidate bandwidth set and the total available bandwidth; calculate a third ratio between the number of configured IP addresses for each service node and the total number of addresses; calculate a first fluctuation value reflecting the occupiable bandwidth of each candidate number included in the candidate number set relative to each service node based on the first ratio and the second ratio; calculate a second fluctuation value reflecting the number of each candidate number included in the candidate number set relative to the number of configured IP addresses for each service node based on the first ratio and the third ratio.

[0244] The first fluctuation value reflects the fluctuation in the ratio of the number of candidates in the candidate set to the available bandwidth of each service node. A larger first fluctuation value indicates that the fluctuation in the ratio between the number of candidates and the available bandwidth of each service node is large, meaning that the difference between the ratio between the number of candidates for each service node and the available bandwidth of each service node is large, indicating a lower similarity. Conversely, a smaller first fluctuation value indicates that the fluctuation in the ratio between the number of candidates and the available bandwidth of each service node is small, meaning that the difference between the ratio between the number of candidates for each service node and the available bandwidth of each service node is small, indicating a higher similarity.

[0245] The second fluctuation value reflects the fluctuation in the ratio between the candidate numbers in the candidate set relative to the ratio between the number of IP addresses configured for each service node. A larger second fluctuation value indicates that the fluctuation in the ratio between the candidate numbers and the number of IP addresses configured for each service node is larger, meaning that the difference between the ratio between the candidate numbers and the number of IP addresses configured for each service node is larger, indicating a lower similarity. Conversely, a smaller second fluctuation value indicates that the fluctuation in the ratio between the candidate numbers and the number of IP addresses configured for each service node is smaller, meaning that the difference between the ratio between the candidate numbers and the number of IP addresses configured for each service node is smaller, indicating a higher similarity.

[0246] Specifically, when calculating the first fluctuation value and the second fluctuation value, the difference between the first ratio and the second ratio may be calculated as the first fluctuation value, and the difference between the first ratio and the third ratio may be calculated as the second fluctuation value.

[0247] When selecting a target number set, in order to improve the effective utilization of bandwidth and reduce the volatility of bandwidth consumed by the service node during actual operation, it is necessary to comprehensively consider the first fluctuation value and the second fluctuation value. For example, a candidate number set may be selected with the minimum product of the first fluctuation value and the second fluctuation value, and the minimum auxiliary bandwidth. Alternatively, a candidate number set may be selected with the first fluctuation value within a first preset fluctuation range, the second fluctuation value within a second preset fluctuation range, and the auxiliary bandwidth within a preset auxiliary bandwidth range. Of course, the embodiments of the present invention are merely illustrative of this example and do not limit the specific method of selecting a target number set based on the first fluctuation value, the second fluctuation value, and the auxiliary bandwidth.

[0248] Step S40133: According to the candidate quantities included in each candidate quantity set and the available bandwidth included in each candidate bandwidth set, a target quantity set for configuring IP addresses for each service node is determined from each candidate quantity set.

[0249] When determining the target quantity set, in one embodiment of the present invention, a first fluctuation value and a second fluctuation value may be calculated for each candidate quantity set. The target quantity set may be selected from each candidate quantity set based on the calculated first fluctuation value and second fluctuation value. For details on how to calculate the first fluctuation value and the second fluctuation value, see the embodiment corresponding to step S40132.

[0250] When selecting a target quantity set, the candidate quantity set with the smallest product of the first fluctuation value and the second fluctuation value may be selected. Alternatively, a candidate quantity set with the first fluctuation value within a first preset fluctuation range and the second fluctuation value within a second preset fluctuation range may be selected. Of course, this embodiment of the present invention is merely illustrative and does not limit the specific method of selecting a target quantity set based on the first and second fluctuation values.

[0251] In one embodiment of the present invention, before calculating the first fluctuation value and the second fluctuation value of each candidate quantity set in step S40132, the type of candidate quantity set corresponding to each candidate bandwidth set may be determined based on the available bandwidths included in each candidate bandwidth set.

[0252] In one implementation, the type of each candidate bandwidth set may be determined based on each available bandwidth included in each candidate bandwidth set, whether each candidate bandwidth set is a first bandwidth set, and a reference bandwidth corresponding to each type.

[0253] Specifically, when the candidate bandwidth set is the first bandwidth set, the candidate bandwidth set also corresponds to the auxiliary bandwidth. In this case, the first bandwidth not occupied by the DNS scheduling unit also includes the auxiliary bandwidth. The available bandwidth allocated to each service node in the first bandwidth is correspondingly less, resulting in a correspondingly less available bandwidth for each service node. Therefore, when the candidate bandwidth set is the first bandwidth set, the available bandwidth of each service node can be re-estimated, and the type of each candidate bandwidth set can be determined based on the re-estimated available bandwidth of each first bandwidth set and the available bandwidth of the candidate bandwidth set that is not included in the first bandwidth set.

[0254] During the re-estimation, the difference between the first bandwidth and the auxiliary bandwidth may be calculated, and the available bandwidth of each service node in each first bandwidth set may be re-estimated based on the calculated difference and the second bandwidth.

[0255] For example, if the first bandwidth is 100G and the auxiliary bandwidth is 20G, the difference between the first bandwidth and the auxiliary bandwidth is 100-20=80. The numbers of candidates in the candidate number set corresponding to the first bandwidth set are: 10 for the IP address of node 1, 5 for the IP address of node 2, and 1 for the IP address of node 3. The ratios of each candidate number to the total candidate number are calculated as 10 / 16, 5 / 16, and 1 / 16, respectively. The products of each ratio and the above differences are calculated as 50, 25, and 5, respectively. The unoccupied bandwidth of each node is 50 for node 1, 25 for node 2, and 5 for node 3. The second bandwidths of each node are: 20 for node 1, 15 for node 2, and 10 for node 3. The sum of the unoccupied bandwidth and the second bandwidth of each node is calculated, and the available bandwidth of each node is 70, 40, and 20, respectively. The obtained available bandwidth of each node is the re-estimated available bandwidth of each service node in each first bandwidth set.

[0256] Specifically, when determining the type of each candidate bandwidth set, the candidate bandwidth sets may be divided according to the threshold corresponding to each type, based on the re-estimated available bandwidth included in the first bandwidth set and the available bandwidth included in the candidate bandwidth set other than the first bandwidth set.

[0257] For example, assuming that the reference bandwidths corresponding to each type are: (preset available bandwidth threshold - preset error), preset available bandwidth threshold,

[0258] When the candidate quantity set is not the first bandwidth set and the available bandwidth is within (preset available bandwidth threshold - preset error), determining the type of the candidate quantity to be the first type;

[0259] When the candidate quantity set is the first bandwidth set, and the available bandwidth included in the re-estimated first bandwidth set is within (preset available bandwidth threshold-preset error), determining that the type of the candidate quantity is the second type;

[0260] When the candidate quantity set is not the first bandwidth set and the available bandwidth is within the preset available bandwidth threshold, determining that the type of the candidate quantity is the third type;

[0261] When the candidate quantity set is the fourth bandwidth set, and the available bandwidth included in the re-estimated first bandwidth set is within the preset available bandwidth threshold, determining the type of the candidate quantity to be the fourth type;

[0262] When the candidate quantity set is not the first bandwidth set and the available bandwidth exceeds the preset available bandwidth threshold, determining that the type of the candidate quantity is the fifth type;

[0263] When the candidate quantity set is the first bandwidth set, and the available bandwidth included in the re-estimated first bandwidth set exceeds the preset available bandwidth threshold, and the difference between the available bandwidth included in the re-estimated first bandwidth set and the preset available bandwidth threshold is less than the difference between the available bandwidth included in the first bandwidth set and the preset available bandwidth threshold before the re-estimation, and the number of available bandwidths predicted to be greater than the preset available bandwidth included in the re-estimated first bandwidth set is less than the number of available bandwidths greater than the preset available bandwidth threshold included in the first bandwidth set before the re-estimation, the type of the candidate quantity is determined to be the sixth type.

[0264] After determining the type of each candidate number set, in one embodiment of the present invention, for each type, a target candidate number set with the smallest first fluctuation value, the smallest second fluctuation value, and the smallest auxiliary bandwidth of the target candidate bandwidth set can be determined from the candidate number sets of that type; and a target number set can be determined from the target candidate number sets corresponding to each type.

[0265] In one implementation, the target quantity set may be determined from the target candidate quantity sets corresponding to each type in descending order of priority corresponding to each type.

[0266] For example: Continuing with the above example, assuming that the priorities corresponding to each type are in the following order from high to low: first type, second type, third type, fourth type, fifth type, and sixth type, if there is a target candidate number set in the first type, the target candidate number set in the first type is determined as the target number set; if there is no target candidate number set in the first type, then find out whether there is a target candidate number set in the second type; if there is a target candidate number set in the second type, the target candidate number set in the second type is determined as the target number set; if there is no target candidate number set in the second type, then find out whether there is a target candidate number set in the second type; in the same way, traverse the target candidate number set in each type until the target number set is determined.

[0267] In one embodiment of the present invention, the auxiliary nodes for assisting each service node in responding to requests may be determined from each preset candidate node according to the target bandwidth, in accordance with the descending order of the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit.

[0268] The sum of the unoccupied bandwidths of the auxiliary nodes is less than or equal to the target bandwidth.

[0269] Specifically, the bandwidth of the auxiliary node may be determined according to the target bandwidth and the unoccupied bandwidth of each preset candidate node.

[0270] After determining the bandwidth of the auxiliary node, the auxiliary node for assisting each service node in responding to the request is determined in sequence according to the order of the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit from high to low.

[0271] Taking the above example, the bandwidth of the auxiliary node is 10G, and the unoccupied bandwidth of each preset candidate node is arranged in the order from high to low: 8G, 6G, 3G. Since 8G<10G, node 3 corresponding to 8G can be used as an auxiliary node; since 6G>(10-8)G, it means that if the node is used as an auxiliary node, the available bandwidth exceeds the bandwidth of the auxiliary node, thereby affecting the quality of services provided by the auxiliary node, so node 2 corresponding to 6G cannot be used as an auxiliary node; similarly, since 3G>(10-8)G, it means that if the node is used as an auxiliary node, the available bandwidth exceeds the bandwidth of the auxiliary node, thereby affecting the quality of services provided by the auxiliary node, so node 1 corresponding to 3G cannot be used as an auxiliary node.

[0272] The following combination Figure 7 , the above node determination method is explained in detail. Figure 7 This is a flow chart of a fourth node determination method provided by an embodiment of the present invention. The above method comprises the following steps S701-S708.

[0273] Step S701: Obtain each candidate quantity set.

[0274] Step S702: traverse each candidate quantity set, and for each candidate quantity set, estimate the candidate bandwidth set corresponding to the candidate quantity set.

[0275] Step S703: Determine whether there is available bandwidth greater than a preset available bandwidth threshold in the candidate bandwidth set. If yes, execute step S704; if not, execute step S706.

[0276] Step S704: Determine the auxiliary bandwidth corresponding to the candidate bandwidth set.

[0277] Step S705: Determine whether the auxiliary bandwidth is smaller than the auxiliary bandwidth of the candidate bandwidth set corresponding to the previously traversed candidate quantity set of the same type. If yes, execute step S706; if not, execute step S708.

[0278] Step S706: Calculate the first and second fluctuation values ​​of the candidate quantity set and determine whether the first fluctuation value is smaller than the first fluctuation value corresponding to the previously traversed candidate quantity set of the same type, and whether the second fluctuation value is smaller than the second fluctuation value corresponding to the previously traversed candidate quantity set of the same type. If so, proceed to step S707; if not, proceed to step S708.

[0279] Step S707: Determine the candidate quantity set as the target candidate quantity set corresponding to the type.

[0280] Step S708: Filter the candidate quantity set.

[0281] When there are currently untraversed candidate quantity sets, a target quantity set may be selected from the target candidate quantity sets corresponding to each type, and each candidate quantity included in the target quantity set may be determined as the quantity of each service node.

[0282] Corresponding to the above request response method, the embodiment of the present invention also provides a request response system, see Figure 8 , Figure 8 A schematic diagram of the structure of a request response system provided by an embodiment of the present invention, wherein the system includes a control node 801 and a DNS scheduling unit, wherein the DNS scheduling unit includes a service node 802,

[0283] The control node 801 is configured to determine a target quantity set and obtain a target bandwidth set corresponding to the target quantity set, wherein the target quantity set includes: the number of IP addresses configured or to be configured for each service node in the DNS scheduling unit; the target bandwidth set includes: the available bandwidth of each service node estimated based on a first bandwidth currently unoccupied by the DNS scheduling unit, a second bandwidth occupied by each service node, and the number of IP addresses included in the target quantity set;

[0284] The control node 801 is further configured to, if the target bandwidth set includes a target bandwidth exceeding a preset available bandwidth threshold, determine, from the preset candidate nodes, an auxiliary node for assisting each service node in responding to a request based on the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit;

[0285] The control node 801 is further configured to, if the target number set includes the number of IP addresses already configured for each service node, configure the auxiliary node for each service node; if the target number set includes the number of IP addresses to be configured for each service node, configure an IP address for each service node according to the number of IP addresses included in the target number set, and configure the auxiliary node for each service node;

[0286] The service node 802 is configured to receive a service request; determine, based on the unoccupied bandwidth of the auxiliary node of the service node, whether the auxiliary node should respond to the service request; if so, forward the service request to the auxiliary node so that the auxiliary node responds to the service request; if not, respond to the service request.

[0287] As can be seen above, when the system provided by the embodiments of the present invention responds to requests, since an auxiliary node is configured to assist the service node in responding to requests, when it is determined that the auxiliary node should respond to the service request, the service node forwards the service request to the auxiliary node, thereby sharing the bandwidth required by the service node to respond to the service request and improving service quality. Furthermore, since the determination of whether the auxiliary node should respond to the service request is based on the auxiliary node's unoccupied bandwidth, the auxiliary node's unoccupied bandwidth reflects the auxiliary node's current bandwidth usage. Based on this unoccupied bandwidth, it is possible to more accurately determine whether the auxiliary node should respond to the service request, further improving service quality.

[0288] Furthermore, when the system provided by this embodiment is applied to determine nodes, if there is a target bandwidth in the target bandwidth set that exceeds a preset available bandwidth threshold, an auxiliary node for assisting each service node in responding to a request is determined based on the target bandwidth and the unoccupied bandwidth of each preset candidate node. Since the target bandwidth can reflect the bandwidth situation in the target bandwidth set that exceeds the preset available bandwidth threshold, the unoccupied bandwidth situation of the auxiliary node selected based on the target bandwidth and the unoccupied bandwidth of each preset candidate node can meet the bandwidth situation in the target bandwidth set that exceeds the preset available bandwidth threshold. As a result, when each auxiliary node assists the service node in responding to a request, it can share the bandwidth occupied by the service node in responding to the request, thereby improving the quality of service.

[0289] In one embodiment of the present invention, the service node 802 is further configured to calculate the ratio of the unoccupied bandwidth of the auxiliary node of the service node to the current unoccupied bandwidth of the DNS scheduling unit; and determine whether the auxiliary node responds to the service request based on the calculated ratio.

[0290] In one embodiment of the present invention, the above-mentioned service node 802 is further used to generate an indication value within a preset indication value range; based on the calculated ratio, determine the sub-range corresponding to the auxiliary node within the preset indication value range; if the indication value is within the sub-range corresponding to the auxiliary node, determine that the auxiliary node responds to the service request; if the indication value is not within the sub-range corresponding to the auxiliary node, determine that the service node responds to the service request.

[0291] In one embodiment of the present invention, the control node 801 is further configured to determine, based on the first bandwidth, each second bandwidth, and a quality weight of each service node, a candidate number set including a candidate number of IP addresses to be configured for each service node, wherein the quality weight of each service node represents the quality of service provided by each service node to a user; estimate, based on the first bandwidth and each second bandwidth, a candidate bandwidth set corresponding to each candidate number set, wherein each candidate bandwidth set includes: the available bandwidth of each service node when the number of IP addresses configured for each service node is the candidate number included in each candidate number set; determine, from each candidate number set, a target number set for configuring IP addresses for each service node, based on the available bandwidth included in each candidate bandwidth set and the number of candidates included in each candidate number set; and obtaining a target bandwidth set corresponding to the target number set includes determining the candidate bandwidth set corresponding to the target number set as the target bandwidth set.

[0292] In one embodiment of the present invention, the control node 801 is further configured to determine whether a first bandwidth set exists in each candidate bandwidth set, wherein the first bandwidth set contains a third bandwidth greater than the preset available bandwidth threshold; if so, determine an auxiliary bandwidth corresponding to the first bandwidth set based on the third bandwidth included in the first bandwidth set; and determine a target number set for configuring IP addresses for each service node from each candidate number set based on the number of candidates included in each candidate number set, the available bandwidth included in each candidate bandwidth set, and the auxiliary bandwidth, wherein the auxiliary bandwidth corresponding to the first bandwidth set is: the available bandwidth to be allocated to the auxiliary node when the number of IP addresses configured for each service node is the number of candidates included in the candidate number set corresponding to the first bandwidth set; if not, determine a target number set for configuring IP addresses for each service node from each candidate number set based on the number of candidates included in each candidate number set and the available bandwidth included in each candidate bandwidth set.

[0293] In one embodiment of the present invention, the control node 801 is further configured to calculate a first fluctuation value and a second fluctuation value for each candidate quantity set in the following manner, and select a target quantity set from each candidate quantity set based on the calculated first fluctuation value, second fluctuation value, and the auxiliary bandwidth: calculating a first ratio between each candidate quantity in the candidate quantity set and the total candidate quantity; calculating a second ratio between each available bandwidth in the candidate bandwidth set and the total available bandwidth; calculating a third ratio between the number of configured IP addresses for each service node and the total number of addresses; calculating, based on the first ratio and the second ratio, a first fluctuation value reflecting the occupiable bandwidth of each candidate quantity included in the candidate quantity set relative to each service node; and calculating, based on the first ratio and the third ratio, a second fluctuation value reflecting the number of configured IP addresses for each service node included in the candidate quantity set relative to the number of configured IP addresses for each service node.

[0294] In one embodiment of the present invention, the control node 801 is further configured to determine, based on each available bandwidth included in each candidate bandwidth set, a type of candidate quantity set corresponding to each candidate bandwidth set; and selecting, based on the calculated first fluctuation value, second fluctuation value, and auxiliary bandwidth corresponding to each target candidate bandwidth set, a target quantity set from each candidate quantity set of that type, including: determining, for each type, a target candidate quantity set having the smallest first fluctuation value, the smallest second fluctuation value, and the smallest auxiliary bandwidth of the target candidate bandwidth set from each candidate quantity set of that type; and determining the target quantity set from the target candidate quantity sets corresponding to each type.

[0295] In one embodiment of the present invention, the control node 801 is further configured to calculate a first candidate bandwidth based on the first bandwidth and a preset auxiliary bandwidth ratio; calculate the sum of the unoccupied bandwidths of the preset candidate nodes of the DNS scheduling unit to obtain a second candidate bandwidth; calculate the difference between each third bandwidth and the preset bandwidth threshold, and use the sum of the calculated differences as the third candidate bandwidth; and select a candidate bandwidth from the first candidate bandwidth, the second candidate bandwidth, and the third candidate bandwidth as the auxiliary bandwidth.

[0296] In one embodiment of the present invention, the control node 801 is further configured to determine, from among the preset candidate nodes, an auxiliary node for assisting each service node in responding to a request, according to the target bandwidth, in the order of the unoccupied bandwidths of the preset candidate nodes of the DNS scheduling unit from high to low, wherein the sum of the unoccupied bandwidths of the auxiliary nodes is less than or equal to the target bandwidth.

[0297] Corresponding to the above request response method, an embodiment of the present invention further provides a request response device.

[0298] See also Figure 9 , Figure 9This is a structural diagram of a first request response device provided by an embodiment of the present invention, which is applied to a service node in a DNS scheduling unit. The device includes the following modules 901-904.

[0299] Request receiving module 901, used to receive service requests;

[0300] An information determination module 902 is configured to determine, based on the unoccupied bandwidth of the service node's auxiliary nodes, whether the auxiliary node should respond to the service request, wherein the auxiliary node is a node pre-determined based on a target number set for assisting the service node in responding to the request, wherein the target number set includes the number of IP addresses configured for each service node in the DNS scheduling unit. If the determination is yes, a first request response module 903 is triggered; if not, a second request response module 904 is triggered.

[0301] The first request response module 903 forwards the service request to the auxiliary node, so that the auxiliary node responds to the service request;

[0302] The second request response module 904 responds to the service request.

[0303] As can be seen above, when applying the solution provided by the embodiments of the present invention to respond to requests, since an auxiliary node is configured to assist the service node in responding to requests, if it is determined that the auxiliary node should respond to the service request, the service node forwards the service request to the auxiliary node, thereby sharing the bandwidth required by the service node to respond to the service request, thereby improving service quality. In addition, since the determination of whether the auxiliary node should respond to the service request is based on the auxiliary node's unoccupied bandwidth, the auxiliary node's unoccupied bandwidth reflects the auxiliary node's current bandwidth usage. Based on this unoccupied bandwidth, it is possible to more accurately determine whether the auxiliary node should respond to the service request based on actual conditions, further improving service quality.

[0304] See also Figure 10 , Figure 10 This is a schematic diagram of the structure of the second request response device provided by an embodiment of the present invention. The information determination module 902 includes:

[0305] A ratio calculation submodule 9021 is configured to calculate a ratio between the unoccupied bandwidth of the auxiliary node of the service node and the current unoccupied bandwidth of the DNS scheduling unit;

[0306] The information judgment submodule 9022 is used to judge whether the auxiliary node responds to the service request based on the calculated ratio.

[0307] In one embodiment of the present invention, the above-mentioned information judgment submodule 9022 is specifically used to generate an indication value within a preset indication value range; based on the calculated ratio, determine the sub-range corresponding to the auxiliary node within the preset indication value range; if the indication value is within the sub-range corresponding to the auxiliary node, determine that the auxiliary node responds to the service request; if the indication value is not within the sub-range corresponding to the auxiliary node, determine that the service node responds to the service request.

[0308] As can be seen from the above, when the solution provided by this embodiment is applied to respond to a request, since an auxiliary node is configured to assist the service node in responding to the request, when it is determined that the auxiliary node responds to the service request, the service node forwards the service request to the auxiliary node, thereby sharing the bandwidth required by the service node to respond to the service request and improving the service quality.

[0309] In addition, since the judgment of whether the auxiliary node responds to the service request is based on the unoccupied bandwidth of the auxiliary node, the unoccupied bandwidth of the auxiliary node reflects the current bandwidth occupied by the auxiliary node. Based on the above unoccupied bandwidth, it is possible to actually and more accurately judge whether the auxiliary node responds to the service request, thereby further improving the service quality.

[0310] Corresponding to the above-mentioned node determination method, an embodiment of the present invention further provides a node determination device.

[0311] See also Figure 11 , Figure 11 This is a structural diagram of a first node determination device provided in an embodiment of the present invention, which is applied to a control node. The device includes the following modules 1101-1103.

[0312] The quantity set determination module 1101 is configured to determine a target quantity set, wherein the target quantity set includes: the number of IP addresses that have been configured or to be configured for each service node in the DNS scheduling unit;

[0313] a bandwidth set obtaining module 1102 configured to obtain a target bandwidth set corresponding to the target number set, wherein the target bandwidth set includes: an available bandwidth of each service node estimated based on a first bandwidth currently unoccupied by the DNS scheduling unit, a second bandwidth occupied by each service node, and the number of IP addresses included in the target number set;

[0314] The node determination module 1103 is configured to determine, if the target bandwidth set includes a target bandwidth exceeding a preset available bandwidth threshold, an auxiliary node for assisting each service node in responding to a request from each preset candidate node based on the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit.

[0315] See also Figure 12 , Figure 12 This is a schematic diagram of the structure of the second node determination device provided by an embodiment of the present invention. The quantity set determination module 1101 includes:

[0316] a candidate number set determination submodule 11011, configured to determine a candidate number set including a candidate number of IP addresses to be configured for each service node based on the first bandwidth, each second bandwidth, and a quality weight of each service node, wherein the quality weight of each service node represents a quality of service provided by each service node to a user;

[0317] The candidate bandwidth set estimating submodule 11012 is configured to estimate, based on the first bandwidth and each second bandwidth, a candidate bandwidth set corresponding to each candidate number set, wherein each candidate bandwidth set includes: the available bandwidth of each service node when the number of IP addresses configured for each service node is the candidate number included in each candidate number set;

[0318] The quantity set determination submodule 11013 is configured to determine a target quantity set for configuring an IP address for each service node from each candidate quantity set based on the available bandwidth included in each candidate bandwidth set and the number of candidates included in each candidate quantity set;

[0319] The bandwidth set obtaining submodule 1102 is specifically configured to determine the candidate bandwidth set corresponding to the target number set as the target bandwidth set.

[0320] See also Figure 13 , Figure 13 This is a schematic diagram of the structure of the third node determination device provided by an embodiment of the present invention, wherein the quantity set determination submodule 11013 includes:

[0321] An information determination unit 110131 is configured to determine whether a first bandwidth set exists in each candidate bandwidth set, wherein the first bandwidth set contains a third bandwidth greater than the preset available bandwidth threshold; if so, triggering a first number set determination unit 110132; if not, triggering a second number set determination unit 110133;

[0322] The first number set determining unit 110132 is configured to determine, based on the third bandwidth included in the first bandwidth set, a secondary bandwidth corresponding to the first bandwidth set, and determine, from each candidate number set, a target number set for configuring an IP address for each service node based on the number of candidates included in each candidate number set, the available bandwidth included in each candidate bandwidth set, and the secondary bandwidth, wherein the secondary bandwidth corresponding to the first bandwidth set is: the available bandwidth to be allocated to the secondary node when the number of IP addresses configured for each service node is the number of candidates included in the candidate number set corresponding to the first bandwidth set;

[0323] The second quantity set determining unit 110133 is configured to determine a target quantity set for configuring IP addresses for each service node from each candidate quantity set according to the candidate quantities included in each candidate quantity set and the available bandwidth included in each candidate bandwidth set.

[0324] In one embodiment of the present invention, the first quantity set determining unit 110132 includes:

[0325] a fluctuation value calculation subunit, configured to calculate a first fluctuation value and a second fluctuation value of each candidate quantity set;

[0326] The quantity set selection subunit is configured to select a target quantity set from each candidate quantity set according to the calculated first fluctuation value, second fluctuation value, and the auxiliary bandwidth:

[0327] The fluctuation value calculation subunit is specifically used to calculate a first ratio between each candidate number in the candidate number set and the total candidate number; calculate a second ratio between each available bandwidth in the candidate bandwidth set and the total available bandwidth; calculate a third ratio between the number of IP addresses configured for each service node and the total number of addresses; calculate a first fluctuation value reflecting the occupiable bandwidth of each candidate number included in the candidate number set relative to each service node based on the first ratio and the second ratio; and calculate a second fluctuation value reflecting the number of each candidate number included in the candidate number set relative to the number of IP addresses configured for each service node based on the first ratio and the third ratio.

[0328] In one embodiment of the present invention, the first quantity set determining unit 110132 further includes:

[0329] a type determination subunit, configured to determine, before the fluctuation value calculation subunit, based on each available bandwidth included in each candidate bandwidth set, the type of the candidate quantity set corresponding to each candidate bandwidth set;

[0330] The quantity set selection subunit is specifically used to determine, for each type, from each candidate quantity set of that type, a target candidate quantity set with the smallest first fluctuation value, the smallest second fluctuation value, and the smallest auxiliary bandwidth of the target candidate bandwidth set; and determine the target quantity set from the target candidate quantity sets corresponding to each type.

[0331] In one embodiment of the present invention, the above-mentioned first quantity set determination unit 110132 is specifically used to calculate a first candidate bandwidth based on the first bandwidth and a preset auxiliary bandwidth ratio; calculate the sum of the unoccupied bandwidths of each preset candidate node of the DNS scheduling unit to obtain a second candidate bandwidth; calculate the difference between each third bandwidth and the preset bandwidth threshold, and use the sum of the calculated differences as the third candidate bandwidth; and select a candidate bandwidth from the first candidate bandwidth, the second candidate bandwidth and the third candidate bandwidth as the auxiliary bandwidth.

[0332] In one embodiment of the present invention, the node determination module 1103 is specifically configured to determine, from among the preset candidate nodes, an auxiliary node for assisting each service node in responding to a request, according to the target bandwidth, in the order of the unoccupied bandwidths of the preset candidate nodes of the DNS scheduling unit from high to low, wherein the sum of the unoccupied bandwidths of the auxiliary nodes is less than or equal to the target bandwidth.

[0333] As can be seen from the above, when the solution provided by this embodiment is applied to determine nodes, if there is a target bandwidth in the target bandwidth set that exceeds the preset available bandwidth threshold, the auxiliary node used to assist each service node in responding to the request is determined based on the above target bandwidth and the unoccupied bandwidth of each preset candidate node. Since the target bandwidth can reflect the bandwidth situation in the target bandwidth set that exceeds the preset available bandwidth threshold, the unoccupied bandwidth situation of the auxiliary node selected based on the above target bandwidth and the unoccupied bandwidth of each preset candidate node can meet the bandwidth situation in the target bandwidth set that exceeds the preset available bandwidth threshold. Therefore, when each auxiliary node assists the service node in responding to the request, it can share the bandwidth occupied by the service node in responding to the request, thereby improving the service quality.

[0334] Corresponding to the above request response method, an embodiment of the present invention further provides a service node.

[0335] See also Figure 14 , Figure 14 A schematic diagram of the structure of a service node provided in an embodiment of the present invention includes a processor 1401, a communication interface 1402, a memory 1403, and a communication bus 1404. The processor 1401, the communication interface 1402, and the memory 1403 communicate with each other via the communication bus 1404.

[0336] Memory 1403, used for storing computer programs;

[0337] The processor 1401 is configured to implement the request response method provided in the embodiment of the present invention when executing the program stored in the memory 1403 .

[0338] The communication bus mentioned in the service node above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, the figure shows only one thick line, but this does not mean that there is only one bus or only one type of bus.

[0339] The communication interface is used for communication between the above service node and other devices.

[0340] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.

[0341] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.

[0342] Corresponding to the above-mentioned node determination method, an embodiment of the present invention further provides a control node.

[0343] See also Figure 15 , Figure 15 A schematic diagram of the structure of a control node provided in an embodiment of the present invention includes a processor 1501, a communication interface 1502, a memory 1503, and a communication bus 1504. The processor 1501, the communication interface 1502, and the memory 1503 communicate with each other via the communication bus 1504.

[0344] Memory 1503, used for storing computer programs;

[0345] The processor 1501 is configured to implement the node determination method provided in the embodiment of the present invention when executing the program stored in the memory 1503 .

[0346] The communication bus mentioned in the control node above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.

[0347] The communication interface is used for communication between the above control node and other devices.

[0348] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.

[0349] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.

[0350] In another embodiment of the present invention, a computer-readable storage medium is provided, which stores a computer program. When the computer program is executed by a processor, it implements the request response and node determination method provided in the embodiment of the present invention.

[0351] In another embodiment of the present invention, a computer program product including instructions is provided. When the computer is executed, the computer implements the request response and node determination method provided in the embodiment of the present invention.

[0352] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0353] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0354] Each embodiment in this specification is described in a related manner. Similar portions between the various embodiments can be referenced to each other. Each embodiment focuses on the differences from other embodiments. In particular, the device, service node, control node, and computer-readable storage medium embodiments are generally similar to the method embodiments, so their descriptions are relatively simple. For related portions, refer to the descriptions of the method embodiments.

[0355] The above description is only a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention are included in the scope of protection of the present invention.

Claims

1. A request response method, characterized in that: Applied to a service node in a DNS scheduling unit, the method includes: Receive service requests; determining, based on unoccupied bandwidth of an auxiliary node of the service node, whether the auxiliary node should respond to the service request, wherein the auxiliary node is a node pre-determined based on a target number set for assisting the service node in responding to the request, the target number set including the number of IP addresses configured for each service node in the DNS scheduling unit; If yes, forwarding the service request to the auxiliary node so that the auxiliary node responds to the service request; If not, respond to the service request.

2. The method according to claim 1, characterized in that The determining, based on the unoccupied bandwidth of the auxiliary node of the service node, whether the auxiliary node responds to the service request includes: Calculating a ratio between the unoccupied bandwidth of the auxiliary node of the service node and the current unoccupied bandwidth of the DNS scheduling unit; According to the calculated ratio, it is determined whether the auxiliary node responds to the service request.

3. The method according to claim 2, characterized in that The determining, based on the calculated ratio, whether the auxiliary node responds to the service request includes: generating an indication value within a preset indication value range; Determine, based on the calculated ratio, a sub-range corresponding to the auxiliary node within the preset indicator value range; If the indication value is within the sub-range corresponding to the auxiliary node, it is determined that the auxiliary node responds to the service request; if the indication value is not within the sub-range corresponding to the auxiliary node, it is determined that the service node responds to the service request.

4. A node determination method, characterized in that: Applied to a control node, the method includes: Determine a target quantity set, wherein the target quantity set includes: the number of IP addresses that have been configured or to be configured for each service node in the DNS scheduling unit; Obtaining a target bandwidth set corresponding to the target number set, wherein the target bandwidth set includes: an available bandwidth of each service node estimated based on a first bandwidth currently unoccupied by the DNS scheduling unit, a second bandwidth occupied by each service node, and the number of IP addresses included in the target number set; If the target bandwidth set includes a target bandwidth exceeding a preset available bandwidth threshold, an auxiliary node for assisting each service node in responding to a request is determined from each preset candidate node according to the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit.

5. The method according to claim 4, characterized in that The determining of the target quantity set includes: determining, based on the first bandwidth, each second bandwidth, and a quality weight of each service node, a candidate number set including a candidate number of IP addresses to be configured for each service node, wherein the quality weight of each service node represents a quality of service provided by each service node to the user; estimating, based on the first bandwidth and each second bandwidth, a candidate bandwidth set corresponding to each candidate number set, wherein each candidate bandwidth set includes: an available bandwidth of each service node when the number of IP addresses configured for each service node is the candidate number included in each candidate number set; Determining a target number set for configuring an IP address for each service node from each candidate number set based on the available bandwidth included in each candidate bandwidth set and the number of candidates included in each candidate number set; The obtaining of the target bandwidth set corresponding to the target quantity set includes: The candidate bandwidth set corresponding to the target number set is determined as the target bandwidth set.

6. The method according to claim 5, characterized in that The step of determining, from each candidate quantity set according to the available bandwidth included in each candidate bandwidth set and the candidate quantity included in each candidate quantity set, a target quantity set for configuring an IP address for each service node, includes: Determining whether there is a first bandwidth set in each candidate bandwidth set, wherein the first bandwidth set contains a third bandwidth greater than the preset available bandwidth threshold; If the answer is yes, determining, based on the third bandwidth included in the first bandwidth set, a secondary bandwidth corresponding to the first bandwidth set; and determining, from each candidate number set, a target number set for configuring IP addresses for each service node based on the number of candidates included in each candidate number set, the available bandwidth included in each candidate bandwidth set, and the secondary bandwidth, wherein the secondary bandwidth corresponding to the first bandwidth set is: the available bandwidth to be allocated to the secondary node when the number of IP addresses configured for each service node is the number of candidates included in the candidate number set corresponding to the first bandwidth set; If not, a target number set for configuring an IP address for each service node is determined from each candidate number set according to the candidate numbers included in each candidate number set and the available bandwidth included in each candidate bandwidth set.

7. The method according to claim 6, characterized in that The determining, from each candidate quantity set according to the candidate quantity included in each candidate quantity set, the available bandwidth included in each candidate bandwidth set, and the auxiliary bandwidth, a target quantity set for configuring an IP address for each service node includes: The first fluctuation value and the second fluctuation value of each candidate quantity set are calculated in the following manner, and a target quantity set is selected from each candidate quantity set based on the calculated first fluctuation value, second fluctuation value and the auxiliary bandwidth: Calculating a first ratio between each candidate quantity in the candidate quantity set and the total candidate quantity; Calculating a second ratio between each available bandwidth in the candidate bandwidth set and the total available bandwidth; Calculate the third ratio between the number of configured IP addresses of each service node and the total number of addresses; Calculating, based on the first ratio and the second ratio, a first fluctuation value reflecting the occupiable bandwidth of each candidate quantity included in the candidate quantity set relative to each service node; A second fluctuation value reflecting the number of each candidate included in the candidate number set relative to the number of IP addresses configured for each service node is calculated according to the first ratio and the third ratio.

8. The method according to claim 7, characterized in that Before calculating the first fluctuation value and the second fluctuation value of each candidate quantity set, the method further includes: Determining, based on each available bandwidth included in each candidate bandwidth set, a type of a candidate quantity set corresponding to each candidate bandwidth set; The step of selecting a target number set from each candidate number set according to the calculated first fluctuation value, the second fluctuation value, and the auxiliary bandwidth corresponding to each target candidate bandwidth set includes: For each type, determining, from each candidate number set of the type, a target candidate number set having the smallest first fluctuation value, the smallest second fluctuation value, and the smallest auxiliary bandwidth of the target candidate bandwidth set; From the target candidate quantity sets corresponding to each type, a target quantity set is determined.

9. The method according to any one of claims 6 to 8, characterized in that The determining, according to the third bandwidth included in the first bandwidth set, the auxiliary bandwidth corresponding to the first bandwidth set includes: Calculating a first candidate bandwidth according to the first bandwidth and a preset auxiliary bandwidth ratio; Calculating the sum of unoccupied bandwidths of each preset candidate node of the DNS scheduling unit to obtain a second candidate bandwidth; Calculating the difference between each third bandwidth and a preset bandwidth threshold, and taking the sum of the calculated differences as the third candidate bandwidth; A candidate bandwidth is selected from the first candidate bandwidth, the second candidate bandwidth, and the third candidate bandwidth as an auxiliary bandwidth.

10. The method according to any one of claims 4 to 8, characterized in that The determining, from each preset candidate node according to the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit, an auxiliary node for assisting each service node in responding to the request includes: According to the target bandwidth, an auxiliary node for assisting each service node in responding to the request is determined from each preset candidate node in the DNS scheduling unit in an order from high to low of the unoccupied bandwidth, wherein the sum of the unoccupied bandwidths of the auxiliary nodes is less than or equal to the target bandwidth.

11. A request response system, characterized in that: The system includes a control node and a DNS scheduling unit, wherein the DNS scheduling unit includes a service node, wherein: The control node is configured to determine a target quantity set and obtain a target bandwidth set corresponding to the target quantity set, wherein the target quantity set includes: the number of IP addresses configured or to be configured for each service node in the DNS scheduling unit; the target bandwidth set includes: the available bandwidth of each service node estimated based on a first bandwidth currently unoccupied by the DNS scheduling unit, a second bandwidth occupied by each service node, and the number of IP addresses included in the target quantity set; The control node is further configured to, if the target bandwidth set includes a target bandwidth exceeding a preset available bandwidth threshold, determine, from the preset candidate nodes, an auxiliary node for assisting each service node in responding to a request based on the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit; The control node is further configured to, if the target number set includes the number of IP addresses already configured for each service node, configure the auxiliary node for each service node; if the target number set includes the number of IP addresses to be configured for each service node, configure an IP address for each service node according to the number of IP addresses included in the target number set, and configure the auxiliary node for each service node; The service node is configured to receive a service request; determine, based on the unoccupied bandwidth of the auxiliary node of the service node, whether the auxiliary node responds to the service request; if so, forward the service request to the auxiliary node so that the auxiliary node responds to the service request; if not, respond to the service request.

12. A request response device, characterized in that: Applied to a service node in a DNS scheduling unit, the device comprises: A request receiving module, used for receiving service requests; an information determination module, configured to determine, based on unoccupied bandwidth of an auxiliary node of the service node, whether the auxiliary node should respond to the service request, wherein the auxiliary node is a node pre-determined based on a target number set for assisting the service node in responding to the request, the target number set including the number of IP addresses configured for each service node in the DNS scheduling unit; if the determination is yes, triggering a first request response module; if not, triggering a second request response module; The first request response module forwards the service request to the auxiliary node, so that the auxiliary node responds to the service request; The second request response module responds to the service request.

13. The device according to claim 12, characterized in that The information judgment module includes: a ratio calculation submodule, configured to calculate a ratio between the unoccupied bandwidth of the auxiliary node of the service node and the current unoccupied bandwidth of the DNS scheduling unit; The information judgment submodule is used to judge whether the auxiliary node responds to the service request according to the calculated ratio.

14. The device according to claim 13, characterized in that The information determination submodule is specifically configured to generate an indication value within a preset indication value range; determine a subrange corresponding to an auxiliary node within the preset indication value range based on the calculated ratio; and determine that the auxiliary node responds to the service request if the indication value is within the subrange corresponding to the auxiliary node; If the indication value is not within the sub-range corresponding to the auxiliary node, it is determined that the service node responds to the service request.

15. A node determination device, characterized in that: Applied to a control node, the device includes: A quantity set determination module is used to determine a target quantity set, wherein the target quantity set includes: the number of IP addresses that have been configured or to be configured for each service node in the DNS scheduling unit; a bandwidth set obtaining module, configured to obtain a target bandwidth set corresponding to the target number set, wherein the target bandwidth set includes: an available bandwidth of each service node estimated based on a first bandwidth currently unoccupied by the DNS scheduling unit, a second bandwidth occupied by each service node, and the number of IP addresses included in the target number set; a node determination module configured to determine, if the target bandwidth set includes a target bandwidth exceeding a preset available bandwidth threshold, an auxiliary node for assisting each service node in responding to a request from each preset candidate node based on the target bandwidth and the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit.

16. The device according to claim 15, characterized in that The quantity set determination module includes: a candidate quantity set determination submodule, configured to determine a candidate quantity set including a candidate quantity of IP addresses to be configured for each service node based on the first bandwidth, each second bandwidth, and a quality weight of each service node, wherein the quality weight of each service node represents a quality of service provided by each service node to a user; a candidate bandwidth set estimating submodule, configured to estimate, based on the first bandwidth and each second bandwidth, a candidate bandwidth set corresponding to each candidate number set, wherein each candidate bandwidth set includes: an available bandwidth of each service node when the number of IP addresses configured for each service node is the candidate number included in each candidate number set; a quantity set determination submodule, configured to determine a target quantity set for configuring an IP address for each service node from each candidate quantity set based on the available bandwidth included in each candidate bandwidth set and the number of candidates included in each candidate quantity set; The bandwidth set obtaining submodule is specifically configured to determine the candidate bandwidth set corresponding to the target number set as the target bandwidth set.

17. The device according to claim 16, characterized in that The quantity set determination submodule includes: an information determination unit, configured to determine whether a first bandwidth set exists in each candidate bandwidth set, wherein the first bandwidth set contains a third bandwidth greater than the preset available bandwidth threshold; if so, triggering a first number set determination unit; and if not, triggering a second number set determination unit; The first number set determining unit is configured to determine, based on the third bandwidth included in the first bandwidth set, a secondary bandwidth corresponding to the first bandwidth set, and determine, from each candidate number set, a target number set for configuring an IP address for each service node based on the number of candidates included in each candidate number set, the available bandwidth included in each candidate bandwidth set, and the secondary bandwidth, wherein the secondary bandwidth corresponding to the first bandwidth set is: the available bandwidth to be allocated to the secondary node when the number of IP addresses configured for each service node is the number of candidates included in the candidate number set corresponding to the first bandwidth set; The second quantity set determining unit is configured to determine a target quantity set for configuring IP addresses for each service node from each candidate quantity set according to the candidate quantities included in each candidate quantity set and the available bandwidth included in each candidate bandwidth set.

18. The device according to claim 17, characterized in that The first quantity set determining unit includes: a fluctuation value calculation subunit, configured to calculate a first fluctuation value and a second fluctuation value of each candidate quantity set; a quantity set selection subunit, configured to select a target quantity set from each candidate quantity set according to the calculated first fluctuation value, second fluctuation value, and the auxiliary bandwidth; The fluctuation value calculation subunit is specifically used to calculate a first ratio between each candidate number in the candidate number set and the total candidate number; calculate a second ratio between each available bandwidth in the candidate bandwidth set and the total available bandwidth; calculate a third ratio between the number of IP addresses configured for each service node and the total number of addresses; calculate a first fluctuation value reflecting the occupiable bandwidth of each candidate number included in the candidate number set relative to each service node based on the first ratio and the second ratio; and calculate a second fluctuation value reflecting the number of each candidate number included in the candidate number set relative to the number of IP addresses configured for each service node based on the first ratio and the third ratio.

19. The device according to claim 18, characterized in that The first quantity set determining unit further includes: a type determination subunit, configured to determine, before the fluctuation value calculation subunit, based on each available bandwidth included in each candidate bandwidth set, the type of the candidate quantity set corresponding to each candidate bandwidth set; The quantity set selection subunit is specifically used to determine, for each type, from each candidate quantity set of that type, a target candidate quantity set with the smallest first fluctuation value, the smallest second fluctuation value, and the smallest auxiliary bandwidth of the target candidate bandwidth set; and determine the target quantity set from the target candidate quantity sets corresponding to each type.

20. The device according to any one of claims 17 to 19, characterized in that The first number set determining unit is specifically configured to calculate a first candidate bandwidth according to the first bandwidth and a preset auxiliary bandwidth ratio; Calculating the sum of unoccupied bandwidths of each preset candidate node of the DNS scheduling unit to obtain a second candidate bandwidth; Calculating the difference between each third bandwidth and a preset bandwidth threshold, and taking the sum of the calculated differences as the third candidate bandwidth; A candidate bandwidth is selected from the first candidate bandwidth, the second candidate bandwidth, and the third candidate bandwidth as an auxiliary bandwidth.

21. The device according to any one of claims 15 to 19, characterized in that The node determination module is specifically configured to determine, from each preset candidate node, an auxiliary node for assisting each service node in responding to a request according to the target bandwidth, in descending order of the unoccupied bandwidth of each preset candidate node of the DNS scheduling unit, wherein the sum of the unoccupied bandwidths of the auxiliary nodes is less than or equal to the target bandwidth.

22. A service node, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory for storing computer programs; A processor, configured to implement the method steps described in any one of claims 1 to 3 when executing a program stored in a memory.

23. A control node, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory for storing computer programs; A processor, configured to implement the method steps described in any one of claims 4 to 10 when executing a program stored in a memory.

24. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method steps of any one of claims 1 to 3 or 4 to 10 are implemented.

Citation Information

Patent Citations

  • A method and system for scheduling services of node server in CDN network

    CN110381170A

  • IP address quantity determination method and device, electronic equipment and storage medium

    CN111654561A