Cloud service providing method and system

By deploying multiple acceleration nodes in the cloud platform and selecting the minimum delay node to forward access messages, the problem of public network stability affecting cloud service delay is solved, and accelerated access and improved user experience is achieved.

CN119232636APending Publication Date: 2024-12-31HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202311264819.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-30
Filing Date
2023-09-27
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

Poor stability of public networks leads to longer access delays for cloud services, especially during cross-border or long-distance access.

Method used

Deploy multiple acceleration nodes in the cloud platform. By selecting acceleration nodes with minimum delay, forwarding client access messages, reducing dependence on the public network, and using the cloud platform's stable network transmission to ensure the transmission delay of access messages.

Benefits of technology

It effectively reduces access latency, improves the access speed and stability of cloud services, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232636A_ABST
    Figure CN119232636A_ABST
Patent Text Reader

Abstract

The invention discloses a cloud service providing method and system, and belongs to the technical field of cloud services. The method is applied to a cloud service providing system, the system is deployed in a cloud platform, the system comprises a plurality of acceleration nodes, the plurality of acceleration nodes comprise a first acceleration node and a second acceleration node, and the method comprises the following steps: the first acceleration node receives an access message sent by a client, the access message indicates to access an out-of-cloud service node, and the second acceleration node indicates to access the out-of-cloud service node; the out-of-cloud service node is deployed outside the cloud platform; the first acceleration node determines a second acceleration node in the plurality of acceleration nodes based on the time delays from the plurality of acceleration nodes to the out-of-cloud service node, and sends an access message to the second acceleration node by using the network of the cloud platform; and the second acceleration node sends the access message to the out-of-cloud service node, receives an access response of the out-of-cloud service node for the access message, and provides the access response to the client. The purpose of accelerating access can be achieved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese patent application No. 202310807368.8, filed on June 30, 2023, and entitled “Access method and cloud system based on cloud services”, the entire contents of which are incorporated by reference in this disclosure. Technical Field

[0002] The present application relates to the field of cloud service technology, and in particular to a cloud service providing method and system. Background Art

[0003] With the rapid development of network technology, more and more services can be provided to users through the network. For example, service providers can deploy service nodes in the network. When users need to use the services provided by the service nodes, they can access the service nodes through the client used by the users to use the services provided by the service nodes. In this way, the transmission delay of the access message used to access the service node in the network becomes part of the delay of accessing the service.

[0004] Currently, the client usually sends an access message to the service node through the public network (Internet).

[0005] Since the public network has poor stability, it will affect the latency of accessing services. Summary of the invention

[0006] This application provides a cloud service provision method and system. This application can achieve the purpose of accelerating access. The technical solution provided by this application is as follows:

[0007] In a first aspect, the present application provides a cloud service provision method. The method is applied to a cloud service provision system. The system is deployed in a cloud platform. The system includes: multiple acceleration nodes, and the multiple acceleration nodes include: a first acceleration node and a second acceleration node. The method includes: the first acceleration node receives an access message sent by a client, the access message indicates access to an off-cloud service node, and the off-cloud service node is deployed outside the cloud platform; the first acceleration node determines a second acceleration node among multiple acceleration nodes based on the delay from multiple acceleration nodes to the off-cloud service node, and sends an access message to the second acceleration node using the network of the cloud platform; the second acceleration node sends an access message to the off-cloud service node, receives an access response from the off-cloud service node to the access message, and provides an access response to the client.

[0008] In this way, the access message sent by the client can be sent to the second acceleration node through the first acceleration node and the network of the cloud platform in turn during the transmission process, and then sent from the second acceleration node to the cloud service node. Since the second acceleration node is selected from multiple acceleration nodes based on the delay from the acceleration node to the cloud service node, the access message is sent to the cloud service node through the second acceleration node, which can ensure the transmission delay of the access message from the second acceleration node to the cloud service node. In addition, since the cloud platform has a large amount of resources, it can provide a stable and fast network. The first acceleration node sends the access message to the second acceleration node through the network of the cloud platform, which can ensure the transmission delay of the access message between the first acceleration node and the second acceleration node. In this way, the access message is sent to the cloud service node through the first acceleration node, the network of the cloud platform and the second acceleration node in turn, which can ensure the transmission delay of the access message sent by the client to the cloud service node, thereby achieving the purpose of accelerated access.

[0009] Optionally, the delay from the target acceleration node to the off-cloud service node among the multiple acceleration nodes includes: the delay from the first acceleration node to the target acceleration node and the delay from the target acceleration node to the off-cloud service node. At this time, the first acceleration node may optionally determine the sum of the first delay and the second delay as the delay from the target acceleration node to the off-cloud service node. Alternatively, considering that the network of the cloud platform has higher stability and transmission rate than the public network, and the public network has a greater impact on the transmission delay, the first acceleration node may optionally determine the weighted sum of the first delay and the second delay as the delay from the target acceleration node to the off-cloud service node, and the weight of the first delay is less than the weight of the second delay.

[0010] Alternatively, since the cloud platform can provide a relatively stable and fast network, the difference in the transmission delay of the access message between the first acceleration node and other acceleration nodes in the cloud service providing system is small, then the delay from the target acceleration node to the cloud service node in the multiple acceleration nodes includes: the delay from the target acceleration node to the cloud service node. At this time, the delay between the first acceleration node and the target acceleration node is ignored. The target acceleration node is any one of the multiple acceleration nodes.

[0011] In one implementation, the second acceleration node is the acceleration node with the shortest latency to the off-cloud service node among the multiple acceleration nodes. In this way, by forwarding access messages to the off-cloud service node through the second acceleration node, the public network with unstable latency can be used as little as possible to transmit access messages, thereby ensuring the transmission latency of access messages to the greatest extent.

[0012] Optionally, when determining the second acceleration node, the first acceleration node may optionally determine the second acceleration node in combination with the delay and other factors. For example, the second acceleration node may be determined in combination with the delay and the load. Then the first acceleration node determines the second acceleration node among the multiple acceleration nodes based on the delay from the multiple acceleration nodes to the cloud-external service node, including: the first acceleration node determines the second acceleration node among the multiple acceleration nodes based on the delay from the multiple acceleration nodes to the cloud-external service node and the load of the multiple acceleration nodes. For example, after the first acceleration node obtains the delay from the multiple acceleration nodes to the cloud-external service node, the delay from the multiple acceleration nodes to the cloud-external service node is sorted in order from small to large, and then the acceleration node with the smallest delay is judged to determine whether the load of the acceleration node exceeds the specified threshold. When the load of the acceleration node does not exceed the specified threshold, the acceleration node is determined as the second acceleration node. When the load of the acceleration node exceeds the specified threshold, the judgment logic is continued to be executed on the acceleration node with the second smallest delay, and the judgment logic is cycled in sequence until the second acceleration node is determined. In this way, by forwarding the access message to the off-cloud service node through the second acceleration node, the use of the public network with unstable latency to transmit the access message can be minimized, thereby ensuring the transmission latency of the access message to the greatest extent.

[0013] In one implementation, before the second acceleration node provides an access response to the client, the method further includes: the second acceleration node records the correspondence between the access message and the first acceleration node. Then the second acceleration node provides an access response to the client, including: the second acceleration node sends an access response to the first acceleration node based on the correspondence using the network of the cloud platform, so that the first acceleration node sends an access response to the client. Optionally, the second acceleration node records the correspondence between the access message and the first acceleration node, which can be a five-tuple information recording the access message. The five-tuple information includes the source IP address, source port, destination IP address, destination port and transport layer protocol. In this way, the same source and same traceability of the access response can be achieved.

[0014] Optionally, the system further includes a domain name service node, which records the correspondence between the domain name of the off-cloud service node and the IP address of the first acceleration node. Before the first acceleration node receives the access message sent by the client, the method further includes: the domain name service node receives the domain name resolution request sent by the client, the domain name resolution request carries the domain name of the off-cloud service node; the domain name service node performs domain name resolution based on the domain name of the off-cloud service node, obtains the IP address of the first acceleration node, and sends a domain name resolution response to the client, the domain name resolution response carries the IP address of the first acceleration node.

[0015] In one implementation, the system further includes a management node, and before the domain name service node receives the domain name resolution request sent by the client, the method further includes: the management node obtains the domain name of the off-cloud service node, and configures the corresponding relationship between the domain name and the first acceleration node in the domain name service node. In this way, the domain name service node can provide the client with a domain name access service based on the corresponding relationship.

[0016] In a second aspect, the present application provides a cloud service provision system. The system is deployed in a cloud platform. The system includes: a plurality of acceleration nodes, and the plurality of acceleration nodes include: a first acceleration node and a second acceleration node.

[0017] The first acceleration node is used to receive an access message sent by a client, where the access message indicates access to an off-cloud service node, where the off-cloud service node is deployed outside the cloud platform;

[0018] The first acceleration node is further used to determine a second acceleration node from the multiple acceleration nodes based on the latency from the multiple acceleration nodes to the off-cloud service node, and send an access message to the second acceleration node using a network of the cloud platform;

[0019] The second acceleration node is used to send an access message to the off-cloud service node, receive an access response from the off-cloud service node to the access message, and provide the access response to the client.

[0020] Optionally, the delay from a target acceleration node among multiple acceleration nodes to an off-cloud service node includes: the delay from a first acceleration node to a target acceleration node and the delay from a target acceleration node to an off-cloud service node, or the delay from a target acceleration node to an off-cloud service node, and the target acceleration node is any one of the multiple acceleration nodes.

[0021] Optionally, the second acceleration node is an acceleration node having the shortest latency to the off-cloud service node among the multiple acceleration nodes.

[0022] Optionally, the first acceleration node is specifically used to determine the second acceleration node among the multiple acceleration nodes based on the delays from the multiple acceleration nodes to the off-cloud service node and the loads of the multiple acceleration nodes.

[0023] Optionally, the second acceleration node is further used to record the corresponding relationship between the access message and the first acceleration node. Then the second acceleration node is specifically used to send an access response to the first acceleration node using the network of the cloud platform based on the corresponding relationship, so that the first acceleration node sends the access response to the client.

[0024] Optionally, the system further includes a domain name service node, which records the correspondence between the domain name of the off-cloud service node and the IP address of the first acceleration node. The domain name service node is used to receive a domain name resolution request sent by a client, the domain name resolution request carries the domain name of the off-cloud service node; the domain name service node is also used to perform domain name resolution based on the domain name of the off-cloud service node, obtain the IP address of the first acceleration node, and send a domain name resolution response to the client, the domain name resolution response carries the IP address of the first acceleration node.

[0025] Optionally, the system further includes a management node; the management node is used to obtain the domain name of the off-cloud service node, and configure a correspondence between the domain name and the first acceleration node in the domain name service node.

[0026] In a third aspect, the present application provides a computing device including a memory and a processor, wherein the memory stores program instructions, and the processor runs the program instructions to execute the method provided in the first aspect of the present application and any possible implementation thereof.

[0027] In a fourth aspect, the present application provides a computing device cluster, including multiple computing devices, the multiple computing devices including multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors running the program instructions, so that the computing device cluster executes the method provided in the first aspect of the present application and any possible implementation thereof.

[0028] In a fifth aspect, the present application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium, and the computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device executes the method provided in the first aspect of the present application and any possible implementation thereof.

[0029] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method provided in the first aspect of the present application and any possible implementation thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 This is a schematic diagram of a process of a client accessing an off-cloud service node provided by an embodiment of the present application;

[0031] Figure 2 It is a structural diagram of an implementation environment involved in a cloud service providing method provided in an embodiment of the present application;

[0032] Figure 3 It is a structural diagram of an implementation environment involved in another cloud service providing method provided in an embodiment of the present application;

[0033] Figure 4 It is a flow chart of a cloud service providing method provided by an embodiment of the present application;

[0034] Figure 5 It is a schematic diagram of an implementation of a cloud service providing method provided in an embodiment of the present application;

[0035] Figure 6 is a schematic diagram of a cloud service purchase interface provided in an embodiment of the present application;

[0036] Figure 7 It is a schematic diagram of another cloud service providing method provided in an embodiment of the present application;

[0037] Figure 8 This is a schematic diagram of an implementation of selecting a second acceleration node provided in an embodiment of the present application;

[0038] Fig. 9 It is a schematic diagram of implementing another cloud service providing method provided in an embodiment of the present application;

[0039] Fig.10 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0040] Fig.11 It is a structural diagram of a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION

[0041] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0042] To facilitate understanding, the technology and background involved in the embodiments of the present application are first explained below.

[0043] Virtual private cloud (VPC) is a network isolation through logical means, providing a secure and isolated network environment. Users can define virtual networks in VPC that are no different from traditional networks, while providing advanced network services such as elastic internet protocol (EIP) and security groups. From a service perspective, VPC refers to a cloud, a cloud computing service, and a collection of resources that runs on a public cloud and isolates a portion of public cloud resources for a certain user for private use by this user. It is managed by the public cloud and runs on public resources, but it ensures that the resources between each user are isolated, and when users use them, they are not affected by other users and feel like they are using their own private cloud. For example, a virtual private network includes multiple computing instances (such as virtual machines) with specified network relationships.

[0044] Network address translation (NAT) technology is a technology used in computer networks. It converts a set of Internet Protocol (IP) addresses into another set of IP addresses. For example, by replacing the address information in the IP message header, at least one of the destination IP address and the source IP address of the message to be sent is converted. NAT technology may include: destination network address translation (DNAT) technology, source network address translation (SNAT) technology, and source / destination network address translation (Full Network Address Translation, FullNAT). DNAT refers to address translation of the destination IP address of the message. SNAT refers to address translation of the source IP address of the message. FullNAT refers to address translation of both the destination IP address and the source IP address of the message. NAT is usually used to map a set of private IP addresses to a public IP address. This can help solve the problem of Internet Protocol version 4 (IPv4) address shortage and enhance network security. For example, NAT64 can translate Internet Protocol version 6 (IPv6) packets into IPv4 packets. Similarly, NAT46 can translate IPv4 packets into IPv6 packets.

[0045] Load balancing (LB) is a network technology that distributes traffic to multiple servers or devices in order to balance the load and improve the reliability, availability, and performance of the system.

[0046] Elastic Internet Protocol (EIP) address refers to the IP address used by computer devices in a private network to access the public network.

[0047] Cloud Backbone is a software defined wide area network (SD-WAN), which is a network abstracted from hardware, creating a virtualized network coverage. It enables customers to build, manage and monitor a unified global network faster and easier, allowing customers to connect offline Internet data centers (IDCs), branches and public clouds to a unified global network through the global cloud service panel, and customers can get a unified view of the global network.

[0048] Domain name resolution is to point a domain name to the IP of a website space. It is a service that allows users to easily access a website through a registered domain name. An IP address is a digital address that identifies a site on the Internet. An IP address is usually a piece of data with a fixed length and is difficult to remember. In order to facilitate memory, a domain name is used instead of an IP address to identify a site address. Therefore, domain name resolution is the process of converting a domain name to an IP address. For example, the process of obtaining the IP address corresponding to a host name through a host name is called domain name resolution (or host name resolution), without having to remember the IP number string that can be directly read by a machine. Domain name resolution operations are usually performed by a domain name system (DNS). DNS is a distributed database on the Internet that maps domain names and IP addresses to each other, enabling users to access the Internet more conveniently.

[0049] Virtual machine (VM): refers to a complete computer system with complete hardware system functions and running in a completely isolated environment, which is simulated by virtualization technology. Some instruction subsets of the virtual machine can be processed in the host machine, and other instructions can be executed in a simulated manner. Users can purchase cloud services by renting virtual machines. As a possible implementation of a virtual machine, the virtual machine in the embodiment of the present application can be an elastic cloud server (elastic compute service, ECS).

[0050] Global accelerator (GA) is a service that improves the global access speed of applications.

[0051] A VPC endpoint is a service that provides a convenient, secure, and private channel within a VPC to connect endpoints to services.

[0052] A backbone network is a high-speed network used to connect multiple regions or areas. Each backbone network has at least one connection point for interconnection with other backbone networks. Different network providers usually have their own backbone networks to connect their networks in different regions. For cloud operators, in order to better serve users, they usually build their own global backbone networks.

[0053] Network service provider point (also called point of presence, POP), in computer networks, POP is located outside the edge of the enterprise network and is the entry point to the internal enterprise network. Services provided by the outside world are accessed through POP, including Internet access, wide area connection, and telephone service. In an enterprise, POP provides links to external services and sites. POP can be directly connected to one or more Internet service providers (ISPs), so that internal users can access the Internet through these links. The remote sites of an enterprise are also connected together through POPs, and the wide area links between these remote sites are established by the service provider. For an ISP, a POP is a point of entry that connects the Internet from one place to another.

[0054] The acceleration gateway (also called accelerator) is deployed at the cloud operator POP, so that Internet users can access the cloud operator backbone network nearby and reach the back-end service through the cloud operator backbone network. In the embodiment of the present application, the acceleration gateway deployed at the POP point can send messages in anycast transmission mode or unicast transmission mode.

[0055] Currently, when a user needs to use the services provided by a service node, he or she can access the service node through the client used by the user to use the services provided by the service node. Figure 1 As shown in the figure, when a client deployed in a region of a cloud platform needs to use the service provided by a service node S, it sends an access message to the service node S through the public network (Internet), so that the service node S can provide services to the client based on the access message. In this way, the transmission delay of the access message used to access the service node in the network becomes part of the delay of accessing the service. However, due to the poor stability of the public network, it will affect the delay of accessing the service. This impact is particularly obvious when the client is accessing across borders or over long distances.

[0056] Based on this, an embodiment of the present application provides a cloud service provision method. The method is applied to a cloud service provision system. The cloud service provision system is deployed in a cloud platform. The cloud service provision system includes: multiple acceleration nodes. The multiple acceleration nodes include: a first acceleration node and a second acceleration node. In the cloud service provision method, the first acceleration node receives an access message sent by a client, and then, based on the delay from multiple acceleration nodes to an off-cloud service node, determines a second acceleration node among multiple acceleration nodes, and uses the network of the cloud platform to send an access message to the second acceleration node. After receiving the access message, the second acceleration node accesses the off-cloud service node based on the access message, and after receiving an access response from the off-cloud service node to the access message, provides an access response to the client. Among them, the access message indicates access to an off-cloud service node. The off-cloud service node is deployed outside the cloud platform. Among them, the first acceleration node is an acceleration node that connects the client's access message to the network of the cloud platform. The second acceleration node is an acceleration node that transfers the access message from the network of the cloud platform to the off-cloud service node.

[0057] In this way, the access message sent by the client can be sent to the second acceleration node through the first acceleration node and the network of the cloud platform in turn during the transmission process, and then sent from the second acceleration node to the cloud service node. Since the second acceleration node is selected from multiple acceleration nodes based on the delay from the acceleration node to the cloud service node, the access message is sent to the cloud service node through the second acceleration node, which can ensure the transmission delay of the access message from the second acceleration node to the cloud service node. In addition, since the cloud platform has a large amount of resources, it can provide a stable and fast network. The first acceleration node sends the access message to the second acceleration node through the network of the cloud platform, which can ensure the transmission delay of the access message between the first acceleration node and the second acceleration node. In this way, the access message is sent to the cloud service node through the first acceleration node, the network of the cloud platform and the second acceleration node in turn, which can ensure the transmission delay of the access message sent by the client to the cloud service node, thereby achieving the purpose of accelerated access.

[0058] This article provides a detailed introduction to the technical solution of the present application from multiple perspectives, including implementation scenarios, system composition, method flow, and hardware devices.

[0059] The following is an example of an application scenario of the embodiment of the present application.

[0060] Figure 2 Schematic diagram of the implementation environment of a cloud service provision method provided in an embodiment of the present application. Figure 2As shown, the implementation environment includes: a cloud platform 1 and a client 2. A communication connection can be established between the cloud platform 1 and the client 2 through a network. Optionally, the network can be a local area network, the Internet, or other networks, which is not limited in the embodiments of the present application. Users (also referred to as tenants or cloud tenants) can interact with the cloud platform 1 through the client 2. For example, a user can send instructions and service requests and other information to the cloud platform 1 through the client 2. The cloud platform 1 is used to provide corresponding cloud services to users based on the information sent by the client 2 to the cloud platform 1. The cloud service can be provided as an independent cloud service or as an additional service to other cloud services, which is not specifically limited in the embodiments of the present application.

[0061] The client 2 may be a computer, a personal computer, a laptop computer, a mobile phone, a smart phone, a tablet computer, a cloud host, a portable mobile terminal, a multimedia player, an e-book reader, a wearable device, a smart home appliance, an artificial intelligence device, a smart wearable device, a smart vehicle device, or an Internet of Things device, etc. Optionally, the client may be deployed in a VPC, and the client may use an EIP to send a message to a node outside the VPC.

[0062] In the embodiment of the present application, the cloud platform 1 can be a cloud platform 1 of a central cloud, a cloud platform 1 of an edge cloud, or a cloud platform 1 including a central cloud and an edge cloud, and the embodiment of the present application does not specifically limit it. Moreover, when the cloud platform 1 is a cloud platform 1 including a central cloud and an edge cloud, the cloud service providing method provided in the embodiment of the present application can be partially executed by the cloud platform 1 deployed in the edge cloud and partially executed by the cloud platform 1 deployed in the central cloud. Moreover, the cloud platform 1 can be a cloud platform of a private cloud or a public cloud, and the embodiment of the present application does not specifically limit it.

[0063] A large number of basic resources owned by the cloud service provider are deployed in the cloud platform 1, such as computing resources, storage resources, and network resources. For example, computing resources are computing devices (such as servers, etc.) that can provide computing capabilities. The cloud platform 1 can use the basic resources deployed in the cloud platform 1 to deploy a cloud system to provide corresponding cloud services to users using the cloud system. For example, the cloud platform 1 includes: one or more cloud systems. Each cloud system can establish a communication connection with a network system outside the cloud platform 1. When the cloud platform 1 includes multiple cloud systems, a communication connection can be established between the multiple cloud systems. For example, Figure 2As shown, the cloud platform 1 includes a cloud service providing system 11. The cloud service providing system 11 is used to provide cloud services to users. In one implementation, the cloud service providing system 11 includes multiple acceleration nodes 111, and the acceleration nodes 111 are used to provide acceleration services to users. A communication connection can be established between multiple acceleration nodes 111. For example, a communication connection is established between multiple acceleration nodes 111 through the network of the cloud platform. Optionally, the acceleration node 111 is implemented in one or more ways such as a physical machine, a bare metal server, a cloud server, a virtual machine, a container or an agent. The multiple acceleration nodes 111 in the cloud service providing system 11 are optionally deployed in multiple regions, and one or more acceleration nodes 111 are optionally deployed in each region. Alternatively, the multiple acceleration nodes 111 are optionally deployed in multiple availability zones (AZ), and one or more acceleration nodes 111 are optionally deployed in each availability zone.

[0064] Optional, such as Figure 3 As shown, the cloud service providing system 11 also includes: a domain name service node 112. The domain name service node 112 is used to provide domain name resolution services. For example, when a client needs to access a domain name, a domain name resolution request is sent to the domain name service node 112. The domain name service node 112 is used to perform domain name resolution based on the domain name resolution request and provide the client with the IP address corresponding to the domain name. In one implementation, when the resources of the cloud platform are deployed in multiple areas, a domain name service node 112 is deployed in each area, and the domain name service node 112 deployed in each area is responsible for the domain name resolution work related to the acceleration node 111 in the area.

[0065] Further, such as Figure 3 As shown, the cloud service providing system 11 further includes: a management node 113. The management node 113 is used to manage each node in the cloud service providing system 11. In one implementation, the management node 113 is used to configure the correspondence between the domain name and the IP address in the domain name service node 112, so that the domain name service node 112 provides a domain name resolution service based on the correspondence.

[0066] In an embodiment of the present application, a user can access the cloud platform through the client 2 and send an access message to the first acceleration node 111, so that the first acceleration node 111 forwards the access message to the off-cloud service node to achieve the purpose of accelerated access. At this time, the function of the cloud service provider system 11 to forward access messages for users to access off-cloud service nodes can be abstracted by the cloud service provider into an accelerated cloud service on the cloud platform. For example, when the cloud service provider system 11 can provide accelerated access to off-cloud service nodes deployed around the world, the accelerated cloud service is a global accelerated cloud service. In addition, the accelerated cloud service can be provided as an independent cloud service or as an additional service to other cloud services.

[0067] In one implementation, the cloud service providing method provided in the embodiment of the present application can be implemented by running an executable program on a computing device in the cloud platform 1. For example, the cloud service providing method can be optionally presented in the form of an application installation package, and after the computing device in the cloud platform 1 installs the application installation package, the corresponding function can be implemented by running the executable program therein.

[0068] It should be understood that the above content is an illustrative description of the application scenarios of the cloud service providing method provided in the embodiments of the present application, and does not constitute a limitation on the application scenarios of the cloud service providing method. Ordinary technicians in this field can know that as business needs change, its application scenarios can be adjusted according to application needs, and the embodiments of the present application do not list them one by one.

[0069] Below Figure 3 Taking the cloud service providing system shown in FIG. 1 as an example, the implementation process of the cloud service providing method provided in the embodiment of the present application is described. The method is applied to Figure 3 The cloud service providing system shown in the figure includes: a plurality of acceleration nodes. The plurality of acceleration nodes include: a first acceleration node and a second acceleration node. Figure 4 It is a flow chart of a cloud service providing method provided in an embodiment of the present application. Figure 5 Schematic diagram of a cloud service providing method provided in an embodiment of the present application. Figure 4 and Figure 5 As shown, the method comprises the following steps:

[0070] Step 401: The management node obtains the domain name of the off-cloud service node that the client needs to access. The off-cloud service node is deployed outside the cloud platform.

[0071] In one implementation, when a user needs to use a cloud service, he or she can send a cloud service purchase request to the cloud service provider system through the client he or she uses, requesting to purchase the cloud service provided by the cloud service provider system. When the cloud service provider system includes a management node, the cloud service purchase request is processed by the management node. The cloud service purchase request carries the domain name of the off-cloud service node that the client needs to access. After receiving the cloud service purchase request sent by the client, the management node can obtain the domain name of the off-cloud service node from the cloud service purchase request. For example, Figure 6 As shown, the cloud platform can provide a cloud service purchase interface to the client, so that the client can purchase cloud services through the cloud service purchase interface. The cloud service purchase interface prompts the user to enter the domain name (also called domain name address) of the off-cloud service node that he needs to access. After the user enters the relevant information in the cloud service purchase interface, a cloud service purchase request carrying the relevant information can be triggered. After the management node receives the cloud service purchase request, it can obtain the domain name of the off-cloud service node that the client needs to access from the cloud service request. Among them, the off-cloud service node is a service node deployed outside the cloud platform. For example, the off-cloud service node is a service node that provides cross-border services or accesses the public network.

[0072] Step 402: The management node configures the corresponding relationship between the domain name of the off-cloud service node and the first acceleration node in the domain name service node.

[0073] In the present application, the access message from the client to the off-cloud service node needs to be forwarded through the acceleration node of the cloud service provider system. In addition, when the cloud service provider system forwards the access message, it connects the client's access message to the cloud platform's network through the first acceleration node. Then, the first acceleration node uses the cloud platform's network to send the access message to the second acceleration node, and then the access message is transferred from the cloud platform's network to the off-cloud service node through the second acceleration node. Therefore, when the client uses the accelerated cloud service provided by the cloud service provider system, the access message is actually sent to the first acceleration node. After the management node obtains the domain name of the off-cloud service node, it needs to configure the correspondence between the domain name of the off-cloud service node and the first acceleration node in the domain name service node, so that the client can send the access message to the first acceleration node based on the correspondence. For example, Figure 7 As shown in the figure, the client is deployed in the VPC of region1, and a domain name resolution node is deployed in region1. The management node obtains the domain name of the off-cloud service node that the client needs to access. Figure 7 In the domain name service node shown, the corresponding relationship between the domain name of the off-cloud service node and the first acceleration node is configured.

[0074] In one implementation, the management node may first optionally allocate a first acceleration node to the client, and then configure the correspondence between the first acceleration node and the domain name of the off-cloud service node in the domain name service node. For example, the management node obtains the deployment location of the client, and allocates the first acceleration node to the client according to the deployment location. Optionally, the management node allocates the acceleration node closest to the deployment location of the client among multiple acceleration nodes in the cloud service provision system as the first acceleration node corresponding to the client.

[0075] Wherein, when multiple domain name service nodes are deployed in the cloud platform, the domain name service node that provides domain name resolution service for the client can be selected as the domain name service node allocated to the client from the multiple domain name service nodes by the management node. For example, the management node obtains the deployment location of the client and allocates the domain name service node to the client according to the deployment location. Optionally, the management node allocates the domain name service node closest to the deployment location of the client from the multiple domain name service nodes of the cloud service provision system as the domain name service node that provides domain name resolution service for the client.

[0076] Step 403: The client sends a domain name resolution request to the domain name service node. The domain name resolution request carries the domain name of the off-cloud service node.

[0077] When a client needs to access an off-cloud service node, it needs to first send a domain name resolution request carrying the domain name of the off-cloud service node to the domain name service node, so that the domain name service node can provide the client with the IP address of the first acceleration node that forwards the access message to the client. When multiple domain name service nodes are deployed in the cloud platform, the domain name service node that provides domain name resolution services to the client is the domain name service node that the management node pre-assigns to the client from the multiple domain name service nodes. For example, Figure 7 As shown, the client sends a domain name resolution request to the domain name resolution node in region1.

[0078] Step 404: The domain name service node performs domain name resolution based on the domain name of the off-cloud service node, obtains the IP address of the first acceleration node, and sends a domain name resolution response to the client. The domain name resolution response carries the IP address of the first acceleration node.

[0079] After receiving the domain name resolution request, the domain name service node first obtains the domain name of the off-cloud service node carried in the domain name resolution request, and then determines the IP address of the first acceleration node corresponding to the domain name based on the correspondence between the domain name of the off-cloud service node and the first acceleration node recorded by the domain name service node, and sends a domain name resolution response carrying the IP address to the client.

[0080] Step 405: The client sends an access message to the first acceleration node based on the IP address of the first acceleration node, where the access message indicates access to an off-cloud service node.

[0081] After the client receives the domain name resolution response, it can obtain the IP address of the first acceleration node carried in the domain name resolution response, and based on the IP address of the first acceleration node, send an access message to the first acceleration node indicating access to the off-cloud service node. In one implementation, the access message carries identification information of the off-cloud service node, and the identification information is used to indicate that the client needs to access the off-cloud service node. Optionally, the identification information of the off-cloud service node is a uniform resource locator (URL) or domain name of the off-cloud service node. Among them, the source IP address of the access message is the IP address of the client, and the destination IP address is the IP address of the first acceleration node. In addition, the client can be deployed in a VPC, and the client can use EIP to send messages to nodes outside the VPC. For example, if Figure 5 and Figure 7 As shown in , the client sends an access message to the GA1 node in region1. Figure 7 As shown, when the client is configured with an EIP, the client uses the EIP to send an access message to the GA1 node in region1.

[0082] Step 406: The first acceleration node determines a second acceleration node from the multiple acceleration nodes based on the latency from the multiple acceleration nodes to the off-cloud service node, and sends an access message to the second acceleration node using the network of the cloud platform.

[0083] After receiving the access message sent by the client, the first acceleration node can determine that the access message is used to access the off-cloud service node, and then determine the second acceleration node from the multiple acceleration nodes in the cloud service providing system based on the delay from the multiple acceleration nodes to the off-cloud service node. After obtaining the access message, the first acceleration node can parse the access message to obtain the identification information of the off-cloud service node carried in the access message, thereby determining that the access message is used to access the off-cloud service node.

[0084] Optionally, the second acceleration node is an acceleration node with the smallest delay to the cloud service node among multiple acceleration nodes. Alternatively, when determining the second acceleration node, the first acceleration node may optionally determine the second acceleration node in combination with the delay and other factors. For example, the second acceleration node may be determined in combination with the delay and the load. Then the first acceleration node determines the second acceleration node among multiple acceleration nodes based on the delay from multiple acceleration nodes to the cloud service node, including: the first acceleration node determines the second acceleration node among multiple acceleration nodes based on the delay from multiple acceleration nodes to the cloud service node and the load of multiple acceleration nodes. For example, after the first acceleration node obtains the delay from multiple acceleration nodes to the cloud service node, the delay from multiple acceleration nodes to the cloud service node is sorted in order from small to large delay, and then the acceleration node with the smallest delay is judged to determine whether the load of the acceleration node exceeds the specified threshold. When the load of the acceleration node does not exceed the specified threshold, the acceleration node is determined as the second acceleration node. When the load of the acceleration node exceeds the specified threshold, the judgment logic is continued to be executed on the acceleration node with the second smallest delay, and the judgment logic is cycled in sequence until the second acceleration node is determined. In this way, by forwarding the access message to the off-cloud service node through the second acceleration node, the use of the public network with unstable latency to transmit the access message can be minimized, thereby ensuring the transmission latency of the access message to the greatest extent.

[0085] According to the previous description, the second acceleration node is an acceleration node that transfers the access message from the cloud platform's network to the off-cloud service node. The delay from the target acceleration node to the off-cloud service node among the multiple acceleration nodes includes: the delay from the first acceleration node to the target acceleration node (hereinafter referred to as the first delay) and the delay from the target acceleration node to the off-cloud service node (hereinafter referred to as the second delay). At this time, the first acceleration node may optionally determine the sum of the first delay and the second delay as the delay from the target acceleration node to the off-cloud service node. Alternatively, considering that the cloud platform's network has higher stability and transmission rate than the public network, and the public network has a greater impact on the transmission delay, the first acceleration node may optionally determine the weighted sum of the first delay and the second delay as the delay from the target acceleration node to the off-cloud service node, and the weight of the first delay is less than the weight of the second delay. For example, if Figure 8As shown, assuming that the cloud service provision system includes acceleration node 1, acceleration node 2, acceleration node 3 and acceleration node 4, and acceleration node 1 is the first acceleration node. When the client needs to access the off-cloud service node, the first acceleration node obtains: the first delay t12 from the first acceleration node to acceleration node 2, the first delay t13 from the first acceleration node to acceleration node 3, the first delay t14 from the first acceleration node to acceleration node 4, the second delay t2 from acceleration node 2 to the off-cloud service node, the second delay t3 from acceleration node 3 to the off-cloud service node, and the second delay t4 from acceleration node 4 to the off-cloud service node, and the first delay is equal to the second delay t12. The weights of the two delays are 0.1 and 0.9 respectively. Then, the weighted sum of the delays of the first acceleration node sending access messages to the off-cloud service node through acceleration node 2 is 0.1×t12+0.9×t2, the weighted sum of the delays of the first acceleration node sending access messages to the off-cloud service node through acceleration node 3 is 0.1×t13+0.9×t3, and the weighted sum of the delays of the first acceleration node sending access messages to the off-cloud service node through acceleration node 4 is 0.1×t14+0.9×t4. Then, the first acceleration node determines the second acceleration node among acceleration node 2, acceleration node 3 and acceleration node 4 according to the weighted sum.

[0086] Alternatively, since the cloud platform can provide a relatively stable and fast network, the difference in the transmission delay of the access message between the first acceleration node and other acceleration nodes in the cloud service providing system is small, then the delay from the target acceleration node to the cloud service node in the multiple acceleration nodes includes: the delay from the target acceleration node to the cloud service node. At this time, the delay between the first acceleration node and the target acceleration node is ignored. The target acceleration node is any one of the multiple acceleration nodes.

[0087] The delay from the acceleration node to the out-of-cloud service node can be obtained by multiple implementation methods. The following implementation methods are used as examples to illustrate it. In one implementation method, the delay from the acceleration node to the out-of-cloud service node is obtained by delay detection. For example, the delay from the target acceleration node to the out-of-cloud service node can be obtained by the target acceleration node sending a detection frame (such as pin) to the out-of-cloud service node. In another implementation method, the delay from the acceleration node to the out-of-cloud service node is obtained based on the location of the acceleration node to the out-of-cloud service node. For example, an IP map is stored in the acceleration node, and the IP address is used to indicate the deployment location of each acceleration node and out-of-cloud service node. The acceleration node can obtain the distance between the acceleration node and the out-of-cloud service node based on the IP address. Combined with the distance and the network configuration between the acceleration node and the out-of-cloud service node, the acceleration node can estimate the delay between it and the out-of-cloud service node. In another implementation method, the delay from the acceleration node to the out-of-cloud service node is obtained based on the delay obtained by the delay detection and the delay obtained based on the deployment location. For example, the latency from the acceleration node to the off-cloud service node is the weighted sum of the latency obtained by latency detection and the latency obtained based on the deployment location.

[0088] Optionally, there are multiple implementations for the first acceleration node to send the access message to the second acceleration node using the network of the cloud platform. In one implementation, the first acceleration node directly sends the access message to the second acceleration node using the network of the cloud platform. Figure 5 and Figure 7 As shown, the first acceleration node directly uses the cloud backbone network to send the access message to the second acceleration node. Alternatively, the acceleration nodes in the cloud service provision system include multiple other acceleration nodes in addition to the first acceleration node and the second acceleration node. The first acceleration node sends the access message to the second acceleration node through the network of one or more other acceleration nodes and the cloud platform. For example, Fig. 9As shown, the cloud service providing system also includes a third acceleration node GA3 and a fourth acceleration node GA4, the third acceleration node GA3 is deployed in region3, and the fourth acceleration node GA4 is deployed in region4. In the process of the first acceleration node sending an access message to the second acceleration node, the first acceleration node first sends an access message to the third acceleration node GA3, and then the third acceleration node GA3 sends an access message to the fourth acceleration node GA4, and then the fourth acceleration node GA4 sends an access message to the second acceleration node. Among them, when the first acceleration node sends an access message to the second acceleration node through other acceleration nodes, it is necessary to ensure the access delay. For example, it is at least necessary to ensure that the delay from the first acceleration node to the cloud service node is less than or equal to the delay from the first acceleration node to the cloud service node when the first acceleration node directly uses the network of the cloud platform to send the access message to the second acceleration node. Further, the other acceleration nodes can also be determined by the packet loss rate and load during the comprehensive transmission process. In addition, the other acceleration nodes can be optionally determined by the software defined network (SDN).

[0089] Since the source IP address of the access message is the IP address of the client, and the destination IP address is the IP address of the first acceleration node, before the first acceleration node uses the network of the cloud platform to send the access message to the second acceleration node, it is necessary to perform an address conversion operation on the access message. The address conversion operation at least includes: converting the destination IP address of the access message to the IP address of the second acceleration node. Optionally, based on considerations such as secure communication, the address conversion also includes: converting the source IP address of the access message. For example, the first acceleration node converts the source IP address of the access message to the IP address of the first acceleration node.

[0090] Since the cloud platform has a large amount of resources, it can provide a stable and fast network. For example, different acceleration nodes are connected through the cloud backbone network. When the first acceleration node uses the cloud platform network to send an access message to the second acceleration node, it can be optionally used to increase the data packet to transmit the access message. For example, a data packet with a maximum transmission unit (MTU) of 8500 bits or even larger is used to transmit the access message. In addition, the first acceleration node sends the access message to the second acceleration node, which can be implemented by EIP or VPC Endpoint.

[0091] For example, Figure 5 and Figure 7As shown, when a client accesses the object storage service (OBS) provided by the off-cloud service node, the first acceleration node used by the client is the GA1 node in region1, and the second acceleration node is the GA2 node in region2. After the GA1 node determines that the acceleration node that transfers the access message from the cloud platform network to the off-cloud service node is the GA2 node, it can use the cloud platform network to send the access message to the GA2 node. Among them, the GA1 node and the GA2 node are deployed in the public cloud, and the off-cloud service node is deployed outside the public cloud.

[0092] In one implementation, the first acceleration node is configured with a parsing module, an IP map module, a proxy / cache module, and an address conversion module. The parsing module is used to parse the access message to obtain the identification information of the off-cloud service node carried in the access message. The IP map module is used to store the IP map. The proxy / cache module is used to cache the received access message. The address conversion module is used to perform an address conversion operation on the address of the access message.

[0093] Step 407: The second acceleration node sends an access message to the off-cloud service node, receives an access response from the off-cloud service node to the access message, and sends an access response to the first acceleration node using the network of the cloud platform.

[0094] After receiving the access message, the second acceleration node can send the access message to the off-cloud service node to access the off-cloud service node based on the access message. Figure 5 and Figure 7 As shown, the GA2 node uses the Internet to send the access message to the off-cloud service node. In one implementation, before the second acceleration node sends the access message to the off-cloud service node, it can optionally cache the access response first, perform address conversion on the access message, and then use the network of the cloud platform to send the access message after the converted address to the off-cloud service node. When the second acceleration node performs address conversion on the access message, the second acceleration node can optionally obtain the identification information of the off-cloud service node from the access message first, and then obtain the IP address of the off-cloud service node based on the identification information, and convert the destination IP address of the access message to the IP address of the off-cloud service node. Among them, obtaining the IP address of the off-cloud service node based on the identification information can be optionally implemented by domain name resolution. For example, a domain name resolution server is set in the public network, and the second acceleration node can optionally send a domain name resolution request to the domain name resolution server, and the domain name resolution request carries the identification information of the off-cloud service node. After receiving the domain name resolution request, the domain name resolution server can provide the IP address of the off-cloud service node to the second acceleration node.

[0095] After the second acceleration node receives the access message sent by the first acceleration node, it can optionally record the corresponding relationship between the access message and the first acceleration node. After receiving the access response of the off-cloud service node to the access message, the second acceleration node can determine that the recipient of the access response is the first acceleration node based on the corresponding relationship, and send the access response to the first acceleration node. Figure 5 and Figure 7 As shown, the GA2 node sends an access response to the GA1 node. Before the second acceleration node sends an access response to the first acceleration node, it is also necessary to perform an address conversion operation on the access response. For the implementation process, please refer to the previous description accordingly, which will not be repeated here. Optionally, the second acceleration node records the correspondence between the access message and the first acceleration node, which can be a five-tuple information recording the access message. The five-tuple information includes the source IP address, source port, destination IP address, destination port and transport layer protocol. In this way, the access response can be traced back to the same source.

[0096] Step 408: The first acceleration node sends an access response to the client.

[0097] After receiving the access response, the first acceleration node can forward the access response to the client so that the client can use the information carried in the access response. Figure 5 and Figure 7 As shown, the GA1 node forwards the access response to the client. Before the first acceleration node sends the access response to the client, it also needs to perform an address conversion operation on the access response. Please refer to the previous description for its implementation process, which will not be repeated here.

[0098] As can be seen from the above, in the method for providing cloud services provided by the embodiment of the present application, the access message sent by the client can be sent to the second acceleration node through the network of the first acceleration node and the cloud platform in turn during the transmission process, and then sent from the second acceleration node to the cloud service node. Similarly, the access response can continue to use this path for transmission. Since the second acceleration node is selected from multiple acceleration nodes based on the delay from the acceleration node to the cloud service node, the access message and the access response are exchanged between the second acceleration node and the cloud service node, and the transmission delay of the access message and the access response between the second acceleration node and the cloud service node can be guaranteed. In addition, since the cloud platform has a large number of resources, it can provide a stable and fast network. The first acceleration node and the second acceleration node transmit the access message and the access response through the network of the cloud platform, which can ensure the transmission delay of the access message and the access response between the first acceleration node and the second acceleration node. In this way, the access message and the access response are transmitted through the first acceleration node, the network of the cloud platform, and the second acceleration node and the cloud service node, which can ensure the transmission delay of the message used in the process of the client accessing the cloud service node, so as to achieve the purpose of accelerated access, thereby improving the user's access experience.

[0099] It should be noted that the order of steps in the cloud service providing method provided in the embodiment of the present application can be adjusted appropriately, and the steps can be increased or decreased accordingly according to the situation. Any technician familiar with the technical field can easily think of a change within the technical scope disclosed in this application, which should be included in the protection scope of this application, so it will not be repeated.

[0100] The above introduces the cloud service providing method of the embodiment of the present application. Corresponding to the above method, the embodiment of the present application also provides a cloud service providing system. Figure 2 and Figure 3 All of them are structural diagrams of a cloud service providing system provided by an embodiment of the present application. Figure 2 and Figure 3 The following multiple components are shown: Figure 2 and Figure 3 The cloud service providing system shown can perform the above Figure 4 It should be understood that the system may include more additional components than those shown or omit some of the components shown, and the embodiments of the present application are not limited to this. Optionally, the cloud service providing system may be configured on a cloud platform. Figure 2 and Figure 3 As shown, the cloud service providing system 90 includes: multiple acceleration nodes, and the multiple acceleration nodes include: a first acceleration node and a second acceleration node.

[0101] The first acceleration node is used to receive an access message sent by a client, where the access message indicates access to an off-cloud service node, where the off-cloud service node is deployed outside the cloud platform;

[0102] The first acceleration node is further used to determine a second acceleration node from the multiple acceleration nodes based on the latency from the multiple acceleration nodes to the off-cloud service node, and send an access message to the second acceleration node using a network of the cloud platform;

[0103] The second acceleration node is used to send an access message to the off-cloud service node, receive an access response from the off-cloud service node to the access message, and provide the access response to the client.

[0104] Optionally, the delay from a target acceleration node among multiple acceleration nodes to an off-cloud service node includes: the delay from a first acceleration node to a target acceleration node and the delay from a target acceleration node to an off-cloud service node, or the delay from a target acceleration node to an off-cloud service node, and the target acceleration node is any one of the multiple acceleration nodes.

[0105] Optionally, the second acceleration node is an acceleration node having the shortest latency to the off-cloud service node among the multiple acceleration nodes.

[0106] Optionally, the first acceleration node is specifically used to determine the second acceleration node among the multiple acceleration nodes based on the delays from the multiple acceleration nodes to the off-cloud service node and the loads of the multiple acceleration nodes.

[0107] Optionally, the second acceleration node is further used to record the corresponding relationship between the access message and the first acceleration node. Then the second acceleration node is specifically used to send an access response to the first acceleration node using the network of the cloud platform based on the corresponding relationship, so that the first acceleration node sends the access response to the client.

[0108] Optionally, the system further includes a domain name service node, which records the correspondence between the domain name of the off-cloud service node and the IP address of the first acceleration node. The domain name service node is used to receive a domain name resolution request sent by a client, the domain name resolution request carries the domain name of the off-cloud service node; the domain name service node is also used to perform domain name resolution based on the domain name of the off-cloud service node, obtain the IP address of the first acceleration node, and send a domain name resolution response to the client, the domain name resolution response carries the IP address of the first acceleration node.

[0109] Optionally, the system further includes a management node; the management node is used to obtain the domain name of the off-cloud service node, and configure a correspondence between the domain name and the first acceleration node in the domain name service node.

[0110] Among them, the first acceleration node, the second acceleration node, the domain name service node, and the management node can all be implemented by software, or can be implemented by hardware. Exemplarily, the implementation method of the first acceleration node is introduced below by taking the first acceleration node as an example. Similarly, the implementation method of the second acceleration node, the domain name service node, and the management node can refer to the implementation method of the first acceleration node.

[0111] As an example of a software functional unit, the first acceleration node can be implemented by running code on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above computing instance may be one or more. For example, the first acceleration node can be implemented by running code on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code can be distributed in the same region (region) or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code can be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple data centers with similar geographical locations. Among them, usually a region can include multiple AZs.

[0112] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.

[0113] As an example of a hardware functional unit, the first acceleration node may include at least one computing device, such as a server, etc. Alternatively, the first acceleration node may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0114] The multiple computing devices included in the first acceleration node can be distributed in the same region or in different regions. The multiple computing devices included in the first acceleration node can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the first acceleration node can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0115] It should be noted that, in other embodiments, any of the first acceleration node, the second acceleration node, the domain name service node, and the management node can be used to execute any step in the cloud service provision method. The steps that the first acceleration node, the second acceleration node, the domain name service node, and the management node are responsible for implementing can be specified as needed, and the first acceleration node, the second acceleration node, the domain name service node, and the management node respectively implement different steps in the cloud service provision method to achieve all the functions of the cloud service provision device.

[0116] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-described device and each node can refer to the corresponding content in the aforementioned method embodiment, and will not be repeated here.

[0117] The following is an illustration of the basic hardware structure involved in the embodiments of the present application.

[0118] The embodiment of the present application provides a computing device. The computing device is used to implement part or all of the functions of the cloud service providing method provided in the embodiment of the present application. Fig.10 Schematic diagram of a computing device provided in an embodiment of the present application. Fig.10 As shown, the computing device 1000 includes a processor 1001, a memory 1002, a communication interface 1003 and a bus 1004. The processor 1001, the memory 1002 and the communication interface 1003 are connected to each other through the bus 1004.

[0119] Processor 1001 may include a general-purpose processor and / or a dedicated hardware chip. A general-purpose processor may include: a central processing unit (CPU), a microprocessor or a graphics processing unit (GPU). The CPU is, for example, a single-core processor (single-CPU) or a multi-core processor (multi-CPU). A dedicated hardware chip is a hardware module for high-performance processing. A dedicated hardware chip includes at least one of a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or a network processor (NP). Processor 1001 may also be an integrated circuit chip having signal processing capabilities. In the implementation process, some or all of the functions of the cloud service provision method of the present application may be completed by hardware integrated logic circuits in processor 1001 or instructions in software form.

[0120] The memory 1002 is used to store computer programs, and the computer programs include an operating system 1002a and executable codes (i.e., program instructions) 1002b. The memory 1002 is, for example, a read-only memory or other types of static storage devices that can store static information and instructions, or a random access memory or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory, a read-only optical disc or other optical disc storage, an optical disc storage (including a compressed optical disc, a laser disc, an optical disc, a digital versatile disc, a blue-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired executable code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. For example, the memory 1002 is used to store an outbound port queue, etc. The memory 1002 is, for example, independent and connected to the processor 1001 via a bus 1004. Or the memory 1002 and the processor 1001 are integrated together. The memory 1002 can store executable code. When the executable code stored in the memory 1002 is executed by the processor 1001, the processor 1001 is used to perform some or all functions of the cloud service providing method provided in the embodiment of the present application. For the implementation of the process executed by the processor 1001, please refer to the relevant description in the aforementioned embodiment. The memory 1002 may also include software modules and data required for other running processes such as the operating system.

[0121] The communication interface 1003 uses a transceiver module such as, but not limited to, a transceiver to achieve communication with other devices or communication networks. For example, the communication interface 1003 can be any one or any combination of the following devices: a network interface (such as an Ethernet interface), a wireless network card, and other devices with network access functions.

[0122] The bus 1004 is any type of communication bus for interconnecting the internal devices of the computing device (e.g., the memory 1002, the processor 1001, and the communication interface 1003). For example, a system bus. The embodiment of the present application takes the interconnection of the above-mentioned devices inside the computing device through the bus 1004 as an example. Optionally, the above-mentioned devices inside the computing device 1000 can also be connected to each other in communication with each other using other connection methods other than the bus 1004. For example, the above-mentioned devices inside the computing device 1000 are interconnected through an internal logical interface.

[0123] It should be noted that the above-mentioned multiple devices can be respectively arranged on independent chips, or at least partially or completely arranged on the same chip. Whether to independently arrange each device on different chips or to integrate and arrange it on one or more chips often depends on the needs of product design. The embodiments of the present application do not limit the specific implementation form of the above-mentioned devices. The descriptions of the processes corresponding to the above-mentioned figures have different focuses. For the parts not described in detail in a certain process, please refer to the relevant descriptions of other processes.

[0124] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product providing a program development platform includes one or more computer instructions, and when these computer program instructions are loaded and executed on a computing device, all or part of the functions of the cloud service providing method provided in the embodiments of the present application are implemented.

[0125] Furthermore, 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, computer instructions may be transmitted from one website, computer, server or data center to another website, computer, server or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium stores computer program instructions that provide a program development platform.

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

[0127] Optionally, the structure of at least one computing device included in the computing device cluster can be found in Fig.10 The computing device 1000 is shown. The memory 1002 in one or more computing devices 1000 in the computing device cluster may store the same instructions for executing the cloud service providing method.

[0128] In some possible implementations, the memory 1002 of one or more computing devices 1000 in the computing device cluster may also store some instructions for executing the cloud service providing method. In other words, the combination of one or more computing devices 1000 may jointly execute the instructions for executing the cloud service providing method.

[0129] It should be noted that the memory 1002 in different computing devices 1000 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the cloud service provider. That is, the instructions stored in the memory 1002 in different computing devices 1000 can implement one or more functions of the first acceleration node, the second acceleration node, the domain name service node and the management node.

[0130] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig.11 A possible implementation is shown. Fig.11 As shown, two computing devices 1100A and 1100B are connected via a network. Specifically, the network is connected via a communication interface in each computing device. In this type of possible implementation, computing devices 1100A and 1100B include a bus 1102, a processor 1104, a memory 1106, and a communication interface 1108. The memory 1106 in the computing device 1100A stores instructions for executing the functions of the first acceleration node. At the same time, the memory 1106 in the computing device 1100B stores instructions for executing the functions of the second acceleration node, the domain name service node, and the management node.

[0131] It should be understood that Fig.11The functions of the computing device 1100A shown in the figure can also be completed by multiple computing devices 1100. Similarly, the functions of the computing device 1100B can also be completed by multiple computing devices 1100. And the deployment mode of the nodes used to implement the cloud service provision method in the computing device can also be adjusted according to the application requirements.

[0132] An embodiment of the present application also provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device implements the cloud service providing method provided in the embodiment of the present application.

[0133] The embodiment of the present application also provides a computer program product including instructions. When the computer program product is executed on a computer, the computer implements the cloud service providing method provided by the embodiment of the present application.

[0134] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0135] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions. For example, the original data and executable code involved in this application are all obtained with full authorization.

[0136] In the embodiments of the present application, the terms "first", "second" and "third" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance. The term "at least one" means one or more, and the term "plurality" means two or more, unless otherwise expressly defined.

[0137] The term "and / or" in this application is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0138] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the concept and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A cloud service providing method, characterized in that: The method is applied to a cloud service providing system, the system is deployed in a cloud platform, the system includes: a plurality of acceleration nodes, the plurality of acceleration nodes include: a first acceleration node and a second acceleration node, the method includes: The first acceleration node receives an access message sent by a client, where the access message indicates accessing an off-cloud service node, where the off-cloud service node is deployed outside the cloud platform; The first acceleration node determines the second acceleration node from the multiple acceleration nodes based on the latency from the multiple acceleration nodes to the off-cloud service node, and sends the access message to the second acceleration node by using the network of the cloud platform; The second acceleration node sends the access message to the off-cloud service node, receives an access response from the off-cloud service node to the access message, and provides the access response to the client.

2. The method according to claim 1, characterized in that The delay from a target acceleration node among the multiple acceleration nodes to the out-of-cloud service node includes: the delay from the first acceleration node to the target acceleration node and the delay from the target acceleration node to the out-of-cloud service node, or the delay from the target acceleration node to the out-of-cloud service node, and the target acceleration node is any one of the multiple acceleration nodes.

3. The method according to claim 1 or 2, characterized in that The second acceleration node is an acceleration node having the shortest latency to the off-cloud service node among the multiple acceleration nodes.

4. The method according to claim 1 or 2, characterized in that: The first acceleration node determines the second acceleration node from the multiple acceleration nodes based on the latency from the multiple acceleration nodes to the off-cloud service node, including: The first acceleration node determines the second acceleration node from the multiple acceleration nodes based on the latency from the multiple acceleration nodes to the off-cloud service node and the loads of the multiple acceleration nodes.

5. The method according to any one of claims 1 to 4, characterized in that: Before the second acceleration node provides the access response to the client, the method further includes: The second acceleration node records the corresponding relationship between the access message and the first acceleration node; The second acceleration node provides the access response to the client, including: Based on the corresponding relationship, the second acceleration node sends the access response to the first acceleration node by using the network of the cloud platform, so that the first acceleration node sends the access response to the client.

6. The method according to any one of claims 1 to 5, characterized in that: The system further includes a domain name service node, the domain name service node records a correspondence between the domain name of the off-cloud service node and the IP address of the first acceleration node, and before the first acceleration node receives an access message sent by the client, the method further includes: The domain name service node receives a domain name resolution request sent by the client, where the domain name resolution request carries the domain name of the off-cloud service node; The domain name service node performs domain name resolution based on the domain name of the off-cloud service node, obtains the IP address of the first acceleration node, and sends a domain name resolution response to the client, where the domain name resolution response carries the IP address of the first acceleration node.

7. The method according to claim 6, characterized in that The system further includes a management node. Before the domain name service node receives the domain name resolution request sent by the client, the method further includes: The management node obtains the domain name of the off-cloud service node, and configures a correspondence between the domain name and the first acceleration node in the domain name service node.

8. A cloud service providing system, characterized in that: The system is deployed in a cloud platform, and includes: a plurality of acceleration nodes, and the plurality of acceleration nodes include: a first acceleration node and a second acceleration node; The first acceleration node is used to receive an access message sent by a client, where the access message indicates access to an off-cloud service node, and the off-cloud service node is deployed outside the cloud platform; The first acceleration node is further configured to determine the second acceleration node among the multiple acceleration nodes based on the latency from the multiple acceleration nodes to the off-cloud service node, and send the access message to the second acceleration node by using the network of the cloud platform; The second acceleration node is used to send the access message to the off-cloud service node, receive an access response from the off-cloud service node to the access message, and provide the access response to the client.

9. The system according to claim 8, characterized in that The delay from a target acceleration node among the multiple acceleration nodes to the out-of-cloud service node includes: the delay from the first acceleration node to the target acceleration node and the delay from the target acceleration node to the out-of-cloud service node, or the delay from the target acceleration node to the out-of-cloud service node, and the target acceleration node is any one of the multiple acceleration nodes.

10. The system according to claim 8 or 9, characterized in that The second acceleration node is an acceleration node having the shortest latency to the off-cloud service node among the multiple acceleration nodes.

11. The system according to claim 8 or 9, characterized in that The first acceleration node is specifically used to determine the second acceleration node among the multiple acceleration nodes based on the delays from the multiple acceleration nodes to the off-cloud service node and the loads of the multiple acceleration nodes.

12. The system according to any one of claims 8 to 11, characterized in that: The second acceleration node is further used to record the corresponding relationship between the access message and the first acceleration node; The second acceleration node is specifically configured to send the access response to the first acceleration node based on the corresponding relationship by using the network of the cloud platform, so that the first acceleration node sends the access response to the client.

13. The system according to any one of claims 8 to 12, characterized in that: The system further includes a domain name service node, wherein the domain name service node records a correspondence between the domain name of the off-cloud service node and the IP address of the first acceleration node; The domain name service node is used to receive a domain name resolution request sent by the client, where the domain name resolution request carries the domain name of the off-cloud service node; The domain name service node is also used to perform domain name resolution based on the domain name of the off-cloud service node, obtain the IP address of the first acceleration node, and send a domain name resolution response to the client, where the domain name resolution response carries the IP address of the first acceleration node.

14. The system of claim 13, wherein: The system also includes a management node; The management node is used to obtain the domain name of the off-cloud service node, and configure the corresponding relationship between the domain name and the first acceleration node in the domain name service node.

15. A computing device cluster, characterized in that: The method comprises a plurality of computing devices, wherein the plurality of computing devices comprises a plurality of processors and a plurality of memories, wherein program instructions are stored in the plurality of memories, and the plurality of processors execute the program instructions, so that the computing device cluster executes any one of the methods described in claims 1 to 7.

16. A computer-readable storage medium, characterized in that: The method comprises program instructions, and when the program instructions are executed on a computing device, the computing device is caused to execute the method according to any one of claims 1 to 7.

17. A computer program product comprising instructions, characterized in that When the computer program product is executed on a computer, the computer is enabled to execute the method according to any one of claims 1 to 7.

Citation Information

Cited By

  • Network communication method and device

    CN119652740A