Software use license allocation method and device, storage medium and product
By dividing software usage licenses into ordinary categories and emergency categories and allocating them according to categories and task levels, the workflow interruptions and project delays caused by improper allocation of software usage licenses in the prior art are solved, and the effect of improving enterprise production efficiency and reducing costs is achieved.
Patent Information
- Application Number
- CN202411760873.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-03
- Publication Date
- 2025-04-15
AI Technical Summary
In the prior art, the allocation method of software usage licenses is carried out according to the application time, which causes designers to be unable to obtain licenses in time during peak periods, resulting in workflow interruptions and project delays, and increasing enterprise costs.
The software usage license is divided into ordinary categories and emergency categories, and is allocated according to different categories. The ordinary category license is given priority. The emergency category license is used for high-priority tasks, and preemption and queue management are carried out through task levels and user levels.
It effectively avoids interruptions in work processes and delays in critical tasks, improves the production efficiency of enterprises, reduces the risk of project delays and the direct costs of enterprises, and improves the quality of work and life of employees.
Smart Images

Figure CN119830240A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computers, and more specifically to a method, device, storage medium and product for allocating a software license. Background Art
[0002] Access control of software systems can be achieved through dynamic authorization by assigning licenses to users. For example, design-assisted software is widely used by enterprise design and development departments. Licenses are usually allocated according to the application time. Designers who occupy licenses often hang up for a long time after the use demand ends to avoid not being able to obtain licenses in time for the next use, causing designers to wait for a long time before they can access the software. Especially when licenses are occupied during peak working hours, designers will be forced to temporarily stop working because they cannot access the software, resulting in workflow interruptions and postponement of key tasks and projects, reducing production efficiency. Enterprises also face the risk of increased indirect costs due to project delays. In order to alleviate the problem of insufficient authorization, enterprises have to purchase additional authorizations, which increases the direct costs of the enterprise.
[0003] In addition, in order to avoid the shortage of authorization files during peak hours, designers have to use the software during non-ideal working hours (such as at night), which affects the quality of their work and life. Summary of the invention
[0004] The present application is proposed in view of the above problems. The present application provides a method, device, storage medium and product for allocating software licenses, which improves the production efficiency of enterprises and reduces the risk of project delays and direct costs of enterprises.
[0005] According to a first aspect of the present application, a method for allocating a software use license is provided, the method comprising:
[0006] Classifying a plurality of software use licenses into a general category and an emergency category, wherein any of the software use licenses belongs to one of the general category and the emergency category;
[0007] The general category software use license is issued to the user in priority to the emergency category software use license;
[0008] When all the general software licenses are occupied, the subsequent users use the emergency software licenses;
[0009] When all the software use licenses are occupied, subsequent users queue up to wait for the general category of software use licenses or apply to preempt the emergency category of software use licenses.
[0010] In one embodiment of the present application, the subsequent user applies to preempt the software use license of the emergency category, including:
[0011] Determine the task level of the subsequent user and the task level of the user who has occupied the software use license of the emergency category, and when it is determined that the task level of the subsequent user is higher than the task level of at least one user who has occupied the software use license of the emergency category, reclaim the software use license with the lowest task level among the users who have occupied the software use license of the emergency category and allocate it to the subsequent user;
[0012] When it is determined that the task level of the subsequent user is not higher than the task level of any user who has occupied the software use license of the emergency category, the application of the subsequent user is rejected.
[0013] In one embodiment of the present application, the subsequent user queues up to wait for the general category of software use license, including:
[0014] When there are more than one subsequent user, the user levels of all the subsequent users are obtained, and the level of the user level determines the queue order of the subsequent users;
[0015] The higher the user level of the subsequent user, the higher the priority of the queuing order.
[0016] In one embodiment of the present application, the user level is determined according to the user points, and the more points the user has, the higher the user level is;
[0017] The conditions for obtaining the user points include at least one of the following conditions:
[0018] The software license is actively released by the user after use;
[0019] During the use of the software license, the amount of data that the user interacts with the software backend within a first preset time period is greater than a preset quantity threshold;
[0020] During the use of the software use license, the length of time during which the user uses the software use license within a first preset period of time satisfies a preset condition.
[0021] In one embodiment of the present application, the preset conditions include:
[0022] The duration of using the software license during the first preset period is less than a preset duration threshold; and / or
[0023] The difference between the duration of use of the software use license in the first preset period of time and the duration of use of the software use license in the second preset period of time belongs to a preset difference range.
[0024] In one embodiment of the present application, the deduction conditions of the user points include:
[0025] During the use of the software use license, the amount of data that the user interacts with the software background within the first preset time period is less than a preset quantity threshold.
[0026] In one embodiment of the present application, when all the software use licenses of the general category are occupied, the subsequent user uses the software use license of the emergency category; including:
[0027] The subsequent user directly uses the software license of the emergency category; or,
[0028] The subsequent user submits an application for using the software use license of the emergency category, and when the application is approved, the subsequent user uses the software use license of the emergency category.
[0029] In one embodiment of the present application, the use of the emergency category software use license is limited-time use;
[0030] When the duration of use of the emergency software license by the user reaches a second preset duration range, the emergency software license is reclaimed; or,
[0031] Before the emergency software license is allocated, the application usage time of the user is obtained. When the time during which the user uses the emergency software license reaches the application usage time, the emergency software license is reclaimed.
[0032] In one embodiment of the present application, the allocation method further includes:
[0033] Performing heartbeat detection on the user who has obtained the software use license;
[0034] According to the result of the heartbeat detection, it is determined whether the user continues to use the software use license.
[0035] In one embodiment of the present application, the performing of heartbeat detection on the user who obtains the software use license includes:
[0036] Sending a session request to the user who has obtained the software use license;
[0037] The step of determining whether the user continues to use the software license according to the result of the heartbeat detection includes:
[0038] If the user responds to the session request within a preset time, the user can continue to use the software use license; if the user does not respond to the session request within the preset time, the software use license will be revoked.
[0039] According to a second aspect of the present application, an electronic device is provided, comprising a memory and a processor, wherein the memory stores a computer program executed by the processor, and when the computer program is executed by the processor, the device equipped with the processor executes the above-mentioned method for allocating software usage licenses.
[0040] According to a third aspect of the present application, a storage medium is provided, on which a computer program is stored. The computer program runs on a computer, and when the computer program is running, the computer executes the above-mentioned method for allocating software use licenses.
[0041] According to a fourth aspect of the present application, a computer program product is provided, including a computer program or instructions, wherein when the computer program or instructions are executed by a processor, the above-mentioned method for allocating a software use license is implemented.
[0042] The software license allocation method of the present application divides software licenses into general categories and emergency categories, and allocates software licenses to applicants in different ways according to the categories, thereby avoiding interruptions in the workflow and postponement of key tasks, thereby improving the production efficiency of the enterprise, reducing the risk of project delays and direct costs of the enterprise; and at the same time, it can also improve the work and life quality of employees. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] By describing the embodiments of the present application in more detail in conjunction with the accompanying drawings, the above and other purposes, features and advantages of the present application will become more apparent. The accompanying drawings are used to provide a further understanding of the embodiments of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the present application and do not constitute a limitation of the present application. In the accompanying drawings, the same reference numerals generally represent the same components or steps.
[0044] Figure 1 is a schematic block diagram of an electronic device used in the method for distributing a software use license according to an embodiment of the present application;
[0045] Figure 2 is a schematic flow chart of a method for allocating a software use license according to an embodiment of the present application;
[0046] Figure 3is a schematic flow chart of a method for allocating a software usage license according to another embodiment of the present application. DETAILED DESCRIPTION
[0047] In order to make the purpose, technical solutions and advantages of the present application more obvious, the example embodiments according to the present application will be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application, and it should be understood that the present application is not limited to the example embodiments described herein. Based on the embodiments of the present application described in the present application, all other embodiments obtained by those skilled in the art without creative work should fall within the scope of protection of the present application.
[0048] The existing method of allocating software licenses is to allocate them according to the application time, which leads to workflow interruptions and postponement of key tasks and projects, reduces production efficiency, and enterprises also face the problem of increased indirect costs due to project delays. This application proposes a method, device, storage medium and product for allocating software licenses, which are described in detail below.
[0049] First, refer to Figure 1 An exemplary electronic device 100 for implementing the method embodiment of the present application is described.
[0050] like Figure 1 As shown, the electronic device 100 includes a processor 110, a memory 120, and a communication interface 130. The processor 110, the memory 120, and the communication interface 130 can be interconnected and communicated via a communication bus 140 and / or other forms of connection mechanisms (not shown).
[0051] It should be noted that Figure 1 The components and structures of the electronic device 100 shown are merely exemplary and non-limiting. The electronic device may also have other components and structures as required.
[0052] Optionally, the communication interface 130 may also include a transmitter and / or a receiver.
[0053] The processor 110 may be a microcontroller unit (MCU), a central processing unit (CPU), a digital signal processor (DSP), a single-chip microcomputer and an embedded device, or other forms of processing units with data processing capabilities and / or instruction execution capabilities.
[0054] The memory 120 may be a computer-readable storage medium in various forms, such as a volatile memory and / or a non-volatile memory. Volatile memory may include, for example, a random access memory (RAM), a cache memory (cache), a synchronous dynamic random access memory (SDRAM), etc. Non-volatile memory may include, for example, a read-only memory (ROM), a hard disk, a flash memory (Flash), etc. One or more computer program instructions may also be stored on the computer-readable storage medium, and the memory 120 may run the program instructions to implement the method for allocating a software use license in the embodiments of the present application described below.
[0055] Next, refer to Figure 2 The method for distributing a software usage license according to an embodiment of the present application is described below.
[0056] like Figure 2 As shown, the present application provides a method for allocating a software license, which can be applied to a software server or to an independently set license allocation server, and specifically can include the following steps S210-S220.
[0057] In step S210, a plurality of software use licenses are divided into a general category and an emergency category, and any software use license belongs to one of the general category and the emergency category.
[0058] In this application, each software license belongs to only one category. Accordingly, among all software licenses, a certain proportion of software licenses can be set as emergency categories according to actual needs, and the remaining software licenses can be set as ordinary categories. For example, 2 of 10 software licenses are set as emergency categories, and the other 8 are set as ordinary categories.
[0059] In step S220, the general software use license is issued to the user with priority over the emergency software use license.
[0060] In this application, when the user applies, if both the general category and the emergency category software use license exist, the general category software use license is issued to the user. At this time, the general category software use license adopts the general authorization mode, that is, the mode of directly issuing to the user.
[0061] In step S230, when all the software use licenses of the general category are occupied, the subsequent user uses the software use license of the emergency category.
[0062] Specifically, subsequent users can directly use the software use license of the emergency category.
[0063] When a user applies for a software license, if only the emergency software license is available among the general and emergency software licenses, the emergency software license will be issued directly to the user. At this time, the emergency software license also adopts the general authorization mode.
[0064] Emergency software licenses can also be obtained through approval. That is, the subsequent user submits an application for the emergency software license. Once the application is approved, the subsequent user can use the emergency software license. At this time, the emergency software license adopts the approval mode.
[0065] In step S240, when all software use licenses are occupied, subsequent users queue up to wait for common software use licenses or apply to preempt emergency software use licenses.
[0066] When all software licenses are occupied, subsequent users will queue up to wait for general software licenses, which still use the general authorization mode. For example, when the task is a general task with no strict requirements on the processing time limit, users can choose to queue up to wait for general software licenses.
[0067] When all software licenses are occupied, subsequent users can also apply to preempt emergency software licenses, and emergency software licenses use emergency authorization mode. That is, when a task needs to be processed urgently and requires a software license, the user can apply to preempt emergency software licenses, and the software licenses in use will be forcibly released and issued to subsequent users.
[0068] Through two optional methods, the user's needs for different task processing can be met, allowing users to make choices based on actual conditions, thereby avoiding workflow interruptions and postponement of key tasks, as well as the occupation of software licenses.
[0069] The software license allocation method of the present application divides the software licenses into two categories and allocates the software licenses to users in different ways according to the categories, thereby avoiding the interruption of the workflow and the postponement of key tasks, thereby improving the production efficiency of the enterprise, reducing the risk of project delays and the direct costs of the enterprise; at the same time, it can also improve the quality of work and life of employees.
[0070] According to some embodiments of the present application, a subsequent user applies to preempt an emergency software use license, including:
[0071] Determine the task level of the subsequent user and the task level of the user who has occupied the software license of the emergency category. When it is determined that the task level of the subsequent user is higher than the task level of at least one user who has occupied the software license of the emergency category, the software license with the lowest task level among the users who have occupied the software license of the emergency category is recovered and allocated to the subsequent user;
[0072] When it is determined that the task level of the subsequent user is not higher than the task level of any user who has occupied the software use license of the emergency category, the application of the subsequent user is rejected.
[0073] Here, the user's task level can adopt a variety of division modes, and the task level can also be multi-level, such as level 2, level 3, level 5, etc., but not limited to this.
[0074] In this embodiment, when a subsequent user applies to preempt a software use license of the emergency category, it is necessary to determine the task level of the subsequent user and the task level of the user who has occupied the software use license of the emergency category. Therefore, the task level of the subsequent user and the task level of the user who has occupied the software use license of the emergency category are first obtained to determine the lowest task level of the user who has occupied the software use license of the emergency category. When it is determined that the task level of the subsequent user is higher than the task level of at least one user who has occupied the software use license of the emergency category, that is, the task level of the subsequent user is higher than the lowest task level of the user who has occupied the software use license of the emergency category, the software use license with the lowest task level among the users who have occupied the software use license of the emergency category is recovered and allocated to the subsequent user.
[0075] When it is determined that the task level of the subsequent user is not higher than the task level of any user who has occupied the emergency category software use license, that is, when the task level of the subsequent user is lower than or equal to the lowest task level of the users who have occupied the emergency category software use license, the subsequent user's application will be rejected.
[0076] By allowing subsequent users to preempt emergency software licenses based on task levels, it can be ensured that high-level tasks are executed first, avoiding interruptions to important workflows and delays to critical tasks, optimizing the usage time of software licenses, reducing waiting time, and thereby improving the company's production efficiency.
[0077] According to some embodiments of the present application, subsequent users queue up to wait for a general category of software use licenses, including:
[0078] When there are more than one subsequent user, the user levels of all subsequent users are obtained, and the user levels determine the queue order of the subsequent users;
[0079] The higher the user level of the subsequent user, the higher the priority in the queue.
[0080] In this embodiment, when allocating software licenses to users, if the number of available licenses is insufficient, the users are queued according to their user levels, and the licenses are allocated to the users in order of their levels.
[0081] By allocating licenses in the order of user levels, the needs of different users can be met and work efficiency can be improved.
[0082] According to some embodiments of the present application, the user level is determined based on the user points, so that the user can obtain points to improve his or her level when the points allocation conditions are met.
[0083] The more points a user has, the higher the user level. The conditions for obtaining user points may include at least one of the following conditions:
[0084] The conditions for obtaining user points may include that the software license is actively released by the user after use. Each time the user actively releases the resources after using the software license, that is, releases the software license in time after the software license is finished, the system will record the behavior and allocate certain points to the user, so that each time the software license is successfully released, the user can obtain certain points.
[0085] The conditions for obtaining user points may also include that during the use of the software use license, the amount of data that the user interacts with the software backend within a first preset time period is greater than a preset quantity threshold.
[0086] The first preset time range is a pre-set time length. Exemplarily, the first preset time range can be determined based on the average time that the user uses the software use license, such as 2 hours. When the user starts to use the software use license, the timer can be used to start timing. When the software use license is used for 2 hours or ends within 2 hours, the amount of data that the user interacts with the software background is counted. If the amount of data is greater than the preset quantity threshold, the user obtains points, otherwise, the user will not be able to obtain points.
[0087] In another implementation, the first preset time range may also be determined based on the total time of use of the current software license. For example, after the user has ended the use of the software license, the total time of use of the software license may be used as the first preset time range, and the amount of data that the user interacts with the software backend during the use of the software license is counted. If the amount of data is greater than a preset threshold, the user obtains points, otherwise, the user will not obtain points.
[0088] If the amount of data interacting with the software background within the first preset time period is greater than the preset quantity threshold, it means that the user uses the software license efficiently and actively during the usage time, such as working continuously for a long time without idleness, so the system can give certain points to encourage the user to work efficiently and intensively to reduce the waste of resources. Otherwise, it is judged as inefficient use, and the user can be given relevant prompts according to the situation.
[0089] The conditions for obtaining user points may also include that during the use of the software use license, the length of time the user uses the software use license within a first preset period of time meets a preset condition.
[0090] In a specific implementation, the preset condition that the length of time the user uses the software use license within the first preset period of time satisfies may include at least one of the following conditions:
[0091] The preset condition may include: the duration of using the software use license within the first preset period of time is less than a preset duration threshold.
[0092] For example, since the peak period of software use is usually from 8:00 to 16:00 on weekdays, the peak period from 8:00 to 16:00 can be used as the first preset period. The system can detect the duration of the user's use of the software license during the peak period within a certain period (1 day or 1 week, etc.), and give the user bonus points when the duration is less than the preset duration threshold, so as to reward the user for reducing the use of the software license during the peak period (in other words, to encourage the user to use the software license during non-peak hours).
[0093] The preset condition may further include: a difference between a duration of use of the software use license within the first preset period and a duration of use of the software use license within the second preset period falls within a preset difference range.
[0094] For example, other time periods outside the peak time period, i.e., non-peak time periods, can be used as the second preset time period. The preset difference range can be specifically limited according to actual conditions. For example, the difference range can be limited to an interval less than zero, so that when the difference between the duration of using the software use license in the first preset time period and the duration of using the software use license in the second preset time period is less than 0, i.e., the duration of use in the non-peak time period is longer than that in the peak time period, it can be determined that the user is using the software economically and a points reward can be given.
[0095] In a specific implementation, when the ratio of the duration of use of the software use license in the first preset time period to the duration of use of the software use license in the second preset time period is less than a preset value, for example 1, that is, the usage time in the peak period is shorter and the usage time in the non-peak period is longer; at this time, it can be determined that the user is using the software economically and a points reward can be given.
[0096] By limiting the difference range between the second time period and the first time period, the points reward rules can be further refined to improve the effect of the reward and the work efficiency of the user.
[0097] By rewarding users with points when the length of time they use the software license during the first preset time period meets the preset conditions, users can be guided to use the software license during off-peak hours, complete some work during non-peak hours, and actively reduce the time spent on the software license during peak hours, thereby leaving room for more users.
[0098] In a specific implementation, additional points rewards may be given to the user who has obtained the most points in a certain period of time. For example, points rewards may be given to the user who has obtained the most points every month or every quarter.
[0099] According to some embodiments of the present application, the deduction conditions of user points include:
[0100] During the use of the software license, the amount of data that the user interacts with the software background within a first preset time period is less than a preset quantity threshold.
[0101] In order to improve the efficiency of using the software license, points can be deducted from users who do not use the software efficiently. Whether it is "efficient use" can be determined by detecting the data interaction of the system background within a certain period of time. Specifically, when the amount of data that the user interacts with the software background within the first preset time period is greater than the preset quantity threshold, it means that the user has used the software license efficiently; when the amount of data that the user interacts with the software background within the first preset time period is less than the preset quantity threshold, it means that the user has not used the software license efficiently.
[0102] When the user does not use the software license efficiently during the usage time, the user's points can be deducted. On the contrary, when the user uses the software license efficiently during the usage time, the system can give certain points to encourage the user to concentrate on work during the use process and reduce the waste of resources.
[0103] In a specific implementation, the amount of data that a user interacts with the software background within the first preset time period can be determined through heartbeat detection. For example, an active session request can be sent to a user who is using a software license at a preset time interval, and the amount of data for one interaction can be determined based on the user's response information. Within the first preset time period, the user can perform multiple heartbeat detections with the software background, and the amount of data that the user interacts with the software background within the first preset time period can be determined.
[0104] In a specific implementation, if a user occupies the software license for a long time but does not perform actual work, such as leaving the computer for a long time or not operating in the software, or not interacting with the background data, the system will set it as abuse and record the number of abuses. When the number of abuses exceeds a certain number, the points will be deducted and the level will be lowered. If the number of abuses exceeds a certain number, the system can also record these behaviors and generate a report and send it to the relevant person in charge for follow-up and management.
[0105] By adopting a points-based reward and punishment measure, users can be encouraged to use licenses responsibly, improve work efficiency, and thus optimize license allocation.
[0106] According to some embodiments of the present application, the method for distributing a software use license further includes:
[0107] Conduct heartbeat detection on users who have obtained software licenses;
[0108] Based on the result of the heartbeat detection, it is decided whether the user continues to use the software license.
[0109] Specifically, the software system server can perform heartbeat detection with the license client that has applied for the software use license. If the heartbeat detection fails, the software system server reclaims the software use license allocated to the license client; if the heartbeat detection succeeds, the software system server allows the license client to continue using the software use license.
[0110] In a specific implementation, performing heartbeat detection on a user who has obtained a software use license includes: sending a session request to the user who has obtained the software use license.
[0111] For example, the software system server may send an active session request to the license client that is using the software license at a preset time interval to confirm its usage status, for example, once every 15 minutes to confirm whether the user is using the software license through a pop-up window.
[0112] In a specific implementation, determining whether the user continues to use the software license based on the heartbeat detection result includes:
[0113] If the user responds to the session request within the preset time, the user can continue to use the software license; if the user does not respond to the session request within the preset time, the software license will be revoked.
[0114] For example, if a response signal is received from the user clicking on a pop-up window, it means that the user is using the software and cannot retract the software license. The window will pop up again after 15 minutes until the user actively releases his software license. If no response signal is received from the user within a preset time period after the pop-up window, such as 5 minutes, the system will reclaim the software license.
[0115] Here, heartbeat detection may also be implemented using other existing methods, which will not be described in detail in this embodiment.
[0116] The recovered software licenses are redistributed in the manner described above.
[0117] It should be noted that the time interval for heartbeat detection and the time range for receiving a user response signal after a pop-up window appears can be set according to actual needs, and this embodiment does not specifically limit this.
[0118] Through the heartbeat detection, it is detected whether the software license is effectively used. When the heartbeat detection fails, it is considered that the software license is not effectively used, and the software license is promptly withdrawn, thereby ensuring the reasonable use of software license resources, greatly reducing idle software licenses, and improving resource allocation efficiency.
[0119] In a specific implementation, if the software license is revoked more than a certain number of times due to no response to the heartbeat detection, the system can send a warning notification message to remind the user to pay attention, or deduct his points.
[0120] According to some embodiments of the present application, the use of an emergency software use license is limited in time. When the time period during which the user uses the emergency software use license reaches a second preset time period, the emergency software use license is reclaimed; or, before the emergency software use license is allocated, the user's applied use time period is obtained. When the user uses the emergency software use license reaches the applied use time period, the emergency software use license is reclaimed.
[0121] The second preset time range for limited use here can be the maximum time allowed for the use of the emergency software license pre-set in the system. When the time for the user to use the emergency software license reaches the maximum time pre-set by the system, the emergency software license is recycled.
[0122] The time limit for limited use can also be the time limit for use applied by the user. For example, before an emergency software use license is allocated, the user needs to submit an application for use time at the same time as the application. The system obtains the application time for use by the user and issues the software use license to the user.
[0123] Exemplarily, the software system server may start a timing timer. After the timing timer expires, if the user has used the emergency software license for a period of time equal to the application period, the emergency software license is reclaimed.
[0124] Since emergency software licenses are limited in use, users can be urged to improve their work efficiency during the use of emergency software licenses and avoid delays in use; users can also be prevented from occupying software licenses for no reason due to forgetting to release them, thereby greatly reducing idle software licenses, improving resource allocation efficiency, and maximizing the use of existing resources.
[0125] The following combination Figure 3 The following is a flow chart of a method for distributing a software license according to an embodiment of the present application.
[0126] In this embodiment, there are 25 hosts in the local area network, corresponding to 25 users. The software to be used is 3D design auxiliary software, and the number of software licenses is 10. When all software licenses are occupied, there is a problem of competition for software use. To this end, this embodiment adopts the following method: Figure 3 The method shown comprises the following steps.
[0127] S1. Obtain the user's application for a software license.
[0128] S2. Determine the category of the software license to be allocated.
[0129] Specific methods include:
[0130] Determine whether the user applies for an emergency software license or queues for a general software license. Specifically, the user can submit a software license application through the software client. If so, the category of the software license is obtained, which is a general category or an emergency category.
[0131] S3. When it is an emergency category, the user's application usage time is obtained, and the software usage license is preempted according to the task level.
[0132] If the task priority of the subsequent user is higher, the current user will be prompted to save the progress within a limited time and release the resources, and the subsequent user will obtain the right to use. If the task priority of the subsequent user is lower, the request will be rejected.
[0133] Preferably, when making priority determinations during the process of allocating software licenses based on task levels, in order to prevent abuse of the emergency authorization mode, further confirmation information from preset personnel, such as approval information from the leader for the task, may be obtained before authorization can be made to ensure the authenticity of the application.
[0134] S4. Determine whether the usage time of the emergency software license reaches the application usage time. If so, go to step S8; if not, go to step S6.
[0135] In this embodiment, the emergency software license is limited in time, and the system setting only allows the user to use it within the application period. When the use period is reached, the license is recycled, thereby avoiding long-term occupation of resources.
[0136] S5. If it is a common category, the user level of the user is obtained, and the software license is allocated according to the user level. Specifically, when there are more than one subsequent user, they are sorted according to the user level. The higher the user level, the higher the priority in the queue. When there is a released software license, the released common category software license is allocated to the subsequent user with the highest ranking.
[0137] Here, the user can send the task level or user level to the 3D design auxiliary software system server through the software client, and the server obtains the user level of the user and the task level of the task to be performed.
[0138] S6. Perform heartbeat detection on the user.
[0139] S7, judging whether the heartbeat detection is passed, if the detection is passed, releasing the software use license after the use of the software use license ends; otherwise, going to step S8.
[0140] S8. Reclaim the software license.
[0141] The software license allocation method of this embodiment provides a mechanism for emergency use of software licenses, which can effectively respond to sudden demand peaks without interrupting normal operation, thereby effectively solving the utilization of limited resources and improving production efficiency; and it helps to guide employees to develop correct usage habits, which is conducive to enhancing team participation.
[0142] An embodiment of the present application further provides an electronic device, the electronic device comprising a memory and a processor, the memory storing a computer program executed by the processor, and when the computer program is executed by the processor, a device equipped with the processor executes the method for allocating a software usage license as described in any of the above embodiments.
[0143] The electronic device provided in the embodiment of the present application is used to execute the technical solution in any of the aforementioned method embodiments, and its implementation principle and technical effect are similar and will not be repeated here.
[0144] An embodiment of the present application further provides a storage medium, on which a computer program is stored. The computer program runs on a computer, and when the computer program runs, the computer executes the method for allocating a software use license in any of the above embodiments.
[0145] The storage medium provided in the embodiment of the present application is used to execute the technical solution in any of the aforementioned method embodiments, and its implementation principle and technical effect are similar and will not be repeated here.
[0146] The embodiment of the present application further provides a computer program product, including a computer program or instructions, which implement the above-mentioned method for allocating software use licenses when executed by a processor.
[0147] The computer program product provided in the embodiments of the present application is used to execute the technical solution in any of the aforementioned method embodiments. Its implementation principle and technical effects are similar and will not be repeated here.
[0148] Although example embodiments have been described herein with reference to the accompanying drawings, it should be understood that the above example embodiments are merely exemplary and are not intended to limit the scope of the present application to this. Those of ordinary skill in the art may make various changes and modifications therein without departing from the scope and spirit of the present application. All these changes and modifications are intended to be included within the scope of the present application as required by the appended claims.
[0149] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0150] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of the units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed.
[0151] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.
[0152] Similarly, it should be understood that in order to streamline the present application and help understand one or more of the various application aspects, in the description of the exemplary embodiments of the present application, the various features of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, the method of the present application should not be interpreted as reflecting the following intention: the claimed application requires more features than the features explicitly stated in each claim. More specifically, as reflected in the corresponding claims, the application point is that the corresponding technical problem can be solved with less than all the features of a single disclosed embodiment. Therefore, the claims following the specific embodiment are hereby expressly incorporated into the specific embodiment, wherein each claim itself serves as a separate embodiment of the present application.
[0153] It will be understood by those skilled in the art that, except for mutually exclusive features, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this specification may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature that provides the same, equivalent or similar purpose.
[0154] In addition, those skilled in the art will appreciate that, although some embodiments described herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the present application and form different embodiments. For example, in the claims, any one of the claimed embodiments can be used in any combination.
[0155] The various component embodiments of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all of the functions of some modules in the article analysis device according to the embodiment of the present application. The present application can also be implemented as a device program (e.g., computer program and computer program product) for executing part or all of the methods described herein. Such a program implementing the present application can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.
[0156] It should be noted that the above embodiments illustrate the present application rather than limit the present application, and that those skilled in the art may design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets should not be constructed as a limitation to the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of multiple such elements. The present application may be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In a unit claim that lists several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names.
[0157] The above is only a specific implementation or description of a specific implementation of the present application, and the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. The protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A method for distributing a software license, characterized in that: The allocation method includes: Classifying a plurality of software use licenses into a general category and an emergency category, wherein any of the software use licenses belongs to one of the general category and the emergency category; The general category software use license is issued to the user in priority to the emergency category software use license; When all the general software licenses are occupied, the subsequent users use the emergency software licenses; When all the software use licenses are occupied, subsequent users queue up to wait for the general category of software use licenses or apply to preempt the emergency category of software use licenses.
2. The method for distributing a software license according to claim 1, wherein: The subsequent user applies to preempt the software use license of the emergency category, including: Determine the task level of the subsequent user and the task level of the user who has occupied the software use license of the emergency category, and when it is determined that the task level of the subsequent user is higher than the task level of at least one user who has occupied the software use license of the emergency category, reclaim the software use license with the lowest task level among the users who have occupied the software use license of the emergency category and allocate it to the subsequent user; When it is determined that the task level of the subsequent user is not higher than the task level of any user who has occupied the software use license of the emergency category, the application of the subsequent user is rejected.
3. The method for distributing a software license according to claim 1, wherein: The subsequent users waiting in line for the general category of software use licenses include: When there are more than one subsequent user, the user levels of all the subsequent users are obtained, and the level of the user level determines the queue order of the subsequent users; The higher the user level of the subsequent user, the higher the priority of the queuing order.
4. The method for distributing a software license according to claim 3, wherein: The user level is determined according to the user points, and the more points the user has, the higher the user level is; The conditions for obtaining the user points include at least one of the following conditions: The software license is actively released by the user after use; During the use of the software license, the amount of data that the user interacts with the software backend within a first preset time period is greater than a preset quantity threshold; During the use of the software use license, the length of time during which the user uses the software use license within a first preset period of time satisfies a preset condition.
5. The method for distributing a software license according to claim 4, wherein: The preset conditions include: The duration of using the software license during the first preset period is less than a preset duration threshold; and / or The difference between the duration of use of the software use license in the first preset period of time and the duration of use of the software use license in the second preset period of time belongs to a preset difference range.
6. The method for distributing a software license according to claim 4, wherein: The deduction conditions for the user points include: During the use of the software use license, the amount of data that the user interacts with the software background within the first preset time period is less than a preset quantity threshold.
7. The method for distributing a software license according to claim 1, wherein: When all the general software licenses are occupied, the subsequent user uses the emergency software license; including: The subsequent user directly uses the software license of the emergency category; or, The subsequent user submits an application for using the software use license of the emergency category, and when the application is approved, the subsequent user uses the software use license of the emergency category.
8. The method for distributing a software license according to claim 1, wherein: The use of the software license of the emergency category is limited in time; When the duration of use of the emergency software license by the user reaches a second preset duration range, the emergency software license is reclaimed; or, Before the emergency software license is allocated, the application usage time of the user is obtained. When the time during which the user uses the emergency software license reaches the application usage time, the emergency software license is reclaimed.
9. The method for distributing a software license according to any one of claims 1 to 8, characterized in that: The allocation method further comprises: Performing heartbeat detection on the user who has obtained the software use license; According to the result of the heartbeat detection, it is determined whether the user continues to use the software use license.
10. The method for distributing a software license according to claim 9, wherein: The performing of heartbeat detection on the user who has obtained the software use license includes: Sending a session request to the user who has obtained the software use license; The step of determining whether the user continues to use the software license according to the result of the heartbeat detection includes: If the user responds to the session request within a preset time, the user can continue to use the software use license; if the user does not respond to the session request within the preset time, the software use license will be revoked.
11. An electronic device, characterized in that: The electronic device includes a memory and a processor, wherein the memory stores a computer program executed by the processor, and when the computer program is executed by the processor, the device equipped with the processor executes the method for distributing a software use license according to any one of claims 1 to 10.
12. A storage medium, characterized in that: The storage medium stores a computer program, which runs on a computer. When the computer program is running, the computer executes the method for distributing a software license according to any one of claims 1 to 10.
13. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the method for distributing a software use license according to any one of claims 1 to 10 is implemented.