A media stream distribution method, acquisition method, system, and electronic device.
By deploying three types of edge nodes in the content delivery network and dynamically selecting appropriate edge nodes for media stream distribution and acquisition, the problem of high bandwidth usage costs is solved, and efficient media stream service quality and cost control are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-23
- Publication Date
- 2026-07-31
AI Technical Summary
How to minimize bandwidth usage costs while ensuring the quality of media streaming services, especially in streaming media services, is a problem that existing technologies struggle to solve effectively.
By deploying three types of edge nodes (Type I, Type II, and Type III edge nodes) in the content delivery network, the most suitable edge node is dynamically selected for media stream distribution and acquisition based on the frequency of media streams and client information. Type I edge nodes are used to directly acquire media streams across carrier networks, Type II edge nodes provide high-quality services, and Type III edge nodes provide low-cost services.
While ensuring the quality of media streaming services, it significantly reduced bandwidth usage costs, improved the cache hit rate and transmission efficiency of the content delivery network, reduced invalid relay traffic, and lowered the overall bandwidth usage costs.
Smart Images

Figure CN122496664A_ABST
Abstract
Description
Technical Field
[0001] This relates to the field of Internet technology, and in particular to a media streaming distribution method, acquisition method, system, and electronic device. Background Technology
[0002] With the rapid development of internet technology, streaming media services have been widely applied in various fields, and the user base has experienced massive growth, significantly increasing bandwidth costs in the media streaming distribution and acquisition process. Moreover, bandwidth costs have become a core factor restricting the large-scale development of streaming media services. Therefore, how to minimize overall bandwidth costs during media streaming distribution and acquisition is a crucial issue that urgently needs to be addressed. Summary of the Invention
[0003] This paper provides a media streaming distribution method, acquisition method, system, and electronic device to reduce bandwidth usage costs while ensuring the quality of media streaming services.
[0004] In one scenario, this paper provides a media streaming distribution method, including: Receive a first media stream acquisition request, which is sent by the client and includes first media stream identification information and client information; Based on the first media stream identifier information, a first indicator information is determined. The first indicator information is used to characterize the frequency of obtaining the first media stream from the content delivery network. The content delivery network includes a first type of edge node, a second type of edge node, and a third type of edge node. The first type of edge node refers to an edge node that is connected to at least two operator networks, the second type of edge node refers to an edge node that is connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of the operator network. Based on the first indicator information and the client information, a first edge node is determined from the first type of edge node, the second type of edge node, and the third type of edge node; Send first edge node information to the client so that the client can obtain the first media stream from the first edge node based on the first edge node information.
[0005] In one scenario, this paper also provides a method for acquiring media streams, including: A first media stream acquisition request is generated, the first media stream acquisition request including first media stream identifier information and client information; A request to acquire the first media stream is sent to the controller, so that the controller determines first indicator information based on the first media stream identifier information. The first indicator information is used to characterize the frequency of acquiring the first media stream from the content delivery network. The content delivery network includes a first type of edge node, a second type of edge node, and a third type of edge node. The first type of edge node refers to an edge node that is connected to at least two operator networks, the second type of edge node refers to an edge node that is connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of the operator network. Based on the first indicator information and the client information, a first edge node is determined from the first type of edge node, the second type of edge node, and the third type of edge node, and the first edge node information is returned. Based on the information of the first edge node, the first media stream is obtained from the first edge node.
[0006] In one scenario, this document also provides a media streaming acquisition system, the system comprising: a client, a first type of edge node, a second type of edge node, a third type of edge node, and a controller; The first type of edge node refers to an edge node that is connected to at least two operator networks; The second type of edge node refers to an edge node that is connected to only one operator's network; The third type of edge node refers to the edge node deployed on the access side of the operator's network; The controller is used to implement media stream distribution methods as described in any of these documents; The client is used to implement the media stream acquisition method as described in any of the documents.
[0007] In one instance, this document also provides an electronic device comprising: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement a media streaming distribution method as described herein.
[0008] In one instance, this document also provides an electronic device comprising: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the media stream acquisition method as described herein.
[0009] The controller receives a first media stream retrieval request from a client. This request includes a first media stream identifier and client information. Based on the first media stream identifier, the controller determines first indicator information, which characterizes the frequency of retrieving the first media stream from the content delivery network. Based on the first indicator information and the client information, a matching first edge node is identified from the first, second, and third types of edge nodes in the content delivery network. The controller then sends the first edge node information to the client, which retrieves the first media stream from the first edge node based on this information. When the first edge node is a first-type edge node, it can directly obtain the first media stream from the origin station across operator networks, without needing to go through intermediate nodes, thus saving broadband usage costs. When the first edge node is a second-type edge node, a high-quality first media stream can be obtained through it, ensuring the quality of service. When the first edge node is a third-type edge node, the first media stream can be obtained through a low-cost third-type edge node, further reducing broadband usage costs. By distributing and acquiring media streams based on first-class, second-class, and third-class edge nodes, the bandwidth usage cost is reduced while ensuring the quality of media stream services. Attached Figure Description
[0010] The above and other features, advantages, and aspects of the embodiments described herein will become more apparent when taken in conjunction with the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0011] Figure 1 This is a schematic diagram illustrating an application scenario of the media stream distribution and acquisition methods provided in one particular case. Figure 2 This is a flowchart illustrating a media stream distribution method provided in one scenario. Figure 3 This is a flowchart illustrating another media stream distribution method provided in one scenario; Figure 4 This is a flowchart illustrating a media stream acquisition method provided in one scenario; Figure 5 This is a flowchart illustrating an alternative media stream acquisition method provided in one scenario. Figure 6 This is an example diagram illustrating a media stream acquisition process in one scenario. Figure 7 This is a schematic diagram of the structure of a media stream acquisition system provided in one scenario; Figure 8This is a schematic diagram of a media stream distribution device provided in one scenario; Figure 9 This is a schematic diagram of a media stream acquisition device provided in one scenario; Figure 10 This is a schematic diagram of the structure of an electronic device provided in one scenario. Detailed Implementation
[0012] The embodiments will now be described in more detail with reference to the accompanying drawings. While some embodiments are shown in the drawings, it should be understood that this document can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the technical solutions. It should be understood that the accompanying drawings and embodiments are for illustrative purposes only and are not intended to limit the scope of protection of the technical solutions.
[0013] It should be understood that the steps described in the method implementation may be performed in different orders and / or in parallel. Furthermore, the method implementation may include additional steps and / or omit the steps shown. The scope of this document is not limited in this respect.
[0014] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one situation" means "at least one situation"; the term "another situation" means "at least one additional situation"; the term "some situations" means "at least some situations". Definitions of other terms will be given in the following description.
[0015] It should be noted that the concepts of "first" and "second" mentioned are only used to distinguish different devices, modules or units, and are not used to limit the order of the functions performed by these devices, modules or units or their interdependencies.
[0016] It should be noted that the use of the terms "one" and "more" is illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0017] The names of messages or information exchanged between the various devices in this document are for illustrative purposes only and are not intended to limit the scope of these messages or information.
[0018] It is understandable that the data involved in the technical solution (including but not limited to the data itself, the acquisition or use of the data) should comply with the requirements of relevant laws, regulations and related provisions.
[0019] The technical solution in this article can be applied to... Figure 1In the application scenario shown, the system architecture can include a client 101 and a server 102. The client 101 can be, but is not limited to, personal mobile terminals such as smartphones, tablets, and personal computers, or other client terminals. Various applications are deployed on the client 101, such as media content publishing applications and session applications. The server 102 can be one or more servers providing various interfaces. That is, it can be implemented as a distributed server cluster composed of multiple servers, or as a single server; furthermore, it can be a server in a distributed system, a server integrating blockchain technology, a cloud server, or an intelligent cloud computing server or intelligent cloud host deployed with machine learning models, etc. It should be understood that... Figure 1 The number of clients 101 and servers 102 shown is for illustrative purposes only. Any number of clients 101 and servers 102 can be configured according to implementation requirements.
[0020] In the technical solution described herein, client 101 can interact with server 102, such as receiving or sending data. For example, server 102 can receive a first media stream acquisition request sent by client 101, distribute the first media stream based on the first media stream acquisition request, and send the distribution result to client 101. Client 101 then acquires the first media stream based on the distribution result. Client 101 and server 102 achieve data interaction and functional collaboration through network communication.
[0021] It should be understood that, Figure 1 The application scenario shown is merely one example in which the media stream distribution method or media stream acquisition method described in this article can be implemented. The scope of application of the implementation methods described in this article is not limited by any aspect of this application scenario.
[0022] Figure 2 This is a flowchart illustrating a media stream distribution method for one scenario, applicable to media stream distribution within a content delivery network, particularly suitable for distributing live video streams in live streaming scenarios. This method can be executed by a media stream distribution device, which can be implemented in software and / or hardware. Optionally, it can be implemented using an electronic device, such as a controller within the content delivery network. Figure 2 As shown, the media stream distribution method may specifically include the following steps: S210. Receive a first media stream acquisition request. The first media stream acquisition request is sent by the client and includes first media stream identification information and client information.
[0023] The first media stream can refer to the media stream to be acquired. A media stream can be a time-series data stream composed of continuous, chronologically arranged multimedia data units. Media streams can be transmitted, processed, distributed, or played via a network in a streaming manner. The media stream can carry timestamps, synchronization information, and encoding format information. The receiving end can decode and render the received segmented media stream data in real time even without acquiring the complete data. For example, the first media stream can include, but is not limited to, video streams or audio streams. A video stream can refer to a time-series data stream formed by continuous video frames arranged in chronological order. For example, a video stream can include a live video stream or a video-on-demand stream. A live video stream can refer to streaming media data that is acquired and encoded in real time and continuously pushed. A video-on-demand stream can be streaming media data that is pre-stored and transmitted according to playback requirements. An audio stream can refer to a time-series data stream formed by continuous audio sampling points or audio frames arranged in chronological order. Massive media streams consume a large amount of network bandwidth during transmission and distribution, thus necessitating the reduction of bandwidth usage costs.
[0024] The first media stream acquisition request can be an instruction or message used to request the acquisition of the first media stream data content. The first media stream identification information is information used to uniquely identify the first media stream in order to distinguish different streaming media. The client can refer to the playback end of the first media stream. Client information can refer to the client information required to acquire the first media stream. For example, client information can include client location information and the operator network identification information used by the client. The client location information can refer to the geographical location of the client, such as a province or city. The operator network identification information used by the client can refer to the identification data of the operator network currently accessed by the client, in order to distinguish different operator networks. The operator network can refer to the public data communication network provided by an Internet Service Provider (ISP).
[0025] For example, when a client needs to obtain a first media stream, it can generate a first media stream acquisition request and send the request to an electronic device used to distribute the media stream, such as a controller. The controller receives the first media stream acquisition request sent by the client, parses the request, and obtains the first media stream identifier information and client information.
[0026] S220. Based on the first media stream identifier information, determine the first indicator information. The first indicator information is used to characterize the frequency of obtaining the first media stream from the content delivery network. The content delivery network includes a first type of edge node, a second type of edge node, and a third type of edge node. The first type of edge node refers to an edge node that is connected to at least two operator networks, the second type of edge node refers to an edge node that is connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of the operator network.
[0027] A Content Delivery Network (CDN) can be constructed by deploying multiple types of edge nodes within the network to create a virtual distribution network. This distributes media streams from the origin server to edge nodes closer to the client for caching. When a client initiates a media stream retrieval request, it can obtain the media stream from the nearest edge node, reducing the load on the origin server. Three different types of edge nodes are deployed in the CDN: Type 1 edge nodes, Type 2 edge nodes, and Type 3 edge nodes.
[0028] Type I edge nodes refer to distributed node devices deployed close to the user side and simultaneously connected to at least two different operator network links. Type I edge nodes can directly provide media stream distribution services to clients on different operator networks, avoiding bandwidth loss and increased latency caused by cross-operator network transmission, thereby effectively reducing cross-network bandwidth usage costs. For example, a Type I edge node can be considered a multi-line edge node. A Type I edge node can also refer to an edge node that simultaneously connects to all existing operator networks. There can be multiple Type I edge nodes.
[0029] The second type of edge node can be a distributed node device deployed close to the client side and connected to only a single operator's network. This type of edge node possesses high-performance hardware configuration and network forwarding capabilities, and uses standard ports, such as port 80 or port 443, when providing services. Using standard ports for communication effectively avoids restrictions on non-standard ports due to firewalls and routing policies, improving the universality and penetration of media stream transmission, and achieving efficient and universal media stream transmission. The second type of edge node has high network stability, strong data forwarding capabilities, and is compatible with access requests from various client devices. It delivers media streams directly to the client, thus enabling it to provide high-quality media streams. For example, a second type of edge node can be considered a standard edge node. There can be multiple second-type edge nodes.
[0030] The third type of edge node refers to a service node deployed by an Internet Service Provider (ISP) and located at the edge of the operator's network. Directly affiliated with the operator's network and close to the client access side, the third type of edge node can effectively reduce media stream transmission latency and cross-network bandwidth costs. It can also serve as a low-cost replacement for the second type of edge node. For example, it could refer to an ISP edge node. The third type of edge node can be considered a low-cost alternative edge node. Multiple third type edge nodes are possible. The service quality of the third type of edge node is slightly lower than that of the second type of edge node. The bandwidth usage cost of the third type of edge node is also lower than that of the second type of edge node. It should be noted that third type edge nodes use non-standard ports when providing services, thus requiring media streams to be retrieved from the third type of edge node via these non-standard ports.
[0031] The first metric can be used to characterize the frequency of acquiring the first media stream from the entire content delivery network (including first-type edge nodes, second-type edge nodes, and third-type edge nodes), i.e., the global popularity of the first media stream in the entire network. For example, the first metric could refer to the number of clients acquiring the first media stream from the entire content delivery network per unit time.
[0032] For example, the controller can acquire and update stored media stream metric information in real time or periodically. This media stream metric information may include the frequency with which each media stream is acquired from the content delivery network. In practical applications, the controller can obtain first metric information from the stored media stream metric information based on first media stream identifier information, thereby improving the efficiency and accuracy of determining the first metric information.
[0033] S230. Based on the first indicator information and client information, determine the first edge node from the first type of edge node, the second type of edge node and the third type of edge node.
[0034] Here, the first edge node refers to an edge node that matches the first indicator information and the client information. The first edge node can be considered as a suitable edge node for acquiring the first media stream, ensuring media stream service quality while reducing bandwidth usage costs. The first edge node can be a first-type edge node, a second-type edge node, or a third-type edge node, specifically determined based on the first indicator information. For example, different first edge nodes can be determined based on different first indicator information. By distributing and scheduling the first streaming media based on the first indicator information and client information, bandwidth usage costs can be reduced while ensuring media stream service quality.
[0035] In one scenario, based on the first metric information, a fourth type of edge node is determined from the first, second, and third types of edge nodes. The fourth type of edge node refers to the category to which the first edge node belongs. Based on client information, the first edge node is determined from the fourth type of edge nodes. For example, the fourth type of edge node corresponding to the first metric information is determined based on the metric information ranges corresponding to the first, second, and third types of edge nodes. Different types of edge nodes correspond to different metric information ranges. For instance, if the metric information range corresponding to the first type of edge node includes the first metric information, the first type of edge node is determined to be a fourth type of edge node; if the metric information range corresponding to the second type of edge node includes the first metric information, the second type of edge node is determined to be a fourth type of edge node; and if the metric information range corresponding to the third type of edge node includes the first metric information, the third type of edge node is determined to be a fourth type of edge node. The first edge node matching the client information can be determined from the fourth type of edge nodes using a proximity allocation and load balancing approach.
[0036] S240. Send the first edge node information to the client so that the client can obtain the first media stream from the first edge node based on the first edge node information.
[0037] The first edge node information can refer to the node information of the first edge node. The first edge node is the edge node used to distribute the first media stream.
[0038] For example, the controller can send the first edge node information to the client. Based on the received first edge node information, the client directly obtains the first media stream from the first edge node corresponding to the first edge node information. For instance, the client resends the first media stream retrieval request to the first edge node. The first edge node receives the request and, if the first media stream is already cached, directly sends the cached first media stream to the client. If the first media stream is not cached, it retrieves the first media stream from the origin based on the origin retrieval method corresponding to the first edge node, sends the obtained first media stream to the client, and caches the first media stream, thereby completing the video distribution and retrieval process.
[0039] For example, when the first edge node is a first-type edge node, it can obtain the first media stream directly from the source station across the operator's network without going through intermediate nodes, thus saving broadband usage costs. When the first edge node is a second-type edge node, a high-quality first media stream can be obtained through it, thus ensuring the quality of media stream service. When the first edge node is a third-type edge node, obtaining the first media stream by using a low-cost third-type edge node also reduces broadband usage costs.
[0040] In one scenario, when the first edge node is either a first-class edge node or a second-class edge node, the first edge node information includes: the address information of the first edge node. The address information of the first edge node can refer to its IP (Internet Protocol) address.
[0041] When the first edge node is either a first-class edge node or a second-class edge node, both first-class and second-class edge nodes use standard ports, so only the address information of the first edge node needs to be sent to the client. Based on the address information of the first edge node, the client establishes a network connection with the first edge node, thereby realizing the transmission and acquisition of the first media stream.
[0042] In one scenario, when the first edge node is a type 3 edge node, the first edge node information includes: the address information and port information of the first edge node. The port information may be a communication port number used to identify the media stream acquisition process within the first edge node.
[0043] When the first edge node is a type 3 edge node, it uses non-standard ports, necessitating the transmission of the first edge node's address and port information to the client. Based on this information, the client establishes a network connection with the first edge node, enabling the transmission and acquisition of the first media stream. The client also includes built-in protocol support for non-standard ports, capable of parsing the first edge node information to obtain specific port information and handling certificate verification and secure connection establishment under non-standard ports. This solves the problem of heterogeneous resources being incompatible with standard browsers or players.
[0044] It should be noted that in live streaming scenarios, edge nodes need to acquire and cache new live video streams in real time. Applying the aforementioned technical solutions can significantly reduce edge bandwidth usage costs in live streaming scenarios. In video-on-demand scenarios, the cached video streams in edge nodes have a certain cache expiration period. When the cache expiration period is reached, the cached video stream is deleted. Therefore, in video-on-demand scenarios, it is also necessary to continuously retrieve video streams from the origin. Applying the aforementioned technical solutions can also significantly reduce edge bandwidth usage costs in video-on-demand scenarios.
[0045] The above method involves receiving a first media stream acquisition request from a client. This request includes a first media stream identifier and client information. Based on the first media stream identifier, first indicator information is determined. This first indicator information characterizes the frequency of acquiring the first media stream from the content delivery network. Based on the first indicator information and the client information, a matching first edge node is determined from first-type, second-type, and third-type edge nodes in the content delivery network. The controller then sends the first edge node information to the client, which acquires the first media stream from the first edge node based on this information. By distributing and acquiring media streams based on first-type, second-type, and third-type edge nodes, bandwidth usage costs are reduced while maintaining media stream service quality.
[0046] Figure 3 This is a flowchart illustrating another media stream distribution method provided under one scenario. Based on the above embodiments, the process of determining the first edge node is described in detail. Explanations of terms that are the same as or corresponding to those in the above embodiments are not repeated here. Figure 3 As shown, the media stream distribution method can specifically include the following steps: S310. Receive a first media stream acquisition request. The first media stream acquisition request is sent by the client and includes first media stream identification information and client information.
[0047] S320. Based on the first media stream identifier information, determine the first indicator information. The first indicator information is used to characterize the frequency of obtaining the first media stream from the content delivery network. The content delivery network includes a first type of edge node, a second type of edge node, and a third type of edge node. The first type of edge node refers to an edge node that is connected to at least two operator networks, the second type of edge node refers to an edge node that is connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of the operator network.
[0048] S330. In response to the first indicator information being less than or equal to the first threshold, a first edge node is determined from the first type of edge nodes based on the client information.
[0049] The first threshold can refer to the maximum indicator information when a media stream belongs to an extremely cold stream. For example, the first threshold can refer to the maximum popularity of an extremely cold stream. An extremely cold stream can refer to a media stream that is extremely sparsely distributed across various regions.
[0050] For example, if the first indicator information is less than or equal to the first threshold, it indicates that the first media stream is an extremely cold stream. At this time, the first type of edge node that matches the client information is determined as the first edge node. This utilizes the ability of the first type of edge node to directly return to the origin across regions, avoiding multiple inefficient cascading forwards caused by cross-ISP restrictions and reducing transit costs.
[0051] In one scenario, step S330, "determining the first edge node from the first type of edge nodes based on client information," may include: determining the first network partition based on client location information and network partition information of the first type of edge nodes, and obtaining at least one first type of edge node in the first network partition; determining the first edge node from at least one first type of edge node based on the load information of the first type of edge nodes.
[0052] The network partition information for the first type of edge nodes can be obtained by dividing all first-type edge nodes in the content delivery network based on their geographical information. This network partition information can include: multiple network partitions, the geographical range corresponding to each network partition, and all first-type edge nodes contained within each network partition. A first network partition can refer to a network partition that matches the client's location information. The load information for the first type of edge nodes can be used to characterize the current resource consumption and service pressure of these nodes, such as CPU (Central Processing Unit) utilization and memory usage.
[0053] For example, the client's location information is matched with the geographical range corresponding to each network partition of the first type of edge nodes to determine the first network partition that matches successfully. The first network partition is the network partition closest to the client. All first type edge nodes in the first network partition are obtained. If only one first type edge node exists in the first network partition, that first type edge node is determined as the first edge node. If at least two first type edge nodes exist in the first network partition, a third edge node is determined based on the load information of each first type edge node. The third edge node is a first type edge node whose load information is less than a load threshold. If only one third edge node exists, that third edge node is determined as the first edge node; if at least two third edge nodes exist, either third edge node is determined as the first edge node, thus ensuring load balancing of the first type of edge nodes. By utilizing the first type of edge nodes for acquiring extremely cold streams, a large amount of invalid relay traffic in the content delivery network can be effectively eliminated, reducing bandwidth usage costs.
[0054] S340. In response to the first indicator information being greater than the first threshold and less than or equal to the second threshold, the first edge node is determined from the second type of edge nodes based on the client information.
[0055] The second threshold can refer to the maximum indicator information when the media stream belongs to the cold stream category. For example, the second threshold can refer to the maximum heat of the cold stream. The heat of a cold stream is slightly higher than that of an extremely cold stream. The second threshold is greater than the first threshold.
[0056] For example, if the first indicator information is greater than the first threshold and less than or equal to the second threshold, it indicates that the first media stream is a cold stream. At this time, the second type of edge node that matches the client information is determined as the first edge node, so as to use the second type of edge node to provide high-quality media stream service.
[0057] In one scenario, step S340, "determining the first edge node from the second type of edge nodes based on client information," may include: determining a second network partition based on client location information, operator network identification information, and network partition information of the second type of edge nodes, and obtaining at least one second type of edge node in the second network partition; determining the first edge node from at least one second type of edge node based on media stream acquisition record information and load information of the second type of edge nodes.
[0058] The network partitioning information for the second type of edge nodes can be obtained by dividing all second-type edge nodes in the content delivery network based on their geographical information and the network identification information of the connected operators. This network partitioning information can include: multiple network partitions, the geographical range and operator network identification information corresponding to each network partition, and all second-type edge nodes contained within each network partition. A second network partition can refer to a network partition that matches the client's location information and operator network identification information. The media stream acquisition record information for the second type of edge nodes can be used to record all media stream information being acquired or already acquired from the second type of edge nodes, i.e., the streaming media access objects carried by the second type of edge nodes. The load information for the second type of edge nodes can be used to characterize the current resource consumption and service pressure status information of the second type of edge nodes, such as CPU utilization and memory utilization.
[0059] For example, the client's location information and the operator network identification information used by the client are matched with the geographical range and operator network identification information corresponding to each network partition of the second type of edge node to determine the successfully matched second network partition. The second network partition is the network partition closest to the client and has the same operator network identification information. All second type edge nodes in the second network partition are obtained. In response to the existence of only one second type edge node in the second network partition, this second type edge node is determined as the first edge node. In response to the existence of at least two second type edge nodes in the second network partition, a fourth edge node is determined based on the first media stream identification information and the media stream acquisition record information of each second type edge node. The fourth edge node is a second type edge node whose media stream acquisition record information contains the first media stream identification information. The fourth edge node is a second type edge node that has already carried the first media stream acquisition request. Based on the load information of each fourth type edge node, a fifth edge node is determined. The fifth edge node is a fourth type edge node whose load information is less than the load threshold. In response to the existence of only one fifth edge node, that fifth edge node is designated as the first edge node; in response to the existence of at least two fifth edge nodes, either fifth edge node is designated as the first edge node. This ensures load balancing among the second-type edge nodes and allows the aggregation of first media stream acquisition requests scattered across a large number of second-type edge nodes to a smaller number of second-type edge nodes, thereby improving cache hit rate, reducing back-to-origin bandwidth, and consequently lowering bandwidth usage costs. By utilizing first-type edge nodes for acquiring extremely cold streams, a large amount of invalid relay traffic in the content delivery network can be effectively eliminated, reducing bandwidth usage costs.
[0060] S350, In response to the first indicator information being greater than the second threshold, based on the client information, determine the first edge node from the second type of edge nodes and the third type of edge nodes.
[0061] For example, if the first indicator information is greater than the second threshold, it indicates that the first media stream is a hot stream. In this case, among the second and third types of edge nodes, the node that matches the client information is identified as the first edge node. For instance, if the first indicator information is greater than the second threshold, the first edge node can be either a second-type edge node or a third-type edge node, which can be determined based on the client information. For example, among the second and third types of edge nodes, the node that is closest to the client and has the same operator network identification information is identified as the first edge node.
[0062] In one scenario, step S350, "determining the first edge node from the second type of edge nodes and the third type of edge nodes based on client information," may include the following steps S3501-S3504: S3501. Based on client information, determine the second edge node from the second type of edge nodes.
[0063] For example, based on the client's location information, the operator network identification information used by the client, and the network partition information of the second type of edge node, a second network partition is determined, and at least one second type of edge node in the second network partition is obtained; based on the media stream acquisition recording information and load information of the second type of edge node, a second edge node is determined from at least one second type of edge node.
[0064] The process of determining the second edge node is the same as the process of determining the first edge node from the second type of edge nodes based on client information, as described above. Please refer to the relevant description above, and it will not be repeated here.
[0065] S3502. Determine the second indicator information, which is used to characterize the frequency of obtaining the first media stream from the second edge node.
[0066] The second metric can be used to characterize the frequency of obtaining the first media stream from the second edge node in the content delivery network, i.e., the local popularity of the first media stream in a single edge node. For example, the second metric could refer to the number of clients obtaining the first media stream from the second edge node per unit time.
[0067] For example, the controller can acquire and update stored media stream metric information in real time or periodically. The media stream metric information may also include the frequency of acquiring each media stream from each edge node. In practical applications, the controller can obtain second metric information from the stored media stream metric information based on first media stream identifier information, thereby improving the efficiency and accuracy of determining the second metric information.
[0068] S3503, In response to the second indicator information being greater than or equal to the third threshold, determine the first edge node from the second edge node and the third type of edge node.
[0069] The third threshold can refer to the minimum indicator information when the heat flow exhibits a hot state in a single edge node. When the second indicator information is greater than or equal to the third threshold, it indicates that the first media flow is not only a global heat flow but also a local heat flow state, and the second edge node is a high-heat node that has carried the first media flow. In this case, the second edge node can be determined as the first edge node, or the first edge node can be determined from the third type of edge nodes based on the client information.
[0070] For example, the step S3503 of "determining the first edge node from the second edge node and the third type of edge node" may include: determining the second edge node as the first edge node in response to the second indicator information being greater than or equal to the third threshold and less than the fourth threshold; and determining the first edge node from the third type of edge nodes based on the client information in response to the second indicator information being greater than or equal to the fourth threshold.
[0071] When the second indicator is greater than or equal to the third threshold but less than the fourth threshold, it indicates that the first media stream has high popularity at the second edge node. In this case, the second edge node can be directly identified as the first edge node, allowing the first media stream to be obtained directly from the high-population node already carrying it, eliminating invalid relay traffic and back-to-origin traffic. When the second indicator is greater than or equal to the fourth threshold, it indicates that the first media stream has extremely high popularity at the second edge node. In this case, the third type of edge node matching the client information can be identified as the first edge node, allowing the first media stream to be obtained from the low-cost third type of edge node. Due to the high hit rate of the hot stream cache, the third type of edge node generates fewer additional back-to-origin requests, thereby maximizing the bandwidth utilization of low-cost nodes by leveraging the high concurrency characteristics of hot streams, significantly reducing edge bandwidth costs, and avoiding the cost overhead caused by frequent back-to-origin requests.
[0072] For example, determining a first edge node from third-type edge nodes based on client information includes: determining a third network partition based on client location information, operator network identification information, and network partition information of the third-type edge nodes, and obtaining at least one third-type edge node in the third network partition; and determining a first edge node from at least one third-type edge node based on the load information of the third-type edge nodes.
[0073] The network partitioning information for third-category edge nodes can be obtained by dividing all third-category edge nodes in the content delivery network based on their geographical location and the network identifier of the operator to which they belong. This network partitioning information can include: multiple network partitions, the geographical range and operator network identifier of each network partition, and all third-category edge nodes contained within each network partition. A third network partition can refer to a network partition that matches the client's location information and operator network identifier. The load information for third-category edge nodes can be used to characterize the current resource consumption and service pressure of these nodes, such as CPU utilization and memory usage.
[0074] For example, the client's location information and the operator network identification information used by the client are matched with the geographical range and operator network identification information corresponding to each network partition of the third-type edge node to determine the successfully matched second network partition. The third network partition is the network partition closest to the client and with the same operator network identification information. All third-type edge nodes in the third network partition are obtained. In response to the existence of only one third-type edge node in the third network partition, this third-type edge node is determined as the first edge node. In response to the existence of at least two third-type edge nodes in the third network partition, a sixth edge node is determined based on the load information of each third-type edge node. The sixth edge node refers to a third-type edge node whose load information is less than the load threshold. In response to the existence of only one sixth edge node, this sixth edge node is determined as the first edge node; in response to the existence of at least two sixth edge nodes, either sixth edge node is determined as the first edge node, thereby ensuring the load balancing of the first-type edge nodes.
[0075] S3504. In response to the second indicator information being less than the third threshold, the second edge node and the second indicator information are re-determined from the second type of edge nodes.
[0076] If the second indicator information is less than the third threshold, it indicates that although the first media stream is a global hot stream, it is a local cold stream. In this case, a new second edge node needs to be determined from the second type of edge nodes. This new second edge node is different from the previously determined one. Based on the newly determined second edge node, step S3502 is executed again to re-determine the second indicator information. If the re-determined second indicator information is still less than the third threshold, it is necessary to continue re-determining the second edge node and the second indicator information from the second type of edge nodes until the determined second indicator information is greater than or equal to the third threshold. This stops the local cold nodes from returning to the source, thereby eliminating invalid relay traffic. By obtaining the first media stream from high-heat nodes already carrying it or from low-cost third-type edge nodes, the bandwidth usage cost in the media stream distribution and acquisition process can be reduced at a lower cost.
[0077] This paper proposes a method to effectively eliminate a large amount of invalid relay traffic within the content delivery network (CDN) by directing globally extremely cold media streams to first-type edge nodes, aggregating globally relatively cold media streams to at least a few second-type edge nodes, directing globally hot but locally cold media streams to second-type edge nodes that already carry the stream and have a certain level of popularity, and distributing globally hot but locally extremely hot media streams to low-cost third-type edge nodes. This significantly reduces the ratio of internal traffic to edge traffic, greatly improves the cache hit rate and transmission efficiency of the CDN, and thus achieves a substantial overall saving in relative bandwidth costs.
[0078] It should be noted that the number of media streams belonging to the global hot stream is less than the number belonging to the global cold stream. Only a very small number of high-intensity hot streams undergo fine-grained flow and node-level heat statistics, while the vast majority of cold streams are collected with coarse-grained global heat status data. This differentiated data collection ensures scheduling accuracy while keeping the controller's memory and bandwidth consumption to a very low level, thereby reducing controller overhead costs.
[0079] S360. Send the first edge node information to the client so that the client can obtain the first media stream from the first edge node based on the first edge node information.
[0080] The above method determines a first edge node from a first type of edge node based on client information when the first indicator information is less than or equal to a first threshold; determines a first edge node from a second type of edge node based on client information when the first indicator information is greater than the first threshold and less than or equal to a second threshold; and determines a first edge node from both a second type of edge node and a third type of edge node based on client information when the first indicator information is greater than the second threshold. This achieves reasonable scheduling and distribution of media streams based on the first indicator information, reducing bandwidth usage costs while ensuring the quality of media stream services.
[0081] Figure 4 This is a flowchart illustrating a media stream acquisition method for one scenario, applicable to media stream acquisition via a content delivery network, particularly suitable for acquiring live video streams in live streaming scenarios. This method can be executed by a media stream acquisition device, which can be implemented in software and / or hardware. Optionally, it can be implemented via an electronic device, such as a client. Figure 4 As shown, the media stream acquisition method may specifically include the following steps: S410. Generate a first media stream acquisition request. The first media stream acquisition request includes first media stream identification information and client information.
[0082] The first media stream can refer to the media stream to be acquired. A media stream can be a time-series data stream composed of continuous, chronologically arranged multimedia data units. The media stream can be transmitted, processed, distributed, or played via a network in a streaming manner. The media stream may carry timestamps, synchronization information, and encoding format information. The receiving end can decode and render the received segmented media stream data in real time without acquiring the complete data. For example, the first media stream may include, but is not limited to, video or audio streams. Video streams may include live video streams or video-on-demand video streams.
[0083] The first media stream acquisition request can be an instruction or message used to request the acquisition of the first media stream data content. The first media stream identification information is information used to uniquely identify the first media stream in order to distinguish different streaming media. The client can refer to the playback end of the first media stream. Client information can refer to the client information required to acquire the first media stream. For example, client information may include client location information and the operator network identification information used by the client. The client location information can refer to the geographical location of the client, such as a province or city. The operator network identification information used by the client can refer to the identification data of the operator network currently accessed by the client, in order to distinguish different operator networks. The operator network can refer to the public data communication network provided by an Internet Service Provider (ISP).
[0084] For example, when a client needs to obtain a first media stream, it can generate a first media stream acquisition request.
[0085] S420. Send a first media stream acquisition request to the controller, so that the controller determines first indicator information based on the first media stream identification information. The first indicator information is used to characterize the frequency of acquiring the first media stream from the content delivery network. The content delivery network includes a first type of edge node, a second type of edge node, and a third type of edge node. The first type of edge node refers to an edge node that is connected to at least two operator networks, the second type of edge node refers to an edge node that is connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of the operator network. Based on the first indicator information and client information, determine the first edge node from the first type of edge node, the second type of edge node, and the third type of edge node, and return the first edge node information.
[0086] Here, "controller" can refer to an electronic device used to distribute media streams. A controller can refer to a controller node in a content delivery network, such as a scheduling node. There can be one or more controllers controlling the content delivery network. "First edge node information" can refer to the node information of a first edge node. The first edge node is the edge node used to distribute the first media stream.
[0087] For example, the client sends a first media stream acquisition request to the controller based on the controller address information. The controller parses the received first media stream acquisition request to obtain first media stream identifier information and client information. Based on the first media stream identifier information, the controller can obtain first indicator information from stored media stream indicator information, and based on the first indicator information, determine a fourth type of edge node from the first type of edge node, the second type of edge node, and the third type of edge node, where the fourth type of edge node refers to the category to which the first edge node belongs; based on the client information, the controller determines the first edge node from the fourth type of edge nodes. The controller then sends the first edge node information to the client.
[0088] S430. Based on the information of the first edge node, obtain the first media stream from the first edge node.
[0089] For example, the client directly retrieves the first media stream from the first edge node corresponding to the received first edge node information. For instance, the client resends the first media stream retrieval request to the first edge node. Upon receiving the request, if the first media stream is already cached, the first edge node directly sends the cached first media stream to the client. If the first media stream is not cached, it retrieves the first media stream using the origin-following method corresponding to the first edge node, sends the retrieved first media stream to the client, and caches the first media stream, thus completing the video retrieval process.
[0090] For example, when the first edge node is a first-type edge node, it can obtain the first media stream directly from the source station across the operator's network without going through intermediate nodes, thus saving broadband usage costs. When the first edge node is a second-type edge node, a high-quality first media stream can be obtained through it, thus ensuring the quality of media stream service. When the first edge node is a third-type edge node, obtaining the first media stream by using a low-cost third-type edge node also reduces broadband usage costs.
[0091] It should be noted that in live streaming scenarios, edge nodes need to acquire and cache new live video streams in real time. Applying the aforementioned technical solutions can significantly reduce edge bandwidth usage costs in live streaming scenarios. In video-on-demand scenarios, the cached video streams in edge nodes have a certain cache expiration period. When the cache expiration period is reached, the cached video stream is deleted. Therefore, in video-on-demand scenarios, it is also necessary to continuously retrieve video streams from the origin. Applying the aforementioned technical solutions can also significantly reduce edge bandwidth usage costs in video-on-demand scenarios.
[0092] The above method involves the client generating a first media stream acquisition request and sending it to the controller. The controller determines first indicator information based on the first media stream identifier information, and then, based on the first indicator information and client information, identifies a matching first edge node from the first, second, and third types of edge nodes in the content delivery network. The controller sends the first edge node information to the client, and the client acquires the first media stream from the first edge node based on this information. By distributing and acquiring media streams based on the first, second, and third types of edge nodes, bandwidth usage costs are reduced while ensuring the quality of media stream service.
[0093] Figure 5This is a flowchart illustrating another media stream acquisition method provided under one scenario. Based on the above embodiments, the acquisition process of the first media stream is described in detail. Explanations of terms that are the same as or corresponding to those in the above embodiments are not repeated here. For example... Figure 5 As shown, the media stream acquisition method can specifically include the following steps: S510, in response to the first playback operation, generate a first media stream acquisition request.
[0094] The first playback operation is used to play the second media stream. For example, the first playback operation could refer to the operation used to display the second media stream on the playback page. For example, the second media stream could be the currently playing media stream in the playlist, and the first media stream could be the media stream to be played in the playlist. For example, the playlist could include all media streams that the client needs to play, arranged according to a preset playback order. For example, the playlist could refer to a media stream recommendation list, etc. The second media stream could refer to the media stream currently playing in the playlist. The first media stream could refer to the next media stream to be played in the playlist. The second media stream is played before the first media stream.
[0095] For example, when the client plays a media stream based on a playlist, upon detecting the first playback operation, in addition to playing the second media stream, the client also obtains the next second media stream to be played from the playlist. If the second media stream is not played, a first media stream acquisition request is generated so as to obtain the first media stream in advance before playing the second media stream, thus avoiding the situation where the first media stream is delayed due to excessive redirection time.
[0096] In one scenario, step S510 may include: in response to the first playback operation, sending a first media stream domain name resolution request to a domain name server, so that the domain name server performs domain name resolution based on the first media stream domain name resolution request, obtains controller address information, and returns the controller address information.
[0097] The first media stream domain name resolution request can be an instruction or message used to request the resolution of the domain name of the first media stream. A domain name server is a server that can translate domain names to their corresponding IP addresses. Controller address information can refer to the controller's IP address.
[0098] For example, the domain name server can pre-configure the controller address information corresponding to the domain name of each media stream. When the client needs to obtain the first media stream, it first sends a first media stream domain name resolution request to the domain name server. The domain name server performs domain name resolution based on the received first media stream domain name resolution request, obtains the controller address information corresponding to the domain name of the first media stream, and returns the controller address information to the client so that the client can perform media stream distribution processing from the specified controller.
[0099] S520: Send a first media stream acquisition request to the controller, so that the controller determines first indicator information based on the first media stream identification information. The first indicator information is used to characterize the frequency of acquiring the first media stream from the content delivery network. The content delivery network includes a first type of edge node, a second type of edge node, and a third type of edge node. The first type of edge node refers to an edge node that is connected to at least two operator networks, the second type of edge node refers to an edge node that is connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of the operator network. Based on the first indicator information and client information, determine the first edge node from the first type of edge node, the second type of edge node, and the third type of edge node, and return the first edge node information.
[0100] In one scenario, step S520 may include: sending a first media stream acquisition request to the controller based on the controller address information.
[0101] For example, the client sends a first media stream acquisition request to a specified controller based on the received controller address information, so that the first edge node information to which the redirection can be obtained more quickly from the controller.
[0102] S530. Based on the information of the first edge node, obtain the first media stream from the first edge node.
[0103] In one scenario, step S530 may include: establishing a data transmission channel between the first edge node and the first edge node based on the first edge node information; and obtaining first media stream data from the first edge node through the data transmission channel, wherein the first media stream data includes a portion of the data in the first media stream.
[0104] The first media stream data can refer to the media stream data that is initially played in the first media stream. For example, the first media stream data can refer to the media stream data that has been played for a preset duration, such as the first frame data of the first media stream.
[0105] For example, even before playing the first media stream, the client establishes a data transmission channel with the first edge node based on the redirected first edge node information. This could involve establishing a TCP (Transmission Control Protocol) connection or a QUIC (Quick UDP Internet Connections) connection with the first edge node. Through this established data transmission channel, the first media stream data from the first edge node is transmitted to the client, allowing the client to obtain the first media stream data in advance, thus achieving pre-fetching of the media stream data.
[0106] In one scenario, the method may further include: in response to a second playback operation, playing first media stream data and acquiring second media stream data from a first edge node via a data transmission channel; wherein the second playback operation is an operation for playing the first media stream, and the second media stream data includes the remaining data in the first media stream.
[0107] The second playback operation is used to play the first media stream. For example, the second playback operation could refer to the operation of displaying the first media stream on the playback page, such as a swipe operation to display the first media stream on the playback page, so that the first media stream can be played on the playback page. The second media stream data refers to the remaining data in the first media stream besides the first media stream data itself. For example, the second media stream data could refer to the media stream data for the remaining playback duration.
[0108] For example, when a second playback operation is detected, it indicates that the first media stream needs to be played. At this time, the pre-obtained first media stream data can be played directly without causing a first frame playback delay. Furthermore, by directly reusing the established data transmission channel, the second media stream data can be obtained from the first edge node, thereby obtaining and playing the complete first media stream.
[0109] For example, Figure 6 An example diagram of a media stream acquisition process is given, such as... Figure 6 As shown, before the client plays the first media stream, it performs domain name resolution, sends a request to the control to trigger the redirection process, and establishes a connection and pre-fetches data with the edge node to which it is ultimately scheduled. This completely masks the network latency generated by the redirection process, thereby enabling zero-latency playback on the client while achieving fine-grained scheduling on the control end. This greatly reduces the first frame playback latency and playback stuttering rate, thus achieving a win-win situation for cost control and playback experience.
[0110] The above method generates a first media stream acquisition request in response to the first playback operation. This allows the first media stream to be acquired before the second media stream is played, thus avoiding playback delays caused by excessive redirection time.
[0111] Figure 7 This is a schematic diagram of a media streaming acquisition system for one scenario, applicable to situations where media streams are distributed and acquired based on a content delivery network. For example... Figure 7 As shown, the system specifically includes: a client 710, a first-type edge node 720, a second-type edge node 730, a third-type edge node 740, and a controller 750.
[0112] The first type of edge node 720 refers to an edge node connected to at least two operator networks. The second type of edge node 730 refers to an edge node connected to only one operator network. The third type of edge node 740 refers to an edge node deployed on the access side of an operator network. The controller 750 is used to implement the media stream distribution method as described in any of the methods herein; the client 710 is used to implement the media stream acquisition method as described in any of the methods herein.
[0113] Based on the above system, the controller receives a first media stream acquisition request from a client. This request includes a first media stream identifier and client information. Based on the first media stream identifier, first indicator information is determined. This first indicator information characterizes the frequency of acquiring the first media stream from the content delivery network. Based on the first indicator information and the client information, a matching first edge node is determined from the first, second, and third types of edge nodes in the content delivery network. The controller sends the first edge node information to the client, and the client acquires the first media stream from the first edge node based on this information. By distributing and acquiring media streams based on the first, second, and third types of edge nodes, bandwidth usage costs are reduced while ensuring the quality of media stream service.
[0114] Figure 8 This is a schematic diagram of a media streaming distribution device provided in one scenario, such as... Figure 8 As shown, the device may include: a request receiving module 810, an indicator information determination module 820, an edge node determination module 830, and an edge node information sending module 840.
[0115] The system includes: a request receiving module 810 for receiving a first media stream acquisition request sent by a client, the request including first media stream identifier information and client information; an indicator information determination module 820 for determining first indicator information based on the first media stream identifier information, the first indicator information representing the frequency of acquiring the first media stream from the content delivery network, the content delivery network including a first type of edge node, a second type of edge node, and a third type of edge node, wherein the first type of edge node refers to an edge node connected to at least two operator networks, the second type of edge node refers to an edge node connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of the operator network; an edge node determination module 830 for determining a first edge node from the first type of edge node, the second type of edge node, and the third type of edge node based on the first indicator information and the client information; and an edge node information sending module 840 for sending the first edge node information to the client, so that the client acquires the first media stream from the first edge node based on the first edge node information.
[0116] Based on the above apparatus, the controller receives a first media stream acquisition request sent by a client. The first media stream acquisition request includes first media stream identification information and client information. Based on the first media stream identification information, first indicator information is determined. The first indicator information is used to characterize the frequency of acquiring the first media stream from the content delivery network. Based on the first indicator information and the client information, a matching first edge node is determined from the first type of edge nodes, second type of edge nodes, and third type of edge nodes in the content delivery network. The controller sends the first edge node information to the client, and the client acquires the first media stream from the first edge node based on the first edge node information. By distributing and acquiring media streams based on the first type of edge nodes, second type of edge nodes, and third type of edge nodes, bandwidth usage costs are reduced while ensuring the quality of media stream service.
[0117] Optionally, the edge node determination module 830 includes: The first determining unit is configured to determine a first edge node from the first type of edge nodes based on the client information in response to the first indicator information being less than or equal to a first threshold. The second determining unit is configured to, in response to the first indicator information being greater than the first threshold and less than or equal to the second threshold, determine a first edge node from the second type of edge nodes based on the client information, wherein the second threshold is greater than the first threshold; The third determining unit is used to determine a first edge node from the second type of edge nodes and the third type of edge nodes based on the client information in response to the first indicator information being greater than the second threshold.
[0118] Optionally, the client information includes: client location information and the operator network identification information used by the client; The first determining unit is specifically used for: Based on the client location information and the network partition information of the first type of edge node, a first network partition is determined, and at least one first type of edge node in the first network partition is obtained; Based on the load information of the first type of edge nodes, a first edge node is determined from the at least one first type of edge nodes; The second determining unit is specifically used for: Based on the client location information, the operator network identification information, and the network partition information of the second type of edge node, a second network partition is determined, and at least one second type of edge node in the second network partition is obtained; Based on the media stream of the second type of edge node, record information and load information are obtained, and a first edge node is determined from the at least one second type of edge node.
[0119] Optionally, the third determining unit includes: The second edge node determination subunit is used to determine a second edge node from the second type of edge nodes based on the client information; The second indicator information determination subunit is used to determine the second indicator information, which is used to characterize the frequency of obtaining the first media stream from the second edge node. The first edge node determination subunit is configured to determine a first edge node from the second edge node and the third type of edge node in response to the second indicator information being greater than or equal to a third threshold; and to re-determine a second edge node and the second indicator information from the second type of edge node in response to the second indicator information being less than the third threshold.
[0120] Optionally, the first edge node determines the sub-unit, specifically for: In response to the second indicator information being greater than or equal to the third threshold and less than the fourth threshold, the second edge node is determined to be the first edge node; In response to the second indicator information being greater than or equal to the fourth threshold, a first edge node is determined from the third type of edge nodes based on the client information.
[0121] Optionally, when the first edge node is either the first type of edge node or the second type of edge node, the first edge node information includes: the address information of the first edge node; When the first edge node is the third type of edge node, the first edge node information includes: the address information and port information of the first edge node.
[0122] Optionally, the first media stream includes a video stream or an audio stream, wherein the video stream includes a live video stream or a video-on-demand video stream.
[0123] The media stream distribution device provided herein can execute the media stream distribution method provided in any embodiment of this invention, and has the corresponding functional modules and beneficial effects of executing the method.
[0124] Figure 9 This is a schematic diagram of the structure of a media stream acquisition device provided in one scenario, such as... Figure 9 As shown, the device may include: an acquisition request generation module 910, an acquisition request sending module 920, and a media stream acquisition module 930.
[0125] The system includes: a request generation module 910, used to generate a first media stream acquisition request, which includes first media stream identification information and client information; an acquisition request sending module 920, used to send the first media stream acquisition request to a controller, so that the controller determines first indicator information based on the first media stream identification information, the first indicator information being used to characterize the frequency of acquiring the first media stream from the content delivery network, the content delivery network including a first type of edge node, a second type of edge node, and a third type of edge node, wherein the first type of edge node refers to an edge node connected to at least two operator networks, the second type of edge node refers to an edge node connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of the operator network; based on the first indicator information and the client information, a first edge node is determined from the first type of edge node, the second type of edge node, and the third type of edge node, and the first edge node information is returned; and a media stream acquisition module 930, used to acquire the first media stream from the first edge node based on the first edge node information.
[0126] Based on the above apparatus, a first media stream acquisition request is generated by the client and sent to the controller. The controller determines first indicator information based on the first media stream identifier information, and based on the first indicator information and client information, determines a matching first edge node from the first type of edge nodes, second type of edge nodes, and third type of edge nodes in the content delivery network. The controller sends the first edge node information to the client, and the client acquires the first media stream from the first edge node based on the first edge node information. By distributing and acquiring media streams based on the first type of edge nodes, second type of edge nodes, and third type of edge nodes, bandwidth usage costs are reduced while ensuring the quality of media stream service.
[0127] Optionally, obtain the request generation module 910, specifically used for: In response to the first playback operation, a first media stream acquisition request is generated; The first playback operation is used to play the second media stream, which is the media stream currently playing in the playlist, and the first media stream is the media stream to be played in the playlist.
[0128] Optionally, obtain the request generation module 910, specifically used for: In response to the first playback operation, a first media stream domain name resolution request is sent to the domain name server, so that the domain name server performs domain name resolution based on the first media stream domain name resolution request, obtains controller address information, and returns the controller address information; The request sending module 920 is specifically used to: send the first media stream acquisition request to the controller based on the controller address information.
[0129] Optional, the media stream acquisition module 930 is specifically used for: Based on the information of the first edge node, a data transmission channel is established with the first edge node; The first media stream data is obtained from the first edge node through the data transmission channel. The first media stream data includes a portion of the data in the first media stream.
[0130] Optionally, the device may also include: The media stream playback module is used to respond to a second playback operation, play the first media stream data, and obtain the second media stream data from the first edge node through the data transmission channel; wherein, the second playback operation is an operation for playing the first media stream, and the second media stream data includes the remaining data in the first media stream.
[0131] The media stream acquisition device provided herein can execute the media stream acquisition method provided in any embodiment of this invention, and has the corresponding functional modules and beneficial effects of the method execution.
[0132] It is worth noting that the various units and modules included in the above-mentioned device are divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the scope of protection.
[0133] Figure 10 This is a schematic diagram of the structure of an electronic device provided in one scenario. See below for reference. Figure 10 It shows an electronic device suitable for implementing this technical solution (e.g., Figure 10 The diagram below shows the structure of the terminal device or server 500. The terminal device in this document may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital radio receivers, PDAs (Personal Digital Assistants), tablets, PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital televisions and desktop computers. Figure 10 The electronic devices shown are merely examples and should not impose any limitations on their functionality or scope of use.
[0134] like Figure 10 As shown, the electronic device 500 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 502 or a program loaded from storage device 508 into random access memory (RAM) 503. The random access memory 503 also stores various programs and data required for the operation of the electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0135] Typically, the following devices can be connected to the input / output interface 505: input devices 506 including, for example, a touchscreen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 507 including, for example, a liquid crystal display, speaker, vibrator, etc.; storage devices 508 including, for example, magnetic tape, hard disk, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 10 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0136] In particular, according to embodiments herein, the processes described in the above-referenced flowcharts can be implemented as computer software programs. For example, embodiments herein include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 509, or installed from storage device 508, or installed from read-only memory 502. When the computer program is executed by processing device 501, the aforementioned functions defined in the methods are performed.
[0137] The names of messages or information exchanged between multiple devices in the embodiments herein are for illustrative purposes only and are not intended to limit the scope of these messages or information.
[0138] The electronic device provided herein belongs to the same inventive concept as the media stream distribution method provided in the above embodiments, or to the same inventive concept as the media stream acquisition method provided in the above embodiments. Technical details not described in detail can be found in the above embodiments, and it has the same beneficial effects as the above embodiments.
[0139] This document provides a computer storage medium storing a computer program that, when executed by a processor, implements the media stream acquisition method provided in the above embodiments, or the program, when executed by a processor, implements the media stream acquisition method provided in the above embodiments.
[0140] It should be noted that the aforementioned computer-readable medium can be a computer-readable signal medium, a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory, a read-only memory, an erasable programmable read-only memory, an optical fiber, a portable compact disk read-only memory, an optical storage device, a magnetic storage device, or any suitable combination thereof. A computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (Radio Frequency), etc., or any suitable combination thereof.
[0141] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol), and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., self-organizing peer-to-peer networks), as well as any currently known or future-developed networks.
[0142] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0143] The aforementioned computer-readable medium carries one or more programs. When the electronic device executes the aforementioned one or more programs, the electronic device causes the electronic device to: receive a first media stream acquisition request, the first media stream acquisition request being sent by a client, the first media stream acquisition request including first media stream identification information and client information; determine first indicator information based on the first media stream identification information, the first indicator information being used to characterize the frequency of acquiring the first media stream from a content delivery network, the content delivery network including a first type of edge node, a second type of edge node, and a third type of edge node, wherein the first type of edge node refers to an edge node connected to at least two operator networks, the second type of edge node refers to an edge node connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of an operator network; determine a first edge node from the first type of edge node, the second type of edge node, and the third type of edge node based on the first indicator information and the client information; and send the first edge node information to the client, so that the client acquires the first media stream from the first edge node based on the first edge node information.
[0144] The beneficial effects of the aforementioned storage medium are as follows: By receiving a first media stream acquisition request sent by a client, which includes first media stream identification information and client information, and determining first indicator information based on the first media stream identification information, the first indicator information is used to characterize the frequency of acquiring the first media stream from the content delivery network. Based on the first indicator information and client information, a matching first edge node is determined from the first type of edge nodes, second type of edge nodes, and third type of edge nodes in the content delivery network. The controller sends the first edge node information to the client, and the client acquires the first media stream from the first edge node based on the first edge node information. By distributing and acquiring media streams based on the first type of edge nodes, second type of edge nodes, and third type of edge nodes, bandwidth usage costs are reduced while ensuring the quality of media stream service.
[0145] Alternatively, the aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: generate a first media stream acquisition request, the first media stream acquisition request including first media stream identification information and client information; send the first media stream acquisition request to a controller, so that the controller determines first indicator information based on the first media stream identification information, the first indicator information being used to characterize the frequency of acquiring the first media stream from a content delivery network, the content delivery network including a first type of edge node, a second type of edge node, and a third type of edge node, wherein the first type of edge node refers to an edge node connected to at least two operator networks, the second type of edge node refers to an edge node connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of an operator network; determine a first edge node from the first type of edge node, the second type of edge node, and the third type of edge node based on the first indicator information and the client information, and return the first edge node information; and acquire the first media stream from the first edge node based on the first edge node information.
[0146] The beneficial effects of the aforementioned storage medium are as follows: A client generates a first media stream acquisition request and sends it to the controller. The controller determines first indicator information based on the first media stream identifier information, and based on the first indicator information and client information, identifies a matching first edge node from the first, second, and third types of edge nodes in the content delivery network. The controller sends the first edge node information to the client, and the client acquires the first media stream from the first edge node based on this information. By distributing and acquiring media streams based on the first, second, and third types of edge nodes, bandwidth usage costs are reduced while ensuring the quality of media stream service.
[0147] Computer program code for performing the operations described herein may be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer may be connected to the user's computer via any type of network, including local area networks (LANs) or wide area networks (WANs), or it may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0148] The text also provides a computer program product, including a computer program that, when executed by a processor, implements the media stream distribution methods provided in the above embodiments.
[0149] The beneficial effects of the aforementioned program product are as follows: By receiving a first media stream acquisition request sent by a client, which includes first media stream identification information and client information, and determining first indicator information based on the first media stream identification information, the first indicator information is used to characterize the frequency of acquiring the first media stream from the content delivery network. Based on the first indicator information and client information, a matching first edge node is determined from the first type of edge node, the second type of edge node, and the third type of edge node in the content delivery network. The controller sends the first edge node information to the client, and the client acquires the first media stream from the first edge node based on the first edge node information. By distributing and acquiring media streams based on the first type of edge node, the second type of edge node, and the third type of edge node, bandwidth usage costs are reduced while ensuring the quality of media stream service.
[0150] Alternatively, the computer program may implement the media stream acquisition methods provided in the above embodiments when executed by a processor.
[0151] The beneficial effects of the aforementioned program product are as follows: The client generates a first media stream acquisition request and sends it to the controller. The controller determines first indicator information based on the first media stream identifier information, and based on the first indicator information and client information, identifies a matching first edge node from the first, second, and third types of edge nodes in the content delivery network. The controller sends the first edge node information to the client, and the client acquires the first media stream from the first edge node based on this information. By distributing and acquiring media streams based on the first, second, and third types of edge nodes, bandwidth usage costs are reduced while ensuring the quality of media stream service.
[0152] The computer program product includes a computer program carried on a non-transitory computer-readable medium, which contains program code for performing the methods described above. The program code can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network (including local area networks or wide area networks), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0153] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this document. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0154] The units described herein can be implemented in software or hardware. The name of a unit does not necessarily limit the unit itself; for example, the first acquisition unit can also be described as "a unit that acquires at least two Internet Protocol addresses".
[0155] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), Application Specific Standard Product (ASSP), System on Chip (SOC), Complex Programmable Logic Device (CPLD), and so on.
[0156] In the context of this document, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory, optical fibers, portable compact disk read-only memory, optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0157] The above description is merely a preferred embodiment and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of disclosure herein is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed herein that have similar functions.
[0158] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of this document. Certain features described in the context of individual implementations may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented individually or in any suitable sub-combination in multiple implementations.
[0159] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A media stream distribution method, comprising: Receive a first media stream acquisition request, which is sent by the client and includes first media stream identification information and client information; Based on the first media stream identifier information, a first indicator information is determined. The first indicator information is used to characterize the frequency of obtaining the first media stream from the content delivery network. The content delivery network includes a first type of edge node, a second type of edge node, and a third type of edge node. The first type of edge node refers to an edge node that is connected to at least two operator networks, the second type of edge node refers to an edge node that is connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of the operator network. Based on the first indicator information and the client information, a first edge node is determined from the first type of edge node, the second type of edge node, and the third type of edge node; Send first edge node information to the client so that the client can obtain the first media stream from the first edge node based on the first edge node information.
2. The media stream distribution method according to claim 1, wherein determining the first edge node from the first type of edge node, the second type of edge node, and the third type of edge node based on the first indicator information and the client information comprises: In response to the first indicator information being less than or equal to a first threshold, a first edge node is determined from the first type of edge nodes based on the client information; In response to the first indicator information being greater than the first threshold and less than or equal to the second threshold, a first edge node is determined from the second type of edge nodes based on the client information, wherein the second threshold is greater than the first threshold; In response to the first indicator information being greater than the second threshold, a first edge node is determined from the second type of edge nodes and the third type of edge nodes based on the client information.
3. The media stream distribution method of claim 2, the client information comprising: Client location information and the network identifier information of the operator used by the client; The step of determining the first edge node from the first type of edge nodes based on the client information includes: Based on the client location information and the network partition information of the first type of edge node, a first network partition is determined, and at least one first type of edge node in the first network partition is obtained; Based on the load information of the first type of edge nodes, a first edge node is determined from the at least one first type of edge nodes; The step of determining the first edge node from the second type of edge nodes based on the client information includes: Based on the client location information, the operator network identification information, and the network partition information of the second type of edge node, a second network partition is determined, and at least one second type of edge node in the second network partition is obtained; Based on the media stream of the second type of edge node, record information and load information are obtained, and a first edge node is determined from the at least one second type of edge node.
4. The media stream distribution method according to claim 2, wherein determining the first edge node from the second type of edge nodes and the third type of edge nodes based on the client information includes: Based on the client information, a second edge node is determined from the second type of edge nodes; Determine the second indicator information, which is used to characterize the frequency of obtaining the first media stream from the second edge node; In response to the second indicator information being greater than or equal to a third threshold, a first edge node is determined from the second edge node and the third type of edge node; In response to the second indicator information being less than the third threshold, the second edge node and the second indicator information are re-determined from the second type of edge nodes.
5. The media stream distribution method according to claim 4, wherein determining the first edge node from the second edge node and the third type of edge node in response to the second indicator information being greater than or equal to the third threshold comprises: In response to the second indicator information being greater than or equal to the third threshold and less than the fourth threshold, the second edge node is determined to be the first edge node; In response to the second indicator information being greater than or equal to the fourth threshold, a first edge node is determined from the third type of edge nodes based on the client information.
6. The media stream distribution method of claim 1, wherein the first edge node information comprises: The address information of the first edge node; When the first edge node is the third type of edge node, the first edge node information includes: the address information and port information of the first edge node.
7. The media stream distribution method of any of claims 1-6, the first media stream comprising: A video stream or an audio stream, wherein the video stream includes a live video stream or a video-on-demand video stream.
8. A method for acquiring a media stream, comprising: A first media stream acquisition request is generated, the first media stream acquisition request including first media stream identifier information and client information; A request to acquire the first media stream is sent to the controller, so that the controller determines first indicator information based on the first media stream identifier information. The first indicator information is used to characterize the frequency of acquiring the first media stream from the content delivery network. The content delivery network includes a first type of edge node, a second type of edge node, and a third type of edge node. The first type of edge node refers to an edge node that is connected to at least two operator networks, the second type of edge node refers to an edge node that is connected to only one operator network, and the third type of edge node refers to an edge node deployed on the access side of the operator network. Based on the first indicator information and the client information, a first edge node is determined from the first type of edge node, the second type of edge node, and the third type of edge node, and the first edge node information is returned. Based on the information of the first edge node, the first media stream is obtained from the first edge node.
9. The media stream acquisition method according to claim 8, wherein generating the first media stream acquisition request includes: In response to the first playback operation, a first media stream acquisition request is generated; The first playback operation is used to play the second media stream, which is the media stream currently playing in the playlist, and the first media stream is the media stream to be played in the playlist.
10. The media stream acquisition method according to claim 9, wherein generating a first media stream acquisition request in response to a first playback operation includes: In response to the first playback operation, a first media stream domain name resolution request is sent to the domain name server, so that the domain name server performs domain name resolution based on the first media stream domain name resolution request, obtains controller address information, and returns the controller address information; Sending the first media stream acquisition request to the controller includes: Based on the controller address information, the first media stream acquisition request is sent to the controller.
11. The media stream acquisition method according to claim 8, wherein acquiring the first media stream from the first edge node based on the first edge node information comprises: Based on the information of the first edge node, a data transmission channel is established with the first edge node; The first media stream data is obtained from the first edge node through the data transmission channel. The first media stream data includes a portion of the data in the first media stream.
12. The media stream acquisition method according to claim 11, further comprising: In response to the second playback operation, the first media stream data is played, and the second media stream data is obtained from the first edge node through the data transmission channel; wherein, the second playback operation is an operation for playing the first media stream, and the second media stream data includes the remaining data in the first media stream.
13. A media stream acquisition system, the system comprising: Client, first-class edge node, second-class edge node, third-class edge node, and controller; The first type of edge node refers to an edge node that is connected to at least two operator networks; The second type of edge node refers to an edge node that is connected to only one operator's network; The third type of edge node refers to the edge node deployed on the access side of the operator's network; The controller is used to implement the media stream distribution method as described in any one of claims 1-7; The client is used to implement the media stream acquisition method as described in any one of claims 8-12.
14. An electronic device, the electronic device comprising: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the media stream distribution method as described in any one of claims 1-7.
15. An electronic device, the electronic device comprising: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the media stream acquisition method as described in any one of claims 8-12.