Scheduling method and related equipment

The system addresses CDN challenges by generating unique replacement domain names from URL paths, ensuring precise content scheduling through DNS, reducing delays and complexity in CDN technologies.

CN118827797BActive Publication Date: 2024-12-27CHINA TELECOM CORP LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411296498.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-14
Publication Date
2024-12-27
Estimated Expiration
2044-09-14

AI Technical Summary

Technical Problem

Existing CDN technologies struggle with precise content positioning and traffic scheduling for emerging services like streaming media and downloads, requiring complex secondary redirections that increase delay and complexity.

Method used

Implement a system with a first and second domain name generation module to generate unique replacement domain names based on URL paths, enabling direct DNS-based content scheduling without secondary application layer redirection, using hash functions to ensure uniqueness and precision.

Benefits of technology

Reduces scheduling delays and complexity by enabling one-time URL-based scheduling through DNS, allowing precise content positioning and reducing the need for secondary redirections.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118827797B_ABST
    Figure CN118827797B_ABST
Patent Text Reader

Abstract

The disclosed embodiments provide a scheduling method and related devices, and relate to the fields of computer and network technology. The client includes a business module, a first domain name generation module, and a domain name system module. The business module is used to send a domain name replacement request to the first domain name generation module, and the domain name replacement request includes a target uniform resource locator. The first domain name generation module is used to obtain a target replacement domain name based on the target resource path and the target source domain name in the target uniform resource locator; and return the target replacement domain name to the business module. The business module is also used to generate a domain name resolution request including the target replacement domain name; and send the domain name resolution request to the domain name system module. The domain name system module is used to send a domain name resolution request to the local domain name system; and receive the returned target business address. The business module is also used to access content to the target business node corresponding to the target business address.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] Content Delivery Network (CDN) is a technology that uses distributed network nodes to provide content acceleration services. CDN caches website and other content to the server or business node or business server closest to the user, thereby increasing user access speed, reducing network bandwidth pressure, and improving website availability.

[0003] Specifically, CDN publishes content to the "edge" of the network closest to the user by superimposing a new network architecture on the Internet. Without CDN, all users who want to watch the content of the content provider must visit the content provider, which is likely to cause congestion at the content provider and deteriorate network performance. In order to solve network congestion, CDN is superimposed on the Internet, that is, the content provider copies its content to each service node, so that users do not have to crowd to the content provider to access, but visit the relatively close service node. The service node stores the various caches of the content stored by the content provider, and the service node plays the content to the user from each cache. In this way, by superimposing CDN on the Internet, the network congestion problem is solved, allowing users to obtain content nearby and improving the response speed of user access.

[0004] With the development of network services, the services provided by CDN have evolved from simple static Web pages to comprehensive services such as video on demand, live broadcast, Internet Protocol Television (IPTV), and application acceleration. The integration of multiple services requires CDN to be efficient and highly secure, and also requires the routing system to be able to complete user access scheduling based on multi-dimensional information such as content, traffic, and node status, which poses new challenges to CDN technology.

[0005] Unlike web acceleration, emerging streaming media and download services have completely different characteristics from web acceleration: limited user connections per unit time, long duration of a single connection, and large access traffic. In other words, these emerging services require precise content positioning and traffic scheduling capabilities. Summary of the invention

[0006] The embodiment of the present disclosure provides a client, including a business module, a first domain name generation module and a domain name system module. The business module is used to send a domain name replacement request to the first domain name generation module, and the domain name replacement request includes a target uniform resource locator. The first domain name generation module is used to receive the domain name replacement request, and based on the target resource path and the target source domain name in the target uniform resource locator, obtain a target replacement domain name uniquely corresponding to the target resource path; and return the target replacement domain name to the business module. The business module is also used to receive the target replacement domain name, generate a domain name resolution request including the target replacement domain name; and send the domain name resolution request to the domain name system module. The domain name system module is used to receive the domain name resolution request, and send the domain name resolution request to the local domain name system; receive the target business address returned by the local domain name system in response to the domain name resolution request; and send the target business address to the business module. The business module is also used to receive the target business address and perform content access to the target business node corresponding to the target business address.

[0007] An embodiment of the present disclosure provides a scheduling system, including a scheduling index update module and a second domain name generation module. The scheduling index update module is used to obtain a source index and its corresponding business address, the source index including a source domain name and its corresponding resource path in a uniform resource locator; send a replacement domain name generation request to the second domain name generation module, the replacement domain name generation request including the source index. The second domain name generation module is used to receive the replacement domain name generation request, and based on the resource path therein, obtain a replacement domain name uniquely corresponding to the resource path; return the replacement domain name to the scheduling index update module. The scheduling index update module is also used to receive the replacement domain name, and use the replacement domain name as the replacement index of the source index.

[0008] The embodiment of the present disclosure provides a scheduling system, including: a scheduling decision module, used to generate an alternative index and determine the business address corresponding to the alternative index, wherein the alternative index includes a source domain name and identification information, and the identification information corresponds one-to-one to a resource path in a uniform resource locator; a domain name system resolution database, used to associate and store the alternative index and its corresponding business address; the domain name system resolution database is also used to receive a domain name resolution request including a target alternative domain name from an authoritative domain name system; respond to the domain name resolution request, and search for an alternative index that matches the target alternative domain name; and return the business address corresponding to the matched alternative index as the target business address to the authoritative domain name system.

[0009] An embodiment of the present disclosure provides a scheduling method, which includes: sending a domain name resolution request, the domain name resolution request includes a target replacement domain name, the target replacement domain name includes a target source domain name and target identification information, and there is a one-to-one mapping relationship between the target identification information and the target resource path in the target uniform resource locator; receiving a target business address returned in response to the domain name resolution request, there is a corresponding relationship between the target business address and the target replacement domain name; and performing content access to a target business node corresponding to the target business address.

[0010] An embodiment of the present disclosure provides a scheduling method, which includes: receiving a domain name resolution request, the domain name resolution request includes a target replacement domain name, the target replacement domain name includes a target source domain name and target identification information, and there is a one-to-one mapping relationship between the target identification information and the target resource path in the target uniform resource locator; obtaining a target business address corresponding to the target replacement domain name; and responding to the domain name resolution request and sending the target business address.

[0011] An embodiment of the present disclosure provides a scheduling device, which includes: a first sending unit, used to send a domain name resolution request, the domain name resolution request includes a target replacement domain name, the target replacement domain name includes a target source domain name and target identification information, and there is a one-to-one mapping relationship between the target identification information and the target resource path in the target uniform resource locator; a first receiving unit, used to receive a target business address returned in response to the domain name resolution request, there is a corresponding relationship between the target business address and the target replacement domain name; the first sending unit is also used to perform content access to a target business node corresponding to the target business address.

[0012] An embodiment of the present disclosure provides a scheduling device, which includes: a second receiving unit, used to receive a domain name resolution request, the domain name resolution request includes a target replacement domain name, the target replacement domain name includes a target source domain name and target identification information, and there is a one-to-one mapping relationship between the target identification information and the target resource path in the target uniform resource locator; a second processing unit, used to obtain a target business address corresponding to the target replacement domain name; a second sending unit, used to respond to the domain name resolution request and send the target business address.

[0013] An embodiment of the present disclosure provides an electronic device, the electronic device comprising: a processor; and a memory for storing executable instructions of the processor, wherein the processor is configured to execute the method in any embodiment of the present disclosure by executing the executable instructions.

[0014] An embodiment of the present disclosure provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the method in any embodiment of the present disclosure is implemented.

[0015] An embodiment of the present disclosure provides a computer program product, including a computer program. When the computer program is executed, the method in any embodiment of the present disclosure is executed. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 A schematic diagram of the structure of a system in an embodiment of the present disclosure is shown.

[0017] Figure 2 A schematic diagram showing a local domain name system recursion and forwarding process in an embodiment of the present disclosure is shown.

[0018] Figure 3 A schematic diagram showing a domain name system and redirection of secondary scheduling to a final service node or service server in an embodiment of the present disclosure is shown.

[0019] Figure 4 A structural schematic diagram of yet another system in an embodiment of the present disclosure is shown.

[0020] Figure 5 A flowchart of a scheduling method in an embodiment of the present disclosure is shown.

[0021] Figure 6 A schematic diagram showing a scheduling method applied to a client in an embodiment of the present disclosure is shown.

[0022] Figure 7 A flowchart showing another scheduling method in an embodiment of the present disclosure is shown.

[0023] Figure 8 A schematic diagram showing a scheduling method applied to a scheduling system in an embodiment of the present disclosure is shown.

[0024] Fig. 9 A structural block diagram of a scheduling device in an embodiment of the present disclosure is shown.

[0025] Fig.10 A structural block diagram of another scheduling device in an embodiment of the present disclosure is shown.

[0026] Fig.11 A structural block diagram of an electronic device in an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0027] First, some terms and concepts involved in the embodiments of the present disclosure are explained.

[0028] Domain Name System (DNS): is an online distributed database that maps domain names and IP (Internet Protocol) addresses to facilitate users' access to the Internet. The Domain Name System is a naming system used by the Internet to convert user-friendly domain names (host names / machine names) into IP addresses. Since IP addresses are difficult to remember, the Domain Name System allows users to use easy-to-remember host names to access resources on the Internet.

[0029] LocalDNS: Local DNS, usually the DNS of the operator, is mainly used to perform iterative resolution on behalf of users. For example, when a user enters a domain name, LocalDNS first queries whether the IP address of the domain name exists in the local cache. If it exists, it will be returned directly; if it does not exist, a query request will be initiated to the root domain name server. The root domain name server will instruct LocalDNS to query the top-level domain name server, and perform iterative queries in turn until the authoritative domain name server responsible for the queried domain name is found. Finally, the query result (that is, the IP address corresponding to the domain name) is returned to LocalDNS, which stores the query result in the cache and returns the result to the user.

[0030] Authorizative DNS: Also called authoritative DNS. A domain name server responsible for a "domain" that stores the mappings of all hosts in the zone to domain name IP addresses. For example: a domain name server responsible for resolving XXX.com.

[0031] EDNS: DNS Extensions, that is, DNS extension.

[0032] ECS (EDNS client subnet): One of the DNS protocol extensions, ECS is an option of EDNS. ECS is a DNS extension protocol. Recursive DNS (LocalDNS can be an instance of recursive DNS) transmits the user IP subnet segment (i.e., the client's subnet information) to the authoritative DNS through ECS. The authoritative DNS can select the IP closest to the user as the resolution result / query result based on the user's IP and return it. When the client initiates a DNS query, if ECS is supported, an OPT (option) record will be added to the query request, which contains the client's subnet information (such as IP address and subnet mask). After receiving the query request, LocalDNS will check whether it contains ECS information. If it does, LocalDNS will forward the information to the authoritative DNS. If the authoritative DNS supports ECS resolution, it will return a more accurate resolution result to LocalDNS based on the received ECS information, combined with its own resolution strategy and cached data. LocalDNS returns the resolution result to the client.

[0033] GSLB (Global Service Load Balancing): Global load balancing, also known as global scheduling. GSLB is an important module of CDN, responsible for scheduling user requests to the edge node closest to the user, or scheduling to the most suitable node according to the scheduling policy. Global scheduling can use the DNS protocol.

[0034] URL (Uniform Resource Locator): Uniform Resource Locator is an address used to identify a resource on the Internet, so that resources on the Internet (such as web pages, pictures, videos, files, etc.) can be uniquely located and accessed. URL contains protocol (protocol type / protocol name), server name (or IP address), and path (resource path). In some embodiments, the resource path may include the file name of the file and may be the last parameter in the resource path. In other embodiments, the resource path may not have the file name of the file. Optionally, the URL may also include a port number, query identification information, and a fragment identifier. Among them, the server name may also be called a host name. The protocol type specifies the protocol used to access the resource, such as HTTP (Hypertext Transfer Protocol), HTTPS (Hypertext TransferProtocol Secure), FTP (File Transfer Protocol), etc. The server name specifies the host name or IP address of the server where the resource is located. The path specifies the specific location of the resource on the server. It can be a directory path or a file path. The path part can contain multiple directories and file names, which are separated by slashes ( / ).

[0035] In the embodiments of the present disclosure, the server name (or IP address) in the URL may be a domain name or a domain name used to determine the domain name corresponding thereto. The domain name may also be referred to as the source domain name or the original domain name for the purpose of distinguishing the domain name from the replacement domain name generated after the conversion. Correspondingly, the replacement domain name may also be referred to as the new domain name.

[0036] URL example: http: / / test.com:8080 / example / index.html. In this example: The protocol type is HTTP. The host name is test.com. The port number is 8080. The path is / example. The file name is index.html.

[0037] Content scheduling (also called URL scheduling): Different from DNS domain name scheduling, DNS domain name scheduling is based on domain name scheduling, and all URLs under the same domain name use the same scheduling strategy. Content scheduling is a more refined scheduling based on URL scheduling, and the scheduling strategy of each URL under the same domain name may not be the same.

[0038] Scheduling decision data: The CDN scheduling system calculates various scheduling decision data based on various scheduling strategies. The resolution response (such as the response IP) of the CDN authoritative DNS and the redirection IP of the redirection scheduling all come from the scheduling decision data.

[0039] The solution provided by the embodiment of the present disclosure can be applied to the field of cloud computing and emerging information technology. The specific implementation of the embodiment of the present disclosure is described in detail below in conjunction with the accompanying drawings.

[0040] Figure 1 A schematic diagram of the structure of a system in an embodiment of the present disclosure is shown. Figure 1 In the system shown, a user accesses services provided by a server 20 via a network through a client (eg, a browser) installed on a terminal 10 .

[0041] The terminal 10 may also be referred to as a terminal device, a user device, a mobile station, a mobile terminal, etc. The terminal can be widely used in various scenarios, for example, device-to-device (D2D), vehicle to everything (V2X) communication, machine-type communication (MTC), Internet of Things (IOT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grid, smart furniture, smart office, smart wear, smart transportation, smart city, etc. The terminal may be a mobile phone, a tablet computer, a computer with wireless transceiver function, a wearable device, a vehicle, a drone, a helicopter, an airplane, a ship, a robot, a robotic arm, a smart home device, etc. The embodiments of the present disclosure do not limit the specific technology and specific device form adopted by the terminal.

[0042] Those skilled in the art will know that Figure 1 The number of terminals and servers in the example is only illustrative, and any number of terminals and servers may be provided according to actual needs. This disclosure embodiment does not limit this.

[0043] Under the above system architecture, a scheduling method is provided in the embodiments of the present disclosure, and the method can be executed by any electronic device with information processing capabilities. In some embodiments, the scheduling method provided in the embodiments of the present disclosure can be executed by a terminal of the above system architecture; in other embodiments, the scheduling method provided in the embodiments of the present disclosure can be implemented by a server in the above system architecture. In some other embodiments, the scheduling method provided in the embodiments of the present disclosure can be implemented by the terminal and the server in the above system architecture through interaction.

[0044] CDN scheduling includes DNS-based domain name scheduling (also known as DNS domain name scheduling) and application layer redirection scheduling (such as HTTP 302 technology). Among them, HTTP 302 is a status code in the HTTP protocol, which stands for "temporary redirect".

[0045] In the past, web acceleration was the main business of CDN, and DNS-based routing technology was widely used in this type of CDN network. DNS-based CDN networks include a GSLB layer, including DNS-GSLB, that is, DNS-based GSLB, which schedules the following business nodes or servers. When receiving a client request, it allocates a nearby business node or server to the client for the request.

[0046] DNS scheduling (i.e. DNS domain name scheduling) can only provide scheduling based on domain names, which can meet the requirements of general businesses. However, some customers or businesses require differentiated services for different contents, and need to provide different scheduling methods / scheduling strategies for each content. Since DNS can only obtain domain names but not URL paths, DNS scheduling cannot achieve content scheduling based on URLs, and it is necessary to add secondary redirection scheduling at the application layer.

[0047] The difference between application layer redirection and DNS-GSLB is that DNS-GSLB only resolves domain names and therefore does not have precise positioning capabilities, while application layer redirection is based on the entire URL and therefore has precise positioning capabilities, allowing for more accurate scheduling analysis, such as being suitable for streaming media services.

[0048] Figure 2 FIG. 1 is a schematic diagram showing a local domain name system recursion and forwarding process in an embodiment of the present disclosure. Figure 2 As shown, the content scheduling process provided by the embodiment of the present disclosure includes the following steps.

[0049] In S21, a user / client accesses Internet content and initiates a domain name resolution request to LocalDNS to request domain name resolution. The domain name resolution request carries the domain name to be resolved.

[0050] In S22, LocalDNS initiates a domain name resolution request to the authoritative DNS of the CDN global scheduling system (i.e., GSLB) after DNS recursive iteration.

[0051] Then, the authoritative DNS and the dispatch system synchronize the resolution data (including the mapping relationship between each domain name and the corresponding IP address) and store the synchronized resolution data in the resolution database. The authoritative DNS queries the resolution database to obtain the response IP or domain name resolution IP (i.e., the IP address corresponding to the domain name to be resolved) for responding to the domain name resolution request.

[0052] In S24, the authoritative DNS returns the response IP to LocalDNS.

[0053] In S25, LocalDNS sends the response IP to the user.

[0054] In S26, the user initiates a content request or a content access request to the corresponding edge cache service (eg, a business node or server, here assumed to be edge cache service 1) according to the response IP obtained by the domain name resolution. The content access request carries the requested URL.

[0055] In S27, the edge application layer scheduling module queries the most suitable edge node (such as a business node or server, here it is assumed to be edge cache service 2) according to the requested URL. If the most suitable edge node queried is not the current node (that is, it is not the edge cache service 1 determined in S26), a redirect response is returned to the user. The redirect response includes the IP address of edge cache service 2.

[0056] In S28, after receiving the redirection response, the user initiates a content request to the target edge server (eg, edge cache service 2) to start content access.

[0057] exist Figure 3 In the embodiment, the system includes a terminal APP, a LocalDNS 32, an authoritative DNS 33 and a scheduling system 34. The terminal APP (application) refers to an APP or a client 31 installed on the terminal.

[0058] like Figure 3 As shown, the client 31 includes a business module 311 and a DNS module 313. The authoritative DNS 33 includes a domain name resolution module 331 and a resolution database (also referred to as a DNS resolution database) 332. The scheduling system 34 includes a scheduling decision module 341. It can be understood that the resolution database in the embodiment of the present disclosure can be located in the authoritative DNS, can be located in the scheduling system, or can be independent of the authoritative DNS or the scheduling system, and the present disclosure does not limit this.

[0059] The scheduling decision module 341 can be used to generate DNS resolution data 344 (ie, the resolution data mentioned above, included in the scheduling decision data), and synchronize the generated DNS resolution data to the resolution database 332. The resolution database 332 associates and stores the domain name in the resolution data and its corresponding IP address.

[0060] The business module 311 sends a domain name resolution request to the DNS module 313, and the domain name resolution request includes the domain name to be resolved. The DNS module 313 sends the domain name resolution request to the LocalDNS 32. The LocalDNS 32 sends the domain name resolution request to the domain name resolution module 331. The domain name resolution module 331 queries the resolution data in the resolution database 332 according to the domain name in the domain name resolution request, and obtains the corresponding service IP as the response IP. Then the service IP is returned to the business module 311 through the LocalDNS 32 and the DNS module 313 in turn. The business module 311 initiates business access / content access to the business node / server 1 according to the service IP.

[0061] Figure 3 In the embodiment, the scheduling decision module 341 is also used to synchronize the URL scheduling strategy to each business node / server, that is, an edge application layer scheduling module is set in each business node / server. As a result, the business node / server 1 can redirect the IP address corresponding to the URL corresponding to the domain name, and return the redirected IP address to the business module 311. After receiving the redirected IP address, the business module 311 initiates business access to the corresponding business node / server, which is assumed to be the business node / server 2.

[0062] In summary Figure 2 and Figure 3 It can be seen that application layer redirection needs to go through the domain name system and application layer redirection for secondary scheduling before it can reach the final business node or business server.

[0063] Figure 3 The URL-based content scheduling provided in the embodiment is implemented through application layer redirection. Since DNS uses UDP (User Datagram Protocol) connectionless transmission, and application layer redirection is based on TCP (Transmission Control Protocol) protocol (such as HTTP, RTSP (Real Time Streaming Protocol, Real-time Streaming Protocol), etc.), it is necessary to establish a connection between the user and the service (such as the above-mentioned business node / server). The TCP three-way handshake takes a long time, and the communication time is much higher than the UDP connectionless communication. Therefore, the two-time scheduling method of DNS scheduling plus application layer scheduling has a large delay. For services that are sensitive to delay, the use of secondary scheduling of application layer redirection to implement content scheduling will reduce the user's service experience. At the same time, this method is complex to implement, and it is necessary to deploy application layer scheduling components at the edge, such as the above-mentioned edge application layer scheduling module. In addition, in the bidding test (multi-vendor bidding), the second scheduling of the application layer will increase the delay of the first packet and the first frame of the video, thereby affecting the winning bid.

[0064] Figure 4 FIG. 2 is a schematic diagram showing a structure of another system in an embodiment of the present disclosure. Figure 4 As shown, the system provided by the embodiment of the present disclosure includes a client 41 and a scheduling system 44. A domain name generation module (for distinction, it can also be referred to as a first domain name generation module) 412 is added to the user-side APP (i.e., the client 41), and a domain name generation module (for distinction, it can also be referred to as a second domain name generation module) 443 and a scheduling index update module 442 are added to the system-side scheduling system 44.

[0065] refer to Figure 4 The embodiment of the present disclosure provides a client 41. The client 41 includes a service module 411, a first domain name generation module 412, and a domain name system module (i.e., DNS module) 413. In the embodiment of the present disclosure, the DNS module 413 uses UDP connectionless transmission. When a connection needs to be established between a user and a service, there is no need to go through a three-way handshake, thereby reducing communication time.

[0066] The service module 411 is used to send a domain name replacement request to the first domain name generation module 412. The domain name replacement request includes a target uniform resource locator.

[0067] In the disclosed embodiment, the target uniform resource locator includes a target resource path and a target source domain name. The target uniform resource locator refers to the URL that the user is currently requesting, which can be any URL. For example, the user can input the URL requested by the client 41, and the business module 411 in the client 41 receives the URL input by the user. It is understandable that the target source domain name included in the target URL can be directly included in the target URL, or the target source domain name can be obtained through the target URL.

[0068] The first domain name generation module 412 is used to receive the domain name replacement request sent by the business module 411, and obtain a target replacement domain name uniquely corresponding to the target resource path based on the target resource path and the target source domain name in the target uniform resource locator. The first domain name generation module 412 is used to return the target replacement domain name to the business module 411.

[0069] In an exemplary embodiment, after receiving the domain name change request, the first domain name generation module 412 is used to extract the target resource path and the target source domain name in the target uniform resource locator; convert the target resource path to obtain target identification information that uniquely corresponds to the target resource path; and combine the target identification information and the target source domain name to obtain the target replacement domain name.

[0070] In some embodiments, the business module 411 may send the target resource path in the target URL to the first domain name generation module 412, and the first domain name generation module 412 returns the target identification information corresponding to the target resource path to the business module 411 to combine the target source domain name to generate the target replacement domain name. In other embodiments, the business module 411 may send the target URL to the first domain name generation module 412, and the first domain name generation module 412 extracts the target resource path and the target source domain name therein to generate the target identification information corresponding to the target resource path, and combines the target source domain name and the target identification information to generate the target replacement domain name, and returns the target replacement domain name to the business module 411.

[0071] In the disclosed embodiment, there is a one-to-one correspondence between the target resource path and the target identification information, and the target replacement domain name is generated by the target identification information with a unique correspondence. The target resource path indicates the location information of the resource corresponding to the target URL, thereby making the target URL and the target replacement domain name have a unique correspondence, that is, a target URL corresponds to a unique target replacement domain name. Therefore, when the target replacement domain name is used for domain name resolution, different scheduling strategies can be provided for different URLs under the same source domain name, that is, content scheduling can be achieved.

[0072] In the embodiments of the present disclosure, identification information refers to information corresponding to the resource path after converting the resource path in the URL. The present disclosure does not limit the form and composition structure of the identification information, for example, it can be composed of at least one of numbers, letters, symbols, etc. The following example uses the identification information as a string, but the present disclosure is not limited to this. The target identification information refers to the identification information corresponding to the target resource path.

[0073] In the disclosed embodiment, the replacement domain name refers to a new domain name generated after converting the source domain name. The source domain name refers to the domain name before the conversion. Therefore, in the following embodiments, the replacement domain name is sometimes referred to as a new domain name, and the original domain name or old domain name of the source domain name is used. The target replacement domain name refers to the new domain name corresponding to the URL currently to be requested.

[0074] The service module 411 is further configured to receive the target replacement domain name, generate a domain name resolution request including the target replacement domain name, and send the domain name resolution request including the target replacement domain name to the DNS module 413 .

[0075] The DNS module 413 is used to receive a domain name resolution request including a target replacement domain name sent by the business module 411, and send a domain name resolution request including a target replacement domain name to the local domain name system (i.e., LocalDNS 42). LocalDNS 42 sends the received domain name resolution request including a target replacement domain name to the authoritative DNS 43. The authoritative DNS 43 responds to the domain name resolution request, obtains a target business address corresponding to the target replacement domain name, and then returns the target business address as a service IP to LocalDNS 42. LocalDNS 42 then returns the received service IP to the DNS module 413. The DNS module 413 is used to receive the target business address returned by LocalDNS 42 in response to the domain name resolution request; and send the target business address to the business module 411.

[0076] The business module 411 is also used to receive the target business address returned by the DNS module 413, and perform content access or business access to the target business node corresponding to the target business address (here it is assumed that the business node / server 45 corresponding to the target business address) . It should be noted that in the embodiment of the present disclosure, after the business module 411 receives the target business address returned by the DNS module 413, it directly initiates content access to the target business node corresponding to the target business address based on the target business address, that is, content scheduling can be achieved without the need for secondary redirection of the application layer. In some embodiments, the business module 411 sends a content access request to the target business node to perform content access. In other embodiments, the business module 411 directly performs content access to the target business node without sending a content access request.

[0077] In an exemplary embodiment, the first domain name generation module 412 is also used to: process the target resource path using a hash function of a predetermined length to obtain a target string of the predetermined length to generate the target identification information; and combine the target identification information and the target source domain name to obtain the target replacement domain name.

[0078] In the embodiment of the present disclosure, the hash function of the predetermined length can be selected according to actual needs. For example, when the predetermined length is 256, the selected hash function is SHA256 (Secure Hash Algorithm 256, a hash function).

[0079] SHA256 is a secure hash algorithm used to convert data of arbitrary length into hash values ​​(hash values) of fixed / predetermined length (256 bits, i.e. 32 bytes), which are strings. SHA256 has strong collision resistance, i.e. it is extremely difficult to find two different inputs that produce the same hash value. This property ensures the uniqueness of the hash value and prevents the forgery and tampering of the hash value. SHA256 is a deterministic hash function, i.e. the same input always produces the same output. This determinism ensures the consistency and repeatability of the hash value.

[0080] It is understandable that, in addition to the SHA256 algorithm, other hash algorithms that are less likely to cause collisions are also within the scope of protection of the present disclosure, such as SHA224, SHA338, SHA512, etc. SHA256 is used as an example below, but the present disclosure is not limited thereto.

[0081] In some embodiments, the generated target string of predetermined length can be directly used as the target identification information. The following examples are all described in this way, but the present disclosure is not limited to this. In other embodiments, the generated target string can also be converted to obtain the target identification information, for example, a constant or character with a preset number of digits is filled before the target string to make its length meet the preset requirements. That is, in the present disclosure, as long as the resource path in the URL can be converted to obtain unique and definite identification information, it will be sufficient.

[0082] Exemplarily, the first domain name generating module 412 includes the following functions:

[0083] 1) Extract the resource path in the requested URL (i.e., the target resource path in the target URL): for example, delete the protocol (protocol name / protocol type), host (host name), and other parameters except the resource path in the URL, and only keep the resource path (such as: / study / index.html).

[0084] 2) SHA256 calculation: Perform SHA256 calculation on the extracted resource path to obtain 32-byte hexadecimal identification information. Assuming that path represents the resource path, the obtained identification information can be expressed as HASH_SHA256(path). For example: HASH_SHA256(' / study / index.html')=242bf7b4dae07c8c9e298f3172c82bd14742794668a5c849d1841a0889872713.

[0085] 3) Concatenate domain names: Add the 32-byte identification information (here refers to the target identification information) calculated in step 2) to the front of the original domain name (i.e. the target source domain name) to generate a new domain name (i.e. the target replacement domain name). For example: 242bf7b4dae07c8c9e298f3172c82bd1.4742794668a5c849d1841a0889872713.mp3.tst.cn).

[0086] Continue to refer Figure 4 The embodiment of the present disclosure further provides a scheduling system 44. The scheduling system 44 includes a scheduling index updating module 442 and a second domain name generating module 443.

[0087] The scheduling index update module 442 is used to obtain the source index and its corresponding business address, wherein the source index includes the source domain name and its corresponding resource path in the uniform resource locator; and send a replacement domain name generation request to the second domain name generation module 443, wherein the replacement domain name generation request includes the source index.

[0088] In an exemplary embodiment, when there are at least some URLs that need to implement content scheduling, in the scheduling system 44, the index of at least some URLs (referred to as source index or old index here for distinction) can be configured as a joint index of the source domain name and the resource path in the corresponding URL, that is, not only the source domain name is used as the index to implement content scheduling. For at least some URLs, according to the content scheduling that is desired to be implemented, the corresponding service address is configured for it, that is, different URLs under the same domain name (here refers to the source domain name) can be configured with possibly different service addresses (i.e., the IP address of the service node / server).

[0089] The second domain name generation module 443 is used to receive the replacement domain name generation request sent by the scheduling index update module 442, and based on the resource path and the source domain name therein, obtain a replacement domain name uniquely corresponding to the resource path; and return the replacement domain name (i.e., the new domain name) to the scheduling index update module 442.

[0090] In an exemplary embodiment, the second domain name generation module 443 is used to convert the resource path to obtain identification information uniquely corresponding to the resource path; and combine the identification information and the corresponding source domain name to obtain a replacement domain name.

[0091] In some embodiments, the scheduling index update module 442 may send the resource path in the URL to the second domain name generation module 443, and the second domain name generation module 443 returns the identification information corresponding to the resource path to the scheduling index update module 442 to combine the source domain name to generate a replacement domain name. In other embodiments, the scheduling index update module 442 may send the URL to the second domain name generation module 443, and the second domain name generation module 443 extracts the resource path and the source domain name therein to generate identification information corresponding to the resource path, and combines the source domain name and the identification information to generate a replacement domain name, and returns the replacement domain name to the scheduling index update module 442.

[0092] The scheduling index updating module 442 is further configured to receive the replacement domain name sent by the second domain name generating module 443, and use the replacement domain name as the replacement index of the source index.

[0093] Exemplarily, the scheduling index updating module 442 provided in the embodiment of the present disclosure includes the following functions:

[0094] 1) Find all scheduling policies that use the domain name (source domain name) + URL resource path (that is, the resource path in the URL) as the index (here refers to the source index or old index).

[0095] 2) Replace the index with a new domain name (for example, a domain name starting with / prefixed with SHA256, i.e. a replacement domain name).

[0096] In an exemplary embodiment, the scheduling system 44 provided by the embodiment of the present disclosure further includes a scheduling decision module 441. The scheduling decision module 441 is used to generate the source index and determine the service address corresponding to the source index when the scheduling strategy changes; and send the source index and its corresponding service address to the scheduling index update module 442.

[0097] In an exemplary embodiment, the scheduling system 44 provided by the embodiment of the present disclosure further includes a domain name system resolution database (i.e., resolution database 432). The scheduling index update module 442 is also used to send the replacement index and its corresponding business address to the resolution database 432. The resolution database 432 is used to receive the replacement index and its corresponding business address, and store the replacement index and its corresponding business address in association.

[0098] In an exemplary embodiment, the resolution database 432 is further used to receive a domain name resolution request including a target replacement domain name from the authoritative DNS 43; respond to the domain name resolution request, find a replacement index matching the target replacement domain name; and return the service address corresponding to the matching replacement index as the target service address to the authoritative DNS 43. The target service address returned to the authoritative DNS 43 here is the IP address of the service node that has been scheduled based on the URL, and content scheduling can be completed based on the target service address, so that the terminal or client can access the content based on the target service address without secondary redirection.

[0099] That is, the scheduling index update module 442 can use the generated replacement index (or new index) to replace or update the corresponding source index, and synchronize the replacement index and its corresponding business address as DNS resolution data 444 to the resolution database 432. In this way, when the authoritative DNS 43 receives a domain name resolution request containing a target replacement domain name, the domain name resolution module 431 in the authoritative DNS 43 can be used to find the replacement index corresponding to the target replacement domain name from the resolution database 432, thereby finding the corresponding business address as the target business address. Here, the target business address is the IP address of the business node that has been scheduled based on the URL, and content scheduling can be completed based on the target business address, that is, this IP address is both a domain name scheduling and an IP address for content scheduling, so that the terminal or client can access the content based on the target business address without secondary redirection.

[0100] The system (including the above-mentioned client and scheduling system) provided by the embodiment of the present disclosure implements URL-based scheduling through DNS at one time, solves the problem that URL-based scheduling can only be implemented through two schedulings, namely, DNS domain name scheduling and application layer redirection, and reduces the delay of the two schedulings. Therefore, the method provided by the embodiment of the present disclosure is a method for implementing URL-based scheduling through DNS at one time.

[0101] Furthermore, the disclosed embodiment also provides a scheduling system, which includes a scheduling decision module and a domain name system resolution database. The scheduling decision module is used to generate a replacement index and determine the business address corresponding to the replacement index, wherein the replacement index includes a source domain name and identification information, and the identification information corresponds one-to-one to the resource path in the uniform resource locator. The domain name system resolution database is used to associate and store the replacement index and its corresponding business address. The domain name system resolution database is also used to receive a domain name resolution request including a target replacement domain name from an authoritative domain name system; respond to the domain name resolution request, find a replacement index that matches the target replacement domain name; and return the business address corresponding to the matching replacement index as the target business address to the authoritative domain name system. The target business address returned to the authoritative domain name system here is the IP address of the business node that has been scheduled based on the URL, and content scheduling can be completed based on the target business address, so that the terminal or client can access the content based on the target business address without the need for secondary redirection.

[0102] That is, the present disclosure also provides a scheduling system, which may not include the above Figure 4 In the scheduling system, the scheduling decision module directly stores the replacement index and the corresponding business address in the domain name system resolution database, thereby omitting the above-mentioned new domain name regeneration and index update process.

[0103] It should be noted that, in the embodiment of the present disclosure, the business address corresponding to the replacement index stored in the scheduling system is the IP address of the domain name scheduling and content scheduling.

[0104] Figure 5 A flowchart of a scheduling method in an embodiment of the present disclosure is shown. Figure 5 The method provided in the embodiment can be executed by any electronic device, for example, by a terminal or by a client. Figure 5 As shown, the method provided by the embodiment of the present disclosure may include the following steps.

[0105] In S510, a domain name resolution request is sent, wherein the domain name resolution request includes a target replacement domain name, wherein the target replacement domain name includes a target source domain name and target identification information, and there is a one-to-one mapping relationship between the target identification information and the target resource path in the target uniform resource locator.

[0106] In an exemplary embodiment, the target uniform resource locator includes the target source domain name.

[0107] In an exemplary embodiment, the method provided by the embodiment of the present disclosure further includes: generating the domain name resolution request.

[0108] In an exemplary embodiment, generating the domain name resolution request includes: obtaining the target uniform resource locator; extracting the target resource path and the target source domain name in the target uniform resource locator; converting the target resource path to obtain the target identification information uniquely corresponding to the target resource path; combining the target identification information and the target source domain name to obtain the target replacement domain name; generating the domain name resolution request including the target replacement domain name.

[0109] In an exemplary embodiment, converting the target resource path to obtain the target identification information uniquely corresponding to the target resource path includes: processing the target resource path using a hash function of a predetermined length to obtain a target string of the predetermined length to generate the target identification information.

[0110] In an exemplary embodiment, the target identification information and the target source domain name are combined to obtain the target replacement domain name, including: if the length of the target identification information exceeds the domain name field length threshold, splitting the target identification information to obtain multiple target sub-identification information, and the length of each target sub-identification information is less than or equal to the domain name field length threshold; combining the target sub-identification information and the target source domain name to obtain the target replacement domain name.

[0111] For example, when the hash value generated by the hash function of a predetermined length exceeds the maximum allowable length of a single domain name field (i.e., the domain name field length threshold), the generated hash value can be split into multiple segments to be appended to the front of the original domain name (e.g., vod.test.cn), such as: xxxx.xxxx.vod.test.cn. The two "xxxx"s here represent the two segments after the split, i.e., two target sub-identification information.

[0112] For example, each field of a domain name is at most 63 bytes. If it is calculated to be 64 bytes, it is split into two segments (32 bytes each) and appended before the original domain name. It is understandable that other splitting methods are also within the scope of protection of this disclosure.

[0113] It should be noted that the processing of the URL by the first domain name generation module and the second domain name generation module is corresponding. For example, if the first domain name generation module uses SHA256, the second domain name generation module also uses SHA256. For another example, if the first domain name generation module splits the string generated by SHA256, the second domain name generation module also uses the same splitting method. That is, after the same URL is processed by the first domain name generation module and the second domain name generation module respectively, the new domain names output by them are the same.

[0114] In an exemplary embodiment, combining the target identification information and the target source domain name to obtain the target replacement domain name includes: adding the target identification information before the target source domain name to generate the target replacement domain name. However, the present disclosure is not limited to this, for example, the target identification information may also be added after the target source domain name, or a portion of the multiple target sub-identification information in the target identification information may be added before the target source domain name and another portion may be added after the target source domain name.

[0115] In S520, a target business address returned in response to the domain name resolution request is received, and there is a corresponding relationship between the target business address and the target replacement domain name.

[0116] In S530, content access is performed to the target service node corresponding to the target service address, that is, secondary redirection of the application layer is no longer required, and content scheduling based on URL can be directly achieved through one DNS scheduling.

[0117] Figure 5 For other contents of the embodiment, reference can be made to other embodiments mentioned above and will not be repeated here.

[0118] Figure 6 The method provided in the embodiment of the present disclosure is illustrated by way of example. However, the present disclosure is not limited thereto. Figure 6 As shown, the method provided by the embodiment of the present disclosure includes the following steps.

[0119] S61. When the user needs to access new URL content, the service module of the client obtains the new URL, ie, the target URL.

[0120] S62. The service module of the client requests the first domain name generation module of the client for a new domain name.

[0121] For example, a domain name replacement request is sent to the first domain name generation module, and the domain name replacement request carries the new URL or new URL parameters).

[0122] S63. The first domain name generation module calculates and generates a new domain name.

[0123] For example, the first domain name generation module concatenates the resource path parameter (or resource path) in the URL received from the business module, the 32-byte target identification information calculated by SHA256, and the URL domain name (ie, the target source domain name) into a new domain name.

[0124] S64. The first domain name generation module sends a response new domain name.

[0125] That is, the first domain name generation module sends the new domain name back to the business module, that is, the new domain name is used as a response to the domain name replacement request.

[0126] S65. The business module sends a domain name resolution request (also referred to as a DNS domain name resolution request) containing the new domain name to the DNS module of the client.

[0127] S66. The DNS module sends a domain name resolution request to LocalDNS.

[0128] S67. After receiving the domain name resolution request sent by the DNS module, LocalDNS sends the domain name resolution request containing the new domain name to the authoritative DNS.

[0129] S68. The authoritative DNS sends a response IP address.

[0130] For example, the authoritative DNS queries the local resolution database to obtain the IP address of the service node, that is, the target service address of the target service node, as the IP address in response to the domain name resolution request, and sends the IP address back to the LocalDNS.

[0131] S69. Send the IP address back to the DNS module via LocalDNS.

[0132] S610. The DNS module sends the service node IP (ie, the response IP address) back to the service module.

[0133] S611. The service module initiates a request (eg, a content access request or a service access request) to the service node (ie, the target service node) corresponding to the service node IP, and starts the content service process.

[0134] Figure 7 A flowchart showing another scheduling method in an embodiment of the present disclosure is shown. Figure 7 The method provided in the embodiment can be executed by any electronic device, for example, by an authoritative DNS or a scheduling system. Figure 7 As shown, the method provided by the embodiment of the present disclosure may include the following steps.

[0135] In S710, a domain name resolution request is received, wherein the domain name resolution request includes a target replacement domain name, wherein the target replacement domain name includes a target source domain name and target identification information, and there is a one-to-one mapping relationship between the target identification information and the target resource path in the target uniform resource locator.

[0136] In an exemplary embodiment, the method provided by the embodiment of the present disclosure also includes: obtaining a source index and a corresponding business address, wherein the source index includes a source domain name and a resource path of a uniform resource locator corresponding to the source domain name; generating identification information uniquely corresponding to the resource path; combining the source domain name and the corresponding identification information to obtain a replacement domain name; using the replacement domain name as a replacement index, and associating and storing the replacement index with the corresponding business address.

[0137] In S720, a target service address corresponding to the target replacement domain name is obtained.

[0138] In an exemplary embodiment, obtaining a target business address corresponding to the target replacement domain name includes: finding an replacement domain name matching the target replacement domain name from an replacement index; and using the business address corresponding to the matching replacement domain name as the target business address.

[0139] In S730, the target service address is sent in response to the domain name resolution request, so that the URL-based content scheduling can be implemented directly based on the target service address in the future without the need for secondary redirection at the application layer.

[0140] Figure 7 For other contents of the embodiment, reference can be made to other embodiments mentioned above and will not be repeated here.

[0141] Below through Figure 8 The method provided in the embodiment of the present disclosure is illustrated by way of example, but the present disclosure is not limited thereto. Figure 8 As shown, the method provided by the embodiment of the present disclosure may include the following steps.

[0142] S81. The scheduling decision module of the scheduling system recalculates the scheduling decision data (with the domain name + URL resource path as the index) when the scheduling strategy changes.

[0143] The scheduling strategy change here means that the original scheduling strategy is based on DNS scheduling. Currently, it is hoped that at least some URLs can achieve content scheduling. For at least some URLs, their index is changed to the domain name plus the resource path in the URL.

[0144] S82. The scheduling decision module notifies the scheduling index update module of the scheduling system.

[0145] For example, the scheduling decision module sends a scheduling index update notification to the scheduling index update module to inform it that the scheduling policy has been changed.

[0146] S83. In response to receiving the scheduling index update notification, the scheduling index update module sends a request to the scheduling decision module to request to pull the scheduling decision data after the scheduling policy is changed.

[0147] S84. The scheduling decision module responds to the request received from the scheduling index updating module and returns the scheduling decision data after the scheduling strategy is changed to the scheduling index updating module.

[0148] It should be noted that step S84 is optional. In other embodiments, the scheduling decision module may carry the scheduling decision data after the scheduling strategy is changed when sending the scheduling index update notification to the scheduling index update module. The scheduling decision data after the scheduling strategy is changed includes the source index formed by the domain name + URL resource path.

[0149] S85. The scheduling index update module obtains the scheduling decision data after the scheduling strategy is changed from the scheduling decision module, and sends a request (such as a replacement domain name generation request) to the domain name generation module (i.e., the second domain name generation module request) in the scheduling system to request a new domain name. The request carries the above source index.

[0150] S86. The domain name generation module in the scheduling system responds to the request received from the scheduling index update module and generates a new domain name according to the source index in the request.

[0151] For example, the second domain name generation module calculates the identification information of the URL resource path in the source index after SHA256 conversion, and concatenates it with the domain name in the source index into a new domain name.

[0152] S87. The domain name generation module in the scheduling system returns the new domain name to the scheduling index update module.

[0153] S88. The scheduling index update module updates the decision data.

[0154] For example, the scheduling index update module updates the index of the scheduling decision data received from the scheduling decision module, that is, replaces the old index of URL domain name (source domain name) + URL resource path with the new domain name, that is, uses the new domain name as the new index or replacement index.

[0155] S89. The scheduling index update module stores the scheduling decision data of the new index (ie, the new domain name resolution data) into the DNS resolution database of the scheduling system.

[0156] S810. The DNS resolution database of the scheduling system synchronizes data to the authoritative DNS.

[0157] For example, the client generates a unique new domain name for the requested URL. Specifically, the resource path parameter in the URL is calculated using the SHA256 algorithm to obtain a 32-byte target identification information, which is added to the front of the source domain name corresponding to the URL to form the new domain name. The scheduling system uses the same algorithm to calculate the 32-byte identification information after each URL conversion, and generates the business service IP (i.e., the business address corresponding to the new URL) of the URL of each user area according to the scheduling strategy, and then sends it to the authoritative database (i.e., the resolution database) to achieve access to special content to special business nodes, rather than simply adopting the nearest scheduling strategy. Among them, a user area may include multiple address segments. The authoritative DNS extracts the 32-byte identification information (i.e., the target identification information) of the domain name prefix, queries the resolution database of the user's area based on the request IP, source domain name, and domain name prefix, and returns the business IP (i.e., the target business address) accessed by the user.

[0158] It is understandable that the solution provided by the embodiment of the present disclosure has no impact on domain names that do not need to implement URL content scheduling, and the previous processing method is maintained, such as still using DNS scheduling.

[0159] The solution provided in the embodiments of the present disclosure can be applied to CDN content scheduling based on URLs. For example, it can be applied to the hot and cold scheduling of videos, where hot videos are pushed to all edge nodes, and cold content is only provided to users in a few edge nodes or in centralized central nodes. CDN schedules to different edge nodes based on URL parameters (such as source domain name and resource path), thereby realizing CDN content scheduling. For example, it can be applied to IPTV CDN content scheduling, where IPTV videos are scheduled to different edge nodes based on URL parameters.

[0160] Taking the video on demand scenario as an example, different business nodes provide services for movies with different bit rates and popularity. Assume that the domain name (here refers to the source domain name): vod.test.cn. Scheduling strategy: Schedule different business nodes according to bit rate and access popularity. For example, ultra-high definition (such as 8K resolution) has strict latency requirements and is scheduled to sink edge nodes; ultra-cold movie sources can be cached in one copy in the provincial center, and the whole province can access them from the provincial center; hot movies are cached in local city nodes, and users cannot access them outside the city.

[0161] Assume that there are four videos under the source domain name and the information is as follows:

[0162] a) URL of movie 1: vod.test.cn / gq / 23467890823.mpeg, which is high-definition and has high access popularity. Scheduling strategy: dispatch to the prefecture-level city node.

[0163] b) URL of movie 2: vod.test.cn / gq / weh34816583.avi, which is high-definition and has low access popularity. Scheduling strategy: dispatch to the provincial center node.

[0164] c) URL of movie 3: vod.test.cn / 4k / d7126efdekdf.avi, with a resolution of 4K and high access popularity. Scheduling strategy: dispatch to prefecture-level city nodes.

[0165] d) URL of movie 4: vod.test.cn / 8k / d7126efdekdf.avs, with a resolution of 8K and low access popularity. Scheduling strategy: Scheduling to nodes that sink to the edge.

[0166] The scheduling process is as follows:

[0167] 1) According to the method provided in the embodiment of the present disclosure, the client generates a new domain name. The above four URLs generate new domain names as follows:

[0168] 281c4448313353624099b6d4f6ae787c.f02c0a8d4e42467cd0663c2563ebc25f.vod.test.cn;

[0169] 0a0e180d32604876040645320174b1e9.bc18e352f3c4ec888eb9ec278e601553.vod.test.cn;

[0170] 88e34f47b63030f4ac71f6d80703c7cd.0d868d2477c486ea382c4bc44b91b0e0.vod.test.cn;

[0171] d39d6307cf1ddf3bf75fee1e083cf264.2f771565b10b0eb77b1b45ad42b27ec4.vod.test.cn.

[0172] 2) The scheduling system uses the same algorithm to generate a new domain name for each URL, generates a scheduling strategy based on the new domain name, and then synchronizes it to the authoritative DNS.

[0173] 3) The client sends the requested new domain name to the CDN's authoritative DNS. The authoritative DNS queries the resolution database according to the new domain name, obtains the resolution IP (i.e., the target business address) of the requested new domain name, and returns it to the client.

[0174] In the embodiment of the present disclosure, the DNS protocol can be used to schedule to the appropriate node at one time according to different URI (Uniform Resource Identifier) ​​parameters or URL parameters. The embodiment of the present disclosure adds a first domain name generation module to the user-side APP, and adds a second domain name generation module and a scheduling index update module to the system-side scheduling system. The domain name generation module (including the first domain name generation module and the second domain name generation module) uses the SHA256 algorithm to convert the path in the URL into 32-byte identification information, and adds it in front of the domain name (original domain name) to form a new domain name; the scheduling index update module updates the joint index of the domain name and URL resource path parameters in the content-based scheduling strategy to the new domain name generated by the second domain name generation module as the index (i.e., the new index); the DNS module of the client requests the resolution of the new domain name, and the authoritative DNS queries the scheduling strategy database (i.e., the resolution database) based on the new domain name and returns the appropriate IP for the customer. The embodiment of the present disclosure provides a method for implementing URL-based scheduling through DNS.

[0175] The solution provided by the embodiment of the present disclosure is simple to implement on the one hand: URL content scheduling is implemented through redirection scheduling of the application layer (HTTP / RTSP and other protocols), which requires two schedulings of DNS and application layer redirection to complete. In the embodiment of the present disclosure, the client completes URL content scheduling through the DNS protocol at one time, and the application layer service does not need to participate in the scheduling process. On the other hand, the scheduling delay is small: URL content scheduling generally requires redirection scheduling of the application layer (HTTP / RTSP and other redirection), such as HTTP / RTSP, which requires a TCP connection to be established, and the delay is large. In the embodiment of the present disclosure, the customer obtains the service node IP (i.e., the target service address) based on URL content scheduling through the DNS protocol at one time. DNS is based on UDP and does not need to establish a connection, so the delay is very small. For delay-sensitive services, the user experience is good. At the same time, the DNS proposed in the embodiment of the present disclosure implements URL content scheduling, does not occupy the DNS field, and does not affect the use of DNS. For example, it is not necessary to occupy the ECS part of the DNS protocol. If LocalDNS needs to transparently transmit the client IP, or LocalDNS closes the ECS protocol, the solution provided by the embodiment of the present disclosure can be used normally. The solution provided by the embodiment of the present disclosure does not modify the DNS protocol and is not affected by LocalDNS. In addition, the embodiment of the present disclosure implements URL scheduling at one time through the DNS protocol, which is not only the hot and cold scheduling of CDN, but can also implement any URL-based content scheduling of CDN.

[0176] Fig. 9 A structural block diagram of a scheduling device in an embodiment of the present disclosure is shown. Fig. 9 The scheduling device 900 provided in the embodiment may be arranged in a terminal or a client. Fig. 9As shown, the scheduling device 900 provided in the embodiment of the present disclosure includes a first sending unit 910 and a first receiving unit 920 .

[0177] The first sending unit 910 is used to send a domain name resolution request, wherein the domain name resolution request includes a target replacement domain name, and the target replacement domain name includes a target source domain name and target identification information. There is a one-to-one mapping relationship between the target identification information and the target resource path in the target uniform resource locator.

[0178] The first receiving unit 920 is used to receive a target business address returned in response to the domain name resolution request, and there is a corresponding relationship between the target business address and the target replacement domain name.

[0179] The first sending unit 910 is further configured to perform content access to a target service node corresponding to the target service address.

[0180] Fig. 9 For other contents of the embodiment, reference can be made to other embodiments mentioned above and will not be repeated here.

[0181] Fig.10 A structural block diagram of another scheduling device in an embodiment of the present disclosure is shown. Fig.10 The scheduling device 1000 provided in the embodiment may be arranged in a scheduling system or an authoritative DNS. Fig.10 As shown, the scheduling device 1000 provided in the embodiment of the present disclosure includes a second receiving unit 1010 , a second processing unit 1020 and a second sending unit 1030 .

[0182] The second receiving unit 1010 is used to receive a domain name resolution request, wherein the domain name resolution request includes a target replacement domain name, and the target replacement domain name includes a target source domain name and target identification information, and there is a one-to-one mapping relationship between the target identification information and the target resource path in the target uniform resource locator.

[0183] The second processing unit 1020 is configured to obtain a target service address corresponding to the target replacement domain name.

[0184] The second sending unit 1030 is used to respond to the domain name resolution request and send the target service address.

[0185] Fig.10 For other contents of the embodiment, reference can be made to other embodiments mentioned above and will not be repeated here.

[0186] Furthermore, an embodiment of the present disclosure further provides an electronic device, comprising: a processor; and a memory for storing executable instructions of the processor, wherein the processor is configured to execute the method described in any embodiment of the present disclosure by executing the executable instructions.

[0187] Furthermore, an embodiment of the present disclosure also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the method described in any embodiment of the present disclosure is implemented.

[0188] Furthermore, an embodiment of the present disclosure also provides a computer program product, which includes a computer program. When the computer program is executed, the method described in any embodiment of the present disclosure is executed.

[0189] It should be noted that the above modules / units as part of the device can be executed in a computer system such as a set of computer executable instructions.

[0190] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods or program products. Therefore, various aspects of the present disclosure may be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as "circuits", "modules" or "systems".

[0191] Refer to the following Fig.11 1100 according to this embodiment of the present disclosure is described. Fig.11 The electronic device 1100 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0192] like Fig.11 As shown, the electronic device 1100 is in the form of a general computing device. The components of the electronic device 1100 may include, but are not limited to: at least one processing unit 1110, at least one storage unit 1120, and a bus 1130 connecting different system components (including the storage unit 1120 and the processing unit 1110).

[0193] The storage unit 1120 stores program codes, which can be executed by the processing unit 1110, so that the processing unit 1110 executes the steps described in the above “Exemplary Method” section of this specification according to various exemplary embodiments of the present disclosure.

[0194] The storage unit 1120 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 11201 and / or a cache storage unit 11202 , and may further include a read-only storage unit (ROM) 11203 .

[0195] The storage unit 1120 may also include a program / utility 11204 having a set (at least one) of program modules 11205, such program modules 11205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0196] Bus 1130 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0197] The electronic device 1100 may also communicate with one or more external devices 1140 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 1100, and / or may communicate with any device that enables the electronic device 1100 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed through an input / output (I / O) interface 1150. In addition, the electronic device 1100 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) through a network adapter 1160. As shown, the network adapter 1160 communicates with other modules of the electronic device 1100 through a bus 1130. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1100, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

[0198] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation of the present disclosure.

[0199] More specific examples of computer-readable storage media in the present disclosure may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0200] In the present disclosure, a computer readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, wherein a readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A readable signal medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0201] Alternatively, the program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.

[0202] In specific implementations, program codes for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages, such as Java, C++, etc., and conventional procedural programming languages, such as "C" or similar programming languages. The program codes may be executed entirely on the user computing device, partially on the user computing device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0203] Other embodiments of the disclosure will be readily apparent to those skilled in the art after consideration of the specification and practice of the invention disclosed herein. The present disclosure is intended to cover any variations, uses or adaptations of the present disclosure.

Claims

1. A client, characterized in that: It includes a business module, a first domain name generation module and a domain name system module; wherein, The service module is used to send a domain name replacement request to the first domain name generation module, and the domain name replacement request includes a target uniform resource locator; The first domain name generation module is used to receive the domain name replacement request, and based on the target resource path and the target source domain name in the target uniform resource locator, obtain a target replacement domain name uniquely corresponding to the target resource path; and return the target replacement domain name to the business module; The business module is also used to receive the target replacement domain name, generate a domain name resolution request including the target replacement domain name; and send the domain name resolution request to the domain name system module; The domain name system module is used to receive the domain name resolution request and send the domain name resolution request to the local domain name system; receive the target business address returned by the local domain name system in response to the domain name resolution request; and send the target business address to the business module; The service module is further configured to receive the target service address and perform content access to the target service node corresponding to the target service address.

2. The client according to claim 1, characterized in that: The first domain name generation module is also used to: use a hash function of a predetermined length to process the target resource path to obtain the target string of the predetermined length to generate target identification information; combine the target identification information and the target source domain name to obtain the target replacement domain name.

3. A scheduling system, characterized in that: It includes a scheduling index update module, a second domain name generation module and a domain name system resolution database; wherein, The scheduling index update module is used to obtain a source index and its corresponding service address, wherein the source index includes a source domain name and a resource path in a corresponding uniform resource locator; send a replacement domain name generation request to the second domain name generation module, wherein the replacement domain name generation request includes the source index; The second domain name generation module is used to receive the replacement domain name generation request, and based on the resource path and the source domain name therein, obtain a replacement domain name uniquely corresponding to the resource path; and return the replacement domain name to the scheduling index update module; The scheduling index updating module is further used to receive the replacement domain name, and use the replacement domain name as the replacement index of the source index; The scheduling index updating module is also used to send the replacement index and its corresponding service address to the domain name system resolution database; The domain name system resolution database is used to receive the replacement index and its corresponding business address, and store the replacement index and its corresponding business address in association; The domain name system resolution database is also used to receive a domain name resolution request including a target replacement domain name from an authoritative domain name system; respond to the domain name resolution request, search for a replacement index that matches the target replacement domain name; and return the business address corresponding to the matching replacement index as the target business address to the authoritative domain name system.

4. The dispatching system according to claim 3, characterized in that: It also includes a scheduling decision module; The scheduling decision module is used to generate the source index and determine the service address corresponding to the source index when the scheduling strategy changes; and send the source index and its corresponding service address to the scheduling index update module.

5. A scheduling system, characterized in that: include: A scheduling decision module, used to generate an alternative index and determine a service address corresponding to the alternative index, wherein the alternative index includes a source domain name and identification information, and the identification information corresponds one-to-one to a resource path in a uniform resource locator; A domain name system resolution database, used for associatively storing the replacement index and its corresponding business address; The domain name system resolution database is further used to receive a domain name resolution request including a target replacement domain name from an authoritative domain name system; In response to the domain name resolution request, an alternative index matching the target alternative domain name is searched; and a business address corresponding to the matching alternative index is used as the target business address and returned to the authoritative domain name system.

6. A scheduling method, characterized in that: include: Sending a domain name resolution request, wherein the domain name resolution request includes a target replacement domain name, wherein the target replacement domain name includes a target source domain name and target identification information, and there is a one-to-one mapping relationship between the target identification information and the target resource path in the target uniform resource locator; Receiving a target business address returned in response to the domain name resolution request, wherein there is a corresponding relationship between the target business address and the target replacement domain name; Content access is performed to the target service node corresponding to the target service address.

7. The method according to claim 6, characterized in that Also includes: Generating the domain name resolution request includes: Obtaining the target uniform resource locator; Extracting the target resource path and the target source domain name in the target uniform resource locator; Converting the target resource path to obtain the target identification information uniquely corresponding to the target resource path; Combining the target identification information and the target source domain name to obtain the target replacement domain name; Generate the domain name resolution request including the target replacement domain name.

8. The method according to claim 7, characterized in that Converting the target resource path to obtain the target identification information uniquely corresponding to the target resource path includes: The target resource path is processed using a hash function of a predetermined length to obtain a target character string of the predetermined length to generate the target identification information.

9. The method according to claim 7, characterized in that: Combining the target identification information and the target source domain name to obtain the target replacement domain name includes: If the length of the target identification information exceeds the domain name field length threshold, split the target identification information to obtain multiple target sub-identification information, and the length of each target sub-identification information is less than or equal to the domain name field length threshold; The target sub-identification information and the target source domain name are combined to obtain the target replacement domain name.

10. The method according to claim 7, characterized in that Combining the target identification information and the target source domain name to obtain the target replacement domain name includes: The target identification information is added before the target source domain name to generate the target replacement domain name.

11. A scheduling method, characterized in that: include: Receive a domain name resolution request, wherein the domain name resolution request includes a target replacement domain name, wherein the target replacement domain name includes a target source domain name and target identification information, and wherein there is a one-to-one mapping relationship between the target identification information and a target resource path in a target uniform resource locator; Obtaining a target business address corresponding to the target replacement domain name; In response to the domain name resolution request, the target business address is sent.

12. The method according to claim 11, characterized in that Obtaining a target business address corresponding to the target replacement domain name includes: Find an alternative domain name matching the target alternative domain name from the alternative index; The business address corresponding to the matched replacement domain name is used as the target business address.

13. The method according to claim 11, characterized in that Also includes: Obtaining a source index and a corresponding business address, wherein the source index includes a source domain name and a resource path of a corresponding uniform resource locator; Generate unique identification information corresponding to the resource path according to the resource path; Combining the source domain name and the corresponding identification information to obtain a replacement domain name; The replacement domain name is used as a replacement index, and the replacement index and the corresponding business address are stored in association.

14. A scheduling device, characterized in that: include: A first sending unit is used to send a domain name resolution request, wherein the domain name resolution request includes a target replacement domain name, the target replacement domain name includes a target source domain name and target identification information, and there is a one-to-one mapping relationship between the target identification information and a target resource path in a target uniform resource locator; A first receiving unit, configured to receive a target service address returned in response to the domain name resolution request, wherein the target service address corresponds to the target replacement domain name; The first sending unit is further configured to perform content access to a target service node corresponding to the target service address.

15. A scheduling device, characterized in that: include: A second receiving unit is used to receive a domain name resolution request, wherein the domain name resolution request includes a target replacement domain name, the target replacement domain name includes a target source domain name and target identification information, and there is a one-to-one mapping relationship between the target identification information and the target resource path in the target uniform resource locator; A second processing unit, configured to obtain a target service address corresponding to the target replacement domain name; The second sending unit is used to respond to the domain name resolution request and send the target service address.

16. An electronic device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; The processor is configured to execute the method described in any one of claims 6 to 10, or to execute the method described in any one of claims 11 to 13, by executing the executable instructions.

17. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, it implements the method described in any one of claims 6 to 10, or executes the method described in any one of claims 11 to 13.

18. A computer program product, comprising a computer program, which executes the method according to any one of claims 6 to 10, or the method according to any one of claims 11 to 13 when the computer program is executed.