Software licensing method, system and equipment applied to distributed cluster

By generating software license information within a distributed cluster system, the licensing issue that requires the participation of software vendors in existing technologies is resolved, enabling self-licensing and improving licensing efficiency and manageability.

CN121902104APending Publication Date: 2026-04-21ZHEJIANG RUISHUYUNLIAN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZHEJIANG RUISHUYUNLIAN TECH CO LTD
Filing Date
2023-12-25
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing software licensing methods for distributed cluster systems require the involvement of software vendors, and each licensing process is cumbersome, inefficient, and results in poor cluster node manageability.

Method used

The system generates software license information within the cluster and autonomously completes software license verification by processing node fingerprint information and license authorization information, simplifying the process and improving efficiency.

Benefits of technology

No software vendor involvement is required for subsequent license review; cluster nodes can independently complete the licensing process, improving licensing efficiency and manageability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121902104A_ABST
    Figure CN121902104A_ABST
Patent Text Reader

Abstract

The invention provides a software license method, system and device applied to a distributed cluster, and the method comprises the steps: collecting node fingerprint information of all nodes in the cluster, and obtaining license authorization information corresponding to each node; processing the node fingerprint information of each node and the license authorization information to generate software license information, and sending the software license information to the cluster for storage; extracting signature information of the node to be licensed; according to the software license information, verifying the signature information to obtain a verification result; and performing permission verification on the node to be permitted according to the verification result, according to the invention, the permission process of the cluster node is simplified, the permission efficiency of the cluster node is improved, and the manageability of the cluster node is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of distributed cluster technology, and more specifically, to a software licensing method, system, and device applied to distributed clusters. Background Technology

[0002] With the continuous development of technologies such as social networks, mobile internet, and e-commerce, internet users are contributing increasingly more content. To process this content, distributed cluster systems are now widely used for data storage, computation, and value extraction. Software licensing for distributed cluster systems is also becoming increasingly important.

[0003] The current method for licensing cluster nodes involves providing the software vendor with the device's hardware information, such as the MAC address, of the device to be licensed. The software vendor then verifies the information and authorizes the device to receive the target software. This method is cumbersome and inefficient because it requires the software vendor's involvement in each licensing process and involves numerous cluster nodes.

[0004] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0005] In view of the problems in the prior art, the purpose of this invention is to provide a software licensing method, system and device for distributed clusters, which helps to improve the licensing efficiency of cluster nodes and improve the manageability of cluster nodes.

[0006] To achieve the above objectives, the present invention provides a software licensing method applied to distributed clusters, the method comprising the following steps:

[0007] Collect node fingerprint information of all nodes in the cluster, and obtain the corresponding license and authorization information for each node;

[0008] The node fingerprint information and the license authorization information of each node are processed to generate software license certificate information, and the software license certificate information is sent to the cluster for storage.

[0009] Extract the signature information of the node to be licensed;

[0010] Based on the software license information, the signature information is verified to obtain a verification result; and,

[0011] Based on the verification results, the node to be licensed is subject to license verification.

[0012] Optionally, the step of processing the node fingerprint information and the license authorization information of each node to generate software license certificate information, and sending the software license certificate information to the cluster for storage, includes:

[0013] The node fingerprint information corresponding to each node and the license authorization information are combined and encrypted to generate software license certificate information corresponding to each node, and the software license certificate information is distributed to the corresponding node.

[0014] The step of verifying the signature information based on the software license information to obtain a verification result includes:

[0015] Obtain the software license information corresponding to the node to be licensed, and verify the signature information based on the software license information corresponding to the node to be licensed to obtain the verification result.

[0016] Optionally, the cluster includes proxy nodes and worker nodes, wherein the proxy nodes are used to communicate with the worker nodes and with the external network; the worker nodes are located on a local area network; and the node to be licensed is one or more of the worker nodes.

[0017] Sending the software license information to the cluster for storage includes:

[0018] The software license information is sent to the agent node for storage;

[0019] The step of verifying the signature information based on the software license information to obtain a verification result includes:

[0020] The proxy node verifies the signature information based on the software license certificate information and obtains the verification result.

[0021] Optionally, the method further includes the step of:

[0022] In response to the detection of an increase in the number of worker nodes in the cluster, the proxy node obtains node update information;

[0023] The proxy node sends the node update information to the software service provider and receives the license issuance result from the software service provider for the newly added working node;

[0024] The proxy node performs license verification on the working node based on the license issuance result.

[0025] Optionally, the method further includes the step of:

[0026] The proxy node obtains the license authorization document issued by the software service provider;

[0027] The proxy node parses the license authorization file to obtain node replacement license data;

[0028] In response to detecting that a preset number of first working nodes in the cluster have gone offline, and the cluster has added the preset number of second working nodes, the proxy node provides temporary license data to the second working nodes according to the node replacement license data;

[0029] The second working node obtains an authorization for the software provided by the software service provider based on the temporary license data.

[0030] Optionally, the cluster includes a container cloud platform; each worker node includes at least one container; the license data corresponding to the first worker node is stored in a first container;

[0031] The proxy node provides temporary license data to the second working node based on the node replacement license data, including:

[0032] Obtain the first container from the first worker node;

[0033] The container cloud platform extracts the license data corresponding to the first working node from the first container;

[0034] The proxy node runs the first container on the second working node, and generates temporary license data for the second working node based on the node replacement license data and the license data corresponding to the first working node.

[0035] Optionally, the verification result is either successful or failed; the method further includes the following steps:

[0036] In response to the verification result being successful, the corresponding authorization mode is parsed and determined as the first authorization mode based on the software license information;

[0037] In response to the detection that the amount of data of the tasks processed by the cluster exceeds a preset threshold after a preset time period, the authorization mode is switched from the first authorization mode to the second authorization mode according to the software license certificate information; wherein, the disk quota of the first authorization mode is less than the disk quota of the second authorization mode; and the authorization period of the first authorization mode is greater than the authorization period of the second authorization mode.

[0038] Optionally, the license information includes the license term and the authorized resource quota.

[0039] This invention also provides a software licensing system for distributed clusters, used to implement the above-described software licensing method for distributed clusters, the system comprising:

[0040] The node information collection module collects the node fingerprint information of all nodes in the cluster, as well as obtains the corresponding license and authorization information for each node.

[0041] The software license certificate generation module processes the node fingerprint information and the license authorization information of each node to generate software license certificate information, and sends the software license certificate information to the cluster for storage;

[0042] The node signature information extraction module extracts the signature information of the node to be licensed.

[0043] The signature information verification module verifies the signature information based on the software license certificate information and obtains the verification result; and,

[0044] The license verification completion module performs license verification on the node to be licensed based on the verification result.

[0045] The present invention also provides a software licensing device for use in distributed clusters, comprising:

[0046] processor;

[0047] A memory in which an executable program of the processor is stored;

[0048] The processor is configured to perform the steps of any of the above-described software licensing methods applied to a distributed cluster by executing the executable program.

[0049] The present invention also provides a computer-readable storage medium for storing a program, which, when executed by a processor, implements the steps of any of the above-described software licensing methods applied to a distributed cluster.

[0050] Compared with the prior art, the present invention has the following advantages and outstanding effects:

[0051] The software licensing method, system, and device provided by this invention for distributed clusters, after obtaining the software license certificate information of all nodes for the first time, eliminates the need for software vendors to participate in the review process during the subsequent use of all nodes. The software license authorization can be verified autonomously within the cluster based on the software license certificate information, which simplifies the licensing process of cluster nodes, improves the licensing efficiency of cluster nodes, and enhances the manageability of cluster nodes. Attached Figure Description

[0052] Other features, objects, and advantages of the invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings.

[0053] Figure 1This is a schematic diagram of a software licensing method applied to a distributed cluster, as disclosed in an embodiment of the present invention;

[0054] Figure 2 This is a schematic diagram of a software licensing method applied to a distributed cluster, as disclosed in another embodiment of the present invention;

[0055] Figure 3 This is a schematic diagram of a software licensing method applied to a distributed cluster, as disclosed in another embodiment of the present invention;

[0056] Figure 4 This is a schematic diagram of a software licensing method applied to a distributed cluster, as disclosed in another embodiment of the present invention;

[0057] Figure 5 This is a schematic diagram of a software licensing method applied to a distributed cluster, as disclosed in another embodiment of the present invention;

[0058] Figure 6 This is a schematic diagram of a software licensing method applied to a distributed cluster, as disclosed in another embodiment of the present invention;

[0059] Figure 7 This is a schematic diagram of a software licensing method applied to a distributed cluster, as disclosed in another embodiment of the present invention;

[0060] Figure 8 This is a schematic diagram of the structure of a software licensing system applied to a distributed cluster, as disclosed in an embodiment of the present invention;

[0061] Figure 9 This is a schematic diagram of a software licensing device applied to a distributed cluster, as disclosed in an embodiment of the present invention. Detailed Implementation

[0062] The following specific examples illustrate the implementation methods of this application. Those skilled in the art can easily understand the other advantages and effects of this application from the content disclosed herein. This application can also be implemented or applied through other different specific embodiments, and various details in this application can be modified or changed according to different viewpoints and application systems without departing from the spirit of this application. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be combined with each other.

[0063] The embodiments of this application will now be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily implement the application. This application may be embodied in many different forms and is not limited to the embodiments described herein.

[0064] In this application, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics represented in connection with that embodiment or example, which are included in at least one embodiment or example of this application. Furthermore, the specific features, structures, materials, or characteristics represented may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate different embodiments or examples represented in this application, as well as features of different embodiments or examples.

[0065] Furthermore, the terms "first" and "second" are used for illustrative purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the representation of this application, "multiple" means two or more, unless otherwise explicitly specified.

[0066] For the purpose of clearly describing this application, devices that are not relevant to the description are omitted, and the same or similar components throughout the specification are given the same reference numerals.

[0067] Throughout this specification, when it is said that a device is "connected" to another device, this includes not only "direct connection" but also "indirect connection" by placing other components in between. Furthermore, when it is said that a device "comprises" a certain constituent element, unless otherwise stated otherwise, this does not exclude other constituent elements, but rather implies that other constituent elements may be included.

[0068] When we say that a device is "above" another device, this can mean that it is directly above the other device, or it can mean that other devices are present in between. Conversely, when we say that a device is "directly" "above" another device, there are no other devices present in between.

[0069] Although the terms first, second, etc., are used in some instances herein to refer to various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, first interface and second interface, etc., are used. Furthermore, as used herein, the singular forms “a,” “an,” and “the” are intended to also include the plural forms unless the context indicates otherwise. It should be further understood that the terms “comprising,” “including,” indicate the presence of features, steps, operations, elements, components, items, kinds, and / or groups, but do not exclude the presence, occurrence, or addition of one or more other features, steps, operations, elements, components, items, kinds, and / or groups. The terms “or” and “and / or” as used herein are interpreted as inclusive, or mean any one or any combination thereof. Thus, “A, B, or C” or “A, B, and / or C” means “any one of: A; B; C; A and B; A and C; B and C; A, B, and C.” Exceptions to this definition will only occur if the combination of elements, functions, steps, or operations is inherently mutually exclusive in some way.

[0070] The technical terms used herein are for reference only to specific embodiments and are not intended to limit the scope of this application. The singular form used herein includes the plural form unless the statement explicitly indicates otherwise. The word "comprising" as used in the specification means to specify a particular characteristic, region, integer, step, operation, element, and / or component, and does not exclude the presence or addition of other characteristics, regions, integers, steps, operations, elements, and / or components.

[0071] Although not explicitly defined, all terms, including technical and scientific terms used herein, shall have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. Terms defined in commonly used dictionaries shall be further interpreted as having a meaning consistent with the relevant technical literature and the content of this present application, and shall not be over-interpreted as having an ideal or overly formulaic meaning unless otherwise defined.

[0072] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that the invention will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar structures, and therefore repeated descriptions of them will be omitted.

[0073] like Figure 1 As shown, an embodiment of the present invention discloses a software licensing method applied to a distributed cluster, the method comprising the following steps:

[0074] S110 collects node fingerprint information from all nodes in the cluster and obtains the corresponding license and authorization information for each node. The node fingerprint information includes, but is not limited to, MAC address information, storage disk size, and current time information. Storage disk size is the amount of disk space to be authorized. Current time information is used to calculate whether the license period has expired. MAC address information is the MAC address of the device corresponding to the node. Each node can be a server device.

[0075] The aforementioned license information is issued by the software service provider to which the cluster nodes wish to license the software. This license information may include the license term, and may also include the IP address or authorized resource quota; this application does not impose any restrictions on this. The license term may include the start and end dates of the license.

[0076] In some embodiments, the distributed cluster described above may include a master management node and multiple worker nodes. The master management node is not responsible for managing other nodes; instead, it serves as a temporary data relay node, responsible for collecting and distributing lightweight global cluster data, i.e., first-level metadata. Both the master management node and the worker nodes need to execute cluster tasks.

[0077] S120: Process the node fingerprint information and license authorization information corresponding to each node to generate software license certificate information, and send the software license certificate information to the cluster for storage. Regarding the software license certificate information, there can be only one, that is, this single software license certificate information records the authorization information of all nodes; this single software license certificate information can be stored in one node of the cluster, such as the aforementioned master management node; or it can be stored in each node of the cluster. Alternatively, a separate software license certificate information can be generated for each node, that is, one software license certificate information per node. All software license certificate information can be stored in one node of the cluster, such as the aforementioned master management node, or each software license certificate information can be stored in its corresponding node.

[0078] In this embodiment, the software license information is stored in the master management node of the cluster. The master management node can use the software license information to complete the software use license authorization for all nodes. This can prevent the software license information from being stored on each node and then being lost due to a failure of one node, which would require a cumbersome process of re-authorizing the license. This helps to improve the smoothness of the software license verification process and the flexibility of node licensing in the entire distributed cluster system.

[0079] In this embodiment, the above processing procedure is the encryption process performed after combination. The choice of encryption method is open to those who need it; for example, an irreversible encryption algorithm can be used. This application does not impose any restrictions on this.

[0080] S130, Extract the signature information of the node to be licensed. The node to be licensed can be any node in the distributed cluster system, such as the aforementioned master management node or the aforementioned worker node; this application does not impose any restrictions on this. The parameters included in the aforementioned signature information can be the same as those included in the aforementioned node fingerprint information. Alternatively, the aforementioned signature information can also only include the MAC address.

[0081] S140, Based on the aforementioned software license information, verify the aforementioned signature information to obtain a verification result. This allows for license verification of the node to be licensed based on the verification result. The verification result is either successful or failed. Specifically, for example, the verification process could involve determining whether the MAC address in the signature information falls within the range of MAC addresses in the aforementioned software license information. If so, the verification is successful, meaning the license verification passes. If not, the verification fails, meaning the license verification fails. Alternatively, the verification process could also involve determining whether both the MAC address and the current time in the signature information fall within the range of the aforementioned software license information. If so, the verification is successful. If not, the verification fails.

[0082] And S150, based on the above verification results, performs license verification on the node to be licensed. That is, if the verification result is successful, a license for using the software is issued to the node to be licensed. If the verification result is unsuccessful, a license for using the software is not issued to the node to be licensed, and the node to be licensed cannot use the corresponding software.

[0083] In another embodiment of this application, a different software licensing method applied to distributed clusters is disclosed. For example... Figure 2 As shown, the method described above Figure 1 Based on the corresponding embodiment, step S120 is replaced by step S121:

[0084] The node fingerprint information and license authorization information corresponding to each node are combined and encrypted to generate software license information corresponding to each node, and the software license information is distributed to the corresponding node.

[0085] The above step S140 is replaced by step S141:

[0086] Obtain the software license information corresponding to the node to be licensed, and verify the signature information based on the software license information corresponding to the node to be licensed to obtain the verification result.

[0087] In this embodiment, software license information is stored on each node. When the target software needs to be used, the node can quickly authorize itself, which helps to improve the efficiency of the node's own software licensing.

[0088] In another embodiment of this application, a different software licensing method applied to distributed clusters is disclosed. For example... Figure 3 As shown, the method described above Figure 1 Based on the corresponding embodiment, the aforementioned cluster includes proxy nodes and worker nodes. The proxy nodes are used to communicate with each worker node and with the external network. The worker nodes are located in a local area network (LAN), and communication between worker nodes is based on the LAN. Worker nodes in the LAN cannot communicate with the server of the software service provider of the target software product. That is, worker nodes cannot communicate with the external network; only the master management node in the entire distributed cluster system can communicate with the external network. The nodes to be licensed are one or more of the aforementioned worker nodes. The proxy node is the aforementioned master management node.

[0089] In this embodiment, step S120 is replaced by step S122:

[0090] The node fingerprint information of each node is encrypted to generate software license information, which is then sent to the aforementioned agent nodes for storage.

[0091] The above step S140 is replaced by step S142:

[0092] The aforementioned proxy nodes verify the aforementioned signature information based on the software license certificate information and obtain the verification result.

[0093] In this embodiment, since the worker nodes cannot communicate with the external network, i.e., cannot communicate with the software service provider's server, a proxy node can be used to complete the license verification of all worker nodes. Furthermore, the software license information is stored in the proxy node, rather than in the worker nodes. This prevents the cumbersome process of re-licensing if the software license information is stored on each worker node and one worker node fails, resulting in the loss of the software license information. This improves the smoothness of software license verification and the flexibility of node licensing in the entire distributed cluster system.

[0094] In another embodiment of this application, a different software licensing method applied to distributed clusters is disclosed. For example... Figure 4 As shown, the method described above Figure 3 Based on the corresponding embodiments, the method further includes the following steps:

[0095] S160, in response to the detection of an increase in the number of worker nodes in the above cluster, the above agent node obtains node update information.

[0096] S170, the agent node sends the above node update information to the software service provider and receives the license issuance result from the software service provider for the newly added working node.

[0097] S180, the agent node performs license verification on the worker node based on the above license issuance results.

[0098] Specifically, when a new worker node is added to the cluster, since the new worker node is also located in the local area network, it can only communicate within the local area network and cannot communicate with the software service provider's server. Therefore, a proxy node can be used to complete the license verification of the new worker node, without having to send the entire list of nodes to the software service provider. This helps to reduce the maintenance difficulty of node licensing in the distributed cluster system and improves the flexibility of cluster node licensing.

[0099] In another embodiment of this application, a different software licensing method applied to distributed clusters is disclosed. For example... Figure 5 As shown, the method described above Figure 3 Based on the corresponding embodiments, the method further includes the following steps:

[0100] S190, the agent node obtains the license authorization document issued by the software service provider.

[0101] S200, the proxy node parses the license authorization file to obtain the node replacement license data.

[0102] S210, in response to detecting that a preset number of first working nodes in the cluster have gone offline and a preset number of second working nodes have been added to the cluster, the agent node provides temporary license data to the second working nodes based on the aforementioned node replacement license data.

[0103] S220, the second working node obtains authorization for the software provided by the software service provider based on the temporary license data.

[0104] In this embodiment, for example, if a certain number of worker nodes in the cluster fail or crash, rendering them unusable, and then the same number of worker nodes are redeployed to replace the failed nodes, it is not necessary to reapply for license authorization from the software service provider's server. Instead, this situation only needs to be constrained in advance in the license authorization file. That is, temporary license data for the new replacement nodes can be generated based on the software license data of the previous failed nodes, thereby improving the flexibility of cluster node licensing authorization and reducing the maintenance difficulty of the cluster node software license.

[0105] In another embodiment of this application, a different software licensing method applied to distributed clusters is disclosed. This method is described above... Figure 5 Based on the corresponding embodiment, the distributed cluster includes a container cloud platform. Each worker node includes at least one container. The aforementioned first worker node includes a first container. The license data corresponding to the aforementioned first worker node is stored in the first container. In some embodiments, containers within the same worker node can share the same system kernel, which can improve memory utilization.

[0106] like Figure 6 As shown, in this embodiment, step S210 includes:

[0107] S2101, Obtain the first container in the first working node mentioned above.

[0108] S2102, the container cloud platform extracts the license data corresponding to the first working node from the first container mentioned above.

[0109] S2103, in response to detecting that a preset number of first working nodes in the cluster have gone offline and a preset number of second working nodes have been added to the cluster, the proxy node runs the aforementioned first container on the second working node, and generates temporary license data corresponding to the second working node based on the node replacement license data and the license data corresponding to the first working node, and provides it to the second working node.

[0110] Specifically, compared to the above Figure 5 In this embodiment, it is no longer necessary to generate temporary license data for a new replacement node based on the software license data of the previously failed node. Instead, the first container storing the license data of the failed node can be run directly on the newly added working node through the container cloud platform. This can further improve the flexibility of cluster node licensing and reduce the maintenance difficulty of the cluster node software license.

[0111] In another embodiment of this application, a different software licensing method applied to distributed clusters is disclosed. This method is described above... Figure 1 Based on the corresponding embodiments, the above verification result is either verification successful or verification failed. For example... Figure 7 As shown, the software licensing method in this embodiment further includes the following steps:

[0112] S230, in response to the above verification result being successful, the corresponding authorization mode is parsed as the first authorization mode based on the above software license information.

[0113] S240, in response to the detection that the data volume of the tasks processed by the cluster exceeds a preset threshold after a preset time period, the authorization mode is switched from the first authorization mode to the second authorization mode based on the software license information. The disk quota of the first authorization mode is less than the disk quota of the second authorization mode. The authorization period of the first authorization mode is greater than the authorization period of the second authorization mode. The authorization period is the authorized usage duration. The preset time period can be, for example, two years; this application does not limit this.

[0114] Specifically, there are two licensing models for software service providers. The first model focuses on licensing based on the duration of use, while the second model focuses on licensing based on the amount of disk space required. In this embodiment, during the early stages of cluster processing of business tasks, such as the first two years, when the business scale is relatively small, the licensing requirement based on the duration of use is primary, making the first licensing model suitable. In the later stages, such as the third year of business development, due to rapid business growth and a significant increase in the amount of data to be processed, the first licensing model becomes unsuitable. In this case, an application can be made to the software service provider to switch to the second licensing model, which requires a larger amount of authorized disk space and is more suitable for the business needs of cluster processing. Therefore, this embodiment, addressing the rapidly increasing volume of business data processed by the cluster, better adapts to the different licensing requirements of the distributed cluster at different stages of business processing, improving the flexibility of cluster node licensing.

[0115] It should be noted that all the embodiments disclosed in this application can be freely combined, and the resulting technical solutions are also within the protection scope of this application.

[0116] like Figure 8 As shown, an embodiment of the present invention also discloses a software licensing system 8 applied to a distributed cluster, the system comprising:

[0117] The node information collection module 81 collects the node fingerprint information of all nodes in the cluster, as well as obtains the corresponding license and authorization information for each node.

[0118] The software license certificate generation module 82 processes the node fingerprint information and the license authorization information of each node to generate software license certificate information, and sends the software license certificate information to the cluster for storage.

[0119] The node signature information extraction module 83 extracts the signature information of the node to be licensed.

[0120] The signature information verification module 84 verifies the signature information based on the software license certificate information and obtains the verification result. And,

[0121] The license verification module 85 performs license verification on the above-mentioned node to be licensed based on the above verification results.

[0122] It is understood that the software licensing system of the present invention for distributed clusters also includes other existing functional modules that support the operation of the software licensing system for distributed clusters. Figure 8 The software licensing system shown for distributed clusters is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0123] The software licensing system for distributed clusters in this embodiment is used to implement the software licensing method for distributed clusters described above. Therefore, the specific implementation steps of the software licensing system for distributed clusters can be referred to the above description of the software licensing method for distributed clusters, and will not be repeated here.

[0124] An embodiment of the present invention also discloses a software licensing device for a distributed cluster, including a processor and a memory, wherein the memory stores an executable program of the processor; the processor is configured to perform the steps of the software licensing method for a distributed cluster by executing the executable program. Figure 9 This is a schematic diagram of the structure of the software licensing device for distributed clusters disclosed in this invention. See below for reference. Figure 9 To describe an electronic device 600 according to this embodiment of the present invention. Figure 9 The electronic device 600 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0125] like Figure 9 As shown, the electronic device 600 is presented in the form of a general-purpose computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different platform components (including storage unit 620 and processing unit 610), a display unit 640, etc.

[0126] The storage unit stores program code, which can be executed by the processing unit 610, causing the processing unit 610 to perform the steps described in the section on software licensing methods applied to distributed clusters of this specification, according to various exemplary embodiments of the present invention. For example, the processing unit 610 can perform, as follows: Figure 1 The steps are shown in the figure.

[0127] Storage unit 620 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 6201 and / or cache memory 6202, and may further include a read-only memory (ROM) 6203.

[0128] Storage unit 620 may also include a program / utility 6204 having a set (at least one) program module 6205, such program module 6205 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.

[0129] Bus 630 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0130] Electronic device 600 can also communicate with one or more external devices 700 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 600, and / or with any device that enables electronic device 600 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 650. Furthermore, electronic device 600 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 660. Network adapter 660 can communicate with other modules of electronic device 600 via bus 630. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage platforms.

[0131] The present invention also discloses a computer-readable storage medium for storing a program that, when executed, implements the steps in the software licensing method applied to a distributed cluster described above. In some possible embodiments, various aspects of the present invention can also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps described in the software licensing method applied to a distributed cluster according to the various exemplary embodiments of the present invention.

[0132] As shown above, when the program on the computer-readable storage medium of this embodiment is executed, after obtaining the software license certificate information of all nodes for the first time, the software vendor no longer needs to participate in the review during the subsequent use of all nodes. The software license authorization can be verified independently within the cluster based on the software license certificate information, which simplifies the licensing process of cluster nodes, helps to improve the licensing efficiency of cluster nodes, and improves the manageability of cluster nodes.

[0133] One embodiment of the present invention discloses a computer-readable storage medium. This storage medium is a program product implementing the above-described method, which may be a portable compact disc read-only memory (CD-ROM) and include program code, and can run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, the readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0134] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0135] Computer-readable storage media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable storage medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0136] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0137] The software licensing method, system, and device for distributed clusters provided in this invention, after obtaining the software license certificate information of all nodes for the first time, no longer requires the software vendor to participate in the review during the subsequent use of all nodes. The software license authorization can be verified autonomously within the cluster based on the software license certificate information, which simplifies the licensing process of cluster nodes, helps to improve the licensing efficiency of cluster nodes, and improves the manageability of cluster nodes.

[0138] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of the present invention, and all such modifications and substitutions should be considered within the scope of protection of the present invention.

Claims

1. A software licensing method applied to distributed clusters, characterized in that, The method includes the following steps: Collect node fingerprint information of all nodes in the cluster, and obtain the corresponding license and authorization information for each node; The node fingerprint information and the license authorization information of each node are processed to generate software license certificate information, and the software license certificate information is sent to the cluster for storage. Extract the signature information of the node to be licensed; Based on the software license information, the signature information is verified to obtain a verification result; and, Based on the verification results, the node to be licensed is subject to license verification.

2. The software licensing method applied to a distributed cluster as described in claim 1, characterized in that, The process of processing the node fingerprint information and the license authorization information of each node to generate software license certificate information, and sending the software license certificate information to the cluster for storage, includes: The node fingerprint information and the license authorization information corresponding to each node are combined and encrypted to generate software license certificate information corresponding to each node, and the software license certificate information is distributed to the corresponding node. The step of verifying the signature information based on the software license information to obtain a verification result includes: Obtain the software license information corresponding to the node to be licensed, and verify the signature information based on the software license information corresponding to the node to be licensed to obtain the verification result.

3. The software licensing method applied to a distributed cluster as described in claim 1, characterized in that, The cluster includes proxy nodes and worker nodes, and the proxy nodes are used to communicate with the worker nodes and with the external network; The working node is located on a local area network; The node to be licensed is one or more of the working nodes; Sending the software license information to the cluster for storage includes: The software license information is sent to the agent node for storage; The step of verifying the signature information based on the software license information to obtain a verification result includes: The proxy node verifies the signature information based on the software license certificate information and obtains the verification result.

4. The software licensing method applied to a distributed cluster as described in claim 3, characterized in that, The method further includes the following steps: In response to the detection of an increase in the number of worker nodes in the cluster, the proxy node obtains node update information; The proxy node sends the node update information to the software service provider and receives the license issuance result from the software service provider for the newly added working node; The proxy node performs license verification on the working node based on the license issuance result.

5. The software licensing method applied to a distributed cluster as described in claim 3, characterized in that, The method further includes the following steps: The proxy node obtains the license authorization document issued by the software service provider; The proxy node parses the license authorization file to obtain node replacement license data; In response to detecting that a preset number of first working nodes in the cluster have gone offline, and the cluster has added the preset number of second working nodes, the proxy node provides temporary license data to the second working nodes according to the node replacement license data; The second working node obtains an authorization for the software provided by the software service provider based on the temporary license data.

6. The software licensing method applied to a distributed cluster as described in claim 5, characterized in that, The cluster includes a container cloud platform; each worker node includes at least one container; the license data corresponding to the first worker node is stored in a first container; The proxy node provides temporary license data to the second working node based on the node replacement license data, including: Obtain the first container from the first worker node; The container cloud platform extracts the license data corresponding to the first working node from the first container; The proxy node runs the first container on the second working node, and generates temporary license data for the second working node based on the node replacement license data and the license data corresponding to the first working node.

7. The software licensing method applied to a distributed cluster as described in claim 1, characterized in that, The verification result is either successful or failed; the method further includes the following steps: In response to the verification result being successful, the corresponding authorization mode is parsed and determined as the first authorization mode based on the software license information; In response to the detection that the amount of data of the tasks processed by the cluster exceeds a preset threshold after a preset time period, the authorization mode is switched from the first authorization mode to the second authorization mode according to the software license certificate information; wherein, the disk quota of the first authorization mode is less than the disk quota of the second authorization mode; and the authorization period of the first authorization mode is greater than the authorization period of the second authorization mode.

8. The software licensing method applied to a distributed cluster as described in claim 1, characterized in that, The license information includes the license term and the authorized resource quota.

9. A software licensing system for distributed clusters, used to implement the software licensing method for distributed clusters as described in claim 1, characterized in that, The system includes: The node information collection module collects the node fingerprint information of all nodes in the cluster, as well as obtains the corresponding license and authorization information for each node. The software license certificate generation module processes the node fingerprint information and the license authorization information of each node to generate software license certificate information, and sends the software license certificate information to the cluster for storage; The node signature information extraction module extracts the signature information of the node to be licensed. The signature information verification module verifies the signature information based on the software license certificate information and obtains the verification result; and, The license verification completion module performs license verification on the node to be licensed based on the verification result.

10. A software licensing device for use in a distributed cluster, characterized in that, include: processor; A memory in which an executable program of the processor is stored; The processor is configured to perform the steps of the software licensing method for a distributed cluster according to any one of claims 1 to 8 by executing the executable program.