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 the delay of cloud services is solved, and rapid access to cloud services is achieved.

WO2025002407A1PCT designated stage expired Publication Date: 2025-01-02HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/102564
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-27
Filing Date
2024-06-28
Publication Date
2025-01-02

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 the acceleration node with the minimum delay, forwarding the access packets from the client, reducing dependence on the public network, and using the stable network transmission of the cloud platform to achieve accelerated transmission of access packets.

Benefits of technology

It effectively reduces access latency, improves the access speed and user experience of cloud services, and reduces the impact on public network instability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024102564_02012025_PF_FP_ABST
    Figure CN2024102564_02012025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of cloud services. Disclosed are a cloud service providing method and system. The method is applied to a cloud service providing system. The system is deployed in a cloud platform, and comprises a plurality of acceleration nodes. The plurality of acceleration nodes comprise a first acceleration node and a second acceleration node. The method comprises: a first acceleration node receives an access message sent by a client, the access message instructing to access an out-of-cloud service node, and the out-of-cloud service node being deployed outside a cloud platform; on the basis of the time delay from a plurality of acceleration nodes to the out-of-cloud service node, the first acceleration node determines a second acceleration node from among the plurality of acceleration nodes, and uses a network of the cloud platform to send the access message to the second acceleration node; 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 to the access message, and provides the access response to the client. The present application can achieve the objective of accelerating access.
Need to check novelty before this filing date? Find Prior Art

Description

Cloud service providing method and system

[0001] This application claims priority to Chinese patent application No. 202310807368.8, filed on June 30, 2023, with the invention name “Access method and cloud system based on cloud service”, and Chinese patent application No. 202311264819.4, filed on September 27, 2023, with the invention name “Cloud service provision method and system”, the entire contents of which are incorporated by reference into this application. 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 services provided by these service nodes, they can access these service nodes through their client computers. As a result, the transmission delay of access packets used to access the service nodes in the network becomes part of the latency of accessing the service.

[0004] Currently, clients usually send access messages to service nodes through the public network (Internet).

[0005] Due to the poor stability of the public network, it will affect the latency of accessing services.

[0006] Summary of the Invention

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

[0008] 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 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; 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 the access response to the client.

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

[0010] 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. In this case, 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 network has higher stability and transmission rate than the public network, and the public network has a greater impact on 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, with the weight of the first delay being less than the weight of the second delay.

[0011] Alternatively, because the cloud platform can provide a relatively stable and fast network, the difference in transmission latency for access messages between the first acceleration node and other acceleration nodes in the cloud service provider system is relatively small. In this case, the latency from the target acceleration node to the off-cloud service node among the multiple acceleration nodes includes the latency from the target acceleration node to the off-cloud service node. In this case, the latency between the first acceleration node and the target acceleration node is ignored. The target acceleration node is any one of the multiple acceleration nodes.

[0012] In one implementation, the second acceleration node is the one with the lowest latency to the off-cloud service node among the multiple acceleration nodes. This allows the second acceleration node to forward access messages to the off-cloud service node, minimizing the use of the public network, which has unstable latency, to transmit access messages, thereby minimizing the transmission latency of access messages.

[0013] Optionally, when determining the second acceleration node, the first acceleration node may optionally combine latency and other factors to determine the second acceleration node. For example, the second acceleration node may be determined based on latency and load. 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 load of the multiple acceleration nodes. For example, after obtaining the latency from the multiple acceleration nodes to the off-cloud service node, the first acceleration node sorts the latency from the multiple acceleration nodes to the off-cloud service node in ascending order of latency. Then, starting with the acceleration node with the smallest latency, a determination is made as to whether the load of the acceleration node exceeds a specified threshold. If the load of the acceleration node does not exceed the specified threshold, the acceleration node is determined as the second acceleration node. If the load of the acceleration node exceeds the specified threshold, the determination logic is continued for the acceleration node with the second smallest latency, and the process is repeated until the second acceleration node is determined. In this way, by forwarding access messages to the off-cloud service node through the second acceleration node, the use of the public network with unstable latency to transmit access messages can be minimized, thereby maximizing the transmission latency of the access messages.

[0014] 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. The second acceleration node then provides an access response to the client, including: the second acceleration node uses the cloud platform's network to send an access response to the first acceleration node based on the correspondence, 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 access response can be traced back to the same source.

[0015] Optionally, the system further includes a domain name service node, which records a 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 an access message sent by the client, the method further includes: the domain name service node receiving a domain name resolution request sent by the client, the domain name resolution request carrying the domain name of the off-cloud service node; the domain name service node performing domain name resolution based on the domain name of the off-cloud service node, obtaining the IP address of the first acceleration node, and sending a domain name resolution response to the client, the domain name resolution response carrying the IP address of the first acceleration node.

[0016] In one implementation, the system further includes a management node. Before the domain name service node receives a domain name resolution request from a client, the method further includes: obtaining the domain name of the off-cloud service node at the management node, and configuring a correspondence between the domain name and the first acceleration node in the domain name service node. This allows the domain name service node to provide domain name access services to the client based on this correspondence.

[0017] 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, wherein the plurality of acceleration nodes include: a first acceleration node and a second acceleration node.

[0018] 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, which is deployed outside the cloud platform.

[0019] The first acceleration node is further configured to determine a second acceleration node from the multiple acceleration nodes based on 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;

[0020] 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.

[0021] Optionally, the delay from the target acceleration node among the multiple acceleration nodes to the off-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 off-cloud service node, or the delay from the target acceleration node to the off-cloud service node, where the target acceleration node is any one of the multiple acceleration nodes.

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

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

[0024] Optionally, the second acceleration node is further configured to record the correspondence between the access message and the first acceleration node. The second acceleration node is then specifically configured to send an access response to the first acceleration node using the cloud platform network based on the correspondence, so that the first acceleration node sends the access response to the client.

[0025] Optionally, the system further includes a domain name service node that 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 configured to receive a domain name resolution request from a client, the domain name resolution request carrying the domain name of the off-cloud service node; the domain name service node is further configured 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 carrying the IP address of the first acceleration node.

[0026] 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.

[0027] In a third aspect, the present application provides a computing device comprising 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.

[0028] In a fourth aspect, the present application provides a computing device cluster, comprising multiple computing devices, wherein the multiple computing devices include multiple processors and multiple memories, wherein program instructions are stored in the multiple memories, and the multiple processors execute 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.

[0029] In a fifth aspect, the present application 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 executes the method provided in the first aspect of the present application and any possible implementation thereof.

[0030] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when run 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

[0031] FIG1 is a schematic diagram of a process of a client accessing an off-cloud service node provided by an embodiment of the present application;

[0032] FIG2 is a schematic diagram of a structure of an implementation environment involved in a cloud service providing method provided in an embodiment of the present application;

[0033] FIG3 is a schematic diagram of the structure of an implementation environment involved in another cloud service providing method provided in an embodiment of the present application;

[0034] FIG4 is a flow chart of a cloud service providing method provided in an embodiment of the present application;

[0035] FIG5 is a schematic diagram of an implementation method of a cloud service providing method provided in an embodiment of the present application;

[0036] FIG6 is a schematic diagram of a cloud service purchase interface provided in an embodiment of the present application;

[0037] FIG7 is a schematic diagram of another cloud service providing method according to an embodiment of the present application;

[0038] FIG8 is a schematic diagram of an implementation of selecting a second acceleration node provided in an embodiment of the present application;

[0039] FIG9 is a schematic diagram of another cloud service providing method according to an embodiment of the present application;

[0040] FIG10 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0041] FIG11 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION

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

[0043] To facilitate understanding, the technology and background involved in the embodiments of this application are explained below.

[0044] A virtual private cloud (VPC) provides a secure, isolated network environment through logical network isolation. Users can define virtual networks in a VPC that are indistinguishable from traditional networks, while also providing advanced network services such as the Elastic Internet Protocol (EIP) and security groups. From a service perspective, a VPC is a type of cloud, a cloud computing service, and a collection of resources running on a public cloud that isolates a portion of public cloud resources for a specific user's private use. While managed by the public cloud and running on public resources, it ensures that resources are isolated between users, ensuring that users' use is unaffected by other users and feels like they are using their own private cloud. For example, a virtual private network consists of multiple computing instances (such as virtual machines) with a specified network relationship.

[0045] Network Address Translation (NAT) 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 packet header, it performs address translation on at least one of the destination IP address and the source IP address of a message to be sent. NAT technologies can include: destination network address translation (DNAT), source network address translation (SNAT), and source / destination network address translation (FullNAT). DNAT translates the destination IP address of a message. SNAT translates the source IP address of a message. FullNAT translates both the destination and source IP addresses of a message. NAT is typically used to map a set of private IP addresses to a public IP address. This can help address the shortage of Internet Protocol version 4 (IPv4) addresses 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.

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

[0047] Elastic Internet Protocol (EIP) addresses are IP addresses used by computers on a private network to access the public network.

[0048] Cloud Backbone is a software-defined wide area network (SD-WAN), a network abstracted from hardware to create a virtualized network overlay. It enables customers to build, manage, and monitor a unified global network more quickly and easily. This allows customers to connect offline internet data centers (IDCs), branch offices, and public clouds to a unified global network from a global cloud service panel, providing a unified view of the global network.

[0049] Domain name resolution is a service that links domain names to the IP addresses of website spaces, allowing users to conveniently access websites through registered domain names. An IP address is a numerical address that identifies a website on the Internet. An IP address is typically a fixed-length data segment that is difficult to remember. To facilitate memorization, domain names are used instead of IP addresses to identify website addresses. Therefore, domain name resolution is the process of converting domain names to IP addresses. For example, the process of obtaining the IP address corresponding to 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 is usually performed by the Domain Name System (DNS). DNS is a distributed database on the Internet that maps domain names to IP addresses, making it easier for users to access the Internet.

[0050] A virtual machine (VM) is a complete computer system that is simulated through virtualization technology and has complete hardware system functions and runs in a completely isolated environment. Some subsets of the virtual machine's instructions can be processed on the host computer, while 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 embodiments of this application can be an elastic compute service (ECS).

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

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

[0053] 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 typically have their own backbone networks to connect their networks in different regions. Cloud operators also typically build their own global backbone networks to better serve their users.

[0054] In computer networking, a point of presence (POP) is located outside the edge of an enterprise network and serves as the entry point into the enterprise network. External services, such as internet access, wide area connectivity, and telephone service, are accessed through the POP. Within an enterprise, a POP provides links to external services and sites. A POP can directly connect to one or more internet service providers (ISPs), allowing internal users to access the internet through these links. Remote sites within an enterprise are also connected through POPs, with wide area links between these sites established by the service provider. For an ISP, a POP is a point of presence that connects the internet from one location to another.

[0055] The acceleration gateway (also called accelerator) is deployed at the cloud operator POP, allowing Internet users to 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 use anycast transmission or unicast transmission to send messages.

[0056] Currently, when a user needs to use the services provided by a service node, they can access the service node through the client they use to use the services provided by the service node. For example, as shown in Figure 1, when a client deployed in a region of a cloud platform needs to use the services provided by service node S, it sends an access message to service node S via the public network (Internet), so that 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 in accessing the service. However, due to the poor stability of the public network, this will affect the delay in accessing the service. This impact is particularly evident when the client is accessing across borders or over long distances.

[0057] 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, then, based on the latency from the multiple acceleration nodes to the off-cloud service node, determines a second acceleration node from the multiple acceleration nodes, and sends an access message to the second acceleration node using the cloud platform's network. 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. The access message indicates access to the off-cloud service node. The off-cloud service node is deployed outside the cloud platform. The first acceleration node is an acceleration node that connects the client's access message to the cloud platform's network. 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.

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

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

[0060] The following first illustrates the application scenarios of the embodiments of the present application.

[0061] Figure 2 is a structural diagram of an implementation environment involved in a cloud service provision method provided in an embodiment of the present application. As shown in Figure 2, 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 embodiment of the present application. Users (also known as tenants or cloud tenants) can interact with the cloud platform 1 through the client 2. For example, a user can send information such as instructions and business requests 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 embodiment of the present application.

[0062] Client 2 can be a computer, personal computer, laptop, mobile phone, smartphone, tablet computer, cloud host, portable mobile terminal, multimedia player, e-book reader, wearable device, smart home appliance, artificial intelligence device, smart wearable device, smart vehicle device, or IoT device. Optionally, the client can be deployed in a VPC and can use an EIP to send messages to nodes outside the VPC.

[0063] 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 provision 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.

[0064] 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, communication connections can be established between the multiple cloud systems. For example, as shown in Figure 2, the cloud platform 1 includes a cloud service provision system 11. The cloud service provision system 11 is used to provide cloud services to users. In one implementation, the cloud service provision system 11 includes multiple acceleration nodes 111, which are used to provide acceleration services to users. Communication connections can be established between the multiple acceleration nodes 111. For example, communication connections are established between the multiple acceleration nodes 111 through the network of the cloud platform. Optionally, the acceleration nodes 111 are implemented using one or more methods, such as physical machines, bare metal servers, cloud servers, virtual machines, containers, or agents. Multiple acceleration nodes 111 in the cloud service provision system 11 can be deployed in multiple regions, with one or more acceleration nodes 111 deployed in each region. Alternatively, multiple acceleration nodes 111 can be deployed in multiple availability zones (AZs), with one or more acceleration nodes 111 deployed in each AZ.

[0065] Optionally, as shown in FIG3 , the cloud service providing system 11 further 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 regions, a domain name service node 112 is deployed in each region, and the domain name service node 112 deployed in each region is responsible for the domain name resolution work related to the acceleration node 111 in the region.

[0066] Furthermore, as shown in FIG3 , the cloud service provision system 11 further includes a management node 113. The management node 113 is used to manage each node in the cloud service provision system 11. In one implementation, the management node 113 is used to configure a correspondence between domain names and IP addresses in the domain name service node 112 so that the domain name service node 112 can provide domain name resolution services based on the correspondence.

[0067] 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 the access message for the user to access the off-cloud service node 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 globally, 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.

[0068] In one implementation, the cloud service provision 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 provision method can be presented in the form of an application installation package. After the computing device in the cloud platform 1 installs the application installation package, it can implement the corresponding functions by running the executable program therein.

[0069] It should be understood that the above content is an illustrative description of the application scenarios of the cloud service provision method provided in the embodiments of the present application, and does not constitute a limitation on the application scenarios of the cloud service provision method. Ordinary technicians in this field 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.

[0070] The following describes the implementation process of the cloud service provision method provided by the embodiment of the present application, taking the cloud service provision system shown in Figure 3 as an example. The method is applied to the cloud service provision system shown in Figure 3. The cloud service provision system includes: multiple acceleration nodes. The multiple acceleration nodes include: a first acceleration node and a second acceleration node. Figure 4 is a flow chart of a cloud service provision method provided by an embodiment of the present application. Figure 5 is a schematic diagram of the implementation of a cloud service provision method provided by an embodiment of the present application. As shown in Figures 4 and 5, the method includes the following steps:

[0071] 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.

[0072] In one implementation, when a user needs to use cloud services, they can send a cloud service purchase request to the cloud service provider system through their client to purchase the cloud services provided by the cloud service provider system. If 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 from the client, the management node can obtain the domain name of the off-cloud service node from the cloud service purchase request. For example, as shown in FIG6 , the cloud platform can provide a cloud service purchase interface to the client, allowing the client to purchase cloud services through the interface. The cloud service purchase interface prompts the user to enter the domain name (also known as the domain address) of the off-cloud service node they need to access. After the user enters the relevant information in the cloud service purchase interface, a cloud service purchase request carrying the relevant information is triggered. After receiving the cloud service purchase request, the management node can obtain the domain name of the off-cloud service node that the client needs to access from the cloud service request. The off-cloud service node is a service node deployed outside the cloud platform. For example, an off-cloud service node is a service node that provides cross-border services or accesses the public network.

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

[0074] In this application, access messages from a client to an off-cloud service node must be forwarded by an acceleration node in the cloud service provider system. Furthermore, when the cloud service provider system forwards the access message, it connects the client's access message to the cloud platform's network via the first acceleration node. The first acceleration node then uses the cloud platform's network to send the access message to the second acceleration node, which then forwards the access message from the cloud platform's network to the off-cloud service node via the second acceleration node. Therefore, when a 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 must configure a 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 this correspondence. For example, as shown in Figure 7, the client is deployed in a VPC in region 1, where a domain name resolution node is deployed. The management node obtains the domain name of the off-cloud service node that the client needs to access and configures a correspondence between the domain name of the off-cloud service node and the first acceleration node in the domain name service node shown in Figure 7.

[0075] In one implementation, the management node may first assign a first acceleration node to the client and then configure the domain name of the off-cloud service node in the domain name service node. For example, the management node obtains the client's deployment location and assigns the first acceleration node to the client based on the deployment location. Optionally, the management node assigns the acceleration node closest to the client's deployment location among multiple acceleration nodes in the cloud service provider system as the first acceleration node for the client.

[0076] When multiple domain name service nodes are deployed in the cloud platform, the domain name service node providing domain name resolution services to the client may be the domain name service node assigned to the client by the management node from among the multiple domain name service nodes. For example, the management node obtains the client's deployment location and assigns a domain name service node to the client based on the deployment location. Optionally, the management node assigns the domain name service node closest to the client's deployment location among the multiple domain name service nodes in the cloud service provision system as the domain name service node providing domain name resolution services to the client.

[0077] 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.

[0078] When a client needs to access an off-cloud service node, it first sends a domain name resolution request containing the domain name of the off-cloud service node to the domain name resolution node. This allows the domain name resolution node to provide the client with the IP address of the first acceleration node to forward the client's access message. When multiple domain name resolution nodes are deployed in the cloud platform, the domain name resolution node that provides domain name resolution services to the client is the domain name resolution node pre-assigned to the client by the management node from among the multiple domain name resolution nodes. For example, as shown in Figure 7, the client sends a domain name resolution request to the domain name resolution node in region 1.

[0079] 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.

[0080] 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.

[0081] 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.

[0082] After receiving the domain name resolution response, the client 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, which indicates that the client needs to access the off-cloud service node. Optionally, the identification information of the off-cloud service node is the uniform resource locator (URL) or domain name of the off-cloud service node. 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 an EIP to send messages to nodes outside the VPC. For example, as shown in Figures 5 and 7, the client sends an access message to the GA1 node in region 1. Furthermore, as shown in Figure 7, when the client is configured with an EIP, the client uses the EIP to send an access message to the GA1 node in region 1.

[0083] 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 cloud platform's network.

[0084] After receiving an access message from a client, the first acceleration node can determine that the access message is for accessing an off-cloud service node. Then, based on the latency from multiple acceleration nodes in the cloud service provider system to the off-cloud service node, the first acceleration node can determine a second acceleration node from the multiple acceleration nodes. After receiving 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 for accessing an off-cloud service node.

[0085] Optionally, the second acceleration node is the acceleration node with the lowest latency to the off-cloud service node among the multiple acceleration nodes. Alternatively, when determining the second acceleration node, the first acceleration node may optionally combine latency and other factors to determine the second acceleration node. For example, the second acceleration node may be determined based on latency and load. The first acceleration node determines the second acceleration node among 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 among the multiple acceleration nodes based on the latency from the multiple acceleration nodes to the off-cloud service node and the load of the multiple acceleration nodes. For example, after obtaining the latency from the multiple acceleration nodes to the off-cloud service node, the first acceleration node sorts the latency from the multiple acceleration nodes to the off-cloud service node in ascending order of latency. Then, starting with the acceleration node with the lowest latency, the first acceleration node is determined to determine whether its load exceeds a specified threshold. If the load does not exceed the specified threshold, the acceleration node is determined as the second acceleration node. If the load exceeds the specified threshold, the first acceleration node is repeatedly executed for the acceleration node with the next lowest latency, repeating the process until the second acceleration node is determined. In this way, by forwarding access messages to the off-cloud service node through the second acceleration node, the use of the public network with unstable latency to transmit access messages can be minimized, thereby maximizing the transmission latency of the access messages.

[0086] 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 can 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 transmission delay, the first acceleration node can 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, as shown in Figure 8, assuming that the cloud service provision system includes acceleration node 1, acceleration node 2, acceleration node 3, and acceleration node 4, 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 ... and 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 first delay t2 from the first acceleration node to the off-cloud service node, the second delay t3 from the first acceleration node to the off-cloud service node, and the second delay t4 from the first acceleration node to the off-cloud service node, and 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 The weights of the first delay and the second delay are 0.1 and 0.9 respectively. Then, the weighted sum of the delays when the first acceleration node sends 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 when the first acceleration node sends 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 when the first acceleration node sends 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 from acceleration nodes 2, 3, and 4 based on the weighted sum.

[0087] Alternatively, because the cloud platform can provide a relatively stable and fast network, the difference in transmission latency for access messages between the first acceleration node and other acceleration nodes in the cloud service provider system is relatively small. In this case, the latency from the target acceleration node to the off-cloud service node among the multiple acceleration nodes includes the latency from the target acceleration node to the off-cloud service node. In this case, the latency between the first acceleration node and the target acceleration node is ignored. The target acceleration node is any one of the multiple acceleration nodes.

[0088] The delay from the acceleration node to the off-cloud service node can be obtained through various implementation methods. The following implementation methods are used as examples to illustrate this. In one implementation method, the delay from the acceleration node to the off-cloud service node is obtained through delay detection. For example, the delay from the target acceleration node to the off-cloud service node can be obtained by the target acceleration node sending a detection frame (such as PIN) to the off-cloud service node. In another implementation method, the delay from the acceleration node to the off-cloud service node is obtained based on the location of the acceleration node to the off-cloud service node. For example, the acceleration node stores an IP map, and the IP address is used to indicate the deployment location of each acceleration node and off-cloud service node. The acceleration node can obtain the distance between the acceleration node and the off-cloud service node based on the IP address. Combining the distance and the network configuration between the acceleration node and the off-cloud service node, the acceleration node can estimate the delay between it and the off-cloud service node. In yet another implementation method, the delay from the acceleration node to the off-cloud service node is obtained by combining the delay obtained by 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.

[0089] Optionally, there are multiple implementation options for the first acceleration node to send an access message to the second acceleration node using the cloud platform's network. In one implementation, the first acceleration node directly uses the cloud platform's network to send an access message to the second acceleration node. For example, as shown in Figures 5 and 7, the first acceleration node directly uses the cloud backbone network to send an access message to the second acceleration node. Alternatively, if the acceleration nodes in the cloud service provision system include multiple other acceleration nodes in addition to the first and second acceleration nodes, the first acceleration node sends an access message to the second acceleration node via one or more other acceleration nodes and the cloud platform's network. For example, as shown in Figure 9, the cloud service provision system also includes a third acceleration node GA3 and a fourth acceleration node GA4, the third acceleration node GA3 being deployed in region 3, and the fourth acceleration node GA4 being deployed in region 4. 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, 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, the access delay needs to be guaranteed. For example, it is necessary to at least ensure that the delay from the access message sent from the first acceleration node to the off-cloud service node is less than or equal to the delay from the first acceleration node to the off-cloud service node when the first acceleration node directly uses the cloud platform's network to send the access message to the second acceleration node. Furthermore, the other acceleration node can also be determined based on the packet loss rate and load during the comprehensive transmission process. In addition, the other acceleration node can be optionally determined by a software defined network (SDN).

[0090] Because the source IP address of the access message is the client's IP address, and the destination IP address is the IP address of the first acceleration node, the first acceleration node must first perform an address translation on the access message before sending it to the second acceleration node using the cloud platform's network. This address translation operation at least includes translating the destination IP address of the access message into the IP address of the second acceleration node. Optionally, based on considerations such as secure communications, the address translation also includes translating the source IP address of the access message. For example, the first acceleration node translates the source IP address of the access message into the IP address of the first acceleration node.

[0091] Because the cloud platform has abundant resources and can provide a stable and fast network, for example, different acceleration nodes are connected via a cloud backbone network. When a first acceleration node uses the cloud platform's network to send an access message to a second acceleration node, it can optionally use a larger data packet to transmit the access message. For example, a data packet with a maximum transmission unit (MTU) of 8500 bits or larger can be used to transmit the access message. Furthermore, the first acceleration node can optionally use an EIP or VPC endpoint to send the access message to the second acceleration node.

[0092] For example, as shown in Figures 5 and 7, when a client accesses the object storage service (OBS) provided by an off-cloud service node, the first acceleration node used by the client is GA1 in region 1, and the second acceleration node is GA2 in region 2. After GA1 determines that the acceleration node to forward the access message from the cloud platform's network to the off-cloud service node is GA2, it can then use the cloud platform's network to send the access message to GA2. GA1 and GA2 are deployed in the public cloud, while the off-cloud service node is deployed outside the public cloud.

[0093] In one implementation, the first acceleration node is configured with a parsing module, an IP map module, a proxy / cache module, and an address translation module. The parsing module is configured to parse access messages to obtain identification information of off-cloud service nodes carried in the access messages. The IP map module is configured to store IP maps. The proxy / cache module is configured to cache received access messages. The address translation module is configured to perform address translation on the addresses in the access messages.

[0094] 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 the access response to the first acceleration node using the cloud platform's network.

[0095] 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. For example, as shown in Figures 5 and 7, the GA2 node sends the access message to the off-cloud service node via the Internet. In one implementation, before sending the access message to the off-cloud service node, the second acceleration node may optionally cache the access response and perform address translation on the access message. It then uses the cloud platform's network to send the translated access message to the off-cloud service node. When performing address translation on the access message, the second acceleration node may first obtain identification information of the off-cloud service node from the access message, then obtain the IP address of the off-cloud service node based on the identification information, and then convert the destination IP address of the access message into the IP address of the off-cloud service node. Obtaining the IP address of the off-cloud service node based on the identification information may be achieved through domain name resolution. For example, a domain name resolution server is provided on the public network. The second acceleration node may optionally send a domain name resolution request to the domain name resolution server, where 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.

[0096] After the second acceleration node receives the access message sent by the first acceleration node, it can optionally record the correspondence between the access message and the first acceleration node. After receiving the access response from 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 correspondence, and send the access response to the first acceleration node. For example, as shown in Figures 5 and 7, the GA2 node sends an access response to the GA1 node. Among them, before the second acceleration node sends the access response to the first acceleration node, it is also necessary to perform an address conversion operation on the access response. For its 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 source IP address, source port, destination IP address, destination port and transport layer protocol. In this way, the same source and traceability of the access response can be achieved.

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

[0098] After receiving the access response, the first acceleration node can forward it to the client, allowing the client to use the information contained in the access response. For example, as shown in Figures 5 and 7, the GA1 node forwards the access response to the client. Before sending the access response to the client, the first acceleration node also needs to perform an address translation operation on the access response. Please refer to the previous description for the implementation process, and will not be repeated here.

[0099] As can be seen from the above, in the cloud service provision method provided by the embodiment of the present application, the access message sent by the client can be sent to the second acceleration node in sequence through the first acceleration node and the cloud platform network during the transmission process, and then sent from the second acceleration node to the cloud service node. Similarly, the access response can continue to be transmitted using this path. 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 access response are exchanged between the second acceleration node and the cloud service node, which can ensure the transmission delay of the access message and access response between the second acceleration node and the cloud service node. In addition, since the cloud platform has a large amount of resources and can provide a stable and fast network, the first acceleration node and the second acceleration node transmit the access message and access response through the cloud platform network, which can ensure the transmission delay of the access message and access response between the first acceleration node and the second acceleration node. In this way, the access message and access response are transmitted through the first acceleration node, the cloud platform network, and the second acceleration node and the cloud service node, which can ensure the transmission delay of the message used by the client in accessing the cloud service node, thereby achieving the purpose of accelerated access, thereby improving the user's access experience.

[0100] It should be noted that the order of the steps in the cloud service provision method provided in the embodiments of the present application can be adjusted appropriately, and the number of steps can be increased or decreased accordingly. Any method that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application, and therefore will not be described in detail.

[0101] 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. Figures 2 and 3 are both structural schematic diagrams of a cloud service providing system provided by the embodiment of the present application. Based on the following multiple components shown in Figures 2 and 3, the cloud service providing system shown in Figures 2 and 3 can perform all or part of the operations shown in Figure 4 above. It should be understood that the system may include more additional components than the components shown or omit some of the components shown therein, and the embodiment of the present application does not limit this. Optionally, the cloud service providing system can be configured on a cloud platform. As shown in Figures 2 and 3, 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.

[0102] 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, which is deployed outside the cloud platform.

[0103] The first acceleration node is further configured to determine a second acceleration node from the multiple acceleration nodes based on 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;

[0104] 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.

[0105] Optionally, the delay from the target acceleration node among the multiple acceleration nodes to the off-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 off-cloud service node, or the delay from the target acceleration node to the off-cloud service node, where the target acceleration node is any one of the multiple acceleration nodes.

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

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

[0108] Optionally, the second acceleration node is further configured to record the correspondence between the access message and the first acceleration node. The second acceleration node is then specifically configured to send an access response to the first acceleration node using the cloud platform network based on the correspondence, so that the first acceleration node sends the access response to the client.

[0109] Optionally, the system further includes a domain name service node that 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 configured to receive a domain name resolution request from a client, the domain name resolution request carrying the domain name of the off-cloud service node; the domain name service node is further configured 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 carrying the IP address of the first acceleration node.

[0110] 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.

[0111] The first acceleration node, second acceleration node, domain name service node, and management node can all be implemented via software or hardware. For example, the implementation of the first acceleration node will be described below using the first acceleration node as an example. Similarly, the implementation of the second acceleration node, domain name service node, and management node can refer to the implementation of the first acceleration node.

[0112] As an example of a software functional unit, a module can be implemented by running code on a computing instance. The computing instance can include at least one of a physical host (computing device), a virtual machine, and a container. Furthermore, the computing instance can 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 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 geographically close data centers. Generally, a region can include multiple AZs.

[0113] Similarly, multiple hosts / virtual machines / containers running the code can be distributed within the same virtual private cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Cross-region communication between two VPCs within the same region, or between VPCs in different regions, requires a communication gateway within each VPC to interconnect the VPCs.

[0114] As an example of a hardware functional unit, a module may include at least one computing device, such as a server. Alternatively, the first acceleration node may be 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.

[0115] 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 servers, ASICs, PLDs, CPLDs, FPGAs, GALs, and other computing devices.

[0116] 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 can be specified as needed. By having the first acceleration node, the second acceleration node, the domain name service node, and the management node each perform different steps in the cloud service provision method, the full functionality of the cloud service provision device can be achieved.

[0117] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and nodes can refer to the corresponding contents in the aforementioned method embodiments and will not be repeated here.

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

[0119] An embodiment of the present application provides a computing device. The computing device is used to implement some or all of the functions of the cloud service provision method provided in the embodiment of the present application. Figure 10 is a schematic diagram of the structure of a computing device provided in the embodiment of the present application. As shown in Figure 10, 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 via the bus 1004.

[0120] 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 with signal processing capabilities. During implementation, some or all of the functions of the cloud service provision method of the present application may be completed by the hardware integrated logic circuit in the processor 1001 or instructions in software form.

[0121] Memory 1002 is used to store computer programs, which include an operating system 1002a and executable code (i.e., program instructions) 1002b. Memory 1002 may be, for example, a read-only memory or other type of static storage device capable of storing static information and instructions, or a random access memory or other type of dynamic storage device capable of storing 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 compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium, or other magnetic storage device, or any other medium capable of carrying or storing desired executable code in the form of instructions or data structures and accessible by a computer, but not limited to these. For example, memory 1002 is used to store an outbound port queue, etc. Memory 1002 may be independent and connected to processor 1001 via bus 1004. Alternatively, memory 1002 and processor 1001 may be integrated. Memory 1002 can store executable code. When the executable code stored in memory 1002 is executed by processor 1001, processor 1001 is used to perform some or all of the functions of the cloud service provision method provided in the embodiments of this application. For the implementation of the process executed by processor 1001, please refer to the relevant description of the aforementioned embodiments. Memory 1002 may also include software modules and data required for other running processes, such as an operating system.

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

[0123] Bus 1004 is any type of communication bus used to interconnect the internal components of a computing device (e.g., memory 1002, processor 1001, and communication interface 1003). For example, a system bus is provided. The embodiments of this application illustrate the interconnection of the aforementioned components within a computing device via bus 1004. Alternatively, the aforementioned components within computing device 1000 may be communicatively connected to each other using other connection methods besides bus 1004. For example, the aforementioned components within computing device 1000 may be interconnected via an internal logical interface.

[0124] 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 each device is independently arranged on different chips or integrated 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 parts that are not described in detail in a certain process, please refer to the relevant descriptions of other processes.

[0125] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using 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 that, when loaded and executed on a computing device, fully or partially implement the functions of the cloud service provision method provided in the embodiments of the present application.

[0126] Furthermore, computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. 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.

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

[0128] Optionally, the structure of at least one computing device included in the computing device cluster may refer to the computing device 1000 shown in Figure 10. 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.

[0129] 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 provision method. In other words, the combination of one or more computing devices 1000 can jointly execute the instructions for executing the cloud service provision method.

[0130] It should be noted that the memory 1002 in different computing devices 1000 in the computing device cluster can store different instructions, each used to perform a portion of the functions of the cloud service provider. In other words, the instructions stored in the memory 1002 in different computing devices 1000 can implement the functions of one or more of the first acceleration node, the second acceleration node, the domain name service node, and the management node.

[0131] In some possible implementations, one or more computing devices in a computing device cluster may be connected via a network. The network may be a wide area network or a local area network, etc. FIG11 shows a possible implementation. As shown in FIG11 , 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 a first acceleration node. At the same time, the memory 1106 in the computing device 1100B stores instructions for executing the functions of a second acceleration node, a domain name service node, and a management node.

[0132] It should be understood that the functions of computing device 1100A shown in FIG11 may also be performed by multiple computing devices 1100. Similarly, the functions of computing device 1100B may also be performed by multiple computing devices 1100. Furthermore, the deployment method of the nodes used to implement the cloud service provision method in the computing devices may also be adjusted according to application requirements.

[0133] 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.

[0134] The embodiment of the present application also provides a computer program product containing instructions. When the computer program product is run on a computer, it enables the computer to implement the cloud service providing method provided by the embodiment of the present application.

[0135] Those 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 a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk, or an optical disk, etc.

[0136] 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, storage, display, 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 the relevant countries and regions. For example, the raw data and executable code involved in this application were obtained with full authorization.

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

[0138] In this application, the term "and / or" simply describes an association between related objects, indicating that three possible relationships exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this document generally indicates that the related objects are in an "or" relationship.

[0139] The above description is merely an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the concepts and principles of the present application shall be included in the scope of protection 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

Patent Citations

  • Connection establishment and data transmission method, device and system for hybrid cloud

    CN108551464A

  • Routing method of acceleration network and acceleration network

    CN111683013A

  • Content delivery network data transmission method and device

    CN112243028A

  • Data forwarding method and related device

    CN115225631A

  • Service aware path selection with a network acceleration device

    US8040808B1