CN113312592A - Software license scheduling method, device, equipment and storage medium - Google Patents
Software license scheduling method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN113312592A CN113312592A CN202110662243.1A CN202110662243A CN113312592A CN 113312592 A CN113312592 A CN 113312592A CN 202110662243 A CN202110662243 A CN 202110662243A CN 113312592 A CN113312592 A CN 113312592A
- Authority
- CN
- China
- Prior art keywords
- software license
- configuration information
- resource configuration
- software
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004891 communication Methods 0.000 claims abstract description 8
- 238000007726 management method Methods 0.000 description 57
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The embodiment of the invention discloses a scheduling method, a device, equipment and a storage medium of a software license, which are applied to an SLURM job scheduling system, wherein the SLURM job scheduling system is in communication connection with a management tool of the software license, and the management tool is in communication connection with at least one software license server; the method comprises the following steps: acquiring resource configuration information of the software license stored in a software license server through a management tool; and updating the resource configuration information of the software license of the SLURM job scheduling system according to the resource configuration information, and scheduling the software license according to the updated resource configuration information of the software license. The technical scheme of the embodiment of the invention solves the problem that the same software license is dispatched to different application programs simultaneously in the prior art, and the software license cannot be accurately dispatched.
Description
Technical Field
The embodiment of the invention relates to the technical field of resource scheduling, in particular to a method, a device, equipment and a storage medium for scheduling a software license.
Background
The SLURM is an open-source cluster job scheduling system with good fault tolerance and high scalability, and the SLURM job scheduling system can support management and allocation of various resources, including a Central Processing Unit (CPU), a memory, a Graphics Processing Unit (GPU), and the like, and also support management and scheduling of software License (License) resources.
At present, the software license is scheduled mainly through a resource configuration mode provided in an SLURM job scheduling system; the resource configuration mode is that the total number of the software licenses is configured, and the usage amount of the software licenses is controlled according to the application condition of the software licenses.
However, the conventional method causes that the SLURM job scheduling system cannot acquire the use information of the software license from the management tool in real time, and the same software license is scheduled to different application programs at the same time, so that the software license cannot be accurately scheduled, and even the scheduling of the software license fails.
Disclosure of Invention
The embodiment of the invention provides a scheduling method, a device, equipment and a storage medium of a software license, which are used for realizing that an SLURM job scheduling system acquires resource configuration information of the software license in a management tool in real time and can accurately schedule the software license.
In a first aspect, an embodiment of the present invention provides a method for scheduling a software license, which is applied to an SLURM job scheduling system, where the SLURM job scheduling system includes a management tool for the software license, and the management tool is in communication connection with at least one software license server, where the method includes:
acquiring resource configuration information of the software license stored in the software license server through the management tool;
and updating the resource configuration information of the software license of the SLURM job scheduling system according to the resource configuration information, and scheduling the software license according to the updated resource configuration information of the software license.
In an optional implementation manner of this embodiment, the obtaining, by the management tool, resource configuration information of the software license stored in the software license server includes:
analyzing a configuration file for acquiring the resource configuration information to obtain configuration information; the configuration information comprises the address of a target software license server and software license information to be acquired;
executing a first preset script file, determining the target software license server based on the address, and acquiring resource configuration information of the target software license corresponding to the software license information to be acquired from the target software license server.
By adopting the technical scheme, the management tool can accurately acquire the resource configuration information of the software license, and help is provided for the accuracy of the scheduling work of the subsequent software license.
In an optional implementation manner of this embodiment, the obtaining, by the management tool, resource configuration information of the software license stored in the software license server includes:
and responding to the execution finishing instruction of the first preset script file, executing a second preset script file, and acquiring the resource configuration information of the target software license from the management tool.
By adopting the technical scheme, the SLURM job scheduling system can accurately acquire the resource configuration information of the software license, and further help is provided for the accuracy of the scheduling work of the subsequent software license.
In an optional implementation manner of this embodiment, the updating, according to the resource configuration information, the resource configuration information of the software license of the SLURM job scheduling system includes:
storing the resource configuration information of the software license into a first array;
storing resource configuration information of a historical software license in the SLURM job scheduling system into a second group;
sequentially traversing each data in the first array, and matching each data in the second array;
and if the target data in the first data is inconsistent with any data in the second array, adding the target data to the second array.
By adopting the technical scheme, the resource configuration information of the software license in the SLURM job scheduling system can be updated conveniently and quickly, the updating accuracy is high, and the problems of missing updating and the like can be avoided.
In an optional implementation manner of this embodiment, the scheduling the software license according to the resource configuration information of the updated software license includes:
responding to a starting instruction of a target application program, and determining a target software license according to the resource configuration information of the updated software license;
distributing the target software license to a target application program to enable the target application program to be started;
wherein the target software license is not used by other applications.
By adopting the technical scheme, the used software license can be prevented from being distributed to the application program, and the failure of the scheduling operation of the software license can be prevented from the source.
In an optional implementation manner of this embodiment, the determining a target software license according to the resource configuration information of the updated software license includes:
detecting resource configuration information of the updated software license, and determining a software license which is not allocated to any application program as the target software license.
By adopting the technical scheme, the starting instruction of the target application program can be responded in real time, and the target software license is determined according to the updated resource configuration information of the software license; the target software license is distributed to the target application program so that the target application program is started, normal starting of the target application program can be guaranteed, and the situation that the application program cannot be started normally due to scheduling failure of the software license is avoided.
In an optional implementation manner of this embodiment, the resource configuration information of the software license includes a total number of software licenses and/or a used number of the software licenses.
In a second aspect, an embodiment of the present invention further provides a software license scheduling method, which is applied in an SLURM job scheduling system, where the SLURM job scheduling system includes a management tool for a software license, and the management tool is connected to at least one software license server in a communication manner, where the apparatus includes:
the resource configuration information acquisition module is used for acquiring the resource configuration information of the software license stored in the software license server through the management tool;
and the resource configuration information updating module is used for updating the resource configuration information of the software license of the SLURM job scheduling system according to the resource configuration information and scheduling the software license according to the updated resource configuration information of the software license.
In a third aspect, an embodiment of the present invention further provides a software license scheduling apparatus, where the software license scheduling apparatus includes:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement a method of scheduling software licenses as described in any of the embodiments of the invention.
In a fourth aspect, embodiments of the present invention further provide a storage medium containing computer-executable instructions, which when executed by a computer processor, are configured to perform the method of scheduling software licenses according to any of the embodiments of the present invention.
The embodiment of the invention obtains the resource configuration information of the software license stored in the software license server through a management tool; according to the resource configuration information, the resource configuration information of the software license of the SLURM job scheduling system is updated, and the software license is scheduled according to the updated resource configuration information of the software license, so that the problem that the same software license is scheduled to different application programs simultaneously in the prior art, and the software license cannot be accurately scheduled is solved, the SLURM job scheduling system can acquire the resource configuration information of the software license in a management tool in real time, and the accurate scheduling of the software license is realized.
Drawings
FIG. 1 is a flow chart of a method of scheduling software licenses in an embodiment of the invention;
FIG. 2 is a flow chart of a method of scheduling software licenses in an embodiment of the invention;
FIG. 3 is a flow chart of a method of scheduling software licenses in an embodiment of the invention;
FIG. 4 is a schematic diagram of acquiring resource configuration information of a software license stored in a software license server through a management tool in an embodiment of the present invention;
fig. 5 is a schematic diagram of an SLURM job scheduling system updating software license resource configuration information in real time in an embodiment of the present invention;
FIG. 6 is a block diagram of an apparatus for scheduling software licenses in an embodiment of the invention;
FIG. 7 is a block diagram of a scheduling apparatus for software licenses in an embodiment of the invention.
Detailed Description
The embodiments of the present invention will be described in further detail with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of and not restrictive on the broad invention. It should be further noted that, for convenience of description, only some structures, not all structures, relating to the embodiments of the present invention are shown in the drawings.
Fig. 1 is a flowchart of a scheduling method for a software license in an embodiment of the present invention, where the embodiment is applicable to a case where an SLURM job scheduling system obtains resource configuration information of the software license in real time and accurately schedules the software license, and the method may be executed by a scheduling apparatus for the software license, where the apparatus may be implemented in a software and/or hardware manner, and the apparatus may be implemented by an independent hardware device, for example, an independent server or a computer is added to the SLURM job scheduling system, or may be integrated in an existing server in a multimedia command system, which is not limited in this embodiment; the method can be applied to an SLURM job scheduling system which is in communication connection with a management tool of the software license, and the management tool is in communication connection with at least one software license server. Specifically, referring to fig. 1, the method specifically includes the following steps:
Wherein the management tool may be a general software license management tool "FLEXlm", which may enable software licenses to float on the web; it will be appreciated that the floating software license facilitates the use of the application (software) and the management of the software license, which enables the application to efficiently use valid licenses and the administrator to control the nodes that are allowed to use it; it should be noted that the management tool in this embodiment may also be another customized software license management tool, and this embodiment is not limited thereto.
The resource configuration information for a software license may include a total number of software licenses and/or a used number of software licenses; for example, the resource configuration information of the software license may be: the total number of software licenses "100", the used number "10"; the resource configuration information of the software license may also be: the total number of software licenses of the first category of features "10", the used number "1", the total number of software licenses of the second category of features "90", the used number "9"; the first class feature and the second class feature may be distinguished according to attribute information of each software license, for example, may be distinguished according to attribute information such as a size, a creation time, or a modification time of each software license.
In an optional implementation manner of the embodiment, the resource configuration information of the software license stored in the software license server can be acquired through a management tool of the software license connected with the SLURM job scheduling system in a communication manner; for example, the resource configuration information of the software license stored in the first software license server may be acquired, and the resource configuration information of the software license stored in the second software license server may also be acquired, where Internet Protocol (IP) addresses of the first software license server and the second software license server are different.
In a specific example of the present embodiment, the resource configuration information of the software license stored in the software license server may be acquired by the management tool at intervals of a set time (for example, 1 minute, 5 minutes, or 1 hour, which is not limited in the present embodiment).
In another specific example of this embodiment, when the start instruction of the target application is received, that is, when the SLURM job scheduling system is required to schedule a software license for the target application, so that the target application is started smoothly, the resource configuration information of the software license stored in the software license server may be acquired by the management tool.
And step 120, updating the resource configuration information of the software license of the SLURM job scheduling system according to the resource configuration information, and scheduling the software license according to the updated resource configuration information of the software license.
In an optional implementation manner of this embodiment, after the resource configuration information of the software license stored in the software license server is acquired by the management tool, the resource configuration information of the software license of the SLURM job scheduling system may be updated according to the acquired resource configuration information; further, the software license may be scheduled according to the updated resource configuration information.
In a specific example of this embodiment, if the obtained resource configuration information is: the total number of software licenses "100", the used number "10"; the resource configuration information of the software license of the SLURM job scheduling system is as follows: the total number of software licenses "90", the used number "5", the resource configuration information of the software license of the SLURM job scheduling system may be updated to: the total number of software licenses "100", the used number "10"; further, the software license may be scheduled according to the updated resource configuration information, for example, the unused software license a may be scheduled to the target application according to the updated resource configuration information, so that the target application is smoothly started.
In the scheme of this embodiment, the resource configuration information of the software license stored in the software license server is acquired through the management tool; according to the resource configuration information, the resource configuration information of the software license of the SLURM job scheduling system is updated, and the software license is scheduled according to the updated resource configuration information of the software license, so that the problem that the same software license is scheduled to different application programs simultaneously in the prior art, and the software license cannot be accurately scheduled is solved, the SLURM job scheduling system can acquire the resource configuration information of the software license in a management tool in real time, and the accurate scheduling of the software license is realized.
Fig. 2 is a flowchart of a scheduling method of a software license in an embodiment of the present invention, which is a further refinement of the foregoing technical solutions, and the technical solutions in this embodiment may be combined with various alternatives in one or more of the foregoing embodiments. As shown in FIG. 2, the method for scheduling software licenses can include the steps of:
The configuration information may include an address of the target software license server and software license information to be acquired; the address of the target software license server may be an IP address of the target software license server or a physical address (MAC address) of the target software license server, and it can be understood that the target software license server can be uniquely determined by analyzing the configuration file to obtain the address of the target software license server; the software license information to be acquired may include category characteristics of the software license to be acquired, the number of software licenses under each category characteristic, or attribute information of each software license and the like (for example, the size, creation time, or content characteristics of the software license and the like), which is not limited in this embodiment. For example, the configuration information obtained by parsing may be: the address "192.168.0.123" of the target software license server, and the software license information "software license with class characteristics of A and creation time 2021.6.1" to be acquired.
It should be further noted that, a suffix name of the configuration file referred to in this embodiment may be ". conf", which may be used to obtain the resource configuration information, and the configuration information may be obtained by parsing the configuration file.
In an optional implementation manner of this embodiment, the SLURM job scheduling system obtains the resource configuration information of the software license stored in the software license server through the management tool, and may first parse the configuration file defined by the user to obtain the configuration information, which may be helpful to subsequently and quickly obtain the resource configuration information stored in the target software license server.
The first preset script file can act together with the configuration file, so that the target software license resource corresponding to the software license information to be acquired is acquired from the target software license server, the first preset script file is a user-defined file, and the suffix name of the first preset script file is 'sh', and the specific code content of the first preset script file is not limited in the embodiment.
In an optional implementation manner of this embodiment, after the address of the target software license server and the software license information to be acquired are obtained through parsing, the first preset script file may be executed, the target software license server corresponding to the address obtained through parsing is determined, and the target software license resource corresponding to the software license information to be acquired is acquired from the software license server.
Illustratively, if the address "192.168.0.123" of the target software license server and the software license information "software license with class feature a and creation time 2021.6.1" to be acquired are both unique, the target software license server may be determined from the address "192.168.0.123" by executing the first preset script file, and further the resource configuration information of the target software license corresponding to the software license information "software license with class feature a and creation time 2021.6.1" may be acquired from the target software license server (for example, the total number of software licenses with class feature a and creation time 2021.6.1 is "100" and the used amount is "10").
After the first preset script file is executed, that is, after the management tool acquires the resource configuration information of the target software license from the target software license server, the second preset script file can enable the SLURM operation scheduling system to acquire the resource configuration information of the target software license acquired by the management tool; the second preset script file is also a user-defined file, and the suffix name of the second preset script file is 'sh', and the specific code content of the second preset script file is not limited in this embodiment. It can be understood that, in the embodiment, the functions implemented by the first preset script file and the second preset script file are different, and therefore, the code contents of the first preset script file and the second preset script file are also different.
In an optional implementation manner of this embodiment, after the first preset script file is executed, that is, after the management tool obtains the resource configuration information of the target software license from the target software license server, the second preset script file may be continuously executed, so as to obtain the resource configuration information of the target software license from the management tool.
Illustratively, after the management tool acquires the resource configuration information of the target software license corresponding to the software license information of the "software license with a category characteristic of a and a creation time of 2021.6.1", the total number of software licenses with a category characteristic of a and a creation time of 2021.6.1 is "100", and the used amount is "10", the second preset script file may be further executed to cause the SLURM job scheduling system to acquire the configuration information of the target software license.
Optionally, in this embodiment, the acquired resource configuration information of the target software license may include attribute information of each software license (for example, content information, size, generation time, modification time, and the like of each software license) in addition to the total number of software licenses and the used number of software licenses, and the used software license and the unused software license may be accurately determined by the attribute information, so that the software license may be conveniently and more accurately scheduled subsequently, and repeated scheduling of the same software license may be avoided.
And step 240, updating the resource configuration information of the software license of the SLURM job scheduling system according to the resource configuration information, and scheduling the software license according to the updated resource configuration information of the software license.
In the scheme of this embodiment, the configuration information is obtained by analyzing the configuration file used for obtaining the resource configuration information; executing the first preset script file, determining a target software license server based on the address, and acquiring resource configuration information of the target software license corresponding to software license information to be acquired from the target software license server, so that a management tool can accurately acquire the resource configuration information of the software license and help the accuracy of the scheduling work of the subsequent software license; and responding to the execution finishing instruction of the first preset script file, executing the second preset script file, and acquiring the resource configuration information of the target software license from the management tool by using the resource configuration information of the software license, so that the SLURM job scheduling system can accurately acquire the resource configuration information of the software license, and further help is provided for the accuracy of the scheduling work of the subsequent software license.
Fig. 3 is a flowchart of a scheduling method of a software license in an embodiment of the present invention, which is a further refinement of the foregoing technical solutions, and the technical solutions in this embodiment may be combined with various alternatives in one or more of the foregoing embodiments. As shown in fig. 3, the scheduling method of the software license may include the steps of:
The first array and the second array are both empty arrays initially, and the dimensions of the first array and the second array are not limited in this embodiment.
In an optional implementation manner of this embodiment, after the resource configuration information of the software license stored in the software license server is acquired by the management tool, the acquired resource configuration information may be stored in the first array, and the resource configuration information of the historical software license in the SLURM job scheduling system may be stored in the second array; furthermore, each data stored in the first array can be traversed in sequence and matched with each data stored in the second array, that is, whether each data in the first array is completely the same as the data stored in the second array is determined; if the target data stored in the first array is inconsistent with any data stored in the second array, i.e., is not matched, the target data may be added to the second array. The target data may be any data in the acquired resource configuration information, which is not limited in this embodiment, for example, the total number of software licenses, the used number of software licenses, or attribute information of each software license.
The method has the advantages that the resource configuration information of the software license in the SLURM job scheduling system can be updated rapidly, the updating accuracy is high, and the problems of missing updating and the like are avoided.
Wherein the target software license is not used by other applications.
In an optional implementation manner of this embodiment, after updating the resource configuration information of the software license of the SLURM job scheduling system according to the acquired resource configuration information of the target software license, if a start instruction of the target application is received, the target software license may be determined according to the updated resource configuration information, and the determined target software license is allocated to the target application to be started, so that the target application is normally started.
In an optional implementation manner of this embodiment, determining the target software license according to the resource configuration information of the updated software license may include: the resource configuration information of the updated software license is detected, and the software license which is not allocated to any application program is determined as the target software license.
Alternatively, a software license that is not allocated to any application program may be selected from the unused software licenses according to the total number of software licenses, the number of used software licenses, and the attribute information of the used software licenses in the updated resource configuration information, and the selected software license may be used as the target software license.
For example, if the target application is a data processing program, when a start instruction of the target application is received, an unused software license may be determined as the target software license according to the total number of software licenses and the number of used software licenses in the updated resource configuration information, and the target software license is allocated to the data processing program, so that it is ensured that the target software license allocated to the data processing program is not allocated to other application programs, and the data processing program can be normally started.
This has the advantage that the distribution of used software licenses to applications can be avoided, and the failure of scheduling jobs for software licenses can be avoided from the source.
According to the scheme of the embodiment, the starting instruction of the target application program can be responded in real time, and the target software license is determined according to the updated resource configuration information of the software license; the target software license is distributed to the target application program so that the target application program is started, normal starting of the target application program can be guaranteed, and the situation that the application program cannot be started normally due to scheduling failure of the software license is avoided.
In order to make those skilled in the art better understand the scheduling method of the software license related to the embodiment, a specific example is used for description below, and the specific process includes:
step one, acquiring resource configuration information of the software license in a management tool of the software license in real time.
Optionally, the address of the software license server to be acquired and the information of the software license to be acquired may be configured in a manner of configuring a file and a first preset script file, and the floating software license data in the management tool is acquired by calling the script file, so as to obtain the total number and the used number of the software licenses.
In this embodiment, a schematic diagram of acquiring resource configuration information of a software license stored in a software license server through a management tool may be as shown in fig. 4, specifically, with reference to fig. 4, which mainly includes the following steps:
and step 410, acquiring a configuration file with the name license _ feature.
If not, go to step 430.
And 430, analyzing the configuration file to obtain configuration information.
Wherein the configuration information may include: the name of the software license to be acquired, the software license server address, the query command, or the class feature (feature) of the software license, and the like.
And step 450, whether all analysis is finished.
If yes, the process is finished.
Otherwise, step 460 is performed.
In this embodiment, the format of the configuration file named license _ feature.conf may be: the server name license server port address executes a command type feature name, e.g., lsdyna7 license server2 lstc _ qrun lsdyna 7.
And step two, updating the software license resource configuration information of the SLURM job scheduling system in real time according to the data in the management tool, and realizing the real-time scheduling of the software license of the SLURM job scheduling system.
In a specific implementation, the software license resource configuration information in the SLURM job scheduling system may be updated by executing the sync _ license.sh script file (second preset script file) once every 2 minutes.
In this embodiment, a schematic diagram of the SLURM job scheduling system updating the software license resource configuration information in real time may be as shown in fig. 5, specifically, referring to fig. 5, which mainly includes the following steps:
and step 510, executing the script file with the name of license _ analysis.sh, and acquiring the resource configuration information in the management tool.
And step 530, acquiring resource configuration information in the SLURM job scheduling system.
And 540, traversing the data in the array, and matching the data with the resource configuration information in the SLURM job scheduling system.
And step 550, whether all traversal is finished.
If yes, go to step 560;
otherwise, step 570 is performed.
And step 560, traversing the resource configuration information in the SLURM job scheduling system, and matching the resource configuration information with the resource configuration information in the array.
If yes, go to step 562;
otherwise, return to execute step 560.
And step three, the SLURM job scheduling system performs real-time scheduling on the software license according to the updated resource configuration information.
According to the scheme of the embodiment, the data synchronization of the software license resources of the SLURM job scheduling system and the software license server of the commercial application can be realized, the job started by the SLURM job scheduling system and the job independently started by a user outside the scheduling system are ensured to have no condition of software license resource preemption, and the job operation stability of the SLURM job scheduling system is realized; meanwhile, flexible adjustment of the software license resources by the SLURM job scheduling system can be realized, adjustment is automatically carried out according to actual data of the software license server, and operation of an administrator is reduced; in addition, the monitoring of the software license resource by the SLURM job scheduling system is realized, and support is provided in the aspects of job submission and management of the software license.
Fig. 6 is a schematic structural diagram of a software license scheduling apparatus in an embodiment of the present invention, which may execute the software license scheduling method in the foregoing embodiments. Referring to fig. 5, the apparatus includes: a resource configuration information acquisition module 610 and a resource configuration information update module 620.
A resource configuration information acquisition module 610, configured to acquire resource configuration information of the software license stored in the software license server through the management tool;
and the resource configuration information updating module 620 is configured to update the resource configuration information of the software license of the SLURM job scheduling system according to the resource configuration information, and schedule the software license according to the updated resource configuration information of the software license.
In the solution of this embodiment, the resource configuration information of the software license stored in the software license server is acquired by the resource configuration information acquisition module through the management tool; the resource configuration information of the software license of the SLURM job scheduling system is updated through the resource configuration information updating module according to the resource configuration information, and the software license is scheduled according to the updated resource configuration information of the software license, so that the problem that the same software license is scheduled to different application programs at the same time in the prior art and the software license cannot be accurately scheduled is solved, the SLURM job scheduling system can acquire the resource configuration information of the software license in a management tool in real time, and the accurate scheduling of the software license is realized.
In an optional implementation manner of this embodiment, the resource configuration information obtaining module 610 is specifically configured to
Analyzing a configuration file for acquiring the resource configuration information to obtain configuration information; the configuration information comprises the address of a target software license server and software license information to be acquired;
executing a first preset script file, determining the target software license server based on the address, and acquiring resource configuration information of the target software license corresponding to the software license information to be acquired from the target software license server.
In an optional implementation manner of this embodiment, the resource configuration information obtaining module 610 is further specifically configured to
And responding to the execution finishing instruction of the first preset script file, executing a second preset script file, and acquiring the resource configuration information of the target software license from the management tool by using the resource configuration information of the software license.
In an optional implementation manner of this embodiment, the resource configuration information updating module 620 is specifically configured to
Storing the resource configuration information of the software license into a first array;
storing resource configuration information of a historical software license in the SLURM job scheduling system into a second group;
sequentially traversing each data in the first array, and matching each data in the second array;
and if the target data in the first data is inconsistent with any data in the second array, adding the target data to the second array.
In an optional implementation manner of this embodiment, the resource configuration information updating module 620 includes: a target software license determination submodule for
Responding to a starting instruction of a target application program, and determining a target software license according to the resource configuration information of the updated software license;
distributing the target software license to a target application program to enable the target application program to be started;
wherein the target software license is not used by other applications.
In an optional implementation manner of this embodiment, the target software license determination submodule is specifically configured to
Detecting resource configuration information of the updated software license, and determining a software license which is not allocated to any application program as the target software license.
In an optional implementation manner of this embodiment, the resource configuration information of the software license includes a total number of software licenses and/or a used number of the software licenses.
The software license scheduling device provided by the embodiment of the invention can execute the software license scheduling method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.
FIG. 7 is a schematic structural diagram of a software license scheduling apparatus according to an embodiment of the present invention, as shown in FIG. 7, the software license scheduling apparatus includes a processor 70, a memory 71, an input device 72, and an output device 73; the number of processors 70 in the scheduling device for a software license may be one or more, with one processor 70 being taken as an example in FIG. 7; the processor 70, memory 71, input device 72 and output device 73 of the scheduling apparatus for software licenses may be connected by a bus or other means, as exemplified by a bus connection in fig. 7.
The memory 71 serves as a computer-readable storage medium, and can be used for storing software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the scheduling method of the software license in the embodiment of the present invention (for example, the resource configuration information acquisition module 610 and the resource configuration information update module 620 in the scheduling apparatus of the software license). The processor 70 implements the above-described scheduling method of the software license by executing various functional applications and data processing of the scheduling apparatus of the software license by executing the software program, instructions and modules stored in the memory 71.
The memory 71 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the terminal, and the like. Further, the memory 71 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, memory 71 may further include memory located remotely from processor 70, which may be connected to a scheduling device for software licenses over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The input device 72 is operable to receive entered numeric or character information and generate key signal inputs relating to user settings and function controls of the scheduling apparatus for the software license. The output device 73 may include a display device such as a display screen.
Embodiments of the present invention also provide a storage medium containing computer-executable instructions, which when executed by a computer processor, perform a method of scheduling a software license, the method comprising:
acquiring resource configuration information of the software license stored in the software license server through the management tool;
and updating the resource configuration information of the software license of the SLURM job scheduling system according to the resource configuration information, and scheduling the software license according to the updated resource configuration information of the software license.
Of course, the storage medium containing the computer-executable instructions provided by the embodiments of the present invention is not limited to the method operations described above, and may also perform related operations in the scheduling method of the software license provided by any embodiments of the present invention.
From the above description of the embodiments, it is obvious for those skilled in the art that the present invention can be implemented by software and necessary general hardware, and certainly, can also be implemented by hardware, but the former is a better embodiment in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the methods according to the embodiments of the present invention.
It should be noted that, in the embodiment of the scheduling apparatus for software licenses, the units and modules included in the scheduling apparatus are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be implemented; in addition, specific names of the functional units are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
Claims (10)
1. A method for scheduling software licenses for use in an SLURM job scheduling system communicatively coupled to a management tool for software licenses, the management tool communicatively coupled to at least one software license server, the method comprising:
acquiring resource configuration information of the software license stored in the software license server through the management tool;
and updating the resource configuration information of the software license of the SLURM job scheduling system according to the resource configuration information, and scheduling the software license according to the updated resource configuration information of the software license.
2. The method of claim 1, wherein obtaining resource configuration information for a software license stored in the software license server via the management tool comprises:
analyzing a configuration file for acquiring the resource configuration information to obtain configuration information; the configuration information comprises the address of a target software license server and software license information to be acquired;
executing a first preset script file, determining the target software license server based on the address, and acquiring resource configuration information of the target software license corresponding to the software license information to be acquired from the target software license server.
3. The method of claim 2, wherein obtaining resource configuration information for a software license stored in the software license server via the management tool further comprises:
and responding to the execution finishing instruction of the first preset script file, executing a second preset script file, and acquiring the resource configuration information of the target software license from the management tool.
4. The method of claim 1, wherein updating the resource configuration information of the software license of the SLURM job scheduling system according to the resource configuration information comprises:
storing the resource configuration information of the software license into a first array;
storing resource configuration information of a historical software license in the SLURM job scheduling system into a second group;
sequentially traversing each data in the first array, and matching each data in the second array;
and if the target data in the first data is inconsistent with any data in the second array, adding the target data to the second array.
5. The method of claim 1, wherein scheduling the software license based on the resource configuration information of the updated software license comprises:
responding to a starting instruction of a target application program, and determining a target software license according to the resource configuration information of the updated software license;
distributing the target software license to a target application program to enable the target application program to be started;
wherein the target software license is not used by other applications.
6. The method of claim 5, wherein determining a target software license from the resource configuration information of the updated software license comprises:
detecting resource configuration information of the updated software license, and determining a software license which is not allocated to any application program as the target software license.
7. The method of any of claims 1-6, wherein the resource configuration information for the software license comprises a total number of software licenses and/or a used number of the software licenses.
8. A method for scheduling software licenses, applied to an SLURM job scheduling system, wherein the SLURM job scheduling system includes a management tool for software licenses, and the management tool is in communication connection with at least one software license server, and the method includes:
the resource configuration information acquisition module is used for acquiring the resource configuration information of the software license stored in the software license server through the management tool;
and the resource configuration information updating module is used for updating the resource configuration information of the software license of the SLURM job scheduling system according to the resource configuration information and scheduling the software license according to the updated resource configuration information of the software license.
9. A scheduling apparatus for a software license, the scheduling apparatus comprising:
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the method of scheduling a software license as recited in any one of claims 1-7.
10. A storage medium containing computer-executable instructions for performing the method of scheduling a software license as recited in any one of claims 1-7 when executed by a computer processor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110662243.1A CN113312592B (en) | 2021-06-15 | 2021-06-15 | Scheduling method, device and equipment of software license and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110662243.1A CN113312592B (en) | 2021-06-15 | 2021-06-15 | Scheduling method, device and equipment of software license and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312592A true CN113312592A (en) | 2021-08-27 |
CN113312592B CN113312592B (en) | 2024-03-08 |
Family
ID=77378887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110662243.1A Active CN113312592B (en) | 2021-06-15 | 2021-06-15 | Scheduling method, device and equipment of software license and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312592B (en) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6842896B1 (en) * | 1999-09-03 | 2005-01-11 | Rainbow Technologies, Inc. | System and method for selecting a server in a multiple server license management system |
CN101945394A (en) * | 2009-07-10 | 2011-01-12 | 华为技术有限公司 | License management method, device and system |
CN102077211A (en) * | 2008-06-30 | 2011-05-25 | 佳能株式会社 | Method of managing software license contracts, system and information processing apparatus therefor, and target software for license contracts |
CN102110208A (en) * | 2009-12-28 | 2011-06-29 | 佳能株式会社 | Information processing apparatus and control method for information processing apparatus |
US20120127490A1 (en) * | 2010-11-24 | 2012-05-24 | Ricoh Company, Ltd. | Electronic apparatus, method of controlling electronic apparatus, and storage medium storing electronic apparatus control method |
GB2508645A (en) * | 2012-12-07 | 2014-06-11 | Ibm | Software licence management in a peer-to-peer network |
CN104134122A (en) * | 2014-07-30 | 2014-11-05 | 华为技术有限公司 | Method and device for applying for license |
CN107885980A (en) * | 2017-12-06 | 2018-04-06 | 武汉万创科技有限公司 | A kind of method of managing software and system |
CN108718327A (en) * | 2018-04-03 | 2018-10-30 | 北京景行锐创软件有限公司 | A kind of license resources dispatching method and system |
CN111079091A (en) * | 2019-11-21 | 2020-04-28 | 中国民航信息网络股份有限公司 | Software security management method and device, terminal and server |
US20210019379A1 (en) * | 2019-07-15 | 2021-01-21 | At&T Intellectual Property I, L.P. | License usage management |
US20210110005A1 (en) * | 2019-10-09 | 2021-04-15 | Nec Corporation | License management apparatus, license management method, and recording medium storing license management program |
-
2021
- 2021-06-15 CN CN202110662243.1A patent/CN113312592B/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6842896B1 (en) * | 1999-09-03 | 2005-01-11 | Rainbow Technologies, Inc. | System and method for selecting a server in a multiple server license management system |
CN102077211A (en) * | 2008-06-30 | 2011-05-25 | 佳能株式会社 | Method of managing software license contracts, system and information processing apparatus therefor, and target software for license contracts |
CN101945394A (en) * | 2009-07-10 | 2011-01-12 | 华为技术有限公司 | License management method, device and system |
CN102110208A (en) * | 2009-12-28 | 2011-06-29 | 佳能株式会社 | Information processing apparatus and control method for information processing apparatus |
US20120127490A1 (en) * | 2010-11-24 | 2012-05-24 | Ricoh Company, Ltd. | Electronic apparatus, method of controlling electronic apparatus, and storage medium storing electronic apparatus control method |
GB2508645A (en) * | 2012-12-07 | 2014-06-11 | Ibm | Software licence management in a peer-to-peer network |
CN104134122A (en) * | 2014-07-30 | 2014-11-05 | 华为技术有限公司 | Method and device for applying for license |
CN107885980A (en) * | 2017-12-06 | 2018-04-06 | 武汉万创科技有限公司 | A kind of method of managing software and system |
CN108718327A (en) * | 2018-04-03 | 2018-10-30 | 北京景行锐创软件有限公司 | A kind of license resources dispatching method and system |
US20210019379A1 (en) * | 2019-07-15 | 2021-01-21 | At&T Intellectual Property I, L.P. | License usage management |
US20210110005A1 (en) * | 2019-10-09 | 2021-04-15 | Nec Corporation | License management apparatus, license management method, and recording medium storing license management program |
CN111079091A (en) * | 2019-11-21 | 2020-04-28 | 中国民航信息网络股份有限公司 | Software security management method and device, terminal and server |
Non-Patent Citations (1)
Title |
---|
孙超;张云飞;韩庆时;刘锐;: "石油专业软件许可证监测系统的设计与实现", 电脑知识与技术, no. 36 * |
Also Published As
Publication number | Publication date |
---|---|
CN113312592B (en) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108206847B (en) | CDN management system, method and device | |
CN109491916B (en) | Test method, device, equipment, system and medium for operating system | |
US9588794B2 (en) | Method, system and device for managing software on virtual machine in cloud environment | |
US8819119B2 (en) | Dynamic definition for concurrent computing environments | |
US20090070773A1 (en) | Method for efficient thread usage for hierarchically structured tasks | |
US20060259730A1 (en) | Apparatus and method for automatically defining, deploying and managing hardware and software resources in a logically-partitioned computer system | |
CN113810230A (en) | Method, device and system for carrying out network configuration on containers in container cluster | |
CN112631919B (en) | Contrast test method, device, computer equipment and storage medium | |
CN111831191A (en) | Workflow configuration method and device, computer equipment and storage medium | |
CN108733545B (en) | Pressure testing method and device | |
CN109408376B (en) | Configuration data generation method, device, equipment and storage medium | |
CN110928672B (en) | Task arranging method, device and equipment and storage medium | |
CN111047434A (en) | Operation record generation method and device, computer equipment and storage medium | |
CN113312592B (en) | Scheduling method, device and equipment of software license and storage medium | |
CN112019362B (en) | Data transmission method, device, server, terminal, system and storage medium | |
US20090083747A1 (en) | Method for managing application programs by utilizing redundancy and load balance | |
CN110928679A (en) | Resource allocation method and device | |
CN115292176A (en) | Pressure testing method, device, equipment and storage medium | |
CN112364001A (en) | Cleaning method and device for multidimensional space big data, computer equipment and medium | |
CN113946369A (en) | Automatic adding method, device, system, equipment and storage medium of equipment | |
CN112766705B (en) | Distributed work order processing method, system, equipment and storage medium | |
CN112579258A (en) | Virtual machine management method, device, equipment and storage medium | |
CN111600751A (en) | Data center management method and system | |
US20060225125A1 (en) | Terminal device login method and system | |
CN112015681B (en) | IO port processing method, device, equipment and medium |
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 |