CN116561713B - License dynamic allocation management method and system based on database - Google Patents

License dynamic allocation management method and system based on database Download PDF

Info

Publication number
CN116561713B
CN116561713B CN202310565305.6A CN202310565305A CN116561713B CN 116561713 B CN116561713 B CN 116561713B CN 202310565305 A CN202310565305 A CN 202310565305A CN 116561713 B CN116561713 B CN 116561713B
Authority
CN
China
Prior art keywords
license
function
current
information
current license
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.)
Active
Application number
CN202310565305.6A
Other languages
Chinese (zh)
Other versions
CN116561713A (en
Inventor
蔡振江
杨天波
李克兵
顾凯宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hexin Technology Co ltd
Hexin Technology Suzhou Co ltd
Original Assignee
Hexin Technology Co ltd
Hexin Technology Suzhou Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hexin Technology Co ltd, Hexin Technology Suzhou Co ltd filed Critical Hexin Technology Co ltd
Priority to CN202310565305.6A priority Critical patent/CN116561713B/en
Publication of CN116561713A publication Critical patent/CN116561713A/en
Application granted granted Critical
Publication of CN116561713B publication Critical patent/CN116561713B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

License dynamic allocation management method and system based on database
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 (6)

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;
judging whether the total quantity of the current license function, the current license function usage quantity and the current license function user meet license usage conditions or not, and distributing the current license to an EDA tool based on a judging result;
the step of judging whether the total current license function amount, the current license function usage amount and the current license function user meet license usage conditions or not, and distributing the current license to the EDA tool based on the judgment result comprises the following steps:
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;
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; 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 the license information is queried in a database table corresponding to the next sampling period, whether license resources are enough or not is judged, until enough license information can be allocated, and an EDA tool is started;
the periodic license information acquisition of the timing includes:
periodically collecting the license information at regular time by utilizing a sampling information processing script; the license information is collected through a management command lmstat of the FlexLM software by using an instruction lmstat-a-report@server, the instruction is executed as a periodic task, the license information is processed through 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.
2. 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, 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.
3. 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;
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;
the data allocation 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;
a removing unit, configured to obtain feedback information of a license function user occupying the most current license, and remove the current license when the feedback information is that the current license is removed, so as to start the EDA tool; 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 the license information is queried in a database table corresponding to the next sampling period, whether license resources are enough or not is judged, until enough license information can be allocated, and an EDA tool is started;
the data extraction module is specifically used for periodically collecting the license information at regular time by utilizing a sampling information processing script; the license information is collected through a management command lmstat of the FlexLM software by using an instruction lmstat-a-report@server, the instruction is executed as a periodic task, the license information is processed through 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.
4. The database-based license dynamic provisioning management system of claim 3, 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.
5. 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 2.
6. 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 one of claims 1 to 2.
CN202310565305.6A 2023-05-18 2023-05-18 License dynamic allocation management method and system based on database Active CN116561713B (en)

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 CN116561713A (en) 2023-08-08
CN116561713B true 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 (4)

* Cited by examiner, † Cited by third party
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
CN103279696A (en) * 2013-06-03 2013-09-04 中国科学院微电子研究所 License monitoring method and system for 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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9084031B2 (en) * 2010-12-13 2015-07-14 Microsoft Technology Licensing, Llc Content license storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
CN103279696A (en) * 2013-06-03 2013-09-04 中国科学院微电子研究所 License monitoring method and system for 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
CN116561713A (en) 2023-08-08

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
WO2017167050A1 (en) Configuration information generation and transmission method, and resource loading method, apparatus and system
WO2021227677A1 (en) Scene pushing method, scene executing method, scene pushing device, scene executing device, terminal, server, and system
US20180011743A1 (en) Job scheduling management
CN110609745A (en) Method and device for executing job task, electronic equipment and storage medium
CN111191777A (en) Neural network processor and control method thereof
CN112115160B (en) Query request scheduling method and device and computer system
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
CN116561713B (en) License dynamic allocation management method and system based on database
CN103729417A (en) Method and device for data scanning
CN112650656A (en) Performance monitoring method, device, equipment, server and storage medium
CN110347546B (en) Dynamic adjustment method, device, medium and electronic equipment for monitoring task
WO2020238131A1 (en) Web crawler system testing method and apparatus, storage medium, and electronic device
CN110543509A (en) Monitoring system, method and device for user access data and electronic equipment
CN107748711B (en) Method for automatically optimizing Storm parallelism, terminal equipment and storage medium
CN116069500A (en) Model training task processing method and device, electronic equipment and readable medium
CN111159229B (en) Data query method and device
CN114519477A (en) Large data platform tenant management system, method, storage medium and electronic equipment
CN112306797A (en) Embedded point information reporting method and device, storage medium and electronic equipment
CN117389841B (en) Method and device for monitoring accelerator resources, cluster equipment and storage medium
CN106599079B (en) Data processing method and corresponding mobile terminal
CN111737119A (en) System for automatically distributing test and collecting test result

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