Network link detection method and device, computer equipment and storage medium

By acquiring and analyzing CDN network node information, identifying available nodes and eliminating unavailable links, the problem of incomplete coverage and poor accuracy of CDN network link detection is solved, and efficient link status determination is achieved.

CN120979973APending Publication Date: 2025-11-18TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410598207.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-14
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

Traditional link detection technologies are inaccurate, and existing CDN network link detection technologies suffer from incomplete coverage, poor accuracy, and low efficiency.

Method used

By acquiring the configuration information of each node in the content delivery network, link analysis and aggregation are performed to identify available nodes, eliminate unavailable links, and send probe information to determine the link status, ensuring comprehensive coverage and accuracy of link probe.

Benefits of technology

It improves the accuracy and efficiency of CDN network link detection, reduces the workload, and ensures the reliability of detection results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120979973A_ABST
    Figure CN120979973A_ABST
Patent Text Reader

Abstract

The invention relates to a network link detection method and device, computer equipment, a computer readable storage medium and a computer program product, which can be applied to network link detection for a content distribution network. The method comprises the following steps: acquiring node information configured for each node in the content distribution network; performing link analysis on the content distribution network according to the information of each node, and determining a plurality of configuration links of the content distribution network; identifying available nodes in the intermediate nodes by interacting with the intermediate nodes deployed in the content distribution network; performing link aggregation on each configuration link based on the respective node address of each available node to obtain a detection link for the content distribution network; and sending the detection information to each node in the detection link, and determining the link state of the detection link according to the received response information. By adopting the method, the accuracy of a detection result can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, in particular to a network link detection method and device, computer equipment, computer readable storage medium and computer program product. BACKGROUND

[0002] Content Delivery Network (CDN) is a new network content service system, which can make content transmission faster and more stable. In the CDN system, a large number of node devices are involved. These devices often fail due to various uncontrollable factors, so in actual application, network link detection needs to be performed on CDN to ensure stable network quality.

[0003] In the traditional technology, HTTP (Hyper Text Transfer Protocol) dialing test is usually used, which simulates users in the CDN room to send HTTP requests to CDN nodes, and then obtains the success rate of dialing test. Since each domain name that needs to be tested needs to be added manually, and the dialing test process of each domain name is simulated, it cannot completely cover the link situation from users to each domain name, which easily leads to blind area in detection, and the link detection result is not accurate. SUMMARY

[0004] Therefore, it is necessary to provide a network link detection method, device, computer equipment, computer readable storage medium and computer program product capable of improving accuracy in view of the above technical problems.

[0005] In a first aspect, the present application provides a network link detection method. The method comprises:

[0006] Obtaining node information configured for each node in a content delivery network;

[0007] Performing link analysis on the content delivery network according to each node information, and determining a plurality of configuration links of the content delivery network;

[0008] Identifying available nodes in each intermediate node by interacting with each intermediate node deployed in the content delivery network;

[0009] Performing link aggregation on each configuration link based on the node address of each available node, and obtaining a detection link for the content delivery network;

[0010] Sending detection information to each node in the detection link, and determining the link state of the detection link according to the received response information.

[0011] In a second aspect, the present application provides a network link detection device. The device comprises:

[0012] a module configured to acquire node information configured for each node in a content distribution network;

[0013] a link analysis module configured to perform link analysis on the content distribution network according to the node information, and determine a plurality of configured links of the content distribution network;

[0014] a usable node identification module configured to identify usable nodes in each intermediate node deployed in the content distribution network by interacting with the intermediate nodes;

[0015] a link aggregation module configured to perform link aggregation on each of the configured links based on a node address of each of the usable nodes, and obtain a detection link of the content distribution network;

[0016] a link detection module configured to send detection information to each node in the detection link, and determine a link state of the detection link according to received response information.

[0017] In a third aspect, the present application provides a computer device. The computer device comprises a memory and a processor, the memory stores a computer program, and the processor implements the following steps when executing the computer program:

[0018] acquiring node information configured for each node in a content distribution network;

[0019] performing link analysis on the content distribution network according to the node information, and determining a plurality of configured links of the content distribution network;

[0020] identifying usable nodes in each intermediate node deployed in the content distribution network by interacting with the intermediate nodes;

[0021] performing link aggregation on each of the configured links based on a node address of each of the usable nodes, and obtaining a detection link of the content distribution network;

[0022] sending detection information to each node in the detection link, and determining a link state of the detection link according to received response information.

[0023] In a fourth aspect, the present application provides a computer readable storage medium. The computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the following steps:

[0024] acquiring node information configured for each node in a content distribution network;

[0025] link analysis is performed on the content distribution network according to the node information, and a plurality of configuration links of the content distribution network are determined;

[0026] Through interaction with each intermediate node deployed in the content distribution network, available nodes in each intermediate node are identified;

[0027] Based on the node address of each available node, link aggregation is performed on each configuration link, and a probe link for the content distribution network is obtained;

[0028] Probe information is sent to each node in the probe link, and the link state of the probe link is determined according to the received response information.

[0029] In a fifth aspect, the present application further provides a computer program product. The computer program product comprises a computer program which, when executed by a processor, implements the following steps:

[0030] Node information configured for each node in the content distribution network is obtained;

[0031] link analysis is performed on the content distribution network according to the node information, and a plurality of configuration links of the content distribution network are determined;

[0032] Through interaction with each intermediate node deployed in the content distribution network, available nodes in each intermediate node are identified;

[0033] Based on the node address of each available node, link aggregation is performed on each configuration link, and a probe link for the content distribution network is obtained;

[0034] Probe information is sent to each node in the probe link, and the link state of the probe link is determined according to the received response information.

[0035] The network link detection method, device, computer equipment, computer readable storage medium and computer program product can obtain node information configured for each node in the content distribution network, perform link analysis on the content distribution network according to the node information, and determine a plurality of configured links of the content distribution network, so as to ensure that the obtained configured links comprehensively cover each node of the CDN, and further improve the coverage of a detection link determined based on the configured link and the accuracy of a link detection result. By interacting with each intermediate node deployed in the content distribution network, available nodes in each intermediate node are identified, each configured link is aggregated based on a node address of each available node, a detection link of the content distribution network is obtained, and a link state of the detection link is further determined by sending detection information, so that an unavailable link containing an unavailable node can be removed before detection, thereby reducing the task amount of network link detection and improving detection efficiency. Therefore, the network link detection method can improve detection efficiency and improve the accuracy of a link detection result. BRIEF DESCRIPTION OF DRAWINGS

[0036] Figure 1 An application environment diagram of a network link detection method in an embodiment;

[0037] Figure 2 A flowchart of a network link detection method in an embodiment;

[0038] Figure 3 An interface diagram of a device management page in an embodiment;

[0039] Figure 4 A packet loss rate statistical diagram before removing a faulty IP in an embodiment;

[0040] Figure 5 A packet loss rate statistical diagram after removing a faulty IP in an embodiment;

[0041] Figure 6 An acquisition process diagram of node information in an embodiment;

[0042] FIG. 7 is a principle diagram of implementing asynchronous processing based on a kafka mechanism in an embodiment;

[0043] Figure 8 A flowchart of a network link detection method in another embodiment;

[0044] Figure 9 An architecture diagram of a network link detection system in an embodiment;

[0045] Figure 10 A CDN node packet loss rate statistical diagram in an embodiment;

[0046] Figure 11 Fig. 1 is a schematic diagram of an overall process of implementing a link detection service by a client in an embodiment;

[0047] Figure 12 Fig. 2 is a structural block diagram of a network link detection apparatus in an embodiment;

[0048] Figure 13 Fig. 3 is an internal structural diagram of a computer device in an embodiment. DETAILED DESCRIPTION

[0049] In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and should not be used to limit the present application.

[0050] In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and should not be used to limit the present application.

[0051] Cloud technology refers to a kind of hosting technology that unifies a series of resources such as hardware, software and network to realize data calculation, storage, processing and sharing in a wide area network or local area network. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology and application technology based on cloud computing business model application, which can form a resource pool for on-demand use and flexible convenience. Cloud computing technology will become an important support. The background service of a technical network system needs a large amount of computing and storage resources, such as video websites, picture websites and more portals. With the high development and application of the Internet industry, every item may have its own identification mark in the future, which needs to be transmitted to the background system for logical processing. Different levels of data will be processed separately, and various industry data need strong system support, which can only be realized through cloud computing.

[0052] Cloud computing is a computing mode that distributes computing tasks on a resource pool composed of a large number of computers, so that various application systems can obtain computing power, storage space and information services according to needs. The network providing resources is called "cloud". The resources in the "cloud" can be infinitely expanded in the eyes of the user, and can be obtained at any time, used on demand, expanded at any time, and paid according to use. As a basic capability provider of cloud computing, a cloud computing resource pool (referred to as cloud platform) will be established, generally referred to as an IaaS (Infrastructure as a Service) platform, which deploys various types of virtual resources in the resource pool for external customers to choose. The cloud computing resource pool mainly includes: computing devices (virtualized machines containing operating systems), storage devices, network devices.

[0053] According to logical function division, PaaS (Platform as a Service) layer can be deployed on IaaS, SaaS (Software as a Service) layer can be deployed on PaaS, or SaaS can be directly deployed on IaaS. PaaS is a platform for software running, such as database, web container, etc. SaaS is various business software, such as web portal, short message mass sender, etc. Generally, SaaS and PaaS are upper layers relative to IaaS.

[0054] CDN is an intelligent virtual network built on the basis of the existing network. By means of load balancing, content distribution, scheduling and other function modules of the central platform, CDN makes users obtain the required content nearby, reduces network congestion, and improves user access response speed and hit rate. The nodes of CDN can be deployed in multiple locations and on multiple different networks. The nodes can dynamically transfer content to each other, optimize user download behavior, and thereby reduce bandwidth cost required by the content provider, improve user download speed, and improve system stability. The number of nodes required by CDN varies with different needs, and can be in accordance with the size of the object to be served, and can be tens of thousands of servers. The existing network refers to the network that is running and has been put into commercial use.

[0055] ICMP (Internet Control Message Protocol) is a sub-protocol of the TCP / IP (Transmission Control Protocol / Internet Protocol) protocol family, which is used to transmit control messages between IP hosts and routers. The control message refers to the message of the network itself, such as network connectivity, host reachability, and routing availability.

[0056] Ping (Packet Internet Groper) refers to a program that can be used to test the amount of network connection; the ping command can be used as a check of network availability, such as the ping command can send a test data packet (or called a probe data packet) to a network address to see if the network address has a response and to count the response time, so as to test the network. The protocol used by the ping command when sending the test data packet is ICMP protocol.

[0057] Edge data centers (OC) can refer to EIC (Edge Internet Data Center) and GOC (Carrier Cooperative Data Center) data centers built by enterprises and operators in various cities. Edge data centers can also be called edge data centers or edge nodes.

[0058] An operator can refer to a telecommunications service company that operates a network and provides services. Operators need to understand the network's operational status not only from a network perspective but also from a service perspective. In this application's embodiments, the operator can refer to a telecommunications service company that provides fixed-line telephone, mobile phone, and internet access.

[0059] CDNs utilize servers to cache customer data and route user requests to the optimal cache nodes via the Domain Name System (DNS) or other load balancing systems to improve access speed and quality. However, as business scales up, various issues may arise involving thousands of machines, with network problems having the greatest impact on users, potentially leading to latency or inaccessibility. Traditional technologies use HTTP dial-up testing for network link probing, or ping probing between machines to obtain network topology and performance metrics. However, both of these approaches have limitations. First, they cannot accurately cover the link information from user requests to the CDN, introducing errors and failing to accurately reflect the network quality of the existing CDN network, resulting in poor probing accuracy. Second, due to the complex network architecture and numerous nodes of a CDN, using traditional link probing methods is labor-intensive and inefficient.

[0060] Based on this, embodiments of this application provide a network link detection method, which can be applied to, for example... Figure 1 The application environment shown may include a service node 102, an intermediate node 104, and a user node 106. The service node 102 and the intermediate node 104, as well as the intermediate node 104 and the user node 106, can communicate via a network. This communication network can be a wired network or a wireless network. Therefore, the service node 102, the intermediate node 104, and the user node 106 can be directly or indirectly connected via wired or wireless communication. For example, the user node 106 can be indirectly connected to the intermediate node 104 via a wireless access point, or the user node 106 can be directly connected to the intermediate node 104 via the Internet; this application does not impose any limitations on this.

[0061] The user node 106 can be implemented by a terminal, which includes but is not limited to various desktop computers, notebook computers, smart phones, tablet computers, Internet of Things devices, and portable wearable devices. The Internet of Things device can be a smart speaker, a smart television, a smart air conditioner, a smart vehicle device, etc. The portable wearable device can be a smart watch, a smart bracelet, a head-mounted device, etc. The service node 102 and the intermediate node 104 can be implemented by a server, which can be a standalone physical server, a server cluster composed of multiple physical servers, or a distributed system, and can also be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, and basic cloud computing services such as big data and artificial intelligence platforms. The data storage system can store data required to be processed by the server. The data storage system can be separately arranged, integrated on the server, or placed on the cloud or other servers.

[0062] Further, the service node is deployed with an anti-ping client (a client for performing a detection task, hereinafter referred to as a client) and an anti-ping server. Anti-ping can refer to a path of sending detection information to each node in the detection link during detection, which is opposite to the access path of the CDN user. The network link detection method in the embodiment of the application can be performed by the anti-ping client deployed in the CDN service node 102, as shown in Figure 1 During the network link detection process, on the one hand, the client obtains node information configured for each node in the content distribution network, and performs link analysis on the content distribution network according to the node information to determine a plurality of configured links of the content distribution network; on the other hand, the client identifies available nodes in each intermediate node by interacting with each intermediate node deployed in the content distribution network. Then, the client performs link aggregation on each configured link based on the node address of each available node to obtain a detection link for the content distribution network. Finally, the client sends detection information to each node in the detection link, and determines the link state of the detection link according to the received response information.

[0063] In one embodiment, as shown in Figure 2 , a network link detection method is provided, which can be executed by a computer device. In this embodiment, the method is applied to a client deployed in a service node of a content distribution network, and includes the following steps: Figure 1

[0064] Step S202, obtaining node information configured for each node in the content distribution network.

[0065] ​In a content delivery network (CDN), each node can specifically include intermediate nodes and user nodes. Intermediate nodes can include, for example, data center nodes, carrier nodes, and base station nodes. Service requests submitted by user nodes pass sequentially through base station nodes, carrier nodes, and data center nodes before finally reaching the service node. Node information can include node type, node region, node address, etc. The node address can be, for example, an IP (Internet Protocol) address or a MAC (Media Access Control) address.

[0066] Specifically, the client can obtain node information configured for each node in the content delivery network from the server or data storage system. This obtained node information should cover all nodes in the content delivery network, allowing for subsequent link analysis to obtain complete link information. In practice, node information can be stored in multiple databases, with multiple distributed locks configured for each database. During the node information acquisition process, the client can start multiple threads and execute them concurrently to access multiple databases simultaneously and retrieve node information in batches.

[0067] Step S204: Perform link analysis on the content delivery network based on the information of each node to determine multiple configuration links of the content delivery network.

[0068] In this context, a configuration link is the network link that a content delivery network (CDN) can theoretically support. Each configuration link can be composed of multiple nodes of the CDN connected in series, with each node serving as the destination node for the preceding node and the source node for the following node. Specifically, the client can determine the position of each node in the network link based on the node information that represents the node type of each node, thereby determining multiple configuration links that sequentially connect data center nodes, carrier nodes, base station nodes, and user nodes.

[0069] In one specific implementation, the client can merge the information of nodes belonging to the same region to obtain information sets for each region. Then, it performs link analysis on each information set to determine the corresponding configuration links for the content delivery network in each region. Specifically, for each information set, the client can determine the corresponding configuration links based on the node type to which each node in the information set belongs.

[0070] In a specific implementation, the client can also query the access logs of user nodes based on the node information of the user nodes, extract the access links from the access logs, and use them as the configuration links of the content delivery network to improve the efficiency of the link analysis process.

[0071] In a specific embodiment, link analysis is performed on the content distribution network according to the node information, and a plurality of configuration links of the content distribution network are determined, including: updating the node information based on the preconfigured new-old node mapping relationship to obtain updated node information; and performing link analysis on the content distribution network based on the updated node information to determine the plurality of configuration links of the content distribution network.

[0072] In actual application, on the one hand, with the continuous expansion of the cluster size, node damage of the cluster will become a relatively common phenomenon, and with the increase of data volume, the computing and storage capacity of a single node will also become a bottleneck; on the other hand, with the development of technology, there can also be a situation of operator update. In the above-mentioned situations, the cluster nodes need to be replaced and upgraded so that the cluster can work normally. To ensure that accurate configuration links can be determined in the scenario of replacing new and old nodes, the new-old node mapping relationship can be preconfigured in the case of needing to upgrade the nodes. Thus, the client can update the node information based on the new-old node mapping relationship to obtain updated node information that is more in line with the actual situation, and then perform link analysis on the content distribution network based on the updated node information to determine the plurality of configuration links of the content distribution network.

[0073] In the embodiment, after updating the node information, link analysis is performed to determine the configuration links, which can make the determined configuration links more consistent with the actual situation, improve the accuracy of the determined configuration links, and further ensure the accuracy of the detection results based on the configuration links.

[0074] In step S206, the available nodes in the intermediate nodes deployed in the content distribution network are identified by interacting with the intermediate nodes.

[0075] As described above, the intermediate nodes deployed in the content distribution network refer to other nodes that need to be passed through in the process of transmitting data information between the service nodes and the user nodes, and can specifically include room nodes, operator nodes and base station nodes. Specifically, the client can determine an interaction mode matched with the node type of the intermediate node according to the node type, and interact with the intermediate nodes based on the interaction mode to identify the available nodes and the unavailable nodes in the intermediate nodes.

[0076] In a specific embodiment, the intermediate nodes include room nodes and operator nodes. In the case of this embodiment, the available nodes in the intermediate nodes deployed in the content distribution network are identified by interacting with the intermediate nodes, including: determining corresponding detection nodes from the room nodes and the operator nodes respectively; sending network diagnosis commands to the detection nodes respectively to trigger network diagnosis events between the room nodes and between the operator nodes; and determining the available nodes from the room nodes and the operator nodes based on the diagnosis results of the network diagnosis events.

[0077] The number of probe nodes can be one or more. In a specific implementation, the network diagnostic event can be a mutual ping event. The client can identify the probe data center from among the various data center nodes, and trigger mutual ping operations between the data center nodes by sending a ping command to the probe data center. The data center node that successfully pings the probe data center is then identified as an available node, and the corresponding data center node that fails to ping the probe data center is identified as an unavailable node. Furthermore, the client can identify the probe operator from among the various operator nodes, and trigger mutual ping operations between the operator nodes by sending a ping command to the probe operator. The operator node that successfully pings the probe data center is then identified as an available node, and the corresponding operator node that fails to ping the probe data center is identified as an unavailable node.

[0078] In the above embodiments, for data center nodes and operator nodes, the diagnostic results are obtained through network diagnostic events triggered between nodes, and available nodes are further determined. This can facilitate the identification of available nodes and improve work efficiency.

[0079] In one specific embodiment, the intermediate nodes include base station nodes. In this embodiment, identifying available nodes among the intermediate nodes by interacting with each intermediate node deployed in the content delivery network includes: obtaining base station information fed back by each base station node by interacting with each base station node deployed in the content delivery network; and determining base station nodes whose base station network addresses are matched with operator information and geographical information as available nodes.

[0080] The base station information includes the base station network address, operator information, and geographical location information. Specifically, the client can send data acquisition requests to each base station node to obtain the base station information returned by each node. Then, for each base station node, the client performs a matching analysis of its base station network address, operator information, and geographical location information, and base station nodes whose base station network address matches the operator information and geographical location information are identified as available nodes.

[0081] It is understandable that if at least one of the base station network address and operator information or geographical information does not match, the client determines that the base station node is an unavailable node. Furthermore, the specific method for performing the matching analysis is not unique. For example, the client can pre-obtain information matching rules for base station nodes and perform matching analysis on the base station information according to these rules; the client can also pre-obtain the mapping relationship between the base station network address, operator information, and geographical information, and perform matching analysis on the base station information based on this mapping relationship, determining the corresponding base station node as an available node if the base station information satisfies the mapping relationship.

[0082] In the above embodiment, by matching and analyzing the base station network address, the operator information and the regional information contained in the base station information, the available nodes in the base station nodes are determined, and the accuracy of the available nodes can be improved.

[0083] In step S208, link aggregation is performed on each configuration link based on the node address of each available node, and a probe link for the content distribution network is obtained.

[0084] The link aggregation is a process of aggregating multiple links into one link. That is, through link aggregation, the number of links can be reduced. In the present application, the number of probe links obtained through link aggregation can be one or more. For example, when the configuration links include link A1-link A10, the client can obtain link B1 by aggregating link A1-link A5, and obtain link B2 by aggregating link A6-A10.

[0085] Specifically, the client can match the node address of each available node with the node address contained in each configuration link, eliminate the unavailable links that do not include the available nodes from the configuration links, and further perform further link aggregation on the remaining configuration links to obtain the probe link. In one specific implementation, the link aggregation can be achieved by merging the same node paths in multiple configuration links. For example, configuration link "A→B→C" and configuration link "A→C→D" both contain path "A→C", and therefore, the two configuration links can be aggregated to obtain probe link "A→B→C→D".

[0086] In step S210, probe information is sent to each node in the probe link, and the link state of the probe link is determined according to the received response information.

[0087] Specifically, the client can send probe information to each node in the probe link, determine the response of each node according to the received response information, and further determine the link state of the probe link through statistical analysis. Further, the client can determine whether the probe link is unobstructed according to the response of each node, and in the case of unobstructed, determine which path between the two nodes of the probe link has failed. For example, for probe link "A→C→D", if the response information of node A and node C is received, but the response information of node D is not received, it can be determined that the transmission path between node C and node D has failed. In addition, the link state can be characterized by response time, packet loss rate, data transmission path, etc.

[0088] Optionally, the link state of the detected link can also be visually displayed, so that the user can also view the link state of the link from the local link to the national link through the management tool. As shown in Figure 3 the packet loss rate statistics of the node A to node B can include the packet loss rate of the node in the current period and the comparison period, which can intuitively reflect the difference between the packet loss rate of the CDN link in the current period and the comparison period. As shown in Figure 3 the packet loss rate of the node A to node B is about 6%, which means that there is a large network problem in this link. In order to guarantee the service availability of CDN and the quality of the existing network, the client can automatically use the link exclusion decision to exclude this link from the existing network service, avoiding the influence of high packet loss rate on users. Further, since the link detection is performed periodically, when the link is determined to be restored according to the detection result, the client can add the link back to the existing network service to guarantee the service availability of CDN and the quality of the existing network.

[0089] In a specific embodiment, the service node can also deploy a proxy end. The client can report the link detection result of the link state of each link to the proxy end, the proxy end can obtain the link detection result of the client deployed by each service node, and combine all the received link detection results and further analyze the global link network state of the content distribution network. The link network state here can include fault state and normal state, the fault state can be considered as the connection failure of the node corresponding to the link, and the normal state can be considered as the normal connection of the node corresponding to the link. Wherein, deploying the proxy end in the link detection system can be used to isolate the client in the link detection system and the policy end, so as to avoid the direct exposure of the policy end to the external network.

[0090] For example, as shown in Figure 4 for a certain detection link, when the link packet loss rate in the set time period is greater than or equal to the first packet loss threshold (the first packet loss threshold here can be set to 98%, or other values can also be set), the link network state can be determined as fault state, and the corresponding network address in the detection link is marked as fault network address. As shown in Figure 5 if the link packet loss rate of the detection link in the set time period is less than the second packet loss threshold (the second packet loss threshold here can be set to 70%, or other values can also be set), the link network state can be determined as recovery state, and the fault mark can be cancelled. Wherein, the set time period can be 1 minute, for example.

[0091] The network link detection method can obtain node information configured for each node in the content distribution network, perform link analysis on the content distribution network according to the node information, and determine a plurality of configuration links of the content distribution network, so that the configuration links obtained can comprehensively cover each node of the CDN, and the coverage rate of a detection link determined based on the configuration link is improved, and the accuracy of the link detection result is improved. By interacting with each intermediate node deployed in the content distribution network, available nodes in each intermediate node are identified, and each configuration link is aggregated based on the node address of each available node to obtain a detection link for the content distribution network, and the link state of the detection link is further determined by sending detection information, so that the unavailable link containing the unavailable node can be removed before detection, thereby reducing the task amount of network link detection, and the detection efficiency is improved. Therefore, by using the network link detection method, the detection efficiency can be improved while the accuracy of the link detection result is improved.

[0092] In one embodiment, obtaining node information configured for each node in the content distribution network includes: for each region included in the content distribution network, determining a plurality of coroutines for accessing different databases according to a plurality of databases in which the node information of the region is stored; for each coroutine, when the coroutine obtains a distributed lock of a to-be-accessed database, obtaining the node information of the region from the to-be-accessed database in batches by executing the coroutine.

[0093] Coroutines are usually interpreted as lightweight threads, and multiple coroutines can exist on a thread, but only one coroutine can be executed at a time. The scheduling of coroutines does not involve the switching of thread contexts, and there is no thread safety problem, and the performance is better than that of threads. Since the implementation process of coroutines is an asynchronous process, coroutines can also be called asynchronous coroutines. In the field of computer technology, synchronization means that the code is executed one sentence at a time, and when a function is encountered, the function is entered, and the function is executed after the function is executed. The execution order of all things is strictly consistent with the order of code writing. The phenomenon that the execution order of the code is inconsistent with the writing order is asynchronous.

[0094] Specifically, the content distribution network can serve users in multiple regions, and multiple node information configured for each region can be stored in different databases. The client can determine, for each region included in the content distribution network, multiple coroutines respectively used to access different databases according to multiple databases in which node information of the region is stored. It can be understood that for the same database, it is possible to store node information of multiple regions, and to avoid data exceptions caused by multiple coroutines simultaneously accessing the same shared data, data access is implemented based on a distributed lock. Specifically, for each coroutine, if the coroutine does not obtain a distributed lock of a database to be accessed, the coroutine is paused to wait for release of the distributed lock, or a distributed lock of the database to be accessed is created. If the coroutine obtains the distributed lock of the database to be accessed, node information of the region is batched from the database to be accessed by executing the coroutine.

[0095] As shown in the example, Figure 6 the client starts an asynchronous coroutine, and in a case where a distributed lock of a database to be accessed is obtained, node information is batched from the database to be accessed, and finally the distributed lock is released for use by other coroutines. In the process of obtaining the distributed lock, the client can first search in the database to be accessed according to a lock name to determine whether the corresponding distributed lock exists. If it exists, the state of the distributed lock is updated, and the distributed lock is obtained. If it does not exist, the client inserts the lock name in the database to create and obtain the corresponding distributed lock.

[0096] In the above embodiment, the batched acquisition of node information based on coroutines and distributed locks can improve efficiency while ensuring the accuracy of the acquired node information.

[0097] In one embodiment, link analysis is performed on the content distribution network according to each node information to determine multiple configured links of the content distribution network, including: for each region, determining a node type to which each node information of the region belongs; and based on the node type to which each node information belongs, performing link analysis on the content distribution network to determine multiple configured links of the content distribution network corresponding to the region.

[0098] Specifically, the client can perform link analysis for each region respectively. For each region, the client determines the node types to which the node information of the region respectively belongs, and performs link analysis on the content distribution network based on the node types to which the node information respectively belongs, to determine a plurality of configured links of the content distribution network corresponding to the region. Further, after obtaining the node information of each region respectively, the client can update the node information based on a pre-configured new-old node mapping relationship to obtain updated node information, and then perform link analysis on the content distribution network based on the updated node information of each region respectively for each region, to determine a plurality of configured links of the content distribution network corresponding to the region.

[0099] In the above embodiment, link analysis is performed according to regions, which can improve the work efficiency in the link analysis process, and further improve the overall work efficiency of the network link detection process.

[0100] In one embodiment, the link aggregation is performed on the configured links based on the node addresses of the available nodes respectively to obtain the detection link of the content distribution network, including: filtering candidate links from the configured links based on the node addresses of the available nodes respectively; and performing link aggregation on the candidate links to obtain the detection link of the content distribution network.

[0101] In the above embodiment, the intermediate node network link of the candidate link is formed by concatenating at least part of the node addresses of the available nodes. The intermediate node network link refers to a network link formed by intermediate nodes. That is, the intermediate nodes contained in the candidate link are all available nodes. Specifically, the client can further determine the node addresses of the available nodes after determining the available nodes from the intermediate nodes. Then, based on the node addresses of the available nodes respectively, the client filters the candidate links from the configured links, which intermediate node network links are formed by concatenating at least part of the node addresses. Finally, the client performs link aggregation on the candidate links to obtain the detection link of the content distribution network.

[0102] In the above embodiment, the configured links containing unavailable nodes are first removed, and then link aggregation is performed, which can reduce the workload in the link aggregation process and is conducive to improving the work efficiency.

[0103] In one specific embodiment, the link aggregation is performed on the candidate links to obtain the detection link of the content distribution network, including: determining the node paths contained in the candidate links respectively; and performing link aggregation on the candidate links containing the same node paths to obtain the detection link of the content distribution network.

[0104] The node path refers to a data transmission path between two nodes. For example, the node path between node A and node B can be “A→B”. Specifically, the client can determine the node paths contained in each candidate link according to the link constitution of each candidate link. For example, the candidate link “A→B→C” contains the node paths “A→B”, “B→C”, and “A→C”. Then, the client aggregates the links of each candidate link containing the same node path to obtain the probe link for the content distribution network. For example, the candidate link “A→B→C” and the candidate link “A→C→D” both contain the path “A→C”, and the two links can be aggregated to obtain the probe link “A→B→C→D”.

[0105] In the above embodiment, the links of each candidate link containing the same node path are aggregated to obtain the probe link for the content distribution network, which can simplify the link constitution of the probe link, thereby reducing the workload of link probing and facilitating efficiency improvement.

[0106] In one embodiment, the network link probing method further includes: reporting the probe link to a service end deployed on the service node, so that the service end allocates a link identifier to the probe link and registers a callback function based on the link identifier; and obtaining the link identifier allocated to the probe link by the service end. In this embodiment, sending the probe information to each node in the probe link includes: calling the callback function based on the link identifier to send the probe information to each node in the probe link.

[0107] The link identifier refers to identification information that can be used to identify the probe link. The link identifier can be a Universally Unique Identifier (UUID). The callback function is a function passed as a parameter. In C language, the callback function can only be implemented using a function pointer, and in more modern programming languages such as C++, Python, and ECMAScript, a function or an anonymous function can also be used. The party providing the function implementation registers the function pointer of the callback function to the caller during initialization; when a specific event or condition occurs, the caller calls the callback function using the function pointer to handle the event. In this application, the party providing the function implementation is the service end, and the caller is the client.

[0108] Specifically, the client can report the probe link to a service end deployed on the service node, so that the service end allocates a link identifier to the probe link and registers a callback function based on the link identifier, so that the client can obtain the link identifier allocated to the probe link by the service end. During the link probing process, the callback function is called based on the link identifier to send the probe information to each node in the probe link.

[0109] In the above embodiment, the link detection is realized by the registration callback mechanism, and the flexibility of the network link detection method can be improved.

[0110] In one embodiment, the sending of the detection information to each node in the detection link comprises: determining a link state evaluation parameter of the detection link; and sending the detection information to each node in the detection link using a network diagnosis command matched with the link state evaluation parameter.

[0111] The link state evaluation parameter can include a response time, a packet loss rate, a data transmission path, etc. The network diagnosis command can include a ping command and a trace command. The difference between the ping command and the trace command is that the trace command uses an ICMP packet and uses a TTL (Time To Live) value in the IP packet header to monitor the path of the packet from the source to the target, and specifically determines the routing path by gradually increasing the TTL value of the packet and observing the ICMP timeout message returned by the router; the ping command is also based on the ICMP protocol, but mainly sends an ICMP echo request packet and waits for the echo ICMP response to detect the reachability of the target host. That is, the tracert command displays the path taken by the packet to reach the target host, including the time and IP address of each node, and can be used to diagnose network connection problems, especially whether the packet is discarded by the router or other network devices during transmission. The ping command mainly displays the network response time, packet loss rate, etc., and is used to measure the delay and connectivity from the source to the target.

[0112] Specifically, after the client obtains the detection link through link aggregation, the link state evaluation parameter that meets the actual application requirement can be further determined. Then, from a plurality of candidate commands, a network diagnosis command matched with the link state evaluation parameter is determined, and the detection information is sent to each node in the detection link using the network diagnosis command. For example, in the case where the link state evaluation parameter is a response time or a packet loss rate, the ping command can be determined as the network diagnosis command; in the case where the link state evaluation parameter is a data transmission path, the trace command can be determined as the network diagnosis command.

[0113] In the above embodiment, the detection information is sent to each node in the detection link using the network diagnosis command matched with the link state evaluation parameter, which can ensure that the obtained detection result can meet the actual application requirement, and is beneficial to improve the flexibility of the network link detection method.

[0114] In one embodiment, the number of the probing links is multiple. In the case of this embodiment, sending the probing information to each node in the probing links comprises: determining similar links containing a part of the same nodes from each of the probing links; determining a target link from each of the similar links and sending the probing information to each node in the target link; in the case that the link state of the target link is determined according to the received response information, determining a new target link from the remaining similar links and returning to the step of sending the probing information to each node in the target link until each of the similar links has completed the link probing.

[0115] Specifically, the client can determine similar links containing a part of the same nodes from each of the probing links according to the nodes contained in each of the probing links. For example, the probing links“A→B→C”and“A→D→C”both contain node A and node C, and the two probing links are similar links. It can be understood that if the two similar links are simultaneously subjected to the link probing, in the case that the response information of node B and node D is received but the response information of node C is not received, it is unable to determine whether the node path“B→C”or the node path“D→C”fails.

[0116] Based on this, the client performs the link probing on the similar links based on the asynchronous processing mechanism. Specifically, the client can determine a target link from each of the similar links and send the probing information to each node in the target link. In the case that the link state of the target link is determined according to the received response information, it indicates that the link probing on the target link has been completed, at this time, the client determines a new target link from the remaining similar links and performs the next round of link probing until each of the similar links has completed the link probing. It should be noted that the multiple non-similar links in each of the probing links can be simultaneously subjected to the link probing.

[0117] In the above embodiment, the probing on the similar links is implemented through the asynchronous processing mechanism, which can ensure the accuracy of the probing result.

[0118] In one specific embodiment, the asynchronous processing on the similar links can be implemented through the kafka asynchronous processing mechanism. The kafka asynchronous processing mechanism is introduced below by taking the asynchronous processing process of the Trace task as an example.

[0119] Specifically, as shown in FIG. 4, the kafka asynchronous processing mechanism comprises a producer, a broker and a consumer. Figure 7As shown, in the initialization phase, first set the address of Kafka and Topic, and configure multi-module processing. Then, initialize the consumer, pull all partitions of the Topic, and create the corresponding partition consumer. At the same time, asynchronously pull messages from the partition and put the messages into the channel. Then, get the message from the channel and get the multi-module processor. The client will sequentially schedule and execute the multi-module processor to process the message. These processors may include the task of issuing the client IP, the aggregation of task details, and the trace task initiated by the information center, etc. Each processor will process according to the predetermined logic and pass the processing result to the next processor.

[0120] In the production end process, the client IP will be issued with a task, and the task details will be aggregated. The information center will initiate a trace task and register a unique UUID for each task as an identifier. In the consumer end process, the module processor will execute the corresponding processing logic. It will identify Ping and trace type tasks and retrieve the corresponding processing function according to the UUID. When executing the processing function, statistics will be performed and the logic of the intermediate node will be obtained. Throughout the process, the execution of the module processor is a blocking operation, i.e. each processor will wait for the previous processor to complete before executing. This ensures that the processors execute in the predetermined order and maintains the consistency and accuracy of the processing results. Through the kafka asynchronous processing mechanism, efficient processing and asynchronous execution of Trace tasks can be achieved, improving the concurrent processing capability and response speed of the system, while ensuring the ordered execution of tasks and the accuracy of the results. This can effectively handle a large number of Trace tasks and provide support for system performance optimization and troubleshooting.

[0121] In one embodiment, as Figure 8 shown, a network link detection method is provided, which can be implemented by a client deployed in a CDN service node. In this embodiment, the method comprises the following steps:

[0122] Step S801, for each region included in the content distribution network, determine a plurality of coroutines respectively used to access different databases according to the node information stored in the plurality of databases of the region;

[0123] Step S802, for each coroutine, in the case that the coroutine obtains a distributed lock of a to-be-accessed database, batch acquiring node information of the corresponding region from the to-be-accessed database by executing the coroutine;

[0124] Step S803, for each region, updating each node information of the region based on a pre-configured new-old node mapping relationship to obtain updated node information;

[0125] In step S804, link analysis is performed on the content distribution network based on the node types to which the respective update node information belongs, and a plurality of configuration links corresponding to the region of the content distribution network are determined.

[0126] In step S805, the corresponding probe nodes are determined from the respective machine room nodes and the respective operator nodes deployed in the content distribution network.

[0127] In step S806, network diagnosis commands are sent to the respective probe nodes to trigger network diagnosis events between the respective machine room nodes and between the respective operator nodes.

[0128] In step S807, available nodes are determined from the respective machine room nodes and the respective operator nodes based on the diagnosis results obtained from the network diagnosis events.

[0129] In step S808, base station information respectively fed back by the respective base station nodes is obtained by interacting with the respective base station nodes deployed in the content distribution network.

[0130] The base station information includes a base station network address, operator information, and regional information.

[0131] In step S809, the base station nodes whose base station network addresses are matched with the operator information and the regional information are determined as available nodes.

[0132] In step S810, candidate links are selected from the respective configuration links based on the respective node addresses of the available nodes.

[0133] The intermediate node network links of the candidate links are formed by concatenating at least part of the node addresses of the available nodes.

[0134] In step S811, link aggregation is performed on the respective links containing the same node paths to obtain a plurality of probe links for the content distribution network.

[0135] In step S812, for each probe link, a link state evaluation parameter of the probe link is obtained, and a command type matched with the link state evaluation parameter is determined.

[0136] The command type includes a mutual ping command and a trace command.

[0137] In step S813, the probe link and the command type matched with the probe link are reported to a service end deployed in the service node, so that the service end allocates a link identifier for the probe link and registers a callback function based on the link identifier and the command type.

[0138] In step S814, similar links containing a part of the same nodes are determined from the respective probe links, and a target link is determined from the respective similar links.

[0139] Step S815, calling a callback function based on the link identifier of the target link to send the probe information to each node in the target link;

[0140] Step S816, in the case of determining the link state of the target link according to the received response information, determining a new target link from the remaining similar links; returning to step S815 until each similar link has completed link probing;

[0141] Step S817, in the case of each probing link having completed link probing, ending the network link probing task.

[0142] The above network link probing method obtains node information configured for each node in the content distribution network, performs link analysis on the content distribution network according to the node information, and determines multiple configured links of the content distribution network, which can ensure that the obtained configured links comprehensively cover each node of the CDN, and further improve the coverage rate of the probing link determined based on the configured link and the accuracy of the link probing result. By interacting with each intermediate node deployed in the content distribution network, the available nodes in each intermediate node are identified, and each configured link is aggregated based on the node address of each available node to obtain a probing link for the content distribution network, and further determine the link state of the probing link by sending probe information, which can eliminate the unavailable link containing the unavailable node before probing, thereby reducing the task amount of network link probing and improving the probing efficiency. Therefore, by using the network link probing method of the present application, the probing efficiency can be improved while the accuracy of the link probing result is improved.

[0143] In one embodiment, the network link probing method provided by the present application can be applied to the system as shown in Figure 9 The heartbeat end is deployed in the anti-ping service end in the service node, and the functional characteristics of the heartbeat end can include: ① the heartbeat end can receive the state report of the client and maintain the state; for example, when the client reports its own state to the log pool, it first needs to send its own state to the heartbeat end, and then the heartbeat end reports the state of the client to the log pool, and the heartbeat end can maintain the state in the heartbeat end after receiving the state sent by the client. ② The heartbeat end can provide data query function for the anti-ping strategy module deployed in the client; for example, the anti-ping strategy module can query the operation of the entire link probing system through the data query function provided by the heartbeat end. ③ The heartbeat end simultaneously receives the command sent by the strategy module deployed in the service end, and sends the command to the client. Further, the heartbeat end can also provide the deployment of the anti-ping client for query and daily coverage inspection, etc.

[0144] The anti-ping client is deployed with an anti-ping strategy module, as shown in Figure 9 The anti-ping strategy module can include a task issuing module, a link calculation module, and a strategy control center. The task issuing module can be used to realize the callback registration of trace tasks, ping tasks, and pingReport tasks, so as to receive callback notifications after the tasks are completed. The task issuing module depends on the link calculation module, which is responsible for calculating the settings of single links, computing target IPs, and processing OC node data. The link module synchronizes with the provinces, operators, and links of the target IP to ensure the accuracy and reliability of the detection task. In addition, the link calculation module is also responsible for issuing trace tasks and ping tasks to detect target IPs. The strategy control center is another important component of the system, which is responsible for the collection and arrangement of target IPs every day. According to the situation of N provinces and M operators, the strategy control center arranges the target IPs to achieve the best coverage effect. After the daily strategy is issued, the target IPs are cut to obtain the minimum number of IPs. Then, combined with the MQ reporting information and agent information, the task is issued to the corresponding client. In emergency situations, the instant calculation strategy will be triggered and issued. The running environment of the whole system is deployed on the cloud host, Docker, and Kubernetes (k8s) Pod node. This distributed deployment method can improve the scalability and fault tolerance of the system. At the same time, the system relies on external services such as MySQL database, Kafka message queue, monitoring room, and log collection to realize data storage, message transmission, and monitoring functions. In order to monitor the running situation of the system and troubleshoot, the system integrates insight live logs. These logs record the key events and operations of the system, including task issuing, callback registration, link setting, target IP calculation, strategy issuing, and other key operations. By analyzing and monitoring these logs, system administrators can timely discover potential problems and take appropriate measures.

[0145] Further, the heartbeat end architecture can include a strategy center, a heartbeat center, and a management center. The management center is responsible for managing the survival state of all clients, maintaining the availability of the entire detection system node, and realizing daily inspection, alarm, and live deployment. The information provided by the device management center can help the system perform daily inspection and find and fill in the gaps.

[0146] Optionally, for the OC node (or can be referred to as the OC device) deployed with the client, adjustment and disable operation can be performed to achieve the purpose of fine-grained adjustment of the detection device pool of the detection system, and thus the effectiveness of device management in the link detection system can be improved. Please refer to Figure 10The device management page can include a "start device" control, a "disable device" control, an "add OC device" control, an "update client version" control, a "query" control, and the like; wherein the "start device" control is used to start the OC device deployed with the client, the "disable device" control is used to disable the OC device deployed with the client, the "add OC device" control can be used to add the OC device deployed with the client, the "update client version" control is used to update the client version deployed in the OC device, and the "query" control is used to find the corresponding information according to the query condition input in the device management page.

[0147] As shown in Figure 10 , the user can input (or select) the query condition in the area a of the device management page, which can include the geographical area range (such as province), operator type, machine room, client version, and state (which can include start state and disable state), after completing the input operation of the query condition, the trigger operation can be performed on the "query" control in area a, at this time, the relevant information of each OC device under the foregoing query condition can be displayed in the device management page in response to the trigger operation on the "query" control, such as the IP corresponding to each OC device, the corresponding geographical area (province), the corresponding operator, the corresponding machine room, the version information of the deployed client, and the state, etc. The content displayed in the device management page here is only an example, and the actual application can select the displayed content according to the actual demand, which is not limited in the present application. Figure 10 As shown in Figure 10 , the state of each OC device is in the start state, if the user selects the OC device corresponding to area b and performs the trigger operation on the "disable device" control, the state of the OC device corresponding to area b can be switched from the start state to the disable state.

[0148] In one embodiment, as shown in Figure 11 , the whole process of implementing the network link detection method by the client includes the steps of framework initialization, configuration loading, resident service initialization, registration callback, and detection service start.

[0149] Among them, the initialization stage carries out the initialization of log configuration to ensure that the system can correctly record and output log information. At the same time, the IP library is downloaded to obtain IP related information, and the Kafka service is started to support the message queue function. Then, the initialization of the strategy module is carried out, including the initialization of the database connection, the acquisition of the regional information (such as province) and the service provider information, etc.

[0150] The configuration loading stage initializes the database for storing and managing relevant configuration information. At the same time, the data link is obtained from the log record. The configuration loading stage also obtains the list of actively pruned IPs and the information of regional operators limiting the number of repeated probes, so as to perform corresponding processing in the policy making and task issuing. For example, based on the obtained data information, link analysis and link aggregation are performed to obtain the probe link. In the initialization stage of the resident service, the policy module reports the probe link to the server, executes the callback function for link probe, and collects all the link state information, including node state, performance indicators, etc.

[0151] These state information will provide the basis for subsequent decision-making and task distribution. At the same time, the policy module creates tasks and distributes them to policy nodes to ensure that the tasks can be executed by appropriate nodes. In the registration callback stage, the policy module registers the callback function according to the unique identifier (UUID) to execute the corresponding result processing function when receiving the MQ message. In this way, the message from the MQ can be processed in time to perform corresponding operations and decision-making. Finally, in the policy service startup stage, the policy module updates the available IP list to ensure that appropriate nodes can be selected when issuing tasks. At the same time, the policy is issued according to the state and performance of the nodes, and the policy is issued to the task issuing module to update the probe task.

[0152] Through the above process, the policy module can complete the key steps of framework initialization, configuration loading, resident service initialization, MQ callback registration, and policy service startup, and realize the overall process of the cluster node policy probe scheme based on the ICMP protocol. In this way, the stability and reliability of the group nodes can be ensured, and the corresponding policy can be made according to the state and performance of the nodes to ensure the normal operation of the cluster.

[0153] It should be understood that although each step in the flowchart involved in each embodiment as described above is displayed in sequence according to the arrow, these steps are not necessarily executed in sequence according to the arrow. Unless explicitly stated herein, there is no strict order limitation for the execution of these steps, and these steps can be executed in other orders. Moreover, at least part of the steps in the flowchart involved in each embodiment as described above can include multiple steps or stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but can be executed in rotation or alternation with at least part of other steps or steps or stages in other steps.

[0154] Based on the same inventive concept, the embodiments of the present application further provide a network link detection device for implementing the network link detection method described above. The implementation scheme of the device for solving the problem is similar to the implementation scheme described in the above method, so the specific limitations in one or more network link detection device embodiments provided below can refer to the limitations of the network link detection method described above, which will not be repeated here.

[0155] In one embodiment, as shown in Figure 12 a network link detection device is provided, comprising: an acquisition module 1201, a link analysis module 1202, an available node identification module 1203, a link aggregation module 1204 and a link detection module 1205, wherein:

[0156] The acquisition module 1201 is configured to acquire node information configured for each node in the content distribution network;

[0157] The link analysis module 1202 is configured to perform link analysis on the content distribution network according to the node information of each node, and determine a plurality of configured links of the content distribution network;

[0158] The available node identification module 1203 is configured to identify available nodes in each intermediate node by interacting with each intermediate node deployed in the content distribution network;

[0159] The link aggregation module 1204 is configured to perform link aggregation on each configured link based on the node address of each available node, to obtain a detection link for the content distribution network;

[0160] The link detection module 1205 is configured to send detection information to each node in the detection link, and determine the link state of the detection link according to the received response information.

[0161] In one embodiment, the acquisition module 1201 is specifically configured to: for each region included in the content distribution network, determine a plurality of coroutines for accessing different databases respectively according to a plurality of databases in which the node information of the region is stored; for each coroutine, in a case where the coroutine obtains a distributed lock of a to-be-accessed database, batch acquire the node information of the region from the to-be-accessed database by executing the coroutine.

[0162] In one embodiment, the link analysis module 1202 is specifically configured to: for each region, determine the node type to which each node information of the region belongs; and perform link analysis on the content distribution network based on the node type to which each node information belongs, to determine a plurality of configured links of the content distribution network corresponding to each region.

[0163] In one embodiment, the link analysis module 1202 is specifically used to: update the information of each node based on the pre-configured mapping relationship between new and old nodes to obtain updated node information; and perform link analysis on the content delivery network based on the updated node information to determine multiple configured links of the content delivery network.

[0164] In one embodiment, the intermediate nodes include data center nodes and carrier nodes. In this embodiment, the available node identification module 1203 is specifically used to: determine the corresponding probe nodes from each data center node and each carrier node; send network diagnostic commands to each probe node to trigger network diagnostic events between each data center node and between each carrier node; and determine available nodes from each data center node and each carrier node based on the diagnostic results obtained from the network diagnostic events.

[0165] In one embodiment, the intermediate nodes include base station nodes. In this embodiment, the available node identification module 1203 is specifically used to: obtain base station information fed back by each base station node by interacting with each base station node deployed in the content delivery network; the base station information includes base station network address, operator information and regional information; and determine the base station node whose base station network address matches the operator information and regional information as an available node.

[0166] In one embodiment, the link aggregation module 1204 includes: a link filtering unit, configured to filter candidate links from each configured link based on the node address of each available node; an intermediate node network link of the candidate link, which is formed by concatenating at least a portion of the node addresses; and a link aggregation unit, configured to aggregate each candidate link to obtain a probe link for the content delivery network.

[0167] In one specific embodiment, the link aggregation unit is specifically used to: determine the node paths contained in each candidate link; and perform link aggregation on each candidate link containing the same node paths to obtain probe links for the content delivery network.

[0168] In one embodiment, the network link detection device further includes a registration callback module, configured to: report the detection link to a server deployed on the service node, so that the server allocates a path identifier for the detection link and registers a callback function based on the path identifier; and obtain the path identifier allocated by the server for the detection link. Specifically, the link detection module 1205 is configured to: call the callback function based on the path identifier to send detection information to each node in the detection link.

[0169] In one embodiment, the link detection module 1205 is specifically used to: determine the link status evaluation parameters of the detection link; and send detection information to each node in the detection link using a network diagnostic command that matches the link status evaluation parameters.

[0170] In an embodiment, the number of the probing links is multiple, in which case the link probing module 1205 is specifically configured to: from each of the probing links, determine similar links containing a part of the same nodes; from each of the similar links, determine a target link and send the probing information to each node in the target link; in a case where the link state of the target link is determined according to the received response information, determine a new target link from the remaining similar links and return to the step of sending the probing information to each node in the target link until each of the similar links has completed the link probing.

[0171] Each of the modules in the network link probing apparatus can be implemented by software, hardware, and combinations thereof, in whole or in part. Each of the modules can be embedded in or independent of a processor in a computer device in hardware form, or stored in a memory in a computer device in software form, so as to be called and executed by a processor to perform the operations corresponding to each of the modules.

[0172] In an embodiment, a computer device is provided, which can be a server, and an internal structure diagram of the computer device can be as shown in Figure 13 The computer device includes a processor, a memory, an input / output interface (I / O), and a communication interface. The processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium to run. The database of the computer device is configured to store node information. The input / output interface of the computer device is configured to exchange information between the processor and external devices. The communication interface of the computer device is configured to communicate with external terminals through network connection. The computer program is executed by the processor to implement a network link probing method.

[0173] Those skilled in the art can understand that Figure 13 The structure shown in the figure is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. A specific computer device can include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0174] In an embodiment, a computer device is provided, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps of each of the method embodiments.

[0175] In an embodiment, a computer readable storage medium is provided, having stored thereon a computer program which, when executed by a processor, implements the steps of any of the above method embodiments.

[0176] In an embodiment, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the steps of any of the above method embodiments.

[0177] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards of the relevant region and area. Moreover, the object can choose not to authorize the object information and related data, and can refuse or can conveniently refuse to push information, etc.

[0178] In the present application, in the process of collecting and processing related data in the example application, the informed consent or separate consent of the personal information subject should be strictly obtained according to the requirements of the relevant regional laws and regulations, and the subsequent data use and processing behavior should be carried out within the scope of authorization of the laws and regulations and the personal information subject.

[0179] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when the computer program is executed, the processes of the above-mentioned embodiments of the methods can be included. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., without being limited thereto.

[0180] Any combination of the technical features of the above embodiments can be made. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combination of the technical features does not exist, it should be considered as the scope of the present application.

[0181] The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent of the present application. It should be pointed out that for ordinary skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are all within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.

Claims

1. A method for detecting network links, characterized in that, The method includes: Obtain node information configured for each node in the content delivery network; Based on the information of each node, link analysis is performed on the content distribution network to determine multiple configured links of the content distribution network; By interacting with each intermediate node deployed in the content delivery network, the available nodes among the intermediate nodes are identified; Based on the node addresses of each available node, link aggregation is performed on each configured link to obtain a probe link for the content delivery network; The probe information is sent to each node in the probe link, and the link status of the probe link is determined based on the received response information.

2. The method according to claim 1, characterized in that, The step of obtaining node information configured for each node in the content delivery network includes: For each region included in the content delivery network, based on the multiple databases stored in the node information of the region, multiple coroutines are determined for accessing different databases respectively. For each of the aforementioned coroutines, if the coroutine acquires a distributed lock on the database to be accessed, the node information of the region is retrieved in batches from the database to be accessed by executing the coroutine.

3. The method according to claim 2, characterized in that, The step of performing link analysis on the content delivery network based on the node information to determine multiple configured links of the content delivery network includes: For each of the aforementioned regions, determine the node type to which each node in that region belongs; Based on the node type to which each node belongs, link analysis is performed on the content delivery network to determine multiple configured links corresponding to the content delivery network in the region.

4. The method according to claim 1, characterized in that, The step of performing link analysis on the content delivery network based on the node information to determine multiple configured links of the content delivery network includes: Based on the pre-configured mapping relationship between old and new nodes, update the information of each node to obtain the updated node information; Based on the updated node information, link analysis is performed on the content distribution network to determine multiple configured links of the content distribution network.

5. The method according to claim 1, characterized in that, The intermediate nodes include data center nodes and carrier nodes; the step of identifying available nodes among the intermediate nodes by interacting with each intermediate node deployed in the content delivery network includes: The corresponding detection nodes are determined from each data center node and each carrier node; Send network diagnostic commands to each of the aforementioned detection nodes to trigger network diagnostic events between the aforementioned data center nodes and between the aforementioned operator nodes; Based on the diagnostic results obtained from the network diagnostic events, available nodes are determined from each of the data center nodes and each of the operator nodes.

6. The method according to claim 1, characterized in that, The intermediate nodes include base station nodes; the step of identifying available nodes among the intermediate nodes by interacting with each intermediate node deployed in the content delivery network includes: By interacting with each base station node deployed in the content delivery network, the system obtains base station information fed back by each base station node; the base station information includes base station network address, operator information, and geographical information. Base station nodes whose network addresses are matched with operator and geographic information are identified as available nodes.

7. The method according to claim 1, characterized in that, The step of aggregating the configured links based on the respective node addresses of each available node to obtain probe links for the content delivery network includes: Based on the node addresses of each of the available nodes, candidate links are selected from each of the configured links; the intermediate node network links of the candidate links are formed by concatenating at least a portion of the node addresses. Link aggregation is performed on each of the candidate links to obtain probe links for the content delivery network.

8. The method according to claim 7, characterized in that, The step of aggregating the candidate links to obtain probe links for the content delivery network includes: Determine the node paths contained in each of the candidate links; Link aggregation is performed on candidate links that contain the same node path to obtain probe links for the content delivery network.

9. The method according to claim 1, characterized in that, The method further includes: The probe link is reported to the server deployed on the service node, so that the server assigns a link identifier to the probe link and registers a callback function based on the link identifier; Obtain the link identifier assigned by the server to the probe link; Sending probe information to each node in the probe link includes: The callback function is invoked based on the link identifier to send probe information to each node in the probe link.

10. The method according to claim 1, characterized in that, Sending probe information to each node in the probe link includes: Determine the link status evaluation parameters of the probe link; Using network diagnostic commands that match the link status evaluation parameters, probe information is sent to each node in the probe link.

11. The method according to claim 1, characterized in that, The number of detection links is multiple; sending detection information to each node in the detection link includes: From each of the aforementioned detection links, identify similar links that contain a portion of the same nodes; Determine the target link from among the similar links, and send probe information to each node in the target link; If the link status of the target link is determined based on the received response information, a new target link is determined from the remaining similar links, and the process of sending probe information to each node in the target link is repeated until all similar links have completed link probe.

12. A network link detection device, characterized in that, The device includes: The acquisition module is used to acquire node information configured for each node in the content delivery network; The link analysis module is used to perform link analysis on the content delivery network based on the information of each node, and to determine multiple configured links of the content delivery network. Available node identification module, used to identify available nodes among the intermediate nodes by interacting with each intermediate node deployed in the content delivery network; The link aggregation module is used to aggregate the configured links based on the node addresses of each available node to obtain probe links for the content delivery network. The link detection module is used to send detection information to each node in the detection link and determine the link status of the detection link based on the received response information.

13. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 11.

14. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 11.

15. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 11.