Software authorization method and device, electronic equipment and storage medium

By employing a software licensing management approach that combines dynamic permission verification and real-time monitoring, the shortcomings of pre-emptive mechanisms and compliance deficiencies in software licensing management are addressed, enabling automated management and compliance control throughout the entire lifecycle of enterprise-level software.

CN121030712APending Publication Date: 2025-11-28INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511147766.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-15
Publication Date
2025-11-28

AI Technical Summary

Technical Problem

Existing technologies lack comprehensive preventative mechanisms in software licensing management, making it difficult to achieve real-time monitoring and automatic revocation. Client software installation lacks effective control, resulting in a lack of full lifecycle management of software, with breaks in the overall management chain and difficulty in forming a closed loop.

Method used

By integrating software licensing management server and terminal control through dynamic permission verification and real-time monitoring, we can achieve automated management of the entire lifecycle of enterprise-level genuine software, including permission control during software download and operation, to ensure compliance.

Benefits of technology

It achieves efficient, accurate, and automated software license allocation and revocation, ensuring full compliance throughout software use, forming a closed-loop management mechanism, reducing compliance risks, and improving management efficiency and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121030712A_ABST
    Figure CN121030712A_ABST
Patent Text Reader

Abstract

The invention discloses a software authorization method and device, electronic equipment and a storage medium, and relates to the technical field of cloud computing or other related fields, and the method comprises the following steps: under the condition that a software downloading request is received, analyzing the software downloading request to obtain request information, comprising target user information, target terminal information and target software information requested to be downloaded this time; querying a preset authorization rule based on the target user information, the target terminal information and the request timestamp to obtain a downloading response, and returning the downloading response to the target terminal; and when a software operation request of the target terminal for the target software is monitored each time, querying the preset authorization rule again based on the target user information, the target terminal information and the updated request timestamp to obtain an operation response, and sending the operation response to the target terminal. By means of the method and device, the technical problem that in the related technology, authorization management and compliance operation of genuine software in an enterprise are lack of effective supervision means is solved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of cloud computing or other related fields, in particular to a software authorization method and device, electronic equipment and storage medium. BACKGROUND

[0002] In large enterprise environments, software authorization management is a complex and important field. Existing software authorization management systems and technical solutions usually face the following challenges and deficiencies, which are directly related to the cost and efficiency of enterprise compliance operation: 1. Lack of comprehensive ex ante prevention mechanism: traditional enterprise software authorization management methods rely heavily on ex post manual statistics and inspection; 2. Software authorization effective monitoring and recovery problem: for non-enterprise-level authorized software (products with fixed authorization quantity limit), the current technical means are difficult to realize real-time monitoring and automatic recovery of software authorization; 3. Client software installation compliance risk: there is a lack of effective control means at the client level to prevent the installation of unauthorized software. Not only limited to those with explicit authorization restrictions, but also including the installation of third-party software or non-credit software without official certification; 4. Software full life cycle management is missing: the existing technology lacks a complete software full life cycle management mechanism, resulting in a broken link in the overall management chain, making it difficult to form a closed loop.

[0003] In summary, the existing technology has obvious deficiencies and loopholes in software authorization management, and lacks effective supervision means for the authorization management and compliance operation of genuine software.

[0004] In view of the above problems, no effective solution has been proposed so far. SUMMARY

[0005] The main purpose of the present application is to provide a software authorization method and device, electronic equipment and storage medium, to at least solve the technical problem that there is a lack of effective supervision means for the authorization management and compliance operation of genuine software in the related art.

[0006] In order to achieve the above object, according to one aspect of the present application, a software authorization method applied to a software authorization management client of a target enterprise is provided, which comprises: in the case that a software download request sent by a target user through a target terminal is received, parsing the software download request to obtain request information, wherein the request information comprises target user information, target terminal information and target software information requested to be downloaded this time; querying a preset authorization rule based on the target user information, the target terminal information and a request timestamp to obtain a download response, and returning the download response to the target terminal, wherein the target terminal downloads a software package of the target software only in the case that the download response indicates that the download is allowed; in the case that each time a software running request of the target software sent by the target terminal is monitored, querying the preset authorization rule again based on the target user information, the target terminal information and an updated request timestamp to obtain a running response, and sending the running response to the target terminal, wherein the target terminal starts to run the target software only in the case that the running response indicates that the running is allowed.

[0007] In order to achieve the above object, according to another aspect of the present application, a software authorization device applied to a software authorization management client of a target enterprise is further provided, which comprises: an analyzing unit, configured to, in the case that a software download request sent by a target user through a target terminal is received, parse the software download request to obtain request information, wherein the request information comprises target user information, target terminal information and target software information requested to be downloaded this time; a first querying unit, configured to query a preset authorization rule based on the target user information, the target terminal information and a request timestamp to obtain a download response, and return the download response to the target terminal, wherein the target terminal downloads a software package of the target software only in the case that the download response indicates that the download is allowed; and a second querying unit, configured to, in the case that each time a software running request of the target software sent by the target terminal is monitored, query the preset authorization rule again based on the target user information, the target terminal information and an updated request timestamp to obtain a running response, and send the running response to the target terminal, wherein the target terminal starts to run the target software only in the case that the running response indicates that the running is allowed.

[0008] In order to achieve the above object, according to another aspect of the present application, a computer readable storage medium comprising a stored computer program is further provided, wherein the computer program controls a device where the computer readable storage medium is located to execute the software authorization method according to any one of the above aspects when the computer program is running.

[0009] To achieve the above objectives, according to another aspect of this application, an electronic device is also provided, including one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the software licensing method described in any of the preceding claims.

[0010] To achieve the above objectives, according to another aspect of this application, a computer program product is also provided, including computer instructions, wherein when the computer instructions are executed by a processor, they implement the steps of the software licensing method described in any of the above claims.

[0011] This invention proposes a software licensing method. Upon receiving a software download request sent by a target user through a target terminal, the method first parses the download request to obtain request information, including target user information, target terminal information, and the target software information requested for download. Then, based on the target user information, target terminal information, and request timestamp, a preset licensing rule is queried to obtain a download response, which is returned to the target terminal. The target terminal downloads the target software package only if the download response indicates that downloading is permitted. Finally, each time a software execution request for the target software is detected from the target terminal, the preset licensing rule is queried again based on the target user information, target terminal information, and an updated request timestamp to obtain a execution response, which is then sent to the target terminal. The target terminal starts and runs the target software only if the execution response indicates that execution is permitted.

[0012] This invention employs dynamic permission verification and real-time monitoring, and through integrated software license management server and terminal linkage control, achieves the goal of automated management of the entire lifecycle of enterprise-level genuine software. This results in efficient, accurate, and automated software license allocation and revocation, thereby solving the technical problem of the lack of effective supervision methods for the internal management and compliant operation of genuine software within enterprises in related technologies.

[0013] Specifically, when a software download request is received from a target user through their terminal, the request is first parsed to extract key information, including the target user's identity, terminal characteristics, and details of the requested software. This information is then matched against preset authorization rules to assess the legality of the download request in real time and ensure the reasonable use of software authorization. Only with explicit permission from the server can the target terminal download the software package.

[0014] Furthermore, this invention continues to function during the software runtime phase, ensuring the software's continued compliant use. Whenever a request to launch the software is detected from a target terminal, the system queries the preset authorization rules again based on the target user information, target terminal information, and the updated request timestamp to dynamically assess the software's license status. This effectively prevents expired software licenses and ensures that the software is always running within the validity period of its license. The target terminal can only launch and run the software if the runtime response indicates that it is permitted; otherwise, runtime will be automatically blocked, reducing compliance risks.

[0015] Overall, this invention not only achieves precise access control during the software download stage, but also ensures compliance throughout the software usage process through real-time monitoring and dynamic verification during the operation stage, forming a closed-loop management mechanism that fundamentally solves the passive situation of relying on manual statistics and rectification after the fact. Attached Figure Description

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

[0017] Figure 1 A hardware structure block diagram of a computer terminal (or mobile device) for implementing a software licensing method is shown.

[0018] Figure 2 This is a flowchart of an optional software licensing method according to an embodiment of the present invention;

[0019] Figure 3 This is a structured schematic diagram of an optional preset authorization rule according to an embodiment of the present invention;

[0020] Figure 4 This is a structural diagram of an optional automated management and control enterprise-level software licensing system according to an embodiment of the present invention;

[0021] Figure 5 This is a flowchart of an optional automated management and control method for enterprise-level software licensing according to an embodiment of the present invention;

[0022] Figure 6 This is a schematic diagram of an optional software licensing device according to an embodiment of the present invention;

[0023] Figure 7 This is a structural block diagram of an electronic device that performs a software licensing method according to an embodiment of the present invention. Detailed Implementation

[0024] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0025] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0026] To facilitate understanding of the present invention by those skilled in the art, some terms or nouns involved in the various embodiments of the present invention are explained below:

[0027] A license, in this invention specifically referring to a software license, is a permit granted by a software provider to a user to use the software, which includes specific provisions regarding the scope of use, the duration of use, and the user's rights. When there are quantity restrictions, each license represents the right of one user or device to use specific software.

[0028] It should be noted that the software licensing method and apparatus in this application can be used in the field of cloud computing technology for centralized licensing and dynamic allocation of software resources in a multi-tenant environment, and can also be used in any field other than cloud computing technology for centralized licensing and dynamic allocation of software resources in a multi-tenant environment. This application does not limit the application field of the software licensing method and apparatus.

[0029] It should be noted that all relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, and displayed data) involved in this application are information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, storage, processing, transmission, provision, disclosure, use, and handling of such data comply with the laws, regulations, and standards of the relevant regions, necessary confidentiality measures have been taken, and they do not violate public order and good morals. Corresponding access points are provided for users to choose to authorize or refuse access. For example, this system has interfaces with relevant users or organizations. Before obtaining relevant information, a request to obtain the information needs to be sent to the aforementioned user or organization through the interface, and the relevant information is obtained only after receiving consent from the aforementioned user or organization.

[0030] The information collection (e.g., user voice, video, and text collection) and analysis operations involved in this application have provided users with corresponding operation entry points during execution, allowing users to choose to agree to or reject the automated decision results; if the user chooses to reject, the process will proceed to the expert decision-making process.

[0031] The following embodiments of the present invention can be applied to various systems / applications / devices that require software license management and compliance monitoring, enabling an automated enterprise-level solution for the full lifecycle management of genuine software. The present invention uses a software license management server to analyze terminal and software characteristics and generate licensing policies. The software license management client then controls software downloads and execution according to these policies, better preventing software from being used beyond its permitted scope or quantity, and ensuring the compliance of software licenses.

[0032] This invention also achieves fully automated management of software from distribution to disposal by monitoring software download requests and running status on terminals in real time. The server can dynamically adjust authorization policies, and the client automatically executes software download control, execution blocking, and permission revocation based on these policies. This not only reduces reliance on manual intervention and improves management efficiency but also enhances the security and compliance of software use, making it particularly suitable for large enterprises or institutions to implement unified software authorization management across multiple devices and software environments.

[0033] The present invention will now be described in detail with reference to various embodiments.

[0034] Example 1

[0035] According to an embodiment of the present invention, an embodiment of a software licensing method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0036] The software licensing method embodiment provided in Embodiment 1 of the present invention can be executed on a mobile terminal, computer terminal or similar computing device. Figure 1 A hardware structure block diagram of a computer terminal (or mobile device) for implementing a software licensing method is shown. Figure 1 As shown, the computer terminal 10 (or mobile device) may include one or more processors 102 (shown as 102a, 102b, ..., 102n in the figure) 102 (processor 102 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of a BUS bus), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the aforementioned electronic device. For example, computer terminal 10 may also include... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0037] It should be noted that the aforementioned one or more processors 102 and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be integrated, in whole or in part, into any other element within the computer terminal 10 (or mobile device). As involved in the embodiments of this application, the data processing circuits serve as a processor control mechanism (e.g., selection of a variable resistor termination path connected to an interface).

[0038] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the software licensing method in this embodiment. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, thereby implementing the aforementioned software licensing method. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0039] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the computer terminal 10. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0040] The display can be, for example, a touchscreen liquid crystal display (LCD) that allows the user to interact with the user interface of the computer terminal 10 (or mobile device).

[0041] Under the above operating environment, the present invention provides, as follows: Figure 2 The software licensing method shown is implemented by an automated enterprise-level software licensing management system or software licensing management client. Combining cloud computing and endpoint control technologies, it is used for compliance management and efficient use of internal enterprise software resources. In particular, it addresses the issues of software license quantity limits and usage scope control. Through dynamic permission verification and permission revocation, it achieves automated and precise enterprise-level software lifecycle compliance management, thereby avoiding excessive software downloads and usage beyond the permitted scope, reducing compliance risks, and improving the efficiency and security of software resource utilization.

[0042] In existing technologies, end users can independently deploy and run software locally after obtaining it through an enterprise's internal software platform. However, the entire process suffers from multiple management failures. Specifically, firstly, it is impossible to verify in real time whether the downloading entity has the qualifications to use the corresponding software; secondly, in terms of dissemination control, it is impossible to control the secondary distribution of the software; and more importantly, the existing management model relies on periodic manual inspections and compliance reviews by administrators. This passive and reactive management makes it difficult to guarantee the effectiveness of rectification, resulting in management loopholes such as lag and incomplete coverage, and lacking a full lifecycle management mechanism for software.

[0043] The software licensing method provided by this invention specifically includes the following operations: reading user and terminal information from the user authentication platform and device asset database to establish the association between users and terminals; reading software information from the software platform to establish software licensing groups; generating a software licensing policy based on the user and terminal group information and the software licensing group information, and sending it to the client; the client caches and controls software download and operation according to the policy, and verifies the signature of the software package; secondary signature verification and real-time authorization verification during runtime ensure that the software runs within the valid authorization period; when the software license expires or is unauthorized, a permission revocation operation is performed, software information is cleaned up and the authorization status is updated, which can avoid excessive software downloads and out-of-scope use, reduce compliance risks, and improve the efficiency and security of software resource utilization.

[0044] The embodiments of the present invention will now be described in detail with reference to each specific step.

[0045] Figure 2 This is a flowchart of an optional software licensing method according to an embodiment of the present invention, such as... Figure 2 As shown, the method includes the following steps:

[0046] Step S201: Upon receiving a software download request sent by the target user through the target terminal, the software download request is parsed to obtain request information, which includes target user information, target terminal information, and the target software information to be downloaded in this request.

[0047] In one optional embodiment, when a target user wishes to download a certain software (i.e., the target software) from the enterprise's software distribution platform through the terminal device he / she is using (i.e., the target terminal), the automated enterprise-level software licensing management system first receives the software download request, which is triggered by the user through the enterprise's internal network or a specific application interface. Then, the system analyzes and parses the request to extract information from three core components.

[0048] Specifically, target user information includes, but is not limited to, the user's unique identifier (such as username, user ID), user role or user category (such as developer, tester, finance personnel, etc.), and other metadata that may be related to the user, such as the user's department, the nature of the user's work, etc., which are used to determine whether the user is eligible to download and use specific software, and also provide a basis for the personalized distribution of software.

[0049] The target terminal information includes details about the device requesting the software download, including but not limited to the device's unique identifier (such as MAC address, serial number), device type (such as desktop computer, laptop, server), operating system information (such as system version), and the terminal's current status (such as online or offline). These details allow for an assessment of whether the terminal meets the software's requirements, and a decision on whether to authorize the download can be made accordingly.

[0050] The target software information requested in this download request covers the basic attributes of the software to be downloaded, such as the software identifier, software type, licensing mode (enterprise license or limited license), applicable platform, and the number of licenses currently available. Obtaining software information helps the system understand the software's licensing status, thereby determining whether there are any remaining licenses available for allocation or whether the user has the right to access a specific type of software.

[0051] After parsing these request messages, the implementation system can determine whether the target user and target terminal meet the download conditions based on the preset software licensing policy. If the conditions are met, the software license management server will deduct the number of licenses for non-enterprise-level licensed software and allow the software download; conversely, if the conditions are not met, such as the number of licenses being exhausted or the user not being authorized, the download request will be rejected, and corresponding error messages will be sent to the target user, indicating that the software license is full or the user is not authorized to download. Throughout the process, by deeply analyzing the characteristics of users, terminals, and software, automated control and compliance checks of software downloads are achieved, ensuring the effective management and reasonable use of enterprise software resources.

[0052] Step S202: Based on the target user information, target terminal information, and request timestamp, query the preset authorization rules to obtain the download response, and return the download response to the target terminal. The target terminal will only download the target software package if the download response indicates that downloading is allowed.

[0053] In one optional embodiment, when a software download request is received, preset licensing rules are used to evaluate the legitimacy of the download request. These rules are central to the enterprise's software licensing management strategy, aiming to ensure that software downloads and use comply with the enterprise's compliance standards and business agreements, while also considering the suitability of the terminal devices and the efficient utilization of software resources. Preset licensing rules include, but are not limited to, the following:

[0054] 1. User grouping and software license matching: Based on the user group to which the target user belongs (such as the developer group, tester group, finance personnel group, etc.), determine whether the user has the right to download specific types of software (such as office software, testing software, financial software, etc.);

[0055] 2. Terminal grouping and software compatibility: By checking the grouping information of the target terminals (such as office equipment group, test equipment group, etc.), confirm whether the terminal's operating system and hardware configuration meet the running requirements of the target software.

[0056] 3. Software license quantity monitoring: For non-enterprise licensed software, i.e. those with specific license quantity limits, check the currently available license quantity to ensure that there are enough licenses before downloading. If the number of licenses is insufficient, the download will be rejected.

[0057] 4. Timestamp compliance verification: By requesting timestamps, it is determined whether the software license is within the validity period and whether the user and terminal association information is up-to-date, so as to avoid download failures due to expired licenses or untimely information updates.

[0058] A download response is generated based on the above rules. If the download request meets all preset authorization rules, a download-allowed response is generated, including authorization information, the download address, and possible download control parameters (such as download speed limits). Upon receiving the download-allowed response, the target terminal begins downloading the software package, performing necessary software package integrity verification during the process, such as digital signature checks, to ensure that the downloaded software package has not been tampered with and its source is reliable.

[0059] On the other hand, if any one or more of the requested information does not comply with the preset authorization rules, a download rejection response is generated, including the reason for the rejection, such as "No permission to download this software," "Software license expired," or "Software license has expired." Upon receiving the download rejection response, the target terminal stops the download attempt and displays the corresponding error message to the user, prompting the user to contact the enterprise IT department or software license administrator for further inquiry or application.

[0060] Optionally, in the software licensing method provided in this embodiment of the invention, the preset licensing rules are pre-built by the software licensing management server. The software licensing management server and the software licensing management client establish a communication connection in advance. The steps of building the preset licensing rules include: obtaining M user information from the target enterprise's user authentication platform and establishing user category groups based on the M user information, where M is a positive integer; obtaining N terminal information from the target enterprise's device asset database and establishing device category groups based on the N terminal information, where N is a positive integer; obtaining R authorized software information from the target enterprise's software platform and establishing software category groups based on the R software information, where R is a positive integer; and establishing preset licensing rules based on the user category groups, device category groups, and software category groups. The preset licensing rules are used to record the association relationships between user categories, terminal categories, and software categories, as well as the software licensing information corresponding to each association relationship.

[0061] In this embodiment of the invention, the software license management server is responsible for building and maintaining preset license rules, which involves collecting and analyzing data from multiple information sources within the enterprise to establish a comprehensive user, device and software license strategy.

[0062] The server extracts detailed information about all users from the enterprise's internal user authentication platform, including but not limited to: user ID, name, department, position, and job function. Based on this information, users are categorized into different user groups, such as developers, testers, and finance personnel. Each group represents a type of user with similar software needs and authorization permissions.

[0063] The server also retrieves detailed hardware and software information for all terminals from the enterprise's equipment asset management system, including device type, operating system, device ID, and hardware specifications. Similarly, terminal information is used to create device category groups to reflect different types of terminal devices, such as office equipment groups, testing equipment groups, etc.

[0064] The software license management server retrieves detailed information about all licensed software from the enterprise's software repository or license management platform, including software name, version, type, number of licenses, and license validity period. Based on this information, the server groups the software into different software categories, such as office software, testing software, and financial software.

[0065] After collecting and analyzing user, device, and software information, the server creates preset authorization rules based on corporate policies and software licensing agreements. It records in detail the relationships between user categories, device categories, and software categories, as well as the software authorization information corresponding to each relationship. For example, users in the developer group may be allowed to install software from the office software and testing software groups on machines in the office equipment group, but software in the financial software group may only be authorized to users in the financial personnel group.

[0066] Figure 3 This is a structured schematic diagram of an optional preset authorization rule according to an embodiment of the present invention, such as... Figure 3 As shown, the preset authorization rules include: users in the development team are allowed to install office software, testing software, and security software on terminals in the office equipment team, but are not allowed to install financial software; users in the testing team are allowed to install testing software and security software on terminals in the testing equipment team, but are not allowed to install office software and financial software; users in the financial personnel team are allowed to install office software, financial software, and security software on terminals in the office equipment team, but are not allowed to install testing software.

[0067] This invention, through the construction of preset authorization rules, realizes the dynamic and automated allocation and management of software resources. It not only solves the problem of software authorization compliance, but also brings additional benefits such as resource optimization, enhanced system flexibility and reduced management burden, thereby improving the overall efficiency of enterprise software authorization management.

[0068] To ensure that software downloads comply with current preset authorization rules and reflect recent rule updates, optionally, in the software authorization method provided in this embodiment of the invention, the step of querying preset authorization rules based on target user information, target terminal information, and request timestamp to obtain a download response includes: obtaining the preset authorization rule corresponding to the rule update timestamp most recent to the request timestamp; extracting target association relationships and corresponding target software authorization information from the preset authorization rules based on target user information and target terminal information, wherein the target association relationship refers to the association relationship between the target user, target terminal, and target software; analyzing the target software authorization information to obtain a first analysis result, wherein the first analysis result is used to record whether the target user has software permissions for the target software when holding the target terminal, and the remaining download quota of the target software in the target enterprise; and generating a download response based on the first analysis result corresponding to the target association relationship and the target software authorization information.

[0069] In one specific implementation, whenever the target terminal initiates a software download request, the implementation system immediately queries the database of preset authorization rules to find the rule version corresponding to the rule update timestamp closest to the request timestamp, ensuring that the latest authorization rules are used to evaluate the download request and that the decision is based on the most timely and accurate information.

[0070] Based on the target user information and target terminal information, the system searches the preset authorization rules for specific association rules between these two information and the target software. This confirms whether the target user has permission to download the target software through the target terminal and obtains the software's current authorization information, such as license limits and download restrictions. The system then analyzes the target software's authorization information in depth, including but not limited to: confirming whether the target software has sufficient remaining download quota and whether the target user has permission to download the software. The first analysis result records the software permission status and remaining download quota in detail.

[0071] Finally, a download response is generated based on the target association and the results of the first analysis. If software permissions are confirmed and there is sufficient remaining download credit, the download response will indicate "Download Allowed" and include necessary download information, such as the URL of the software package and download priority.

[0072] Conversely, if the software lacks sufficient permissions or the download limit has been reached, the download response will indicate "Download Denied" and provide a reason for the denial to help the user understand why the download request was rejected.

[0073] The embodiments of the present invention not only solve the key problems in software license management, but also achieve multiple beneficial effects such as resource optimization, efficiency improvement, user experience enhancement, and security compliance enhancement, providing a more refined and efficient solution for enterprise-level software license management.

[0074] To ensure that the decision-making basis for software download requests is sufficient and accurate, optionally, in the software authorization method provided in this embodiment of the invention, the step of generating a download response based on the first analysis result corresponding to the target association relationship and the target software authorization information includes: when the target software authorization information indicates that the user has software permissions and the remaining download quota is not 0, setting the download response to allow download; or, when the target software authorization information indicates that the user has software permissions and the remaining download quota is 0, setting the download response to refuse download and binding a first prompt message to the download response, wherein the first prompt message is used to indicate that the software authorization has been exhausted; or, when the target software authorization information indicates that the user does not have software permissions, setting the download response to refuse download and binding a second prompt message to the download response, wherein the second prompt message is used to indicate that the user has not obtained download authorization.

[0075] In one specific implementation, when the target software authorization information indicates that the user has software permissions and the remaining download quota of the software is greater than zero, the download response is set to "allow download". The user can legally download and install the software through the target terminal without additional approval or waiting.

[0076] If a user has the necessary permissions but has zero remaining download quota for the software, the download response will be set to "Download Denied," along with a first message clearly informing the user that "Software license has been exhausted," thus avoiding excessive resource allocation and ensuring the reasonable use of software licenses.

[0077] If the target software's license information explicitly states that the user does not have permission to download the specific software, the download response will also be set to "Download Denied," but this time with an additional message reminding the user that "Download authorization is not granted." This clear division of permissions helps improve the transparency of software management, allowing users to understand the scope of their permissions.

[0078] By meticulously handling the download response generation process, this invention not only solves key issues in software licensing management and achieves technical effects such as real-time feedback, resource optimization, and enhanced compliance, but also provides additional benefits such as improved decision-making transparency, stimulated user training needs, and reduced IT burden.

[0079] To ensure accurate tracking of software resources and timely adjustment of authorization information, software authorization management not only covers permission review before software download and operation, but also includes feedback and dynamic rule update mechanisms after software installation. Optionally, in the software authorization method provided in this embodiment of the invention, after returning the download response to the target terminal, it further includes: obtaining download feedback information from the target terminal, wherein the download feedback information is used to indicate whether the target terminal has successfully installed the software package; if the download feedback information indicates successful installation, sending a rule update command to the software authorization management server through a pre-established communication connection, wherein the rule update command is used to indicate updating the remaining download quota, and generating a new rule update timestamp.

[0080] In one specific implementation, after the software license management client receives the download response, the target terminal begins downloading and installing the software package. Once the installation process is complete, regardless of success or failure, the client generates and sends download feedback information to the software license management server. This feedback information includes the installation result of the software package, i.e., whether the target terminal has successfully installed the software package.

[0081] If the download feedback indicates successful installation, the client will send a rule update command through a pre-established communication connection with the server. The main purpose is to instruct the server to update the remaining download quota for the target software, thus reducing the number of successfully installed packages and ensuring the accuracy of the software license data. Simultaneously, the command will trigger the generation of a new rule update timestamp to mark the time of this rule update, facilitating subsequent rule queries and applications.

[0082] Step S203: Each time a software execution request for the target software is detected from the target terminal, the preset authorization rules are queried again based on the target user information, the target terminal information, and the updated request timestamp to obtain the execution response. The execution response is then sent to the target terminal. The target terminal will start running the target software only if the execution response indicates that execution is allowed.

[0083] In one optional embodiment, when the target terminal issues a software execution request, it means that the user on the terminal is trying to launch a software (i.e., the target software) that has been previously downloaded and installed. This request is captured immediately, and based on the latest target user information, target terminal information, and real-time request timestamp, the preset authorization rule base is queried again. This dynamic verification process ensures that the software operation is compliant even after the software authorization status changes.

[0084] The immediate compliance check is similar to the software download request check, but because software licenses may change over time (e.g., licenses expire), this check is performed while the software is running, reassessing user permissions, terminal compatibility, and the validity of the software license.

[0085] After querying the preset authorization rules, a run response is generated, indicating whether the target terminal is allowed to launch the target software. The run response is either allowed or denied. If the software's run request complies with the preset authorization rules, an allowed run response is returned, confirming that the terminal can start and use the software normally. This response may include information such as the software license's validity period, usage conditions, or user role confirmation. If the software license has expired, the user does not have permission to run, or the terminal does not meet the software's running requirements, a denied run response is returned, preventing the software from starting. This response may include specific reasons and guide the user on how to resolve the problem, such as prompting them to contact the IT department or the software license administrator.

[0086] If the response indicates that the software refuses to run, measures are taken to prevent the software from starting, and a warning message is displayed on the user interface to inform the user why the software cannot run. Additionally, the permission revocation module can be notified to perform permission revocation operations, including uninstalling the software, cleaning up installation remnants, and updating license information on the server, so that the revoked licenses can be redistributed to other eligible terminals or users.

[0087] The above steps enable dynamic access control for the software, ensuring that the software operates legally and compliantly at all times. This not only effectively prevents the abuse and misuse of software licenses but also allows for immediate response to changes in license status, reducing work interruptions caused by license issues and improving overall business continuity and security.

[0088] To emphasize the timeliness and accuracy of the processing flow and authorization rules during the software execution request process, optionally, in the software authorization method provided in this embodiment of the invention, the step of querying the preset authorization rules again based on the target user information, target terminal information, and the updated request timestamp to obtain the execution response includes: obtaining the preset authorization rule corresponding to the rule update timestamp closest to the updated request timestamp; extracting the target association relationship and the corresponding target software authorization information from the preset authorization rule based on the target user information and target terminal information; analyzing the target software authorization information to obtain a second analysis result, wherein the second analysis result is used to record whether the software permissions of the target software have expired when the target user holds the target terminal; and generating an execution response based on the second analysis result corresponding to the target software authorization information.

[0089] In one specific implementation, when the target terminal sends a software execution request before running a certain software, it immediately searches the database for the preset authorization rule corresponding to the rule update timestamp closest to the request timestamp, ensuring that the decision basis for the execution response is the latest authorization rule, which can reflect the real-time status of software authorization.

[0090] This invention retrieves specific target associations and their corresponding target software authorization information from preset authorization rules based on target user information and target terminal information. It generates a runtime response by precisely locating the specific authorization relationships between the user, terminal, and software. The extracted authorization information is analyzed to obtain a second analysis result, clearly indicating whether the target software's authorization has expired. This analysis is based on the latest authorization status of the target software, including key parameters such as authorization validity period and usage limits.

[0091] Finally, a runtime response is generated based on the results of the second analysis. If the software license has not expired, the runtime response will indicate that execution is allowed; otherwise, if the license has expired, the runtime response will indicate that execution is denied, and may also include additional prompts instructing the user on how to proceed or contact the relevant department to renew the license.

[0092] By implementing this software execution request processing flow, the embodiments of the present invention not only solve the problem of real-time compliance verification before software execution, but also achieve multiple beneficial effects such as dynamic monitoring of software authorization, enhanced software security, improved system efficiency, closed-loop management, and reduced IT department burden.

[0093] To further improve compliance management throughout the software lifecycle, optionally, in the software licensing method provided in this embodiment of the invention, the step of generating a running response based on the second analysis result corresponding to the target software licensing information includes: setting the running response to allow running when the target software licensing information indicates that the software permissions have not expired; or, setting the running response to not allow running when the target software licensing information indicates that the software permissions have expired, and binding a software uninstallation command to the running response.

[0094] In one specific implementation, when a target terminal requests to run software, the software license management client first analyzes the second analysis result of the target software license information. If the software permissions have not expired, meaning the target user holds the target terminal, the software permissions for the target software are still valid, and the run response will be set to "Allow run".

[0095] If the target software's license information indicates that the software permissions have expired, the run response will be set to "No permission to run," and a software uninstallation command will be bound to the run response. This means that the server not only rejects the software's run request but also proactively takes measures to forcibly uninstall the expired licensed software through the client's security mechanisms, preventing it from continuing to run.

[0096] Through steps S201 to S203 described above, upon receiving a software download request sent by a target user through a target terminal, the software download request is first parsed to obtain request information, which includes target user information, target terminal information, and the target software information requested for download. Then, based on the target user information, target terminal information, and request timestamp, a preset authorization rule is queried to obtain a download response, which is then returned to the target terminal. The target terminal downloads the target software package only if the download response indicates that downloading is permitted. Finally, each time a software execution request for the target software is detected from the target terminal, the preset authorization rule is queried again based on the target user information, target terminal information, and the updated request timestamp to obtain a execution response, which is then sent to the target terminal. The target terminal starts and runs the target software only if the execution response indicates that execution is permitted.

[0097] In this embodiment of the invention, dynamic permission verification and real-time monitoring are adopted. By integrating the software license management server and terminal linkage control, the goal of automated management of the entire lifecycle of enterprise-level genuine software is achieved. This realizes the technical effect of efficient, accurate and automated software license allocation and revocation, and solves the technical problem of the lack of effective supervision means for the internal management and compliant operation of genuine software in related technologies.

[0098] Specifically, when a software download request is received from a target user through their terminal, the request is first parsed to extract key information, including the target user's identity, terminal characteristics, and details of the requested software. This information is then matched against preset authorization rules to assess the legality of the download request in real time and ensure the reasonable use of software authorization. Only with explicit permission from the server can the target terminal download the software package.

[0099] Furthermore, this invention continues to function during the software runtime phase, ensuring the continuous compliant use of the software. Whenever a request to launch the software is detected from a target terminal, the preset authorization rules are queried again based on the target user information, target terminal information, and the updated request timestamp. This dynamically assesses the software's license status, effectively preventing expired software licenses and ensuring the software is always within the validity period of its license. The target terminal can only launch and run the software if the runtime response indicates permission; otherwise, runtime is automatically blocked, reducing compliance risks.

[0100] Overall, the embodiments of the present invention not only achieve precise permission control during the software download phase, but also ensure full compliance throughout the software usage process through real-time monitoring and dynamic verification during the operation phase, forming a closed-loop management mechanism, fundamentally solving the passive situation of relying on manual statistics and rectification after the fact.

[0101] The following describes the present invention in conjunction with another specific embodiment.

[0102] Figure 4 It is a structural diagram of an optional automated control enterprise-level software authorization system according to an embodiment of the present invention. As Figure 4 shown, it includes the linkage control of the software authorization management server and the key authorization management client to achieve automated management of software authorization management within the enterprise. The main modules and functions are introduced as follows:

[0103] First, the software authorization management server includes 3 modules:

[0104] The terminal feature analysis module 401: First, it is responsible for obtaining terminal information from the enterprise device asset library, including the operating system identifier, operating system type, operating system version, device unique identifier, device type, user, and terminal management information, etc.; second, it obtains user information from the enterprise user authentication platform, including user identifier, user category, etc.; then it transmits this data to the software authorization policy generation module 403.

[0105] The software feature analysis module 402: It is responsible for obtaining software information from the enterprise software platform, including software identifier, software authorization quantity, software type, software supported platform information, etc., and transmitting this data to the software authorization policy generation module 403.

[0106] The software authorization policy generation module 403: It is responsible for generating terminal software authorization policies according to the relevant information of the terminal, user, and software transmitted by the terminal feature analysis module 404 and the software feature analysis module 402, and distributing them to the software authorization management client according to the rules pre-specified within the enterprise.

[0107] Second, the software authorization management client includes 4 modules:

[0108] The software policy cache module 404: It is responsible for caching the software authorization policies distributed by the server and periodically initiating policy updates with the server.

[0109] The download management module 405: It is responsible for downloading compliant software from the software platform according to the terminal software authorization policy, and performing signature verification, download control, and breakpoint resumption on the software package, etc.

[0110] Runtime Management Module 406: Responsible for performing secondary verification of the software during software runtime, and determining whether the software license is valid according to the terminal software license policy. If it has expired, it will block the operation and issue a prompt, and notify the 407 Permission Revocation Module to revoke the permissions.

[0111] Permission revocation module 407: Responsible for receiving information 406 from the operation management module, uninstalling expired or unauthorized software on the terminal, cleaning up residual installation information, and notifying the software feature analysis module 402 to revoke the software license.

[0112] Figure 5 This is a flowchart of an optional automated management and control method for enterprise-level software licensing according to an embodiment of the present invention, such as... Figure 5 As shown, the method includes:

[0113] Step 501: Read user information from the user authentication platform and create user groups according to user categories, such as developer group, tester group, and finance personnel group; read terminal information from device assets and create terminal groups according to terminal category, terminal operating environment, such as office equipment group and test equipment group.

[0114] Step 502: Read software information from the software platform and create software license groups according to software category, software license, and software compatibility system type, such as office software, testing software, financial software, security software, etc.

[0115] Step 503: Generate a software license allocation strategy for the terminal based on user group information, terminal group information, and software license group information.

[0116] Step 504: When a terminal requests software download online, the software licensing policy rules of the software license management server are accessed in real time. If the current terminal is allowed to download the software, the number of software licenses (except for enterprise-level licensed software) is reduced accordingly. If the number of software licenses is 0 at this time, the terminal download is rejected, and a message is displayed indicating that the software licenses have been exhausted. If the download is not allowed, a message is returned to the terminal indicating that it is not authorized to download. After the software is downloaded, the package verification is completed to confirm that the package is complete and reliable. If the package is large, download speed control function and support for resuming interrupted downloads are required.

[0117] Step 505: When the terminal runs the software, a secondary signature verification is performed to ensure that the critical processes of the software package have not been damaged or altered. The software license policy rules of the software license management server are accessed in real time to confirm whether the license is still valid. If it is valid, the software is allowed to run; otherwise, execution is blocked, and the process proceeds to step 506. Additionally, when the terminal runs the software offline, the local software license cache policy is read and executed according to the offline policy. Once the terminal is online again, a policy update and synchronization will be initiated immediately.

[0118] Step 506: If the terminal software license expires, clear the local software installation information and send the software license revocation information to the software license management server. The server updates the software license information to complete the closed-loop management of software licenses.

[0119] The beneficial effects of the embodiments of this invention include: proposing an enterprise-level automated software licensing management system to achieve automated control of the entire lifecycle from distribution, use to recycling, completely solving the passive situation of relying on post-event rectification, and significantly reducing compliance risks and manpower costs; proposing to generate software licensing policies on the server side to monitor and manage terminal software download licenses in real time, accurately preventing excessive downloads and out-of-scope use, and effectively avoiding the secondary dissemination of non-compliant software; and proposing to manage the software operation process on the terminal to ensure compliance of the software operation cycle, and to realize the automatic recycling and redistribution of software licenses, achieving efficient sharing and use of software.

[0120] The invention will now be described in conjunction with another alternative embodiment.

[0121] Example 2

[0122] This invention also provides a software licensing device. It should be noted that the software licensing device of this invention includes multiple implementation units, which can be used to execute the software licensing method provided in the first embodiment above. Each implementation unit corresponds to each implementation step in the first embodiment above.

[0123] Figure 6 This is a schematic diagram of an optional software licensing device according to an embodiment of the present invention, such as... Figure 6 As shown, the device may include: a parsing unit 61, a first query unit 62, and a second query unit 63.

[0124] The parsing unit 61 is used to parse the software download request sent by the target user through the target terminal when it receives the software download request, and obtain the request information, which includes the target user information, the target terminal information and the target software information to be downloaded in this request.

[0125] The first query unit 62 is used to query the preset authorization rules based on the target user information, target terminal information and request timestamp, obtain the download response, and return the download response to the target terminal. The target terminal downloads the target software package only if the download response indicates that downloading is allowed.

[0126] The second query unit 63 is used to query the preset authorization rules again based on the target user information, target terminal information and updated request timestamp each time a software running request for the target software is detected from the target terminal, to obtain the running response, and send the running response to the target terminal. The target terminal starts running the target software only if the running response indicates that running is allowed.

[0127] The aforementioned software licensing device can first receive a software download request sent by a target user through a target terminal via the parsing unit 61, parse the software download request to obtain request information, which includes target user information, target terminal information, and the target software information requested for download. Then, the first query unit 62 queries a preset licensing rule based on the target user information, target terminal information, and request timestamp to obtain a download response, and returns the download response to the target terminal. The target terminal downloads the target software package only if the download response indicates that downloading is allowed. Finally, the second query unit 63, each time it detects a software run request from the target terminal, queries the preset licensing rule again based on the target user information, target terminal information, and updated request timestamp to obtain a run response, and sends the run response to the target terminal. The target terminal starts and runs the target software only if the run response indicates that running is allowed.

[0128] In this embodiment of the invention, dynamic permission verification and real-time monitoring are adopted. By integrating the software license management server and terminal linkage control, the goal of automated management of the entire lifecycle of enterprise-level genuine software is achieved. This realizes the technical effect of efficient, accurate and automated software license allocation and revocation, and solves the technical problem of the lack of effective supervision means for the license management and compliant operation of genuine software within enterprises in related technologies.

[0129] Specifically, when a software download request is received from a target user through their terminal, the request is first parsed to extract key information, including the target user's identity, terminal characteristics, and details of the requested software. This information is then matched against preset authorization rules to assess the legality of the download request in real time and ensure the reasonable use of software authorization. Only with explicit permission from the server can the target terminal download the software package.

[0130] Furthermore, this invention continues to function during the software runtime phase, ensuring the continuous compliant use of the software. Whenever a request to launch the software is detected from a target terminal, the preset authorization rules are queried again based on the target user information, target terminal information, and the updated request timestamp. This dynamically assesses the software's license status, effectively preventing expired software licenses and ensuring the software is always within the validity period of its license. The target terminal can only launch and run the software if the runtime response indicates permission; otherwise, runtime is automatically blocked, reducing compliance risks.

[0131] Overall, the embodiments of the present invention not only achieve precise access control during the software download stage, but also ensure compliance throughout the software use process through real-time monitoring and dynamic verification during the operation stage, forming a closed-loop management mechanism and fundamentally solving the passive situation of relying on manual statistics and rectification after the fact.

[0132] Optionally, in the software licensing device provided in this embodiment of the invention, the preset licensing rules are pre-built by the software licensing management server, and the software licensing management server and the software licensing management client establish a communication connection in advance.

[0133] Optionally, in the software licensing device provided in this embodiment of the invention, the software licensing device further includes: a construction unit, used to construct preset licensing rules, the construction unit including: a first acquisition module, used to acquire M user information from the user authentication platform of the target enterprise, and establish user category groups based on the M user information, wherein M is a positive integer; a second acquisition module, used to acquire N terminal information from the device asset library of the target enterprise, and establish device category groups based on the N terminal information, wherein N is a positive integer; a third acquisition module, used to acquire R authorized software information from the software platform of the target enterprise, and establish software category groups based on the R software information, wherein R is a positive integer; and a construction module, used to construct preset licensing rules based on the user category groups, device category groups, and software category groups, wherein the preset licensing rules are used to record the association relationships between user categories, terminal categories, and software categories, and the software licensing information corresponding to each association relationship.

[0134] Optionally, in the software licensing device provided in this embodiment of the invention, the first query unit includes: a fourth acquisition module, used to acquire a preset licensing rule corresponding to the rule update timestamp closest to the request timestamp; a first extraction module, used to extract target associations and corresponding target software licensing information from the preset licensing rules based on target user information and target terminal information, wherein the target association refers to the association between the target user, the target terminal, and the target software; a first analysis module, used to analyze the target software licensing information to obtain a first analysis result, wherein the first analysis result is used to record whether the target user has software permissions for the target software when holding the target terminal, and the remaining download quota of the target software in the target enterprise; and a first generation module, used to generate a download response based on the first analysis result corresponding to the target association and the target software licensing information.

[0135] Optionally, in the software licensing device provided in this embodiment of the invention, the first generation module includes: a first setting submodule, configured to set the download response to allow download when the target software licensing information indicates that the software has permissions and the remaining download quota is not 0; a second setting submodule, configured to set the download response to refuse download when the target software licensing information indicates that the software has permissions and the remaining download quota is 0, and bind a first prompt message to the download response, wherein the first prompt message is used to indicate that the software license has been exhausted; and a third setting submodule, configured to set the download response to refuse download when the target software licensing information indicates that the software does not have permissions, and bind a second prompt message to the download response, wherein the second prompt message is used to indicate that the download license has not been obtained.

[0136] Optionally, in the software licensing device provided in this embodiment of the invention, the software licensing device further includes: a fifth acquisition module, configured to acquire download feedback information of the target terminal after returning the download response to the target terminal, wherein the download feedback information is used to indicate whether the target terminal has successfully installed the software package; and a sending module, configured to send a rule update command to the software licensing management server through a pre-established communication connection when the download feedback information indicates successful installation, wherein the rule update command is used to indicate updating the remaining download quota and generating a new rule update timestamp.

[0137] Optionally, in the software licensing device provided in this embodiment of the invention, the second query unit includes: a sixth acquisition module, used to acquire a preset licensing rule corresponding to the rule update timestamp closest to the updated request timestamp; a second extraction module, used to extract the target association relationship and the corresponding target software licensing information from the preset licensing rule based on the target user information and the target terminal information; a second analysis module, used to analyze the target software licensing information to obtain a second analysis result, wherein the second analysis result is used to record whether the software permissions of the target software have expired when the target user holds the target terminal; and a second generation module, used to generate a running response based on the second analysis result corresponding to the target software licensing information.

[0138] Optionally, in the software licensing device provided in this embodiment of the invention, the second generation module includes: a fourth setting submodule, used to set the running response to allow running when the target software licensing information indicates that the software permissions have not expired; and a fifth setting submodule, used to set the running response to not have running permission when the target software licensing information indicates that the software permissions have expired, and to bind a software uninstallation command to the running response.

[0139] It should be noted that the parsing unit 61, the first query unit 62, and the second query unit 63 mentioned above correspond to steps S201 to S203 in Embodiment 1. The instances and application scenarios implemented by the above units and the corresponding steps are the same, but are not limited to the content disclosed in Embodiment 1. It should be noted that the above modules or units can be hardware or software components stored in memory (e.g., memory 104) and processed by one or more processors (e.g., processors 102a, 102b, ..., 102n). The above modules or units can also run as part of a device in the computer terminal 10 provided in Embodiment 1.

[0140] The invention will now be described in conjunction with another alternative embodiment.

[0141] Example 3

[0142] The present invention can also provide an electronic device. Figure 7 This is a structural block diagram of an electronic device that performs a software licensing method according to an embodiment of the present invention, such as... Figure 7 As shown, the electronic device may include: one or more ( Figure 7 Only one of the following is shown: processor 702, memory 704, memory controller, and peripheral interface, wherein the peripheral interface is connected to the radio frequency module, audio module, and display.

[0143] The memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the software licensing method and apparatus in this application embodiment. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, thereby implementing the aforementioned software licensing method. The memory may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0144] The processor can access information and applications stored in the memory via a transmission device to execute various implementation steps of the software licensing method provided in Embodiment 1 above, including at least the following steps: Upon receiving a software download request sent by a target user through a target terminal, the processor parses the software download request to obtain request information, wherein the request information includes target user information, target terminal information, and target software information requested for download; Based on the target user information, target terminal information, and request timestamp, the processor queries a preset licensing rule to obtain a download response and returns the download response to the target terminal, wherein the target terminal downloads the target software package only if the download response indicates that downloading is permitted; Each time a software execution request for the target software is detected from the target terminal, the processor queries the preset licensing rule again based on the target user information, target terminal information, and updated request timestamp to obtain a execution response and sends the execution response to the target terminal, wherein the target terminal starts and runs the target software only if the execution response indicates that execution is permitted.

[0145] This invention provides a software licensing scheme. By employing dynamic permission verification and real-time monitoring, and through integrated software licensing management server-side and terminal-side linkage control, it achieves automated management of the entire lifecycle of enterprise-level genuine software. This results in efficient, accurate, and automated software license allocation and revocation, thereby solving the technical problem of the lack of effective supervision methods for the internal licensing management and compliant operation of genuine software within enterprises in related technologies.

[0146] Those skilled in the art will understand that Figure 7 The structure shown is for illustrative purposes only. Electronic devices can also be smartphones, tablets, handheld computers, mobile internet devices (MIDs), PADs, and other terminal devices. Figure 7 This does not limit the structure of the aforementioned electronic device. For example, electronic devices may also include components that are more... Figure 7The more or fewer components shown (such as network interfaces, display devices, etc.), or having the same Figure 7 The different configurations shown.

[0147] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0148] The invention will now be described in conjunction with another alternative embodiment.

[0149] Example 4

[0150] This invention also provides a computer-readable storage medium. Optionally, in this invention, the computer-readable storage medium can be used to store the program code executed by the software licensing method provided in Embodiment 1.

[0151] Optionally, in this embodiment of the invention, the storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals.

[0152] This invention also provides a computer program product, which, when executed on a data processing device, is suitable for performing the steps of a software licensing method: upon receiving a software download request sent by a target user through a target terminal, the program parses the software download request to obtain request information, wherein the request information includes target user information, target terminal information, and target software information requested for download; based on the target user information, target terminal information, and request timestamp, the program queries a preset licensing rule to obtain a download response and returns the download response to the target terminal, wherein the target terminal downloads the target software package only if the download response indicates that downloading is permitted; each time a software execution request for the target software is detected from the target terminal, based on the target user information, target terminal information, and updated request timestamp, the program queries the preset licensing rule again to obtain a execution response and sends the execution response to the target terminal, wherein the target terminal starts and runs the target software only if the execution response indicates that execution is permitted.

[0153] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0154] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0155] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0156] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0157] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0158] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0159] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A software licensing method, characterized in that, A software licensing management client applied to a target enterprise, the method comprising: Upon receiving a software download request sent by a target user through a target terminal, the software download request is parsed to obtain request information, which includes target user information, target terminal information, and the target software information to be downloaded in this request. Based on the target user information, the target terminal information, and the request timestamp query preset authorization rules, a download response is obtained and returned to the target terminal. The target terminal downloads the target software package only if the download response indicates that downloading is allowed. Each time a software execution request for the target software is detected from the target terminal, the preset authorization rule is queried again based on the target user information, the target terminal information, and the updated request timestamp to obtain a execution response, and the execution response is sent to the target terminal. The target terminal will only start running the target software if the execution response indicates that execution is allowed.

2. The software licensing method according to claim 1, characterized in that, The preset authorization rules are pre-built by the software authorization management server. The software authorization management server and the software authorization management client establish a communication connection in advance. The steps for building the preset authorization rules include: Obtain M user information from the target company's user authentication platform, and establish user category groups based on the M user information, where M is a positive integer; Obtain N terminal information from the target enterprise's equipment asset database, and establish equipment category groupings based on the N terminal information, where N is a positive integer; Obtain R authorized software information from the target enterprise's software platform, and establish software category groups based on the R software information, where R is a positive integer; The preset authorization rules are established based on the user category grouping, the device category grouping, and the software category grouping. The preset authorization rules are used to record the association between user category, terminal category, and software category, as well as the software authorization information corresponding to each association.

3. The software licensing method according to claim 1, characterized in that, The steps for obtaining a download response based on the target user information, the target terminal information, and the request timestamp query preset authorization rules include: Obtain the preset authorization rule corresponding to the rule update timestamp closest to the request timestamp; Based on the target user information and the target terminal information, the target association relationship and the corresponding target software authorization information are extracted from the preset authorization rules, wherein the target association relationship refers to the association relationship between the target user, the target terminal and the target software; The target software authorization information is analyzed to obtain a first analysis result, wherein the first analysis result is used to record whether the target user has the software permission of the target software when the target user holds the target terminal, and the remaining download quota of the target software in the target enterprise; The download response is generated based on the first analysis result corresponding to the target association and the target software authorization information.

4. The software licensing method according to claim 3, characterized in that, The step of generating the download response based on the first analysis result corresponding to the target association and the target software licensing information includes: If the target software license information indicates that the user has the necessary permissions for the software, and the remaining download quota is not zero, then the download response is set to allow downloading; or, If the target software license information indicates that the user has the necessary permissions for the software, and the remaining download quota is 0, the download response is set to reject the download, and a first prompt message is attached to the download response, wherein the first prompt message indicates that the software license has been exhausted; or... If the target software authorization information indicates that the user does not have the necessary permissions for the software, the download response is set to refuse download, and a second prompt message is attached to the download response, wherein the second prompt message is used to indicate that the user is not authorized to download.

5. The software licensing method according to claim 3, characterized in that, After returning the download response to the target terminal, the method further includes: Obtain download feedback information from the target terminal, wherein the download feedback information is used to indicate whether the target terminal has successfully installed the software package; If the download feedback information indicates successful installation, a rule update command is sent to the software license management server through a pre-established communication connection. The rule update command is used to indicate the update of the remaining download quota and to generate a new rule update timestamp.

6. The software licensing method according to claim 1, characterized in that, The steps for querying the preset authorization rule again based on the target user information, the target terminal information, and the updated request timestamp to obtain the execution response include: Obtain the preset authorization rule corresponding to the rule update timestamp closest to the update request timestamp; Based on the target user information and the target terminal information, the target association relationship and the corresponding target software authorization information are extracted from the preset authorization rules; The target software's licensing information is analyzed to obtain a second analysis result, wherein the second analysis result is used to record whether the software permissions of the target software have expired when the target user holds the target terminal; The runtime response is generated based on the second analysis result corresponding to the target software licensing information.

7. The software licensing method according to claim 6, characterized in that, The step of generating the runtime response based on the second analysis result corresponding to the target software licensing information includes: If the target software license information indicates that the software permissions have not expired, set the run response to allow execution; or, If the target software license information indicates that the software permissions have expired, set the run response to "no permission to run" and bind a software uninstallation command to the run response.

8. A software licensing device, characterized in that, A software license management client for a target enterprise, the device comprising: The parsing unit is used to parse the software download request sent by the target user through the target terminal when it receives the software download request and obtain the request information, wherein the request information includes target user information, target terminal information and target software information for this request to download; The first query unit is used to query a preset authorization rule based on the target user information, the target terminal information, and the request timestamp, obtain a download response, and return the download response to the target terminal. The target terminal downloads the target software package only if the download response indicates that downloading is allowed. The second query unit is used to query the preset authorization rule again based on the target user information, the target terminal information and the updated request timestamp each time a software running request for the target software is detected from the target terminal, to obtain a running response and send the running response to the target terminal. The target terminal starts running the target software only if the running response indicates that running is allowed.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored computer program, wherein, when the computer program is executed, it controls the device on which the computer-readable storage medium is located to perform the software licensing method according to any one of claims 1 to 7.

10. An electronic device, characterized in that, It includes one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the software licensing method according to any one of claims 1 to 7.

11. A computer program product, characterized in that, Includes computer instructions, wherein when executed by a processor, the computer instructions implement the steps of the software licensing method according to any one of claims 1 to 7.