License-limited cloud interface-free software integration calling method
By deploying monitoring programs on the cloud to automatically manage the use of computing software, the problem of unbalanced computing software usage requirements and confusing computing file management caused by the restricted license and cloud software deployment is solved, and the software utilization rate is improved and simplified is achieved. Operation process and the effect of improving design efficiency.
Patent Information
- Application Number
- CN202411440104.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2025-02-18
Smart Images

Figure CN119473532A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of software integration calling and processing, and in particular to a license-restricted cloud-based interface-free software integration calling method. Background Art
[0002] In the process of engineering design, designers often need to use mature software to complete some complex analysis work. Mature software is generally commercial and charged according to the number of connections, and the price is not cheap. Commercial software is generally deployed on a dedicated computing server to ensure the analysis and calculation performance. When using it, the designer needs to prepare the calculation files required by the software locally, log in to the server where the software is located, and copy the calculation input files to the specified directory. Then the designer uses the command line to execute the command to run the software. The software pops up an execution window and starts the calculation. When the calculation is completed, the window automatically closes. Finally, the designer copies the calculation result file to the local computer for sorting, extracts the corresponding data, and carries out further design work.
[0003] This method has the following problems: a) Since licenses are limited and few in number, there will be conflicts among designers' needs, but they are all concentrated during working hours, and they cannot use their free time after get off work and on holidays, resulting in uneven demand for computing software; b) Since the computing software is deployed in the cloud, designers need to log in to the server where the computing software is located. Therefore, personnel use is generally scheduled according to the license series, but time estimation errors often occur, and users who are using the software are logged out; c) Since the computing software needs to specify the location of the computing input file and output file each time it is used, and the software only recognizes the file names of the specified computing input file and output file, it causes confusion in computing file management and overwriting of other people's calculation results. Summary of the invention
[0004] Purpose of the invention: The present invention proposes a license-restricted cloud-based interface-free software integration calling method, which is used to improve the license utilization rate of key enterprise software, while simplifying designer operations, improving design efficiency, and ensuring data security.
[0005] The present application provides a license-restricted cloud-based non-interface software integration calling method, the method comprising:
[0006] When the monitoring program deployed in the cloud detects the presence of a calculation file in the specified path, it automatically decompresses the compressed package into a folder with a unique name;
[0007] Move the folder to the calculation file directory and delete the compressed package at the same time. The monitoring program modifies the path configuration in the calculation file according to the calculation file path.
[0008] Add the current computing demand to the demand queue, add the multiple computing steps to the task queue, and establish a one-to-many association between the computing demand and the computing task;
[0009] The monitoring program determines whether there is a task in the task queue. If so, it proceeds to the next step;
[0010] The monitoring program determines whether the number of threads has reached the license number. If so, after the current task calculation is completed, the monitoring program deletes the task from the task queue and searches for the corresponding computing requirements through the association relationship.
[0011] Preferably, the monitoring program deployed in the cloud detects that the computing file appears in the designated path, and before automatically decompressing the compressed package into a folder with a unique name, it also includes:
[0012] Upload calculation files and set calculation versions;
[0013] The calculation file is packaged after being named with the unit's unique employee code + version number, and the compressed package is sent to the cloud path where the specified calculation software is located.
[0014] Preferably, sending the compressed package to the cloud path where the designated computing software is located includes:
[0015] Use sftp to send the compressed package to the cloud path where the specified computing software is located.
[0016] Preferably, the step of moving the folder to the calculation file directory and deleting the compressed package at the same time, and before the monitoring program modifies the path configuration in the calculation file according to the calculation file path, further includes:
[0017] The monitoring program checks whether the owner and calculation version of this calculation requirement are consistent with the existing calculation requirements;
[0018] If they are consistent, the corresponding computing requirements and computing tasks in the demand queue and task queue will be deleted.
[0019] Preferably, after the monitoring program determines whether the number of threads has reached the license number, it further includes:
[0020] If it is not reached, a calculation software process is started to calculate the first task in the task queue and delete the task at the same time.
[0021] Preferably, the method further comprises:
[0022] Determine whether the task is the last task of the corresponding computing requirement;
[0023] If it is the last task, the result file of the calculation requirement will be sent back to the server where the local application is located for the designer to download.
[0024] Preferably, sending the result file of the calculation requirement back to the server where the local application is located includes:
[0025] The result file of the calculation requirement is packaged and named according to the input file naming method, and the compressed package is sent back to the server where the local application is located via SFTP.
[0026] Preferably, the method further comprises:
[0027] If it is not the last task, the monitoring program continues to determine whether the number of threads has reached the license number.
[0028] The beneficial effects of the present invention are as follows:
[0029] The use of this method greatly improves the utilization rate of key software. Designers only need to configure and upload the calculation file. The system will automatically complete the corresponding calculation according to the queuing logic and return the calculation results for designers to download, reducing the burden of manual queuing for designers and enhancing the fault tolerance of software use.
[0030] By automatically managing the use process and results of computing software, the utilization of the software can be fully reflected and the standardized management of process calculations can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 The present invention is a flowchart of a license-restricted cloud-based interface-free software integration calling method. DETAILED DESCRIPTION
[0032] See also Figure 1 The present invention proposes a license-restricted cloud-based non-interface software integrated calling method, which includes the following steps:
[0033] Designers upload calculation input files in the application to form calculation tasks. The monitoring program allocates and manages the process of the calculation software, completes the unified deployment of calculation tasks in the calculation queue, realizes the orderly automatic operation of the calculation software, and provides the results to the corresponding designers for download. The specific implementation process is divided into the following steps:
[0034] In the first step, the user uploads the calculation file and sets the calculation version in the application. The application automatically packages the calculation file in the form of the company's unique employee code + version number, and uses sftp to send the compressed package to the cloud path where the specified calculation software is located.
[0035] In the second step, the monitoring program deployed in the cloud detects the presence of files in the specified path and automatically decompresses the compressed package into a folder with a unique name.
[0036] In the third step, the monitoring program checks whether the owner and calculation version of this computing demand are consistent with the existing computing demand. If not, it goes to the fourth step; if so, the corresponding computing demand and computing task in the demand queue and task queue are deleted, and the fourth step is entered.
[0037] The fourth step is to move the folder to the calculation file directory and delete the compressed package. The monitoring program modifies the path configuration in the calculation file according to the calculation file path.
[0038] The fifth step is to add the current computing demand to the demand queue, add the multiple computing steps of this time to the task queue, and establish a one-to-many relationship between the computing demand and the computing task.
[0039] In the sixth step, the monitoring program determines whether there is a task in the task queue. If so, it goes to the seventh step; otherwise, it ends.
[0040] In the seventh step, the monitoring program determines whether the number of threads has reached the license number. If so, it goes to the eighth step; if not, it starts a calculation software process to calculate the first task in the task queue and deletes the first task at the same time.
[0041] Step 8: After the current task is calculated, the monitoring program deletes the completed tasks in the task queue, searches for the corresponding calculation requirements through the association relationship, and determines whether the current task is the last task of the corresponding calculation requirement. If so, the result file of the calculation requirement is packaged and named according to the input file naming method, and the compressed package is sent back to the server where the local application is located through sftp for the designer to download, and then returns to step 6. If not, return to step 7.
[0042] In other embodiments of the present application, the user uploads the calculation file and sets the version of the calculation task in the application, and the monitoring program automatically completes the creation, monitoring and deletion of the calculation task and the calculation file to ensure that the calculation task is carried out in an orderly manner. When the calculation is completed, the calculation result is returned to the original application software, and the user can freely download the result file and use it. The specific process is divided into the following steps:
[0043] In the first step, the user uploads the calculation file in the web application and selects the version number of this calculation activity. The web application packages the calculation file according to the login user name + calculation version and sends it to the server where the calculation software is located.
[0044] The second step is to deploy a monitoring program on the computing software server. The monitoring program monitors whether there are files in the specified folder. When the file appears, the monitoring program will decompress the compressed package into a folder named with the employee code, version number and time.
[0045] In the third step, the monitoring program compares the uploader and calculation version of this computing demand with the existing computing demand queue. If the uploader and calculation version do not match at the same time, go to the fourth step; otherwise, delete the corresponding computing demand and computing task in the demand queue and task queue, and go to the fourth step.
[0046] In the fourth step, the monitoring program moves the calculation folder to the calculation file directory and deletes the compressed package. The monitoring program modifies the relevant path settings in the calculation file according to the actual path where the current calculation file is located.
[0047] In the fifth step, the monitoring program adds the current computing demand to the demand queue, adds multiple computing steps corresponding to the computing demand to the task queue, and then establishes a one-to-many association relationship between the computing demand in the demand queue and the corresponding computing tasks.
[0048] In the sixth step, the monitoring program determines whether the task queue is empty. If the queue is not empty, it goes to the seventh step; otherwise, it ends.
[0049] In the seventh step, the monitoring program determines whether the number of threads of the computing software is full. If it has reached the upper limit, it goes to the eighth step; otherwise, the monitoring program starts a new computing software process and calculates the first computing task in the task queue.
[0050] Step 8: After each task is calculated, the monitoring program deletes the completed tasks in the task queue and determines whether the completed task queue is the last task of the corresponding calculation requirement. If so, the result file of the corresponding calculation requirement is packaged and the compressed package is sent back to the server where the local application is located via sftp for users to download, and then returns to step 6. If not, return to step 7.
[0051] In a feasible implementation, taking a rotor system development platform developed by a research institute as an example, in order to more standardizedly manage the designer's operations and control the process data, the commercial software used for the gas-elastic calculation is integrated according to the implementation steps of the present invention and provided to the designer for online calculation. Now, this scenario is used as an example to illustrate the implementation process of the present application method:
[0052] In the first step, the designer uploads the adjusted calculation input file to the aeroelastic calculation node in the rotor system development platform and selects the version number of this calculation activity. The rotor system development platform packages the calculation file and names it according to the domain user + version number, and sends it to the designated transfer folder of the server where the aeroelastic calculation software is located.
[0053] In the second step, the monitoring program on the server where the computing software is located continuously monitors the specified folder for compressed packages. When a compressed package appears, the monitoring program decompresses the compressed package into a folder named after the employee code, version number and time.
[0054] In the third step, the monitoring program compares the uploader and calculation version of this calculation demand with the existing calculation demand queue. If the uploader and calculation version do not match at the same time, go to the fourth step; otherwise, delete the calculation demand with the same uploader and calculation version in the demand queue, delete the calculation task with the same uploader and calculation version in the task queue, delete the calculation folder with the same uploader and calculation version in the calculation file directory, and go to the fourth step.
[0055] In the fourth step, the monitoring program moves the calculation folder decompressed in the second step to the specified calculation file directory and deletes the compressed package. The monitoring program modifies the relevant path settings in the specific calculation file according to the actual path of the current calculation file.
[0056] In the fifth step, the monitoring program adds the current computing demand to the demand queue, adds the multiple computing steps decomposed by this calculation to the task queue, and stores the one-to-many association between the computing demand in the demand queue and the corresponding computing tasks in the Redis library.
[0057] In the sixth step, the monitoring program monitors whether the task queue is empty. If the queue is not empty, it goes to the seventh step; otherwise, it ends.
[0058] In the seventh step, the monitoring program counts the number of threads of the computing software. If it has reached two, the upper limit has been reached, and the monitoring program enters the stage of waiting for the current computing task to end and enters the eighth step; otherwise, the monitoring program starts a new thread, and the thread starts a new computing software process to calculate the first computing task in the computing task queue.
[0059] Step 8. After the current task is calculated, the monitoring program deletes the completed task in the task queue, searches for the corresponding calculation requirement through the Redis library, and determines whether the completed task is the last task of the corresponding calculation requirement. If so, delete the corresponding calculation requirement in the requirement queue and the corresponding association in the Redis library, and then package the calculation result file corresponding to the completed calculation requirement, send the compressed package back to the rotor system R&D platform through sftp for users to download, and return to step 6. If not, return to step 7.
[0060] It should be noted that:
[0061] Through the design of demand queue and task queue scheduling, we can make greater use of existing software resources to carry out more computing work, solve the problem of manual passive queuing and maintenance, truly achieve automatic calling and management of software, and at the same time ensure that the software use process and results are orderly and can be viewed through a visual interface.
Claims
1. A license-restricted cloud-based interface-free software integration calling method, characterized in that: The method comprises: When the monitoring program deployed in the cloud detects the presence of a calculation file in the specified path, it automatically decompresses the compressed package into a folder with a unique name; Move the folder to the calculation file directory and delete the compressed package at the same time. The monitoring program modifies the path configuration in the calculation file according to the calculation file path. Add the current computing demand to the demand queue, add the multiple computing steps to the task queue, and establish a one-to-many association between the computing demand and the computing task; The monitoring program determines whether there is a task in the task queue. If so, it proceeds to the next step; The monitoring program determines whether the number of threads has reached the license number. If so, after the current task calculation is completed, the monitoring program deletes the task from the task queue and searches for the corresponding computing requirements through the association relationship.
2. The method according to claim 1, characterized in that The monitoring program deployed in the cloud detects that the computing file appears in the specified path, and before automatically decompressing the compressed package into a folder with a unique name, it also includes: Upload calculation files and set calculation versions; The calculation file is packaged after being named with the unit's unique employee code + version number, and the compressed package is sent to the cloud path where the specified calculation software is located.
3. The method according to claim 2, characterized in that The step of sending the compressed package to the cloud path where the specified computing software is located includes: Use sftp to send the compressed package to the cloud path where the specified computing software is located.
4. The method according to claim 1, characterized in that The step of moving the folder to the calculation file directory and deleting the compressed package at the same time, and the monitoring program modifying the path configuration in the calculation file according to the calculation file path, further includes: The monitoring program checks whether the owner and calculation version of this calculation requirement are consistent with the existing calculation requirements; If they are consistent, the corresponding computing requirements and computing tasks in the demand queue and task queue will be deleted.
5. The method according to claim 1, characterized in that After the monitoring program determines whether the number of threads has reached the license number, it also includes: If it is not reached, a calculation software process is started to calculate the first task in the task queue and delete the task at the same time.
6. The method according to claim 1, characterized in that The method further comprises: Determine whether the task is the last task of the corresponding computing requirement; If it is the last task, the result file of the calculation requirement will be sent back to the server where the local application is located for the designer to download.
7. The method according to claim 6, characterized in that The step of sending the result file of the calculation requirement back to the server where the local application is located includes: The result file of the calculation requirement is packaged and named according to the input file naming method, and the compressed package is sent back to the server where the local application is located via SFTP.
8. The method according to claim 7, characterized in that The method further comprises: If it is not the last task, the monitoring program continues to determine whether the number of threads has reached the license number.