Data processing method, device, equipment, readable storage medium and program product
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2022-03-15
- Publication Date
- 2026-08-07
AI Technical Summary
由于不同客户端都是从总服务器上进行数据获取的,使得总服务器的负载压力和存储压力较大,导致客户端获取请求数据的效率低
[0017]本申请构建了边缘节点的节点地址与调度域名之间的第一对应关系,以及调度域名与业务类型之间的第二对应关系,使得调度域名与边缘节点的节点地址和业务类型相关联;通过接收客户端基于目标域名发起的数据获取请求,根据数据请求中携带的目标业务类型从第二对应关系中确定关联调度域名;再根据第一对应关系确定与关联调度域名相匹配的匹配节点地址,使得管理节点可以从匹配节点地址对应的边缘节点中获取到客户端的请求数据,保证了管理节点可以响应任一业务类型对应的客户端针对目标域名的数据获取请求,并从对应的边缘节点中获取请求数据,管理节点再将请求数据返回给客户端。在本申请中,每一个边缘节点存储一种业务类型的业务数据,多个边缘节点存储多种业务类型的业务数据,保证了在一个内容分发网络中的多个边缘节点存储多种业务类型的业务数据,并且任意客户端只能从一个边缘节点中获取同一业务类型的业务数据;通过规定不同业务类型所对应的调度域名不同,使得多个客户端针对同一目标域名进行数据请求时,结合第一对应关系和第二对应关系,可以分别基于客户端对应的业务类型得到对应的关联调度域名,再基于多个客户端的关联调度域名,从关联调度域名所对应的节点地址中获取数据,实现了在一个内容分发网络中响应多个业务类型对应的客户端针对同一目标域名的数据获取请求,并从不同业务类型对应的边缘节点中获取数据,不需要删除先前已接入的业务对应的客户端,使得域名接入成本低,使得加速域名的接入方式多样化,并且减少了客户流失,提高了经济效益。
Smart Images

Figure CN116800775B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, specifically to data processing methods, data processing apparatus, computer equipment, computer-readable storage media, and computer program products. Background Technology
[0002] With the continuous development and application of computer technology, more and more scenarios require the use of data processing technology to improve productivity. For example, a client accesses a target domain name and retrieves requested data from the central server corresponding to that domain. Since different clients all retrieve data from the central server, the load and storage pressure on the central server are high, resulting in low efficiency for clients in retrieving requested data. Therefore, how to configure multiple nodes that can share the load and storage pressure of the central server, and retrieve requested data from the most suitable node based on the business type of the requested data, thereby improving data retrieval efficiency, is a problem that urgently needs to be solved. Summary of the Invention
[0003] This application provides a data processing method, apparatus, device, readable storage medium, and program product that can obtain requested data from the most matching node based on the business type of the requested data, thereby improving the efficiency of data acquisition.
[0004] Firstly, this application provides a data processing method applied to a content delivery network, the content delivery network including a management node and multiple edge nodes, each edge node storing business data of one business type, and the multiple edge nodes storing business data of multiple business types; the management node records a first correspondence between the node addresses of the edge nodes and scheduling domain names, the scheduling domain names being associated with target domain names; the management node also records a second correspondence between each scheduling domain name and a business type, different business types corresponding to different scheduling domain names, and the business type corresponding to each scheduling domain name being the business type of the business data stored by the edge node corresponding to the scheduling domain name; the method includes:
[0005] Receive a data acquisition request initiated by the client based on the above target domain name. The data acquisition request carries the target business type of the requested data. The requested data is the data requested by the data acquisition request.
[0006] In response to the aforementioned data acquisition request, the associated scheduling domain name associated with the aforementioned target domain name and the aforementioned target business type is determined based on the aforementioned second correspondence relationship;
[0007] Based on the first correspondence mentioned above, the address of the matching node that matches the associated scheduling domain name is determined.
[0008] The requested data is obtained from the target edge node corresponding to the above-mentioned matching node address, and the requested data is returned to the above-mentioned client.
[0009] Secondly, this application provides a data processing apparatus included in a content delivery network, the content delivery network further including multiple edge nodes, each edge node storing business data of one business type, and the multiple edge nodes storing business data of multiple business types; the data processing apparatus records a first correspondence between the node addresses of the edge nodes and scheduling domain names, the scheduling domain names being associated with target domain names; the data processing apparatus also records a second correspondence between each scheduling domain name and a business type, different business types corresponding to different scheduling domain names, and the business type corresponding to each scheduling domain name being the business type of the business data stored by the edge node corresponding to the scheduling domain name; the apparatus includes:
[0010] The acquisition module is used to receive data acquisition requests initiated by the client based on the target domain name. The data acquisition request carries the target business type of the requested data, and the requested data is the data requested by the data acquisition request.
[0011] The processing module is used to respond to the above data acquisition request and determine the associated scheduling domain name associated with the above target domain name and the above target business type based on the above second correspondence relationship;
[0012] The aforementioned processing module is also used to determine the address of the matching node that matches the aforementioned associated scheduling domain name based on the aforementioned first correspondence relationship;
[0013] The sending module is used to obtain the requested data from the target edge node corresponding to the matching node address and return the requested data to the client.
[0014] Thirdly, this application provides a computer device, including: a processor, a storage device, and a communication interface, wherein the processor, the communication interface, and the storage device are interconnected, wherein the storage device stores executable program code, and the processor is used to call the executable program code to implement the data processing method described above.
[0015] Fourthly, this application provides a computer-readable storage medium storing a computer program, the computer program including program instructions that are executed by a processor to implement the data processing method described above.
[0016] Fifthly, this application provides a computer program product, which includes a computer program or computer instructions, which are executed by a processor to implement the above-described data processing method.
[0017] This application establishes a first correspondence between the node address of an edge node and the scheduling domain name, and a second correspondence between the scheduling domain name and the service type, thus associating the scheduling domain name with the node address of the edge node and the service type. By receiving a data acquisition request initiated by a client based on a target domain name, the application determines the associated scheduling domain name from the second correspondence based on the target service type carried in the data request. Then, it determines the matching node address that matches the associated scheduling domain name based on the first correspondence, enabling the management node to obtain the client's request data from the edge node corresponding to the matching node address. This ensures that the management node can respond to any client's data acquisition request for a target domain name corresponding to any service type, obtain the request data from the corresponding edge node, and then return the request data to the client. In this application, each edge node stores business data for one type of business, and multiple edge nodes store business data for multiple types of business. This ensures that multiple edge nodes in a content delivery network store business data for multiple types of business, and any client can only obtain business data of the same type from one edge node. By specifying different scheduling domain names corresponding to different business types, when multiple clients make data requests for the same target domain name, the first and second correspondences can be combined to obtain the corresponding associated scheduling domain name based on the business type of each client. Then, based on the associated scheduling domain names of multiple clients, data is obtained from the node address corresponding to the associated scheduling domain name. This enables the response to data acquisition requests for the same target domain name from multiple clients corresponding to different business types in a content delivery network, and the acquisition of data from edge nodes corresponding to different business types. It does not require deleting clients corresponding to previously connected businesses, resulting in low domain name access costs, diversified access methods for accelerated domain names, reduced customer churn, and improved economic efficiency. Attached Figure Description
[0018] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, those skilled in the art can obtain other drawings based on these drawings without creative effort.
[0019] Figure 1A This is a flowchart illustrating a process for multiple service types of clients accessing the same domain name, provided in an exemplary embodiment of this application.
[0020] Figure 1B This is a schematic diagram of the architecture of a data processing system provided in an exemplary embodiment of this application;
[0021] Figure 2 This is a flowchart illustrating a data processing method provided in an exemplary embodiment of this application;
[0022] Figure 3 This is a flowchart illustrating another data processing method provided in an exemplary embodiment of this application;
[0023] Figure 4A This is a flowchart illustrating the processing of multiple service types of clients accessing the same domain name, provided in an exemplary embodiment of this application.
[0024] Figure 4B This is a flowchart illustrating the processing of multiple service types of clients accessing the same domain name, provided in an exemplary embodiment of this application.
[0025] Figure 4C This is a flowchart illustrating the processing of multiple service types of clients accessing the same domain name, provided in an exemplary embodiment of this application.
[0026] Figure 5 This is a schematic block diagram of a data processing apparatus provided in an exemplary embodiment of this application;
[0027] Figure 6 This is a schematic block diagram of a computer device provided in an exemplary embodiment of this application. Detailed Implementation
[0028] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0029] It should be noted that the terms "first," "second," etc., used in the embodiments of this application are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, a technical feature specified with "first" or "second" may explicitly or implicitly include at least one of those features.
[0030] The embodiments of the present invention can be applied to various scenarios such as cloud computing, cloud IoT, cloud gaming, artificial intelligence, vehicle scenarios, smart transportation, and assisted driving. Several typical application scenarios will be introduced below.
[0031] Cloud computing refers to the delivery and usage model of IT infrastructure, meaning obtaining necessary resources in an on-demand and easily scalable manner through a network. In a broader sense, cloud computing also refers to the delivery and usage model of services, meaning obtaining necessary services in an on-demand and easily scalable manner through a network. These services can be IT and software related, internet-related, or other services. Cloud computing is a product of the convergence of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing. Driven by the development of the internet, real-time data streams, the diversification of connected devices, and the demands of search services, social networks, mobile commerce, and open collaboration, cloud computing has developed rapidly. Unlike previous parallel and distributed computing, the emergence of cloud computing will fundamentally revolutionize the entire internet model and enterprise management model. This application can store data such as scheduling domain names, business types, and relationships between edge node addresses on a cloud server. When different data are needed, they can be obtained directly from the cloud server, greatly improving the data acquisition speed.
[0032] Cloud IoT aims to connect the information sensed and commands received by traditional IoT devices to the Internet, truly achieving networking. It also enables massive data storage and computation through cloud computing technology. Due to the nature of IoT, which involves connecting things to each other and sensing the current operating status of each "object" in real time, a large amount of data information is generated in this process. How to aggregate this information and how to sift out useful information from the massive amount of data to support decision-making for future development have become key issues affecting the development of IoT. As a result, IoT cloud based on cloud computing and cloud storage technology has become a powerful support for IoT technology and applications.
[0033] Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing. It enables thin clients with relatively limited graphics processing and data processing capabilities to run high-quality games. In cloud gaming, the game does not reside on the player's terminal but runs on a cloud server. The cloud server renders the game scene as a video and audio stream, which is then transmitted to the player's terminal via the network. The player's terminal does not need powerful graphics processing and data processing capabilities; it only needs basic streaming media playback capabilities and the ability to receive player input commands and send them to the cloud server. This application applies to cloud gaming and can provide differentiated acceleration services based on different game business needs, such as accelerating game website content, game client downloads, and mobile terminal downloads.
[0034] Intelligent Traffic Systems (ITS), also known as Intelligent Transportation Systems, effectively integrate advanced technologies (information technology, computer technology, data communication technology, sensor technology, electronic control technology, automatic control theory, operations research, artificial intelligence, etc.) into transportation, service control, and vehicle manufacturing. This strengthens the connection between vehicles, roads, and users, forming a comprehensive transportation system that ensures safety, improves efficiency, enhances the environment, and conserves energy. This application, applied to intelligent transportation systems, can achieve localized accelerated services, support various traffic monitoring operations, and significantly improve the response speed of intelligent transportation systems.
[0035] This application can also be applied to domain name access for various acceleration products, including Content Delivery Network (CDN), dynamic acceleration, static and dynamic hybrid acceleration, Layer 4 network acceleration, and game acceleration. It can support multiple clients accessing the same domain name and support multiple clients having different product functions (such as business types) and different domain name acceleration effects.
[0036] In recent years, the content delivery network (CDN) market has developed rapidly, with numerous large internet companies and SMEs joining the competition. The first step in CDN acceleration is connecting the domain to be accelerated to the CDN server. Only after connection can the CDN service be used for acceleration. Since acceleration domains are unique within the same CDN provider, if a client of a certain business type is already connected to the same CDN provider and you want a client of a different business type to connect to the same acceleration domain, you must first delete the previously connected client and its corresponding acceleration service before the latter can successfully connect.
[0037] Please see Figure 1A , Figure 1A This is a flowchart illustrating the process of multiple service types accessing the same domain name, provided in an embodiment of this application. The flowchart includes a client corresponding to service A, a client corresponding to service B, and a content delivery network service provider. The accelerated domain name (e.g., www.test.com in the flowchart) provides acceleration services to users by accessing the content delivery network service provider. If no client corresponding to any business has accessed the accelerated domain, the client corresponding to business A can successfully access the accelerated domain (corresponding to step 1 in the diagram) and use the acceleration service provided by the content delivery network service provider for the accelerated domain. If a client corresponding to business B requests and attempts to access the accelerated domain (corresponding to step 2 in the diagram), but the same content delivery network service provider cannot allow clients of different business types to repeatedly access the same accelerated domain, the content delivery network service provider will send a notification to the server corresponding to the accelerated domain (corresponding to step 3 in the diagram) to delete the acceleration service already accessed by the client corresponding to business A. The server corresponding to the accelerated domain will obtain authorization from the client corresponding to business A to delete the acceleration service already accessed by the client corresponding to business A. After the client corresponding to business A grants the permission to delete the domain, the server corresponding to the accelerated domain will delete the acceleration service already accessed by the client corresponding to business A (corresponding to step 4 in the diagram). At this time, the client corresponding to business B can access the accelerated domain normally (corresponding to step 5 in the diagram) and use the acceleration service provided by the content delivery network service provider for the accelerated domain.
[0038] The above method has several drawbacks: First, it cannot support multiple clients from different services accessing the same domain name multiple times on the same content delivery network (CDN) provider. Since there are multiple CDN providers in the market, when they detect multiple clients from different services accessing the same domain name on the same CDN provider, the CDN provider will retain only one type of client for the acceleration service and connect the other clients to different CDN providers. This method leads to customer churn for the CDN provider, reducing its economic benefits. Second, with the same accelerated domain name, the CDN provider cannot configure different acceleration effects based on different business needs to achieve different business functionalities. This results in a single access method for the accelerated domain name and weak domain name access capabilities. Third, when a client from another service accesses the accelerated domain name, the previously accessed client needs to be deleted and the connection broken before the other client can access and use the accelerated domain name normally, increasing the user's cooperation cost and making it difficult to access the accelerated domain name.
[0039] This application proposes a scheme to access multiple identical accelerated domain names within a content delivery network (CDN) and provide different acceleration effects based on these domain names. This solution meets the needs of clients from different services accessing the same domain name, and it eliminates the need to delete already accessed domain names, significantly reducing the cost and barrier for users to access accelerated domain names. Specifically, this application generates aliases (also called domain name differentiation information, including scheduling domain names and origin domain names) for clients from different services accessing the same accelerated domain name. Each service type has a different alias for its scheduling and origin domain names to distinguish between different service types. Through this method of assigning aliases (CNAMEs) to accelerated domain names, pre-configured nodes in the CDN can differentiate between clients from different service types accessing the same accelerated domain name and provide differentiated scheduling and acceleration services based on the configured acceleration settings.
[0040] It is understood that in the specific implementation of this application, data such as target domain names and node addresses are involved. When the above embodiments of this application are applied to specific products or technologies, the collection, use and processing of related data need to comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0041] This application will be specifically illustrated through the following embodiments:
[0042] Please see Figure 1B , Figure 1BThis is a schematic diagram of the architecture of a data processing system provided in an exemplary embodiment of this application. The data processing system may specifically include a first terminal device 101, a second terminal device 102, a first server 103, and a second server 104. The first terminal device 101, the second terminal device 102, the first server 103, and the second server 104 are connected via a network, such as a wireless network. The first terminal device 101 may refer to the operation and maintenance equipment configured for each edge node (or intermediate node, or source node) in this application; the second terminal device 102 may refer to the client that initiates a data acquisition request based on a target domain name in this application (the second terminal device 102 may include multiple clients, which may be based on the same business type or multiple business types); the first server 103 may refer to the execution entity of this application, i.e., the management node; the second server 104 may refer to the content distribution network nodes (e.g., edge nodes, intermediate nodes, and source nodes) connected to the first server 103 (management node) in this application. There may be multiple content distribution network nodes, which may be deployed in different geographical locations.
[0043] Based on the data processing method proposed in this application, terminal device 101 can obtain configuration parameters and perform accelerated configuration on various edge nodes based on the configuration parameters (including configuring various service types, and the correspondence between node addresses, scheduling domain names, and service types of edge nodes, intermediate nodes, and source nodes), and store the configuration data on the first server 103; second terminal device 102 accesses the target domain name connected to the first server 103 and initiates a data acquisition request; the first server 103 receives the data acquisition request initiated by the second terminal device 102, determines the associated scheduling domain name corresponding to the data acquisition request by using the service type carried in the data acquisition request and combining it with the stored configuration data, determines the associated node address from the node addresses of one or more edge nodes corresponding to the associated scheduling domain name, and obtains the request data from the edge node corresponding to the associated node address (i.e., one of the content distribution nodes in the second server 104); the first server 103 finally returns the obtained request data to the second terminal device 102.
[0044] In one embodiment, the second server 104 may be a business server group storing business data (the business server group may be one business server or multiple business servers. The business server group may be a combination of a main server and multiple edge servers, or a combination of a main server, multiple intermediate servers, and multiple edge servers).
[0045] The first terminal device 101 (or the second terminal device 102) is also referred to as a terminal, user equipment (UE), access terminal, user unit, mobile device, user terminal, wireless communication device, user agent, or user device. Terminal devices can be smart home appliances, handheld devices with wireless communication capabilities (such as smartphones and tablets), computing devices (such as personal computers (PCs), in-vehicle terminals, intelligent voice interaction devices, wearable devices, or other intelligent devices), but are not limited to these.
[0046] The first server 103 (or the second server 104) can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms.
[0047] It is understood that the system architecture diagrams described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. For example, in this application, the first terminal device 101 includes, in addition to, Figure 1B In addition to the three devices shown, it may include more than three devices, or it may include only one device (the same applies to the second terminal device 102); similarly, server 103 may include, in addition to, Figure 1B In addition to the single server shown, the system can also consist of multiple servers (i.e., a server cluster). The first terminal device 101 and the second terminal device 102 can be two independent terminal devices, or they can be the same terminal device (i.e., the entire data processing system architecture includes the terminal device, the first server 103, and the second server 104). That is, the terminal device performs acceleration configuration and sends a data acquisition request to the first server 103, enabling the first server 103 to obtain the requested data from the second server 104 and return the requested data to the terminal device. As those skilled in the art will recognize, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in this application embodiment are also applicable to similar technical problems.
[0048] In subsequent embodiments, the term "operation and maintenance equipment" will refer to the first terminal device 101, "client" will refer to the second terminal device 102, "management node" will refer to the first server 103, and "edge node (or intermediate node, or source node)" will refer to the second server 104. These will not be repeated in subsequent embodiments.
[0049] Please see Figure 2 , Figure 2 This is a flowchart illustrating a data processing method provided in an exemplary embodiment of this application, applied to a management node (referring to...). Figure 1B Taking the first server 103 in the example, the method may include the following steps:
[0050] S201. Receive a data retrieval request initiated by the client based on the target domain name. The data retrieval request carries the target business type of the requested data, and the requested data is the data requested by the data retrieval request.
[0051] In this embodiment, the content delivery network includes a management node and multiple edge nodes. Each edge node stores service data of one service type, and multiple edge nodes store service data of multiple service types. The management node records a first correspondence between the node address of the edge node and the scheduling domain name, and the scheduling domain name is associated with the target domain name. The management node also records a second correspondence between each scheduling domain name and the service type. Different service types correspond to different scheduling domain names, and the service type corresponding to each scheduling domain name is the service type of the service data stored by the edge node corresponding to the scheduling domain name.
[0052] In this application, the management node is the executing entity of the data processing method and can be a content delivery network (CDN) processing server. Multiple edge nodes can be understood as edge nodes (i.e., the most granular branch server nodes) distributed in various locations by the main server that constructs the target domain name (e.g., www.test.com). These edge nodes store a portion of the data from the main server, which is used by clients to retrieve data from the corresponding edge nodes based on data retrieval rules, thus improving data retrieval efficiency. Each edge node stores business data of one business type, and multiple edge nodes storing business data of multiple business types can be understood as numerous edge nodes being divided into multiple groups based on business types. Each group corresponds to one business type, and each group can include one or more edge nodes storing that business type. The management node records a first correspondence between the node addresses of edge nodes and the scheduling domain names. This first correspondence includes multiple sets of relationship data, each set including a correspondence between a scheduling domain name and the node addresses of one or more edge nodes (e.g., associating scheduling domain name 1 with the node addresses of edge node 1, edge node 2, and edge node 3).
[0053] Since the edge node address corresponding to any given scheduling domain name indicates an edge node that stores only business data for a specific business type, and the client initiates data retrieval for a specific business type based on the target domain name, a correspondence can be established based on the business types corresponding to the aforementioned scheduling domain name and target domain name, i.e., the scheduling domain name is associated with the target domain name. The management node also records a second correspondence between each scheduling domain name and business type. This second correspondence includes multiple sets of relationship data, each set including a correspondence between a business type and one or more scheduling domain names (e.g., business type 1 corresponds to scheduling domain name 1, scheduling domain name 2, and scheduling domain name 3). Different business types correspond to different scheduling domain names, and the business type corresponding to each scheduling domain name is the business type of the business data stored on the edge node corresponding to that scheduling domain name.
[0054] In this embodiment, the execution entity is the management node. The target domain name is connected to the management node, and the client connects to the management node so that the management node can obtain requested data from the target domain name. The management node can receive data acquisition requests initiated by the client based on the target domain name. The data request also carries a business type, which indicates the business requirements of this data acquisition request.
[0055] In one embodiment, the service type can be obtained through the receiving environment of the data acquisition request. For example, when the management node receives a data acquisition request initiated by a client based on a target domain name, where the target domain name is for the game business and the data acquisition request is for downloading a game client within the game business, then the target service type carried by the data acquisition request is: game client download. If the management node receives another data acquisition request, where the data acquisition request is for acquiring online game data within the game business, then the target service type carried by the data acquisition request is: online game data acquisition. By obtaining the service type carried in the data request, the management node can better distinguish different types of access operations (i.e., data acquisition requests of different service types) based on the same target domain name. Subsequently, the management node can generate domain name differentiation information (including scheduling domain name and origin domain name) corresponding to clients of different service types based on the obtained service type, and then obtain the request data according to the domain name differentiation information to achieve differentiated request data acquisition operations.
[0056] S202. In response to the data acquisition request, determine the associated scheduling domain name that is related to the target domain name and the target business type based on the second correspondence.
[0057] In this embodiment of the application, the second correspondence relationship includes the correspondence between each scheduling domain name and the service type. Since the service type is carried in the data acquisition request, one or more scheduling domain names corresponding to the service type can be determined in the second correspondence relationship based on the service type carried in the data acquisition request. Then, the final scheduling domain name (that is, the associated scheduling domain name) is determined from the one or more scheduling domain names obtained.
[0058] In one embodiment, determining the associated scheduling domain name based on the target business type includes two cases. In the first case, one scheduling domain name corresponds to one business type. In this case, the scheduling domain name corresponding to the business type (the quantity is 1) is determined from the second correspondence relationship according to the above method, and this scheduling domain name is then used as the associated scheduling domain name. In the second case, one business type corresponds to multiple scheduling domain names. In this case, the scheduling domain names corresponding to the business type (the quantity is multiple) are determined from the second correspondence relationship according to the above method. Then, one of the scheduling domain names needs to be determined from the multiple scheduling domain names as the associated scheduling domain name based on the data acquisition rules.
[0059] In the first scenario, each business type corresponds to a unique scheduling domain name, so once the business type is determined, the scheduling domain name (i.e., the associated scheduling domain name) is also determined. However, in the second scenario, it is necessary to determine the associated scheduling domain name from multiple scheduling domain names based on data acquisition rules. The following explanation will focus on the second scenario.
[0060] In one embodiment, the scheduling domain names corresponding to different node addresses in the first correspondence are different. The above-mentioned determination of the associated scheduling domain name related to the target domain name and the target service type based on the second correspondence can be achieved according to the following steps.
[0061] (1) Based on the second correspondence, determine one or more candidate scheduling domain names associated with the target domain name and the target business type.
[0062] In this embodiment of the application, the second correspondence includes the correspondence between each scheduling domain name and the business type. The scheduling domain name is associated with the target domain name, and the data acquisition request carries the business type corresponding to the data acquisition request. Then, one or more candidate scheduling domain names associated with the target domain name and the target business type can be determined.
[0063] In one embodiment, the target business type corresponding to the data acquisition request based on the target domain name is business 1. In the second correspondence, business 1 is associated with scheduling domain name 1, scheduling domain name 2 and scheduling domain 3. Then, scheduling domain name 1, scheduling domain name 2 and scheduling domain 3 are used as candidate scheduling domain names associated with the target domain name and the target business type.
[0064] (2) Based on the first correspondence, determine the associated node address associated with each candidate scheduling domain name.
[0065] In this embodiment of the application, the first correspondence includes the correspondence between the node address of the edge node and the scheduling domain name. Since in this case, one scheduling domain name corresponds to the node address of a unique edge node, once each candidate scheduling domain name is determined, the associated node address of each candidate scheduling domain name is also determined.
[0066] (3) Obtain the data interaction evaluation parameters between the edge node and the client corresponding to each associated node address.
[0067] (4) Determine the associated scheduling domain name from one or more candidate scheduling domain names based on the data interaction evaluation parameters.
[0068] In this embodiment, the management node can access the edge node corresponding to the associated node address through the associated node address of the candidate scheduling domain name, and obtain the requested data from the edge node. By obtaining the data interaction evaluation parameters between the edge node corresponding to each associated node address and the client, the management node can understand the data interaction between each edge node and the client based on the data interaction evaluation parameters. This allows the management node to select the edge node with the best data interaction among all edge nodes for data acquisition, improving data acquisition efficiency. The scheduling domain name indicated by the node address corresponding to the edge node with the best data interaction among all edge nodes is the associated scheduling domain name.
[0069] In one embodiment, the data interaction evaluation parameters may be response time evaluation parameters, load status evaluation parameters, network latency evaluation parameters, network speed evaluation parameters, distance information evaluation parameters, etc., when the client interacts with each edge node for data acquisition requests.
[0070] The response time evaluation parameter can be obtained based on the response time of each edge node for this interaction task (for example, if the response time of edge node 1 for this interaction task is 10 seconds, the response time of edge node 2 for this interaction task is 15 seconds, and the response time of edge node 3 for this interaction task is 20 seconds, then the response time evaluation parameter of edge node 1 is determined to be optimal, and the scheduling domain name indicated by the node address corresponding to edge node 1 is selected as the associated scheduling domain name).
[0071] The load condition assessment parameters can be obtained based on the number of tasks currently interacting on each edge node (for example, if the number of tasks currently acquiring data on edge node 1 is 1000, the number of tasks currently acquiring data on edge node 2 is 2000, and the number of tasks currently acquiring data on edge node 3 is 3000, then the load condition assessment parameters of edge node 1 are determined to be optimal, and the scheduling domain name indicated by the node address corresponding to edge node 1 is selected as the associated scheduling domain name).
[0072] The distance information evaluation parameters can be obtained based on the geographical distance information between the client and each edge node corresponding to this interaction task (for example, if the geographical distance between edge node 1 and the client is 30 kilometers, the geographical distance between edge node 2 and the client is 100 kilometers, and the geographical distance between edge node 3 and the client is 1200 kilometers, then the distance information evaluation parameters of edge node 1 are determined to be optimal, and the scheduling domain name indicated by the node address corresponding to edge node 1 is selected as the associated scheduling domain name).
[0073] It should be noted that the aforementioned data interaction evaluation parameters can be any one of the following: response time evaluation parameters, load status evaluation parameters, network latency evaluation parameters, network speed evaluation parameters, and distance information evaluation parameters, when the client interacts with each edge node for data acquisition requests. Alternatively, they can be multiple of these parameters. When there are multiple data interaction evaluation parameters, a weight can be assigned to each parameter, and each parameter can be multiplied by its corresponding weight and summed to obtain the fused data interaction evaluation parameters. Then, based on these fused data interaction evaluation parameters, the associated scheduling domain name can be determined from one or more candidate scheduling domain names.
[0074] S203. Based on the first correspondence, determine the address of the matching node that matches the associated scheduling domain name.
[0075] In this embodiment of the application, the first correspondence relationship includes the correspondence between the node address of the edge node and the scheduling domain name. Through an associated scheduling domain name, one or more node addresses corresponding to the associated scheduling domain name can be determined in the first correspondence relationship, and then the final node address (that is, the matching node address) can be determined from the one or more node addresses obtained.
[0076] In one embodiment, determining the matching node address includes two cases. The first case is that one associated scheduling domain name corresponds to one node address. In this case, the node address corresponding to the associated scheduling domain name is determined from the first correspondence relationship according to the above method (the number is 1), and this node address is then used as the matching node address. The second case is that one associated scheduling domain name corresponds to multiple node addresses. In this case, the node address corresponding to the associated scheduling domain name is determined from the first correspondence relationship according to the above method (the number is multiple), and then one of the node addresses needs to be determined from the multiple node addresses as the matching node address based on the data acquisition rules.
[0077] In the first scenario, each associated scheduling domain name corresponds to a unique node address, so determining the associated scheduling domain name also determines the matching node address. However, in the second scenario, it's necessary to determine the matching node address from multiple node addresses based on data acquisition rules. The following explanation focuses on the second scenario.
[0078] In one embodiment, the node addresses of edge nodes corresponding to the same business type in the first correspondence relationship are associated with the same scheduling domain name, and the scheduling domain names associated with edge nodes corresponding to different business types are different. That is, one scheduling domain name corresponds to the node addresses of multiple edge nodes of the same business type. The above-mentioned determination of the matching node address that matches the associated scheduling domain name based on the first correspondence relationship can be achieved according to the following steps.
[0079] (1) Determine one or more candidate node addresses that match the associated scheduling domain name based on the first correspondence relationship.
[0080] In this embodiment of the application, the first correspondence includes the correspondence between the node address of the edge node and the scheduling domain name. Since in this case, one scheduling domain name corresponds to the node address of one or more edge nodes, when the associated scheduling domain name is determined, a node address (i.e., a candidate node address) that matches the associated scheduling domain name is also determined.
[0081] (2) Obtain the data interaction evaluation parameters between the edge node and the client corresponding to each candidate node address.
[0082] (3) Determine the matching node address from one or more candidate node addresses based on the data interaction evaluation parameters.
[0083] In this embodiment, the management node can access the edge node corresponding to one or more candidate node addresses that match the associated scheduling domain name, and obtain the requested data from the edge node. By obtaining the data interaction evaluation parameters between the edge node corresponding to each candidate node address and the client, the data interaction situation between each edge node and the client can be understood based on the data interaction evaluation parameters. This allows the client to select the edge node with the best data interaction situation among all edge nodes for data acquisition operations, thereby improving data acquisition efficiency.
[0084] In one embodiment, the data interaction evaluation parameters may include response time evaluation parameters, load status evaluation parameters, network latency evaluation parameters, network speed evaluation parameters, distance information evaluation parameters, etc., when the client interacts with each edge node for data acquisition requests. For the specific method of determining the matching node address based on the data interaction evaluation parameters, please refer to the relevant description of step S202, which will not be repeated in this embodiment.
[0085] S204. Obtain the requested data from the target edge node corresponding to the matching node address and return the requested data to the client.
[0086] In this embodiment, once the matching node address is determined, the management node can obtain the requested data from the target edge node corresponding to the matching node address and return the requested data to the client. Since the target edge node matches the target service type carried in the data acquisition request and is the edge node with the optimal data interaction among multiple edge nodes corresponding to that target service type, the efficiency of the client receiving the requested data is improved. For clients corresponding to different service types, the edge nodes corresponding to clients of different service types are determined through the methods described in steps S201 to S203, enabling the response to data acquisition requests for the same target domain name from multiple clients of different service types within a single content delivery network, and the acquisition of data from edge nodes corresponding to different service types.
[0087] This application establishes a first correspondence between the node address of an edge node and the scheduling domain name, and a second correspondence between the scheduling domain name and the service type, thus associating the scheduling domain name with the node address of the edge node and the service type. By receiving a data acquisition request initiated by a client based on a target domain name, the application determines the associated scheduling domain name from the second correspondence based on the target service type carried in the data request. Then, it determines the matching node address that matches the associated scheduling domain name based on the first correspondence, enabling the management node to obtain the client's request data from the edge node corresponding to the matching node address. This ensures that the management node can respond to any client's data acquisition request for a target domain name corresponding to any service type, obtain the request data from the corresponding edge node, and then return the request data to the client. In this application, each edge node stores business data for one type of business, and multiple edge nodes store business data for multiple types of business. This ensures that multiple edge nodes in a content delivery network store business data for multiple types of business, and any client can only obtain business data of the same type from one edge node. By specifying different scheduling domain names corresponding to different business types, when multiple clients make data requests for the same target domain name, the first and second correspondences can be combined to obtain the corresponding associated scheduling domain name based on the business type of each client. Then, based on the associated scheduling domain names of multiple clients, data is obtained from the node address corresponding to the associated scheduling domain name. This enables the response to data acquisition requests for the same target domain name from multiple clients corresponding to different business types in a content delivery network, and the acquisition of data from edge nodes corresponding to different business types. It does not require deleting clients corresponding to previously connected businesses, resulting in low domain name access costs, diversified access methods for accelerated domain names, reduced customer churn, and improved economic efficiency.
[0088] This application proposes two methods for mapping node addresses to scheduling domain names for edge nodes of the same business type: different node addresses correspond to different scheduling domain names, and edge nodes of the same business type correspond to the same scheduling domain name. This improves the flexibility of the first mapping configuration, making it easier to apply in various system architectures and enhancing the applicability of this application. This application obtains data interaction evaluation parameters between the edge nodes corresponding to each associated node address and the client. Based on these parameters, it can understand the data interaction between each edge node and the client, allowing the client to select the edge node with the best data interaction for data acquisition. Then, based on the data interaction evaluation parameters, it determines the associated scheduling domain name from one or more candidate scheduling domain names, and obtains the requested data from the edge node corresponding to the associated scheduling domain name, thereby improving data acquisition efficiency. The data interaction evaluation parameters can include response time evaluation parameters, load status evaluation parameters, network latency evaluation parameters, network speed evaluation parameters, distance information evaluation parameters, etc., when the client interacts with each edge node for data acquisition requests. This makes the management node's selection of the edge node with the best data interaction based on the data interaction evaluation parameters more accurate and reliable.
[0089] Please see Figure 3 , Figure 3 This is a flowchart illustrating a data processing method provided in an exemplary embodiment of this application, applied to a management node (referring to...). Figure 1B Taking the first server 103 in the example, the method may include the following steps:
[0090] S301. Receive a data retrieval request initiated by the client based on the target domain name. The data retrieval request carries the target business type of the requested data, and the requested data is the data requested by the data retrieval request.
[0091] S302. In response to the data acquisition request, determine the associated scheduling domain name that is related to the target domain name and the target business type based on the second correspondence.
[0092] S303. Based on the first correspondence, determine the address of the matching node that matches the associated scheduling domain name.
[0093] The specific implementation methods of steps S301 to S303 are described in the previous embodiments, and will not be repeated here.
[0094] S304. Send data identification information about the requested data to the target edge node corresponding to the matching node address.
[0095] In this embodiment, once the matching node address is determined, the management node can obtain the requested data from the edge node (i.e., the target edge node) corresponding to the matching node address. Before obtaining the requested data, the management node needs to send data identification information about the requested data to the target edge node. The data identification information is used to indicate the specific parameters of the data to be received.
[0096] In one embodiment, the data identification information may include the specific sub-business branch of the business type requesting the data (e.g., the game client download sub-business in the game business), the data acquisition time range (e.g., limiting the data acquisition operation to one hour), the data filtering conditions (e.g., filtering out image data in the requested data), etc., thereby improving the accuracy of data acquisition.
[0097] S305. Receive request data sent by the target edge node based on data identification information; wherein, when the target edge node stores request data, the received request data is the data stored in the target edge node; when the target edge node does not store request data, the received request data is obtained by the target edge node from one or more intermediate nodes.
[0098] In this embodiment, the content delivery network further includes one or more intermediate nodes and one or more source nodes, with edge nodes connected to source nodes via intermediate nodes. The architecture of the content delivery network can be understood as follows: the content delivery network includes one or more source nodes (allocated by the main server), each source node connects to one or more intermediate nodes, and each intermediate node connects to one or more edge nodes, thus forming the content delivery network. The management node stores a portion of the main server's data in one or more edge nodes within the content delivery network, allowing clients to obtain requested data from the nearest edge node. The management node stores another portion of the main server's data in intermediate nodes, enabling the management node to obtain data from intermediate nodes even when edge nodes do not store the requested data. Similarly, the management node stores another portion of the main server's data in source nodes, enabling the management node to obtain data from intermediate nodes even when edge nodes and intermediate nodes do not store the requested data, and this data is obtained by the intermediate nodes from the source nodes. Through this hierarchical data acquisition method, while ensuring the availability of requested data, the storage and load pressure on the main server and each node is reduced, achieving load balancing.
[0099] In one embodiment, when the target edge node does not store the requested data, the received requested data may also be obtained by the target edge node from one or more source nodes.
[0100] Please see Figure 4A , Figure 4A This is a flowchart illustrating the process of multiple business types of clients accessing the same domain name, as provided in this application embodiment. The flowchart includes clients corresponding to business A, clients corresponding to business B, a management node, a business A origin server, and a business B origin server. An accelerated domain name (e.g., www.test.com in the flowchart, which is the target domain name in this application) accesses the management node to provide acceleration services to users. Clients corresponding to business A and business B attempt to access the accelerated domain name respectively. When the management node receives requests from multiple business types of clients (e.g., clients corresponding to business A and clients corresponding to business B) to access the same domain name, it analyzes the business type corresponding to the request of any client among the multiple business types. Based on the business type, it redirects the clients of multiple business types back to the origin servers corresponding to different business types (e.g., if the analysis shows that the business type of the client corresponding to business A is A, then the client corresponding to business A is redirected back to the business A origin server; if the analysis shows that the business type of the client corresponding to business B is B, then the client corresponding to business B is redirected back to the business B origin server). Through the above method, clients of different business types can obtain request data based on the acceleration services provided by the origin servers of different business types after performing a back-to-origin operation through the management node.
[0101] In one embodiment, the management node also records a third correspondence between each scheduling domain name and the origin domain name, the origin domain name being associated with the intermediate node and the source node, and the above method further includes the following steps.
[0102] (1) Based on the third correspondence, determine the associated origin domain corresponding to the associated scheduling domain.
[0103] In this embodiment, the associated scheduling domain name is used by the management node to obtain request data from the edge node corresponding to the edge node address matched by the associated scheduling domain name, and the associated origin domain name is used by the edge node to perform origin-back operations to obtain request data, so that the management node can obtain the request data obtained by the edge node through the origin-back operation from the edge node corresponding to the edge node address matched by the associated scheduling domain name. The origin-back operation of the edge node is based on the origin domain name. It should be noted that each relationship group included in the third correspondence between each scheduling domain name and the origin domain name can be a correspondence between one scheduling domain name and one origin domain name, or a correspondence between one scheduling domain name and multiple origin domain names. The specific form can be customized according to specific business needs.
[0104] Please see Figure 4B , Figure 4BThis is a flowchart illustrating the process of multiple service types' clients accessing the same domain name, as provided in this application embodiment. The flowchart includes clients corresponding to service A, clients corresponding to service B, a management node, and a backend storage database. An acceleration domain name (e.g., www.test.com in the flowchart, which is the target domain name in this application) provides acceleration services to users through the management node. Clients corresponding to service A and service B respectively perform access operations for the acceleration domain name. When the management node receives access requests (i.e., data acquisition requests) from clients corresponding to services A and B, it assigns domain name differentiation information to each client corresponding to a service based on the target service type carried in the data acquisition request. This information includes the acceleration domain name (i.e., the target domain name), the scheduling domain name, and the origin domain name (at this time, one scheduling domain name corresponds to one origin domain name). For example, the domain name differentiation information assigned to clients based on service A includes the target domain name (e.g., www.test.com), the origin domain name (e.g., www.test.com.A.com), and the scheduling domain name (e.g., www.test.com.A.com.dnsv1.com) for clients based on service B; the domain name differentiation information assigned to clients based on service B includes the acceleration domain name (e.g., www.test.com), the origin domain name (e.g., www.test.com.B.com), and the scheduling domain name (e.g., www.test.com.B.com.dnsv1.com) for clients based on service B. The management node can store this domain name differentiation information in the backend storage database for subsequent retrieval of this information for domain name scheduling, origin access, and other operations.
[0105] In one embodiment, the scheduling domain name is determined based on the target domain name and a first supplementary character, the first supplementary character being determined based on the service type corresponding to the scheduling domain name; the origin domain name is determined based on the target domain name and a second supplementary character, the second supplementary character being determined based on the service type corresponding to the scheduling domain name and being different from the first supplementary character.
[0106] For example, please see Figure 4BIf the target domain is www.test.com, the service type of the client corresponding to service A is A, and the service type of the client corresponding to service B is B, then the scheduling domain name generated by the client corresponding to service A based on the target domain can be www.test.com.A.com.dnsv1.com (where "B" in the scheduling domain name represents the service type), and the scheduling domain name generated by the client corresponding to service B based on the target domain can be www.test.com.B.com.dnsv1.com. It is understood that the above-described form of the associated origin domain name corresponding to the associated scheduling domain name generated based on the third correspondence is merely exemplary. In the actual application of this application, its form should be determined according to the specific business situation.
[0107] (2) Send the associated origin domain name to the target edge node so that the target edge node can determine the target intermediate node from one or more intermediate nodes based on the associated origin domain name when it does not store the request data, and obtain the request data from the target intermediate node.
[0108] In one embodiment, when the target intermediate node stores the request data, the target intermediate node retrieves the request data from the stored data and sends it to the target edge node; when the target intermediate node does not store the request data, the target intermediate node determines the target source node from one or more source nodes based on the associated origin domain name, retrieves the request data from the target source node, and sends it to the target edge node.
[0109] In this embodiment, the origin-following operation of the target edge node is based on the origin-following domain name. That is, the edge node finds one or more matching intermediate nodes (or source nodes) through the origin-following domain name, then determines the target intermediate node (or target source node) from the one or more intermediate nodes (or source nodes) according to the data acquisition rules, and obtains data from the target intermediate node (or target source node). The data is stored on the edge node, and the management node can then obtain the request data obtained by the edge node through the origin-following operation from the edge node corresponding to the edge node address matched by the associated scheduling domain name.
[0110] Please see Figure 4C , Figure 4CThis application provides a flowchart illustrating the process of multiple business types' clients accessing the same domain name. The flowchart includes clients corresponding to business A, clients corresponding to business B, a management node, edge nodes of content delivery network A, edge nodes of content delivery network B, intermediate source nodes of content delivery network, the origin server of business A, and the origin server of business B. The edge nodes of content delivery network A and B can be understood as edge nodes (i.e., the nodes of the finest branches) allocated in various locations by the main server that builds the accelerated domain name www.test.com, and these edge nodes store some data from the main server. The origin server of business A and the origin server of business B can be understood as acceleration nodes configured on the main server based on different business types (e.g., the origin server of business A corresponds to the acceleration node of business type A; the origin server of business B corresponds to the acceleration node of business type B). The intermediate source node of the content delivery network can be understood as the acceleration node between the edge nodes and the origin server of the content delivery network. Specifically, when the edge node of the content delivery network (CDN) does not store the requested data, a back-to-origin process is performed. That is, the edge node retrieves the requested data from the intermediate source node of the CDN; conversely, when the intermediate source node does not store the requested data, it retrieves the requested data from the origin node of the CDN. This architecture allows the management node to retrieve either the requested data stored at the edge node or the requested data obtained through the back-to-origin process.
[0111] The following will be about Figure 3 The process is explained in detail below. When the management node obtains the client corresponding to service A and the client corresponding to service B, respectively targeting the target domain name (e.g., Figure 3When a data retrieval request is initiated from www.test.com, access resolution is performed. Since the processing flow for clients corresponding to service A and service B is similar on the management node, the following explanation will focus on the client corresponding to service A. During access resolution on the management node, domain name differentiation information can be generated based on the service type carried in the data retrieval request (e.g., for the client corresponding to service A, the domain name differentiation information includes the target domain name www.test.com, the scheduling domain name www.test.com.A.com.dnsv1.com corresponding to the target domain name www.test.com, and the origin domain name www.test.com.A.com). The management node performs address resolution based on the scheduling domain name www.test.com.A.com.dnsv1.com (e.g., through the domain name resolution server in the management node) to obtain the edge node address corresponding to service A. The management node can then retrieve the requested data from the edge node corresponding to this edge node address (i.e., the content delivery network edge node A). When the edge node of the content delivery network (CDN) does not store the requested data, a back-to-origin process is initiated. (Before this back-to-origin process, the management node sends the previously generated back-to-origin domain name www.test.com.A.com to the CDN edge node A.) That is, the CDN edge node A uses the back-to-origin domain name www.test.com.A.com as its host address to retrieve the requested data from the CDN intermediate source node. Similarly, when the intermediate source node does not store the requested data, it also initiates a back-to-origin process. (Before this, the CDN edge node A sends the received back-to-origin domain name www.test.com.A.com to the CDN intermediate source node.) The intermediate source node then retrieves the requested data from the CDN origin server (i.e., the source node). Based on these steps, the management node can obtain the requested data and then send it to the client corresponding to service A.
[0112] S306. Return the requested data to the client.
[0113] The specific implementation of step S306 is described in the relevant description of step S204 in the foregoing embodiments, and will not be repeated here.
[0114] In one embodiment, the scheduling domain name and the origin domain name respectively point to the server corresponding to the target domain name, and the IP address of the original server corresponding to the target domain name is the original IP address. When a replacement request for the server corresponding to the target domain name is obtained, the original IP address corresponding to the target domain name is replaced with the new IP address, so that multiple clients can access the new server based on the target domain name, the scheduling domain name, and the origin domain name.
[0115] The above method can be understood as follows: by generating the scheduling domain name and the origin domain name corresponding to the target domain name (the method of generating CNAME aliases), this application makes the target domain name, scheduling domain name and origin domain name have a corresponding relationship. Then, when the IP address of the original server (original IP address) needs to be changed to the IP address of the new server (new IP address), it is only necessary to change the IP address corresponding to the target domain name (that is, replace the original IP address corresponding to the target domain name with the new IP address), and the pointers of the scheduling domain name and the origin domain name will also be automatically changed to the new IP address, which greatly improves the address resolution speed.
[0116] In one embodiment, the maintenance equipment (referring to the first terminal device 101, for details please refer to...) Figure 1B (and related descriptions) Acceleration configurations can be made on the management node for each edge node (or intermediate node, or source node), etc. Acceleration configuration refers to setting the allowed acceleration types for each edge node (or intermediate node, or source node). Among them, acceleration configuration includes one or more of the following: business type configuration, acceleration region configuration, origin server configuration, access control configuration, caching configuration, back-to-origin configuration, HTTPS acceleration configuration, and optimization configuration. The management node can display a visual configuration interface on the operation and maintenance equipment and obtain configuration parameters input by the operation and maintenance personnel. This allows for differentiated acceleration configurations for edge nodes, intermediate nodes, and source nodes, enabling the management node to achieve different acceleration effects when retrieving request data from different edge nodes, intermediate nodes, or source nodes. Using the methods in S201-S204 and S301-S306 provided in this embodiment, the management node selects edge nodes, intermediate nodes, or source nodes with better acceleration effects, retrieves request data from them, and then sends the retrieved request data to the client, thereby improving the efficiency of the client in retrieving request data. By generating a scheduling domain name and a return-to-origin domain name corresponding to the target domain name, the management node then implements the associated scheduling domain name retrieval operation (which can be understood as a scheduling operation) and the return-to-origin operation based on the scheduling domain name and the return-to-origin domain name, respectively. This enables the management node to respond to data retrieval requests from multiple clients of different service types for the same target domain name within a content delivery network and retrieve data from edge nodes of different service types.
[0117] This application addresses the needs of multiple Content Delivery Network (CDN) providers accessing Tencent Cloud CDN. It provides varying acceleration effects for clients with different business types accessing the same accelerated domain name, offering strong technical support for expanding the scale of Tencent Cloud CDN. It overcomes the previous limitation that a single CDN provider could only access one accelerated domain name with the same name, allowing for more flexible and diversified business models and cooperation methods, significantly improving CDN providers' domain name access capabilities. The solution provided in this application enables Tencent Cloud CDN to successfully access domain names from numerous domestic integrated CDN providers, providing them with acceleration services.
[0118] Before obtaining requested data, the management node in this application needs to send data identification information about the requested data to the target edge node. This data identification information indicates the specific parameters of the data to be received, thereby improving the accuracy of data acquisition. The content delivery network in this application includes one or more edge nodes, one or more intermediate nodes, and one or more source nodes. Edge nodes connect to source nodes through intermediate nodes. The management node can divide all data from the main server and store it in edge nodes, intermediate nodes, and source nodes. When the management node obtains requested data from the target edge node, if the target edge node does not store the requested data, it will automatically perform origin retrieval processing. That is, the target edge node will obtain the requested data from the matching intermediate node. Similarly, if the target intermediate node does not store the requested data, it will also automatically perform origin retrieval processing, meaning the target intermediate node will obtain the requested data from the matching source node. The management node records a third-party correspondence between each scheduling domain name and the origin retrieval domain name. The origin retrieval domain name is associated with the intermediate node and the source node, thus completing the aforementioned origin retrieval operation. By employing the hierarchical data acquisition method described above, while ensuring that management nodes can obtain requested data, the storage and load pressure on the overall server and each node is reduced, achieving a load balancing effect. Furthermore, edge nodes can be configured in various regions, improving the data acquisition efficiency for clients.
[0119] This application generates a scheduling domain name and a return-to-origin domain name corresponding to the target domain name, establishing a correspondence between them. When the origin server corresponding to the target domain name changes, only the IP address of the target domain name needs to be changed; the scheduling domain name and the return-to-origin domain name will automatically redirect to the new IP address, significantly improving address resolution speed. This application can also perform acceleration configurations on the management node for various edge nodes (or intermediate nodes, or origin nodes). These acceleration configurations include one or more of the following: business type configuration, acceleration region configuration, origin server configuration, access control configuration, caching configuration, return-to-origin configuration, HTTPS acceleration configuration, and optimization configuration. A visual configuration interface is displayed on the operation and maintenance equipment to obtain configuration parameters input by operation and maintenance personnel. This allows for differentiated acceleration configurations for edge nodes, intermediate nodes, and origin nodes, enabling the management node to achieve different acceleration effects when retrieving request data from different edge nodes, intermediate nodes, or origin nodes, thereby improving the efficiency of client data retrieval.
[0120] Please see Figure 5 , Figure 5 This is a schematic block diagram of a data processing device provided in an embodiment of this application. The data processing device is included in a content delivery network, which further includes multiple edge nodes. Each edge node stores business data of one type of business, and the multiple edge nodes store business data of multiple types of business. The data processing device records a first correspondence between the node addresses of the edge nodes and scheduling domain names, wherein the scheduling domain name is associated with a target domain name. The data processing device also records a second correspondence between each scheduling domain name and a business type, wherein different business types correspond to different scheduling domain names, and the business type corresponding to each scheduling domain name is the business type of the business data stored by the edge node corresponding to the scheduling domain name. Specifically, the data processing device may include:
[0121] The acquisition module 501 is used to receive a data acquisition request initiated by the client based on the target domain name. The data acquisition request carries the target business type of the requested data, and the requested data is the data requested by the data acquisition request.
[0122] Processing module 502 is used to respond to the above data acquisition request and determine the associated scheduling domain name associated with the above target domain name and the above target business type based on the above second correspondence relationship;
[0123] The aforementioned processing module 502 is further configured to determine, based on the aforementioned first correspondence, the address of the matching node that matches the aforementioned associated scheduling domain name;
[0124] The sending module 503 is used to obtain the request data from the target edge node corresponding to the matching node address and return the request data to the client.
[0125] Optionally, since the scheduling domain names corresponding to different node addresses in the first correspondence are different, the processing module 502, when determining the associated scheduling domain name related to the target domain name and the target service type based on the second correspondence, specifically performs the following:
[0126] Based on the second correspondence mentioned above, one or more candidate scheduling domain names associated with the target domain name and the target business type are determined.
[0127] Based on the first correspondence mentioned above, the associated node addresses associated with each of the aforementioned candidate scheduling domain names are determined;
[0128] Obtain the data interaction evaluation parameters between the edge nodes corresponding to the addresses of the aforementioned associated nodes and the aforementioned clients;
[0129] Based on the aforementioned data interaction evaluation parameters, the associated scheduling domain name is determined from one or more candidate scheduling domain names.
[0130] Optionally, in the first correspondence mentioned above, the node addresses of edge nodes corresponding to the same business type are associated with the same scheduling domain name, and the scheduling domain names associated with edge nodes corresponding to different business types are different. When the processing module 502 determines the matching node address that matches the associated scheduling domain name based on the first correspondence mentioned above, it specifically performs the following:
[0131] Based on the above first correspondence, one or more candidate node addresses that match the above associated scheduling domain name are determined;
[0132] Obtain the data interaction evaluation parameters between the edge nodes corresponding to each of the above candidate node addresses and the above clients;
[0133] Based on the aforementioned data interaction evaluation parameters, the matching node address is determined from one or more candidate node addresses.
[0134] Optionally, the content delivery network further includes one or more intermediate nodes and one or more source nodes, with edge nodes connected to source nodes through intermediate nodes. When the processing module 502 retrieves the requested data from the target edge node corresponding to the matched node address, it specifically performs the following:
[0135] Send data identification information about the requested data to the target edge node corresponding to the above-mentioned matching node address;
[0136] Receive the request data sent by the target edge node based on the data identification information obtained above;
[0137] Specifically, when the target edge node stores the request data, the received request data is the data stored in the target edge node; when the target edge node does not store the request data, the received request data is obtained by the target edge node from the target intermediate node among the one or more intermediate nodes.
[0138] Optionally, the aforementioned management node also records a third correspondence between each scheduling domain name and the origin domain name, wherein the origin domain name is associated with the intermediate node and the source node, and the aforementioned processing module 502 is further used for:
[0139] Based on the aforementioned third correspondence, the associated origin domain corresponding to the aforementioned associated scheduling domain is determined;
[0140] Send the associated origin domain name to the aforementioned target edge node so that, when the aforementioned target edge node does not store the aforementioned request data, it can determine the target intermediate node from the aforementioned one or more intermediate nodes based on the associated origin domain name and obtain the aforementioned request data from the aforementioned target intermediate node.
[0141] Optionally, when the target intermediate node stores the request data, the target intermediate node retrieves the request data from the stored data and sends it to the target edge node; when the target intermediate node does not store the request data, the target intermediate node determines the target source node from the one or more source nodes based on the associated origin domain name, retrieves the request data from the target source node, and sends it to the target edge node.
[0142] Optionally, the aforementioned scheduling domain name is determined based on the aforementioned target domain name and the first supplementary character, wherein the aforementioned first supplementary character is determined based on the business type corresponding to the scheduling domain name;
[0143] The aforementioned origin domain name is determined based on the aforementioned target domain name and the second supplementary character. The aforementioned second supplementary character is determined based on the business type corresponding to the scheduling domain name and is different from the aforementioned first supplementary character.
[0144] It should be noted that the functions of each functional module of the data processing device in this application embodiment can be specifically implemented according to the methods in the above method embodiments. The specific implementation process can be referred to the relevant descriptions in the above method embodiments, which will not be repeated here.
[0145] Please see Figure 6 , Figure 6This is a schematic block diagram of a computer device provided in an embodiment of this application. As shown in the figure, the smart terminal in this embodiment may include: a processor 601, a storage device 602, and a communication interface 603. The processor 601, the storage device 602, and the communication interface 603 can interact with each other.
[0146] The aforementioned storage device 602 may include volatile memory, such as random-access memory (RAM); the storage device 602 may also include non-volatile memory, such as flash memory, solid-state drive (SSD), etc.; the aforementioned storage device 602 may also include a combination of the above types of memory.
[0147] The processor 601 described above may be a central processing unit (CPU). In one embodiment, the processor 601 may also be a graphics processing unit (GPU). The processor 601 may also be a combination of a CPU and a GPU. In one embodiment, the storage device 602 is used to store program instructions, and the processor 601 can invoke these program instructions to perform the following operations:
[0148] Receive a data acquisition request initiated by the client based on the above target domain name. The data acquisition request carries the target business type of the requested data. The requested data is the data requested by the data acquisition request.
[0149] In response to the aforementioned data acquisition request, the associated scheduling domain name associated with the aforementioned target domain name and the aforementioned target business type is determined based on the aforementioned second correspondence relationship;
[0150] Based on the first correspondence mentioned above, the address of the matching node that matches the associated scheduling domain name is determined.
[0151] The requested data is obtained from the target edge node corresponding to the above-mentioned matching node address, and the requested data is returned to the above-mentioned client.
[0152] Optionally, the scheduling domain names corresponding to different node addresses in the first correspondence are different. When the processor 601 determines the associated scheduling domain name related to the target domain name and the target service type based on the second correspondence, it is specifically used for:
[0153] Based on the second correspondence mentioned above, one or more candidate scheduling domain names associated with the target domain name and the target business type are determined.
[0154] Based on the first correspondence mentioned above, the associated node addresses associated with each of the aforementioned candidate scheduling domain names are determined;
[0155] Obtain the data interaction evaluation parameters between the edge nodes corresponding to the addresses of the aforementioned associated nodes and the aforementioned clients;
[0156] Based on the aforementioned data interaction evaluation parameters, the associated scheduling domain name is determined from one or more candidate scheduling domain names.
[0157] Optionally, in the first correspondence mentioned above, the node addresses of edge nodes corresponding to the same service type are associated with the same scheduling domain name, and the scheduling domain names associated with edge nodes corresponding to different service types are different. When the processor 601 determines the matching node address that matches the associated scheduling domain name based on the first correspondence mentioned above, it specifically performs the following:
[0158] Based on the above first correspondence, one or more candidate node addresses that match the above associated scheduling domain name are determined;
[0159] Obtain the data interaction evaluation parameters between the edge nodes corresponding to each of the above candidate node addresses and the above clients;
[0160] Based on the aforementioned data interaction evaluation parameters, the matching node address is determined from one or more candidate node addresses.
[0161] Optionally, the content delivery network further includes one or more intermediate nodes and one or more source nodes, with edge nodes connected to source nodes through intermediate nodes. When the processor 601 retrieves the requested data from the target edge node corresponding to the matched node address, it specifically performs the following:
[0162] Send data identification information about the requested data to the target edge node corresponding to the above-mentioned matching node address;
[0163] Receive the request data sent by the target edge node based on the data identification information obtained above;
[0164] Specifically, when the target edge node stores the request data, the received request data is the data stored in the target edge node; when the target edge node does not store the request data, the received request data is obtained by the target edge node from the target intermediate node among the one or more intermediate nodes.
[0165] Optionally, the aforementioned management node also records a third correspondence between each scheduling domain name and the origin domain name, wherein the origin domain name is associated with the intermediate node and the source node, and the aforementioned processor 601 is further used for:
[0166] Based on the aforementioned third correspondence, the associated origin domain corresponding to the aforementioned associated scheduling domain is determined;
[0167] Send the associated origin domain name to the aforementioned target edge node so that, when the aforementioned target edge node does not store the aforementioned request data, it can determine the target intermediate node from the aforementioned one or more intermediate nodes based on the associated origin domain name and obtain the aforementioned request data from the aforementioned target intermediate node.
[0168] Optionally, when the target intermediate node stores the request data, the target intermediate node retrieves the request data from the stored data and sends it to the target edge node; when the target intermediate node does not store the request data, the target intermediate node determines the target source node from the one or more source nodes based on the associated origin domain name, retrieves the request data from the target source node, and sends it to the target edge node.
[0169] Optionally, the aforementioned scheduling domain name is determined based on the aforementioned target domain name and the first supplementary character, wherein the aforementioned first supplementary character is determined based on the business type corresponding to the scheduling domain name;
[0170] The aforementioned origin domain name is determined based on the aforementioned target domain name and the second supplementary character. The aforementioned second supplementary character is determined based on the business type corresponding to the scheduling domain name and is different from the aforementioned first supplementary character.
[0171] In specific implementation, the processor 601, storage device 602, and communication interface 603 described in the embodiments of this application can execute the embodiments of this application. Figure 2 or Figure 3 The implementation methods described in the relevant embodiments of the provided data processing method can also be used to execute the embodiments of this application. Figure 5 The implementation methods described in the relevant embodiments of the provided data processing device will not be repeated here.
[0172] In the several embodiments provided in this application, it should be understood that the disclosed methods, apparatuses, and systems can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for example, the division of units is merely a logical functional division, and other division methods may exist in actual implementation; for example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0173] Furthermore, it should be noted that this application embodiment also provides a computer-readable storage medium storing a computer program executed by the aforementioned data processing device, and the computer program includes program instructions. When the processor executes the program instructions, it can execute the aforementioned... Figure 2 , Figure 3 The methods described in the corresponding embodiments will not be repeated here. Furthermore, the beneficial effects of using the same methods will also not be repeated. For technical details not disclosed in the computer-readable storage medium embodiments related to this application, please refer to the description of the method embodiments of this application. As an example, program instructions can be deployed on a computer device, or executed on multiple computer devices located in one location, or executed on multiple computer devices distributed across multiple locations and interconnected via a communication network. These multiple computer devices distributed across multiple locations and interconnected via a communication network can constitute a blockchain system.
[0174] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the aforementioned... Figure 2 , Figure 3 The methods described in the corresponding embodiments are therefore not repeated here.
[0175] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0176] The above-disclosed embodiments are merely some of the embodiments of this application, and should not be construed as limiting the scope of this application. Those skilled in the art can understand that implementing all or part of the above embodiments and making equivalent changes in accordance with the claims of this application still fall within the scope of the invention.
Claims
1. A data processing method applied to a content delivery network, characterized in that, The content delivery network includes a management node and multiple edge nodes. Each edge node stores service data for one service type, and the multiple edge nodes store service data for multiple service types. The management node records a first correspondence between the node addresses of the edge nodes and scheduling domain names, and the scheduling domain name is associated with a target domain name. The management node also records a second correspondence between each scheduling domain name and a service type, where different service types correspond to different scheduling domain names, and the service type corresponding to each scheduling domain name is the service type of the service data stored on the edge node corresponding to that scheduling domain name. The method includes: Receive a data acquisition request initiated by a client based on the target domain name, wherein the data acquisition request carries the target business type of the requested data, and the requested data is the data requested by the data acquisition request; In the case where the scheduling domain names corresponding to different node addresses in the first correspondence are different, in response to the data acquisition request, based on the second correspondence, one or more candidate scheduling domain names associated with the target domain name and the target service type are determined. Based on the first correspondence, determine the associated node address associated with each of the candidate scheduling domain names; Obtain data interaction evaluation parameters between the edge nodes corresponding to each of the associated node addresses and the client; the data interaction evaluation parameters include some or all of the following: response time evaluation parameters, load status evaluation parameters, network latency evaluation parameters, network speed evaluation parameters, and distance information evaluation parameters when the client interacts with each of the edge nodes in response to the data acquisition request. The associated scheduling domain name is determined from the one or more candidate scheduling domain names based on the data interaction evaluation parameters; Based on the first correspondence, determine the address of the matching node that matches the associated scheduling domain name; The request data is obtained from the target edge node corresponding to the matching node address, and the request data is returned to the client.
2. The method according to claim 1, characterized in that, The method further includes: In the case where the node addresses of edge nodes corresponding to the same business type are associated with the same scheduling domain name in the first correspondence relationship, and the scheduling domain names associated with edge nodes corresponding to different business types are different, in response to the data acquisition request, the associated scheduling domain name associated with the target domain name and the target business type is determined based on the second correspondence relationship. Based on the first correspondence, determine one or more candidate node addresses that match the associated scheduling domain name; Obtain the data interaction evaluation parameters between the edge node corresponding to each candidate node address and the client; The matching node address is determined from the one or more candidate node addresses based on the data interaction evaluation parameters; The request data is obtained from the target edge node corresponding to the matching node address, and the request data is returned to the client.
3. The method according to claim 1 or 2, characterized in that, The content delivery network also includes one or more intermediate nodes and one or more source nodes, with edge nodes connected to source nodes through intermediate nodes; The step of obtaining the request data from the target edge node corresponding to the matching node address includes: Send data identification information about the requested data to the target edge node corresponding to the matching node address; Receive the request data sent by the target edge node, which is obtained based on the data identification information; Wherein, when the target edge node stores the request data, the received request data is the data stored in the target edge node; when the target edge node does not store the request data, the received request data is obtained by the target edge node from the target intermediate node among the one or more intermediate nodes.
4. The method according to claim 3, characterized in that, The management node also records a third correspondence between each scheduling domain name and the origin domain name, wherein the origin domain name is associated with intermediate nodes and source nodes; the method further includes: Based on the third correspondence, the associated origin domain corresponding to the associated scheduling domain is determined; The associated origin domain name is sent to the target edge node so that the target edge node can determine the target intermediate node from the one or more intermediate nodes based on the associated origin domain name when it does not store the request data, and obtain the request data from the target intermediate node.
5. The method according to claim 4, characterized in that, When the target intermediate node stores the request data, the target intermediate node retrieves the request data from the stored data and sends it to the target edge node; when the target intermediate node does not store the request data, the target intermediate node determines the target source node from the one or more source nodes based on the associated origin domain name, retrieves the request data from the target source node, and sends it to the target edge node.
6. The method according to claim 4, characterized in that, The scheduling domain name is determined based on the target domain name and the first supplementary character, and the first supplementary character is determined based on the business type corresponding to the scheduling domain name; The origin domain name is determined based on the target domain name and the second supplementary character. The second supplementary character is determined based on the business type corresponding to the scheduling domain name and is different from the first supplementary character.
7. A data processing apparatus, included in a content delivery network, characterized in that, The content delivery network further includes multiple edge nodes, each edge node storing service data of one service type, and the multiple edge nodes storing service data of multiple service types; the data processing device records a first correspondence between the node addresses of the edge nodes and the scheduling domain names, wherein the scheduling domain names are associated with the target domain names; the data processing device also records a second correspondence between each scheduling domain name and the service type, wherein different service types correspond to different scheduling domain names, and the service type corresponding to each scheduling domain name is the service type of the service data stored by the edge node corresponding to the scheduling domain name; the device includes: The acquisition module is used to receive a data acquisition request initiated by the client based on the target domain name. The data acquisition request carries the target business type of the requested data, and the requested data is the data requested by the data acquisition request. The processing module is configured to: when the scheduling domain names corresponding to different node addresses in the first correspondence are different, responding to the data acquisition request, determine one or more candidate scheduling domain names associated with the target domain name and the target service type based on the second correspondence; determine the associated node addresses associated with each of the candidate scheduling domain names based on the first correspondence; acquire data interaction evaluation parameters between the edge nodes corresponding to each of the associated node addresses and the client; the data interaction evaluation parameters include some or all of the following: response time evaluation parameters, load status evaluation parameters, network latency evaluation parameters, network speed evaluation parameters, and distance information evaluation parameters when the client interacts with each of the edge nodes in response to the data acquisition request; and determine the associated scheduling domain name from the one or more candidate scheduling domain names according to the data interaction evaluation parameters. The processing module is further configured to determine, based on the first correspondence, the address of the matching node that matches the associated scheduling domain name; The sending module is used to obtain the request data from the target edge node corresponding to the matching node address and return the request data to the client.
8. A computer device, characterized in that, include: The system includes a processor, a storage device, and a communication interface, wherein the processor, the communication interface, and the storage device are interconnected, and the storage device stores executable program code. The processor is used to call the executable program code to implement the data processing method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, the computer program including program instructions, which are executed by a processor to implement the data processing method as described in any one of claims 1 to 6.
10. A computer program product, characterized in that, The computer program product includes a computer program or computer instructions, which, when executed by a processor, are used to implement the data processing method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
CDN scheduling method, device and system and computer readable storage medium
CN110830564A
Access request processing method and device and electronic equipment
CN112153160A