WO2019233203A1 - 一种基于多可用分区az的域名解析方法及装置 - Google Patents

一种基于多可用分区az的域名解析方法及装置 Download PDF

Info

Publication number
WO2019233203A1
WO2019233203A1 PCT/CN2019/083614 CN2019083614W WO2019233203A1 WO 2019233203 A1 WO2019233203 A1 WO 2019233203A1 CN 2019083614 W CN2019083614 W CN 2019083614W WO 2019233203 A1 WO2019233203 A1 WO 2019233203A1
Authority
WO
WIPO (PCT)
Prior art keywords
azs
client
dns
state
domain name
Prior art date
Application number
PCT/CN2019/083614
Other languages
English (en)
French (fr)
Inventor
白平昌
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP19814962.7A priority Critical patent/EP3796622A4/en
Publication of WO2019233203A1 publication Critical patent/WO2019233203A1/zh
Priority to US17/111,091 priority patent/US11394683B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number

Definitions

  • the present invention relates to the field of computer technology, and in particular, to a method and device for analyzing a domain name based on a multi-available zone AZ.
  • cloud computing services use storage services as an example.
  • the storage system used to provide storage services can The data is stored in multiple AZs.
  • data 1 can be stored in AZ1 and AZ3. In this way, when one of the AZs storing the data fails, the data can also be obtained from other AZs.
  • FIG. 2 is a flowchart of providing services to a client using the storage system shown in FIG. 1.
  • a client stores a correspondence between a domain name to be accessed and an Internet protocol (IP) address of AZ.
  • IP Internet protocol
  • domain name 1 corresponds to the IP address of AZ1, that is, IP1
  • domain name 2 corresponds to the IP address of AZ2, that is, IP2
  • domain name 3 corresponds to the IP address of AZ3, that is, IP3.
  • IP1's AZ sends an access request.
  • the first method is to manually switch the AZ address accessed by the client by the operation and maintenance personnel.
  • the operation and maintenance personnel need to confirm the faulty AZ first, and then manually configure a new AZ address for the client, such as replacing the correspondence between domain name 1 and IP1 with the correspondence between domain name 1 and IP3; the second way, It is through the client to retry multiple times to finally select an AZ that has not failed to access.
  • the client records the address of each AZ in the storage system. When the client determines that the AZ whose IP address is IP1 cannot be accessed, the client The end can only select the next AZ in order to access until it finds an accessible AZ, thereby implementing AZ switching.
  • Embodiments of the present invention provide a method and a device for analyzing a domain name based on a multi-availability zone AZ, which are used to improve service continuity.
  • an embodiment of the present invention provides a method for domain name resolution based on a multi-availability zone AZ.
  • the DNS After receiving a domain name resolution request from a client including a domain name of a resource to be accessed, the DNS The domain name corresponds to a first AZ determined to be in a serviceable state among a plurality of AZs. Each of the AZs provides the resource to be accessed, and then sends the Internet Protocol IP address of the first AZ to the client.
  • the domain name resolution request sent by the client is processed by the domain name system DNS.
  • the DNS will feedback to the client that the domain name resolution request corresponding to the domain name resolution request is available.
  • the DNS first determines the status of each AZ in the multiple AZs, and the status includes a status that can provide services or a status that cannot provide services. Then, the DNS is based on each of the multiple AZs. The state of the AZ. The first AZ is determined from the plurality of AZs.
  • the DNS can determine the first AZ according to the status of each AZ in the multiple AZs corresponding to the domain name, the processing method is simple, and the power consumption of the DNS can be reduced.
  • the DNS first obtains the heartbeat and / or load of each AZ in the multiple AZs, and determines each of the multiple AZs according to the heartbeat and / or load of each AZ in the multiple AZs. State of each AZ, for example, if the DNS determines that the heartbeat of the second AZ is not received within a preset time period and / or that the load of the second AZ exceeds the preset load, the DNS determines that the second AZ is in a state where the service cannot be provided. State, the second AZ is one of the plurality of AZs.
  • the DNS uses a way of real-time monitoring the heartbeat and / or load of each AZ in the multiple AZs to determine the status of each AZ, which can ensure the accuracy of the status of each AZ obtained, and,
  • the method is simple and easy to implement.
  • the DNS may determine an AZ as the first AZ from the multiple AZs in the serviceable state among the multiple AZs.
  • the DNS first selects multiple AZs in the serviceable state from the multiple AZs, narrows the selection range, and then selects one AZ from the filtered multiple AZs as the first AZ.
  • One AZ can reduce the calculation amount of DNS and reduce the power consumption of DNS.
  • the DNS is based on the distance between the client and the plurality of AZs in the serviceable state, the priority of the client, and the plurality of AZs in the serviceable state. At least one factor in the load, the first AZ is determined from the plurality of AZs in the serviceable state.
  • the DNS may select at least one factor according to the use situation, and determine an AZ that is most suitable for the use situation from the multiple AZs as the first AZ, which can improve the reliability and availability of the storage system, And can improve the access performance of the storage system.
  • the manner in which the DNS determines the first AZ according to the distance between the client and the plurality of AZs in the serviceable state may include: the DNS first obtains an IP address of the client, Then, based on the IP address of the client and the IP addresses of the multiple AZs in the serviceable state, calculate the distance between the client and each of the multiple AZs in the serviceable state, and determine The AZ closest to the client is the first AZ.
  • the DNS can select the AZ closest to the client to feed it back to the client, which can reduce the distance between the client and the AZ, thereby reducing the delay of data transmission and improving access performance.
  • the manner in which the DNS determines the first AZ according to the priority of the client may include: the performance of the DNS according to the priority of the client and the plurality of AZs in the serviceable state Selecting the AZ that matches the priority of the client from the plurality of AZs in the serviceable state as the first AZ.
  • the DNS can assign different performance AZs to each client according to different priority levels of the clients. For example, preferentially assigning high-performance AZs to high-priority clients for access can improve the storage system. Classification capability and client performance. Furthermore, because DNS sets different priority levels for each client, in this way, the priority level can be divided so that multiple clients can be assigned to different AZs for access. Reducing the probability of paralysis due to excessive access to an AZ can improve the stability of the storage system.
  • the manner in which the DNS determines the first AZ according to the loads of the plurality of AZs in the serviceable state may include: the DNS first determines that the plurality of AZs are in the serviceable state The load of each AZ in the AZ, and then, it is determined that the AZ whose load is less than a threshold among the plurality of AZs in the serviceable state is the first AZ.
  • the DNS can reasonably regulate the access amount of each AZ according to the load of each AZ in the storage system, which can reduce the probability of paralysis caused by excessive access to an AZ, and can improve the storage system's stability.
  • the manner in which the DNS determines the first AZ according to the loads of the plurality of AZs in the serviceable state may include: the DNS first determines that the plurality of AZs are in the serviceable state The load of each AZ in the AZ, and then, the AZ with the smallest load among the plurality of AZs in the serviceable state is selected as the first AZ.
  • the DNS can allocate the AZ with the least load to the client for access based on the load of each AZ in the storage system, which can reduce the delay of the storage system processing the client's access request and improve the access of the storage system performance.
  • an embodiment of the present invention provides a device for resolving a domain name based on a multi-availability zone AZ.
  • the device includes a processor for implementing the method described in the first aspect.
  • the apparatus may further include a memory for storing program instructions and data.
  • the memory is coupled to the processor, and the processor may call and execute program instructions stored in the memory to implement the method described in the first aspect.
  • the apparatus may further include a communication interface for the apparatus to communicate with other devices. Exemplarily, the other device is a client.
  • the device includes:
  • a communication interface for receiving a domain name resolution request from a client under the control of a processor, the domain name resolution request including a domain name of a resource to be accessed, the domain name corresponding to multiple AZs, each of the multiple AZs AZ can provide the resources to be accessed;
  • the processor is configured to determine a first AZ in a serviceable state from the plurality of AZs;
  • the communication interface is further configured to send the Internet protocol IP address of the first AZ to the client under the control of the processor.
  • the processor is specifically configured to: determine a status of each AZ in the multiple AZs, where the status includes a status that can provide a service or a status that cannot provide a service; The state of AZ determines the first AZ from the plurality of AZs.
  • the processor is specifically configured to: obtain a heartbeat and / or load of each AZ in the multiple AZs; and determine a preset value according to the heartbeat and / or load of each AZ. If the heartbeat of the second AZ is not received within a period of time and / or the load of the second AZ exceeds a preset load, the DNS determines that the second AZ is in the state where the service cannot be provided; wherein the second AZ Is one of the plurality of AZs.
  • the processor is specifically configured to: determine an AZ as the first AZ from a plurality of AZs in the serviceable state; wherein the plurality of AZs are in the available The AZ in a serviced state belongs to the plurality of AZs.
  • the processor is specifically configured to: according to a distance between the client and the plurality of AZs in the service-providing state, a priority of the client, and the plurality of At least one factor in the load of the AZ in the serviceable state, the first AZ is determined from the plurality of AZs in the serviceable state.
  • the processor is specifically configured to: obtain the IP address of the client; according to the IP address of the client and the IP addresses of the plurality of AZs in the state where the service is available, Calculating the distance between the client and each of the plurality of AZs in the serviceable state, and determining that the AZ closest to the client is the first AZ.
  • the processor is specifically configured to: from the plurality of the available AZs according to the priority of the client and the performance of the plurality of AZs in the available service state Among the AZs in the service state, an AZ that matches the priority of the client is selected as the first AZ.
  • the processor is specifically configured to: determine a load of each AZ in the plurality of AZs in the serviceable state; determine that the AZ whose load is less than a threshold is the first One AZ.
  • the processor is specifically configured to: determine a load of each AZ in the plurality of AZs in the serviceable state; and select the plurality of AZs in the serviceable state The AZ with the smallest load among the AZs in the state is the first AZ.
  • an embodiment of the present invention provides a domain name resolution device based on a multi-availability zone AZ.
  • the device may be a domain name system DNS or a device in the domain name system DNS.
  • the device may include an obtaining unit, a processing unit, and a sending unit. Unit, these modules can perform the corresponding functions in any of the design examples of the first aspect, specifically:
  • An obtaining unit is configured to receive a domain name resolution request from a client.
  • the domain name resolution request includes a domain name of a resource to be accessed, the domain name corresponds to multiple AZs, and each of the multiple AZs can provide the domain name.
  • a processing unit configured to determine, from the plurality of AZs, a first AZ in a serviceable state
  • the sending unit is configured to send the Internet Protocol IP address of the first AZ to the client.
  • the processing unit is specifically configured to: determine a status of each AZ in the multiple AZs, where the status includes a status in which services can be provided or a status in which services cannot be provided; according to each of The state of AZ determines the first AZ from the plurality of AZs.
  • the obtaining unit is specifically configured to: obtain a heartbeat and / or load of each AZ in the multiple AZs; and the processing unit is specifically configured to: according to the heartbeat and And / or the load, it is determined that the heartbeat of the second AZ is not received within a preset period of time and / or the load of the second AZ exceeds the preset load, then the DNS determines that the second AZ is in a state where the service cannot be provided. ; Wherein the second AZ is one of the plurality of AZs.
  • the processing unit is specifically configured to determine an AZ as the first AZ from a plurality of AZs in the state where the service is available; wherein the plurality of AZs are in the available The AZ in a serviced state belongs to the plurality of AZs.
  • the processing unit is specifically configured to: according to a distance between the client and the plurality of AZs in the state where the service is available, a priority of the client, and the plurality of At least one factor in the load of the AZ in the serviceable state, the first AZ is determined from the plurality of AZs in the serviceable state.
  • the obtaining unit is specifically configured to obtain the IP address of the client; the processing unit is specifically configured to: according to the IP address of the client and the plurality of available services The IP address of the AZ in the state, calculate the distance between the client and each of the plurality of AZs in the serviceable state, and determine that the AZ closest to the client is the first AZ .
  • the processing unit is specifically configured to: from the plurality of the available AZs according to the priority of the client and the performance of the plurality of AZs that are in the available service state Among the AZs in the service state, an AZ that matches the priority of the client is selected as the first AZ.
  • the processing unit is specifically configured to: determine a load of each AZ in the plurality of AZs in the serviceable state; and determine that the AZ whose load is less than a threshold is the first One AZ.
  • the processing unit is specifically configured to: determine a load of each AZ in the plurality of AZs in the serviceable state; and select the plurality of AZs in the serviceable state The AZ with the smallest load among the AZs in the state is the first AZ.
  • an embodiment of the present invention provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, where the computer program includes program instructions, and when the program instructions are executed by a computer, the program instructions The computer executes the method of any one of the first aspects.
  • an embodiment of the present invention provides a computer program product.
  • the computer program product stores a computer program, where the computer program includes program instructions, and when the program instructions are executed by a computer, the computer executes a first The method of any one of the aspects.
  • the present invention provides a chip system, which includes a processor and may further include a memory, for implementing the method described in the first aspect.
  • the chip system can be composed of chips, and can also include chips and other discrete devices.
  • FIG. 1 is an architecture diagram of a conventional multi-AZ storage system
  • FIG. 2 is a flowchart of providing services to a client using the storage system shown in FIG. 1;
  • FIG. 3A is an architecture diagram of a multi-AZ storage system according to an embodiment of the present invention.
  • 3B is another architecture diagram of a multi-AZ storage system according to an embodiment of the present invention.
  • 3C is another architecture diagram of a multi-AZ storage system according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of a method for analyzing a domain name based on a multi-available zone AZ according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of a domain name resolution device based on a multi-availability zone AZ according to an embodiment of the present invention
  • FIG. 6 is another schematic structural diagram of a domain name resolution apparatus based on a multi-availability zone AZ according to an embodiment of the present invention.
  • An embodiment of the present invention provides a domain name resolution method based on a multi-available zone AZ, and the method is applied to a cloud computing service having multiple AZs.
  • Each AZ can provide corresponding cloud computing services to clients, that is, provide corresponding resources to clients.
  • Clients can access resources in AZ.
  • AZ is generally composed of one or more data centers.
  • AZ is mainly to improve the high availability of resources.
  • the resources provided by the cloud computing service to the client can be storage resources, such as a storage system, a file storage system, a block storage system, or an object storage system, or a combination of the above storage systems.
  • the resources provided by the cloud computing service to the client can also be For computing resources, such as virtual machines, this embodiment of the present invention does not limit this.
  • the client When a client accesses a resource in an AZ, the client sends a domain name resolution request to a domain name system (DNS).
  • DNS domain name system
  • the domain name resolution request includes the domain name of the resource to be accessed.
  • the DNS uses the multiple AZs according to the embodiment of the present invention.
  • the IP address of AZ can be a physical IP address or a virtual IP address.
  • the embodiment of the present invention uses a storage system as an example. Please refer to FIG. 3A to FIG. 3C, which are architecture diagrams of three possible storage systems provided by the embodiment of the present invention. The three possible storage systems are described below.
  • the storage system shown in FIGS. 3A to 3C in the embodiment of the present invention has a corresponding DNS.
  • the DNS can be used to manage multiple AZs, for example, AZ1 to AZ6.
  • AZ and other AZs are independent of each other, that is to say, each AZ has independent power supply, independent network, etc. In this way, when one AZ fails, it will not affect the normal use of other AZs.
  • the multiple AZs may be located in the same region (region), as shown in FIG. 3A.
  • the multiple AZs in the same region may be connected through a high-speed network, thereby ensuring a lower delay.
  • AZ may also be located in different regions, as shown in FIG. 3B, each region is also independent of each other, and the multiple regions may be connected through a wireless network.
  • Each AZ corresponds to an IP address.
  • the system architecture shown in FIG. 3C includes multiple DNSs.
  • the multiple DNSs are deployed using cluster technology to form a cluster system. In this way, when the cluster system When one DNS fails, the storage system can still provide services to clients through other DNS.
  • the storage system with multiple AZs is not limited to the architecture shown in FIG. 3A to FIG. 3C.
  • the storage system described in the embodiment of the present invention is to more clearly illustrate the technical solution of the embodiment of the present invention, and does not constitute Regarding the limitation of the technical solutions provided by the embodiments of the present invention, those skilled in the art may know that, with the evolution of storage technology and storage system architecture, the technical solutions provided by the embodiments of the present invention are also applicable to similar technical problems.
  • DNS can be a DNS server, such as a secure DNS server (SDNS), or a device with DNS server software installed, such as a computer, relay station, access point, etc.
  • the end software can be software based on a Linux-like operating system, such as open source Bind software, or software based on a Windows operating system, such as NtBind software, etc.
  • the DNS can also be a logical concept, such as a software module or a DNS server.
  • the function corresponding to the provided service can be understood as a virtualization function under virtualization implementation, for example, a virtual machine dedicated to domain name resolution, etc., which are not specifically limited in the embodiment of the present invention.
  • the domain name is the name of the AZ resource in the storage system. It is used to identify the electronic position or geographic location of the resource during data transmission.
  • the domain name consists of a series of characters separated by dots, for example, www.wikipedia. org is a domain name, each domain name corresponds to an IP address, a domain name can correspond to multiple IP addresses, or can correspond to only one IP address, compared to the IP used as a digital body for routing addressing Address, domain name can be understood as a character identification.
  • the domain name www.wikipedia.org corresponds to the IP address 208.80.152.2.
  • the DNS will translate the domain name into an IP address 208.80.152.2 that is easy for the machine to recognize.
  • Heartbeat is to send a custom message, such as a heartbeat packet or a heartbeat frame, at a certain interval to let the receiver know that it is “online” to ensure the validity of the connection.
  • the sender of the heartbeat may be DNS.
  • the DNS may periodically send a heartbeat to each client, and the sender of the heartbeat may also be a client.
  • the client sends a heartbeat packet to the DNS at a fixed interval.
  • the specific content of the heartbeat can be the content agreed between the DNS and the client, or it can be an empty packet containing only the header, which is not limited here.
  • the specific operation is related to the configuration of resources in each AZ.
  • the resources in AZ1 are configured to handle client read operations.
  • the AZ is considered to be in a serviceable state, or the resource in AZ2 is configured to handle client read and write operations, and when the resource is available to the client When providing read and write services, the AZ is considered to be in a serviceable state.
  • the client can be a server for a certain function, for example, a server for storing data, can be a device with client software installed, the device can be a computer or a mobile terminal, etc., or it can be a logical concept
  • it is a software module or, for example, a virtual machine under virtualization implementation, which is not specifically limited in the embodiment of the present invention.
  • An embodiment of the present invention provides a method for analyzing a domain name based on a multi-availability zone AZ, and the method is applied to a storage system as shown in FIGS. 3A to 3C.
  • the technical solution provided by the embodiment of the present invention is applied to a storage system as shown in FIG. 3A as an example.
  • FIG. 4 is a flowchart of a method for domain name resolution based on a multi-availability zone AZ according to an embodiment of the present invention.
  • the flowchart is described as follows:
  • Step 401 The client generates a domain name resolution request.
  • the domain name resolution request includes a domain name of a resource to be accessed.
  • this resource is used as an example for the storage system. It should be noted that there may be multiple clients interacting with the DNS. In this embodiment of the present invention, the client is one of the clients interacting with the DNS as an example.
  • the client stores domain names of storage systems that provide different services.
  • the client stores three domain names, namely domain name 1, domain name 2, and domain name 3, where domain name 1 is used to store images.
  • Domain name 2 is the domain name of the storage system used to store the voice data
  • domain name 3 is the domain name of the storage system used to store the video data.
  • the domain name can be configured by the DNS or the client and the DNS conventions.
  • the client determines that it needs to access a storage system according to the user's operation, for example, it needs to read or store video data
  • the client will generate a domain name resolution request to resolve the domain name of the storage system, for example, generate a A domain name resolution request for domain name 3.
  • the client does not need to store AZ information, such as the correspondence between the domain name and the IP address of the AZ, which can save the client's memory and reduce the client's perception of AZ. .
  • Step 402 The client sends the domain name resolution request to the DNS, and the DNS receives the domain name resolution request.
  • the client after the client generates a domain name resolution request, it sends the domain name resolution request to DNS, and the DNS resolves the address of the storage system corresponding to the domain name, so the client can save routing for multiple AZs.
  • the selection process can reduce the computational complexity of the client. Further, it is not necessary to develop the function of routing multiple AZs for each client, which can reduce the waste of human resources.
  • Step 403 The DNS determines a first AZ in a serviceable state from a plurality of AZs.
  • one domain name corresponds to multiple AZs, and each of the multiple AZs provides a storage system to be accessed by a client.
  • the same data will be stored in multiple AZs.
  • the client's video data can be stored in AZ1, AZ3, and AZ3 respectively.
  • the domain name 3 where the video data is stored corresponds to AZ1 to AZ3.
  • the first AZ is an AZ corresponding to the domain name determined by the DNS and used for feedback to the client.
  • the correspondence between the domain name and AZ may be fixed.
  • the DNS is pre-configured with AZ corresponding to different data of the client.
  • the video data of the client is fixedly stored in AZ1 to AZ3, and the voice data of the client is fixedly stored.
  • AZ4 to AZ5 and the client's image data is fixedly stored in AZ6, domain name 1 forms a fixed correspondence with AZ6, domain name 2 forms a fixed correspondence with AZ4 to AZ5; domain name 3 forms a fixed correspondence with AZ1 to AZ3
  • the relationship between the domain name and the AZ can also change dynamically.
  • the DNS stores different types of data for the client according to the load of the storage system in each AZ.
  • the DNS determines the client's Video data is stored in AZ1, AZ2, and AZ4.
  • the domain name 3 corresponds to AZ1, AZ2, and AZ4.
  • DNS determines that the load in AZ4 has reached the upper limit.
  • the video data of the client stored in AZ4 can be migrated to AZ3, so that the correspondence between domain name 3 and AZ is changed from domain name 3 to AZ1, AZ2, and AZ4.
  • the corresponding relationship between the domain name and AZ can also be other situations, which is not limited here.
  • the DNS determines a first AZ from a plurality of AZs corresponding to the domain name according to the correspondence between the domain name and the AZ.
  • the correspondence between a domain name and an AZ may include a correspondence between a domain name and an AZ index number, and the AZ index number may be a DNS number for each AZ, as shown in Table 1, each domain name Corresponds to the number of at least one AZ; the correspondence between the domain name and AZ can also include the correspondence between the domain name and the IP address of AZ.
  • each The domain name corresponds to at least one IP address; the correspondence between the domain name and AZ may also include the correspondence between the domain name, the number of the AZ, and the IP address of the AZ, as shown in Table 3, and will not be repeated here.
  • the correspondence between the domain name and AZ includes but is not limited to the three cases shown in Tables 1 to 3. In the embodiment of the present invention, the correspondence between the domain name and AZ is not limited.
  • IP1 IP2, IP3
  • the first AZ in the embodiment of the present invention is determined by the DNS from a plurality of AZs corresponding to the domain name after receiving the domain name resolution request, and refers to a general rather than a specific AZ.
  • the manner in which the DNS determines the first AZ from a plurality of AZs corresponding to the domain name includes, but is not limited to, the following five methods. The five methods are introduced below.
  • the DNS first determines the AZ corresponding to the domain name 3 as AZ1, AZ2, and AZ3 according to the correspondence between the domain name and AZ. Then, the DNS obtains the status of one of the AZs from AZ1 to AZ3. This status includes the status of available services or the failure to provide services For example, the DNS first obtains the status of AZ1 according to the AZ number. If the status of AZ1 is available, the DNS determines that AZ1 is the first AZ. If the status of AZ1 is that it cannot provide services, the DNS obtains it in order. In the state of AZ2, until the AZ in the serviceable state is found from AZ1 to AZ3, and the AZ in the serviceable state is used as the first AZ. Of course, the DNS can also obtain the status of each AZ from AZ1 to AZ3 at the same time, and use the first AZ determined as the service-providing status as the first AZ.
  • DNS can obtain the status of each AZ through the Checker.checkStatus interface used to query the status of the storage system. For example, DNS can send status query information to AZ1 through the Checker.checkStatus interface. If AZ1 does not fail, AZ1 After receiving the status query information, it will send feedback information corresponding to the status query information to DNS. If AZ1 fails, it cannot send feedback information to DNS, so when the DNS is within a preset time, for example, within 2ms or 3ms, After receiving the feedback information from AZ1, the DNS confirms that the status of the AZ1 is a serviceable state. If the DNS does not receive the feedback information of the AZ1 within the preset period of time, the DNS confirms that the status of the AZ1 is a serviceless state. By analogy, the state of each AZ in AZ1 to AZ3 is determined.
  • the status query information and feedback information may be preset by the DNS and each AZ, or may be configured by the DNS, which is not limited herein.
  • each AZ can also send a heartbeat to the DNS through the Checker.checkStatus interface of the DNS.
  • the DNS can use the Config.setDataCenterInfo interface to set the information of the storage system to set each AZ to send to the DNS at a preset period. Heartbeat.
  • the preset period may be 2s. If the DNS receives the heartbeat of AZ1 within the duration of the preset period, it is determined that AZ1 is in a state that it can provide services. Otherwise, it is determined that AZ1 is in a state that it cannot provide services.
  • the state of each AZ in AZ1 to AZ3 is determined.
  • the DNS first determines the AZ corresponding to the domain name 3 as AZ1, AZ2, and AZ3 according to the correspondence between the domain name and AZ. Then, the DNS determines the status of each AZ in the multiple AZs (namely AZ1 to AZ3) corresponding to the domain name 3, and finally , Determine the first AZ from AZ1 to AZ3 according to the state of each AZ.
  • the DNS determines the status of each AZ in the multiple AZs, including but not limited to the following three cases:
  • the DNS determines the status of each AZ based on the heartbeat of each AZ:
  • the DNS may adopt the method of setting each AZ to send a heartbeat to the DNS through the Checker.checkStatus interface of the DNS to obtain the status of each AZ in AZ1 to AZ3.
  • the DNS does not receive AZ1 to AZ3 within a preset period of time
  • the heartbeat of an AZ determines that the state of the AZ is a state in which services cannot be provided.
  • the DNS can also use the DNS Checker.checkStatus interface to send status query information to each AZ1 to AZ3 to obtain the status of each AZ in AZ1 to AZ3. This situation is the same as the corresponding content in the first method , Will not repeat them here.
  • DNS can set the same period for all AZs to send heartbeats to DNS.
  • the period for each AZ to send heartbeats to DNS is 2s; DNS can also For each AZ, a different period of sending heartbeats is set.
  • the period of sending heartbeats of AZ1 is 1s
  • the period of sending heartbeats of AZ2 is 2s
  • the period of sending heartbeats of AZ3 is 3s, which are not limited in the embodiment of the present invention.
  • the AZ sends a heartbeat to the DNS, it needs to carry identification information of the AZ, for example, the AZ number, so that the DNS can distinguish the AZ that sends the heartbeat according to the identification information.
  • DNS determines the status of each AZ based on the load of each AZ:
  • the DNS can obtain the load of the storage system of each AZ through the Config.GetDataCenterInfo interface for querying the information of the storage system. For example, the DNS can send the load query information to AZ1 through the Config.GetDataCenterInfo interface. If a fault occurs, AZ1 will send the load of AZ1 to DNS after receiving the load query information.
  • the load can be the usage of storage space, for example, it can be 60% or 40%, etc. The load can also be in AZ. The size of the occupied storage space may be, for example, 20M or 30M.
  • the preset load can be 70% or 80%. If the load of AZ1 is greater than or equal to the preset load, it means that the load of AZ1 is already large and may not be a client.
  • DNS confirms that the state of AZ1 is a state in which services cannot be provided. If the load of AZ1 is less than the preset load, it means that AZ1 has enough storage space to provide write services for the client, then DNS Check that the status of this AZ1 is a serviceable status. By analogy, the state of each AZ in AZ1 to AZ3 is determined.
  • AZ1 fails, AZ1 cannot send the load of AZ1 to DNS. If DNS has not received the load of AZ1 feedback within a preset time, for example, within 2s, it can be directly determined that AZ1 is unavailable. The status of the service.
  • load query information and feedback load may be in the form of DNS and each AZ agreed in advance, or may be configured by DNS, which is not limited here.
  • each AZ can also periodically report the load to the DNS through the Config.GetDataCenterInfo interface of the DNS.
  • the DNS can use the Config.setDataCenterInfo interface to set each AZ to feedback the load to the DNS according to a preset period.
  • the preset period can If it is 2s, the DNS determines the status of each AZ according to the load of each AZ.
  • the manner in which the DNS determines the status according to the load is the same as in the first example, and is not repeated here.
  • the DNS determines the status of each AZ based on the heartbeat and load of each AZ:
  • the DNS first needs to obtain the heartbeat and load of each AZ in the multiple AZs.
  • the specific way to obtain the heartbeat and load of each AZ is the same as the corresponding content in the first and second methods described above. , which will not be repeated here.
  • the DNS determines the status of the AZ based on the heartbeat and load of each AZ. For example, the DNS first determines whether the heartbeat of AZ1 is received within a preset time period. After receiving the heartbeat of AZ1, it is determined whether the load of AZ1 is less than the preset load. If the load of AZ1 is less than the preset load, DNS determines that AZ1 is in a state that it can provide services.
  • DNS determines that AZ1 is in a state where it cannot provide services. If the DNS does not receive the heartbeat of AZ1 and the load of AZ1 within the preset time, DNS determines that AZ1 is in Unavailable service status. By analogy, the state of each AZ in AZ1 to AZ3 is determined.
  • the DNS uses one of the three methods to determine the status of each AZ in AZ1 to AZ3, the AZ in the serviceable state is selected as the first AZ. For example, only AZ2 in AZ1 to AZ3 is in the serviceable state. State, it is determined that AZ2 is the first AZ.
  • the DNS first determines the AZ corresponding to the domain name 3 as AZ1, AZ2, and AZ3 according to the correspondence between the domain name and the AZ. Then, the DNS obtains the status of each AZ in a plurality of AZs corresponding to the domain name 3 (that is, AZ1 to AZ3), and At least one AZ in a serviceable state is determined from AZ1 to AZ3, and finally, the first AZ is determined from at least one AZ in a serviceable state.
  • the method for the DNS to obtain the status of each AZ in multiple AZs corresponding to the domain name 3 is the same as the method in the first mode or the second mode, and is not repeated here.
  • the DNS obtains the status of AZ1 as a serviceable status
  • the status of AZ2 is a serviceable status
  • the status of AZ3 is a serviceable status
  • the DNS determines that multiple AZs corresponding to domain name 3 are in a serviceable status.
  • the state of AZ is AZ1 and AZ2, and then randomly select one from AZ1 and AZ2 as the first AZ.
  • the DNS periodically obtains the states of all the AZs of the storage system and stores them in the DNS memory.
  • the DNS can obtain the state of each AZ by using one of the three methods described above, which is not repeated here.
  • the state of the AZ saved by the DNS may be stored separately.
  • the DNS also stores a list of AZ states. In this state list, each AZ's The status is divided into a serviceable status or a serviceable status. As shown in Table 4, in Table 4, AZ1 to AZ4 are serviceable statuses, and AZ5 to AZ6 are serviceable statuses.
  • the DNS may form a list of available AZs according to the AZs in a state where services can be provided. When the status of each AZ is shown in Table 4, the available AZ list includes AZ1 to AZ4.
  • the DNS may save the state of the AZ in the correspondence between the domain name and the AZ, as shown in Table 5. After each AZ, the status of the AZ is also indicated. For example, in Table 5, the corresponding to the domain name 3 The status of AZ1 is a service-available status, the status of AZ2 corresponding to domain name 3 is a service-available status, and the status of AZ3 corresponding to domain name 3 is a service-available status.
  • domain name AZ number and status Domain 1 AZ6 (service available) Domain 2 AZ4 (service available), AZ5 (service not available) Domain 3 AZ1 (service available), AZ2 (service available), AZ3 (service not available)
  • the DNS can update the correspondence between the domain name and AZ according to the status of the AZ, so that only the AZ in the serviceable state is saved in the correspondence between the domain name and AZ.
  • the AZ configured for DNS for domain name 3 is AZ1 to AZ3.
  • the DNS determines that AZ3 is in a state where it cannot provide services.
  • the DNS temporarily deletes AZ3 from the list of correspondence between the domain name and AZ.
  • the AZ corresponding to the domain name 3 is changed from AZ1 to AZ3 to AZ1 and AZ2, as shown in Table 6. Therefore, the AZ included in the correspondence list between the domain name and AZ is an AZ that can provide services.
  • the DNS obtains the status of each AZ again and determines that the AZ deleted from the correspondence list between the domain name and the AZ is in a state that it can provide services
  • the correspondence between the domain name and the AZ can be updated again, so that the AZ Added to the mapping between domain names and AZ.
  • AZ3 changed from a state where services cannot be provided to a state where services can be provided as an example
  • the number of AZ corresponding to domain name 3 is changed from AZ1 and AZ2 shown in Table 6 to AZ1 to AZ3.
  • the DNS Take the DNS to obtain the status of each AZ, and use the status of each AZ to update the correspondence between the domain name and AZ as an example.
  • the correspondence between the updated domain name and AZ is obtained from the DNS.
  • the first AZ is determined.
  • the correspondence between the updated domain name and AZ is shown in Table 6.
  • the DNS determines that the AZ corresponding to domain name 3 is AZ1 and AZ2, and then randomly selects one of AZ1 and AZ2 as the first AZ.
  • the DNS Since the first AZ determined by any of the above four methods is an AZ in a service-providing state, as long as the client sends a domain name resolution request to the DNS, the DNS will definitely return a Available AZs, so the client will not be aware of AZ failures, naturally there is no need for operation and maintenance personnel to manually switch AZs, and the client does not need to retry to find a usable AZ, which can reduce the delay caused by AZ failures. Improve system reliability and availability.
  • the DNS first determines the AZ corresponding to the domain name 3 as AZ1, AZ2, and AZ3 according to the correspondence between the domain name and the AZ. Then, the DNS obtains the status of each AZ in a plurality of AZs corresponding to the domain name 3 (that is, AZ1 to AZ3), and According to a preset policy, a first AZ in a service-providing state is determined from AZ1 to AZ3.
  • the preset policy may be a distance between the client and the AZ in a service-providing state among the multiple AZs. , At least one factor of the priority of the client and the load of the AZ in the serviceable state among the plurality of AZs.
  • the DNS may use one of the foregoing four methods to determine the status of each AZ in a plurality of AZs corresponding to the domain name 3, which is not repeated here.
  • the following describes the process of DNS determining the first AZ for different strategies.
  • the first strategy is that in a multi-AZ storage system, the distance between each AZ is generally far, for example, usually 50-100 kilometers, which results in a large difference between the client and different AZs.
  • the DNS can determine the first AZ according to the distance between the client and the AZ in the serviceable state among the multiple AZs.
  • the specific implementation method is as follows:
  • DNS first obtains the IP address of the client, and then, based on the IP address of the client and the IP addresses of the AZs that are in a serviceable state among multiple AZs corresponding to the domain name, DNS calculates The distance of each AZ among the AZs that can provide services, and it is determined that the AZ closest to the client is the first AZ.
  • the IP address of the client is 10.64.0.4
  • the AZs in the AZ1 to AZ3 corresponding to the domain name 3 in a serviceable state are AZ1 and AZ2
  • the IP address of AZ1 is 10.64.0.0/10
  • the IP address of AZ2 is 10.128.0.0/10.
  • the DNS can determine the distance between the client and each AZ based on the distance route score.
  • the distance route score can be 0 and 1.
  • a distance route score of 1 indicates that the client is closer to the AZ, and a distance route score of 0 indicates that the client is farther from the AZ.
  • the distance between the client and the AZ is 1; if the client is not accessing by IP in a subnet of an AZ, then The distance between the client and the AZ is 0.
  • the distance between the client and the AZ can also be calculated by other methods, which is not limited here.
  • the second strategy is to facilitate client access management.
  • the capability (performance) of the AZ accessed by the client can be matched with the priority of the client, so that the client with a higher priority can access the capability (performance).
  • Good) AZ can be determined.
  • DNS can determine the first AZ according to the priority level of the client.
  • the DNS selects the AZ from the AZ that is in a serviceable state among the multiple AZs.
  • the AZ whose priority matches the client is taken as the first AZ.
  • the AZ matching the priority of the client can be understood as the higher the priority level of the client, the better the performance of the AZ matching the client, which is not limited in the embodiment of the present invention.
  • the DNS can use the Config.setPriority interface for setting the priority level of the client in advance to set the priority level for each client communicating with the multi-AZ storage system.
  • all clients can be divided into Two priority levels, high priority level and low priority level. Set the priority level to high priority for clients that require low latency. For example, for clients that provide video data, For clients that require latency, set their priority level to a low priority level.
  • the DNS After the DNS receives the domain name resolution request sent by the client, it can obtain the client's priority level through the Config.getPriority interface used to query the set client's priority level.
  • the priority level for obtaining the client by DNS is high, and the AZs in the serviceable state among AZ1 to AZ3 corresponding to domain name 3 are AZ1 and AZ2, and the performance of AZ1 is better than that of AZ2.
  • the policy is that the higher the priority level of the client, the better the performance of the AZ that matches the client.
  • the DNS determines that AZ1 is the AZ that matches the priority level of the client according to the policy, and determines that AZ1 is the first. AZ.
  • the DNS can also classify the performance of each AZ. For example, you can classify the performance of each AZ based on the processing speed of the AZ, determine that the performance of the AZ with a processing speed less than 1s is superior, and determine that the processing speed is 1s. The performance of AZ between ⁇ 2s is good, and the performance of AZ with a processing speed of more than 2s is determined to be poor. Further, the DNS can set the matching relationship between the priority level of the client and the performance of the AZ. For example, the matching performance of a client with a higher priority is superior or good, and the matching performance of a client with a lower priority is poor. AZ.
  • the priority level for obtaining the client by DNS is high, and AZ1 to AZ3 corresponding to the domain name 3 in the service-providing state are AZ1 and AZ2, and the performance of AZ1 is excellent, and the performance of AZ2 is good as an example.
  • the DNS determines whether the performance of the AZ matching the client is good or good according to the preset matching relationship between the priority level of the client and the performance of the AZ. Then AZ1 and AZ2 are both AZs matching the client, so AZ1 can be selected. And AZ2 as the first AZ.
  • the DNS can assign different performance AZs to each client according to different priority levels of the clients. For example, preferentially assigning high-performance AZs to high-priority clients for access can improve the storage system's performance. Classification ability and client performance. Furthermore, because DNS sets different priority levels for each client, in this way, the priority level can be divided so that multiple clients can be assigned to different AZs for access, which can reduce The probability of paralysis due to excessive access to an AZ can improve the stability of the storage system.
  • the third strategy in order to achieve load balancing of each AZ in the storage system, the DNS can determine the first AZ according to the load of each AZ in the plurality of AZs that can provide services corresponding to the domain name to be accessed by the client.
  • the implementation is as follows:
  • the DNS first determines the load of each AZ in a plurality of AZs that are in a service-providing state corresponding to the domain name to be accessed by the client, and then determines from the multiple AZs that the AZ whose load is less than the threshold is the first AZ.
  • the way in which the DNS obtains the load of each AZ is the same as the second case in the second way, which is not described again here.
  • the threshold is 60% as an example. Since the load of AZ1 is 50% ⁇ 60% and the load of AZ2 is 70%> 60%, the DNS determines that AZ1 is the first AZ.
  • the DNS first determines the load of each AZ in a plurality of AZs that are in a serviceable state corresponding to the domain name to be accessed by the client, and then determines the AZ with the smallest load from the plurality of AZs as the first AZ.
  • the way in which the DNS obtains the load of each AZ is the same as the second case in the second way, which is not described again here.
  • DNS can reasonably regulate the access amount of each AZ according to the load of each AZ in the storage system, which can reduce the probability of paralysis caused by excessive access to an AZ, and improve the stability of the storage system. Sex.
  • DNS can combine the distance between the client and the AZ in the serviceable state among the multiple AZs, the priority of the client, and the multiple AZs.
  • the three loads of the AZ in the serviceable state determine the first AZ together, and the specific implementation is as follows:
  • the DNS can determine a weight for each factor, and the value of the weight can be adjusted according to the use requirements, the actual deployment scale or the actual test value. For example, if the distance between the client and each AZ in the storage system is similar, and the performance difference of each AZ in the storage system is small, you can set the distance between the client and the AZ in the service-providing state among the multiple AZs.
  • the weight of the factor and the priority of the client are both a small value, for example, 0.2, and the weight of the factor of the load of the AZ in the serviceable state among the multiple AZs is set to 0.6;
  • the weight of the factor of the distance between the client and the AZ in the serviceable state among the multiple AZs can be set to one A larger value, such as 0.6, and then randomly assigning values of the weights of the other two factors are not limited in the embodiment of the present invention.
  • DNS can then calculate this first AZ using the following formula:
  • x i is a weighted term, and the values of i are 1, 2, and 3.
  • i is set to 1, it indicates the weighted term of the distance between the client and each AZ in multiple AZs.
  • i is set to 2
  • it indicates A weighting term that matches the performance of the multiple AZs based on the priority of the client.
  • i is 3, it indicates a weighting term that matches according to the load of the multiple AZs.
  • Y i is the weight of the corresponding x i , n The value is 3.
  • the DNS is combined with multiple factors to determine the first AZ, the matching degree between the first AZ and the client can be optimized, and the reliability of the storage system can be improved.
  • Step 404 The DNS sends the Internet Protocol IP address of the first AZ to the client, and the client receives the IP address.
  • the DNS feeds back the result of the domain name resolution to the client. For example, the DNS determines that the first AZ is AZ1, and the DNS feeds back the client's IP address, that is, IP1.
  • Step 405 The client sends an access request to the IP address, and AZ1 receives the access request.
  • the client sends video data to be stored to AZ1.
  • Step 406 AZ1 processes the access request.
  • AZ1 After AZ1 receives the video data to be stored sent by the client, it can first determine whether the storage space of AZ1 is sufficient or determine whether a local temporary failure has occurred. If the storage space of AZ1 is sufficient to store the video data or there is no local temporary failure, Then AZ1 will store the video data.
  • AZ1 determines that the storage space of AZ1 cannot store the video data or determines that a local temporary failure occurs, AZ1 can forward the video data to other AZs, for example, to AZ2 for storing video data. After AZ2 finishes storing, Then the completed stored information is fed back to AZ1.
  • Step 407 AZ1 feeds back the processing result to the client, and the client receives the processing result.
  • AZ1 After AZ1 stores the video data, it will reply to the client to complete the stored information to complete the visit.
  • steps 405 to 407 are optional steps, that is, they do not have to be performed.
  • the domain name resolution request sent by the client is processed by the domain name system DNS.
  • the DNS will feedback to the client that the domain name resolution request corresponding to the domain name resolution request is available.
  • DNS can also select the best AZ for the client through multiple strategies for client access, which can improve the reliability and availability of the storage system.
  • the methods provided by the embodiments of the present invention are introduced from the perspective of the domain name system DNS, the client, and the interaction between the domain name system DNS and the client.
  • the domain name system DNS may include a hardware structure and / or a software module, and implements the foregoing functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether one of the above functions is executed by a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application of the technical solution and the design constraint conditions.
  • FIG. 5 is a schematic structural diagram of a domain name resolution apparatus 500 based on a multi-availability zone AZ.
  • the domain name resolution device 500 may be a domain name system DNS, which can implement the function of the domain name system DNS in the method provided by the embodiment of the present invention; the domain name resolution device 500 may also be capable of supporting the domain name system DNS to implement the domain name in the method provided by the embodiment of the present invention Function of the system DNS.
  • the domain name resolution apparatus 500 may be a hardware structure, a software module, or a hardware structure plus a software module.
  • the domain name resolution device 500 may be implemented by a chip system. In the embodiment of the present invention, the chip system may be composed of a chip, and may also include a chip and other discrete devices.
  • the domain name resolution apparatus 500 may include an obtaining unit 501, a processing unit 502, and a sending unit 503.
  • the obtaining unit 501 may be used to perform step 402 in the embodiment shown in FIG. 4 and / or other processes for supporting the technology described herein.
  • the obtaining unit 501 is used for the domain name resolution device 500 to communicate with other modules, and may be a circuit, a device, an interface, a bus, a software module, a transceiver, or any other device that can implement communication.
  • the processing unit 502 may be configured to perform step 403 in the embodiment shown in FIG. 4 and / or other processes for supporting the technology described herein.
  • the sending unit 503 may be configured to perform step 404 in the embodiment shown in FIG. 4 and / or other processes for supporting the technology described herein.
  • the sending unit 503 is used for the domain name resolution device 500 to communicate with other modules, and may be a circuit, a device, an interface, a bus, a software module, a transceiver, or any other device that can implement communication.
  • each functional module in each embodiment of the present invention may be integrated into one process. In the device, it can also exist alone physically, or two or more modules can be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or software functional modules.
  • FIG. 6 is a domain name resolution apparatus 600 based on a multi-availability zone AZ according to an embodiment of the present invention.
  • the domain name resolution apparatus 600 may be the domain name system DNS in the embodiment shown in FIG. 4, which can implement FIG. 4 of the present invention.
  • the function of the domain name system DNS in the method provided by the embodiment; the domain name resolution device 600 may also be a device capable of supporting the domain name system DNS to implement the function of the domain name system DNS in the method provided by the embodiment shown in FIG. 4 of the present invention.
  • the domain name resolution device 600 may be a chip system. In the embodiment of the present invention, the chip system may be composed of a chip, and may also include a chip and other discrete devices.
  • the domain name resolution device 600 includes at least one processor 620, which is used to implement or support the domain name resolution device 600 to implement the function of the domain name system DNS in the method provided by the embodiment shown in FIG. 4 of the present invention.
  • the processor 620 may determine a first AZ in a serviceable state from a plurality of AZs corresponding to the domain name. For details, refer to the detailed description in the method example, and details are not described herein.
  • the domain name resolution apparatus 600 may further include at least one memory 630 for storing program instructions and / or data.
  • the memory 630 and the processor 620 are coupled.
  • the coupling in the embodiment of the present invention is an indirect coupling or communication connection between devices, units or modules, which may be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.
  • the processor 620 may operate in cooperation with the memory 630.
  • the processor 620 may execute program instructions stored in the memory 630. At least one of the at least one memory may be included in a processor. When the processor 620 executes the program instructions in the memory 630, the method shown in FIG. 4 may be implemented.
  • the domain name resolution apparatus 600 may further include a communication interface 610 for communicating with other equipment through a transmission medium, so that the apparatus used in the domain name resolution apparatus 600 may communicate with other equipment.
  • the other device may be a client.
  • the processor 620 may use the communication interface 610 to send and receive data.
  • the specific connection medium between the communication interface 610, the processor 620, and the memory 630 is not limited.
  • the memory 630, the processor 620, and the communication interface 610 are connected by a bus 640 in FIG. 6, and the bus is shown by a thick line in FIG. 6. It is not limited.
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only a thick line is used in FIG. 6, but it does not mean that there is only one bus or one type of bus.
  • the processor 620 may be a general-purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, and a discrete hardware component, which may be implemented. Or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present invention.
  • a general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in combination with the embodiments of the present invention may be directly performed by a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
  • the memory 630 may be a non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD), etc., and may also be a volatile memory (volatile memory). For example, random-access memory (RAM).
  • the memory is, but is not limited to, any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer.
  • the memory in the embodiment of the present invention may also be a circuit or any other device capable of realizing a storage function, and is configured to store program instructions and / or data.
  • An embodiment of the present invention also provides a computer-readable storage medium including instructions that, when run on a computer, cause the computer to execute a method performed by the domain name system DNS in the embodiment shown in FIG. 4.
  • An embodiment of the present invention also provides a computer program product, which includes instructions that, when run on a computer, causes the computer to execute a method performed by the domain name system DNS in the embodiment shown in FIG. 4.
  • An embodiment of the present invention provides a chip system.
  • the chip system includes a processor and may further include a memory, which is used to implement the function of the domain name system DNS in the foregoing method.
  • the chip system can be composed of chips, and can also include chips and other discrete devices.
  • the method provided by the embodiment of the present invention may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software When implemented in software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer program instructions When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present invention are wholly or partially generated.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device.
  • the computer instructions may 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 may be from a website site, a computer, a server, or a data center. Transmission by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL) or wireless (such as infrared, wireless, microwave, etc.) to another website site, computer, server, or data center.
  • a computer-readable storage medium may be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media integrations.
  • the available media may be magnetic media (for example, floppy disks, hard disks, Magnetic tape), optical media (for example, digital video disc (DVD) for short), or semiconductor media (for example, SSD).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于多可用分区AZ的域名解析方法及装置,在该方法中,域名系统DNS在从客户端接收包括待访问的资源的域名的域名解析请求后,从与该域名对应多个AZ中确定处于可提供服务状态的第一AZ,该多个AZ中的每一个AZ均可提供该待访问的资源,然后,向该客户端发送该第一AZ的互联网协议IP地址。这样,通过域名系统DNS来对客户端发送的域名解析请求进行处理,当DNS接收到客户端发送的域名解析请求后,会向该客户端反馈与该域名解析请求对应的处于可提供服务状态的AZ的IP地址,这样,客户端不会感知AZ故障,自然也无需运维人员手动切换AZ,且不需要客户端通过重试找到一个可以使用的AZ,可以减少由于AZ故障带来的时延,从而可以提高业务连续性。

Description

一种基于多可用分区AZ的域名解析方法及装置 技术领域
本发明涉及计算机技术领域,尤其涉及一种基于多可用分区AZ的域名解析方法及装置。
背景技术
随着互联网时代的到来,各行各业的数据都采用云计算服务。为了保证服务的可靠性,一般采用多个可用分区(available zone,AZ)提供云计算服务,如图1所示,云计算服务以存储服务为例,用于提供存储服务的存储系统可以将一份数据存储在多个AZ中,例如,可以将数据1存储在AZ1和AZ3中,这样,当存储该数据的其中一个AZ发生故障,还可以从其他AZ中获取该数据。
请参考图2,为使用如图1所示的存储系统向客户端提供服务的流程图,首先客户端中会存储待访问的域名与AZ的互联网协议(internet protocol,IP)地址的对应关系,例如,域名1对应AZ1的IP地址,即IP1,域名2对应AZ2的IP地址,即IP2,域名3对应AZ3的IP地址,即IP3,则当客户端需要访问域名1时,则向IP地址为IP1的AZ发送访问请求。为了保证业务可用性,若待访问的AZ发生故障,则可以通过两种AZ切换的方式继续为该客户端提供服务,第一种方式是通过运维人员手动切换客户端访问的AZ地址来实现切换,例如,运维人员需要先确认发生故障的AZ,然后手动为该客户端配置新的AZ地址,例如将域名1与IP1的对应关系替换为域名1与IP3的对应关系;第二种方式,是通过客户端多次重试最终选择一个未发生故障的AZ进行访问,例如,客户端记录该存储系统中的每个AZ的地址,当客户端确定IP地址为IP1的AZ无法访问时,客户端只能顺序选择下一个AZ进行访问,直到找到一个可以访问的AZ为止,从而实现AZ切换。
可见,现有技术中从故障发生到通过AZ切换重新选择AZ的过程,会带来较大的时延,从而会造成业务长时间中断,降低业务连续性。
发明内容
本发明实施例提供一种基于多可用分区AZ的域名解析方法及装置,用于提高业务连续性。
第一方面,本发明实施例提供一种基于多可用分区AZ的域名解析方法,在该方法中,域名系统DNS在从客户端接收包括待访问的资源的域名的域名解析请求后,从与该域名对应多个AZ中确定处于可提供服务状态的第一AZ,该多个AZ中的每一个AZ提供该待访问的资源,然后,向该客户端发送该第一AZ的互联网协议IP地址。
在上述技术方案中,通过域名系统DNS来对客户端发送的域名解析请求进行处理,当DNS接收到客户端发送的域名解析请求后,会向该客户端反馈与该域名解析请求对应的处于可提供服务状态的AZ的IP地址,这样,客户端不会感知AZ故障,自然也无需运维人员手动切换AZ,且不需要客户端通过重试找到一个可以使用的AZ,可以减少由于AZ故障带来的时延,从而可以提高业务连续性。
在一种可能的设计中,该DNS首先确定该多个AZ中每个AZ的状态,该状态包括可提供服务的状态或无法提供服务的状态,然后,该DNS根据该多个AZ中每个AZ的状态,从该多个AZ中确定该第一AZ。
在上述技术方案中,该DNS可以根据与该域名对应的多个AZ中每个AZ的状态,确定该第一AZ,处理方式简便,可以降低DNS的功耗。
在一种可能的设计中,该DNS首先获取该多个AZ中每个AZ的心跳和/或负载,根据该多个AZ中每个AZ的心跳和/或负载,确定该多个AZ中每个AZ的状态,例如,该DNS确定在预设时长内未接收第二AZ的心跳和/或该第二AZ的负载超过预设负载,则该DNS确定该第二AZ处于该无法提供服务的状态,该第二AZ为该多个AZ中的一个。
在上述技术方案中,该DNS采用实时监控该多个AZ中每个AZ的心跳和/或负载确定每个AZ的状态的方式,可以保证获取的每个AZ的状态的准确性,且,处理方式简便,易于实现。
在一种可能的设计中,该DNS可以从该多个AZ中处于该可提供服务的状态的多个AZ中确定一个AZ作为该第一AZ。
在上述技术方案中,该DNS首先从该多个AZ中筛选出处于该可提供服务状态的多个AZ,缩小选择范围,然后,再从该筛选后的多个AZ中选择一个AZ作为该第一AZ,可以减少DNS的运算量,可以降低DNS的功耗。
在一种可能的设计中,该DNS根据该客户端与该多个处于所述可提供服务的状态的AZ的距离、该客户端的优先级以及该多个处于该可提供服务的状态的AZ的负载中的至少一种因素,从该多个处于该可提供服务的状态的AZ中确定该第一AZ。
在上述技术方案中,该DNS可以根据使用情况,选择至少一种因素,从该多个AZ中确定最符合该使用情况的一个AZ作为该第一AZ,可以提高存储系统的可靠性和可用性,且可以提高存储系统的访问性能。
在一种可能的设计中,该DNS根据该客户端与该多个处于该可提供服务的状态的AZ的距离确定该第一AZ的方式,可以包括:该DNS首先获取该客户端的IP地址,然后,根据该客户端的IP地址及该多个处于该可提供服务的状态的AZ的IP地址,计算该客户端与该多个处于该可提供服务的状态的AZ中每个AZ的距离,确定与该客户端最近的AZ为该第一AZ。
在上述技术方案中,该DNS可以选择与客户端距离最近的AZ反馈给客户端使用,从而可以减少客户端到AZ之间的距离,进而减少数据传输的时延,提高访问性能。
在一种可能的设计中,该DNS根据该客户端的优先级确定该第一AZ的方式,可以包括:该DNS根据该客户端的优先级及该多个处于该可提供服务的状态的AZ的性能,从该多个处于该可提供服务的状态的AZ中选择与该客户端的优先级匹配的AZ作为该第一AZ。
在上述技术方案中,DNS可以根据客户端的优先级级别不同,为各个客户端分配不同性能的AZ,例如,将性能好的AZ优先分配给优先级级别高的客户端进行访问,可以提高存储系统的分级能力和客户端的性能,进一步,由于DNS为每个客户端设置的优先级级别不同,这样,可以通过优先级级别的划分,使得多个客户端可以被分配到不同的AZ进行访问,可以降低由于某个AZ的访问量过大而导致瘫痪的概率,可以提高存储系统的稳定 性。
在一种可能的设计中,该DNS根据该多个处于该可提供服务的状态的AZ的负载确定该第一AZ的方式,可以包括:该DNS首先确定该多个处于该可提供服务的状态的AZ中每个AZ的负载,然后,确定该多个处于该可提供服务的状态的AZ中负载小于阈值的AZ为该第一AZ。
在上述技术方案中,DNS可以通过根据存储系统中每个AZ的负载,合理调控每个AZ的访问量,可以降低由于某个AZ的访问量过大而导致瘫痪的概率,可以提高存储系统的稳定性。
在一种可能的设计中,该DNS根据该多个处于该可提供服务的状态的AZ的负载确定该第一AZ的方式,可以包括:该DNS首先确定该多个处于该可提供服务的状态的AZ中每个AZ的负载,然后,选择该多个处于该可提供服务的状态的AZ中负载最小的AZ为该第一AZ。
在上述技术方案中,DNS可以通过根据存储系统中每个AZ的负载,为客户端分配负载最小的AZ进行访问,可以减少存储系统处理该客户端的访问请求的时延,可以提高存储系统的访问性能。
第二方面,本发明实施例提供一种基于多可用分区AZ的域名解析装置,该装置包括处理器,用于实现上述第一方面描述的方法。所述装置还可以包括存储器,用于存储程序指令和数据。所述存储器与所述处理器耦合,所述处理器可以调用并执行所述存储器中存储的程序指令,用于实现上述第一方面描述的方法。所述装置还可以包括通信接口,所述通信接口用于该装置与其它设备进行通信。示例性地,该其它设备为客户端。
在一种可能的设计中,该装置包括:
通信接口,用于在处理器的控制下从客户端接收域名解析请求,所述域名解析请求中包括待访问的资源的域名,所述域名对应多个AZ,所述多个AZ中的每一个AZ均可提供所述待访问的资源;
所述处理器,用于从所述多个AZ中确定处于可提供服务状态的第一AZ;
所述通信接口还用于,在所述处理器的控制下向所述客户端发送所述第一AZ的互联网协议IP地址。
在一种可能的设计中,所述处理器具体用于:确定所述多个AZ中每个AZ的状态,所述状态包括可提供服务的状态或无法提供服务的状态;根据所述每个AZ的状态从所述多个AZ中确定所述第一AZ。
在一种可能的设计中,所述处理器具体用于:获取所述多个AZ中每个AZ的心跳和/或负载;根据所述每个AZ的心跳和/或负载,确定在预设时长内未接收第二AZ的心跳和/或所述第二AZ的负载超过预设负载,则所述DNS确定所述第二AZ处于所述无法提供服务的状态;其中,所述第二AZ为所述多个AZ中的一个。
在一种可能的设计中,所述处理器具体用于:从多个处于所述可提供服务的状态的AZ中确定一个AZ作为所述第一AZ;其中,所述多个处于所述可提供服务的状态的AZ属于所述多个AZ。
在一种可能的设计中,所述处理器具体用于:根据所述客户端与所述多个处于所述可 提供服务的状态的AZ的距离、所述客户端的优先级以及所述多个处于所述可提供服务的状态的AZ的负载中的至少一种因素,从所述多个处于所述可提供服务的状态的AZ中确定所述第一AZ。
在一种可能的设计中,所述处理器具体用于:获取所述客户端的IP地址;根据所述客户端的IP地址及所述多个处于所述可提供服务的状态的AZ的IP地址,计算所述客户端与所述多个处于所述可提供服务的状态的AZ中每个AZ的距离,确定与所述客户端最近的AZ为所述第一AZ。
在一种可能的设计中,所述处理器具体用于:根据所述客户端的优先级及所述多个处于所述可提供服务的状态的AZ的性能,从所述多个处于所述可提供服务的状态的AZ中选择与所述客户端的优先级匹配的AZ作为所述第一AZ。
在一种可能的设计中,所述处理器具体用于:确定所述多个处于所述可提供服务的状态的AZ中每个AZ的负载;确定所述负载小于阈值的AZ为所述第一AZ。
在一种可能的设计中,所述处理器具体用于:确定所述多个处于所述可提供服务的状态的AZ中每个AZ的负载;选择所述多个处于所述可提供服务的状态的AZ中负载最小的AZ为所述第一AZ。
第三方面,本发明实施例提供一种基于多可用分区AZ的域名解析装置,该装置可以是域名系统DNS,也可以是域名系统DNS中的装置,该装置可以包括获取单元、处理单元和发送单元,这些模块可以执行上述第一方面任一种设计示例中相应的功能,具体的:
获取单元,用于从客户端接收域名解析请求,所述域名解析请求中包括待访问的资源的域名,所述域名对应多个AZ,所述多个AZ中的每一个AZ均可提供所述待访问的资源;
处理单元,用于从所述多个AZ中确定处于可提供服务状态的第一AZ;
发送单元,用于向所述客户端发送所述第一AZ的互联网协议IP地址。
在一种可能的设计中,所述处理单元具体用于:确定所述多个AZ中每个AZ的状态,所述状态包括可提供服务的状态或无法提供服务的状态;根据所述每个AZ的状态从所述多个AZ中确定所述第一AZ。
在一种可能的设计中,所述获取单元具体用于:获取所述多个AZ中每个AZ的心跳和/或负载;所述处理单元具体用于:根据所述每个AZ的心跳和/或负载,确定在预设时长内未接收第二AZ的心跳和/或所述第二AZ的负载超过预设负载,则所述DNS确定所述第二AZ处于所述无法提供服务的状态;其中,所述第二AZ为所述多个AZ中的一个。
在一种可能的设计中,所述处理单元具体用于:从多个处于所述可提供服务的状态的AZ中确定一个AZ作为所述第一AZ;其中,所述多个处于所述可提供服务的状态的AZ属于所述多个AZ。
在一种可能的设计中,所述处理单元具体用于:根据所述客户端与所述多个处于所述可提供服务的状态的AZ的距离、所述客户端的优先级以及所述多个处于所述可提供服务的状态的AZ的负载中的至少一种因素,从所述多个处于所述可提供服务的状态的AZ中确定所述第一AZ。
在一种可能的设计中,所述获取单元具体用于:获取所述客户端的IP地址;所述处理单元具体用于:根据所述客户端的IP地址及所述多个处于所述可提供服务的状态的AZ的 IP地址,计算所述客户端与所述多个处于所述可提供服务的状态的AZ中每个AZ的距离,确定与所述客户端最近的AZ为所述第一AZ。
在一种可能的设计中,所述处理单元具体用于:根据所述客户端的优先级及所述多个处于所述可提供服务的状态的AZ的性能,从所述多个处于所述可提供服务的状态的AZ中选择与所述客户端的优先级匹配的AZ作为所述第一AZ。
在一种可能的设计中,所述处理单元具体用于:确定所述多个处于所述可提供服务的状态的AZ中每个AZ的负载;确定所述负载小于阈值的AZ为所述第一AZ。
在一种可能的设计中,所述处理单元具体用于:确定所述多个处于所述可提供服务的状态的AZ中每个AZ的负载;选择所述多个处于所述可提供服务的状态的AZ中负载最小的AZ为所述第一AZ。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中任意一项所述的方法。
第五方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中任意一项所述的方法。
第六方面,本发明提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现第一方面所述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
上述第二方面至第六方面及其实现方式的有益效果可以参考对第一方面的方法及其实现方式的有益效果的描述。
附图说明
图1为现有技术的多AZ存储系统的架构图;
图2为使用如图1所示的存储系统向客户端提供服务的流程图;
图3A为本发明实施例提供的多AZ存储系统的一种架构图;
图3B为本发明实施例提供的多AZ存储系统的另一种架构图;
图3C为本发明实施例提供的多AZ存储系统的另一种架构图;
图4为本发明实施例提供的一种基于多可用分区AZ的域名解析方法的流程图;
图5为本发明实施例提供的基于多可用分区AZ的域名解析装置的一种结构示意图;
图6为本发明实施例提供的基于多可用分区AZ的域名解析装置的另一种结构示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合说明书附图以及具体的实施方式对本发明实施例中的技术方案进行详细的说明。
本发明实施例提供一种基于多可用分区AZ的域名解析方法,该方法应用于具有多个AZ的云计算服务中。每一个AZ均可以向客户端提供相应的云计算服务,即向客户端提供相应的资源。客户端可以访问AZ中的资源。其中AZ一般是由一个或多个数据中心组成。 AZ主要是为了提升资源的高可用性。云计算服务向客户端提供的资源可以为存储资源,如存储系统,可以为文件存储系统,块存储系统或者对象存储系统,或者上述存储系统的组合,云计算服务向客户端提供的资源还可以为计算资源,例如虚拟机等,本发明实施例对此不作限定。客户端访问AZ中的资源时,客户端向域名系统(domain name system,DNS)发送域名解析请求,域名解析请求中包括待访问的资源的域名,DNS根据本发明实施例从所述多个AZ中确定处于可提供服务状态的一个AZ的IP地址。其中AZ的IP地址可以为物理的IP地址,也可以为虚拟的IP地址。本发明实施例以存储系统为例,请参考图3A-图3C,为本发明实施例提供的三种可能的存储系统的架构图。下面,对这三种可能的存储系统进行介绍。
与图1所示的存储系统不同的是,本发明实施例图3A~图3C所示的存储系统有对应的DNS,该DNS可用于管理多个AZ,例如,AZ1~AZ6,其中,每个AZ与其他AZ之间是相互独立的,也就是说每个AZ都有独立的供电、独立的网络等,这样,当某一个AZ发生故障时,不会影响其他AZ的正常使用。该多个AZ可以位于同一个区域(region)内,如图3A所示,位于同一个region内的多个AZ之间可以是通过高速网络连接,从而保证有较低的时延,该多个AZ也可以位于不同的region,如图3B所示,各个region之间也是相互独立的,该多个region之间可以通过无线网络连接。每个AZ对应一个IP址。
与图3A~图3B所示的系统架构不同的是,在图3C所示的系统架构中包括多个DNS,该多个DNS采用集群技术进行部署,形成一个集群系统,这样,当该集群系统中的某一个DNS发生故障时,该存储系统仍然可以通过其他的DNS为客户端提供服务。
需要说明的是,具有多个AZ的存储系统不限于如图3A~图3C所示的架构,本发明实施例描述的存储系统是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着存储技术和存储系统架构的演变,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
以下,对与存储系统相关的术语进行说明,以便于本领域技术人员理解。
(1)DNS,可以是DNS服务器,例如,安全DNS服务器(secure domain name server,SDNS),也可以是安装了DNS服务器端软件的设备,例如,计算机、中继站、接入点等,该DNS服务器端软件可以是基于类linux操作系统的软件,例如,开源Bind软件,也可以是基于Windows操作系统的软件,例如,NtBind软件等,该DNS也可以是逻辑概念,例如为软件模块或者为与DNS提供的服务对应的功能,可以理解为虚拟化实现下的一个虚拟化功能,例如,专门用于域名解析的虚拟机等,本发明实施例不作具体限定。
(2)域名,是存储系统中的AZ的资源的名称,用于在数据传输时标识该资源的电子方位或者地理位置,该域名由一串用点分隔的字符组成,例如,www.wikipedia.org是一个域名,每个域名均与IP地址相对应,一个域名可以与多个IP地址相对应,也可以仅与一个IP地址相对应,相较于作为路由寻址用的数字体标识的IP地址,域名可以理解为一种字符型标识。例如,域名www.wikipedia.org和IP地址208.80.152.2相对应,则当客户端调用该域名www.wikipedia.org后,DNS就会将该域名转化成便于机器识别的IP地址208.80.152.2。
(3)心跳,就是按照一定的时间间隔发送一个自定义的信息,例如心跳包或心跳帧, 让接收方知道自己“在线”,以确保连接的有效性。心跳的发送方可以是DNS,例如,DNS可以定时轮询发送心跳给各个客户端,心跳的发送方也可以是客户端,例如,客户端每隔固定的时长向DNS发送一个心跳包。心跳的具体内容可以是DNS与客户端约定的内容,也可以是只包含包头的一个空包,在此不作限制。
(4)可提供服务状态,就是能够进行读操作或者写操作或者其他操作的状态,具体的操作与每个AZ中的资源的配置相关,例如,AZ1中的资源被配置为处理客户端的读操作,则当该资源能够向客户端提供读操作的服务时,则认为该AZ处于可提供服务状态,或者,AZ2中的资源被配置为处理客户端的读写操作,则当该资源能够向客户端提供读操作以及写操作的服务时,则认为该AZ处于可提供服务状态。
(5)客户端,可以是用于某一功能的服务器,例如,用于存储数据的服务器,可以是安装了客户端软件的设备,该设备可以是计算机或者移动终端等,也可以是逻辑概念,例如为软件模块或者,例如,虚拟化实现下的一个虚拟机,本发明实施例不作具体限定。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
本发明实施例提供一种基于多可用分区AZ的域名解析方法,该方法应用于如图3A~图3C所示的存储系统中。下面,以本发明实施例提供的技术方案应用于如图3A所示的存储系统为例。
请参考图4,为本发明实施例提供的一种基于多可用分区AZ的域名解析方法的流程图,该流程图描述如下:
步骤401、客户端生成域名解析请求。
在本发明实施例中,该域名解析请求中包括待访问的资源的域名。在下面的描述中,以该资源为存储系统为例。需要说明的是,与DNS交互的客户端可能有多个,在本发明实施例中,以该客户端为与DNS交互的客户端中的其中一个为例。
作为一种示例,客户端中存储有提供不同业务的存储系统的域名,例如,客户端中存储有3个域名,分别为域名1、域名2以及域名3,其中,域名1为用于存储图像数据的存储系统的域名,域名2为用于存储语音数据的存储系统的域名,以及域名3为用于存储视频数据的存储系统的域名,该域名可以是DNS配置的,也可以是客户端与DNS约定的。当客户端在根据用户的操作确定需要访问某个存储系统时,例如,需要读取或者存储视频数据,则客户端会生成对该存储系统的域名进行解析的域名解析请求,例如,生成用于对域名3进行解析的域名解析请求。
需要说明的是,在本发明实施例中,客户端无需再存储AZ的信息,例如域名与AZ的IP地址之间的对应关系等,可以节省客户端的内存以及可以降低客户端对AZ的感知能力。
步骤402、客户端向DNS发送该域名解析请求,DNS接收该域名解析请求。
在本发明实施例中,当客户端生成域名解析请求后,会将该域名解析请求发送给DNS,由DNS解析与该域名对应的存储系统的地址,从而客户端可以节省对多个AZ进行路由选 择的过程,可以降低客户端的运算复杂度,进一步地,无需针对每个客户端开发对多个AZ进行路由选择的功能,可以减少人力资源的浪费。
步骤403、该DNS从多个AZ中确定处于可提供服务状态的第一AZ。
在本发明实施例中,一个域名对应多个AZ,该多个AZ中的每一个AZ提供客户端要访问的存储系统。为了保证数据的可靠性,同一份数据会存储在多个AZ中,例如,在图3A所示的存储系统中,可以分别将客户端的视频数据存储在AZ1、AZ3以及AZ3中,因此,用于存储视频数据的域名3与AZ1~AZ3相对应。该第一AZ为DNS确定的用于向客户端反馈的与该域名对应的AZ。
需要说明的是,域名与AZ的对应关系可以是固定的,例如,DNS预先配置与客户端的不同数据对应的AZ,例如,客户端的视频数据固定存储在AZ1~AZ3中,客户端的语音数据固定存储在AZ4~AZ5中,以及客户端的图像数据固定存储在AZ6中,则域名1与AZ6形成固定的对应关系,域名2与AZ4~AZ5形成固定的对应关系;域名3与AZ1~AZ3形成固定的对应关系;域名与AZ的对应关系也可以是动态变化的,例如,DNS根据每个AZ中的存储系统的负载来对客户端的不同类型的数据进行存储,例如,DNS在第一时刻确定将客户端的视频数据存储在AZ1、AZ2以及AZ4中,在这种情况下,域名3与AZ1、AZ2以及AZ4形成对应关系,随着各个AZ中负载的增加,DNS确定AZ4中的负载已经达到上限,则DNS可以将AZ4中存储的客户端的视频数据迁移到AZ3中,从而,域名3与AZ的对应关系由域名3对应AZ1、AZ2以及AZ4变更为域名3对应AZ1~AZ3。当然,域名与AZ的对应关系也可以是其他情况,在此不作限制。
当DNS从客户端接收用于对域名3进行解析的域名解析请求后,DNS则根据域名与AZ的对应关系,从与该域名对应的多个AZ中确定第一AZ。在本发明实施例中,域名与AZ的对应关系可以是包括域名和AZ的索引号的对应关系,该AZ的索引号可以是DNS对每个AZ的编号,如表1所示,每一个域名对应至少一个AZ的编号;域名与AZ的对应关系也可以是包括域名与AZ的IP地址的对应关系,以AZ1~AZ6的IP地址分别为IP1~IP6为例,如表2所示,每一个域名对应至少一个IP地址;域名与AZ的对应关系也可以是包括域名、AZ的编号以及AZ的IP地址的对应关系,如表3所示,在此不再赘述。在具体实施过程中,域名与AZ的对应关系包含但不限于表1~表3中所示的三种情况,在本发明实施例中不对域名与AZ的对应关系进行限制。
表1
域名 AZ的编号
域名1 AZ6
域名2 AZ4、AZ5
域名3 AZ1、AZ2、AZ3
表2
域名 AZ的IP地址
域名1 IP6
域名2 IP4、IP5
域名3 IP1、IP2、IP3
表3
域名 AZ的编号 AZ的IP地址
域名1 AZ6 IP6
域名2 AZ4、AZ5 IP4、IP5
域名3 AZ1、AZ2、AZ3 IP1、IP2、IP3
需要说明的是,本发明实施例中的第一AZ是DNS在接收该域名解析请求后,从与该域名对应的多个AZ中确定出来的,是泛指,而不是指代某一个特殊的AZ。
在本发明实施例中,DNS从与该域名对应的多个AZ中确定第一AZ的方式包括但不限于如下五种。下面对这五种方式分别进行介绍。
第一种方式:
DNS首先根据域名与AZ的对应关系,确定与域名3对应的AZ为AZ1、AZ2以及AZ3,然后,DNS获取AZ1~AZ3中的一个AZ的状态,该状态包括可提供服务的状态或无法提供服务的状态,例如,DNS按照AZ的编号首先获取AZ1的状态,若AZ1的状态为可提供服务状态,则DNS确定该AZ1为第一AZ;若AZ1的状态为无法提供服务状态,则DNS顺序获取AZ2的状态,直至从AZ1~AZ3中找到处于可提供服务状态的AZ,并将该处于可提供服务状态的AZ作为第一AZ。当然,DNS也可以同时获取AZ1~AZ3中每个AZ的状态,并将第一个确定为可提供服务状态的AZ作为第一AZ。
作为一种示例,DNS可以通过用于查询存储系统的状态的Checker.checkStatus接口获取各AZ的状态,例如,DNS可以通过Checker.checkStatus接口向AZ1发送状态查询信息,若AZ1未发生故障,则AZ1在接收该状态查询信息后,会向DNS发送与该状态查询信息对应的反馈信息,若AZ1发生故障,则无法向DNS发送反馈信息,从而当DNS在预设时长内,例如2ms或者3ms内,接收AZ1的反馈信息,则DNS确认该AZ1的状态为可提供服务状态,若DNS在该预设时长内未接收AZ1的反馈信息,则DNS确认该AZ1的状态为无法提供服务的状态。以此类推,从而确定AZ1~AZ3中每个AZ的状态。
需要说明的是,该状态查询信息与反馈信息可以是DNS与各个AZ预先约定好的,也可以是由DNS配置的,在此不作限制。
作为另一种示例,各个AZ也可以通过DNS的Checker.checkStatus接口向DNS发送心跳,例如,DNS可以通过用于设置存储系统的信息的Config.setDataCenterInfo接口,设置各个AZ按照预设周期向DNS发送心跳,该预设周期可以为2s,则DNS在该预设周期的时长内接收AZ1的心跳,则确定AZ1处于可提供服务的状态,否则,确定AZ1处于无法提供服务的状态。以此类推,从而确定AZ1~AZ3中每个AZ的状态。
第二种方式:
DNS首先根据域名与AZ的对应关系,确定与域名3对应的AZ为AZ1、AZ2以及AZ3,然后,DNS确定与域名3对应的多个AZ(即AZ1~AZ3)中每个AZ的状态,最后,根据每个AZ的状态从AZ1~AZ3中确定该第一AZ。
在这种方式下,DNS确定多个AZ中每个AZ的状态包括但不限于如下三种情况:
第一种情况,DNS根据每个AZ的心跳确定每个AZ的状态:
作为一种示例,DNS可以采用设置每个AZ通过DNS的Checker.checkStatus接口向DNS发送心跳的方式,获取AZ1~AZ3中每个AZ的状态,当DNS在预设时长内未接收AZ1~AZ3中某个AZ的心跳,则确定该AZ的状态为无法提供服务的状态。DNS也可以采用通过DNS的Checker.checkStatus接口向AZ1~AZ3中每个AZ发送状态查询信息的方式,获取AZ1~AZ3中每个AZ的状态,这种情况与第一种方式中相应的内容相同,在此不再赘述。
需要说明的是,DNS在设置每个AZ向DNS发送心跳的周期时,可以设置所有的AZ向DNS发送心跳的周期相同,例如,每个AZ向DNS发送心跳的周期均为2s;DNS也可以为每个AZ设置不同的发送心跳的周期,例如,设置AZ1发送心跳的周期为1s,设置AZ2发送心跳的周期为2s,设置AZ3发送心跳的周期为3s,在本发明实施例中不作限制。另外,当AZ向DNS发送心跳时,需要携带AZ的标识信息,例如,AZ的编号,从而DNS可以根据该标识信息区分发送心跳的AZ。
第二种情况,DNS根据每个AZ的负载确定每个AZ的状态:
作为第一种示例,DNS可以通过用于查询存储系统的信息的Config.GetDataCenterInfo接口,获取各AZ的存储系统的负载,例如,DNS可以通过Config.GetDataCenterInfo接口向AZ1发送负载查询信息,若AZ1未发生故障,则AZ1在接收该负载查询信息后,会向DNS发馈AZ1的负载,该负载可以是存储空间的使用率,例如,可以为60%或者40%等,该负载也可以是AZ中被占用的存储空间的大小,例如,可以为20M或者30M等,当DNS接收AZ1反馈的负载后,则根据AZ1的负载与预设负载的大小关系确定AZ1的状态。以负载为存储空间的使用率为例,则该预设负载可以为70%或者80%,若AZ1的负载大于或等于该预设负载,则说明AZ1的负载已经较大,可能无法为客户端提供写操作的服务,则DNS确认该AZ1的状态为无法提供服务的状态;若AZ1的负载小于该预设负载,则说明AZ1还有足够的存储空间为客户端提供写操作的服务,则DNS确认该AZ1的状态为可提供服务的状态。以此类推,从而确定AZ1~AZ3中每个AZ的状态。
需要说明的是,若AZ1发生故障,则AZ1无法向DNS发送该AZ1的负载,则DNS在预设时长内,例如2s内,未接收AZ1反馈的负载时,则可以直接确定该AZ1为无法提供服务的状态。
另外,需要说明的是,该负载查询信息与反馈的负载的形式可以是DNS与各个AZ预先约定好的,也可以是由DNS配置的,在此不作限制。
作为第二种示例,各个AZ也可以通过DNS的Config.GetDataCenterInfo接口定期向DNS反馈负载,例如,DNS可以通过Config.setDataCenterInfo接口,设置各个AZ按照预设周期向DNS反馈负载,该预设周期可以为2s,则DNS根据的各个AZ的负载,确定各个AZ的状态,DNS根据负载确定状态的方式与第一种示例中相同,在此不再赘述。
第三种情况,DNS根据每个AZ的心跳和负载确定每个AZ的状态:
在这种情况下,DNS首先需要获取该多个AZ中每个AZ的心跳和负载,具体获取每个AZ的心跳以及负载的方式与前述第一种方式和第二种方式中相应的内容相同,在此不 再赘述,然后,DNS则根据每个AZ的心跳和负载共同确定该AZ的状态,例如,DNS首先确定在预设时长内是否接收到AZ1的心跳,若在该预设时长内接收了该AZ1的心跳,则判断AZ1的负载是否小于预设负载,若AZ1的负载小于该预设负载,则DNS确定AZ1处于可提供服务的状态,若DNS在该预设时长内接收了该AZ1的心跳,但是AZ1的负载大于该预设负载,则DNS确定AZ1处于无法提供服务的状态,若DNS未在该预设时长内接收该AZ1的心跳以及AZ1的负载,则DNS确定该AZ1处于无法提供服务的状态。以此类推,从而确定AZ1~AZ3中每个AZ的状态。
当DNS采用上述三种方式中的其中一种确定AZ1~AZ3中每个AZ的状态后,则选择处于可提供服务状态的AZ作为第一AZ,例如,AZ1~AZ3中只有AZ2处于可提供服务的状态,则确定AZ2为第一AZ。
第三种方式:
DNS首先根据域名与AZ的对应关系,确定与域名3对应的AZ为AZ1、AZ2以及AZ3,然后,DNS获取与域名3对应的多个AZ(即AZ1~AZ3)中每个AZ的状态,并从AZ1~AZ3中确定出处于可提供服务的状态的至少一个AZ,最后,从处于可提供服务的状态的至少一个AZ中确定该第一AZ。
需要说明的是,DNS获取与域名3对应的多个AZ(即AZ1~AZ3)中每个AZ的状态的方法与第一种方式或第二种方式中的方法相同,在此不再赘述。例如,DNS获取AZ1的状态为可提供服务的状态,AZ2的状态为可提供服务的状态,AZ3的状态为无法提供服务的状态,则DNS确定与域名3对应的多个AZ中处于可提供服务的状态的AZ为AZ1和AZ2,然后从AZ1和AZ2中随机选择一个作为第一AZ。
第四种方式:
DNS定期获取该存储系统的所有的AZ的状态,保存在DNS的内存中,DNS可以采用前述三种方式中的其中一种方式,获取每个AZ的状态,在此不再赘述。作为一种示例,DNS保存的AZ的状态可以是单独存储的,例如,该DNS的内存中除了存储域名与AZ的对应关系,还存储AZ的状态列表,在该状态列表中,每个AZ的状态分为可提供服务的状态或无法提供服务的状态,如表4所示,在表4中,AZ1~AZ4为可提供服务的状态,AZ5~AZ6为无法提供服务的状态。或者,DNS可以根据处于可提供服务的状态的AZ,形成一个可用的AZ列表,则当各个AZ的状态如表4中所示时,该可用的AZ列表中包含AZ1~AZ4。
表4
AZ的编号 AZ的状态
AZ1 可提供服务
AZ2 可提供服务
AZ3 可提供服务
AZ4 可提供服务
AZ5 无法提供服务
AZ6 无法提供服务
作为另一种示例,DNS可以在域名与AZ的对应关系中保存AZ的状态,如表5所示, 每个AZ后还指示该AZ的状态,例如,在表5中,与域名3对应的AZ1的状态为可提供服务的状态,与域名3对应的AZ2的状态为可提供服务的状态,以及与域名3对应的AZ3的状态为可提供服务的状态。
表5
域名 AZ的编号及状态
域名1 AZ6(可提供服务)
域名2 AZ4(可提供服务)、AZ5(无法提供服务)
域名3 AZ1(可提供服务)、AZ2(可提供服务)、AZ3(无法提供服务)
作为另一种示例,DNS可以根据AZ的状态更新域名与AZ的对应关系,从而使得在域名与AZ的对应关系中仅保存处于可提供服务状态的AZ,例如,DNS为域名3配置的AZ为AZ1~AZ3,DNS在获取每个AZ的状态后,确定AZ3处于无法提供服务的状态,则DNS将AZ3从域名与AZ的对应关系列表中暂时删除,则在该域名与AZ的对应关系中,与域名3对应的AZ由AZ1~AZ3变更为AZ1和AZ2,如表6所示,从而该域名与AZ的对应关系列表中包含的AZ均为可提供服务的状态的AZ。
表6
域名 AZ的编号
域名1 AZ6
域名2 AZ4
域名3 AZ1、AZ2
需要说明的是,当DNS再次获取个AZ的状态,确定从域名与AZ的对应关系列表中删除的AZ处于可提供服务的状态后,可以再次更新该域名与AZ的对应关系,从而将该AZ添加到域名与AZ的对应关系中。以AZ3由无法提供服务的状态变更为可提供服务的状态为例,则域名与AZ的对应关系中,域名3对应的AZ的编号由表6所示的AZ1和AZ2变更为AZ1~AZ3。
以DNS获取各个AZ的状态,并利用各个AZ的状态更新域名与AZ的对应关系为例,当DNS获取更新后的域名与AZ的对应关系后,则从该更新后的域名与AZ的对应关系中确定第一AZ,例如,更新后的域名与AZ的对应关系如表6所示,DNS确定与域名3对应的AZ为AZ1和AZ2,则从AZ1和AZ2中随机选择一个作为第一AZ。
由于通过上述四种方式中的任意一种方式确定的第一AZ,均为处于可提供服务的状态的AZ,因此,只要客户端向DNS发送域名解析请求,则DNS一定会向客户端返回一个可用的AZ,从而客户端不会感知AZ故障,自然也无需运维人员手动切换AZ,且不需要客户端通过重试找到一个可以使用的AZ,可以减少由于AZ故障带来的时延,可以提高系统的可靠性和可用性。
第五种方式:
DNS首先根据域名与AZ的对应关系,确定与域名3对应的AZ为AZ1、AZ2以及AZ3,然后,DNS获取与域名3对应的多个AZ(即AZ1~AZ3)中每个AZ的状态,并根据预设的策略,从AZ1~AZ3中确定出处于可提供服务的状态的第一AZ,该预设的策略可以是该 客户端与该多个AZ中处于可提供服务的状态的AZ的距离、该客户端的优先级以及该多个AZ中处于该可提供服务的状态的AZ的负载中的至少一种因素。
DNS可以采用前述四种方式中的其中一种,确定与域名3对应的多个AZ中每个AZ的状态,在此不再赘述。下面将针对不同的策略,分别介绍DNS确定第一AZ的过程。
第一种策略,由于在多AZ存储系统中,各个AZ之间的距离一般相距较远,例如,通常为50-100公里,从而导致客户端与不同的AZ之间的距离相差较大,因此,DNS可以根据该客户端与该多个AZ中处于可提供服务的状态的AZ的距离确定第一AZ,具体实现方式如下:
DNS首先获取该客户端的IP地址,然后,DNS根据该客户端的IP地址及与域名对应的多个AZ中处于可提供服务的状态的AZ的IP地址,计算该客户端与该多个AZ中处于可提供服务的状态的AZ中每个AZ的距离,确定与该客户端最近的AZ为第一AZ。
作为一种示例,以该客户端的IP地址为10.64.0.4,与域名3对应的AZ1~AZ3中处于可提供服务的状态的AZ为AZ1和AZ2,且AZ1的IP地址为10.64.0.0/10,AZ2的IP地址为10.128.0.0/10为例,DNS可以根据距离路由得分值来确定客户端与每个AZ的距离,该距离路由得分值可以为0和1两种取值,其中,距离路由得分值为1时,表示该客户端与该AZ的距离较近,距离路由得分值为0时,表示该客户端与该AZ的距离较远。例如,如果客户端是在某个AZ的子网内的IP访问,则客户端与该AZ的距离路由得分值为1;如果客户端不是在某个AZ的子网内的IP访问,则客户端与该AZ的距离路由得分值为0。在本发明实施例中,由该客户端的IP地址和AZ1的IP地址可知,客户端的IP地址为AZ1的某一个子网的IP地址,因此,客户端与AZ1的距离路由得分值为1,而客户端的IP地址不是AZ2的任意一个子网的IP地址,因此,客户端与AZ2的距离路由得分值为0,则与该客户端距离最近的AZ为AZ1,从而确定AZ1为第一AZ。
当然,也可以通过其他方式计算客户端与AZ之间的距离,在此不作限制。
通过上述技术方案,DNS可以选择与客户端距离最近的AZ反馈给客户端使用,从而可以减少客户端到AZ之间的距离,进而减少数据传输的时延,提高访问性能。
第二种策略,为了便于对客户端的访问管理,例如,可以将客户端访问的AZ的能力(性能)与客户端的优先级进行匹配,使得优先级级别高的客户端可以访问到能力强(性能好)的AZ,因此,DNS可以根据该客户端的优先级级别确定第一AZ,具体实现方式如下:
DNS根据该客户端的优先级,以及与客户端要访问的域名对应的多个AZ中处于可提供服务的状态的AZ的性能,从该多个AZ中处于可提供服务的状态的AZ中选择与该客户端的优先级匹配的AZ作为第一AZ。
需要说明的是,与客户端的优先级匹配的AZ,可以理解为客户端的优先级级别越高,则与该客户端匹配的AZ的性能越好,在本发明实施例中不作限制。
作为一种示例,DNS可以预先使用用于设置客户端的优先级级别的Config.setPriority接口,为与该多AZ存储系统通信的各个客户端设置优先级级别,例如,可以将所有的客户端分为两个优先级级别,分别为高优先级级别和低优先级级别,对于要求时延较低的客户端设置优先级级别为高优先级级别,例如,用于提供视频数据的客户端,对于没有时延 要求的客户端,则设置其优先级级别为低优先级级别。当然,也可以根据使用需求,将所有的客户端划分为多个优先级级别,例如可以包括高、中、低三个优先级级别,或者高、较高、中、较低、低五个优先级级别,在本发明实施例中不作限制。
当DNS接收客户端发送的域名解析请求后,则可以通过用于查询设置的客户端的优先级级别的Config.getPriority接口,获取客户端的优先级级别。
作为一种示例,以DNS获取该客户端的优先级级别为高,与域名3对应的AZ1~AZ3中处于可提供服务的状态的AZ为AZ1和AZ2,且AZ1的性能优于AZ2的性能,该策略为客户端的优先级级别越高,则与该客户端匹配的AZ的性能越好为例,则DNS根据该策略确定AZ1为与该客户端的优先级级别匹配的AZ,从而确定AZ1为第一AZ。
作为另一种示例,DNS也可以对各个AZ的性能进行分级,例如,可以以AZ的处理速度为各个AZ的性能进行分级,确定处理速度小于1s的AZ的性能为优,确定处理速度在1s~2s之间的AZ的性能为良,以及确定处理速度在2s以上的AZ的性能为差。进一步地,DNS可以设置客户端的优先级级别与AZ的性能的匹配关系,例如,优先级级别高的客户端匹配性能为优或良的AZ,优先级级别为低的客户端匹配性能为差的AZ。以DNS获取该客户端的优先级级别为高,与域名3对应的AZ1~AZ3中处于可提供服务的状态的AZ为AZ1和AZ2,且AZ1的性能为优,AZ2的性能为良为例,则DNS根据预设的客户端的优先级级别与AZ的性能的匹配关系,确定与该客户端匹配的AZ的性能为优或良,则AZ1和AZ2都是与客户端匹配的AZ,从而可以选择AZ1和AZ2中的任意一个作为第一AZ。
通过上述技术方案,DNS可以根据客户端的优先级级别不同,为各个客户端分配不同性能的AZ,例如,将性能好的AZ优先分配给优先级级别高的客户端进行访问,可以提高存储系统的分级能力和客户端的性能,进一步,由于DNS为每个客户端设置的优先级级别不同,这样,可以通过优先级级别的划分,使得多个客户端可以被分配到不同的AZ进行访问,可以降低由于某个AZ的访问量过大而导致瘫痪的概率,可以提高存储系统的稳定性。
第三种策略,为了实现存储系统中各个AZ的负载均衡,DNS可以根据与客户端要访问的域名对应的处于可提供服务的状态的多个AZ中每个AZ的负载确定第一AZ,具体实现方式如下:
作为一种示例,DNS首先确定与客户端要访问的域名对应的处于可提供服务的状态的多个AZ中每个AZ的负载,然后从该多个AZ中确定负载小于阈值的AZ为第一AZ。DNS获取每个AZ的负载的方式与第二种方式下的第二种情况相同,在此不再赘述。以与客户端要访问的域名3对应的AZ1~AZ3中处于可提供服务的状态的AZ为AZ1和AZ2,且AZ1的负载为50%,AZ2的负载为70%,该阈值为60%为例,由于AZ1的负载为50%<60%,AZ2的负载为70%>60%,因此,DNS确定AZ1为第一AZ。
作为另一种示例,DNS首先确定与客户端要访问的域名对应的处于可提供服务的状态的多个AZ中每个AZ的负载,然后从该多个AZ中确定负载最小的AZ为第一AZ。DNS获取每个AZ的负载的方式与第二种方式下的第二种情况相同,在此不再赘述。以与客户端要访问的域名3对应的AZ1~AZ3中处于可提供服务的状态的AZ为AZ1和AZ2,且AZ1 的负载为50%,AZ2的负载为70%为例,由于50%<70%,则AZ1为负载最小的AZ,因此,DNS确定AZ1为第一AZ。
通过上述技术方案,DNS可以通过根据存储系统中每个AZ的负载,合理调控每个AZ的访问量,可以降低由于某个AZ的访问量过大而导致瘫痪的概率,可以提高存储系统的稳定性。
第四种策略,为了可以为客户端提供最佳的AZ,DNS可以结合该客户端与该多个AZ中处于可提供服务的状态的AZ的距离、该客户端的优先级以及该多个AZ中处于该可提供服务的状态的AZ的负载三种因素,一起确定该第一AZ,具体实现方式如下:
DNS可以为每一种因素确定一个权重,该权重的取值可以根据使用需求、实际部署规模或实际测试值进行调整。例如,若该客户端与存储系统中各个AZ的距离相近,且该存储系统中各个AZ的性能差异较小,则可以设置客户端与该多个AZ中处于可提供服务的状态的AZ的距离的因素的权重以及客户端的优先级的因素的权重值均为一个较小值,例如,0.2,设置该多个AZ中处于该可提供服务的状态的AZ的负载的因素的权重值为0.6;或者,若经过试验发现客户端使用的AZ与客户端的距离对客户端的性能的影响最大,则可以设置客户端与该多个AZ中处于可提供服务的状态的AZ的距离的因素的权重为一个较大值,例如0.6,然后随机分配其他两个因素的权重的取值,在本发明实施例中不作限制。
然后,DNS可以使用如下公式计算该第一AZ:
第一
Figure PCTCN2019083614-appb-000001
其中,x i为加权项,i的取值为1、2、3,当i取1时,表示该客户端与多个AZ中每个AZ的距离的加权项,当i取2时,表示根据该客户端的优先级与该多个AZ的性能进行匹配的加权项,当i取3时,表示根据该多个AZ的负载进行匹配的加权项,y i为对应的x i的权重,n的取值为3。
通过上述技术方案,由于DNS结合了多种因素确定该第一AZ,从而可以使该第一AZ与该客户端的匹配程度最佳,可以提高存储系统的可靠性。
步骤404、该DNS向该客户端发送该第一AZ的互联网协议IP地址,该客户端接收该IP地址。
当DNS确定该第一AZ后,则DNS向该客户端反馈该域名解析的结果,例如,DNS确定与该第一AZ为AZ1,该DNS向客户端反馈AZ1的IP地址,即IP1。
步骤405、该客户端向该IP地址发送访问请求,AZ1接收该访问请求。
在本发明实施例中,以该访问请求为存储数据的访问请求,则客户端将待存储的视频数据发送给AZ1。
步骤406、AZ1处理该访问请求。
当AZ1接收由客户端发送的待存储的视频数据后,可以先判断AZ1的存储空间是否足够或者确定是否发生本地临时故障,若AZ1的存储空间足够存储该视频数据或者AZ1未发生本地临时故障,则AZ1将存储该视频数据。
若AZ1确定AZ1的存储空间无法存储该视频数据或者确定发生本地临时故障,则AZ1可以将该视频数据转发到其他AZ中,例如转发到用于存储视频数据的AZ2中,当AZ2完成存储后,则向AZ1反馈完成存储的信息。
步骤407、AZ1向客户端反馈处理结果,客户端接收该处理结果。
当AZ1存储该视频数据后,则向客户端回复完成存储的信息,从而完成此次访问。
需要说明的是,步骤405~步骤407为可选步骤,即不是必须要执行。
在上述技术方案中,通过域名系统DNS来对客户端发送的域名解析请求进行处理,当DNS接收到客户端发送的域名解析请求后,会向该客户端反馈与该域名解析请求对应的处于可提供服务状态的AZ的IP地址,这样,客户端不会感知AZ故障,自然也无需运维人员手动切换AZ,且不需要客户端通过重试找到一个可以使用的AZ,可以减少由于AZ故障带来的时延,从而可以提高业务连续性。
进一步地,DNS还可以通过多种策略为客户端选择最佳的AZ,供客户端访问,可以提高存储系统的可靠性和可用性。
上述本发明提供的实施例中,分别从域名系统DNS、客户端以及域名系统DNS和客户端之间交互的角度对本发明实施例提供的方法进行了介绍。为了实现上述本发明实施例提供的方法中的各功能,域名系统DNS可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
图5示出了一种基于多可用分区AZ的域名解析装置500的结构示意图。其中,域名解析装置500可以是域名系统DNS,能够实现本发明实施例提供的方法中域名系统DNS的功能;域名解析装置500也可以是能够支持域名系统DNS实现本发明实施例提供的方法中域名系统DNS的功能的装置。域名解析装置500可以是硬件结构、软件模块、或硬件结构加软件模块。域名解析装置500可以由芯片系统实现。本发明实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
域名解析装置500可以包括获取单元501、处理单元502以及发送单元503。
获取单元501可以用于执行图4所示的实施例中的步骤402,和/或用于支持本文所描述的技术的其它过程。获取单元501用于域名解析装置500和其它模块进行通信,其可以是电路、器件、接口、总线、软件模块、收发器或者其它任意可以实现通信的装置。
处理单元502可以用于执行图4所示的实施例中的步骤403,和/或用于支持本文所描述的技术的其它过程。
发送单元503可以用于执行图4所示的实施例中的步骤404,和/或用于支持本文所描述的技术的其它过程。发送单元503用于域名解析装置500和其它模块进行通信,其可以是电路、器件、接口、总线、软件模块、收发器或者其它任意可以实现通信的装置。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本发明各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
如图6所示为本发明实施例提供的基于多可用分区AZ的域名解析装置600,其中,域 名解析装置600可以是图4所示的实施例中的域名系统DNS,能够实现本发明图4实施例提供的方法中域名系统DNS的功能;域名解析装置600也可以是能够支持域名系统DNS实现本发明图4所示的实施例提供的方法中域名系统DNS的功能的装置。其中,该域名解析装置600可以为芯片系统。本发明实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
域名解析装置600包括至少一个处理器620,用于实现或用于支持域名解析装置600实现本发明图4所示的实施例提供的方法中域名系统DNS的功能。示例性地,处理器620可以从与域名对应的多个AZ中确定处于可提供服务状态的第一AZ,具体参见方法示例中的详细描述,此处不做赘述。
域名解析装置600还可以包括至少一个存储器630,用于存储程序指令和/或数据。存储器630和处理器620耦合。本发明实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器620可能和存储器630协同操作。处理器620可能执行存储器630中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。当处理器620执行存储器630中的程序指令时,可以实现图4所示的方法。
域名解析装置600还可以包括通信接口610,用于通过传输介质和其它设备进行通信,从而用于域名解析装置600中的装置可以和其它设备进行通信。示例性地,该其它设备可以是客户端。处理器620可以利用通信接口610收发数据。
本发明实施例中不限定上述通信接口610、处理器620以及存储器630之间的具体连接介质。本发明实施例在图6中以存储器630、处理器620以及通信接口610之间通过总线640连接,总线在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本发明实施例中,处理器620可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本发明实施例中,存储器630可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本发明实施例中还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行图4中所示的实施例中域名系统DNS执行的方法。
本发明实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行图4中所示的实施例中域名系统DNS执行的方法。
本发明实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现前述方法中域名系统DNS的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
本发明实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称DVD))、或者半导体介质(例如,SSD)等。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (29)

  1. 一种基于多可用分区AZ的域名解析方法,其特征在于,包括:
    域名系统DNS从客户端接收域名解析请求,所述域名解析请求中包括待访问的资源的域名,所述域名对应多个AZ,所述多个AZ中的每一个AZ均可提供所述待访问的资源;
    所述DNS从所述多个AZ中确定处于可提供服务状态的第一AZ;
    所述DNS向所述客户端发送所述第一AZ的互联网协议IP地址。
  2. 根据权利要求1所述的方法,其特征在于,所述DNS从所述多个AZ中确定处于可提供服务状态的第一AZ,包括:
    所述DNS确定所述多个AZ中每个AZ的状态,所述状态包括可提供服务的状态或无法提供服务的状态;
    所述DNS根据所述每个AZ的状态从所述多个AZ中确定所述第一AZ。
  3. 根据权利要求2所述的方法,其特征在于,所述DNS确定所述多个AZ中每个AZ的状态,包括:
    所述DNS获取所述多个AZ中每个AZ的心跳和/或负载;
    所述DNS根据所述每个AZ的心跳和/或负载,确定在预设时长内未接收第二AZ的心跳和/或所述第二AZ的负载超过预设负载,则所述DNS确定所述第二AZ处于所述无法提供服务的状态;其中,所述第二AZ为所述多个AZ中的一个。
  4. 根据权利要求1所述的方法,其特征在于,所述DNS从所述多个AZ中确定处于可提供服务状态的第一AZ,包括:
    所述DNS从多个处于所述可提供服务的状态的AZ中确定一个AZ作为所述第一AZ;其中,所述多个处于所述可提供服务的状态的AZ属于所述多个AZ。
  5. 根据权利要求4所述的方法,其特征在于,所述DNS从多个处于所述可提供服务的状态的AZ中确定一个AZ作为所述第一AZ,包括:
    所述DNS根据所述客户端与所述多个处于所述可提供服务的状态的AZ的距离、所述客户端的优先级以及所述多个处于所述可提供服务的状态的AZ的负载中的至少一种因素,从所述多个处于所述可提供服务的状态的AZ中确定所述第一AZ。
  6. 根据权利要求5所述的方法,其特征在于,所述DNS根据所述客户端与所述多个处于所述可提供服务的状态的AZ的距离确定所述第一AZ,包括:
    所述DNS获取所述客户端的IP地址;
    所述DNS根据所述客户端的IP地址及所述多个处于所述可提供服务的状态的AZ的IP地址,计算所述客户端与所述多个处于所述可提供服务的状态的AZ中每个AZ的距离,确定与所述客户端最近的AZ为所述第一AZ。
  7. 根据权利要求5所述的方法,其特征在于,所述DNS根据所述客户端的优先级确定所述第一AZ,包括:
    所述DNS根据所述客户端的优先级及所述多个处于所述可提供服务的状态的AZ的性能,从所述多个处于所述可提供服务的状态的AZ中选择与所述客户端的优先级匹配的AZ作为所述第一AZ。
  8. 根据权利要求5所述的方法,其特征在于,所述DNS根据所述多个处于所述可提 供服务的状态的AZ的负载确定所述第一AZ,包括:
    所述DNS确定所述多个处于所述可提供服务的状态的AZ中每个AZ的负载;
    所述DNS确定所述负载小于阈值的AZ为所述第一AZ。
  9. 根据权利要求5所述的方法,其特征在于,所述DNS根据所述多个处于所述可提供服务的状态的AZ的负载确定所述第一AZ,包括:
    所述DNS确定所述多个处于所述可提供服务的状态的AZ中每个AZ的负载;
    所述DNS选择所述多个处于所述可提供服务的状态的AZ中负载最小的AZ为所述第一AZ。
  10. 一种基于多可用分区AZ的域名解析装置,其特征在于,包括通信接口和处理器,其中:
    所述通信接口,用于在所述处理器的控制下从客户端接收域名解析请求,所述域名解析请求中包括待访问的资源的域名,所述域名对应多个AZ,所述多个AZ中的每一个AZ均可提供所述待访问的资源;
    所述处理器,用于从所述多个AZ中确定处于可提供服务状态的第一AZ;
    所述通信接口还用于,在所述处理器的控制下向所述客户端发送所述第一AZ的互联网协议IP地址。
  11. 根据权利要求10所述的装置,其特征在于,所述处理器具体用于:
    确定所述多个AZ中每个AZ的状态,所述状态包括可提供服务的状态或无法提供服务的状态;
    根据所述每个AZ的状态从所述多个AZ中确定所述第一AZ。
  12. 根据权利要求11所述的装置,其特征在于,所述处理器具体用于:
    获取所述多个AZ中每个AZ的心跳和/或负载;
    根据所述每个AZ的心跳和/或负载,确定在预设时长内未接收第二AZ的心跳和/或所述第二AZ的负载超过预设负载,则所述DNS确定所述第二AZ处于所述无法提供服务的状态;其中,所述第二AZ为所述多个AZ中的一个。
  13. 根据权利要求10所述的装置,其特征在于,所述处理器具体用于:
    从多个处于所述可提供服务的状态的AZ中确定一个AZ作为所述第一AZ;其中,所述多个处于所述可提供服务的状态的AZ属于所述多个AZ。
  14. 根据权利要求13所述的装置,其特征在于,所述处理器具体用于:
    根据所述客户端与所述多个处于所述可提供服务的状态的AZ的距离、所述客户端的优先级以及所述多个处于所述可提供服务的状态的AZ的负载中的至少一种因素,从所述多个处于所述可提供服务的状态的AZ中确定所述第一AZ。
  15. 根据权利要求14所述的装置,其特征在于,所述处理器具体用于:
    获取所述客户端的IP地址;
    根据所述客户端的IP地址及所述多个处于所述可提供服务的状态的AZ的IP地址,计算所述客户端与所述多个处于所述可提供服务的状态的AZ中每个AZ的距离,确定与所述客户端最近的AZ为所述第一AZ。
  16. 根据权利要求14所述的装置,其特征在于,所述处理器具体用于:
    根据所述客户端的优先级及所述多个处于所述可提供服务的状态的AZ的性能,从所述多个处于所述可提供服务的状态的AZ中选择与所述客户端的优先级匹配的AZ作为所述第一AZ。
  17. 根据权利要求14所述的装置,其特征在于,所述处理器具体用于:
    确定所述多个处于所述可提供服务的状态的AZ中每个AZ的负载;
    确定所述负载小于阈值的AZ为所述第一AZ。
  18. 根据权利要求14所述的装置,其特征在于,所述处理器具体用于:
    确定所述多个处于所述可提供服务的状态的AZ中每个AZ的负载;
    选择所述多个处于所述可提供服务的状态的AZ中负载最小的AZ为所述第一AZ。
  19. 一种基于多可用分区AZ的域名解析装置,其特征在于,包括:
    获取单元,用于从客户端接收域名解析请求,所述域名解析请求中包括待访问的资源的域名,所述域名对应多个AZ,所述多个AZ中的每一个AZ均可提供所述待访问的资源;
    处理单元,用于从所述多个AZ中确定处于可提供服务状态的第一AZ;
    发送单元,用于向所述客户端发送所述第一AZ的互联网协议IP地址。
  20. 根据权利要求19所述的装置,其特征在于,所述处理单元具体用于:
    确定所述多个AZ中每个AZ的状态,所述状态包括可提供服务的状态或无法提供服务的状态;
    根据所述每个AZ的状态从所述多个AZ中确定所述第一AZ。
  21. 根据权利要求20所述的装置,其特征在于,所述处理单元具体用于:
    获取所述多个AZ中每个AZ的心跳和/或负载;
    根据所述每个AZ的心跳和/或负载,确定在预设时长内未接收第二AZ的心跳和/或所述第二AZ的负载超过预设负载,则所述DNS确定所述第二AZ处于所述无法提供服务的状态;其中,所述第二AZ为所述多个AZ中的一个。
  22. 根据权利要求19所述的装置,其特征在于,所述处理单元具体用于:
    从多个处于所述可提供服务的状态的AZ中确定一个AZ作为所述第一AZ;其中,所述多个处于所述可提供服务的状态的AZ属于所述多个AZ。
  23. 根据权利要求22所述的装置,其特征在于,所述处理单元具体用于:
    根据所述客户端与所述多个处于所述可提供服务的状态的AZ的距离、所述客户端的优先级以及所述多个处于所述可提供服务的状态的AZ的负载中的至少一种因素,从所述多个处于所述可提供服务的状态的AZ中确定所述第一AZ。
  24. 根据权利要求23所述的装置,其特征在于,所述处理单元具体用于:
    获取所述客户端的IP地址;
    根据所述客户端的IP地址及所述多个处于所述可提供服务的状态的AZ的IP地址,计算所述客户端与所述多个处于所述可提供服务的状态的AZ中每个AZ的距离,确定与所述客户端最近的AZ为所述第一AZ。
  25. 根据权利要求23所述的装置,其特征在于,所述处理单元具体用于:
    根据所述客户端的优先级及所述多个处于所述可提供服务的状态的AZ的性能,从所述多个处于所述可提供服务的状态的AZ中选择与所述客户端的优先级匹配的AZ作为所述 第一AZ。
  26. 根据权利要求23所述的装置,其特征在于,所述处理单元具体用于:
    确定所述多个处于所述可提供服务的状态的AZ中每个AZ的负载;
    确定所述负载小于阈值的AZ为所述第一AZ。
  27. 根据权利要求23所述的装置,其特征在于,所述处理单元具体用于:
    确定所述多个处于所述可提供服务的状态的AZ中每个AZ的负载;
    选择所述多个处于所述可提供服务的状态的AZ中负载最小的AZ为所述第一AZ。
  28. 一种计算机存储介质,其特征在于,所述计算机存储介质存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-9任一项所述的方法。
  29. 一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-9任一项所述的方法。
PCT/CN2019/083614 2018-06-04 2019-04-22 一种基于多可用分区az的域名解析方法及装置 WO2019233203A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19814962.7A EP3796622A4 (en) 2018-06-04 2019-04-22 SYNTAXIC DOMAIN NAME ANALYSIS PROCESS BASED ON MULTIPLE AVAILABLE ZONES, AND DEVICE
US17/111,091 US11394683B2 (en) 2018-06-04 2020-12-03 Domain name resolution method and apparatus based on a plurality of availability zones AZ

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810565417.0 2018-06-04
CN201810565417.0A CN108881506A (zh) 2018-06-04 2018-06-04 一种基于多可用分区az的域名解析方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/111,091 Continuation US11394683B2 (en) 2018-06-04 2020-12-03 Domain name resolution method and apparatus based on a plurality of availability zones AZ

Publications (1)

Publication Number Publication Date
WO2019233203A1 true WO2019233203A1 (zh) 2019-12-12

Family

ID=64336104

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/083614 WO2019233203A1 (zh) 2018-06-04 2019-04-22 一种基于多可用分区az的域名解析方法及装置

Country Status (4)

Country Link
US (1) US11394683B2 (zh)
EP (1) EP3796622A4 (zh)
CN (1) CN108881506A (zh)
WO (1) WO2019233203A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111683139A (zh) * 2020-06-05 2020-09-18 北京百度网讯科技有限公司 用于均衡负载的方法和装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881506A (zh) * 2018-06-04 2018-11-23 华为技术有限公司 一种基于多可用分区az的域名解析方法及装置
CN113347037B (zh) * 2021-06-07 2022-07-12 中国建设银行股份有限公司 一种数据中心访问方法及装置
CN113596185A (zh) * 2021-06-23 2021-11-02 阿里巴巴新加坡控股有限公司 基于可用区的域名解析方法、装置、设备和机器可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160212204A1 (en) * 2013-09-02 2016-07-21 Zte Corporation Domain Name Resolution Method, DNS Cache Server, and Final DNS Server
CN105847462A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 域名解析方法及装置
CN105939399A (zh) * 2015-11-30 2016-09-14 杭州迪普科技有限公司 一种域名解析方法和装置
CN108011994A (zh) * 2017-12-15 2018-05-08 网宿科技股份有限公司 一种查询dns记录的方法和系统
CN108881506A (zh) * 2018-06-04 2018-11-23 华为技术有限公司 一种基于多可用分区az的域名解析方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154777A (en) * 1996-07-01 2000-11-28 Sun Microsystems, Inc. System for context-dependent name resolution
US6205489B1 (en) * 1999-01-05 2001-03-20 Whowhere, Inc. Method for providing an internet protocol address with a domain name server
US7346676B1 (en) * 2000-07-19 2008-03-18 Akamai Technologies, Inc. Load balancing service
US7725602B2 (en) * 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
US8312120B2 (en) * 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
US20080133738A1 (en) * 2006-12-04 2008-06-05 Robert Knauerhase Provider presence information with load factor
CN101834910A (zh) * 2007-04-04 2010-09-15 华为技术有限公司 域名解析方法及装置
CN101494659B (zh) * 2008-01-24 2012-11-07 中国移动通信集团公司 选取会话控制装置的方法以及相关设备
US8316085B2 (en) * 2008-08-13 2012-11-20 Sk Planet Co., Ltd. Contents delivery system and method using object redirection, and GSLB switch thereof
CN101340327B (zh) * 2008-08-21 2011-11-30 腾讯科技(深圳)有限公司 实现网络服务器负载均衡的方法和系统
US9116752B1 (en) * 2009-03-25 2015-08-25 8X8, Inc. Systems, methods, devices and arrangements for server load distribution
CN101710905A (zh) * 2009-12-17 2010-05-19 中国联合网络通信集团有限公司 一种基于策略的地址解析控制方法与系统
US8255528B2 (en) * 2009-12-23 2012-08-28 Citrix Systems, Inc. Systems and methods for GSLB spillover
CN101815104A (zh) * 2010-03-19 2010-08-25 中兴通讯股份有限公司 网络协议地址反馈方法以及域名解析服务器
US9317336B2 (en) * 2011-07-27 2016-04-19 Alcatel Lucent Method and apparatus for assignment of virtual resources within a cloud environment
US10270755B2 (en) * 2011-10-03 2019-04-23 Verisign, Inc. Authenticated name resolution
US9740708B2 (en) * 2012-05-01 2017-08-22 Everbridge, Inc. Systems and methods for distance and performance based load balancing
KR101451194B1 (ko) * 2013-04-11 2014-10-16 (주)씨디네트웍스 콘텐츠 전송 네트워크에서의 거리 계산 방법 및 장치
US9923959B2 (en) * 2014-06-05 2018-03-20 Microsoft Technology Licensing, Llc Load balancing with layered edge servers
CN104158919A (zh) * 2014-08-20 2014-11-19 安一恒通(北京)科技有限公司 网页访问实现方法、服务器和客户端
US9898214B2 (en) * 2015-09-29 2018-02-20 International Business Machines Corporation Storage site selection in a multi-target environment using weights
US11449365B2 (en) * 2016-01-04 2022-09-20 Trilio Data Inc. Ubiquitous and elastic workload orchestration architecture of hybrid applications/services on hybrid cloud
US10728206B2 (en) * 2017-03-22 2020-07-28 Citrix Systems, Inc. Method for DNS response reordering based on path quality and connection priority for better QOS

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160212204A1 (en) * 2013-09-02 2016-07-21 Zte Corporation Domain Name Resolution Method, DNS Cache Server, and Final DNS Server
CN105939399A (zh) * 2015-11-30 2016-09-14 杭州迪普科技有限公司 一种域名解析方法和装置
CN105847462A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 域名解析方法及装置
CN108011994A (zh) * 2017-12-15 2018-05-08 网宿科技股份有限公司 一种查询dns记录的方法和系统
CN108881506A (zh) * 2018-06-04 2018-11-23 华为技术有限公司 一种基于多可用分区az的域名解析方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3796622A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111683139A (zh) * 2020-06-05 2020-09-18 北京百度网讯科技有限公司 用于均衡负载的方法和装置

Also Published As

Publication number Publication date
US11394683B2 (en) 2022-07-19
CN108881506A (zh) 2018-11-23
EP3796622A4 (en) 2021-07-07
EP3796622A1 (en) 2021-03-24
US20210092090A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
WO2019233203A1 (zh) 一种基于多可用分区az的域名解析方法及装置
US11134134B2 (en) Routing for origin-facing points of presence
US10171567B2 (en) Load balancing computer device, system, and method
US10374955B2 (en) Managing network computing components utilizing request routing
WO2021098407A1 (zh) 基于mec的服务节点分配方法、装置及相关服务器
US20200195511A1 (en) Network management method and related device
US20130044754A1 (en) Method, apparatus and system for acquiring media access control address
KR101914488B1 (ko) 푸시 알림 서비스를 위한 서버 클러스터 및 방법
US20130262681A1 (en) Apparatus and method for providing service availability to a user via selection of data centers for the user
US10205775B2 (en) Server selection in a highly available network
US9979656B2 (en) Methods, systems, and computer readable media for implementing load balancer traffic policies
CN114095430B (zh) 一种访问报文的处理方法、系统及工作节点
CN107172120B (zh) 信息处理方法、处理节点及网络节点
US11403009B2 (en) Storage system, and method and apparatus for allocating storage resources
CN102025630A (zh) 负载均衡方法及负载均衡系统
US10182033B1 (en) Integration of service scaling and service discovery systems
CN111212134A (zh) 一种请求报文处理方法、装置、边缘计算系统和电子设备
CN111585887B (zh) 基于多个网络的通信方法、装置、电子设备及存储介质
US20220318071A1 (en) Load balancing method and related device
US11917001B2 (en) Efficient virtual IP address management for service clusters
CN111131445B (zh) Dhcp集群的调度方法和dhcp集群系统
US10135916B1 (en) Integration of service scaling and external health checking systems
CN106790610B (zh) 一种云系统消息分发方法,装置和系统
EP3435615B1 (en) Network service implementation method, service controller, and communication system
US20230319531A1 (en) Network system and network slice generation method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19814962

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019814962

Country of ref document: EP

Effective date: 20201215