Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Fig. 1 shows a flow chart of a content distribution network scheduling method according to one embodiment of the present invention. As shown in fig. 1, the method comprises the steps of:
s101: an addressing request of a user for an anycast internet protocol address is received.
In order to explain the invention point of the present invention in detail, an embodiment of the present specification first provides a content distribution network scheduling system diagram, as shown in fig. 2, where fig. 2 includes a plurality of scheduling nodes corresponding to different areas, each scheduling node is independent from each other and does not interfere with each other, and each scheduling node can receive an internet television video resource acquisition request sent by a user, and plays a role as a central scheduling node in the prior art.
It should be noted that, in the prior art, only one central scheduling node is responsible for receiving an internet television video resource acquisition request sent by a user, and a fault occurs in the central scheduling node, and then the internet television video resource acquisition request sent by the user to the central scheduling node has no response, so that a situation that a large-range internet television video resource cannot be played occurs, in this specification embodiment, each scheduling node in fig. 2 is configured with the same anycast internet protocol address, that is, a virtual internet protocol address is configured on the basis of an actual internet protocol address, and the virtual internet address (i.e., the anycast internet protocol address) is configured, for example, the anycast internet protocol address of the scheduling node in area a in fig. 2 is: n.n.n, the actual internet protocol address is: a.a.a; the anycast internet protocol address of the scheduling node of the area b is as follows: n.n.n, the actual internet protocol address is: b.b.b; the anycast internet protocol address of the scheduling node in the area c is as follows: n.n.n, the actual internet protocol address is: c.c.c; the anycast internet protocol address of the scheduling node in the region d is as follows: n.n.n, the actual internet protocol address is: d.d.d; the anycast internet protocol address of the area e scheduling node is as follows: n.n.n, the actual internet protocol address is: e.e.e.e; the anycast internet protocol address of the scheduling node in the area f is as follows: n.n.n, the actual internet protocol address is: f.f.f; the anycast internet protocol address of the scheduling node in the area m is as follows: n.n.n, the actual internet protocol address is: m.m.m.m.
Furthermore, each scheduling node is configured with the same anycast internet protocol address, and each scheduling node can receive an internet television video resource acquisition request sent by a user, so that in the process of playing internet television content by using a set-top box by the user, it is first required to determine which scheduling node receives the internet television video resource acquisition request sent by the user.
It should be noted that, in this embodiment of the present specification, it is determined which scheduling node receives an internet television video resource acquisition request sent by a user, and then an addressing request of the user for an anycast internet protocol address needs to be received, where the addressing request includes the anycast internet protocol address.
In addition, in practical applications, since some television programs on the internet are not all provided for each user, for example, pay television programs, that is, different television programs have different permissions for different users, in this embodiment of the present specification, the playing permission of a user may be authenticated first, specifically, the license plate side server receives an authentication request sent by a user, authenticates the user according to the authentication request, and returns a pre-configured anycast internet protocol address to the user when the authentication is successful.
It should be noted that, the license plate server refers to a server of an internet television video resource provider.
In addition, when the authentication fails, a failure response is returned to the user, and a relevant prompt is given to the user.
S102: and determining a target scheduling node corresponding to the addressing request according to the shortest route matching algorithm.
Further, since it needs to be determined which scheduling node receives an internet television video resource acquisition request sent by a user, after receiving an addressing request of the user for an anycast internet protocol address, the embodiment of the present specification needs to determine a target scheduling node corresponding to the addressing request according to a shortest route matching algorithm.
It should be noted that, the target scheduling node refers to a scheduling node that receives an internet television video resource acquisition request sent by a user.
It should be further noted that, in the embodiment of the present description, based on that the addressing request carries the internet protocol address of the user, an implementation manner is provided for determining the target scheduling node corresponding to the addressing request according to a shortest route matching algorithm, which is specifically as follows:
determining a scheduling node nearest to the internet protocol address route of the user according to the internet protocol address of the user, judging whether the scheduling node nearest to the internet protocol address route of the user is available, if so, taking the scheduling node nearest to the internet protocol address route of the user as a target scheduling node, if not, determining the next scheduling node nearest to the internet protocol address route of the user, and judging whether the next scheduling node nearest to the internet protocol address route of the user is available until determining the available scheduling node nearest to the internet protocol address route of the user.
It should be noted that, according to the internet protocol address of the user, the determined area controlled by the scheduling node closest to the internet protocol address route of the user is actually the area where the user is currently located, that is, the internet television video resource acquisition request sent by the user is preferentially received by the scheduling node corresponding to the area where the user is currently located, so that the internet television video resource acquisition request sent by the user can be effectively and quickly responded, of course, if the scheduling node corresponding to the area where the user is currently located is not currently available, but in order to ensure quick response to the internet television video resource acquisition request sent by the user, the next scheduling node closest to the internet protocol address route of the user needs to be determined, that is, the next scheduling node closest to the internet protocol address route of the user is in addition to the previously determined scheduling node, and the routing is nearest to the Internet protocol address of the user, and the like, until the available scheduling node nearest to the Internet protocol address of the user is determined.
For the above embodiment, in a normal case, the scheduling node corresponding to the area where the user is located is the scheduling node configured with the anycast internet protocol address, where the routing distance to the user is the shortest, and the scheduling node receives and responds to the internet television video resource acquisition request sent by the user, and in an abnormal case, the scheduling node corresponding to the area where the user is located is unavailable, and the scheduling node having the second shortest routing distance from the user receives and responds to the user request.
In addition, in practical application, when determining the target scheduling node corresponding to the addressing request, the scheduling node closest to the internet protocol address route of the user is preferred to receive the internet television video resource acquisition request sent by the user, but when the scheduling node closest to the internet protocol address route of the user is unavailable, the central scheduling node in the content distribution network scheduling system diagram shown in fig. 3 is preferred to receive the internet television video resource acquisition request sent by the user.
It should be noted that, the central scheduling node and the regional scheduling node shown in fig. 3 are both the scheduling nodes shown in fig. 2, and for example, the anycast internet protocol address of the regional a scheduling node in fig. 3 is: n.n.n, the actual internet protocol address is: a.a.a; the anycast internet protocol address of the scheduling node of the area b is as follows: n.n.n, the actual internet protocol address is: b.b.b; the anycast internet protocol address of the scheduling node in the area c is as follows: n.n.n, the actual internet protocol address is: c.c.c; the anycast internet protocol address of the scheduling node in the region d is as follows: n.n.n, the actual internet protocol address is: d.d.d; the anycast internet protocol address of the area e node is as follows: n.n.n, the actual internet protocol address is: e.e.e.e; the anycast internet protocol address of the scheduling node in the area f is as follows: n.n.n, the actual internet protocol address is: f.f.f; the anycast internet protocol address of the central scheduling node is as follows: n.n.n, the actual internet protocol address is: m.m.m, that is, the scheduling node includes: the central scheduling nodes are distributed in a central area, and the regional scheduling nodes are distributed in other areas.
Further, the embodiment of the present disclosure provides another implementation manner for determining the target scheduling node corresponding to the addressing request according to the shortest route matching algorithm based on the central scheduling node and the regional scheduling node shown in fig. 3, which is specifically as follows:
determining a scheduling node nearest to the internet protocol address route of the user according to the internet protocol address of the user, judging whether the scheduling node nearest to the internet protocol address route of the user is available, if so, taking the scheduling node nearest to the internet protocol address route of the user as a target scheduling node, if not, judging whether a central scheduling node is available, if so, taking the central scheduling node as the target scheduling node, if not, determining the next regional scheduling node nearest to the internet protocol address route of the user, and judging whether the next regional scheduling node nearest to the internet protocol address route of the user is available until the regional scheduling node nearest to the internet protocol address route of the user and available is determined.
It should be noted that, in this embodiment of this specification, when an anycast internet protocol address route is issued on a network router, the foregoing implementation manner may be implemented, so that a central scheduling node in a central area is a scheduling node that is a shortest route distance from a user except a scheduling node corresponding to an area where the user is located (i.e., a scheduling node that is determined for the first time to be closest to the internet protocol address route of the user). And if the central scheduling node is unavailable, according to the distance from the user route, the regional scheduling nodes corresponding to other regions are used as target scheduling nodes, and the target scheduling nodes can receive and respond to the Internet television video resource acquisition request sent by the user.
S103: and receiving an internet television video resource acquisition request sent by a user through the target scheduling node.
Further, after the target scheduling node is determined, the actual internet protocol address of the target scheduling node can be returned to the user, and subsequently, the user sends an internet television video resource acquisition request to the target scheduling node, that is, the target scheduling node receives the internet television video resource acquisition request sent by the user.
It should be noted that the internet television video resource acquisition request carries the internet protocol address of the user.
S104: and scheduling the content distribution network edge node server in the edge service node of the target area through the target scheduling node, and returning the internet television video resource corresponding to the internet television video resource acquisition request to the user.
Further, since the target scheduling node does not store the internet television video resource, it is a content distribution network edge node server that really stores the internet television video resource, and the content distribution network edge node server is distributed in the regional edge service node, in this specification embodiment, after receiving an internet television video resource acquisition request sent by a user, the target scheduling node determines a regional edge service node that provides the user with an internet television video resource playing service.
It should be noted that each area is distributed with a scheduling node and its corresponding area edge service node.
Further, an embodiment of the present specification provides an implementation manner of determining a regional edge service node that provides an internet television video resource playing service for a user, which is specifically as follows:
and acquiring attribute information of each regional edge service node, and determining a target regional edge service node according to the attribute information of each regional edge service node and the Internet protocol address of the user.
It should be noted that the attribute information may be operation load information of the area edge service node, link information of the area edge service node, service state information of the area edge service node, or other attribute information, and may be set according to actual requirements.
In this embodiment of this specification, when the acquired attribute information of each regional edge service node includes a service state of each regional edge service node, before acquiring the attribute information of each regional edge service node, it is necessary to determine the service state of each regional edge service node in advance, where the service state includes an available state and an unavailable state, specifically:
for each regional edge service node, checking the service state of the regional edge service node, and counting the checking result of each scheduling node on the service state of the regional edge service node;
when the counted inspection result of the regional scheduling node on the service state of the regional edge service node is that the number of the available states exceeds a preset first threshold, and/or the inspection result of the central scheduling node on the service state of the regional edge service node is an available state, determining that the service state of the regional edge service node is an available state, that is, determining that the service state of the regional edge service node is an available state according to any one of the following requirements:
all the central scheduling nodes and the regional scheduling nodes check the service state of the regional edge service node (namely, the node of the region where the user is located) to be an available state;
the central scheduling node of the central area checks the service state of the edge service node of the area (namely, the node of the area where the user is located) to be in an available state;
the inspection result of the central scheduling node of the central area on the service state of the edge service node of the area (namely, the node of the area where the user is located) is an unavailable state, and the inspection result of the remaining area scheduling nodes exceeding the preset first threshold on the service state of the edge service node of the area (namely, the node of the area where the user is located) is an available state.
When the counted inspection result of the regional scheduling node on the service state of the regional edge service node is that the number of the unavailable states exceeds a preset second threshold value, and the inspection result of the central scheduling node on the service state of the regional edge service node is an unavailable state, determining that the service state of the regional edge service node is an unavailable state, that is, determining that the service state of the regional edge service node is an unavailable state according to any one of the following requirements:
all the central scheduling nodes and the regional scheduling nodes check the service state of the regional edge service node (namely, the node of the region where the user is located) to be an unavailable state;
the central scheduling node of the central area checks the service state of the edge service node of the area (i.e., the node of the area where the user is located) to be in an unavailable state, and the remaining area scheduling nodes exceeding a preset second threshold check the service state of the edge service node of the area (i.e., the node of the area where the user is located) to be in an unavailable state.
When the counted inspection result of the service state of the regional edge service node by the scheduling node corresponding to the regional edge service node is an available state, and the inspection results of the service states of the regional edge service node by the remaining scheduling nodes are an unavailable state, determining that the service state of the regional edge service node is the unavailable state, that is, determining that the service state of the regional edge service node is the unavailable state when the following conditions are met: except that the inspection result of the local scheduling node on the service state of the local edge service node is in an available state, the inspection result of the rest scheduling nodes on the service state of the local edge service node is in an unavailable state.
It should be noted that, since the service status of the regional edge service node depends on the service status of all the internal content distribution network edge node servers, therefore, the service state of the regional edge service node is determined, namely the service state of all the content distribution network edge node servers in the regional edge service node is determined, the service state can be checked in real time by a hardware load balancer deployed by the regional edge service node, or can be checked by a scheduling node corresponding to the regional edge service node, if done by a hardware load balancer, the hardware load balancer virtual IP needs to be configured as the service IP for that regional node, if the scheduling node corresponding to the regional edge service node is used for completing the operation, the actual IP of the scheduling node corresponding to the regional edge service node needs to be configured to be the service IP address of the scheduling node.
In addition, after determining the regional edge service node (i.e., the target regional edge service node) that provides the internet television video resource playing service for the user, the bandwidth and performance load may also be reported to the corresponding scheduling node in real time in the subsequent process of providing the internet television video resource playing service for the user, and when the load of the target regional edge service node exceeds a certain threshold (e.g., 80%), the scheduling node may schedule the user to other regional edge service nodes.
Further, after determining a target area edge service node providing an internet television video resource playing service for a user, it is further required to determine which content distribution network edge node server in the target area edge service node provides an internet television video resource for the user to the end, and therefore, in the embodiment of the present specification, the target area edge service node is invoked to determine a target content distribution network edge node server according to attribute information of each content distribution network edge node server in the target area edge service node, and the target content distribution network edge node server is invoked to return the internet television video resource corresponding to the internet television video resource obtaining request to the user.
It should be noted here that the attribute information of the content distribution network edge node server may be centralized in resources, may also be server load, and may also be other attribute information, and may be determined specifically according to an actual situation and is not described herein any more.
In addition, in this embodiment of the present specification, the internet television video resource corresponding to the internet television video resource acquisition request that is returned to the user by calling the target content distribution network edge node server may specifically be as follows:
calling the target content distribution network edge node server to inquire whether the internet television video resource corresponding to the internet television video resource acquisition request is stored in the target content distribution network edge node server, if so, returning the internet television video resource corresponding to the internet television video resource acquisition request to the user, if not, acquiring the internet television video resource corresponding to the internet television video resource acquisition request from the content distribution network and returning the internet television video resource corresponding to the internet television video resource acquisition request to the user, namely, if the resource requested by the user exists in the content distribution network edge node server, the content distribution network edge node server directly returns the resource to the user, and if the resource does not exist, the content distribution network edge node server returns the resource to a content center of the content distribution network, and returning the source to the resource and then returning the resource to the user.
The method comprises the steps of deploying scheduling network elements in an internet television content distribution network by adopting a distributed structure, deploying central scheduling nodes in a central area of the content distribution network, deploying regional scheduling nodes in each content distribution network area node, and externally configuring the same anycast internet protocol address for all scheduling nodes. A user initiates a request to the anycast internet protocol address, and by using a method of matching a nearest route of the anycast internet protocol address, the user request can be received and responded by a scheduling node which is closest to the user in a distributed content distribution network scheduling system, and the scheduling node schedules the user, when the nearest scheduling node is unavailable, the user request is received and responded by other scheduling nodes, and because each scheduling node is configured with the same anycast internet protocol address, even if a certain scheduling node (such as a central scheduling node) breaks down, the other scheduling nodes can process the internet television video resource acquisition request sent by the user and respond, thereby effectively avoiding the situation that the large-range internet television video resource cannot be played.
In addition to the above-mentioned effects, the present invention can also be implemented to produce the following technical effects:
the first technical effect is as follows: the overall safety and stability of the content distribution network scheduling network element are improved. In the prior art, all user scheduling is undertaken by a central scheduling node which is centrally deployed in a central area, and when the central scheduling node is attacked or fails, all or part of user scheduling requests are not responded, so that user services are affected; in the technical scheme, a user initiates a request to an anycast internet protocol address of the distributed content distribution network scheduling system, the user request is received and responded by a scheduling node which is closest to the user in the distributed content distribution network scheduling system, and when a central scheduling node or part of scheduling nodes of the content distribution network is attacked by security or has faults, the user request is received and responded by the rest of scheduling nodes of the content distribution network, so that the scheduling of the content distribution network is not influenced, and the overall security and stability of a scheduling network element of the content distribution network are greatly improved.
The second technical effect is as follows: the whole load capacity of the content distribution network scheduling network element is improved. In the prior art, the scheduling of all users is borne by a central scheduling node which is centrally deployed in a central area, and the central scheduling node bears the request load of all users, so that the pressure is high. In the technical scheme, the content distribution network scheduling nodes are deployed in each area, the user requests are distributed to each area, and the overall load of the content distribution network scheduling network elements is reduced.
The third technical effect is as follows: the overall time delay of the user request response is reduced. In the prior art, all user requests are sent to the central scheduling node of the central area of the content distribution network, and are received and responded by the central scheduling node of the central area of the content distribution network.
In order to more clearly illustrate the implementation process of the present invention, the following embodiments shown in fig. 4 and 5 are given, wherein the steps of fig. 4 are specifically as follows:
s401: sending an internet television video resource acquisition request;
s402: authenticating according to the Internet television video resource acquisition request;
s403: and returning the preset anycast internet protocol address to the user.
S404: sending an addressing request for an anycast internet protocol address;
s405: selecting a regional edge service node according to scheduling strategies such as an IP address proximity principle;
s406: returning the virtual address of the regional edge service node providing service for the user;
s407: sending a playing request to a virtual address of a regional edge service node;
s408: selecting a target content distribution network edge node server according to a certain selection strategy;
s409: returning to the actual address of the user target content distribution network edge node server;
s410: sending a playing request to the actual address of the target content distribution network edge node server;
s411: initiating a source returning request to a content center;
s412: receiving required Internet television video resources returned by the content center;
s413: and returning the required internet television video resources to the user.
The steps of fig. 5 are specifically as follows:
s501: a user sends an initiation request to a scheduling system;
it should be noted that the scheduling system is shown in fig. 3.
S502: determining a dispatch node that is available and closest to the user's internet protocol address route;
it should be noted that the specific determination manner is the manner described above, and is not described in detail herein.
S503: determining an area edge service node for providing playing service for a user;
s504: judging whether the service state of the area edge service node is available, if so, executing a step S505, otherwise, executing a step S506;
s505: selecting a content distribution network edge node server in the regional edge service node to provide service for the user;
s506: selecting other available regional edge service nodes, and selecting a content distribution network edge node server from the regional edge service nodes to provide services for users;
s507: a user initiates a resource request to the content distribution network edge node server;
s508: and the content distribution network edge node server returns the Internet television video resource to the user.
Finally, the embodiment of the present specification provides a complementary diagram of a distributed internet television content distribution network scheduling system, as shown in fig. 6.
Based on the above method for scheduling a content delivery network provided in the embodiment of the present application, an embodiment of the present application provides a device for scheduling a content delivery network, as shown in fig. 7, where scheduling nodes are deployed in a distributed manner in each area, and each scheduling node is configured with the same anycast internet protocol address in advance, and the device includes:
afirst receiving module 701, configured to receive an addressing request of a user for an anycast internet protocol address;
a determiningmodule 702, configured to determine, according to a shortest route matching algorithm, a target scheduling node corresponding to the addressing request;
asecond receiving module 703, configured to receive, through the target scheduling node, an internet television video resource acquisition request sent by a user;
and thescheduling module 704 is configured to schedule a content distribution network edge node server in a target area edge service node through the target scheduling node, and return the content distribution network edge node server to the internet television video resource corresponding to the internet television video resource acquisition request of the user.
The addressing request carries an internet protocol address of a user, and the determiningmodule 702 is specifically configured to determine, according to the internet protocol address of the user, a scheduling node closest to an internet protocol address route of the user, and determine whether the scheduling node closest to the internet protocol address route of the user is available; if so, taking the scheduling node closest to the Internet protocol address route of the user as a target scheduling node; if not, determining the next scheduling node closest to the Internet protocol address route of the user, and judging whether the next scheduling node closest to the Internet protocol address route of the user is available or not until determining the available scheduling node closest to the Internet protocol address route of the user.
The scheduling node comprises: the determiningmodule 702 is specifically configured to determine whether the central scheduling node is available; if so, taking the central scheduling node as a target scheduling node; if not, determining the next regional scheduling node closest to the Internet protocol address route of the user, and judging whether the next regional scheduling node closest to the Internet protocol address route of the user is available or not until determining the available regional scheduling node closest to the Internet protocol address route of the user.
Thescheduling module 704 is specifically configured to obtain attribute information of each regional edge service node; determining a target area edge service node according to the attribute information of each area edge service node and the Internet protocol address of the user; calling the target area edge service node to determine a target content distribution network edge node server according to the attribute information of each content distribution network edge node server in the target area edge service node; and calling the target content distribution network edge node server to return the internet television video resources corresponding to the internet television video resource acquisition request to the user.
Thescheduling module 704 is specifically configured to invoke the target content distribution network edge node server to query whether an internet television video resource corresponding to the internet television video resource acquisition request is stored in the target content distribution network edge node server; if so, returning the Internet television video resource corresponding to the Internet television video resource acquisition request to the user; and if not, obtaining the Internet television video resources corresponding to the Internet television video resource obtaining request from a content distribution network, and returning the Internet television video resources corresponding to the Internet television video resource obtaining request to the user.
The attribute information of the regional edge service node comprises a service state of the regional edge service node, wherein the service state comprises an available state and an unavailable state; the device further comprises:
a checking module 705, configured to check a service state of each area edge service node for each area edge service node before the scheduling module 704 obtains the attribute information of each area edge service node; counting the inspection result of each scheduling node on the service state of the regional edge service node; when the counted inspection result of the regional scheduling node on the service state of the regional edge service node is that the number of the available states exceeds a preset first threshold value, and/or the inspection result of the central scheduling node on the service state of the regional edge service node is an available state, determining that the service state of the regional edge service node is an available state; when the counted inspection result of the regional scheduling node on the service state of the regional edge service node is that the number of the unavailable states exceeds a preset second threshold value, and the inspection result of the central scheduling node on the service state of the regional edge service node is the unavailable state, determining that the service state of the regional edge service node is the unavailable state; and when the counted checking result of the service state of the regional edge service node by the scheduling node corresponding to the regional edge service node is an available state, and the checking result of the service state of the regional edge service node by the remaining scheduling nodes is an unavailable state, determining that the service state of the regional edge service node is the unavailable state.
The device further comprises:
anauthentication module 706, configured to receive, by the licence party server, an authentication request sent by a user before the receivingmodule 701 receives an addressing request of the user for an anycast internet protocol address; authenticating the user according to the authentication request; and when the authentication is successful, returning a pre-configured anycast internet protocol address to the user.
In addition, in the embodiment of the present specification, each scheduling node would include the functional modules shown in fig. 8:
scheduling message receiving module 801: the system comprises a server, a server and a server, wherein the server is used for receiving an internet television video resource acquisition request of a user;
service status check module 802: the method is used for checking the service state (the checking mode of nodeStatus) of all the regional edge service nodes;
the scheduling message sending module 803: for sending scheduling information to a user;
service state analysis storage and synchronization module 804: the system is used for analyzing, storing and synchronizing the service states of all the current regional edge service nodes;
intra-node scheduling module 805 (if the node is equipped with a hardware load balancer, this module may be omitted): the method is used for checking the service state of all content distribution network edge node servers in the regional edge service node (a HeartTree checking mode), and returning the optimal content distribution network edge node server address according to a certain scheduling strategy and aiming at the Internet television video resource acquisition request of a user.
The embodiment of the present application further provides a non-volatile computer storage medium, where the computer storage medium stores at least one executable instruction, and the computer executable instruction may execute the content distribution network scheduling method in any method embodiment described above.
Fig. 9 is a schematic structural diagram of an electronic device according to an embodiment of the present invention, and the specific embodiment of the present invention does not limit the specific implementation of the electronic device.
As shown in fig. 9, the server may include: a processor (processor)902, acommunication Interface 904, a memory 906, and a communication bus 908.
Wherein:
the processor 902,communication interface 904, and memory 906 communicate with one another via a communication bus 908.
Acommunication interface 904 for communicating with network elements of other devices, such as clients or other servers.
The processor 902 is configured to execute theprogram 910, and may specifically execute the relevant steps in the foregoing content distribution network scheduling method embodiment.
In particular, theprogram 910 may include program code that includes computer operating instructions.
The processor 902 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits configured to implement an embodiment of the invention. The electronic device comprises one or more processors, which can be the same type of processor, such as one or more CPUs; or may be different types of processors such as one or more CPUs and one or more ASICs.
A memory 906 for storing aprogram 910. The memory 906 may comprise high-speed RAM memory, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
Theprogram 910 may specifically be configured to cause the processor 902 to perform the following operations:
the scheduling nodes are distributed and deployed in each area, and the same anycast internet protocol address is configured for each scheduling node in advance;
receiving an addressing request of a user for an anycast internet protocol address;
determining a target scheduling node corresponding to the addressing request according to a shortest route matching algorithm;
receiving an internet television video resource acquisition request sent by a user through the target scheduling node;
and scheduling the content distribution network edge node server in the edge service node of the target area through the target scheduling node, and returning the internet television video resource corresponding to the internet television video resource acquisition request to the user.
Optionally, theprogram 910 may also be for causing the processor 902 to:
the addressing request carries an internet protocol address of a user, a scheduling node closest to the internet protocol address route of the user is determined according to the internet protocol address of the user, and whether the scheduling node closest to the internet protocol address route of the user is available is judged; if so, taking the scheduling node closest to the Internet protocol address route of the user as a target scheduling node; if not, determining the next scheduling node closest to the Internet protocol address route of the user, and judging whether the next scheduling node closest to the Internet protocol address route of the user is available or not until determining the available scheduling node closest to the Internet protocol address route of the user.
Optionally, theprogram 910 may also be for causing the processor 902 to:
the scheduling node comprises: the central scheduling node or the regional scheduling node judges whether the central scheduling node is available; if so, taking the central scheduling node as a target scheduling node; if not, determining the next regional scheduling node closest to the Internet protocol address route of the user, and judging whether the next regional scheduling node closest to the Internet protocol address route of the user is available or not until determining the available regional scheduling node closest to the Internet protocol address route of the user.
Optionally, theprogram 910 may also be for causing the processor 902 to:
acquiring attribute information of each regional edge service node; determining a target area edge service node according to the attribute information of each area edge service node and the Internet protocol address of the user; calling the target area edge service node to determine a target content distribution network edge node server according to the attribute information of each content distribution network edge node server in the target area edge service node; and calling the target content distribution network edge node server to return the internet television video resources corresponding to the internet television video resource acquisition request to the user.
Optionally, theprogram 910 may also be for causing the processor 902 to:
calling the target content distribution network edge node server to inquire whether the internet television video resource corresponding to the internet television video resource acquisition request is stored in the target content distribution network edge node server or not; if so, returning the Internet television video resource corresponding to the Internet television video resource acquisition request to the user; and if not, obtaining the Internet television video resources corresponding to the Internet television video resource obtaining request from a content distribution network, and returning the Internet television video resources corresponding to the Internet television video resource obtaining request to the user.
Optionally, theprogram 910 may also be for causing the processor 902 to:
the attribute information of the regional edge service node comprises a service state of the regional edge service node, wherein the service state comprises an available state and an unavailable state; before acquiring attribute information of each regional edge service node, checking the service state of each regional edge service node aiming at each regional edge service node; counting the inspection result of each scheduling node on the service state of the regional edge service node; when the counted inspection result of the regional scheduling node on the service state of the regional edge service node is that the number of the available states exceeds a preset first threshold value, and/or the inspection result of the central scheduling node on the service state of the regional edge service node is an available state, determining that the service state of the regional edge service node is an available state; when the counted inspection result of the regional scheduling node on the service state of the regional edge service node is that the number of the unavailable states exceeds a preset second threshold value, and the inspection result of the central scheduling node on the service state of the regional edge service node is the unavailable state, determining that the service state of the regional edge service node is the unavailable state; and when the counted checking result of the service state of the regional edge service node by the scheduling node corresponding to the regional edge service node is an available state, and the checking result of the service state of the regional edge service node by the remaining scheduling nodes is an unavailable state, determining that the service state of the regional edge service node is the unavailable state.
Optionally, theprogram 910 may also be for causing the processor 902 to:
before receiving an addressing request of a user for an anycast internet protocol address, a license plate server receives an authentication request sent by the user; authenticating the user according to the authentication request; and when the authentication is successful, returning a pre-configured anycast internet protocol address to the user.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It will be appreciated by those skilled in the art that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components in a content distribution network scheduling apparatus according to embodiments of the present invention. The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.