Media content processing system
By using different media such as internal memory, NVMe, and SATA storage devices for differentiated storage based on the popularity tags of media content in edge nodes and source servers, the problem of insufficient storage capacity in edge nodes is solved, storage performance is improved, and server resource consumption is reduced.
Patent Information
- Application Number
- CN202411757569.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-03
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2044-12-03
AI Technical Summary
In existing technologies, the read and write capabilities of SATA storage device clusters at edge nodes are limited and cannot meet the storage needs of high-concurrency users, while NVMe storage devices have limited storage space and are difficult to perform well in scenarios where media content is frequently replaced.
Through the content library module and the cached media service module, media content is stored differently using different storage media such as internal memory, NVMe storage devices and SATA storage devices based on its popularity tags, thereby optimizing the use of storage resources. Edge nodes can obtain media content from the corresponding media or retrieve it from the source based on the popularity tags.
It enables the reasonable storage of content with different popularity levels, improves storage performance, reduces disk space for edge nodes, reduces server size and power consumption, and optimizes the utilization efficiency of storage resources.
Smart Images

Figure CN119583838B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of content distribution, and particularly relates to a media content processing system. BACKGROUND
[0002] In the application of Internet Protocol Television (IPTV) technology, the Content Delivery Network (CDN) technology is usually used to cache media content to edge nodes to support high concurrency access of users.
[0003] Among some related technologies, the edge node stores a large amount of media content through the high storage capacity of a cluster of Serial Advanced Technology Attachment (SATA) storage devices, but the read-write capacity of the cluster composed of SATA storage devices is limited and cannot fully meet the requirement of storage read-write capacity under high concurrency users. In some other related technologies, the edge node caches hot media through Non-Volatile Memory Express (NVMe) storage devices to improve the read-write performance, but the storage space of the NVMe storage device is limited and it is difficult to play the performance in the scene of frequent media content replacement. Therefore, there is a problem of being difficult to efficiently provide media content in the related technologies. SUMMARY
[0004] Therefore, it is necessary to provide a media content processing system aiming at the above technical problems.
[0005] In a first aspect, the present application provides a media content processing system, comprising:
[0006] a content library module and a cached media service module; the content library module is configured in a source server, and the cached media service module is configured in an edge node;
[0007] The content library module is configured to determine a first access strategy corresponding to each media content according to a hotness label corresponding to each media content, and store each media content to a corresponding first storage medium according to the first access strategy.
[0008] The cached media service module is configured to obtain a second access strategy corresponding to each media content according to the hotness label corresponding to each media content, and store at least part of the media content to a corresponding second storage medium according to the second access strategy.
[0009] The cache media service module is further configured to receive a media acquisition request, obtain a target content identifier and a target hotness label according to the media acquisition request, acquire target media content corresponding to the target content identifier from the corresponding second storage medium according to the second storage access strategy corresponding to the target hotness label, or acquire the target media content from the content library module, and return the target media content.
[0010] In one of the embodiments, the hotness labels include a first hotness label, a second hotness label, a third hotness label, and a fourth hotness label; the second storage medium includes an internal memory, a non-volatile memory express storage device, and a serial advanced technology attachment storage device; the cache media service module is configured to store the media content corresponding to the first hotness label to the internal memory, store the media content corresponding to the second hotness label to the non-volatile memory express storage device, and store the media content corresponding to the third hotness label to the serial advanced technology attachment storage device; the cache media service module is further configured to acquire the target media content corresponding to the target content identifier from the internal memory when the target hotness label is the first hotness label, acquire the target media content corresponding to the target content identifier from the non-volatile memory express storage device when the target hotness label is the second hotness label, acquire the target media content corresponding to the target content identifier from the serial advanced technology attachment storage device when the target hotness label is the third hotness label, and acquire the target media content corresponding to the target content identifier from the content library module when the target hotness label is the fourth hotness label.
[0011] In one of the embodiments, the hotness labels include a first hotness label, a second hotness label, a third hotness label, and a fourth hotness label; the first storage medium includes an internal memory, a non-volatile memory express storage device, and a distributed storage system; the content library module is configured to store each of the media content to the distributed storage system, store the media content corresponding to the first hotness label to the internal memory, and store the media content corresponding to the second hotness label to the non-volatile memory express storage device.
[0012] In one of the embodiments, the system further comprises a log module, a content scheduling module; the log module is configured to acquire media request log data, and according to the media request log data, count the request heat of each media content to obtain heat statistical data; the content library module is further configured to acquire the heat statistical data, determine the heat label corresponding to each media content according to the heat statistical data, and generate a content heat table; the content heat table comprises an association relationship between the content identifier corresponding to each media content and the heat label; the content scheduling module is configured to acquire the content heat table, and send the content heat table to the cache media service module; the cache media service module is further configured to obtain the heat label corresponding to each media content according to the content heat table.
[0013] In one of the embodiments, the log module is further configured to count the request heat of each media content according to a preset time window according to the media request log data to obtain the heat statistical data; and / or, the log module is further configured to count the type request heat of each media content corresponding to each request type according to the request type corresponding to each media request log data; obtain the heat statistical data of each media content according to each type request heat of each media content; and / or, the log module is further configured to update the heat statistical data incrementally according to the media request log data to obtain updated heat statistical data.
[0014] In one of the embodiments, the content library module is further configured to update the heat label corresponding to each media content according to the heat statistical data to obtain updated content heat table; update the first access strategy corresponding to each media content according to the updated heat label corresponding to each media content; the content scheduling module is further configured to acquire the updated content heat table, and send the updated content heat table to the cache media service module; the cache media service module is further configured to obtain the updated heat label corresponding to each media content according to the updated content heat table; and update the second access strategy corresponding to each media content according to the updated heat label corresponding to each media content.
[0015] In one of the embodiments, the content library module is further configured to receive new media content from a content provider and a corresponding hotness label of the new media content; determine a first access strategy corresponding to the new media content according to the hotness label; store the new media content to a corresponding first storage medium according to the first access strategy; when the hotness label of the new media content meets a preset hotness condition, send pre-fetch trigger information of the new media content to the cache media service module; the cache media service module is further configured to acquire the new media content and the hotness label from the content library module according to the received pre-fetch trigger information; determine a second access strategy corresponding to the new media content according to the hotness label; and store the new media content to a corresponding second storage medium according to the second access strategy.
[0016] In one of the embodiments, the content library module is further configured to receive new media content from a content provider; associate the new media content with a default hotness label; determine a first access strategy corresponding to the new media content according to the default hotness label; store the new media content to a corresponding first storage medium according to the first access strategy; send pre-fetch trigger information of the new media content to the cache media service module; the cache media service module is further configured to acquire the new media content and the default hotness label from the content library module according to the received pre-fetch trigger information; determine a second access strategy corresponding to the new media content according to the default hotness label; and store the new media content to a corresponding second storage medium according to the second access strategy.
[0017] In one of the embodiments, the system further comprises an access scheduling module; the access scheduling module is configured to receive a first media acquisition request from a terminal; determine an optimal node from a plurality of edge nodes according to the first media acquisition request; and send redirection information containing a node address of the optimal node to the terminal.
[0018] In one of the embodiments, the access scheduling module is further configured to query a target hotness label associated with a target content identifier according to the target content identifier contained in the first media acquisition request; and add the target hotness label to the redirection information.
[0019] The media content processing system comprises a content library module configured on a source server and a cache media service module configured on an edge node. The content library module determines a first access strategy corresponding to each media content according to a hotness label corresponding to each media content, and stores each media content to a corresponding first storage medium according to the first access strategy. The cache media service module obtains a second access strategy corresponding to each media content according to the hotness label corresponding to each media content, and stores at least part of the media content to a corresponding second storage medium according to the second access strategy. The cache media service module receives a media acquisition request, obtains a target content identifier and a target hotness label according to the media acquisition request, and obtains the target media content corresponding to the target content identifier from the corresponding second storage medium according to the second access strategy corresponding to the target hotness label, or obtains the target media content from the content library module, and finally returns the target media content.
[0020] Therefore, the present application can realize storage of media contents with different hotness through different storage media based on hotness label information of the media contents, so as to optimize the use of storage resources of the source server and the edge node in the content distribution network, fully utilize the storage capacity and read-write capacity of different storage media, and achieve the purposes of improving performance and reducing cost and increasing efficiency. Moreover, the cache media service module of the edge node can obtain and return the target media content from the second storage medium or from the content library module according to the hotness of the target media content after receiving the media acquisition request, so that the edge node can only acquire the content from the source server and provide streaming service for media contents with low hotness, without performing content caching operation on the edge node. Compared with the method of caching the corresponding media content after receiving the request in the related art, the present application can effectively release the disk space of the edge node, further reduce the number of disk servers of the node server, and reduce the size and power consumption of the server. BRIEF DESCRIPTION OF DRAWINGS
[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the description of the embodiments of the present application or the related art will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other related drawings can be obtained by those skilled in the art without any creative effort.
[0022] Figure 1 FIG. 1 is a structural schematic diagram of a media content processing system in an embodiment;
[0023] Figure 2 FIG. 2 is a structural schematic diagram of a media content processing system in another embodiment;
[0024] Figure 3 FIG. 3 is a structural schematic diagram of a cache media service module in an embodiment. DETAILED DESCRIPTION
[0025] For the purposes of the present application, the technical solutions and advantages will be more apparent, the following will be further described in detail in conjunction with the drawings and examples. It should be understood that the specific examples described herein are only used to explain the present application, and are not intended to limit the present application.
[0026] The media content processing system provided by the embodiments of the present application can be applied in a content delivery network (CDN) and used for processing media content of Internet Protocol Television (IPTV). The content delivery network can include a source server and an edge node (also referred to as a regional node), and the source server and the edge node can be independent physical servers, a server cluster or a distributed system formed by multiple physical servers, or a cloud server providing cloud computing services.
[0027] In an exemplary embodiment, as shown in FIG. 1, a media content processing system is provided, which includes a content library module and a cache media service module. Figure 1
[0028] The content library module can be configured in a source server of a content delivery network, and the cache media service module can be configured in an edge node of the content delivery network.
[0029] The content library module is configured to determine a first access strategy corresponding to each media content according to a heat label corresponding to the media content, and store each media content to a corresponding first storage medium according to the first access strategy.
[0030] Specifically, the heat label corresponding to the media content can indicate the request heat of the media content. For example, the request heat of the media content can be obtained by counting media acquisition requests received by each node according to a content identifier (CID) corresponding to the media content. The higher the request heat of the media content, the more or more frequent the media acquisition requests for the media content are received. For example, the media content can be classified according to the value of the request heat, so as to obtain the heat label corresponding to each media content. For example, according to the value range of the request heat from high to low, the corresponding heat label can be set as super-hot content, medium-high heat content, general heat content, and cold point content.
[0031] Exemplarily, the content library module configured in the source server can query the corresponding hotness label according to the content identifier corresponding to the media content required to be provided by the Internet Protocol Television (IPTV) service, and determine the first access strategy corresponding to each media content according to the pre-stored association relationship between the hotness label and the first access strategy. The first access strategy can include a first storage medium in which the media content needs to be stored.
[0032] Exemplarily, the first storage medium can include an internal memory, a Non-Volatile Memory Express (NVMe) storage device, a distributed storage system, etc., and the content library module can store the media content corresponding to different hotness labels to different first storage media according to the first access strategy. For example, the media content corresponding to the super-hot content can be stored in the internal memory, the media content corresponding to the medium-high hot content can be stored in the NVMe storage device, and the media content corresponding to the general hot content and the cold content can be stored in the distributed storage system.
[0033] The cache media service module is configured to obtain a second access strategy corresponding to each media content according to the hotness label corresponding to each media content, and store at least part of the media content to the corresponding second storage medium according to the second access strategy.
[0034] Specifically, the cache media service module configured in the edge node can query the corresponding hotness label according to the content identifier corresponding to the media content required to be provided by the Internet Protocol Television (IPTV) service, and determine the second access strategy corresponding to each media content according to the pre-stored association relationship between the hotness label and the second access strategy. The second access strategy can include the acquisition method of the media content, whether it needs to be stored in the edge node, and the second storage medium required to be stored corresponding to the media content required to be stored in the edge node.
[0035] Exemplarily, when the second access strategy corresponding to the media content indicates that the media content needs to be stored in the edge node, the cache media service module can acquire the media content from the content library module according to the acquisition method of the media content contained in the second access strategy, and store it in the corresponding second storage medium. When the second access strategy corresponding to the media content indicates that the media content does not need to be stored in the edge node, the cache media service module does not need to acquire and store the media content.
[0036] Exemplarily, the second storage medium can include an internal memory, a Non-Volatile Memory Express (NVMe) storage device, a Serial Advanced Technology Attachment (SATA) storage device, etc., and the cache media service module can store the media content corresponding to different heat labels to different second storage media according to the second access strategy. For example, the media content corresponding to the super-hot content heat label can be stored to the internal memory, the media content corresponding to the medium-high hot content heat label can be stored to the NVMe storage device, and the media content corresponding to the common hot content heat label can be stored to the SATA storage device. And the media content corresponding to the cold content heat label is not stored in the edge node.
[0037] The cache media service module is further configured to receive a media acquisition request, obtain a target content identifier and a target heat label according to the media acquisition request, acquire target media content corresponding to the target content identifier from a corresponding second storage medium according to a second access strategy corresponding to the target heat label, or acquire the target media content from the content library module, and return the target media content.
[0038] Specifically, the cache media service module can receive a media acquisition request from a terminal (such as a set-top box, etc.) by using an HLS gateway or an RTSP gateway of Nginx. The HLS gateway can provide streaming media services based on the HLS / HTTP protocol for terminal users, the RTSP gateway can provide streaming media services based on the RTSP protocol for terminal users, and Nginx is a high-performance HTTP reverse proxy server that can provide high-concurrency media service capabilities together with the HLS gateway and the RTSP gateway.
[0039] Specifically, the media acquisition request from the terminal can include a target content identifier for acquiring target media content. The cache media service module can obtain a target heat label corresponding to the target content identifier according to the target content identifier, and determine a second access strategy corresponding to the target heat label according to the association relationship between the heat label and the second access strategy. Then, the target media content corresponding to the target content identifier can be acquired according to the second access strategy, and returned to the terminal.
[0040] Exemplarily, the gateway in the cache media service module can first determine whether the target media content is stored in the edge node according to the second access strategy. If yes, the gateway can acquire the target media content from the corresponding second storage medium according to the second storage medium indicated by the second access strategy. If no, the gateway can directly acquire the target media content from the content library module and provide a streaming service of the target media content to the terminal without storing the target media content to the edge node.
[0041] The media content processing system can store different hotness content through different storage media based on the hotness tag information of the media content, so as to optimize the storage resource usage of the source server and the edge node in the content distribution network, fully play the reasonable allocation of the storage capacity and read-write capacity of different storage media, and achieve the purposes of improving performance and reducing cost and increasing efficiency. Moreover, the cache media service module of the edge node can acquire and return the target media content from the second storage medium or from the content library module according to the hotness of the target media content after receiving a media acquisition request, so that the edge node can only acquire content from the source and provide a streaming service for media content with low hotness without performing a content caching operation at the edge node. Compared with the method of caching corresponding media content after receiving a request in the related art, the method can effectively release the disk space of the edge node, further reduce the number of disk servers of the node server, reduce the size of the server, and reduce the power consumption of the server.
[0042] To further illustrate the media content processing system of the present application, the following describes the media content processing system of the present application in combination with Figure 2 .
[0043] In an exemplary embodiment, the hotness tag can include a first hotness tag, a second hotness tag, a third hotness tag, and a fourth hotness tag, and the second storage medium can include an internal memory, a non-volatile memory high-speed interface storage device, and a serial advanced technology attachment storage device. The cache media service module can further be configured to store media content corresponding to the first hotness tag to the internal memory, store media content corresponding to the second hotness tag to the non-volatile memory high-speed interface storage device, and store media content corresponding to the third hotness tag to the serial advanced technology attachment storage device.
[0044] Specifically, as shown in Figure 2 , the cache media service module can include a second service gateway and an edge ATS cache. The cache media service module can store media content to the corresponding second storage medium by using an ATS (Apache Traffic Server) caching mechanism and implement data access. Figure 2 As shown in Figure 2The label indicates "memory cache"), non-volatile memory high-speed interface storage devices ( Figure 2 The label indicates "NVME cache" and Serial Advanced Technology Accessory Storage (SATS) devices. Figure 2 (Indicated as "SATA cache"). Optionally, different types of secondary storage media can be allocated different storage space sizes; for example, the storage space of internal memory can be 200G, the storage space of non-volatile memory high-speed interface storage devices can be 20TB, and the storage space of serial advanced technology accessory storage devices can be 150TB.
[0045] The media content's popularity tags can include a first popularity tag, a second popularity tag, a third popularity tag, and a fourth popularity tag, with the request popularity corresponding to the four popularity tags decreasing sequentially. Optionally, the caching media service module can, according to the second access strategy corresponding to each popularity tag, store the media content corresponding to the first popularity tag in the main memory, store the media content corresponding to the second popularity tag in a non-volatile high-speed interface storage device, and store the media content corresponding to the third popularity tag in a serial advanced technology accessory storage device. The media content corresponding to the fourth popularity tag does not need to be stored at the edge node.
[0046] The cached media service module can also be used to retrieve the target media content corresponding to the target content identifier from the internal memory when the target popularity tag is the first popularity tag; to retrieve the target media content corresponding to the target content identifier from the non-volatile memory high-speed interface storage device when the target popularity tag is the second popularity tag; to retrieve the target media content corresponding to the target content identifier from the serial advanced technology accessory storage device when the target popularity tag is the third popularity tag; and to retrieve the target media content corresponding to the target content identifier from the content library module when the target popularity tag is the fourth popularity tag.
[0047] Specifically, such as Figure 3 As shown, the second service gateway of the cached media service module may include an HLS gateway and an RTSP gateway. The cached media service module can receive media acquisition requests from terminals (such as set-top boxes) through an Nginx-based HLS gateway or RTSP gateway. The HLS gateway can provide streaming media services to end users based on the HLS / HTTP protocol, while the RTSP gateway can provide streaming media services to end users based on the RTSP protocol. The second service gateway can obtain the target content identifier and target popularity tag of the target media content based on the media acquisition request, and further, according to the second access strategy corresponding to the target popularity tag, retrieve the target media content corresponding to the target content identifier from the storage location corresponding to the target media content, and return it to the terminal.
[0048] Optionally, when the target hotness label is the first hotness label, the target media content can be determined to be stored in the in-memory storage according to the second access strategy corresponding to the target hotness label, so that the target media content corresponding to the target content identifier can be obtained from the in-memory storage and returned to the terminal according to the target content identifier. Similarly, when the target hotness label is the second hotness label, the target media content corresponding to the target content identifier can be obtained from the NVMe storage device according to the second access strategy corresponding to the target hotness label. When the target hotness label is the third hotness label, the target media content corresponding to the target content identifier can be obtained from the SATA storage device according to the second access strategy corresponding to the target hotness label. When the target hotness label is the fourth hotness label, it can be determined that the target media content is not stored in the edge node according to the second access strategy corresponding to the target hotness label, so that the target media content corresponding to the target content identifier can be obtained from the content library module and returned to the terminal.
[0049] Optionally, the cache media service module can obtain the association information between the media content identifier and the hotness label through the second service gateway. The second service gateway can ensure the security of the interface data acquisition through, for example, domain name / network address+port configuration, token security authentication and other configuration methods. Optionally, the second service gateway can call the HTTP interface of the content management platform in the content library to obtain the association information between the media content identifier and the hotness label based on the current time through file download. For example, the second service gateway can first obtain a compressed file containing the association information based on the HTTP method, then obtain an MD5 value file corresponding to the compressed file, and then perform MD5 consistency check, so as to verify the correctness of the data.
[0050] In this embodiment, the media content corresponding to different hotness labels is accessed differently according to the level of the requested hotness, the media content corresponding to the first hotness label is stored in the in-memory storage, the media content corresponding to the second hotness label is stored in the NVMe storage, the media content corresponding to the third hotness label is stored in the SATA storage, and the media content corresponding to the fourth hotness label is not stored in the edge node. After receiving a media acquisition request for a target media content, the target media content is obtained and returned from the corresponding position according to the target hotness label corresponding to the target media content. This scheme can realize accurate cache access of hot content, optimize the utilization rate of cache media service storage resources, and effectively improve the performance of cache media service. Compared with the method of caching media content to in-memory storage or high-performance disk after receiving several requests for the media content in related technologies, the present embodiment can cache the truly hot content directly to in-memory storage or high-performance disk, and can directly read the content to respond to the terminal user, fully utilizing the high-throughput IO capability of the limited storage space of in-memory storage or high-performance disk.
[0051] In an exemplary embodiment, the hotness tags can include a first hotness tag, a second hotness tag, a third hotness tag, and a fourth hotness tag; the first storage medium can include an in-memory, a non-volatile memory express (NVMe) storage device, and a distributed storage system; and the content library module can be configured to store media content corresponding to the first hotness tag in the in-memory, store media content corresponding to the second hotness tag in the NVMe storage device, and store media content corresponding to the first, second, third, and fourth hotness tags in the distributed storage system.
[0052] Specifically, the hotness tags corresponding to the media content can include a first hotness tag, a second hotness tag, a third hotness tag, and a fourth hotness tag, wherein the request hotness corresponding to the four hotness tags can decrease in turn. As shown in Figure 2 the first storage medium can include an in-memory (indicated as "in-memory cache" in Figure 2 ), an NVMe storage device (indicated as "NVMe cache" in Figure 2 ), and a distributed storage system, wherein data access to the in-memory and the NVMe storage device can be implemented using an ATS (Apache Traffic Server) cache mechanism (indicated as "central ATS cache" in Figure 2 ).
[0053] Optionally, the content library module can store media content corresponding to the first hotness tag in the in-memory, store media content corresponding to the second hotness tag in the NVMe storage device, and store media content corresponding to the first, second, third, and fourth hotness tags in the distributed storage system according to a second access strategy corresponding to each hotness tag.
[0054] Optionally, as shown in Figure 2 , the content library module can further include a first service gateway configured to receive a target media content acquisition request (e.g., a request for acquiring target media content with a fourth hotness tag) from a cache media service module of an edge node and return corresponding target media content to the edge node.
[0055] In the embodiment, by differentiating the access of media content corresponding to different hotness tags according to the level of request hotness, storing media content corresponding to the first hotness tag in the in-memory, storing media content corresponding to the second hotness tag in the NVMe storage device, and storing all media content in the distributed database, intelligent hierarchical caching of media content in the source server can be implemented, and the overall performance of the server can be improved by fully utilizing the in-memory cache and the SSD caching capability of the NVMe hard disk.
[0056] In one exemplary embodiment, as shown in Figure 2 The system can further include a log module, a content scheduling module.
[0057] The log module is configured to acquire media request log data, and to count the request popularity of each media content based on the media request log data to obtain popularity statistics data.
[0058] Specifically, the log module can collect media request log data of all edge nodes in real time, aggregate and aggregate the media request log data, and count the request popularity of each media content based on the media content identifier of each media content to obtain the corresponding popularity statistics data of each media content. The greater the value of the popularity statistics data, the more or more frequently the media content is accessed.
[0059] The content library module is further configured to acquire the popularity statistics data, determine the corresponding popularity label of each media content based on the popularity statistics data, and generate a content popularity table. The content popularity table includes the association between the content identifier and the popularity label of each media content.
[0060] Specifically, the content library module can acquire the popularity statistics data provided by the log module, determine the corresponding popularity label of each media content based on the popularity statistics data, and generate a content popularity table.
[0061] Exemplarily, as shown in Figure 2 The content library module can include a content management platform. The content management platform can sort the media content according to the size of the popularity statistics data based on the popularity statistics data, and determine the corresponding popularity label of each media content based on the corresponding relationship between the pre-set percentage interval of the sorting and the popularity label. Then, the content popularity table including the association between the content identifier and the popularity label of each media content can be generated based on the corresponding popularity label of each media content.
[0062] Optionally, the determination standard of the popularity label can be flexibly set and combined. For example, based on the aforementioned determination of the popularity label according to the percentage interval, the rule that the number of media content acquisition requests containing the same media content identifier from different terminals is greater than a preset threshold (e.g., 200,000) is added. The popularity label of the media content corresponding to the media content identifier is set to the first popularity label.
[0063] The content scheduling module is configured to acquire the content popularity table and send the content popularity table to the cached media service module.
[0064] Specifically, as shown in Figure 2 The content scheduling module can interface with the content management platform of the content library module to acquire the content popularity table and send it to the cached media service module.
[0065] The cache media service module is further configured to obtain the hotness label corresponding to each media content according to the content hotness table.
[0066] Specifically, the cache media service module can determine the hotness label corresponding to each media content according to the association relationship between the content identifier and the hotness label contained in the content hotness table received from the content scheduling module.
[0067] In this embodiment, by using the log module to collect media request log data and count the request hotness of media content, the hotness of actual business requests of media content can be counted in real time to obtain hotness statistical data with timeliness. Therefore, the content library module can accurately and objectively determine the hotness label corresponding to the media content according to the hotness statistical data, and generate a content hotness table. Further, the content scheduling module can send the content hotness table to each edge node, so that the cache media service module on the edge node can obtain the hotness label corresponding to each media content. In this embodiment, the cooperation among the log module, the content library module, the content scheduling module and the cache media service module is conducive to improving the operation efficiency of the system.
[0068] In an exemplary embodiment, the log module can be further configured to count the request hotness of each media content according to a preset time window according to the media request log data, and obtain hotness statistical data; and / or, the log module can be further configured to count the type request hotness of each media content corresponding to each request type according to the request type corresponding to each media request log data; obtain the hotness statistical data of each media content according to the type request hotness of each media content; and / or, the log module can be further configured to incrementally update the hotness statistical data according to the media request log data, and obtain updated hotness statistical data.
[0069] Specifically, the log module can obtain the hotness statistical data by counting the request hotness in one of the different ways or a combination of multiple ways.
[0070] Alternatively, the log module can count and analyze the media request log data within a preset time window of a specified time length (such as 5 minutes or 1 hour, etc.), so as to count the request hotness of each media content within the time range and obtain the hotness statistical data.
[0071] Optionally, the log module can also count the type request hotness of each media content corresponding to each request type (e.g. on-demand, live time shift, review, etc.) according to the media request log data corresponding to different request types, and obtain type hotness statistical data of the media content corresponding to each request type. Then, the type hotness statistical data of different request types can be fused to obtain the hotness statistical data of the media content by, for example, weighted fusion or the like.
[0072] Optionally, the log module can also incrementally update the previously obtained hotness statistical data according to the newly obtained media request log data, so as to obtain updated hotness statistical data.
[0073] Optionally, in some embodiments, the log module can also count the request hotness of the media content according to different granularities such as program granularity and slice granularity, and obtain the hotness statistical data.
[0074] In the embodiment, the log module can realize flexible counting of the request log data in multiple different ways, so as to facilitate guaranteeing the timeliness of the hotness statistical data, improving the counting efficiency, and obtaining hotness statistical data more in line with actual business needs.
[0075] In an exemplary embodiment, the content library module is further configured to update the hotness labels corresponding to each media content according to the hotness statistical data, and obtain an updated content hotness table; update the first access strategy corresponding to each media content according to the updated hotness labels corresponding to each media content; the content scheduling module is further configured to obtain the updated content hotness table, and send the updated content hotness table to the cached media service module; the cached media service module is further configured to obtain the updated hotness labels corresponding to each media content according to the updated content hotness table; and update the second access strategy corresponding to each media content according to the updated hotness labels corresponding to each media content.
[0076] Specifically, the log module can update the hotness statistical data according to the real-time collected media request log data, and provide the updated hotness statistical data to the content library module.
[0077] The content library module can update the hotness labels corresponding to each media content according to the updated hotness statistical data, so as to update the content of the content hotness table. Meanwhile, the content library module can also update the first access strategy corresponding to each media content based on the updated hotness labels corresponding to each media content. Then, the first storage medium corresponding to each media content can be adjusted according to the new first access strategy.
[0078] The content scheduling module can obtain the updated content hotness table from the content library module by interfacing with the content library module, and send it to the cached media service module.
[0079] After receiving the updated content popularity table, the cached media service module can obtain the updated popularity tags for each media content based on the updated popularity table. Then, based on the updated popularity tags for each media content, it can determine a new second access strategy for each media content. Specifically, the cached media service module can use the new second access strategy to re-determine whether each media content needs to be stored on the edge node, determine the corresponding second storage medium for each media content that needs to be stored, and subsequently adjust the access status of each media content.
[0080] Optionally, the number of media contents corresponding to different popularity tags can be determined based on the capacity of the storage medium corresponding to the first access strategy and the second access strategy of each popularity tag. Thus, for media contents whose popularity has decreased, they can be deleted from the storage medium that is not suitable for storing the media contents, according to the first access strategy or the second access strategy corresponding to the new popularity tag.
[0081] In this embodiment, by dynamically adjusting the popularity tags corresponding to each media content based on popularity statistics, a refresh and deletion mechanism for trending content can be triggered, allowing the access method of media content to adjust with changes in popularity and meet the latest business needs. Furthermore, by updating the popularity tags in the order of the content library module, content scheduling module, and cached media service module, this embodiment effectively avoids the risk of data inconsistency issues caused by the ATS circular write-back mechanism in the cached media service module.
[0082] In an exemplary embodiment, the content library module is further configured to receive new media content and a popularity tag corresponding to the new media content from the content provider, determine a first access strategy corresponding to the new media content based on the popularity tag, and store the new media content to the corresponding first storage medium according to the first access strategy.
[0083] Among them, such as Figure 2 As shown, the content library module may include a content management platform. Through the content management platform, the content library module can receive new media content provided by content providers and obtain the corresponding media content identifier and popularity tag. The popularity tag can be proactively provided by the content provider.
[0084] Specifically, the content library module can update the content popularity table based on the media content identifier and popularity tag corresponding to the newly added media content, and determine the first access strategy corresponding to the newly added media content based on the popularity tag. Then, the content library module can store the newly added media content to the corresponding first storage medium according to the first access strategy.
[0085] The content library module is further configured to send pre-fetch trigger information of the new media content to the cache media service module when the hotness label corresponding to the new media content meets a preset hotness condition.
[0086] For example, the hotness label corresponding to the new media content meets the preset hotness condition can mean that the second access strategy corresponding to the hotness label indicates that the new media content needs to be stored in the edge node. When the hotness label corresponding to the new media content meets the preset hotness condition, the content library module can send pre-fetch trigger information containing the media content identifier of the new media content to the cache media service module.
[0087] The cache media service module is further configured to obtain the new media content and the hotness label from the content library module according to the received pre-fetch trigger information, determine the second access strategy corresponding to the new media content according to the hotness label, and store the new media content in the corresponding second storage medium according to the second access strategy.
[0088] When the cache media service module receives the pre-fetch trigger information, it can obtain the new media content and its corresponding hotness label from the content library module according to the media content identifier contained in the pre-fetch trigger information, and store the new media content in the corresponding second storage medium according to the second access strategy corresponding to the hotness label.
[0089] In this embodiment, by obtaining the hotness label provided by the content provider when receiving the new media content, and triggering the cache media service module to obtain and store the new media content when the hotness label meets the preset hotness condition, the edge node can cache hot content in advance, ensure the business load response performance of the edge node to the new media content, and avoid special situations such as excessive source return caused by content scheduling mechanism causing source station pressure.
[0090] In one example embodiment, the content library module is further configured to receive new media content from a content provider, associate the new media content with a default hotness label, determine a first access strategy corresponding to the new media content according to the default hotness label, and store the new media content in a corresponding first storage medium according to the first access strategy.
[0091] When the content library module receives the newly added media content without the hotness label provided by the content provider, the media content identifier of the newly added media content can be associated with a preset default hotness label. The default hotness label can be a hotness label corresponding to the second access strategy requiring the media content to be stored in the edge node. Then, the content library module can update the content hotness table according to the media content identifier of the newly added media content and the default hotness label, and determine the first access strategy corresponding to the newly added media content. The newly added media content can then be stored in the corresponding first storage medium according to the first access strategy.
[0092] The content library module is also configured to send pre-fetch trigger information of the newly added media content to the cache media service module.
[0093] Since the second access strategy corresponding to the default hotness label requires the media content to be stored in the edge node, the content library module can also send pre-fetch trigger information containing the media content identifier of the newly added media content to the cache media service module.
[0094] The cache media service module is also configured to obtain the newly added media content and the default hotness label from the content library module according to the received pre-fetch trigger information, determine the second access strategy corresponding to the newly added media content according to the default hotness label, and store the newly added media content in the corresponding second storage medium according to the second access strategy.
[0095] When the cache media service module receives the pre-fetch trigger information, it can obtain the newly added media content and its corresponding hotness label (i.e. the default hotness label) from the content library module according to the media content identifier contained in the pre-fetch trigger information, and store the newly added media content in the corresponding second storage medium according to the second access strategy corresponding to the hotness label.
[0096] In this embodiment, by associating the newly added media content with the default hotness label when the content provider does not provide the hotness label of the newly added media content, and triggering the cache media service module to obtain and store the newly added media content, the new content can be actively pre-fetched and cached to the edge node, further improving the access experience and quality of the newly listed program content.
[0097] In one exemplary embodiment, as shown in Figure 2 The system further includes an access scheduling module. The access scheduling module can be configured to receive a first media acquisition request from a terminal, determine an optimal node among a plurality of edge nodes according to the first media acquisition request, and send redirection information containing the node address of the optimal node to the terminal.
[0098] The access scheduling module receives a first media acquisition request from the terminal to obtain target media resources. Then, using an algorithm such as Round-Robin (RR), it determines the optimal node corresponding to the first media acquisition request among multiple edge nodes. It then returns redirection information containing the address of the optimal node to the terminal. Based on this redirection information, the terminal can send a second media acquisition request to the optimal node to obtain the target media resources.
[0099] In this embodiment, by using the access scheduling module to receive the first media acquisition request from the terminal and return redirection information containing the node address of the optimal node to the terminal, it is possible to achieve load balancing among multiple edge nodes and improve the terminal's efficiency in acquiring media content.
[0100] In an exemplary embodiment, the access scheduling module is further configured to query the target popularity tag associated with the target content identifier based on the target content identifier contained in the first media acquisition request; and add the target popularity tag to the redirection information.
[0101] The access scheduling module can also obtain a content popularity table from the content scheduling module and, based on the target content identifier contained in the first media acquisition request, query the content popularity table for the target popularity tag associated with the content identifier. Then, the access scheduling module can add the target popularity tag to the redirection information and send the redirection information, including the node address of the optimal node and the target popularity tag, to the terminal. Based on this, the terminal can carry the target popularity tag of the target media resource when sending a second media acquisition request to the optimal node to obtain the target media resource, thereby saving the query time for the popularity tag by the cached media service module in the optimal node.
[0102] In this embodiment, by obtaining the target popularity tag associated with the target content identifier through the access scheduling module and returning it to the terminal, the terminal can send a media acquisition request to the optimal node to obtain the target media resource, carrying the target content identifier and the target popularity tag, which helps to save overall processing time.
[0103] Optionally, such as Figure 2 As shown, in an exemplary embodiment, the system may further include a monitoring module, which can acquire monitoring data from the log module, content scheduling module, content library module, and cached media service module, and perform health checks on each module.
[0104] It should be understood that although the steps in the flowcharts involved in the above embodiments are shown in sequence according to the arrows, the steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, the execution of the steps is not strictly limited in sequence, and the steps can be executed in other orders. Moreover, at least some of the steps in the flowcharts involved in the above embodiments can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of the steps or stages is not necessarily sequential, but can be executed alternately or alternately with at least part of other steps or steps or stages in other steps.
[0105] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of related data need to comply with relevant regulations.
[0106] Those skilled in the art can understand that all or part of the processes in the above embodiments can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium. When the computer program is executed, the processes of the above embodiments of the system can be included. Any reference to memory, database or other medium used in the embodiments of the present application can include at least one of non-volatile memory and volatile memory. The non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. The volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, the RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in the embodiments of the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments of the present application can be a general processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., without being limited thereto.
[0107] The technical features of the above embodiments can be combined arbitrarily. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combinations of the technical features do not exist contradictory, they should be considered as the scope of the present application.
[0108] The above embodiments only express several implementation ways of the present application, and the description is specific and detailed, but it should not be understood as a limitation to the patent scope of the present application. It should be pointed out that for ordinary skilled in the art, without departing from the concept of the present application, several modifications and improvements can be made, which all belong to the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. A media content processing system, characterized by, The system comprises a content library module and a cache media service module; the content library module is configured on a source server, and the cache media service module is configured on an edge node; The content library module is configured to determine a first access strategy corresponding to each media content according to a hotness label corresponding to each media content, and store each media content to a corresponding first storage medium according to the first access strategy; The cache media service module is configured to obtain a second access strategy corresponding to each media content according to the hotness label corresponding to each media content, and store at least part of the media content to a corresponding second storage medium according to the second access strategy; The cache media service module is further configured to receive a media acquisition request, obtain a target content identifier and a target hotness label according to the media acquisition request, acquire target media content corresponding to the target content identifier from the corresponding second storage medium according to the second access strategy corresponding to the target hotness label, or acquire the target media content from the content library module, and return the target media content.
2. The system of claim 1, wherein, The hotness label comprises a first hotness label, a second hotness label, a third hotness label and a fourth hotness label; the second storage medium comprises an internal memory, a non-volatile memory express storage device and a serial advanced technology attachment storage device; The cache media service module is configured to store the media content corresponding to the first hotness label to the internal memory, store the media content corresponding to the second hotness label to the non-volatile memory express storage device, and store the media content corresponding to the third hotness label to the serial advanced technology attachment storage device; When the target hotness label is the first hotness label, the cache media service module is further configured to acquire the target media content corresponding to the target content identifier from the internal memory; When the target hotness label is the second hotness label, the cache media service module is further configured to acquire the target media content corresponding to the target content identifier from the non-volatile memory express storage device; When the target hotness label is the third hotness label, the cache media service module is further configured to acquire the target media content corresponding to the target content identifier from the serial advanced technology attachment storage device; When the target hotness label is the fourth hotness label, the cache media service module is further configured to acquire the target media content corresponding to the target content identifier from the content library module.
3. The system of claim 1, wherein, The hotness label comprises a first hotness label, a second hotness label, a third hotness label and a fourth hotness label; the first storage medium comprises an internal memory, a non-volatile memory express storage device and a distributed storage system; The content library module is configured to store each media content to the distributed storage system, store the media content corresponding to the first hotness label to the internal memory, and store the media content corresponding to the second hotness label to the non-volatile memory express storage device.
4. The system of claim 1, wherein, The system further comprises a log module and a content scheduling module; The log module is configured to acquire media request log data, and determine a request heat of each media content according to the media request log data to obtain heat statistical data. The content library module is further configured to acquire the heat statistical data, determine the heat label corresponding to each media content according to the heat statistical data, and generate a content heat table. The content heat table includes an association between a content identifier corresponding to each media content and the heat label. The content scheduling module is configured to acquire the content heat table and send the content heat table to the cache media service module. The cache media service module is further configured to obtain the heat label corresponding to each media content according to the content heat table.
5. The system of claim 4, wherein The log module is further configured to determine the request heat of each media content according to a preset time window according to the media request log data to obtain the heat statistical data. The log module is further configured to determine a type request heat of each media content corresponding to each request type according to a request type corresponding to each media request log data, and obtain the heat statistical data of each media content according to each type request heat of each media content. The log module is further configured to incrementally update the heat statistical data according to the media request log data to obtain updated heat statistical data.
6. The system of claim 4, wherein The content library module is further configured to update the heat label corresponding to each media content according to the heat statistical data to obtain an updated content heat table, and update the first access strategy corresponding to each media content according to the updated heat label corresponding to each media content. The content scheduling module is further configured to acquire the updated content heat table and send the updated content heat table to the cache media service module. The cache media service module is further configured to obtain the updated heat label corresponding to each media content according to the updated content heat table, and update the second access strategy corresponding to each media content according to the updated heat label corresponding to each media content.
7. The system of claim 1, wherein The content library module is further configured to receive new media content and the heat label corresponding to the new media content from a content provider, determine the first access strategy corresponding to the new media content according to the heat label, and store the new media content to a corresponding first storage medium according to the first access strategy. The content library module is further configured to send pre-fetch trigger information of the new media content to the cache media service module when the heat label corresponding to the new media content meets a preset heat condition. The cache media service module is further configured to acquire the new media content and the hotness label from the content library module according to the received pre-fetch trigger information; determine a second access strategy corresponding to the new media content according to the hotness label; and store the new media content into a corresponding second storage medium according to the second access strategy.
8. The system of claim 1, wherein The content library module is further configured to receive new media content from a content provider; associate the new media content with a default hotness label; determine a first access strategy corresponding to the new media content according to the default hotness label; and store the new media content into a corresponding first storage medium according to the first access strategy. The content library module is further configured to send pre-fetch trigger information of the new media content to the cache media service module. The cache media service module is further configured to acquire the new media content and the default hotness label from the content library module according to the received pre-fetch trigger information. Determine a second access strategy corresponding to the new media content according to the default hotness label. Store the new media content into a corresponding second storage medium according to the second access strategy. The system further comprises an access scheduling module.
9. The system of claim 1, wherein, The access scheduling module is configured to receive a first media acquisition request from a terminal; determine an optimal node among a plurality of edge nodes according to the first media acquisition request; and send redirection information containing a node address of the optimal node to the terminal.
10. The system of claim 9, wherein The access scheduling module is further configured to query a target hotness label associated with a target content identifier according to the target content identifier contained in the first media acquisition request; and add the target hotness label to the redirection information.
Citation Information
Patent Citations
Video server as well as hierarchical storage management method and device of same
CN102006506A
Content distribution system, method and device
CN102595207A