High-performance Audio and Video Platform Based on Distributed Cluster

By introducing signaling control center, functional nodes and salt value generation modules into the audio and video platform, a salt priority sequence is generated based on the priority state tree, which solves the problems of insufficient security and high availability in the existing technology, and realizes efficient and secure data transmission and management.

CN120050284BActive Publication Date: 2025-07-18BEIJING NELDA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510498935.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-21
Publication Date
2025-07-18
Estimated Expiration
2045-04-21

AI Technical Summary

Technical Problem

While ensuring low latency and high transmission efficiency, existing audio and video platforms have weak security. Frequent replacement of encryption keys increases system complexity, and random scheduling leads to inconsistent key management and data transmission, affecting high availability.

Method used

A high-performance audio and video platform based on distributed clusters is adopted, including signaling control center, functional nodes and salt value generation module, and salt-added priority sequences are generated through load balancing policies and priority status trees to realize automatic updates of encryption management and efficient verification of subscription permissions.

Benefits of technology

It achieves high efficiency and security during data transmission, reduces operation complexity, and improves the system's high availability and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120050284B_ABST
    Figure CN120050284B_ABST
Patent Text Reader

Abstract

The present invention discloses a high-performance audio and video platform based on a distributed cluster, including: a signaling control center, functional nodes, a key-value storage module, and a salt value generation module; the signaling control center, based on subscription responses, adopts a load balancing strategy to achieve the configuration and invocation of each functional node; the key-value storage module is used to store the status information of service nodes; it is characterized in that the salt value generation module determines a priority status tree based on the subscription permissions of the video set at the publishing end, and the priority status tree is used to generate a salt priority sequence based on the key base number. The present invention proposes a salt value generation strategy based on a hierarchical relationship in the application scenario of centralized scheduling and unified state registration, so that the final salt value can be calculated and verified based on the account itself, thereby achieving both high efficiency and security in the data transmission process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of audio and video technology, and more specifically, relates to a high-performance audio and video platform based on a distributed cluster. Background Art

[0002] With the continuous advancement of information technology, networking and multimedia technology, real-time data transmission and processing have become key issues that need to be urgently addressed in all walks of life. At present, distributed cluster architecture is widely used to build high-performance communication platforms. The platform manages and calls various functional nodes in a unified manner through the central scheduling module to achieve full-process collaborative operation of data collection, conversion, transmission and processing. The system adopts mechanisms such as protocol adaptation, load balancing, state registration and unified log management to ensure efficient collaboration between nodes under high-speed and low-latency conditions. Each node is deployed in a cluster form, and its operating status and configuration information are recorded through a distributed key-value storage system, so that the state of the entire network has high consistency and availability. The overall architecture can not only realize the efficient forwarding of real-time information, but also adapt to the needs of a large number of terminals for simultaneous online access, meet the strict requirements for data transmission quality, stability and security, and provide end users with a continuous and smooth interactive experience.

[0003] The existing system uses lightweight encryption algorithms to protect data while ensuring low latency and high transmission efficiency. Although such algorithms have the advantages of fast computing speed and simple implementation, their security is relatively weak. In order to make up for the security defects, the system needs to frequently update the encryption key, which may lead to increased management complexity and untimely state synchronization in a large-scale connection environment. On the other hand, since the platform must support multi-terminal connections at the same time, once a strategy based on different encryption parameters is adopted, it will cause a contradiction between the data protection method and load balancing scheduling, affecting the overall high availability of the system. It is difficult for the central scheduling module to obtain the latest permission information in real time during the random scheduling process, resulting in incoordination between key management and data transmission, further increasing the node storage and processing pressure, and restricting the stable operation of the system in a dynamic and high-concurrency environment. Summary of the invention

[0004] The present invention is to solve the deficiencies in the prior art, and the purpose of the present invention is to solve the above-mentioned defects and further propose a high-performance audio and video platform based on a distributed cluster.

[0005] The present invention adopts the following technical solution.

[0006] The first aspect of the present invention discloses a high-performance audio and video platform based on a distributed cluster, including: a signaling control center, functional nodes, a key-value storage module, and a salt value generation module; the signaling control center, based on subscription responses, adopts a load balancing strategy to achieve the configuration and invocation of each functional node; the key-value storage module is used to store the status information of service nodes; the salt value generation module determines a priority status tree based on the subscription permissions of the video sets at the publishing end, and the priority status tree is used to generate a salt priority sequence based on the key base number.

[0007] Further, the key-value storage module is also used to store subscription salt value information, where the subscription salt value information uses the video sets at the publishing end as keys and the priority status tree as the corresponding values.

[0008] Further, the key base number is uniquely determined based on the information of the account corresponding to the video sets at the publishing end.

[0009] Further, the functional nodes include a gateway node, a media node, and a log service node; the key-value storage module is Etcd.

[0010] Further, the determination of the priority status tree for subscription permissions specifically includes: determining the minimum subscription permissions corresponding to the video sets, and determining the priority status tree based on the subscription distance between the minimum subscription permissions and the maximum subscription permissions; where the minimum subscription permissions refer to the subscription permissions with the smallest range that exactly contains the video sets, the subscription distance is used to describe the maximum number of times the minimum subscription permissions are contained in the maximum subscription permissions, and the maximum subscription permissions are the subscription permissions that contain all other subscription permissions.

[0011] Further, generating the salt priority sequence according to the priority status tree and based on the key base number specifically includes: in the salt priority sequence, the salt value corresponding to each video set is generated based on the salt value of the video set closest in subscription distance and a preset progression function.

[0012] Further, the salt value corresponding to each video set is generated based on the salt value of the video set closest in subscription distance and a preset progression function, specifically including:

[0013] sj = f(si,k)

[0014] where si and sj are the i-th and j-th elements in the salt priority sequence, i, j = 1, 2,..., M, k = 1, 2,..., N, N is a fixed constant, and the progression function f is a mapping function; si is the parent node of sj in the priority status tree.

[0015] Further, the salt value corresponding to each video set is generated based on the salt value of the video set closest in subscription distance and a preset progression function, specifically including:

[0016] p[j] = f(p[i], k)

[0017] q[j] = f(q[i], N + 1 - k)

[0018] s[j] = g(p[j], q[j])

[0019] Wherein, s[i] and s[j] are the i-th and j-th elements in the salt addition priority sequence, i, j = 1, 2,..., M, k = 1, 2,..., N, M is the number of video sets, and N is the maximum number of video sets with the same priority; the progressive function f and the combination function g are arbitrary irreversible functions, and s[i] is the parent node of s[j] in the priority status tree.

[0020] Furthermore, the calculation verification logic of the media node includes: determining the corresponding node of the subscribing end user in the priority status tree; constructing a verification formula based on the mapping information in the priority status tree and the rank order of the video set to be watched; if the decoding is successful, the subscribing end user has the right to watch the video; otherwise, the user does not have such a right.

[0021] Furthermore, the verification formula is shown as follows:

[0022] p[b] = f(p[a], u)

[0023] q[b] = f(q[a], tN + t - u)

[0024] Wherein, t is the depth difference between two nodes, and u represents the rank order of the video set to be watched; p[a] and q[a] represent the salt addition values associated with the corresponding nodes of the subscription permission in the salt addition priority sequence in the priority status tree.

[0025] The beneficial effects of the present invention are that, compared with the prior art, the present invention has the following advantages:

[0026] Based on the application scenario of centralized scheduling and unified state registration, the present invention proposes a salt addition value generation strategy based on hierarchical relationships, so that the final salt addition values can be calculated and verified based on the account itself, thereby achieving both high efficiency and security in the data transmission process. The system not only meets the requirements of real-time and low-latency data processing, but also reduces the operation complexity of the audio and video platform and terminal users (including the subscribing end and the publishing end) through the encryption management mechanism, effectively improving the high availability of the overall platform. Brief Description of the Drawings

[0027] Figure 1 It is a schematic diagram of a high-performance audio and video platform based on a distributed cluster according to an embodiment of the present invention.

[0028] Figure 2It is a schematic diagram of the subscription permission relationship of the video set and the corresponding priority status tree in the scenario of the embodiment of the present invention. Detailed implementation manners

[0029] It should be noted that, unless otherwise specified, the methods used in the present invention are all conventional methods; the raw materials and devices used, unless otherwise specified, are all conventional commercially available products, and their sources are not specifically limited.

[0030] The present invention discloses a high-performance audio and video platform based on a distributed cluster, such as Figure 1 shown, including: a signaling control center, functional nodes, and a key-value storage module; the signaling control center, based on the response of the subscription end, adopts a load balancing strategy to realize the configuration and invocation of each functional node; the key-value storage module is used to store the status information of the service nodes.

[0031] Each functional node (hereinafter referred to as "node") includes, but is not limited to, a gateway node, a media node, a log service node, etc., and these nodes are usually deployed in a cluster form. The signaling control center acts as a general dispatcher. For example, after all gateway nodes and media nodes are started, they write their detailed information (such as IP, port, load conditions, etc.) into the key-value storage module. The signaling control center regularly or when receiving a new request, queries the status of all nodes from the key-value storage module, and after load evaluation, determines the best media node to process the code stream incoming from the gateway, and then notifies the gateway to establish a connection with this media node.

[0032] The gateway cluster is responsible for accessing different types of video signals into the platform. It is responsible for translating or adapting devices that use private protocols (such as the GB28181 protocol), and converting their video streams into data formats that the platform can process.

[0033] The media cluster mainly includes a streaming media cluster and a fusion video cluster. The streaming media cluster is a module responsible for transmitting the video "as it is", and its focus is on low latency and high real-time performance to ensure that the viewed video is as close to real-time as possible; the fusion video cluster is responsible for processing, synthesizing, splicing or frame extraction of multiple video pictures. It not only transmits videos, but can synthesize signals from multiple cameras into a new picture. The media cluster module is responsible for media-related operations such as code stream access, code stream output, video recording, and frame extraction.

[0034] The log service cluster is used to provide log access and unified retrieval. Each subsystem (for example: the signaling control center, the gateway cluster, the media cluster, etc.) will generate a large amount of running logs, error logs, access logs, etc. during operation. The log service module is responsible for real-time collecting the log data scattered on each node and normalizing the format for subsequent processing.

[0035] The key-value storage module can be Etcd. Etcd is a distributed reliable key-value storage system written in the Go language and is commonly used to store data that requires high availability and consistency in a distributed system. Etcd can be understood as a distributed notepad, mainly used to store configuration information, the status and location of service nodes, etc.

[0036] It can be understood that for the actual data path of a video stream from the publisher to the subscriber, it needs to pass through at least the following two nodes in sequence: the gateway node and the media node. If there are multiple protocol conversion requirements or hierarchical deployments (for example, there are different gateways in different regions, or it is necessary to perform "fusion / mixing" first and then push it to another media node), in a few complex scenarios, the video stream may pass through additional processing nodes (such as a fusion video node) before reaching the target media node. However, this is to achieve specific advanced functions (such as multi-channel video synthesis, special transcoding, forwarding to multiple platforms, etc.) and is not common in regular live broadcast or monitoring scenarios.

[0037] Since audio and video platforms pursue high performance and low latency, in some application scenarios, when providing security protection for video streams and audio streams, lightweight encryption algorithms such as those based on reversible matrix transformation are usually adopted (for example: TinyEncryption Algorithm, Hill Cipher, ChaCha20). These algorithms are essentially a reversible operation, and their core characteristics are small computational complexity, simple implementation, and extremely low latency, which can meet the strict requirements of real-time transmission. However, the security of this type of algorithm is relatively weak, and the secret key needs to be frequently changed to prevent potential security risks.

[0038] From the perspective of the video publisher, frequent secret key changes will undoubtedly increase the system complexity and operation burden, thereby affecting the user experience. Therefore, the audio and video platform should encapsulate the secret key management mechanism internally to achieve an automatic and transparent secret key update process, ensuring that the publisher does not need to pay attention to or handle the details of secret key changes, thus not only guaranteeing the real-time nature of data transmission but also taking into account security.

[0039] During use, when the signaling control center receives a subscription response from the subscriber, it often needs to select a relatively idle node according to the load situation of the current node to process this subscription response. In addition, it is not difficult to understand that the number of subscribers is often much larger than that of publishers, that is, for a single video publication, there are often multiple users subscribing and watching online simultaneously.

[0040] When the video at the publishing end has subscription permissions, the video often needs to be encrypted. However, in the above scenario, on the one hand, the number of subscription ends is much larger than that of the publishing end, which means that once different encryption methods (which can be understood as the salt in the following text) are determined according to different subscription permissions themselves, it will not be possible to meet the 1-to-n connection between the subscription end and the publishing end, which will greatly weaken the high availability of the audio and video platform; on the other hand, in order to achieve a 1-to-n connection, it is necessary to form different encryption methods for different video sets, which, however, greatly increases the storage difficulty of the nodes. Since the signaling control center has randomness when selecting nodes (in exchange for low latency), especially when selecting media nodes for video processing, its randomness causes the current nodes may not be able to obtain real-time updated subscription permissions, which contradicts the requirements of the signaling control center itself.

[0041] To solve the above technical problems, the audio and video platform further includes a salt value generation module. Among them, the salt value generation module determines a priority status tree based on the subscription permissions of the publishing end video set, and the priority status tree is used to generate a salt addition priority sequence based on the key base. Correspondingly, the key value storage module is also used to store subscription salt value information, where the subscription salt value information uses the publishing end video set as the key and the priority status tree as the corresponding value.

[0042] It can be understood that the priority status tree is used to describe the mapping relationship between different subscription permissions and video sets.

[0043] For any encryption algorithm, the key generation process can be shown as follows:

[0044] q = K(Q, salt)

[0045] Among them, Q is the key material, salt is the salt value, q is the key itself, and K is the key derivation function.

[0046] Generally, the key material and the key derivation function depend on the algorithm itself. That is to say, for a specific algorithm, the key material and the key derivation function are usually set fixedly; and only by mastering the key can encryption and decryption be carried out; therefore, it is not difficult to understand that salt is essentially a random number, which is unpredictable and usually should change every once in a while, so that the generated key is difficult to be deduced or reused by attackers in advance.

[0047] It is understandable that the publisher video set refers to a collection of one or more different videos. In the relevant scenarios involved below, for example, video set p2 may contain both video p2 and videos p4 and p5. It should be noted that once the three videos p2, p4, and p5 are equivalent with respect to all subscription permissions, then p2, p4, and p5 can only be regarded as one video set, such as p2; that is to say, for the convenience of description, p1~p13 should actually be understood as video sets. The definition of the video set determines the concept of "the number of video sets" mentioned below.

[0048] As Figure 2 shown, in the first scenario, assume that the publisher has released 3 encrypted videos, namely p1~p3. Among them, ordinary members can only subscribe to p1 for free, vip members can subscribe to p1~p3, and in addition, ordinary members can also purchase p2 or p3 separately. In the first scenario, there are a total of 4 different subscription permissions, namely vip members, ordinary members who subscribe to p2, ordinary members who subscribe to p3, and ordinary members. The number of video sets is 3, and its priority status tree can be described as: {null->p2; null ->p3; p2->p1; p3->p1}.

[0049] As Figure 2 shown, in the second scenario, assume that the publisher has released 3 encrypted videos, namely p6~p8. Among them, green card members can only subscribe to p6 for free, pink card members can only subscribe to p7 for free, and blue card members can only subscribe to p8 for free. In the second scenario, there are a total of 3 different subscription permissions, the number of video sets is 3, and its priority status tree can be described as: {null->p6; null ->p7; null->p8}.

[0050] As Figure 2 shown, in the third scenario, assume that the publisher has released 5 encrypted videos, namely p9~p13. Among them, the first type of member can only subscribe to p9 for free, the second type of member can only subscribe to p9 and p10 for free, the third type of member can only subscribe to p9 and p11 for free, the fourth type of member can only subscribe to p9, p11, and p12 for free, and the fifth type of member can subscribe to p9~p13. In the third scenario, there are a total of 5 types of different subscription permissions, the number of video sets is 5, and its priority status tree can be described as: {p13->p12; p12 ->p11; p11->p9; p10->->p9}. In the priority status tree, the depth difference between the node of p9 and the node of p10 is 2, which also needs to be expressed in the description of the priority status tree.

[0051] For each node in the priority status tree, that is, the determination process of the video set can be determined based on the subscription distance. That is to say, the subscription permission determines the priority status tree, specifically including: determining the minimum subscription permission corresponding to the video set, based on the subscription distance between the minimum subscription permission and the maximum subscription permission, and then determining the video set, that is, the position of the node in the priority status tree. When each node is determined, the entire priority status tree is determined. Among them, the minimum subscription permission refers to the subscription permission with the smallest range that can just contain the video set; the subscription distance is used to describe the maximum number of times the minimum subscription permission is contained by the maximum subscription permission. The maximum subscription permission is the subscription permission that contains all other subscription permissions. That is to say, all other subscription permissions are just a subset of the maximum subscription permission. It can be understood that the subscription distance corresponds to the depth of the node. In Figure 2 In it, the priority status tree vividly describes the relationship between the minimum subscription permission and the maximum subscription permission through the relationship between the parent and child nodes. It can be understood that the maximum subscription permission is located at the root node of the tree diagram, and the maximum number of times the minimum subscription permission is contained by the maximum subscription permission can be regarded as the depth corresponding to the minimum subscription permission.

[0052] Taking the first type of member in the third scenario as an example, the number of times the subscription permission is contained can be 3 (i.e., p13 -> p12 -> p11 -> p9), or it can be 2 (p13 -> p10 -> p9). Therefore, the maximum value of the subscription distance corresponding to the first type of member is 3. It can be considered that the same priority status tree has the same subscription distance, and the greater the subscription distance, the lower the priority.

[0053] In some embodiments, taking the second scenario as an example, there is no maximum subscription permission. At this time, a maximum subscription permission needs to be virtually constructed (for example: Figure 2 the subscription permission null corresponding to the dotted line in it, and this subscription permission can subscribe to the videos of px, p6~p8). Similarly, in the first scenario, compared with the ordinary members who subscribe to p2 and the ordinary members who subscribe to p3, the vip members do not have additional video set permissions. Therefore, the root node of its priority status tree is also described by null.

[0054] The salt - adding priority sequence is a vector of length N, where N represents the number of video sets. Each element in this vector represents the salt - adding value of the corresponding video set. That is to say, in the embodiments of the present invention, the salt - adding value is determined based on the video set. If the video sets are different, the salt - adding values are also different, and thus one - to - n subscription access can be achieved. For example, in the first scenario, in order to meet the subscription needs of each group, the publishing end does not repeatedly encrypt the same video differently, but encrypts each video based on a pre - set priority status tree. The salt - adding priority sequence s = [s0, s1, s2, s3], where s0, s1, s2, s3 can respectively correspond to four different subscription permissions of vip members, ordinary members subscribing to p2, ordinary members subscribing to p3, and ordinary members. That is to say, s0, s1, s2, s3 are actually the salt - adding values of four types of videos p4, p2, p3, and p1 respectively.

[0055] In some embodiments, according to the priority status tree and based on the key base, a salt - adding priority sequence is generated. Specifically, in the salt - adding priority sequence, the salt - adding value corresponding to each video set is generated based on the salt - adding value of the video set closest in subscription distance and a preset progression function. The closest video set can be understood as Figure 2 the two video sets connected by the solid line in the tree diagram. Taking Figure 2 the third scenario in it as an example, it is not difficult to understand that the salt - adding value corresponding to p9 can be obtained based on the salt - adding value corresponding to p11 and a preset progression function; the salt - adding value corresponding to p11 can be obtained based on the salt - adding value corresponding to p12 and a preset progression function, and so on.

[0056] In some embodiments, the salt - adding value corresponding to each video set is generated based on the salt - adding value of the video set closest in subscription distance and a preset progression function. Specifically, it can be shown as the following formula:

[0057] sj = f(si,k)

[0058] Where si and sj are the ith and jth elements in the salt - adding priority sequence, si is the parent node of sj in the priority status tree. Since j > i, the priority of sj is lower than that of si, i, j = 1, 2,..., M, k = 1, 2,..., N, and N is a fixed constant, which should be set as the maximum number of video sets under the same priority. For example, N can be set to 5 - 10. Fixing N means that the change of subscription permissions is also restricted. The publishing end needs to judge the subscription permissions based on N to avoid the maximum number of video sets under the same priority exceeding N; the progression function f should be a mapping function.

[0059] It should be noted that si is the parent node of sj in the priority status tree, and the parent node is identified by the solid line in the priority status tree. For example, in the second scenario, if sj corresponds to node p9, then si corresponds to node p11, rather than node p10.

[0060] In some more preferred embodiments, the salt value corresponding to each video set is generated based on the salt value of the video set closest in subscription distance and a preset progressive function, and specifically can be shown as follows:

[0061] p[j] = f(p[i],k)

[0062] q[j]=f(q[i],N+1-k)

[0063] sj=g(p[j],q[j])

[0064] Among them, the progressive function f and the preset combination function g can in principle be any functions, but it should be noted that in this embodiment, both f and g should be irreversible. Similarly, si is the parent node of sj in the priority status tree; (p[i],q[i]) represents the i-th key base, and (p[j],q[j]) represents the j-th key base.

[0065] In some embodiments, the irreversible function can be: g(u,v)=(u*v)%P. Where P should generally be a prime number.

[0066] It can be understood that in the above formula, each salt value is actually calculated from a vector with a dimension of 2 (i.e., p[j], q[j]). Therefore, in some embodiments, the key base can be used as p[1] and q[1], that is, s1=g(p[1],q[1]).

[0067] Unless otherwise specified, in the present invention, the key base refers to the first key base, that is, p[1] and q[1].

[0068] It is understandable that all the video sets in the first scenario, second scenario, and third scenario discussed in the present invention should be understood as all the video sets under the same account. This account can belong to a private user, and corresponding membership levels can be set for different viewing groups, or it can be a company account, and corresponding access permissions can be set for different internal employees. The specific method is essentially the same as that in the first scenario, second scenario, and third scenario. It is not difficult to understand that the key base is uniquely determined based on the information of the account. Therefore, in the key-value storage module, only the video set at the publishing end needs to be used as the key, that is, the information of the account corresponding to the video set at the publishing end is used as the key; the key base and the priority status tree are used as the corresponding values. Since the key base is uniquely determined based on the information of the account, it can actually be understood as separately using the priority status tree as the corresponding value.

[0069] It is understandable that for Etcd, the cost of managing multiple keys for an account is much greater than managing a key base. The above-mentioned cost mainly refers to maintaining the performance of Etcd itself, that is, in a distributed storage system, ensuring the high availability and consistency of data. It is not difficult to speculate that in some embodiments, even the salt corresponding to p4 in the first scenario or the salt corresponding to p13 in the third scenario will not choose the key base, but will continue to nest another layer outside it. That is, similar to the second scenario, a virtual maximum subscription permission is constructed to ensure security.

[0070] The present invention first determines the priority status tree through the subscription permission of the video set at the publishing end, and then generates a salted priority sequence based on the key base, which avoids unnecessary acquisition of different publishing ends or multiple acquisitions of video information by subscribers with different permissions, and improves the high reusability of the audio and video platform. In addition, the significance of generating the salt value based on the salt value of the video set closest to the subscription distance and the preset progressive function is that for encryption or decryption nodes, especially media nodes, they do not need to pay attention to or obtain the subscription permissions that may be updated in real time. They only need to be based on the known key base, as well as the inherent progressive function f and combination function g of the audio and video platform itself, and can accurately judge the subscription permissions of the subscription end through a small amount of calculation and verification.

[0071] Taking the media node as an example, at this time, the media node has decoded the currently subscribed video and sent it to the correct subscriber. At this time, if a new subscriber is newly connected and a new media node is selected based on the signaling control center, it only needs to verify whether it can. For example, select the above more preferred embodiment and apply it in the third scenario. When the user of the new subscriber is a second-class member and attempts to watch the video set p9 online, the calculation verification logic of the media node includes: determining the corresponding node (i.e., p10) of the subscriber user (e.g., the second-class member) in the priority status tree; based on the mapping information in the priority status tree (i.e., p10->->p9), and the rank order of the video set to be watched (i.e., u = 1), constructing a verification formula; if the decoding is successful, the subscriber user has the right to watch the video; otherwise, they do not have this right.

[0072] It is understandable that the corresponding node of the subscriber user in the priority status tree refers to the node with the highest priority in the priority status tree, which can be understood as the node with the smallest depth in the priority status tree. The rank order refers to the order of the video sets to be watched at the same level in the priority status tree, which can be regarded as the order of the nodes from left to right on the tree at the same depth. For example, the rank orders of p6, p7, and p8 are 1, 2, and 3; the rank orders of p11 and p9 are both 1.

[0073] The verification formula can be shown as follows:

[0074] p[b] = f(p[a],u)

[0075] q[b]=f(q[a],tN+t-u)

[0076] Where, t is the depth difference between two nodes. The depth of a node represents the maximum distance of the node from the root node, u represents the rank order of the video set to be watched; (p[a], q[a]) represents the a-th key base number associated with the salt value (salt) in the salted priority sequence corresponding to the node corresponding to the subscription permission (e.g., the second-class member) in the priority status tree; correspondingly, (p[b], q[b]) represents the b-th key base number. It can be understood that when a subscriber as a second-class member attempts to watch the video set p9 online, it needs to send information matching the permission of the second-class member, such as the corresponding node of the second-class member in the priority status tree.

[0077] Taking p[b] and q[b] as salt values and bringing them into the media node for decoding. If the decoding is successful, it means that the subscriber user has the right to watch the video; if the decoding fails, it means that the subscriber user does not have the right.

[0078] It should be noted that N can be stored in the key-value storage module together with the priority status tree. N is used to describe the level of the publisher's account: the higher the level of the publisher's account, the larger the fixed value N it matches.

[0079] Finally, it should be noted that the above content is only used to illustrate the technical solution of the present invention, rather than a limitation on the protection scope of the present invention. Any simple modification or equivalent replacement made by those of ordinary skill in the art to the technical solution of the present invention shall not depart from the essence and scope of the technical solution of the present invention.

Claims

1. A high-performance audio and video platform based on a distributed cluster, comprising: Signaling control center, functional node, key-value storage module, and salt value generation module; The signaling control center, based on the subscription response, adopts a load balancing strategy to achieve the configuration and invocation of each functional node; the key-value storage module is used to store the status information of the service node; it is characterized in that the salt value generation module determines the priority status tree based on the subscription permissions of the video sets at the publishing end, and the priority status tree is used to generate the salt addition priority sequence based on the key base; The determination of the priority status tree for subscription permissions specifically includes: determining the minimum subscription permission corresponding to the video set, and determining the priority status tree based on the subscription distance between the minimum subscription permission and the maximum subscription permission; where the minimum subscription permission refers to the subscription permission with the smallest range that exactly contains the video set, and the subscription distance is used to describe the maximum number of times the minimum subscription permission is included in the maximum subscription permission, and the maximum subscription permission is the subscription permission that includes all other subscription permissions; According to the priority status tree and based on the key base to generate the salt addition priority sequence, specifically includes: in the salt addition priority sequence, the salt value corresponding to each video set is generated based on the salt value of the video set closest in subscription distance and a preset progression function.

2. A high-performance audio and video platform based on a distributed cluster according to claim 1, characterized in that, The key-value storage module is also used to store the subscription salt value information, where the subscription salt value information uses the video sets at the publishing end as the key and the priority status tree as the corresponding value.

3. A high-performance audio and video platform based on a distributed cluster according to claim 2, characterized in that, The key base is uniquely determined based on the information of the account corresponding to the video sets at the publishing end.

4. A high-performance audio and video platform based on a distributed cluster according to claim 1, wherein The functional nodes include a gateway node, a media node, and a log service node; the key-value storage module is Etcd.

5. A high-performance audio and video platform based on a distributed cluster according to claim 1, characterized in that, The salt value corresponding to each video set is generated based on the salt value of the video set closest in subscription distance and a preset progression function, specifically including: sj = f(si,k) Where si and sj are the i-th and j-th elements in the salt addition priority sequence, i, j = 1, 2,..., M, k = 1, 2,..., N, M is the number of video sets, N is the maximum number of video sets under the same priority, and the progression function f is a mapping function; si is the parent node of sj in the priority status tree.

6. A high-performance audio and video platform based on a distributed cluster according to claim 1, characterized in that, The salt value corresponding to each video set is generated based on the salt value of the video set closest in subscription distance and a preset progression function, specifically including: p[j] = f(p[i],k) q[j]=f(q[i],N+1-k) sj=g(p[j],q[j]) Where si and sj are the i-th and j-th elements in the salt addition priority sequence, i, j = 1, 2,..., M, k = 1, 2,..., N, M is the number of video sets, N is the maximum number of video sets under the same priority; the progression function f and the combination function g are arbitrary irreversible functions, si is the parent node of sj in the priority status tree, (p[i], q[i]) represents the i-th key base, and (p[j], q[j]) represents the j-th key base.

7. A high-performance audio and video platform based on a distributed cluster according to claim 6, characterized in that, The calculation verification logic of the media node includes: determining the corresponding node of the subscribing user in the priority status tree; constructing a verification formula based on the mapping information in the priority status tree and the rank order of the video set to be watched; if the decoding is successful, the subscribing user has the permission to watch the video; otherwise, the user does not have such permission; the rank order refers to the order of nodes from left to right at the same level in the priority status tree for the video set to be watched.

8. A high-performance audio and video platform based on a distributed cluster according to claim 7, characterized in that, The verification formula is shown as follows: p[b] = f(p[a],u) q[b]=f(q[a],tN+t-u) Where t is the depth difference between two nodes, the depth of a node represents the maximum distance from the node to the root node, u represents the rank order of the video set to be watched; (p[a], q[a]) represents the a-th key base, and (p[b], q[b]) represents the b-th key base.

Citation Information

Patent Citations

  • Authentication method and device

    CN107404463A

  • Signature video data with salted hash

    CN115955567A