Digital rights management method and device, equipment and storage medium

By dividing content into three groups—hot, warm, and cold—based on historical access data, and pre-generating key license units in the databases of the central cluster and edge nodes, the authorization latency problem of the DRM system in high-concurrency scenarios is solved, and fast and efficient authorization processing is achieved.

CN120850357APending Publication Date: 2025-10-28中央广播电视总台
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510941514.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-09
Publication Date
2025-10-28

AI Technical Summary

Technical Problem

Existing DRM systems consume significant computing resources during key synchronization and querying, relying on encryption algorithms and server performance, leading to authorization delays in high-concurrency scenarios.

Method used

Based on historical access data of digital content, the content is categorized into three groups: hot, warm, and cold. Multi-level key license units and content key units are pre-generated in the databases of the central cluster and edge nodes, respectively. The encryption process is computed in parallel using the computing power of the distributed cluster and stored in the distributed database to achieve high-performance authorization.

Benefits of technology

When the number of key update requests surges, the system dynamically adds license pre-generation tasks to reduce authorization response time, solves the authorization delay problem in high-concurrency scenarios, and ensures rapid response to a large number of authorization requests without sacrificing security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120850357A_ABST
    Figure CN120850357A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a digital copyright management method and device, equipment and a storage medium. The method comprises the steps that digital content is marked as one of a first group of content, a second group of content and a third group of content; for the first group of contents and the second group of contents, respectively pre-generating a multi-layer key license unit and a content key unit of a license, and storing the content key units into a first database and a second database; receiving a license request, and judging whether a multilayer key license unit or a content key unit corresponding to the license request is hit in the first database and the second database; when the first database is hit, the multi-layer secret key license unit is returned, when the second database is hit, the multi-layer secret key license unit is generated according to the content secret key unit, and when the first database and the second database are not hit, the multi-layer secret key license unit corresponding to the license request is generated; the problem of authorization delay in a high-concurrency scene can be effectively solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of digital rights management technology, specifically to a digital rights management method, apparatus, device, and storage medium. Background Technology

[0002] A digital rights management (DRM) system for audio-visual content distribution is logically divided into two parts: a DRM server and a DRM client. The DRM server typically includes core functions such as content encryption, key management, a key gateway, and content licensing. The content encryption module uses encryption keys to protect audio-visual content; key management is responsible for receiving and synchronizing encryption keys; the key gateway module stores the synchronized keys securely after receiving them and receives key queries from the content licensing module; the content licensing module manages user access permissions to encrypted content, receiving requests from the DRM client and sending a license containing the content encryption key and key usage rules to the DRM client. Upon receiving the license, the DRM client decrypts the encryption key according to the key usage rules and then decrypts the content for playback.

[0003] In related technologies, the key synchronization and query process in a DRM system is as follows: Key Synchronization: The key gateway receives a key synchronization request, processes the encrypted content encryption key and content usage rules, generates a session key, encrypts the content encryption key using the session key, stores it, and finally replies with a key synchronization response. Key Query: The content authorization module sends an authorization synchronization query request. After verifying the certificate chain, the key gateway finds the corresponding content encryption key and session key according to the request, encrypts the session key using the DRM client's public key, and sends the result back to the content authorization module. Content Authorization: The content authorization module receives a license acquisition request, verifies the DRM client's certificate chain and signature, requests the key gateway to query the key, and assembles a license based on this information and returns it to the client.

[0004] While the above process achieves basic DRM functionality, it has some shortcomings. In particular, the processes of randomly generating session keys for key synchronization, encrypting session keys for key lookup, and encrypting message verification codes for content authorization consume significant computing resources and depend on encryption algorithms and server performance. Summary of the Invention

[0005] This application provides a digital rights management method, apparatus, device, and storage medium.

[0006] The first aspect of this application provides a digital rights management method, including:

[0007] Based on historical access data of digital content, the digital content is tagged into one of three groups: Group 1, Group 2, and Group 3. The request volume of the digital content is sorted from largest to smallest as Group 1, Group 2, and Group 3.

[0008] For the first and second groups of content, multi-level key license units and license content key units are pre-generated and stored in the first and second databases, respectively. For the third group of content, a license is generated when a corresponding request occurs.

[0009] Upon receiving a license request, determine whether a multi-level key license unit or content key unit corresponding to the license request is found in the first and second databases.

[0010] If a multi-level key license unit corresponding to the license request is found in the first database, the multi-level key license unit is returned. If a content key unit corresponding to the license request is found in the second database, a multi-level key license unit is generated based on the content key unit. If neither a multi-level key license unit nor a content key unit corresponding to the license request is found in the first or second database, a multi-level key license unit corresponding to the license request is generated.

[0011] In an optional embodiment of this application, categorizing digital content into one of a first group, a second group, and a third group based on historical access data includes:

[0012] For each piece of digital content, count the number of requests for that content within a preset time period;

[0013] Based on the number of requests for digital content within a preset time period and the metrics used to categorize digital content, the first group of content, the second group of content, and the third group of content are determined.

[0014] In an optional embodiment of this application, the first group of content, the second group of content, and the third group of content are determined using the following expression, based on the request volume of digital content within a preset duration and the metrics used to classify the digital content, including:

[0015]

[0016] Where H(c) is the metric used to classify digital content, Q(c, t-kΔt) is the number of requests for digital content c at time t-kΔt, n is the number of consecutive statistical periods, and ω k =e -λk λ is the time decay factor, 0.2, Δt = 5 minutes, and Group(c) is one of the contents of the first group, the second group, and the third group.

[0017] In an optional embodiment of this application, the method further includes:

[0018] The first group of content uses the same key, while each digital content in the second and third groups retains an independent key;

[0019] For the first and second sets of content, if the key is updated, update the version number of the key and obtain the list of digital content corresponding to the updated key;

[0020] For each piece of digital content, perform a license or key unit pre-generation task, perform asynchronous computation, obtain a list of public keys, and pre-generate licenses or key units in batches.

[0021] In an optional embodiment of this application, a multi-level key license unit is pre-generated for the first set of content and stored in the first database, including:

[0022] For the first set of content, a session key and an encrypted content encryption key are generated. The session key is then encrypted using each client public key in the preset client public key list. A message verification code key is generated and encrypted using the client public key. Multi-level key license units are pre-generated and stored in the first database.

[0023] In an optional embodiment of this application, the content key unit for pre-generating a license for the second set of content is stored in a second database, including:

[0024] For the second set of content, a session key is generated and a content encryption key is encrypted. The session key and the encrypted content encryption key are stored in the second database, and a content key unit for the license is generated in advance.

[0025] In an optional embodiment of this application, the first database is located in the central cluster, and the second database is located in the edge node. Upon receiving a license request, the database determines whether a multi-layer key license unit or content key unit corresponding to the license request is found in the first and second databases, including:

[0026] Upon receiving a license request, the load balancer routes the license request to the edge node closest to the load balancer route. It then determines whether the content key unit corresponding to the license request is found in the second database of the edge node. If a match is found, a license is generated based on the content key unit. If no match is found, the license request is forwarded to the central cluster.

[0027] Determine whether the multi-level key license unit corresponding to the license request is matched in the first database of the central cluster. If matched, return the pre-generated multi-level key license unit directly. If not matched, trigger the real-time license generation process.

[0028] A second aspect of this application provides a digital rights management device, comprising:

[0029] The tagging module is used to tag digital content into one of three groups of content, namely, the first group, the second group, and the third group, based on the historical access data of the digital content. The digital content is ordered from the largest to the smallest number of requests, namely, the first group, the second group, and the third group.

[0030] The first generation module is used to pre-generate a multi-level key license unit and a license content key unit for the first group of content and the second group of content, respectively, and store them in the first database and the second database. For the third group of content, a license is generated when a corresponding request occurs.

[0031] The judgment module is used to receive license requests and determine whether a multi-level key license unit or content key unit corresponding to the license request is found in the first database and the second database.

[0032] The second generation module is used to return a multi-level key license unit if a multi-level key license unit corresponding to the license request is found in the first database, generate a multi-level key license unit based on the content key unit if a content key unit corresponding to the license request is found in the second database, and generate a multi-level key license unit corresponding to the license request if neither a multi-level key license unit nor a content key unit corresponding to the license request is found in the first database or the second database.

[0033] A third aspect of this application provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of any of the above digital rights management methods.

[0034] A fourth aspect of the embodiments of this application provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the digital rights management method as described in any of the preceding claims.

[0035] Compared with the prior art, the technical solutions provided in this application have at least some or all of the following advantages:

[0036] The digital rights management method described in this application, based on historical access data of digital content, marks digital content into one of three groups: a first group, a second group, and a third group. The request volume of digital content is ordered from highest to lowest as the first group, the second group, and the third group. For the first and second groups, a multi-level key license unit and a content key unit for the license are pre-generated and stored in a first database and a second database, respectively. For the third group, a license is generated upon receiving a corresponding request. A license request is received, and it is determined whether a multi-level key license unit or a content key unit corresponding to the license request is found in the first and second databases. If a matching multi-level key license unit or content key unit is found in the first database... In the case of a multi-level key license unit, the multi-level key license unit is returned. If a content key unit corresponding to the license request is found in the second database, a multi-level key license unit is generated based on the content key unit. If neither the multi-level key license unit nor the content key unit corresponding to the license request is found in the first or second database, a multi-level key license unit corresponding to the license request is generated. This application can ensure that the number of license pre-generation tasks can be dynamically increased when the number of key update requests increases dramatically, which greatly reduces the authorization response time. Thus, without sacrificing security, a large number of authorization requests can be responded to quickly, effectively solving the authorization delay problem in high-concurrency scenarios. Attached Figure Description

[0037] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0038] Figure 1 A flowchart illustrating a digital rights management method provided in one embodiment of this application;

[0039] Figure 2 A flowchart illustrating a client request for authorization is provided for one embodiment of this application.

[0040] Figure 3 This is a schematic diagram of a distributed cluster structure provided in one embodiment of this application;

[0041] Figure 4 A timing flowchart of a pre-generated algorithm provided in one embodiment of this application;

[0042] Figure 5 A schematic diagram of a digital rights management device provided in one embodiment of this application;

[0043] Figure 6 This is a schematic diagram of a computer device structure provided in one embodiment of this application. Detailed Implementation

[0044] To make the technical solutions and advantages of the embodiments of this application clearer, the exemplary embodiments of this application will be described in further detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not an exhaustive list of all embodiments. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be combined with each other.

[0045] Please see Figure 1 The digital rights management method provided in this application includes the following steps S100 to S400:

[0046] S100. Based on the historical access data of digital content, the digital content is marked as one of the first group of content, the second group of content, and the third group of content, wherein the request volume of the digital content is sorted from largest to smallest as the first group of content, the second group of content, and the third group of content.

[0047] S200: For the first group of content and the second group of content, a multi-level key license unit and a license content key unit are pre-generated and stored in the first database and the second database, respectively. For the third group of content, a license is generated when a corresponding request occurs.

[0048] S300: Receive a license request and determine whether a multi-level key license unit or content key unit corresponding to the license request is found in the first database and the second database.

[0049] S400: If a multi-level key license unit corresponding to the license request is found in the first database, the multi-level key license unit is returned. If a content key unit corresponding to the license request is found in the second database, a multi-level key license unit is generated based on the content key unit. If neither a multi-level key license unit nor a content key unit corresponding to the license request is found in the first database nor the second database, a multi-level key license unit corresponding to the license request is generated.

[0050] In an optional embodiment of this application, step S100, which involves marking the digital content as one of a first group of content, a second group of content, and a third group of content based on historical access data of the digital content, includes:

[0051] For each piece of digital content, count the number of requests for that content within a preset time period;

[0052] Based on the number of requests for digital content within a preset time period and the metrics used to categorize digital content, the first group of content, the second group of content, and the third group of content are determined.

[0053] In an optional embodiment of this application, the first group of content, the second group of content, and the third group of content are determined using the following expression, based on the request volume of digital content within a preset duration and the metrics used to classify the digital content, including:

[0054]

[0055] Where H(c) is the content popularity index used to classify digital content, Q(c, t-kΔt) is the number of requests for digital content c at time t-kΔt, n is the number of consecutive statistical periods, and ω k =e -λk λ is the time decay factor, 0.2, Δt = 5 minutes, and Group(c) is one of the contents of the first group, the second group, and the third group.

[0056] In an optional embodiment of this application, step S200, which involves pre-generating a multi-level key license unit for the first set of content and storing it in the first database, includes:

[0057] For the first set of content, a session key and an encrypted content encryption key are generated. The session key is then encrypted using each client public key in the preset client public key list. A message verification code key is generated and encrypted using the client public key. Multi-level key license units are pre-generated and stored in the first database.

[0058] This application adopts a multi-level key license pre-generation method, which can utilize the computing power of a distributed cluster to perform parallel computation of encryption processes such as session key encryption of content key, client public key encryption of session key, and message verification code key during key synchronization, and store the pre-generated license in a distributed database to achieve high-performance cluster authorization.

[0059] In an optional embodiment of this application, step S200, which involves pre-generating a content key unit for a license for the second set of content and storing it in a second database, includes:

[0060] For the second set of content, a session key is generated and a content encryption key is encrypted. The session key and the encrypted content encryption key are stored in the second database, and a content key unit for the license is generated in advance.

[0061] In an optional embodiment of this application, see [link to relevant documentation]. Figure 2 and Figure 3 Based on content popularity, pre-generated tasks are divided into hot content (high-frequency content), moderate content (medium-frequency content), and cold content (low-frequency content);

[0062] For cold content, a license is generated only when the client requests a license, and is triggered when the following occurs: the content is in a low-frequency group, the client certificate appears for the first time (no cache record, miss), or the cache expires.

[0063] For the content of the temperature plate, the edge nodes pre-store the session key and encrypt the content encryption key. The session key and the encrypted content encryption key are cached in the key gateway, that is, the content key unit of the pre-generated license. The content key unit is cached in the edge nodes close to the user to reduce the pressure on the central cluster. The session key unit and the message verification code key unit are still calculated when the client requests the license.

[0064] For popular content, a memory-level pre-caching method is used to pre-generate session keys, encrypted content encryption keys, and to encrypt the session keys using each client public key in the client public key list. A message verification code key is also pre-generated and encrypted using the client public key. This completes the generation of a multi-layer key license unit, which is then stored in an in-memory database.

[0065] Dynamic load balancing is adopted, and the cluster control center monitors the node load in real time, prioritizing hot-chip tasks to high-computing-power nodes and warm-chip tasks to edge nodes.

[0066] In an optional embodiment of this application, based on historical access data of digital content, the request volume (QPS) of each digital content content ID is counted every 5 minutes. If the QPS is ≥1000 for three consecutive periods, the digital content is marked as the first group of content or high-frequency content; otherwise, it is other content. A list of client public keys that require pre-generated licenses (such as the top 100,000 active users) is compiled. Among them, the high-frequency group is assigned a globally shared key CEK (all content within the same group uses the same key); the low-frequency group retains an independent key CEK. In key management, the key CEK and its version number are recorded. The initial version can be v1. The high-frequency group shares the key CEK, and the update cycle can be 1 hour. The low-frequency group's key CEK can be updated as needed.

[0067] In an optional embodiment of this application, the method further includes:

[0068] The first group of content uses the same key, while each digital content in the second and third groups retains an independent key;

[0069] For the first and second sets of content, if the key is updated, update the version number of the key and obtain the list of digital content corresponding to the updated key;

[0070] For each piece of digital content, perform a license or key unit pre-generation task, perform asynchronous computation, obtain a list of public keys, and pre-generate licenses or key units in batches.

[0071] In an optional embodiment of this application, such as Figure 4 As shown, when updating the CEK key, the key version number is updated first. The key gateway receives the new version CEK key and sends a notification of the CEK_UPDATE event to the message queue Kafka. The license pre-generation node listens to the message queue, subscribes to the key CEK update event, and obtains the corresponding list of ContentIDs. In the loop segment, for each ContentID, a license or key unit pre-generation task is executed, performing asynchronous computation, i.e., obtaining the client public key list and pre-generating licenses or key units in batches. In the conditional branch segment alt, cache writes are performed: the pre-generated license content for high-frequency content is written to the in-memory key-value database Redis in the central cluster, with a TTL of 5 minutes; the pre-generated key units for low-frequency content are stored in the distributed file system of the edge nodes, a disk-level cache, such as the distributed file system HDFS, with a TTL of 24 hours. When the cached pre-generated license or key unit is updated, the old version cached content automatically becomes invalid. Client version number verification ensures that the client requests the latest key, allowing users to switch seamlessly.

[0072] In an optional embodiment of this application, in step S300, the first database is located in the central cluster, and the second database is located in the edge node. Receiving a license request and determining whether a multi-layer key license unit or content key unit corresponding to the license request is found in the first and second databases includes:

[0073] Upon receiving a license request, the load balancer routes the license request to the edge node closest to the load balancer route. It then determines whether the content key unit corresponding to the license request is found in the second database of the edge node. If a match is found, a license is generated based on the content key unit. If no match is found, the license request is forwarded to the central cluster.

[0074] Determine whether the multi-level key license unit corresponding to the license request is matched in the first database of the central cluster. If matched, return the pre-generated multi-level key license unit directly with a response time of ≤10ms. If not matched, trigger the real-time license generation process.

[0075] In an optional embodiment of this application, the method further includes:

[0076] High-frequency content is scanned at preset intervals. If the request volume of high-frequency content drops below a preset threshold, it is removed from the high-frequency group and its cache is associated with it and marked as pending cleanup.

[0077] When the key gateway broadcasts a CEK version update, it automatically eliminates old version licenses based on version number comparison. If an old version license is detected when a client requests it, it triggers a re-fetching. That is, when the key group key group_key_v2 is updated to v3, all cached entries with key version cek_version = v2 immediately become invalid.

[0078] The disk cache uses columnar storage (Parquet format), and licenses with the same numeric contentID are stored together to reduce the overhead of data read and write operations;

[0079] The memory cache uses a distributed cluster, which supports synchronous replication across multiple availability zones and automatically switches replicas when a single node fails.

[0080] Edge node caching achieves eventual consistency by copying data types without conflict, thus avoiding data conflicts.

[0081] For cache misses, newly generated licenses are written back to the cache according to content popularity. For high-frequency popular content, the licenses are written back directly to the memory-level cache. For moderate and cold content, the licenses are written back to the disk-level cache of the edge nodes.

[0082] The following example, using a live broadcast of the Spring Festival Gala on a certain video platform (contentID = spring_gala), with an estimated peak QPS of 100,000, further illustrates the digital rights management of this application.

[0083] The first step, the preheating phase: The popularity analysis engine marks spring_gala as high-frequency content 24 hours in advance, assigns a shared key CEK=gala_key_v1, generates licenses for the top 500,000 users in the pre-generated cluster, stores them in Redis, and occupies about 20GB of memory (40KB per license).

[0084] The second step, peak traffic: When client requests arrive, 95% hit the Redis cache with an average response time of 35ms. The remaining 5% of missed requests (new users or long-tail users) trigger real-time license generation, with a peak generation capacity of 2000 times / second.

[0085] The third step is key update: A potential key leakage risk was detected midway through the live stream, and the key CEK's `gala_key_v1` was urgently updated to `gala_key_v2`. The new license was pre-generated within 2 minutes, the old cache was automatically invalidated, and the user experienced a seamless switch.

[0086] It should be understood that although the steps in the flowchart are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order constraint on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the diagram may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.

[0087] Please see Figure 5 One embodiment of this application provides a digital rights management device 500, comprising:

[0088] The tagging module 510 is used to tag digital content into one of three groups of content, namely, a first group of content, a second group of content, and a third group of content, based on the historical access data of digital content, wherein the request volume of digital content is sorted from largest to smallest as the first group of content, the second group of content, and the third group of content.

[0089] The first generation module 520 is used to pre-generate a multi-level key license unit and a license content key unit for the first group of content and the second group of content, respectively, and store them in the first database and the second database. For the third group of content, a license is generated when a corresponding request occurs.

[0090] The judgment module 530 is used to receive a license request and determine whether a multi-level key license unit or content key unit corresponding to the license request is found in the first database and the second database.

[0091] The second generation module 540 is used to return a multi-level key license unit if a multi-level key license unit corresponding to the license request is found in the first database, generate a multi-level key license unit based on the content key unit if a content key unit corresponding to the license request is found in the second database, and generate a multi-level key license unit corresponding to the license request if neither a multi-level key license unit nor a content key unit corresponding to the license request is found in the first database or the second database.

[0092] For specific limitations regarding the aforementioned device 500, please refer to the limitations of the digital rights management method described above, which will not be repeated here. Each module in the aforementioned device 500 can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0093] In one embodiment, a computer device is provided, the internal structure of which can be as follows: Figure 6 As shown. The computer device includes a processor, memory, network interface, and database connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores data. The network interface communicates with external terminals via a network connection. When the computer program is executed by the processor, it implements a digital rights management method as described above. It includes: memory and a processor; the memory stores a computer program; and the processor executes the computer program to implement any step of the digital rights management method described above.

[0094] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, can perform any of the steps in the digital rights management method described above.

[0095] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0096] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0097] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0098] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0099] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.

[0100] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A digital rights management method, characterized in that, include: Based on historical access data of digital content, the digital content is tagged into one of three groups: Group 1, Group 2, and Group 3. The request volume of the digital content is sorted from largest to smallest as Group 1, Group 2, and Group 3. For the first and second groups of content, multi-level key license units and license content key units are pre-generated and stored in the first and second databases, respectively. For the third group of content, a license is generated when a corresponding request occurs. Upon receiving a license request, determine whether a multi-level key license unit or content key unit corresponding to the license request is found in the first and second databases. If a multi-level key license unit corresponding to the license request is found in the first database, the multi-level key license unit is returned. If a content key unit corresponding to the license request is found in the second database, a multi-level key license unit is generated based on the content key unit. If neither a multi-level key license unit nor a content key unit corresponding to the license request is found in the first or second database, a multi-level key license unit corresponding to the license request is generated.

2. The method according to claim 1, characterized in that, Based on historical access data for digital content, the digital content is categorized into one of three groups: Group 1, Group 2, and Group 3, including: For each piece of digital content, count the number of requests for that content within a preset time period; Based on the number of requests for digital content within a preset time period and the metrics used to categorize digital content, the first group of content, the second group of content, and the third group of content are determined.

3. The method according to claim 1, characterized in that, The following expressions are used to determine the first, second, and third groups of content based on the request volume of digital content within a preset time period and the metrics used to categorize the digital content: Where H(c) is the metric used to classify digital content, Q(c, t-kΔt) is the number of requests for digital content c at time t-kΔt, n is the number of consecutive statistical periods, and ω k =e -λk λ is the time decay factor, 0.2, Δt = 5 minutes, and Group(c) is one of the contents of the first group, the second group, and the third group.

4. The method according to claim 1, characterized in that, The method further includes: The first group of content uses the same key, while each digital content in the second and third groups retains an independent key; For the first and second sets of content, if the key is updated, update the version number of the key and obtain the list of digital content corresponding to the updated key; For each piece of digital content, perform a license or key unit pre-generation task, perform asynchronous computation, obtain a list of public keys, and pre-generate licenses or key units in batches.

5. The method according to claim 1, characterized in that, For the first set of content, multi-level key license units are pre-generated and stored in the first database, including: For the first set of content, a session key and an encrypted content encryption key are generated. The session key is then encrypted using each client public key in the preset client public key list. A message verification code key is generated and encrypted using the client public key. Multi-level key license units are pre-generated and stored in the first database.

6. The method according to claim 1, characterized in that, The content key unit for pre-generating licenses for the second set of content is stored in the second database, including: For the second set of content, a session key is generated and a content encryption key is encrypted. The session key and the encrypted content encryption key are stored in the second database, and a content key unit for the license is generated in advance.

7. The method according to claim 1, characterized in that, The first database is located in the central cluster, and the second database is located on the edge nodes. They receive license requests and determine whether a multi-layered key license unit or content key unit corresponding to the license request is found in either the first or second database. This includes: Upon receiving a license request, the load balancer routes the license request to the edge node closest to the load balancer route. It then determines whether the content key unit corresponding to the license request is found in the second database of the edge node. If a match is found, a license is generated based on the content key unit. If no match is found, the license request is forwarded to the central cluster. Determine whether the multi-level key license unit corresponding to the license request is matched in the first database of the central cluster. If matched, return the pre-generated multi-level key license unit directly. If not matched, trigger the real-time license generation process.

8. A digital rights management device, characterized in that, include: The tagging module is used to tag digital content into one of three groups of content, namely, the first group, the second group, and the third group, based on the historical access data of the digital content. The digital content is ordered from the largest to the smallest number of requests, namely, the first group, the second group, and the third group. The first generation module is used to pre-generate a multi-level key license unit and a license content key unit for the first group of content and the second group of content, respectively, and store them in the first database and the second database. For the third group of content, a license is generated when a corresponding request occurs. The judgment module is used to receive license requests and determine whether a multi-level key license unit or content key unit corresponding to the license request is found in the first database and the second database. The second generation module is used to return a multi-level key license unit if a multi-level key license unit corresponding to the license request is found in the first database, generate a multi-level key license unit based on the content key unit if a content key unit corresponding to the license request is found in the second database, and generate a multi-level key license unit corresponding to the license request if neither a multi-level key license unit nor a content key unit corresponding to the license request is found in the first database or the second database.

9. A computer device, comprising: The method includes a memory and a processor, the memory storing a computer program, characterized in that the processor executes the computer program to implement the steps of the digital rights management method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the digital rights management method according to any one of claims 1 to 7.