Method and device for determining network topology information and computing equipment

By applying AI models on the cloud management platform and using CDN detection data to identify the topology of the Internet network, the problem of difficulty in accurately identifying and managing the Internet network topology in the existing technology is solved, and more efficient network resource management and fault location are achieved.

CN119854132APending Publication Date: 2025-04-18HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311823852.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-10-16
Filing Date
2023-12-27
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The prior art is difficult to accurately identify and map the topology of Internet networks, resulting in the inability of Internet service providers to effectively manage and optimize network resources.

Method used

Through the AI ​​model, the cloud management platform is used to obtain detection data from the content distribution network (CDN), including the IP address and transmission quality data for each hop, and the model is trained in combination with the marked topological location, so as to predict and determine the network topological information.

Benefits of technology

It realizes accurate identification and management of Internet network topology, improves the execution efficiency and execution effect of Internet service providers, and can more quickly locate network failures and optimize network resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119854132A_ABST
    Figure CN119854132A_ABST
Patent Text Reader

Abstract

The invention provides a method and device for determining network topology information and computing equipment, and the method is applied to a cloud management platform and comprises the steps that the cloud management platform obtains a plurality of pieces of detection data, the multiple pieces of detection data comprise an internet protocol IP address and transmission quality data corresponding to each hop from a source end to a destination end in a content delivery network CDN; according to the first model, the topological position of each hop in the multiple pieces of detection data in the actual physical network is obtained through prediction; and the cloud management platform obtains network topology information from the source end to the destination end in the actual physical network according to the IP address corresponding to each hop in the plurality of pieces of detection data, the transmission quality data and the topology position in the actual physical network. According to the method, the topology condition of the actual internet network can be identified through the AI model.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on October 16, 2023, with application number 202311342651.4, and priority to the Chinese patent application with the invention name “Method and computing device for determining network topology”, all contents of which are incorporated by reference in this application. Technical Field

[0002] The present application relates to the field of cloud computing, and more specifically, to a method, apparatus, and computing device for determining network topology information. Background Art

[0003] The basic principle of artificial intelligence (AI) is to combine massive data with super-powerful computing processing capabilities and intelligent algorithms to establish an AI model to solve specific problems, so that the AI ​​model can automatically summarize and learn potential patterns or features from the data, thereby achieving a way of thinking close to that of humans.

[0004] Network transmission relies on the operator's Internet infrastructure. The operator's nationwide network infrastructure is composed of multiple different metropolitan area networks (MAN), provincial networks, backbone networks, and a large number of transit nodes. Among them, the metropolitan area network is suitable for connecting various information transmission devices in a city, such as computers, switches, routers, etc., and can achieve high-speed data transmission and resource sharing. Its range is usually between tens of kilometers and hundreds of kilometers.

[0005] The dependencies and routing strategies of these nodes in the above Internet infrastructure are relatively complex and invisible to operators outside. That is, Internet service providers (for example, cloud vendors) do not know the topological locations of each transit node in the actual network.

[0006] In the related technologies for discovering network topology, usually through point-to-point detection, the Internet Protocol (IP) addresses and some performance indicators on a path are obtained as a reference for evaluating the network situation. Although this method can obtain key IP information, it cannot explain the meaning of IP. In other words, the obtained IP information cannot be associated with physical links, such as metropolitan area networks, provincial networks, backbone networks, etc. Therefore, it is impossible to draw the approximate network topology information in a specific area, and the obtained IP information can only be used as reference data with extremely low information density.

[0007] In view of this, how to identify the topology of the actual Internet network has become a technical problem that needs to be solved urgently. Summary of the invention

[0008] The present application provides a method, apparatus and computing device for determining network topology information. The method can identify the topology of an actual Internet network through an AI model.

[0009] In a first aspect, a method for determining network topology information is provided, the method being applied to a cloud management platform, the cloud management platform being used to manage an infrastructure for providing cloud services, the infrastructure comprising at least one cloud data center, each of the cloud data center being provided with at least one server, the method comprising: the cloud management platform obtaining a plurality of probe data, the plurality of probe data comprising an Internet Protocol IP address and transmission quality data corresponding to each hop between a source end and a destination end in a content distribution network CDN; the cloud management platform predicting a topological position of each hop in the plurality of probe data in an actual physical network according to a first model, the first model being trained according to an IP address corresponding to each hop in sample probe data, transmission quality data and a marked topological position in the actual physical network, the plurality of probe data comprising the sample probe data; the cloud management platform obtaining network topology information from a source end to a destination end in the actual physical network according to an IP address corresponding to each hop in the plurality of probe data, transmission quality data and a topological position in the actual physical network.

[0010] In the above technical solution, the AI ​​model can be used to identify the network topology (for example, metropolitan area network, provincial network, backbone network, etc.) in the actual physical network from the source end to the destination end in the content delivery network (CDN) in the Internet infrastructure.

[0011] In combination with the first aspect, in certain implementations of the first aspect, the method also includes: the cloud management platform performs supervised learning on the model based on the IP address corresponding to each hop in the sample detection data, the transmission quality data, and the marked topological positions in the actual physical network to obtain the first model.

[0012] In combination with the first aspect, in certain implementations of the first aspect, the method also includes: the cloud management platform selects the sample detection data from the multiple detection data; the cloud management platform respectively marks the topological position of each hop in the sample detection data in the actual physical network.

[0013] In combination with the first aspect, in certain implementations of the first aspect, the topological position of each hop in the actual physical network is the Internet network to which each hop belongs in the actual physical network, and the Internet network includes a metropolitan area network, a provincial network, and a backbone network.

[0014] In combination with the first aspect, in some implementations of the first aspect, the transmission quality data includes transmission delay data.

[0015] In combination with the first aspect, in some implementations of the first aspect, the method further includes: the cloud management platform filtering abnormal detection data among the multiple detection data.

[0016] In the above technical solution, by filtering abnormal detection data among multiple detection data, the processed detection data is easier to process and will not bring too much noise data.

[0017] In combination with the first aspect, in some implementations of the first aspect, the method further includes: the cloud management platform storing the network topology information in a network topology database.

[0018] In the above technical solution, the obtained network topology information can be stored in a network topology database, and the network topology information can be used to effectively provide data basis for various scenarios, thereby improving the execution efficiency and execution effect of Internet service providers (for example, cloud vendors).

[0019] In the second aspect, a device for determining network topology information is provided, the device is applied to a cloud management platform, the cloud management platform is used to manage the infrastructure for providing cloud services, the infrastructure includes at least one cloud data center, each of the cloud data center is provided with at least one server, the device includes: an acquisition module, a prediction module. The acquisition module is used to obtain a plurality of detection data, the plurality of detection data includes an Internet Protocol IP address and transmission quality data corresponding to each hop between the source end and the destination end in the content distribution network CDN; the prediction module is used to predict the topological position of each hop in the plurality of detection data in the actual physical network according to a first model, the first model is trained according to the IP address corresponding to each hop in the sample detection data, the transmission quality data and the topological position in the actual physical network, the plurality of detection data includes the sample detection data; the acquisition module is also used to obtain the network topology information from the source end to the destination end in the actual physical network according to the IP address corresponding to each hop in the plurality of detection data, the transmission quality data and the topological position in the actual physical network.

[0020] In combination with the second aspect, in certain implementations of the second aspect, the device also includes: a training module, used to perform supervised learning on the model based on the IP address corresponding to each hop in the sample detection data, the transmission quality data, and the marked topological positions in the actual physical network to obtain the first model.

[0021] In combination with the second aspect, in certain implementations of the second aspect, the device also includes: a selection module for selecting the sample detection data from the multiple detection data; and a marking module for marking the topological position of each hop in the sample detection data in the actual physical network.

[0022] In combination with the second aspect, in certain implementations of the second aspect, the topological position of each hop in the actual physical network is the Internet network to which each hop belongs in the actual physical network, and the Internet network includes a metropolitan area network, a provincial network, and a backbone network.

[0023] In combination with the second aspect, in some implementations of the second aspect, the transmission quality data includes transmission delay data.

[0024] In combination with the second aspect, in some implementations of the second aspect, the device further includes: a filtering module, which is used by the cloud management platform to filter abnormal detection data among the multiple detection data.

[0025] In combination with the second aspect, in some implementations of the second aspect, the device further includes: a storage module, configured to store the network topology information in a network topology database.

[0026] In a third aspect, a computing device is provided, comprising a processor and a memory, and optionally, an input / output interface, wherein the processor is used to control the input / output interface to send and receive information, the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the method in the first aspect or any possible implementation of the first aspect is executed.

[0027] Optionally, the processor may be a general-purpose processor, which may be implemented by hardware or software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor may be a general-purpose processor implemented by reading software code stored in a memory, which may be integrated in the processor or located outside the processor and exist independently.

[0028] In a fourth aspect, a computing device cluster is provided, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method in the first aspect or any possible implementation of the first aspect.

[0029] In a fifth aspect, a chip is provided, which obtains instructions and executes the instructions to implement the method in the above-mentioned first aspect and any implementation manner of the first aspect.

[0030] Optionally, as an implementation manner, the chip includes a processor and a data interface, and the processor reads instructions stored in the memory through the data interface to execute the method in the above-mentioned first aspect and any implementation manner of the first aspect.

[0031] Optionally, as an implementation method, the chip may also include a memory, in which instructions are stored, and the processor is used to execute the instructions stored in the memory. When the instructions are executed, the processor is used to execute the method in the first aspect and any one of the implementation methods of the first aspect.

[0032] In a sixth aspect, a computer program product comprising instructions is provided. When the instructions are executed by a computing device, the computing device executes the method in the first aspect and any one of the implementations of the first aspect.

[0033] In a seventh aspect, a computer program product comprising instructions is provided. When the instructions are executed by a computing device cluster, the computing device cluster executes the method in the first aspect and any one of the implementations of the first aspect.

[0034] In an eighth aspect, a computer-readable storage medium is provided, characterized in that it includes computer program instructions. When the computer program instructions are executed by a computing device, the computing device executes the method in the above-mentioned first aspect and any one of the implementations of the first aspect.

[0035] By way of example, these computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), Flash memory, electrically EPROM (EEPROM), and hard drive.

[0036] Optionally, as an implementation manner, the above-mentioned storage medium may specifically be a non-volatile storage medium.

[0037] In a ninth aspect, a computer-readable storage medium is provided, characterized in that it includes computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method in the above-mentioned first aspect and any one of the implementations of the first aspect.

[0038] By way of example, these computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), Flash memory, electrically EPROM (EEPROM), and hard drive.

[0039] Optionally, as an implementation manner, the above-mentioned storage medium may specifically be a non-volatile storage medium. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 It is a schematic diagram of the basic principles of artificial intelligence AI.

[0041] Figure 2 A schematic diagram of supervised training of deep learning models.

[0042] Figure 3 It is a schematic block diagram of a cloud scenario applicable to an embodiment of the present application.

[0043] Figure 4 It is a schematic diagram of the interaction between a tenant and an AI basic development platform applicable to an embodiment of the present application.

[0044] Figure 5 It is a schematic flowchart of a method for determining network topology information provided in an embodiment of the present application.

[0045] Figure 6 It is a schematic block diagram of a device 600 for determining network topology information provided in an embodiment of the present application.

[0046] Figure 7 It is a schematic diagram of the architecture of a computing device 1500 provided in an embodiment of the present application.

[0047] Figure 8 It is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of the present application.

[0048] Fig. 9 It is a schematic diagram of the connection between computing devices 1500A and 1500B via a network provided in an embodiment of the present application. DETAILED DESCRIPTION

[0049] The technical solution in this application will be described below in conjunction with the accompanying drawings.

[0050] The present application will present various aspects, embodiments or features around a system including multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all devices, components, modules, etc. discussed in conjunction with the figures. In addition, combinations of these schemes may also be used.

[0051] In addition, in the embodiments of the present application, words such as "exemplary" and "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present concepts in a concrete way.

[0052] In the embodiments of the present application, "corresponding (corresponding, relevant)" and "corresponding (corresponding)" can sometimes be used interchangeably. It should be pointed out that when the distinction between them is not emphasized, the meanings they intend to express are consistent.

[0053] The business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person of ordinary skill in the art can appreciate that, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0054] References to "one embodiment" or "some embodiments" etc. described in this specification mean that a particular feature, structure or characteristic described in conjunction with the embodiment is included in one or more embodiments of the present application. Thus, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear at different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0055] In the present application, "at least one" means one or more, and "plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.

[0056] like Figure 1 As shown in the figure, the basic principle of artificial intelligence (AI) is to combine massive data with super-powerful computing processing capabilities and intelligent algorithms to establish an AI model to solve specific problems, so that the AI ​​model can automatically summarize and learn potential patterns or features from the data, thereby achieving a way of thinking close to that of humans.

[0057] AI model, also known as AI algorithm (or AI operator), is a general term for mathematical algorithms built on the principles of artificial intelligence. It is also the basis for using AI to solve specific problems. AI model can also be called machine learning model, deep learning model or reinforcement learning model.

[0058] Machine learning is a method to achieve artificial intelligence. The goal of this method is to design and analyze some algorithms (also known as models) that allow computers to "learn" automatically. The designed algorithms are called machine learning models. Machine learning models are a type of algorithm that automatically analyzes data to obtain patterns and uses the patterns to predict unknown data. There are many types of machine learning models. Depending on whether the model training needs to rely on the labels corresponding to the training data, machine learning models can be divided into: 1. Supervised learning models; 2. Unsupervised learning models.

[0059] 1). Supervised learning model: A model obtained by determining the parameters of the initial AI model based on the data in a given training data set and the labels corresponding to each data in the training data set. The process of determining the parameters of the initial AI model using the data in the training data set and the labels corresponding to the data is also called supervised learning (or supervised training). The labels of the data in the training data set are usually manually annotated to identify the correct answer to the data for a specific task. Typical supervised learning models include: support vector machine, neural network model, logistic regression model, decision tree, naive Bayes model, Gaussian discriminant model, etc. Supervised learning models are usually used for classification or regression.

[0060] 2). Unsupervised learning model: It is a model obtained by determining the parameters of the initial AI model based on the unlabeled data in the given training data set. The process of determining the parameters of the initial AI model using unlabeled training data is also called unsupervised learning (or unsupervised training). Through unsupervised learning, the model can discover meaningful information and associations in the data, and then predict the results of the data. There are many types of unsupervised learning models, and the more commonly used ones are: clustering model (clustering), principal component analysis (PCA), anomaly detection model, autoencoder, generative adversarial network (GAN), etc.

[0061] Any AI model needs to be trained before it can be used to solve specific technical problems. AI model training refers to the process of using a specified initial model to calculate the training data, and adjusting the parameters in the initial model using a certain method based on the calculation results, so that the model gradually learns certain rules and has specific functions. After training, the AI ​​model with stable functions can be used for reasoning. AI model reasoning is the process of using the trained AI model to calculate the input data and obtain the predicted reasoning results.

[0062] The most common method is to conduct supervised training on AI models. For example, most deep learning models are trained based on supervised training.

[0063] Combine the following Figure 2 Introduces the most widely used supervised training method for deep learning models.

[0064] In the training phase, it is first necessary to build a training set for the deep learning model based on the goal. The training set includes multiple training data, each of which is set with a label. The label of the training data is the correct answer to the specific question of the training data. The label can represent the goal of training the deep learning model using the training data. For example: to train a deep learning model that can be used to identify different animals, the training set can include multiple images of different animals (i.e., training data), and each image can have a label to identify the type of animal contained therein, such as: cat, dog. In this example, the type of animal corresponding to each image is the label of the training data.

[0065] When training a deep learning model, the training data can be input into the deep learning model after parameter initialization in batches. The deep learning model calculates (i.e., inferences) the training data to obtain prediction results for the training data. The prediction results obtained through inference and the labels corresponding to the training data are used as data for calculating the loss according to the loss function. The loss function is a function used to calculate the gap (i.e., loss value) between the model's prediction results for the training data and the labels of the training data during the model training phase. The loss function can be implemented using different mathematical functions. Commonly used loss function expressions include: mean square error loss function, logarithmic loss function, least squares method, etc.

[0066] The loss value calculated based on the loss function can be used to update the parameters of the deep learning model. The specific parameter update method often uses the gradient descent method. Model training is a repeated iterative process. Each iteration infers different training data and calculates the loss value. The goal of multiple iterations is to continuously update the parameters of the deep learning model and find the parameter configuration that minimizes or stabilizes the loss value of the loss function.

[0067] In the training phase, in order to improve the training efficiency and performance of the model after training, it is necessary to set some reasonable hyperparameters for training. The hyperparameters of deep learning models refer to a type of parameters that cannot be obtained by learning training data during training or cannot be changed by training data. It is a concept relative to the parameters in the model. The hyperparameters of deep learning models are usually set manually based on experience or experiments. Hyperparameters include: learning rate, batch size, network structure hyperparameters (for example: number of network layers (also called depth), interaction between network layers, number and size of convolution kernels, activation function), etc. Among them, the learning rate is used as a hyperparameter to control the amplitude of the parameter weight update of the model during training, which greatly affects the speed and accuracy of training.

[0068] The trained deep learning model can be used to infer the input data. In the inference stage, the data of the actual application scenario is usually used as the input data. The reasoning of the trained deep learning model can obtain the inference result. The inference stage is the actual application of the trained deep learning model, which can quickly use the capabilities of AI to solve specific technical problems. Nowadays, AI has many application scenarios, and the reasoning of deep learning models can also be used in various application scenarios, such as: personnel recognition scenarios for access control security systems, video pornography and violence detection, express waybill number detection and recognition, etc.

[0069] The above only introduces the training of the most typical deep learning model as an example. The training of other types of models is slightly different, but the principles are similar. Most of them are to infer the training data and adjust the parameters in the model according to the inference results, with the goal of obtaining a parameter combination that stabilizes the model performance.

[0070] Training is also mainly divided into supervised training and unsupervised training. The training process of the aforementioned deep learning model belongs to supervised training. Taking images as an example, when the AI ​​model is unsupervisedly trained, the training images in the image set used for training are not labeled. The training images in the training image set are input into the AI ​​model in sequence, and the AI ​​model gradually identifies the associations and potential rules between the training images in the training image set until the AI ​​model can be used to judge or identify the type or features of the input image. For example, in clustering, after receiving a large number of training images, the AI ​​model used for clustering can learn the features of each training image and the associations and differences between the training images, and automatically divide the training images into multiple types. Different AI models can be used for different task types. Some AI models can only be trained in a supervised learning way, some AI models can only be trained in an unsupervised learning way, and some AI models can be trained in both a supervised learning way and an unsupervised learning way. Generally speaking, AI models in machine learning often need to be trained using supervised learning methods. Training AI models using supervised learning methods allows the AI ​​models to more specifically learn the association between the training data in the training set and the corresponding annotations in the labeled training set, so that the trained AI model can be used to predict other input data with higher accuracy.

[0071] Network transmission relies on the operator's Internet infrastructure. The operator's nationwide network infrastructure is composed of multiple different metropolitan area networks (MAN), provincial networks, backbone networks, and a large number of transit nodes. Among them, the metropolitan area network is suitable for connecting various information transmission equipment in a city, such as computers, switches, routers, etc., which can achieve high-speed data transmission and resource sharing. Its range is usually between tens of kilometers and hundreds of kilometers. The provincial network refers to a network within a province, usually composed of various information transmission equipment in the province. The provincial network is mainly responsible for transmitting data from various cities to the provincial central node, and at the same time, it realizes interconnection with other provincial networks. The backbone network refers to a network connecting multiple cities or regions, usually composed of multiple core nodes. The backbone network is mainly responsible for transmitting data from various cities to other cities or regions, and at the same time, it realizes interconnection with other backbone networks. The backbone network usually has a high transmission rate and reliability and is the core part of the entire network system.

[0072] The dependencies and routing strategies of these nodes in the above-mentioned Internet infrastructure are relatively complex and invisible to operators outside. That is, Internet service providers (for example, cloud vendors) do not know the topological location of each transit node in the actual network, for example, whether each transit node belongs to a metropolitan area network, a provincial network, or a backbone network in the actual network. The complexity of this Internet infrastructure has brought a series of problems to similar Internet network and content service scenarios such as content delivery networks (CDNs). For example, in the Internet network fault location scenario, after a problem occurs, Internet service providers cannot define the scope and the point of occurrence of the fault, and do not know which province or region to find an operator to solve the problem, resulting in amplified network failure time. Due to the inability to define and locate the problem, it is also unknown what kind of backup strategy should be enabled to effectively reduce the impact of the fault, and there is a lack of autonomous risk avoidance capabilities. For example, in the construction and site selection scenario of self-built IDCs for Internet services, due to the lack of network topology data, it is impossible to quickly determine the network access capabilities of the intended computer room, which may lead to investment risks.

[0073] In the related technologies for discovering network topology, usually through point-to-point detection, the Internet Protocol (IP) addresses and some performance indicators along a path are obtained as a reference for evaluating network conditions. Although this method can obtain key IP information, it cannot explain the meaning of IP. In other words, the obtained IP information cannot be associated with physical links, such as metropolitan area networks, provincial networks, backbone networks, etc. Therefore, it is impossible to draw the approximate network topology information in a specific area. The obtained IP information can only be used as reference data with extremely low information density for the analysis of single scenario problems.

[0074] In view of this, an embodiment of the present application provides a method for determining network topology information. This method can identify the network topology (metropolitan area network, provincial network, backbone network, etc.) to which the nodes between the source and destination ends belong in the Internet infrastructure through an AI model. The network topology information can effectively provide data basis for a variety of scenarios, thereby improving the execution efficiency and execution effect of Internet service providers (for example, cloud vendors).

[0075] As an example, in one possible implementation, the method provided in the embodiment of the present application can be applied to a cloud service scenario, and the method is executed by a cloud management platform in the cloud service scenario. Figure 3 , describe the cloud service scenarios in detail.

[0076] Figure 3 is a schematic block diagram of a cloud scenario applicable to an embodiment of the present application. Figure 3 As shown, the cloud scenario may include: a cloud management platform 310 , the Internet 320 , and a client 330 .

[0077] like Figure 3 As shown, the cloud management platform 310 is used to manage the infrastructure that provides multiple cloud services. The infrastructure includes multiple cloud data centers, each of which includes multiple servers, each of which includes cloud service resources to provide corresponding cloud services for tenants.

[0078] The cloud management platform 310 may be located in a cloud data center, which may provide an access interface (such as an interface or an application program interface (API)). The tenant may operate the client 330 to remotely access the access interface to register a cloud account and password on the cloud management platform 310, and log in to the cloud management platform 310. After the cloud management platform 310 successfully authenticates the cloud account and password, the tenant may further pay to select and purchase a virtual machine of specific specifications (processor, memory, disk) on the cloud management platform 310. After the paid purchase is successful, the cloud management platform 310 provides the remote login account and password of the purchased virtual machine, and the client 330 may remotely log in to the virtual machine, install and run the tenant's application in the virtual machine. Therefore, the tenant may create, manage, log in and operate a virtual machine in the cloud data center through the cloud management platform 310. Among them, the virtual machine may also be called a cloud server (elastic compute service, ECS) or an elastic instance (different cloud service providers have different names).

[0079] It should be understood that tenants of cloud services can be individuals, enterprises, schools, hospitals, administrative agencies, etc.

[0080] The functions of the cloud management platform 310 include, but are not limited to, user console, computing management service, network management service, storage management service, authentication service, and image management service. The user console provides an interface or API to interact with tenants, the computing management service is used to manage servers running virtual machines and containers and bare metal servers, the network management service is used to manage network services (such as gateways, firewalls, etc.), the storage management service is used to manage storage services (such as data bucket services), the authentication service is used to manage tenant accounts and passwords, and the image management service is used to manage virtual machine images. Tenants can use the client 330 to log in to the cloud management platform 310 through the Internet 320 to manage the rented cloud services.

[0081] As an example, the cloud service may include but is not limited to: AI services. AI services and products in the cloud field not only reflect the on-demand use and purchase characteristics of cloud services, but also have the abstract, diverse, and widely used characteristics of AI technology. AI services in the cloud field include: AI basic development platform services of the platform-as-a-service (PaaS) type.

[0082] It should be understood that the AI ​​basic development platform service is a PaaS cloud service in the cloud management platform 310. It is a software platform that assists users (also known as tenants, AI developers, etc.) in building, training, and deploying AI models and developing and deploying AI applications based on the large amount of basic resources and software capabilities owned by the public cloud service provider. That is, the public cloud service provider provides tenants with an AI basic development platform with the support of sufficient underlying resources and upper-level AI algorithm capabilities. The built-in AI development framework and various AI algorithms in the AI ​​basic development platform can be used by tenants to quickly build and develop AI models or AI applications that meet personalized needs on the AI ​​basic development platform.

[0083] like Figure 4 As shown, the interaction between the tenant and the AI ​​basic development platform mainly includes: the tenant logs in to the cloud management platform 310 through the web page of the client 330, selects and purchases the cloud service of the AI ​​basic development platform in the cloud management platform 310, and after the purchase, the tenant can perform the whole process of AI development based on the functions provided by the AI ​​basic development platform.

[0084] As an example, when tenants develop and train their own AI models on the AI ​​basic development platform, they are based on the basic resources (mainly computing resources, such as CPU, GPU, NPU, etc.) in the data center of the cloud service provider. Therefore, when purchasing and using the AI ​​basic development platform, the main thing is to pay for the resources used. For example, tenants need to make a prepayment before using the AI ​​basic development platform. When prepaying, there are differences in the functions of the AI ​​basic development platform that can be supported by resources of different specifications. Tenants mainly select the name and specification of the resource according to the function of the AI ​​basic development platform to be used. Tenants can also choose the duration of purchase. The cloud management platform 310 prices the package according to the resource name, specification and purchase duration selected by the user. After the tenant purchases the prepaid package, the capabilities provided by the AI ​​basic development platform and the basic computing resources included in the prepaid package can be used to build, train, and deploy AI models. When the resource usage exceeds the amount of the current prepaid package, the cloud management platform 310 charges the excess resources in an on-demand manner. In fact, the basic resources used by tenants on the AI ​​basic development platform are mainly virtualized computing resources, such as virtual machines, containers, etc.

[0085] It should be understood that the sale of AI basic development platforms is actually a form of integration of software capabilities and hardware virtualization basic resources, and the basic resources supporting any process in the AI ​​basic development platform may be distributed on different physical devices. That is, the hardware devices that actually execute a process are usually server clusters in the same data center, or server clusters distributed in different data centers.

[0086] Combine the following Figure 5 , a method for determining network topology provided in an embodiment of the present application is described in detail. It should be understood that Figure 5 The examples are only intended to help those skilled in the art understand the embodiments of the present application, and are not intended to limit the embodiments of the present application to Figure 5 The specific numerical values ​​or specific scenarios shown in the examples. Figure 5 The examples given below are obviously susceptible to various equivalent modifications or changes, and such modifications and changes also fall within the scope of the embodiments of the present application.

[0087] Figure 5 FIG. 1 is a schematic flow chart of a method for determining network topology information provided by an embodiment of the present application. Figure 5 As shown, the method may include steps 510-540, and steps 510-540 are described in detail below.

[0088] Step 510: Acquire multiple detection data between the source end and the destination end in the CDN.

[0089] In the embodiment of the present application, the source and destination in the detected CDN can be determined based on the planning of the topology drawing area, and detection can be initiated from the source to the destination to obtain measurement data corresponding to each hop between the source and the destination.

[0090] It should be understood that the above-mentioned source end, destination end, and each hop between the source end and the destination end are nodes in the CDN respectively.

[0091] Optionally, in some embodiments, in order to obtain more accurate analysis results, multiple groups of source ends and destination ends may be prepared in a CDN, and the multiple groups of source ends and destination ends are used to obtain multiple detection data between the multiple groups of source ends and the destination ends.

[0092] It should be understood that the source end may also be referred to as the starting point of message transmission, and the destination end may also be referred to as the end point of message transmission. The starting point and the end point may be represented by the province to which they belong and the corresponding operator, for example, Jiangsu Unicom.

[0093] The embodiment of the present application does not specifically limit the above-mentioned source end and destination end, as long as the source end and the destination end each have an accessible Internet IP. Among them, the IP of the source end can also be called the resource of the source end, and the IP of the destination end can also be called the destination resource. In addition, the source end and the destination end can belong to the same operator, or can also belong to different operators, and the present application does not specifically limit this.

[0094] There are many ways to implement the above-mentioned detection from the source end to the destination end to obtain multiple detection data, and the embodiments of the present application do not specifically limit this. For example, a detection message can be sent from the source end to the destination end, and each hop between the source end and the destination end will send a response message to the source end after receiving the detection message, and the response message includes the above-mentioned detection data.

[0095] For example, the detection data may include, but is not limited to: the IP address of each hop on the path from the source to the destination, and the quality data of each hop. The present application does not specifically limit the quality data. For example, the quality data includes delay data. For ease of description, the quality data is described below as delay data.

[0096] Optionally, in some embodiments, the abnormal data in the acquired detection data may be cleaned or filtered. For example, common anomalies include unreturned IP addresses, obviously abnormal delay data, etc. The abnormal data may be processed by filtering or equivalent replacement, so that the processed data is easier to process and does not bring too much noise data.

[0097] In the embodiment of the present application, after the detection data is processed, it can be numbered according to the number of hops, and the number of hops in each data, the IP address corresponding to the hop, and the corresponding quality data are recorded to form a piece of data for analysis. Taking the quality data as delay data as an example, the form of the formed data can be similar to (number of hops, IP, delay data).

[0098] As an example, after obtaining multiple pieces of data similar to the above-mentioned form (number of hops, IP, delay data), the data can be aggregated. For example, the IP set appearing in each piece of data can be recorded according to the number of hops, and the IP set can be understood as a deduplicated set of all IPs corresponding to a certain hop. For another example, the multiple delay data obtained through multiple detections for each hop can be smoothed according to the number of hops, and the multiple delay data can be sorted according to the frequency of occurrence of the multiple delay data.

[0099] In the embodiment of the present application, after the above processing, multiple detection data in a form similar to (number of hops, IP set, delay data) can be obtained. Among them, the IP set can be understood as a deduplication set of all IPs corresponding to the hop, and the delay data represents multiple delay data corresponding to the hop. Optionally, the delay data also includes the frequency of occurrence of each delay data.

[0100] Step 520: Select a portion of the detection data from the plurality of detection data for manual labeling to form a training data set.

[0101] In the embodiment of the present application, a part of the detection data can be selected from the multiple detection data for manual labeling. Specifically, the selected part of the detection data can be labeled according to the actual knowledge obtained, and the labeled part of the detection data can form a training data set or a sample data set, which is used for supervised learning model training.

[0102] For example, if the detection data is in a form similar to (number of hops, IP set, delay data), the topological position to which each hop in the selected part of the detection data may belong can be marked according to currently known information or purchased data. Specifically, the topological position to which the hop number may belong can be determined and marked according to the IP set and delay data corresponding to each hop, and the marked data is in the form of (number of hops, IP set, delay data, topological position).

[0103] It should be understood that the above topological position refers to the topological position of a node of a certain hop in the actual network, for example, whether it is located in a metropolitan area network in the Internet infrastructure, in a provincial network, or in a backbone network.

[0104] Step 530: Train the data in the training data set through supervised learning to obtain an AI model.

[0105] In an embodiment of the present application, the data in the above-selected training data set can be trained to obtain an AI model through supervised learning.

[0106] It should be understood that an AI model trained by supervised learning can also be called a supervised learning model. A supervised learning model is a model obtained by determining the parameters of the initial AI model based on the data in a given training data set and the labels corresponding to each data in the training data set. The process of determining the parameters of the initial AI model using the data in the training data set and the labels corresponding to the data is also called supervised learning (or supervised training). The labels of the data in the training data set are usually manually annotated to identify the correct answer to the data for a specific task.

[0107] As an example, typical supervised learning models include, but are not limited to: support vector machine, neural network model, logistic regression model, decision tree, naive Bayes model, Gaussian discriminant model, etc. Supervised learning models are usually used for classification or regression.

[0108] For example, in the process of training an AI model by supervised learning in the embodiment of the present application, the data in the training data set may include the IP set and delay data corresponding to each hop in the selected part of the detection data, and the label corresponding to each data in the training data set is the topological position to which each hop belongs or belongs that is manually marked. A supervised learning model is trained through the above-mentioned supervised learning (or supervised training) process. Specifically, the IP set and delay data corresponding to each hop in the training data set can be used as input information of the AI ​​model, and the AI ​​model will output the topological position corresponding to each hop. And according to the difference between the topological position to which each hop belongs output by the AI ​​model and the topological position to which each hop belongs that is manually marked, the parameters of the AI ​​model are continuously adjusted until the difference between the topological position to which each hop belongs output by the AI ​​model and the topological position to which each hop belongs that is manually marked is small or the output of the AI ​​model is relatively stable. At this time, it can be considered that the training process of the supervised learning model has been completed, and the AI ​​model with stable function after training can be used for reasoning.

[0109] Step 540: Input the IP set and delay data corresponding to each hop to be predicted in the plurality of detection data into the AI ​​model, and the AI ​​model outputs the predicted topological positions respectively.

[0110] In the embodiment of the present application, after the AI ​​model is trained, the remaining detection data in the plurality of detection data except the training data can be predicted according to the hop count information to predict the network topology position corresponding to the hop count. Specifically, the IP set and delay data corresponding to each hop in the remaining detection data can be used as the input information of the AI ​​model, and the AI ​​model will output the predicted topology position corresponding to each hop.

[0111] In an embodiment of the present application, after obtaining the above data, the network topology information of the detection area (source end to destination end) can be constructed. For example, the network topology data consists of five parts, namely (starting point, end point, number of hops, IP set, topological position). The starting point and end point are the information of the province and operator of the topology drawing area, corresponding to the provincial operator to which the source end and the opposite end of the actual detection belong. The number of hops is the hop number collected in the above steps. The IP set is a deduplication set of all IPs that appear in the jump recorded in the above steps. The topological position is the corresponding actual network topological position, such as a metropolitan area network, a provincial network, a backbone network, etc. Such a set of data can represent the network topology information from a certain source end to a certain destination end.

[0112] In the above technical solution, AI technology can be used to identify the topology of the Internet and the topological locations represented by different locations. The network topology can be used to effectively provide data basis for various scenarios and improve execution efficiency and execution effect. For example, when a network failure occurs, the location of the failure and its topological location can be located based on IP information or hop count information to determine its impact range and corresponding processing methods; in scenarios such as IDC site selection and construction, targeted testing and analysis can be performed based on the topological data, and a computer room closer to the trunk road or user location can be selected for construction.

[0113] Combination of the above Figures 1 to 5 , describes in detail the method provided by the embodiment of the present application, and will be combined with Figure 6-Figure 9 , describes in detail the embodiment of the device of the present application. It should be understood that the description of the method embodiment corresponds to the description of the device embodiment, so the parts not described in detail can refer to the previous method embodiment.

[0114] Figure 6 600 is a schematic block diagram of a device 600 for determining network topology information provided in an embodiment of the present application. The device 600 can be implemented by software, hardware, or a combination of both. Figure 5 According to the method flow shown, the device 600 includes: an acquisition module 610 and a prediction module 620. The acquisition module 610 is used to obtain a plurality of detection data, the plurality of detection data including the Internet Protocol IP address and transmission quality data corresponding to each hop between the source end and the destination end in the CDN; the prediction module 620 is used to predict the topological position of each hop in the plurality of detection data in the actual physical network according to the first model, the first model is trained according to the IP address corresponding to each hop in the sample detection data, the transmission quality data and the marked topological position in the actual physical network, the plurality of detection data including the sample detection data; the acquisition module 610 is also used to obtain the network topology information from the source end to the destination end in the actual physical network according to the IP address corresponding to each hop in the plurality of detection data, the transmission quality data and the topological position in the actual physical network.

[0115] Optionally, the device 600 also includes: a training module, used to perform supervised learning on the model according to the IP address corresponding to each hop in the sample detection data, the transmission quality data and the marked topological positions in the actual physical network, so as to obtain the first model.

[0116] Optionally, the device 600 also includes: a selection module and a marking module, wherein the selection module is used to select the sample detection data from the multiple detection data; the marking module is used to mark the topological position of each hop in the sample detection data in the actual physical network.

[0117] Optionally, the topological position of each hop in the actual physical network is the Internet network to which each hop belongs in the actual physical network, and the Internet network includes a metropolitan area network, a provincial network, and a backbone network.

[0118] Optionally, the transmission quality data includes transmission delay data.

[0119] Optionally, the device 600 further includes: a filtering module, which is used by the cloud management platform to filter abnormal detection data among the multiple detection data.

[0120] Optionally, the device 600 further includes: a storage module, configured to store the network topology information in a network topology database.

[0121] The device 600 here can be embodied in the form of a functional module. The term "module" here can be implemented in the form of software and / or hardware, and is not specifically limited to this.

[0122] For example, a "module" may be a software program, a hardware circuit, or a combination of the two that implements the above functions. Exemplarily, the following takes the acquisition module 610 as an example to introduce the implementation of the acquisition module 610. Similarly, the implementation of other modules, such as the prediction module 620, the training module, the selection module, the marking module, the filtering module, and the storage module, can refer to the implementation of the acquisition module 610.

[0123] The acquisition module 610 is taken as an example of a software functional unit, and the acquisition module 610 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more. For example, the acquisition module 610 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region (region) or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including a data center or multiple data centers with close geographical locations. Among them, usually a region may include multiple AZs.

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

[0125] The acquisition module 610 is taken as an example of a hardware functional unit, and the acquisition module 610 may include at least one computing device, such as a server, etc. Alternatively, the acquisition module 610 may also be a device implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), etc. 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.

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

[0127] Therefore, the modules of each example described in the embodiments of the present application can be implemented with electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application.

[0128] It should be noted that: when the device provided in the above embodiment executes the above method, only the division of the above functional modules is used as an example. In actual application, the above function allocation can be completed by different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. For example, the acquisition module 610 can be used to execute any step in the above method, the prediction module 620 can be used to execute any step in the above method, the training module can be used to execute any step in the above method, the selection module can be used to execute any step in the above method, the marking module can be used to execute any step in the above method, the filtering module can be used to execute any step in the above method, and the storage module can be used to execute any step in the above method. The steps that the acquisition module 610, the prediction module 620, the training module, the selection module, the marking module, the filtering module, and the storage module are responsible for implementing can be specified as needed, and the acquisition module 610, the prediction module 620, the training module, the selection module, the marking module, the filtering module, and the storage module respectively implement different steps in the above method to realize all the functions of the above device.

[0129] In addition, the device and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation processes are detailed in the method embodiments above, which will not be repeated here.

[0130] The method provided in the embodiment of the present application can be performed by a computing device, which can also be referred to as a computer system. It includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a processing unit, a memory and a memory control unit, and then the function and structure of the hardware are described in detail. The operating system is any one or more computer operating systems that implement business processing through a process, for example, a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a windows operating system. The application layer includes applications such as a browser, an address book, a word processing software, and an instant messaging software. In addition, optionally, the computer system is a handheld device such as a smart phone, or a terminal device such as a personal computer, and the present application is not particularly limited, as long as the method provided by the embodiment of the present application can be used. The execution subject of the method provided in the embodiment of the present application can be a computing device, or a functional module in a computing device that can call a program and execute a program.

[0131] Combine the following Figure 7 , a computing device provided in an embodiment of the present application is described in detail.

[0132] Figure 71 is a schematic diagram of the architecture of a computing device 1500 provided in an embodiment of the present application. The computing device 1500 may be a server or a computer or other device with computing capabilities. Figure 7 The computing device 1500 shown includes at least one processor 1510 and a memory 1520 .

[0133] It should be understood that the present application does not limit the number of processors and memories in the computing device 1500 .

[0134] The processor 1510 executes the instructions in the memory 1520, so that the computing device 1500 implements the method provided by the present application. Alternatively, the processor 1510 executes the instructions in the memory 1520, so that the computing device 1500 implements the functional modules provided by the present application, thereby implementing the method provided by the present application.

[0135] Optionally, the computing device 1500 further includes a communication interface 1530. The communication interface 1530 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1500 and other devices or a communication network.

[0136] Optionally, the computing device 1500 further includes a system bus 1540, wherein the processor 1510, the memory 1520, and the communication interface 1530 are respectively connected to the system bus 1540. The processor 1510 can access the memory 1520 through the system bus 1540. For example, the processor 1510 can read and write data or execute code in the memory 1520 through the system bus 1540. The system bus 1540 is a peripheral component interconnect express (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus 1540 is divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0137] In a possible implementation, the function of the processor 1510 is mainly to interpret the instructions (or codes) of the computer program and process the data in the computer software. The instructions of the computer program and the data in the computer software can be stored in the memory 1520 or the cache 1516.

[0138] Optionally, the processor 1510 may be an integrated circuit chip with signal processing capabilities. As an example and not a limitation, the processor 1510 is a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Among them, the general-purpose processor is a microprocessor, etc. For example, the processor 1510 is a central processing unit (CPU).

[0139] Optionally, each processor 1510 includes at least one processing unit 1512 and a memory control unit 1514 .

[0140] Optionally, the processing unit 1512 is also called a core or kernel, which is the most important component of the processor. The processing unit 1512 is manufactured from single crystal silicon using a certain production process, and all calculations, command reception, command storage, and data processing of the processor are performed by the core. The processing units run program instructions independently and use the ability of parallel computing to speed up the running speed of the program. Various processing units have a fixed logical structure. For example, the processing unit includes logical units such as a first-level cache, a second-level cache, an execution unit, an instruction-level unit, and a bus interface.

[0141] In one implementation example, the memory control unit 1514 is used to control data interaction between the memory 1520 and the processing unit 1512. Specifically, the memory control unit 1514 receives a memory access request from the processing unit 1512, and controls access to the memory based on the memory access request. As an example and not a limitation, the memory control unit is a device such as a memory management unit (MMU).

[0142] In one implementation example, each memory control unit 1514 addresses the memory 1520 through the system bus. And an arbiter ( Figure 7 ), which is responsible for handling and coordinating competing accesses of multiple processing units 1512.

[0143] In an implementation example, the processing unit 1512 and the memory control unit 1514 are connected to each other through connection lines inside the chip, such as address lines, so as to achieve communication between the processing unit 1512 and the memory control unit 1514.

[0144] Optionally, each processor 1510 also includes a cache 1516, wherein the cache is a buffer for data exchange (called cache). When the processing unit 1512 wants to read data, it will first search for the required data from the cache. If it is found, it will be executed directly. If it is not found, it will be searched from the memory. Since the running speed of the cache is much faster than the memory, the role of the cache is to help the processing unit 1512 run faster.

[0145] The memory 1520 can provide a running space for the processes in the computing device 1500. For example, the computer program (specifically, the program code) used to generate the process is stored in the memory 1520. After the computer program is executed by the processor to generate the process, the processor allocates a corresponding storage space for the process in the memory 1520. Furthermore, the above storage space further includes a text segment, an initialized data segment, a bit initialized data segment, a stack segment, a heap segment, etc. The memory 1520 stores the data generated during the running of the process in the storage space corresponding to the above process, such as intermediate data, process data, etc.

[0146] Optionally, the storage is also called memory, and its function is to temporarily store the operation data in the processor 1510 and the data exchanged with the external storage such as the hard disk. As long as the computer is running, the processor 1510 will transfer the data to be calculated to the memory for calculation, and when the calculation is completed, the processing unit 1512 will transmit the result.

[0147] As an example and not limitation, memory 1520 is a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory is a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory is a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DRRAM). It should be noted that the memory 1520 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0148] The structure of the computing device 1500 listed above is only an example, and the present application is not limited thereto. The computing device 1500 of the embodiment of the present application includes various hardware in the computer system in the prior art. For example, the computing device 1500 also includes other memories besides the memory 1520, such as disk storage, etc. Those skilled in the art should understand that the computing device 1500 may also include other devices necessary for normal operation. At the same time, according to specific needs, those skilled in the art should understand that the above-mentioned computing device 1500 may also include hardware devices for implementing other additional functions. In addition, those skilled in the art should understand that the above-mentioned computing device 1500 may also include only the devices necessary to implement the embodiment of the present application, and does not necessarily include Figure 7 All devices shown in .

[0149] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server. In some embodiments, the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0150] like Figure 8 As shown, the computing device cluster includes at least one computing device 1500. The memory 1520 in one or more computing devices 1500 in the computing device cluster may store the same instructions for executing the above method.

[0151] In some possible implementations, the memory 1520 in one or more computing devices 1500 in the computing device cluster may also store some instructions for executing the above method. In other words, the combination of one or more computing devices 1500 may jointly execute the instructions of the above method.

[0152] It should be noted that the memory 1520 in different computing devices 1500 in the computing device cluster may store different instructions, which are respectively used to execute part of the functions of the above-mentioned apparatus. That is, the instructions stored in the memory 1520 in different computing devices 1500 may implement the functions of one or more modules in the above-mentioned apparatus.

[0153] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig. 9 A possible implementation is shown. Fig. 9 As shown, two computing devices 1500A and 1500B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device.

[0154] It should be understood that Fig. 9 The functionality of the computing device 1500A shown in FIG. 1 may also be implemented by multiple computing devices 1500. Similarly, the functionality of the computing device 1500B may also be implemented by multiple computing devices 1500.

[0155] In this embodiment, a computer program product including instructions is also provided, and the computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on a computing device, the computing device is caused to execute the method provided above, or the computing device is caused to implement the function of the apparatus provided above.

[0156] In this embodiment, a computer-readable storage medium is also provided. The computer-readable storage medium may be any available medium that can be stored by a computing device or a data storage device such as a data center that includes one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions. When the instructions in the computer-readable storage medium are executed on a computing device, the computing device executes the method provided above.

[0157] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0158] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

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

[0160] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0161] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0162] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0163] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.

[0164] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for determining network topology information, characterized in that: The method is applied to a cloud management platform, the cloud management platform is used to manage the infrastructure for providing cloud services, the infrastructure includes at least one cloud data center, each of the cloud data center is provided with at least one server, the method includes: The cloud management platform obtains a plurality of detection data, wherein the plurality of detection data includes an Internet Protocol IP address and transmission quality data corresponding to each hop between a source end and a destination end in a content delivery network CDN; The cloud management platform predicts the topological position of each hop in the multiple detection data in the actual physical network according to the first model, wherein the first model is trained according to the IP address, transmission quality data and the marked topological position in the actual physical network corresponding to each hop in the sample detection data, and the multiple detection data include the sample detection data; The cloud management platform obtains network topology information from the source end to the destination end in the actual physical network based on the IP address corresponding to each hop in the multiple detection data, the transmission quality data, and the topological position in the actual physical network.

2. The method according to claim 1, characterized in that: The method further comprises: The cloud management platform performs supervised learning on the model according to the IP address corresponding to each hop in the sample detection data, the transmission quality data, and the marked topological positions in the actual physical network to obtain the first model.

3. The method according to claim 2, characterized in that The method further comprises: The cloud management platform selects the sample detection data from the plurality of detection data; The cloud management platform respectively marks the topological position of each hop in the sample detection data in the actual physical network.

4. The method according to any one of claims 1 to 3, characterized in that The topological position of each hop in the actual physical network is the Internet network to which each hop belongs in the actual physical network, and the Internet network includes a metropolitan area network, a provincial network, and a backbone network.

5. The method according to any one of claims 1 to 4, characterized in that The transmission quality data includes transmission delay data.

6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: The cloud management platform filters abnormal detection data among the multiple detection data.

7. The method according to any one of claims 1 to 6, characterized in that The method further comprises: The cloud management platform stores the network topology information in a network topology database.

8. A device for determining network topology information, characterized in that: The device is applied to a cloud management platform, and the cloud management platform is used to manage the infrastructure for providing cloud services, the infrastructure includes at least one cloud data center, each of the cloud data center is provided with at least one server, and the device includes: An acquisition module, configured to obtain a plurality of detection data, wherein the plurality of detection data includes an Internet Protocol IP address and transmission quality data corresponding to each hop between a source end and a destination end in a content delivery network CDN; A prediction module, configured to predict the topological position of each hop in the plurality of detection data in the actual physical network according to a first model, wherein the first model is trained according to an IP address, transmission quality data and a marked topological position in the actual physical network corresponding to each hop in the sample detection data, and the plurality of detection data includes the sample detection data; The acquisition module is also used to obtain network topology information from the source end to the destination end in the actual physical network based on the IP address corresponding to each hop in the multiple detection data, transmission quality data and the topological position in the actual physical network.

9. The device according to claim 8, characterized in that The device also includes: The training module is used to perform supervised learning on the model according to the IP address corresponding to each hop in the sample detection data, the transmission quality data and the marked topological positions in the actual physical network to obtain the first model.

10. The device according to claim 9, characterized in that The device also includes: A selection module, used for selecting the sample detection data from the plurality of detection data; The marking module is used to mark the topological position of each hop in the sample detection data in the actual physical network.

11. The device according to any one of claims 8 to 10, characterized in that The topological position of each hop in the actual physical network is the Internet network to which each hop belongs in the actual physical network, and the Internet network includes a metropolitan area network, a provincial network, and a backbone network.

12. The device according to any one of claims 8 to 11, characterized in that The transmission quality data includes transmission delay data.

13. The device according to any one of claims 8 to 12, characterized in that The device also includes: The filtering module is used for the cloud management platform to filter abnormal detection data among the multiple detection data.

14. The device according to any one of claims 8 to 13, characterized in that The device also includes: The storage module is used to store the network topology information in a network topology database.

15. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 7.

16. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster is caused to perform the method according to any one of claims 1 to 7.

17. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, and when the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method as claimed in any one of claims 1 to 7.