Disclosure of Invention
The embodiment of the application provides an application program license management system, which aims to solve the problems in the prior art. The embodiment of the application also provides two application program license management methods.
The embodiment of the application provides an application program license management system, which comprises the following components: the license side car container, the application program interface server and the license server which are deployed in the edge container cluster and correspond to the application program, and the license manager which is deployed in the cloud;
the license side car container is used for obtaining a first license verification request message sent by an application program and sending a second license verification request message to the application program interface server;
the application program interface server is used for creating a user-defined resource instance aiming at the license token according to the second license verification request message, and storing license data to be verified, which is carried by the second license verification request message, into the user-defined resource instance;
the license server is used for accessing the user-defined resource instance, obtaining the license data to be verified, sending a valid data obtaining request message for obtaining license valid data corresponding to the application program to the license manager, obtaining the license valid data corresponding to the application program returned by the license manager, verifying the license data to be verified according to the license valid data, obtaining a first verification result, and storing the first verification result into the user-defined resource instance;
The license manager is configured to obtain the license validity data according to the validity data obtaining request message, and return the license validity data to the license server;
the application program interface server is further used for obtaining the first verification result from the user-defined resource instance and returning the first verification result to the license side vehicle container;
the permitted side car container is further used for returning the first verification result to the application program.
Optionally, the license side vehicle container is specifically configured to obtain a first license verification request message sent by the application program when the application program is started;
the first verification result is used for determining whether to continue starting by the application program.
Optionally, the license server is specifically configured to access the user-defined resource instance to obtain the license data to be verified after monitoring that the user-defined resource instance is created.
Optionally, the license server is further configured to generate token data for license verification for the running of the application program, and provide the token data to the application program interface server;
the application program interface server is further used for sending the token data to the license sidecar container;
The permit sidecar container is also used for sending the token data to the application program.
Optionally, the first license verification request message carries the token data, the license data to be verified includes the token data, and the license validity data includes validity period information of the token data;
the license server is specifically configured to determine whether the token data included in the license data to be verified is valid according to validity period information included in the license validity data, obtain a first determination result, and generate the first verification result according to the first determination result.
Optionally, the permission data to be verified includes cluster information of the electronic device where the application program is located when started;
the license server is specifically configured to determine whether the cluster information is the same as the cluster information of the edge container cluster, obtain a second determination result, and generate the first verification result according to the second determination result.
Optionally, the license data to be verified includes user information for using the application program, and the license validity data includes user information for being licensed to use the application program;
The license server is specifically configured to determine whether the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to use, obtain a third determination result, and generate the first verification result according to the third determination result.
Optionally, the license server is specifically configured to, if it is determined that the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to use, determine whether the number of devices currently running the application program through the licensed user information exceeds a licensed device number threshold, obtain a fourth determination result, and generate the first verification result according to the fourth determination result, where the license validity data includes the licensed device number threshold.
Optionally, the license edge container is further configured to cache the token data.
Optionally, when the license server cannot perform information interaction with the license manager, the license server is further configured to send first indication information for indicating that the license side vehicle container verifies the license data to be verified to the application program interface server, or send first state information for indicating that the license server cannot verify the license data to be verified to the application program interface server, or send second state information for indicating that the license server cannot perform information interaction with the license manager to the application program interface server;
The application program interface server is further configured to send the first indication information, the first status information, or the second status information to the permitted sidecar container;
and the license side vehicle container is further used for verifying the license data to be verified according to the first indication information, the first state information or the second state information and the cached token data to obtain a second verification result, and returning the second verification result to the application program.
Optionally, the permission data to be verified includes the token data;
the license side vehicle container is specifically configured to determine whether the token data included in the license data to be verified is the same as the cached token data, obtain a sixth determination result, and obtain the second verification result according to the sixth determination result.
Optionally, the license server is further configured to obtain all user information of the application program being executed and/or operating environment data of all devices of the application program being executed, which are provided by the application program interface server, and send the all user information of the application program being executed and/or operating environment data of all devices of the application program being executed to the license manager;
The license manager is specifically configured to generate the license validity data according to the information of all users running the application program and/or the running environment data of all devices running the application program after the validity data acquisition request message is obtained.
The embodiment of the application provides an application program license management method, which comprises the following steps:
obtaining a second license verification request message sent by a license side vehicle container;
creating a user-defined resource instance for a license token according to the second license verification request message, and storing license data to be verified carried by the second license verification request message into the user-defined resource instance;
and obtaining a first verification result from the user-defined resource instance, and returning the first verification result to the allowable sidecar container.
The embodiment of the application provides an application program license management method, which comprises the following steps:
accessing a user-defined resource instance to obtain permission data to be verified;
sending a license manager a license availability data acquisition request message for acquiring license availability data corresponding to an application program to acquire the license availability data corresponding to the application program returned by the license manager;
And verifying the permission data to be verified according to the permission validity data to obtain a first verification result, and storing the first verification result into the user-defined resource instance.
Compared with the prior art, the application has the following advantages:
the embodiment of the application provides an application program license management system, which comprises the following components: the system comprises a license side car container corresponding to an application program, an application program interface server and a license server which are deployed in an edge container cluster, and a license manager deployed in a cloud; the license side car container is used for obtaining a first license verification request message sent by an application program and sending a second license verification request message to the application program interface server; the application program interface server is used for creating a user-defined resource instance aiming at the license token according to the second license verification request message, and storing license data to be verified, which is carried by the second license verification request message, into the user-defined resource instance; the license server is used for accessing the user-defined resource instance, obtaining the license data to be verified, sending a valid data obtaining request message for obtaining license valid data corresponding to the application program to the license manager, obtaining the license valid data corresponding to the application program returned by the license manager, verifying the license data to be verified according to the license valid data, obtaining a first verification result, and storing the first verification result into the user-defined resource instance; the license manager is configured to obtain the license validity data according to the validity data obtaining request message, and return the license validity data to the license server; the application program interface server is further used for obtaining the first verification result from the user-defined resource instance and returning the first verification result to the license side vehicle container; the permitted side car container is further used for returning the first verification result to the application program. According to the method and the device for verifying the license by the cloud computing, the user-defined resource instance carrying the license data to be verified is created through the license side vehicle container and the application program interface server, the license data to be verified is verified through the license validity data stored in the cloud, and license verification of the application program under the limited access scene of the edge computing public network is achieved.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present application. The embodiments of the present application may be embodied in many other forms other than those described herein and similarly generalized by those skilled in the art may be made without departing from the spirit of the embodiments of the present application and the embodiments of the present application are therefore not limited to the specific implementations disclosed below.
In order to enable those skilled in the art to better understand the solution of the present application, the following describes in detail a specific application scenario of an embodiment thereof based on the application license management system provided in the present application, as shown in fig. 1, which is a schematic diagram of the application scenario provided in the first embodiment of the present application.
The present scenario corresponds to the software application license management system provided in the first embodiment of the present application, in the present scenario, a user uses application software through a software application license, and the software application license is still within the validity period. The user sends a verification request to the License server by starting an application program, specifically, in the process of starting the application program, the application program adds License verification logic in a starting code and requests a port of a local host, sends the verification request and sends the verification request to a License Sidecar container (License Sidecar), the License Sidecar container accesses an application program interface server after receiving the verification request, the application program interface server creates a user-defined resource instance (Custom Resource Definition) aiming at a License token according to the verification request, then obtains a creation completion instruction corresponding to the user-defined resource instance, and stores License data to be verified into the user-defined resource instance according to the creation completion instruction. The side car container refers to a side car of client logic for realizing specific verification code verification, the side car is a mode of application deployment, and a part of logic is transferred from the application to the side car to be realized.
After the application program interface Server stores the License data to be verified into the user-defined resource instance, a creation completion instruction of the License data to be verified is correspondingly generated, the creation completion instruction is sent to a License Server (License Server), and the License Server obtains the License data to be verified according to the creation completion instruction after detecting that the user-defined resource instance is created. And, the License server transmits a License data acquisition request message for acquiring License validity data corresponding to the application program to a License Manager (License Manager) to acquire the License validity data stored by the License Manager deployed in the cloud. And then, verifying the license data to be verified through the license validity data to obtain a first verification result, and storing the first verification result into the user-defined resource instance. And then, the license side vehicle container monitors the first verification result and sends the first verification result back to the application program, and the application program determines whether to continue starting or stopping operation according to the verification result.
It should be added that, based on the license side car container, all user-defined resource instances in the application program interface service module can be cached, so that when the network is weak or end-network (as indicated by a dotted arrow in fig. 1, the edge is not communicated with the cloud), the verification of the license data to be verified can be completed by caching all user-defined resource instances in the application program interface service module.
In correspondence to the above scenario, the first embodiment of the present application provides an application license management system, as shown in fig. 2, and fig. 2 is a schematic diagram of an application license management system provided in the first embodiment of the present application.
In a first embodiment of the present application, the system comprises: license side container 201, application program interface server 202 and license server 203 corresponding to application programs deployed in the edge container cluster, and license manager 204 deployed in the cloud.
In the first embodiment of the present application, the cluster may be an edge container cluster (acknowledg container@edge cluster). The permit sidecar container 201 is an auxiliary container in the container group, the sidecar container is a sidecar of client logic for realizing specific verification code verification, the sidecar is a mode of application deployment, and a part of logic is migrated from the application to the sidecar to be realized. In the first embodiment of the present application, the license side container 201 is deployed in the same container group as the component application instance, and is responsible for communicating with the license server and fulfilling the responsibilities of application license verification and the like. The application program interface server provides the addition, deletion and verification of various resource objects, and is a data bus and a data center of the whole system. Authentication authorization, data verification and cluster state change of cluster management are provided; a hub that provides data interaction and communication between other modules (other modules query or modify data through the application interface server, only the application interface server directly operates etcd). In a first embodiment of the present application, an application program interface server is configured to create a user-defined resource instance for a license token, and store license data to be verified into the user-defined resource instance. The license server is deployed in a hosting component in the ACK/ACK@edge cluster and is responsible for application program license validity verification, token generation and the like, and CPU usage of the container group instance is counted regularly and reported to the license manager.
The corresponding functional roles of license edge container 201, application program interface server 202, license server 203, and license manager 204 deployed at the cloud will be described in detail below.
In the first embodiment of the present application, the License Sidecar container 201 (License Sidecar) is configured to obtain a first License verification request message sent by an application program, and send a second License verification request message to the application program interface server 202. Wherein the first license verification request message and the second license verification request message are the same license verification request message.
Specifically, in the first embodiment of the present application, the license edge container 201 is specifically configured to obtain the first license verification request message sent by the application program at the time of startup. During the starting process of the application program, the application program adds license verification logic in the starting code, requests a port of the local host, sends a first verification request and sends the first verification request to the license sidecar container 201, and the license sidecar container 201 sends a second license verification request message to the application program interface Server 202 (API Server, application Programming Interface Server) after receiving the first verification request.
In the first embodiment of the present application, the application program interface server 202 is configured to create a user-defined resource instance for a license token according to a second license verification request message, and store license data to be verified carried by the second license verification request message into the user-defined resource instance.
In the first embodiment of the present application, the license server 203 is configured to access the user-defined resource instance and obtain the license data to be verified. Specifically, after the user-defined resource instance is created, the License Server 203 (License Server) may monitor that the user-defined resource instance is created, and then access the user-defined resource instance to obtain the License data to be verified.
After obtaining the License data to be verified, the License server 203 is further configured to send a License Manager 204 (License Manager) a request message for obtaining License validity data corresponding to the application program, obtain License validity data corresponding to the application program returned by the License Manager 204, verify the License data to be verified according to the License validity data, obtain a first verification result, and store the first verification result in the user-defined resource instance. The first verification result is used for determining whether the application program continues to start.
Further, the license server 203 is further configured to generate token data for license verification for the running of the application program, and provide the token data to the application program interface server 202. Correspondingly, the application program interface server 202 is further configured to send token data to the permitted side car container 201, and the permitted side car container 201 is further configured to send the token data to the application program, so that the application program operates according to the token data. Of course, in the first embodiment of the present application, the license edge container 201 is also used to cache the token data.
In the first embodiment of the present application, the first license verification request message carries the token data, and based on the first license verification request message and the second license verification request message being the same license verification request message, the second license verification request message also carries the token data, and based on the second license verification request message carries the license data to be verified, so the license data to be verified includes the token data, and the license validity data includes validity period information of the token data. Correspondingly, the license server 203 is specifically configured to determine whether token data included in license data to be verified is valid according to validity period information included in the license validity data, obtain a first determination result, and generate the first verification result according to the first determination result.
For example, where the validity period information is a period of use for producing a license calibration for the software application, e.g., the period of time for which the validity period information is specified is from 6 months 2020 to 9 months 2020, then the token data included in the license data to be verified cannot be used any further after less than 6 months 2020 or more than 9 months 2020. For example, if the validity period information included in the license data is from 6 months in 2020 to 9 months in 2020, the token data included in the license data to be verified is from 7 months in 2020 to 8 months in 2020, after verification, a first determination result is obtained, and the first verification result is generated according to the first determination result.
In the first embodiment of the present application, the permission data to be verified includes cluster information of the electronic device to which the application program is started, and the corresponding permission server 203 is specifically configured to determine whether the cluster information is the same as the cluster information of the edge container cluster, if so, obtain a second determination result, and generate the first verification result according to the second determination result.
In the first embodiment of the present application, the license data to be verified includes user information of an application program, the license validity data includes user information of the application program to be licensed, and the corresponding license server 203 is specifically configured to determine whether the user information of the application program is the same as at least one user information in the user information of the application program to be licensed, and if so, obtain a third determination result, and generate the first verification result according to the third determination result. Specifically, the license server 203 is specifically configured to, if it is determined that the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to use, determine whether the number of devices currently running the application program through the licensed user information exceeds a licensed device number threshold, obtain a fourth determination result if not, and generate the first verification result according to the fourth determination result, where the license validity data includes the licensed device number threshold.
For example, the threshold number of licensed devices is 5, if the number of devices currently running the application program through the licensed user information is 3, after the judgment, the number of devices currently running the application program through the licensed user information does not exceed the threshold number of licensed devices, a fourth judgment result is obtained, and the first verification result is generated according to the fourth judgment result. Conversely, if the threshold number of licensed devices is 5, the number of devices currently running the application through the licensed user information is 6 (verified when the sixth software application license is used to launch after the first five software application licenses are simultaneously launched), after which the launch is verified to be over-rated.
In a first embodiment of the present application, the license data to be verified includes running environment data of a device requesting running of the application; the running environment data at least comprises CPU running data and storage data of a memory. Correspondingly, the license server 203 is specifically configured to, if it is determined that the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to be used, determine whether the operating environment data of the device that requests to operate the application program meets the operating environment condition of the device that operates the application program corresponding to the licensed user information, obtain a fifth determination result, and generate the first verification result according to the fifth determination result, where the license validity data includes the operating environment condition of the device that operates the application program corresponding to the licensed user information. Specifically, when a user purchases a right to use a software application, it is determined whether CPU operation data of a device requesting to operate the application program satisfies an operation speed condition of the device for the application program, or whether storage data of a memory of the device requesting to operate the application program satisfies a storage capacity condition of the device for the application program, or the like.
After the license server 203 obtains the first verification result, the application program interface server 202 is further configured to obtain the first verification result from the user-defined resource instance, return the first verification result to the license side car container 201, and correspondingly, the license side car container 201 is further configured to return the first verification result to the application program.
In the first embodiment of the present application, the permission data to be verified includes cluster information to which the electronic device where the application program is located when started belongs, and the corresponding permission server 203 is specifically configured to determine whether the cluster information is the same as the cluster information of the edge container cluster, obtain a second determination result, and generate the first verification result according to the second determination result. By collecting the cluster information, software application permission and hardware equipment are unbinding, and the application can be freely migrated on a server in the cluster, namely, the cross-host scheduling of the application in the cluster is realized, and the cluster performs high-availability scheduling on the application under the condition that the host is started.
In the first embodiment of the present application, the license server 203 is further configured to send, when the license server 203 cannot perform information interaction with the license manager 204 (for example, in the case of weak network or off-network), first indication information for indicating that the license side car container 201 verifies the license data to be verified to the application program interface server 202, or send, to the application program interface server 202, first status information for indicating that the license server 203 cannot verify the license data to be verified, or send, to the application program interface server 202, second status information for indicating that the license server 203 cannot perform information interaction with the license manager 204; correspondingly, the application program interface server 202 is further configured to send the first indication information, the first status information, or the second status information to the permitted side car container 201; the license side vehicle container 201 is further configured to verify the license data to be verified according to the first indication information, the first state information or the second state information, obtain a second verification result, and return the second verification result to the application program. Further, the license data to be verified includes the token data, and the corresponding license edge container 201 is specifically configured to determine whether the token data included in the license data to be verified is the same as the cached token data, obtain a sixth determination result, and obtain the second verification result according to the sixth determination result.
In the first embodiment of the present application, the license manager 204 is configured to obtain the license validity data according to the validity data obtaining request message, and return the license validity data to the license server 203. Wherein, in correspondence with the foregoing, in the first embodiment of the present application, the license server 203 is further configured to obtain all user information of the running application program and/or operating environment data of all devices of the running application program, which are provided by the application program interface server 202, and send the all user information of the running application program and/or the operating environment data of all devices of the running application program to the license manager 204. Correspondingly, the license manager 204 is specifically configured to generate the license validity data according to the information of all the users running the application program and/or the running environment data of all the devices running the application program after the validity data acquisition request message is obtained.
In a first embodiment of the present application, further includes: the license database is deployed at the cloud and is used for storing all or part of data in the license validity data; the license manager 204 is further configured to obtain all or part of the license validity data from the license database according to the validity data acquisition request message. It should be added that, after the license server 203 reads the license data to be verified of the related application program, the license server 203 will upload the license data to be verified to the cloud end at regular time and store the license data in a database of the cloud end, so that the related information of the software application license is stored in the cloud end, and statistics and collection of specification information of all application instances using a certain software application license in the cluster are completed. Moreover, this stored information may be used as license validity data for next verification of the software application license.
A first embodiment of the present application provides an application license management system, including: a license side container 201 corresponding to an application, an application interface server 202 and a license server 203 deployed in an edge container cluster, and a license manager 204 deployed in the cloud; the license sidecar container 201 is configured to obtain a first license verification request message sent by an application program, and send a second license verification request message to the application program interface server 202; the application program interface server 202 is configured to create a user-defined resource instance for the license token according to the second license verification request message, and store license data to be verified, which is carried by the second license verification request message, into the user-defined resource instance; the license server 203 is configured to access the user-defined resource instance, obtain the license data to be verified, send a valid data obtaining request message to the license manager 204, obtain license valid data corresponding to the application program returned by the license manager 204, verify the license data to be verified according to the license valid data, obtain a first verification result, and store the first verification result in the user-defined resource instance; the license manager 204 is configured to obtain the license validity data according to the validity data obtaining request message, and return the license validity data to the license server 203; the application program interface server 202 is further configured to obtain the first verification result from the user-defined resource instance, and return the first verification result to the permitted sidecar container 201; the permitted sidecar container 201 is further configured to return the first verification result to the application program. In the first embodiment of the present application, a user-defined resource instance carrying license data to be verified is created by the license side vehicle container 201 and the application program interface server 202, and the license data to be verified is verified by the license validity data stored in the cloud, so that license verification of an application program in a limited access scene of an edge computing public network is realized.
In correspondence to the above system, a second embodiment of the present application provides an application license management method, where an execution subject of the method is an application program interface server. As shown in fig. 3, fig. 3 is a flowchart of an application license management method according to a second embodiment of the present application. The method comprises the following steps:
step S301, obtaining a second license verification request message sent by the license edge container.
In this step, the permitted side container is an auxiliary container in the container set, the side container refers to a side vehicle of client logic for realizing verification of a specific verification code, the side vehicle is a mode of application deployment, and a part of logic is migrated from the application to the side vehicle to be realized. The License Sidecar container (License Sidecar) is used for obtaining a first License verification request message sent by the application program and sending a second License verification request message to the application program interface server. Wherein the first license verification request message and the second license verification request message are the same license verification request message.
Step S302, a user-defined resource instance aiming at the license token is created according to the second license verification request message, and the license data to be verified carried by the second license verification request message is stored in the user-defined resource instance.
In the step, the second license verification request message carries license data to be verified, after the second license verification request message is obtained, a user-defined resource instance aiming at the license token can be created according to the second license verification request message, and the license data to be verified carried by the second license verification request message is stored in the user-defined resource instance.
Step S303, a first verification result is obtained from the user-defined resource instance, and the first verification result is returned to the allowable sidecar container.
In this step, the first verification result is obtained by verifying the license data to be verified in the user-defined resource instance through the license validity data, specifically, whether the token data included in the license data to be verified is valid or not is judged according to the validity period information included in the license validity data, a first judgment result is obtained, and the first verification result is generated according to the first judgment result. For example, where the validity period information is a period of use for producing a license calibration for the software application, e.g., the period of time for which the validity period information is specified is from 6 months 2020 to 9 months 2020, then the token data included in the license data to be verified cannot be used any further after less than 6 months 2020 or more than 9 months 2020. For example, if the validity period information included in the license data is from 6 months in 2020 to 9 months in 2020, the token data included in the license data to be verified is from 7 months in 2020 to 8 months in 2020, after verification, a first determination result is obtained, and the first verification result is generated according to the first determination result. And returning the first verification result to the allowable side vehicle container after the first verification result is obtained.
Corresponding to the above system, a third embodiment of the present application provides an application license management method, which is applied to a license server. Fig. 4 is a flowchart of an application license management method according to a third embodiment of the present application. The method comprises the following steps:
step S401, accessing a user-defined resource instance to obtain license data to be verified.
In the step, the user-defined resource instance is created based on the application program interface server according to the verification request, a creation completion instruction corresponding to the user-defined resource instance is obtained, and the permission data to be verified is stored in the user-defined resource instance according to the creation completion instruction. And after the license server monitors the user-defined resource instance, accessing the user-defined resource instance to obtain license data to be verified.
Step S402, sending a validity data acquisition request message for acquiring the license validity data corresponding to the application program to a license manager so as to acquire the license validity data corresponding to the application program returned by the license manager.
After obtaining the license data to be verified, a validity data obtaining request message for obtaining license validity data corresponding to the application program may be issued to the license manager. The license manager is a manager deployed in the cloud and is used for providing validity data of license validity data corresponding to the application program. The validity data may verify the license data to be verified. See step S403 for details.
Step S403, verifying the license data to be verified according to the license validity data, obtaining a first verification result, and storing the first verification result into the user-defined resource instance.
Specifically, whether token data included in license data to be verified is valid or not is judged according to validity period information included in the license data, a first judgment result is obtained, and the first verification result is generated according to the first judgment result. For example, where the validity period information is a period of use for producing a license calibration for the software application, e.g., the period of time for which the validity period information is specified is from 6 months 2020 to 9 months 2020, then the token data included in the license data to be verified cannot be used any further after less than 6 months 2020 or more than 9 months 2020. For example, if the validity period information included in the license data is from 6 months in 2020 to 9 months in 2020, the token data included in the license data to be verified is from 7 months in 2020 to 8 months in 2020, after verification, a first determination result is obtained, and the first verification result is generated according to the first determination result. And returning the first verification result to the allowable side vehicle container after the first verification result is obtained.
In the first embodiment of the present application, the license data to be verified includes user information of an application program, the license validity data includes user information of the application program to be licensed, and the corresponding license server is specifically configured to determine whether the user information of the application program is the same as at least one user information in the user information of the application program to be licensed, and if so, obtain a third determination result, and generate the first verification result according to the third determination result. Specifically, the license server is specifically configured to, if it is determined that the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to use, determine whether the number of devices currently running the application program through the licensed user information exceeds a licensed device number threshold, obtain a fourth determination result if not, and generate the first verification result according to the fourth determination result, where the license validity data includes the licensed device number threshold.
For example, the threshold number of licensed devices is 5, if the number of devices currently running the application program through the licensed user information is 3, after the judgment, the number of devices currently running the application program through the licensed user information does not exceed the threshold number of licensed devices, a fourth judgment result is obtained, and the first verification result is generated according to the fourth judgment result. Conversely, if the threshold number of licensed devices is 5, the number of devices currently running the application through the licensed user information is 6 (verified when the sixth software application license is used to launch after the first five software application licenses are simultaneously launched), after which the launch is verified to be over-rated.
In a third embodiment of the present application, the license data to be verified includes running environment data of a device requesting running of the application; the running environment data at least comprises CPU running data and storage data of a memory. Correspondingly, the license server is specifically configured to, if it is determined that the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to be used, determine whether the operating environment data of the device that requests to operate the application program meets the operating environment condition of the device that operates the application program corresponding to the licensed user information, obtain a fifth determination result, and generate the first verification result according to the fifth determination result, where the license validity data includes the operating environment condition of the device that operates the application program corresponding to the licensed user information. Specifically, when a user purchases a right to use a software application, it is determined whether CPU operation data of a device requesting to operate the application program satisfies an operation speed condition of the device for the application program, or whether storage data of a memory of the device requesting to operate the application program satisfies a storage capacity condition of the device for the application program, or the like.
After the license server obtains the first verification result, the application program interface server is further configured to obtain the first verification result from the user-defined resource instance, return the first verification result to the license side vehicle container, and correspondingly, the license side vehicle container is further configured to return the first verification result to the application program.
In a third embodiment of the present application, the permission data to be verified includes cluster information to which the electronic device where the application program is located when started belongs, and the corresponding permission server is specifically configured to determine whether the cluster information is the same as the cluster information of the edge container cluster, obtain a second determination result, and generate the first verification result according to the second determination result. By collecting the cluster information, software application permission and hardware equipment are unbinding, and the application can be freely migrated on a server in the cluster, namely, the cross-host scheduling of the application in the cluster is realized, and the cluster performs high-availability scheduling on the application under the condition that the host is started.
The fourth embodiment of the present application corresponds to the application license management method provided in the second embodiment of the present application, and provides an application license management device. Since the device embodiment is substantially similar to the second embodiment, the description is relatively simple, and reference is made to the description of the second embodiment for relevant points. The device embodiments described below are merely illustrative.
Fig. 5 is a schematic diagram of an application license management apparatus according to a fourth embodiment of the present application. The application license management apparatus includes: a second license verification request message obtaining unit 501 configured to obtain a second license verification request message sent by the license side vehicle container; a to-be-verified license data processing unit 502, configured to create a user-defined resource instance for a license token according to the second license verification request message, and store to-be-verified license data carried by the second license verification request message into the user-defined resource instance; and the first verification result processing unit 503 is configured to obtain a first verification result from the user-defined resource instance, and return the first verification result to the allowable sidecar container.
The fifth embodiment of the present application corresponds to the application license management method provided in the third embodiment of the present application, and provides an application license management device. Since the device embodiment is substantially similar to the third embodiment, the description is relatively simple, and reference is made to the description of the third embodiment for relevant points. The device embodiments described below are merely illustrative.
Fig. 6 is a schematic diagram of an application license management apparatus according to a fifth embodiment of the present application. The application license management apparatus includes: the to-be-verified license data obtaining unit 601 is configured to access a user-defined resource instance to obtain to-be-verified license data; a license validity data processing unit 602, configured to send, to a license manager, a license validity data acquisition request message for acquiring license validity data corresponding to an application program, so as to obtain license validity data corresponding to the application program returned by the license manager; and a first verification result processing unit 603, configured to verify the license data to be verified according to the license validity data, obtain a first verification result, and store the first verification result into the user-defined resource instance.
The sixth embodiment of the present application also provides an electronic device corresponding to the application license management methods of the second and third embodiments of the present application. Fig. 7 is a schematic view of an electronic device according to a sixth embodiment of the present application, as shown in fig. 7. The electronic device includes: a processor 701; the memory 702 is used for storing a computer program, and the computer program is executed by the processor to execute the application program license management methods of the second embodiment and the third embodiment.
The seventh embodiment of the present application provides a computer storage medium storing a computer program that is executed by a processor to perform the application license management methods of the second and third embodiments, corresponding to the application license management methods of the second and third embodiments of the present application.
While the preferred embodiment has been described, it is not intended to limit the invention thereto, and any person skilled in the art may make variations and modifications without departing from the spirit and scope of the present invention, so that the scope of the present invention shall be defined by the claims of the present application.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer readable media, as defined herein, does not include non-transitory computer readable media (transmission media), such as modulated data signals and carrier waves.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.