CN116561713A - License dynamic allocation management method and system based on database - Google Patents
License dynamic allocation management method and system based on database Download PDFInfo
- Publication number
- CN116561713A CN116561713A CN202310565305.6A CN202310565305A CN116561713A CN 116561713 A CN116561713 A CN 116561713A CN 202310565305 A CN202310565305 A CN 202310565305A CN 116561713 A CN116561713 A CN 116561713A
- Authority
- CN
- China
- Prior art keywords
- license
- current
- function
- current license
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 221
- 238000005070 sampling Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 19
- 230000010365 information processing Effects 0.000 claims description 13
- 238000013075 data extraction Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention provides a license dynamic allocation management method and system based on a database, wherein the method comprises the following steps: periodically collecting license information at regular time; storing license information to a database table; acquiring a user request, calling license information in a database table as current license based on the user request, and determining the total amount of the current license function, the current license function usage amount and the current license function user based on the current license; judging whether the total quantity of the current license function, the current license function usage quantity and the current license function user meet the license usage condition or not, and distributing the current license to the EDA tool based on the judging result. The method realizes accurate regulation and control of the license, and ensures timeliness of dynamic allocation of the license.
Description
Technical Field
The invention relates to the technical field of license dynamic allocation management, in particular to a database-based license dynamic allocation management method and a database-based license dynamic allocation management system.
Background
In recent years, with the large-scale development of the integrated circuit design industry, the use demand of EDA software is increasing, and EDA (electronic design automation) software is generally monopolized by several large vendors abroad, and license is very expensive. license means a license for specifying and limiting the rights of software users to use the software, EDA software generally uses floating licenses, which means that the license is shared with resources under the same network, and is shared in turn by a large number of users under limited software licenses on a first-come-first-served basis. The advantages of the floating license are the resource sharing advantage of the software and the flexibility of license use, but most enterprises do not have a complete license management scheme and license optimization consciousness when facing the price of the legal license, so that users can occupy license resources when using the software, and the license cannot be efficiently utilized.
Secondly, due to the fact that software for carrying out basic management on the license lacks the scheduling capability of the license, invalid occupation time of the license is long, dynamic adjustment cannot be carried out, the number of the license is wasted, and the operation cost of a company is increased; and accurate prediction and regulation of license cannot be performed.
Disclosure of Invention
Therefore, the technical scheme of the invention mainly solves the defects that the accurate prediction and regulation cannot be realized and the timeliness is poor in the dynamic allocation mode of predicting by the data statistics model and the service flow in the existing license scheduling method, thereby providing a database-based license dynamic allocation management method and system.
In a first aspect, an embodiment of the present invention provides a license dynamic allocation management method based on a database, including:
periodically collecting license information at regular time; wherein, license information includes: license function name, license function total amount, license function usage amount, and license function user;
storing the license information into a database table;
acquiring a user request, calling license information in the database table as current license based on the user request, and determining the total amount of the current license function, the current license function usage amount and the current license function user based on the current license;
and judging whether the total quantity of the current license function, the current license function usage amount and the current license function user meet license use conditions or not, and distributing the current license to the EDA tool based on a judging result.
According to the license dynamic allocation management method based on the database, license function names, total license function amounts, license function usage amounts and license function user data in the extracted license information are stored in the database table, and based on the information in the database table, the license function usage amounts and license function users corresponding to the license can be accurately positioned based on user requests, so that the license can be accurately regulated and controlled; and because license information is periodically acquired at regular time, the data sampling amount is large, near-real-time information can be obtained, and the timeliness of dynamic license allocation is ensured.
With reference to the first aspect, in one possible implementation manner, the periodically collecting license information includes:
and periodically collecting the license information at regular time by using a sampling information processing script.
With reference to the first aspect, the determining whether the current license function total amount, the current license function usage amount, and the current license function user satisfy the license usage condition, and allocating the current license to the EDA tool based on the determination result includes:
comparing the current license function usage amount with the current license function total amount, and determining a license function user occupying the current license most based on the current license function user when the current license function usage amount reaches the current license function total amount;
sending removal information to the license function user occupying the most current license; the removal information is used for judging whether to remove the current license or not;
and acquiring feedback information of a license function user occupying the most current license, and removing the current license to start the EDA tool when the feedback information is that the current license is removed.
With reference to the first aspect, in another possible implementation manner, the determining whether the current license function total amount, the current license function usage amount, and the current license function user satisfy the license usage condition, assigning the current license to the EDA tool based on the determination result, further includes:
and when the current license function usage amount is smaller than the total amount of the current license function, distributing the current license to an EDA tool so as to start the EDA tool.
In a second aspect, an embodiment of the present invention further provides a license dynamic deployment management system based on a database, including:
the data extraction module is used for periodically collecting license information at regular time; wherein, license information includes: license function name, license function total amount, license function usage amount, and license function user;
the data storage module is used for storing the license information into a database table;
the data query module is used for acquiring a user request, calling license information in the database table based on the user request to serve as current license, and determining the total amount of the current license function, the current license function usage amount and the current license function user based on the current license;
and the data allocation module is used for judging whether the total quantity of the current license function, the current license function usage quantity and the current license function user meet license use conditions or not, and allocating the current license to the EDA tool based on a judgment result.
With reference to the second aspect, in another possible implementation manner, the data extraction module is specifically configured to periodically collect the license information with a sampling information processing script timing
With reference to the second aspect, in another possible implementation manner, the data deployment module includes:
a comparison unit, configured to compare the current license function usage amount with the current license function total amount, and determine, based on the current license function user, a license function user occupying the current license most when the current license function usage amount reaches the current license function total amount;
the judging unit is used for sending removal information to the license function user occupying the current license at most; the removal information is used for judging whether to remove the current license or not;
and the removing unit is used for acquiring feedback information of a license function user occupying the most current license, and removing the current license when the feedback information is that the current license is removed, so as to start the EDA tool.
With reference to the second aspect, in another possible implementation manner, the data deployment module further includes:
and the distribution unit is used for distributing the current license to the EDA tool so as to start the EDA tool when the current license function usage amount is smaller than the current license function total amount.
In a third aspect, an embodiment of the present invention further discloses an electronic device, including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to cause the at least one processor to perform the steps of the database-based license dynamic deployment management method according to the first aspect or any optional implementation of the first aspect.
In a fourth aspect, the present invention further discloses a computer readable storage medium, on which a computer program is stored, where the computer program implements the steps of the database-based license dynamic deployment management method according to the first aspect or any optional embodiment of the first aspect when the computer program is executed by a processor.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings that are needed in the description of the embodiments or the prior art will be briefly described, and it is obvious that the drawings in the description below are some embodiments of the present invention, and other drawings can be obtained according to the drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flowchart of a database-based license dynamic deployment management method according to an embodiment of the present invention;
FIG. 2 is a flowchart of license data extraction according to an embodiment of the present invention;
fig. 3 is a flowchart of S104 provided in an embodiment of the present invention;
FIG. 4 is a schematic diagram of a database-based license dynamic deployment management method according to an embodiment of the present invention;
fig. 5 is a schematic diagram of data interaction in a license dynamic deployment management system based on a database according to an embodiment of the present invention;
FIG. 6 is a block diagram of a database-based license dynamic deployment management system provided by an embodiment of the present invention;
FIG. 7 is a block diagram of a data deployment module 64 provided in an embodiment of the present invention;
fig. 8 is a diagram illustrating an embodiment of an electronic device according to the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made apparent and fully in view of the accompanying drawings, in which some, but not all embodiments of the invention are shown. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
In the description of the present invention, it should be noted that the terms "first," "second," and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. In addition, unless explicitly stated or limited otherwise, the terms "mounted," "connected," "coupled," and "connected" are to be construed broadly, and may be, for example, fixedly connected, mechanically connected, or electrically connected; or can be directly connected, or can be indirectly connected through an intermediate medium, or can be communication between the two elements, or can be wireless connection or wired connection. The specific meaning of the above terms in the present invention will be understood in specific cases by those of ordinary skill in the art.
The embodiment of the invention provides a license dynamic allocation management method based on a database, which is shown in fig. 1 and comprises the following steps:
s101, periodically collecting license information at fixed time; wherein the license information includes license function (feature) name, total amount of each license function, usage amount of each license function, and user of each license function.
Specifically, the license information is periodically collected at regular time by using a sampling information processing script.
Further, by a management command lmstat of FlexLM software (a license management software), license information is collected by using a command lmstat-a-report@server, the command is executed as a periodic task, the license information is processed by a sampling information processing script, and license function names, total license function amounts, license function usage amounts and license function users in the license information are extracted.
Further, as shown in fig. 2, the sample information processing script generally performs text type operation by using commands carried in Linux Shell (a command interpreter) such as cat (real-time application monitoring platform), grep (text searching tool), awk (text processing tool), and the like, and matching with a loop function such as if, for, while; the process of extracting license function name, total license function amount, license function usage amount and license function user in the license information by using the sampling information processing script comprises the following steps: firstly, extracting license function names, writing the license function names into a database table, then extracting the total license function amount, writing the total license function amount into the database table in sequence, further periodically sampling at regular time, and writing the license function usage amount and the license function user during sampling into the database table; wherein each license function name has its corresponding license function total amount, license function usage amount, and license function user.
S102, storing the license information into a database table.
S103, acquiring a user request, calling license information in the database table based on the user request to serve as current license, and determining the total amount of the current license function, the current license function usage amount and the current license function user based on the current license.
S104, judging whether the total quantity of the current license function, the current license function usage quantity and the current license function user meet the license usage condition or not, and distributing the current license to the EDA tool based on a judgment result.
According to the license dynamic allocation management method based on the database, license function names, total license function amounts, used license function amounts and used license function person data in the extracted license information are stored in a database table, based on the information in the database table, the used license function amounts and used license function persons corresponding to the license can be accurately positioned based on a user request, and therefore accurate regulation and control can be performed on the license; and because license information is periodically acquired at regular time, the data sampling amount is large, near-real-time information can be obtained, and the timeliness of dynamic license allocation is ensured.
As an alternative embodiment of the present invention, as shown in fig. 3, the step S104 of determining whether the total current license function amount, the current license function usage amount, and the current license function user satisfy the license usage condition, and allocating the current license to the EDA tool based on the determination result includes:
s1041, comparing the current license function usage amount with the current license function total amount, and determining the license function user occupying the most current license based on the current license function user when the current license function usage amount reaches the current license function total amount.
Specifically, when the user starts the EDA tool, obtaining a user request, retrieving a required license function name in a database table based on the user request, then checking the usage amount of the corresponding license function (i.e. the current license function usage amount), and then checking the usage amount of the corresponding license function, and if the total license function amount (i.e. the current license function amount) is not reached, directly starting the EDA tool; if the total license function amount is reached, the corresponding user is continuously queried in the database table, the user finds the most user in a counting mode, and then the popup program directly finds the user.
S1042, transmitting removal information to the license function user occupying the most current license; the removal information is used for judging whether to remove the current license.
Specifically, the user is notified by using a popup window in the working window of the license function user occupying the most current license (i.e., the license function user occupying the most current license), and license information in the user occupancy is displayed in the popup window.
S1043, obtaining feedback information of the license function user occupying the most current license, and when the feedback information is that the current license is removed, removing the current license to start the EDA tool.
Specifically, the license function user occupying the most current license judges whether to remove the license which is not used any more, if so, clicks the license information, further acquires the feedback information and removes the license; the license is successfully removed, the license resource is released, and the EDA tool of the user is successfully started.
Further, if the license function user occupying the most current license judges that the license is used and chooses not to remove, the task of the user continues to wait for a sampling period, then searches the database table corresponding to the next sampling period for license information, judges whether the license resource is enough, and repeats the steps S1041-S4043 until enough license information can be allocated and EDA tools are started.
As an optional embodiment of the present invention, the step S104 of determining whether the total current license function amount, the current license function usage amount, and the current license function user satisfy the license usage condition, and allocating the current license to the EDA tool based on the determination result, further includes:
and when the current license function usage amount is smaller than the total amount of the current license function, the current license is allocated to the EDA tool so as to start the EDA tool.
As shown in FIG. 4, a database-based license dynamic deployment management method is described below by way of one specific embodiment.
Example 1:
as shown in fig. 5, the license dynamic deployment management system based on the database comprises the following modules: a) The data extraction module is used for acquiring license information at fixed time and processing data; b) The data storage module is used for storing the data processed by the data extraction module; c) A client terminal module; d) The data query module is used for performing data query operation on the data storage module when the client terminal module sends a request; e) The information notification module (i.e. the judging unit) is used for notifying the user when the license is insufficient after the data query; f) And the information processing module (namely a removing unit) is used for judging and removing license use by a user after the information notifying module.
And periodically extracting real-time license use state information through a management command lmstat of the FlexLM software, performing data processing, extracting license function names in the license, the total number of each license function, the use amount of each license function, the use person of each license function and other information are stored in a database.
Whenever user 1 starts the EDA tool, it first queries the database for the desired license information and determines if the desired license for starting the EDA tool is sufficient.
If there are enough license resources, then the EDA tool is successfully started by allocating the needed license resources for the EDA tool.
If there are not enough license resources, the user 2 with the most needed license is continuously queried in the database.
User 2 is then notified by way of a pop-up window in the user's 2 work window, and license usage information in the user's 2 occupancy is displayed in the pop-up window.
The user 2 judges whether to remove the license which is not used any more, if so, clicks the license information, and the background system processes and removes the license.
The license is successfully removed, the license resource is released, and the EDA tool of the user 1 is successfully started.
If the user 2 confirms that the License is in use and closes the popup window, the task of the user 1 continues to query the database table after waiting for 60 seconds, and the judgment and operation are repeated.
The embodiment of the invention also discloses a license dynamic allocation management system based on the database, as shown in fig. 6, comprising:
the data extraction module 61 is used for periodically collecting license information at regular time; wherein, the license information includes license function name, total license function amount, license function usage amount and license function user.
Specifically, the license information is periodically collected at regular time by using a sampling information processing script.
Further, by a management command lmstat of the FlexLM software, the license information is collected by using a command lmstat-a-report@server, the command is executed as a periodic task, the license information is processed by a sampling information processing script, and a license function (license function) name, a total amount of each license function, a usage amount of each license function and a user of each license function in the license information are extracted.
Further, the sample information processing script generally performs text type operation by using commands carried by Linux Shell (a command interpreter) such as cat (real-time application monitoring platform), grep (text searching tool), awk (text processing tool) and the like, and matching with a cyclic function such as if, for, while and the like; the process of extracting license function name, total license function amount, license function usage amount and license function user in the license information by using the sampling information processing script comprises the following steps: firstly, extracting license function names, writing the license function names into a database table, then extracting the total license function amount, writing the total license function amount into the database table in sequence, further periodically sampling at regular time, and writing the license function usage amount and the license function user during sampling into the database table; wherein each license function name has its corresponding license function total amount, license function usage amount, and license function user.
And the data storage module 62 is used for storing the license information into a database table.
And a data query module 63, configured to obtain a user request, call license information in the database table as a current license based on the user request, and determine a current license function total amount, a current license function usage amount, and a current license function user based on the current license.
The data allocating module 64 is configured to determine whether the total current license function amount, the current license function usage amount, and the current license function user satisfy the license usage condition, and allocate the current license to the EDA tool based on the determination result.
The license dynamic allocation management system based on the database stores the license function name, the total quantity of each license function, the usage quantity of each license function and the data of each license function user in the extracted license information into the database table, and based on the information in the database table, the license function usage quantity and the license function user corresponding to the license can be accurately positioned based on the user request, so that the license can be accurately regulated and controlled; and because license information is periodically acquired at regular time, the data sampling amount is large, near-real-time information can be obtained, and the timeliness of dynamic license allocation is ensured.
As an alternative embodiment of the present invention, as shown in fig. 7, the data allocating module 64 includes:
and a comparing unit 641 for comparing the current license function usage amount with the current license function total amount, and determining a license function user occupying the largest current license based on the current license function user when the current license function usage amount reaches the current license function total amount.
Specifically, when the user starts the EDA tool, obtaining a user request, retrieving a required license function name in a database table based on the user request, then checking the usage amount of the corresponding license function (i.e. the current license function usage amount), and then checking the usage amount of the corresponding license function, and if the total license function amount (i.e. the current license function amount) is not reached, directly starting the EDA tool; if the total license function amount is reached, the corresponding user is continuously queried in the database table, the user finds the most user in a counting mode, and then the popup program directly finds the user.
A judging unit 642 configured to send removal information to the license function user occupying the most current license; the removal information is used for judging whether to remove the current license.
Specifically, the user is notified by using a popup window in the working window of the license function user occupying the most current license (i.e., the license function user occupying the most current license), and license information in the user occupancy is displayed in the popup window.
And a removing unit 643, configured to obtain feedback information of a license function user occupying the most current license, and remove the current license to start the EDA tool when the feedback information is that the current license is removed.
Specifically, the license function user occupying the most current license judges whether to remove the license which is not used any more, if so, clicks the license information, further acquires the feedback information and removes the license; the license is successfully removed, the license resource is released, and the EDA tool of the user is successfully started.
Further, if the license function user occupying the most current license judges that the license is used and chooses not to remove, the task of the user continues to wait for a sampling period, then searches the database table corresponding to the next sampling period for license information, judges whether the license resource is enough, and repeats the steps S1041-S4043 until enough license information can be allocated and EDA tools are started.
As an alternative embodiment of the present invention, the data allocating module 64 further includes:
and the distribution unit is used for distributing the current license to the EDA tool to start the EDA tool when the current license function usage amount is smaller than the total current license function amount.
In addition, an electronic device is provided in an embodiment of the present invention, as shown in fig. 8, where the electronic device may include a processor 110 and a memory 120, where the processor 110 and the memory 120 may be connected by a bus or other manner, and in fig. 8, the connection is exemplified by a bus. In addition, the electronic device further includes at least one interface 130, where the at least one interface 130 may be a communication interface or other interfaces, and the embodiment is not limited thereto.
The processor 110 may be a central processing unit (Central Processing Unit, CPU). The processor 110 may also be other general purpose processors, digital signal processors (Digital Signal Processor, DSPs), application specific integrated circuits (Application Specific Integrated Circuit, ASICs), field programmable gate arrays (Field-Programmable Gate Array, FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or a combination of the above.
The memory 120 is used as a non-transitory computer readable storage medium for storing non-transitory software programs, non-transitory computer executable programs, and modules, such as program instructions/modules corresponding to the video compositing method according to the embodiments of the present invention. The processor 110 executes various functional applications and data processing of the processor by running non-transitory software programs, instructions and modules stored in the memory 120, i.e., implementing the database-based license dynamic deployment management method in the method embodiment described above.
Memory 120 may include a storage program area that may store an operating system, at least one application program required for functionality, and a storage data area; the storage data area may store data created by the processor 110, etc. In addition, memory 120 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, memory 120 may optionally include memory located remotely from processor 110, which may be connected to processor 110 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
In addition, at least one interface 130 is used for communication of the electronic device with external devices, such as with a server or the like. Optionally, at least one interface 130 may also be used to connect peripheral input, output devices, such as a keyboard, display screen, etc.
The one or more modules are stored in the memory 120 and when executed by the processor 110, perform the database-based license dynamic deployment management method of the embodiment shown in fig. 1.
The specific details of the electronic device may be understood correspondingly with respect to the corresponding related descriptions and effects in the embodiment shown in fig. 1, which are not repeated herein.
It will be appreciated by those skilled in the art that implementing all or part of the above-described embodiment method may be implemented by a computer program to instruct related hardware, where the program may be stored in a computer readable storage medium, and the program may include the above-described embodiment method when executed. The storage medium may be a magnetic Disk, an optical disc, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a Flash Memory (Flash Memory), a Hard Disk (HDD), a Solid State Drive (SSD), or the like; the storage medium may also comprise a combination of memories of the kind described above.
It is apparent that the above examples are given by way of illustration only and are not limiting of the embodiments. Other variations or modifications of the above teachings will be apparent to those of ordinary skill in the art. It is not necessary here nor is it exhaustive of all embodiments. While still being apparent from variations or modifications that may be made by those skilled in the art are within the scope of the invention.
Claims (10)
1. The license dynamic allocation management method based on the database is characterized by comprising the following steps:
periodically collecting license information at regular time; wherein the license information includes license function names, license function total amounts, license function usage amounts, and license function users;
storing the license information into a database table;
acquiring a user request, calling license information in the database table as current license based on the user request, and determining the total amount of the current license function, the current license function usage amount and the current license function user based on the current license;
and judging whether the total quantity of the current license function, the current license function usage amount and the current license function user meet license use conditions or not, and distributing the current license to the EDA tool based on a judging result.
2. The database-based license dynamic allocation management method according to claim 1, wherein the periodically collecting license information includes:
and periodically collecting the license information at regular time by using a sampling information processing script.
3. The database-based license dynamic allocation management method according to claim 1, wherein the determining whether the current license function total amount, the current license function usage amount, and the current license function user satisfy license usage conditions, and allocating the current license to the EDA tool based on the determination result, comprises:
comparing the current license function usage amount with the current license function total amount, and determining a license function user occupying the current license most based on the current license function user when the current license function usage amount reaches the current license function total amount;
sending removal information to the license function user occupying the most current license; the removal information is used for judging whether to remove the current license or not;
and acquiring feedback information of a license function user occupying the most current license, and removing the current license to start the EDA tool when the feedback information is that the current license is removed.
4. The database-based license dynamic allocation management method according to claim 3, wherein said determining whether the total amount of the current license function, the current license function usage amount, and the current license function user satisfy license usage conditions, allocating the current license to the EDA tool based on the determination result, further comprises:
and when the current license function usage amount is smaller than the total amount of the current license function, distributing the current license to an EDA tool so as to start the EDA tool.
5. The license dynamic allocation management system based on the database is characterized by comprising the following components:
the data extraction module is used for periodically collecting license information at regular time; wherein, license information includes: license function name, license function total amount, license function usage amount, and license function user;
the data storage module is used for storing the license information into a database table;
the data query module is used for acquiring a user request, calling license information in the database table based on the user request to serve as current license, and determining the total amount of the current license function, the current license function usage amount and the current license function user based on the current license;
and the data allocation module is used for judging whether the total quantity of the current license function, the current license function usage quantity and the current license function user meet license use conditions or not, and allocating the current license to the EDA tool based on a judgment result.
6. The database-based license dynamic allocation management system according to claim 5, wherein the data extraction module is specifically configured to periodically collect the license information at regular time by using a sampling information processing script.
7. The database-based license dynamic provisioning management system of claim 5, wherein the data provisioning module comprises:
a comparison unit, configured to compare the current license function usage amount with the current license function total amount, and determine, based on the current license function user, a license function user occupying the current license most when the current license function usage amount reaches the current license function total amount;
the judging unit is used for sending removal information to the license function user occupying the current license at most; the removal information is used for judging whether to remove the current license or not;
and the removing unit is used for acquiring feedback information of a license function user occupying the most current license, and removing the current license when the feedback information is that the current license is removed, so as to start the EDA tool.
8. The database-based license dynamic provisioning management system of claim 5, wherein the data provisioning module further comprises:
and the distribution unit is used for distributing the current license to the EDA tool so as to start the EDA tool when the current license function usage amount is smaller than the current license function total amount.
9. An electronic device comprising a processor and a memory, the memory coupled to the processor;
the memory has stored thereon computer readable program instructions which, when executed by the processor, implement the method of any of claims 1 to 4.
10. A computer readable storage medium, on which a computer program is stored, which computer program, when being executed by a processor, implements the method according to any of claims 1 to 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310565305.6A CN116561713B (en) | 2023-05-18 | 2023-05-18 | License dynamic allocation management method and system based on database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310565305.6A CN116561713B (en) | 2023-05-18 | 2023-05-18 | License dynamic allocation management method and system based on database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116561713A true CN116561713A (en) | 2023-08-08 |
CN116561713B CN116561713B (en) | 2024-03-19 |
Family
ID=87497947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310565305.6A Active CN116561713B (en) | 2023-05-18 | 2023-05-18 | License dynamic allocation management method and system based on database |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116561713B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200521670A (en) * | 2003-12-18 | 2005-07-01 | Inventec Corp | Usage-amount monitoring system of software and method thereof |
US20120150812A1 (en) * | 2010-12-13 | 2012-06-14 | Microsoft Corporation | Content license storage |
CN103279696A (en) * | 2013-06-03 | 2013-09-04 | 中国科学院微电子研究所 | License monitoring method and system of EDA (electronic design automation) software |
CN108718327A (en) * | 2018-04-03 | 2018-10-30 | 北京景行锐创软件有限公司 | A kind of license resources dispatching method and system |
CN113239327A (en) * | 2021-04-27 | 2021-08-10 | 深圳中广核工程设计有限公司 | Method, apparatus, computer device and storage medium for monitoring software licenses |
-
2023
- 2023-05-18 CN CN202310565305.6A patent/CN116561713B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200521670A (en) * | 2003-12-18 | 2005-07-01 | Inventec Corp | Usage-amount monitoring system of software and method thereof |
US20120150812A1 (en) * | 2010-12-13 | 2012-06-14 | Microsoft Corporation | Content license storage |
CN103279696A (en) * | 2013-06-03 | 2013-09-04 | 中国科学院微电子研究所 | License monitoring method and system of EDA (electronic design automation) software |
CN108718327A (en) * | 2018-04-03 | 2018-10-30 | 北京景行锐创软件有限公司 | A kind of license resources dispatching method and system |
CN113239327A (en) * | 2021-04-27 | 2021-08-10 | 深圳中广核工程设计有限公司 | Method, apparatus, computer device and storage medium for monitoring software licenses |
Also Published As
Publication number | Publication date |
---|---|
CN116561713B (en) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832126B (en) | Thread adjusting method and terminal thereof | |
CN108536526B (en) | Resource management method and device based on programmable hardware | |
WO2020228177A1 (en) | Batch data processing method and apparatus, computer device and storage medium | |
WO2021227677A1 (en) | Scene pushing method, scene executing method, scene pushing device, scene executing device, terminal, server, and system | |
WO2017167050A1 (en) | Configuration information generation and transmission method, and resource loading method, apparatus and system | |
US20180011743A1 (en) | Job scheduling management | |
CN110471749B (en) | Task processing method, device, computer readable storage medium and computer equipment | |
CN110134738B (en) | Distributed storage system resource estimation method and device | |
CN110147470B (en) | Cross-machine-room data comparison system and method | |
CN110609745A (en) | Method and device for executing job task, electronic equipment and storage medium | |
CN112115160B (en) | Query request scheduling method and device and computer system | |
CN111191777A (en) | Neural network processor and control method thereof | |
CN112506619A (en) | Job processing method, apparatus, electronic device, storage medium, and program product | |
CN113886069A (en) | Resource allocation method and device, electronic equipment and storage medium | |
CN114817050A (en) | Task execution method and device, electronic equipment and computer readable storage medium | |
CN110347546B (en) | Dynamic adjustment method, device, medium and electronic equipment for monitoring task | |
CN116069500A (en) | Model training task processing method and device, electronic equipment and readable medium | |
CN116561713B (en) | License dynamic allocation management method and system based on database | |
CN103729417A (en) | Method and device for data scanning | |
CN110543509B (en) | Monitoring system, method and device for user access data and electronic equipment | |
CN110046319B (en) | Social media information acquisition method, device, system, equipment and storage medium | |
CN117290093A (en) | Resource scheduling decision method, device, equipment, medium and program product | |
CN106681810A (en) | Task docking processing customized management method, device and electronic equipment | |
CN110209466B (en) | Resource allocation method, resource allocation device and storage medium | |
CN114090268B (en) | Container management method and container management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |